catch up with development
diff --git a/.artifactVersions b/.artifactVersions
deleted file mode 100644
index 9a17bde..0000000
--- a/.artifactVersions
+++ /dev/null
@@ -1,4 +0,0 @@
-version=0.9.1-SNAPSHOT
-relengVersion=0.12.5-SNAPSHOT
-relengP2Version=0.12.5-SNAPSHOT
-relengGroupId=org.lunifera.releng.maven
\ No newline at end of file
diff --git a/.depVersions b/.depVersions
deleted file mode 100644
index 549470f..0000000
--- a/.depVersions
+++ /dev/null
@@ -1,9 +0,0 @@
-org.eclipse.xtend;min=2.7.3;max=2.8.0
-org.eclipse.xtext;min=2.7.3;max=2.8.0
-org.semanticsoft;min=2.7.3;max=3.0.0
-org.lunifera.dsl;min=0.9.0;max=0.10.0
-org.lunifera;min=0.9.0;max=0.10.0
-com.google.guava;min=10.0.0;max=19.0.0
-com.vaadin.external.atmosphere.runtime;min=2.1.2;max=2.1.3
-com.vaadin.external.org.slf4j;min=1.6.1;max=1.6.2
-com.vaadin;min=7.3.8;max=7.3.9
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..5867086
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,35 @@
+**git.properties
+
+**/target/
+**/.metadata/
+
+**/emf-gen/**/.gitignore
+**/src-gen/**/.gitignore
+**/git.properties
+**/*.java._trace
+**/*.log
+**/*.log.properties
+
+**/bin/
+**/build/
+*.class
+*.ctrl
+**/Debug/
+.DS_Store
+*.ear
+*.war
+
+**/*.actionbin
+**/*.blipbin
+**/*.chartbin
+**/*.cubebin
+**/*.datatypebin
+**/*.dtobin
+**/*.entitybin
+**/*.servicebin
+**/*.tablebin
+**/*.uibin
+**/*.uisemanticbin
+**/*.xtendbin
+**/*.xtextbin
+
diff --git a/.settings/org.eclipse.core.resources.prefs b/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..99f26c0
--- /dev/null
+++ b/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
diff --git a/.settings/org.eclipse.m2e.core.prefs b/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/README.md b/README.md
deleted file mode 100644
index e69de29..0000000
--- a/README.md
+++ /dev/null
diff --git a/jenkins.build.config.xml b/jenkins.build.config.xml
index 32d535d..53c6be5 100644
--- a/jenkins.build.config.xml
+++ b/jenkins.build.config.xml
@@ -17,5 +17,6 @@
<jenkins.build.dependencies>
<jenkins.build.dependency>org.eclipse.osbp.dsl</jenkins.build.dependency>
<jenkins.build.dependency>org.eclipse.osbp.ecview.core</jenkins.build.dependency>
+ <jenkins.build.dependency>org.eclipse.osbp.xtext.oxtype</jenkins.build.dependency>
</jenkins.build.dependencies>
</jenkins>
diff --git a/org.eclipse.osbp.ide.core.api/.classpath b/org.eclipse.osbp.ide.core.api/.classpath
new file mode 100644
index 0000000..b9a5b1e
--- /dev/null
+++ b/org.eclipse.osbp.ide.core.api/.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.7"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="output" path="target/classes"/>
+</classpath>
diff --git a/org.eclipse.osbp.ide.core.api/.gitignore b/org.eclipse.osbp.ide.core.api/.gitignore
new file mode 100644
index 0000000..e89d4af
--- /dev/null
+++ b/org.eclipse.osbp.ide.core.api/.gitignore
@@ -0,0 +1,2 @@
+/target/
+.DS_Store
diff --git a/org.eclipse.osbp.ide.core.api/.settings/org.eclipse.core.resources.prefs b/org.eclipse.osbp.ide.core.api/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..99f26c0
--- /dev/null
+++ b/org.eclipse.osbp.ide.core.api/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
diff --git a/org.eclipse.osbp.ide.core.api/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.osbp.ide.core.api/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..f42de36
--- /dev/null
+++ b/org.eclipse.osbp.ide.core.api/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,7 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
+org.eclipse.jdt.core.compiler.compliance=1.7
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.7
diff --git a/org.eclipse.osbp.ide.core.api/.settings/org.eclipse.m2e.core.prefs b/org.eclipse.osbp.ide.core.api/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/org.eclipse.osbp.ide.core.api/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/org.eclipse.osbp.ide.core.api/.settings/org.eclipse.pde.core.prefs b/org.eclipse.osbp.ide.core.api/.settings/org.eclipse.pde.core.prefs
new file mode 100644
index 0000000..f29e940
--- /dev/null
+++ b/org.eclipse.osbp.ide.core.api/.settings/org.eclipse.pde.core.prefs
@@ -0,0 +1,3 @@
+eclipse.preferences.version=1
+pluginProject.extensions=false
+resolve.requirebundle=false
diff --git a/org.eclipse.osbp.ide.core.api/.settings/org.eclipse.xtend.core.Xtend.prefs b/org.eclipse.osbp.ide.core.api/.settings/org.eclipse.xtend.core.Xtend.prefs
new file mode 100644
index 0000000..b9718ae
--- /dev/null
+++ b/org.eclipse.osbp.ide.core.api/.settings/org.eclipse.xtend.core.Xtend.prefs
@@ -0,0 +1,9 @@
+//outlet.DEFAULT_OUTPUT.sourceFolder.src/test/java.directory=src/test/generated-sources/xtend
+BuilderConfiguration.is_project_specific=true
+eclipse.preferences.version=1
+is_project_specific=true
+outlet.DEFAULT_OUTPUT.hideLocalSyntheticVariables=true
+outlet.DEFAULT_OUTPUT.installDslAsPrimarySource=false
+outlet.DEFAULT_OUTPUT.sourceFolder.src.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.sourceFolder.xtend-gen.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.userOutputPerSourceFolder=true
diff --git a/org.eclipse.osbp.ide.core.api/src/license/THIRD-PARTY.properties b/org.eclipse.osbp.ide.core.api/src/license/THIRD-PARTY.properties
new file mode 100644
index 0000000..c79559a
--- /dev/null
+++ b/org.eclipse.osbp.ide.core.api/src/license/THIRD-PARTY.properties
@@ -0,0 +1,42 @@
+# Generated by org.codehaus.mojo.license.AddThirdPartyMojo
+#-------------------------------------------------------------------------------
+# Already used licenses in project :
+# - Apache License
+# - Apache License 2.0
+# - Apache License Version 2.0
+# - Apache License, Version 2.0
+# - Apache Software License - Version 2.0
+# - BSD License
+# - COMMON DEVELOPMENT AND DISTRIBUTION LICENSE
+# (CDDL)
+# Version
+# 1.0
+# - Commercial Vaadin Add-On License version 3.0
+# - Common Development and Distribution license - v1.0.1
+# - Eclipse Public License - Version 1.0
+# - Eclipse Public License v1.0
+# - GNU LGPL 3
+# - GNU Lesser General Public License
+# - ICU License
+# - Indiana University Extreme! Lab Software
+# License,
+# vesion 1.1.1
+# - Lesser General Public License (LGPL)
+# - Lesser General Public License (LPGL)
+# - Lesser General Public License (LPGL) v 2.1
+# - MIT License
+# - The Apache Software License, Version 2.0
+# - The MIT License
+# - The SAX License
+# - The W3C License
+# - The W3C Software License
+# - W3C Software Copyright Notice and License
+#-------------------------------------------------------------------------------
+# Please fill the missing licenses for dependencies :
+#
+#
+#Thu Aug 28 19:18:26 CEST 2014
+ant--ant-launcher--1.6.5=Apache License Version 2.0
+commons-collections--commons-collections--3.1=Apache License Version 2.0
+javax.servlet--servlet-api--2.5=Common Development and Distribution license - v1.0.1
+org.jdesktop--swing-worker--1.1=Lesser General Public License (LGPL)
diff --git a/org.eclipse.osbp.ide.core.ui.shared/.classpath b/org.eclipse.osbp.ide.core.ui.shared/.classpath
new file mode 100644
index 0000000..b9a5b1e
--- /dev/null
+++ b/org.eclipse.osbp.ide.core.ui.shared/.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.7"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="output" path="target/classes"/>
+</classpath>
diff --git a/org.eclipse.osbp.ide.core.ui.shared/.gitignore b/org.eclipse.osbp.ide.core.ui.shared/.gitignore
new file mode 100644
index 0000000..e89d4af
--- /dev/null
+++ b/org.eclipse.osbp.ide.core.ui.shared/.gitignore
@@ -0,0 +1,2 @@
+/target/
+.DS_Store
diff --git a/org.eclipse.osbp.ide.core.ui.shared/.settings/org.eclipse.core.resources.prefs b/org.eclipse.osbp.ide.core.ui.shared/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..99f26c0
--- /dev/null
+++ b/org.eclipse.osbp.ide.core.ui.shared/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
diff --git a/org.eclipse.osbp.ide.core.ui.shared/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.osbp.ide.core.ui.shared/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..f42de36
--- /dev/null
+++ b/org.eclipse.osbp.ide.core.ui.shared/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,7 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
+org.eclipse.jdt.core.compiler.compliance=1.7
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.7
diff --git a/org.eclipse.osbp.ide.core.ui.shared/.settings/org.eclipse.m2e.core.prefs b/org.eclipse.osbp.ide.core.ui.shared/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/org.eclipse.osbp.ide.core.ui.shared/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/org.eclipse.osbp.ide.core.ui.shared/.settings/org.eclipse.pde.core.prefs b/org.eclipse.osbp.ide.core.ui.shared/.settings/org.eclipse.pde.core.prefs
new file mode 100644
index 0000000..f29e940
--- /dev/null
+++ b/org.eclipse.osbp.ide.core.ui.shared/.settings/org.eclipse.pde.core.prefs
@@ -0,0 +1,3 @@
+eclipse.preferences.version=1
+pluginProject.extensions=false
+resolve.requirebundle=false
diff --git a/org.eclipse.osbp.ide.core.ui.shared/.settings/org.eclipse.xtend.core.Xtend.prefs b/org.eclipse.osbp.ide.core.ui.shared/.settings/org.eclipse.xtend.core.Xtend.prefs
new file mode 100644
index 0000000..f6a7c78
--- /dev/null
+++ b/org.eclipse.osbp.ide.core.ui.shared/.settings/org.eclipse.xtend.core.Xtend.prefs
@@ -0,0 +1,10 @@
+//outlet.DEFAULT_OUTPUT.sourceFolder.src/test/java.directory=src/test/generated-sources/xtend
+BuilderConfiguration.is_project_specific=true
+eclipse.preferences.version=1
+is_project_specific=true
+outlet.DEFAULT_OUTPUT.hideLocalSyntheticVariables=true
+outlet.DEFAULT_OUTPUT.installDslAsPrimarySource=false
+outlet.DEFAULT_OUTPUT.sourceFolder.src-gen.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.sourceFolder.src.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.sourceFolder.xtend-gen.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.userOutputPerSourceFolder=true
diff --git a/org.eclipse.osbp.ide.core.ui.shared/META-INF/MANIFEST.MF b/org.eclipse.osbp.ide.core.ui.shared/META-INF/MANIFEST.MF
index 70375b5..3120cae 100644
--- a/org.eclipse.osbp.ide.core.ui.shared/META-INF/MANIFEST.MF
+++ b/org.eclipse.osbp.ide.core.ui.shared/META-INF/MANIFEST.MF
@@ -12,12 +12,12 @@
Bundle-ActivationPolicy: lazy
Require-Bundle: org.eclipse.core.resources;bundle-version="3.9.0",
org.eclipse.core.runtime;bundle-version="3.10.0",
- org.eclipse.xtext.builder;bundle-version="[2.7.3,2.8.0)",
+ org.eclipse.xtext.builder;bundle-version="[2.11.0,2.12.0)",
org.eclipse.ui.workbench,
org.eclipse.ui;bundle-version="3.106.0",
org.eclipse.osbp.ide.core;bundle-version="[0.9.0,0.10.0)",
- org.eclipse.xtext.ui;bundle-version="[2.7.3,2.8.0)",
- org.eclipse.xtext.ui.shared;bundle-version="[2.7.3,2.8.0)",
+ org.eclipse.xtext.ui;bundle-version="[2.11.0,2.12.0)",
+ org.eclipse.xtext.ui.shared;bundle-version="[2.11.0,2.12.0)",
org.eclipse.osbp.ide.core.api;bundle-version="[0.9.0,0.10.0)",
org.eclipse.osbp.ide.core.ui;bundle-version="[0.9.0,0.10.0)"
Export-Package: org.eclipse.osbp.ide.core.ui.shared;version="0.9.0",
diff --git a/org.eclipse.osbp.ide.core.ui.shared/src/license/THIRD-PARTY.properties b/org.eclipse.osbp.ide.core.ui.shared/src/license/THIRD-PARTY.properties
new file mode 100644
index 0000000..0f7af5d
--- /dev/null
+++ b/org.eclipse.osbp.ide.core.ui.shared/src/license/THIRD-PARTY.properties
@@ -0,0 +1,42 @@
+# Generated by org.codehaus.mojo.license.AddThirdPartyMojo
+#-------------------------------------------------------------------------------
+# Already used licenses in project :
+# - Apache License
+# - Apache License 2.0
+# - Apache License Version 2.0
+# - Apache License, Version 2.0
+# - Apache Software License - Version 2.0
+# - BSD License
+# - COMMON DEVELOPMENT AND DISTRIBUTION LICENSE
+# (CDDL)
+# Version
+# 1.0
+# - Commercial Vaadin Add-On License version 3.0
+# - Common Development and Distribution license - v1.0.1
+# - Eclipse Public License - Version 1.0
+# - Eclipse Public License v1.0
+# - GNU LGPL 3
+# - GNU Lesser General Public License
+# - ICU License
+# - Indiana University Extreme! Lab Software
+# License,
+# vesion 1.1.1
+# - Lesser General Public License (LGPL)
+# - Lesser General Public License (LPGL)
+# - Lesser General Public License (LPGL) v 2.1
+# - MIT License
+# - The Apache Software License, Version 2.0
+# - The MIT License
+# - The SAX License
+# - The W3C License
+# - The W3C Software License
+# - W3C Software Copyright Notice and License
+#-------------------------------------------------------------------------------
+# Please fill the missing licenses for dependencies :
+#
+#
+#Thu Aug 28 14:08:37 CEST 2014
+ant--ant-launcher--1.6.5=Apache License Version 2.0
+commons-collections--commons-collections--3.1=Apache License Version 2.0
+javax.servlet--servlet-api--2.5=Common Development and Distribution license - v1.0.1
+org.jdesktop--swing-worker--1.1=Lesser General Public License (LGPL)
diff --git a/org.eclipse.osbp.ide.core.ui/.classpath b/org.eclipse.osbp.ide.core.ui/.classpath
new file mode 100644
index 0000000..43b9862
--- /dev/null
+++ b/org.eclipse.osbp.ide.core.ui/.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="target/classes"/>
+</classpath>
diff --git a/org.eclipse.osbp.ide.core.ui/.gitignore b/org.eclipse.osbp.ide.core.ui/.gitignore
new file mode 100644
index 0000000..c3d705e
--- /dev/null
+++ b/org.eclipse.osbp.ide.core.ui/.gitignore
@@ -0,0 +1,3 @@
+/target/
+.DS_Store
+/xtend-gen/
diff --git a/org.eclipse.osbp.ide.core.ui/.settings/org.eclipse.core.resources.prefs b/org.eclipse.osbp.ide.core.ui/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..99f26c0
--- /dev/null
+++ b/org.eclipse.osbp.ide.core.ui/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
diff --git a/org.eclipse.osbp.ide.core.ui/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.osbp.ide.core.ui/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..0c68a61
--- /dev/null
+++ b/org.eclipse.osbp.ide.core.ui/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,7 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.8
diff --git a/org.eclipse.osbp.ide.core.ui/.settings/org.eclipse.m2e.core.prefs b/org.eclipse.osbp.ide.core.ui/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/org.eclipse.osbp.ide.core.ui/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/org.eclipse.osbp.ide.core.ui/.settings/org.eclipse.pde.core.prefs b/org.eclipse.osbp.ide.core.ui/.settings/org.eclipse.pde.core.prefs
new file mode 100644
index 0000000..f29e940
--- /dev/null
+++ b/org.eclipse.osbp.ide.core.ui/.settings/org.eclipse.pde.core.prefs
@@ -0,0 +1,3 @@
+eclipse.preferences.version=1
+pluginProject.extensions=false
+resolve.requirebundle=false
diff --git a/org.eclipse.osbp.ide.core.ui/.settings/org.eclipse.xtend.core.Xtend.prefs b/org.eclipse.osbp.ide.core.ui/.settings/org.eclipse.xtend.core.Xtend.prefs
new file mode 100644
index 0000000..f6a7c78
--- /dev/null
+++ b/org.eclipse.osbp.ide.core.ui/.settings/org.eclipse.xtend.core.Xtend.prefs
@@ -0,0 +1,10 @@
+//outlet.DEFAULT_OUTPUT.sourceFolder.src/test/java.directory=src/test/generated-sources/xtend
+BuilderConfiguration.is_project_specific=true
+eclipse.preferences.version=1
+is_project_specific=true
+outlet.DEFAULT_OUTPUT.hideLocalSyntheticVariables=true
+outlet.DEFAULT_OUTPUT.installDslAsPrimarySource=false
+outlet.DEFAULT_OUTPUT.sourceFolder.src-gen.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.sourceFolder.src.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.sourceFolder.xtend-gen.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.userOutputPerSourceFolder=true
diff --git a/org.eclipse.osbp.ide.core.ui/META-INF/MANIFEST.MF b/org.eclipse.osbp.ide.core.ui/META-INF/MANIFEST.MF
index acb945c..a85d6b0 100644
--- a/org.eclipse.osbp.ide.core.ui/META-INF/MANIFEST.MF
+++ b/org.eclipse.osbp.ide.core.ui/META-INF/MANIFEST.MF
@@ -12,14 +12,14 @@
Bundle-ActivationPolicy: lazy
Require-Bundle: org.eclipse.core.resources;bundle-version="3.9.0",
org.eclipse.core.runtime;bundle-version="3.10.0",
- org.eclipse.xtext.builder;bundle-version="[2.7.3,2.8.0)",
+ org.eclipse.xtext.builder;bundle-version="[2.11.0,2.12.0)",
org.eclipse.ui.workbench,
org.eclipse.ui;bundle-version="3.106.0",
org.eclipse.osbp.ide.core;bundle-version="[0.9.0,0.10.0)",
- org.eclipse.xtext.ui;bundle-version="[2.7.3,2.8.0)",
- org.eclipse.xtext.ui.shared;bundle-version="[2.7.3,2.8.0)",
+ org.eclipse.xtext.ui;bundle-version="[2.11.0,2.12.0)",
+ org.eclipse.xtext.ui.shared;bundle-version="[2.11.0,2.12.0)",
org.eclipse.osbp.ide.core.api;bundle-version="[0.9.0,0.10.0)",
- org.eclipse.xtext.common.types.ui;bundle-version="[2.7.3,2.8.0)",
+ org.eclipse.xtext.common.types.ui;bundle-version="[2.11.0,2.12.0)",
org.eclipse.jdt.core,
org.eclipse.osbp.xtext.builder.ui.access;bundle-version="[0.9.0,0.10.0)",
org.eclipse.ui.ide;bundle-version="3.10.0",
@@ -27,14 +27,14 @@
org.eclipse.search,
org.eclipse.ui.console,
org.eclipse.jdt.launching,
- org.eclipse.osbp.dsl.xtext.lazyresolver.api;bundle-version="[0.9.0,0.10.0)",
org.eclipse.osbp.ecview.core.common.model;bundle-version="[0.9.0,0.10.0)",
org.eclipse.osbp.ecview.core.extension.model;bundle-version="[0.9.0,0.10.0)",
org.eclipse.pde.ui,
org.eclipse.equinox.p2.metadata,
org.eclipse.osbp.dsl.entity.xtext;bundle-version="[0.9.0,0.10.0)",
org.eclipse.osbp.dsl.dto.xtext;bundle-version="[0.9.0,0.10.0)",
- org.eclipse.osbp.dsl.services.xtext;bundle-version="[0.9.0,0.10.0)"
+ org.eclipse.osbp.dsl.services.xtext;bundle-version="[0.9.0,0.10.0)",
+ org.eclipse.osbp.xtext.oxtype;bundle-version="[0.9.0,0.10.0)"
Export-Package: org.eclipse.osbp.ide.core.ui;x-internal:=true;version="0.9.0",
org.eclipse.osbp.ide.core.ui.builder;x-internal:=true;version="0.9.0",
org.eclipse.osbp.ide.core.ui.i18n;x-internal:=true;version="0.9.0",
diff --git a/org.eclipse.osbp.ide.core.ui/pom.xml b/org.eclipse.osbp.ide.core.ui/pom.xml
index 88095f5..89455d1 100644
--- a/org.eclipse.osbp.ide.core.ui/pom.xml
+++ b/org.eclipse.osbp.ide.core.ui/pom.xml
@@ -33,7 +33,6 @@
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-compiler-plugin</artifactId>
- <version>0.21.0</version>
<configuration>
<compilerVersion>1.8</compilerVersion>
<encoding>UTF-8</encoding>
diff --git a/org.eclipse.osbp.ide.core.ui/src/license/THIRD-PARTY.properties b/org.eclipse.osbp.ide.core.ui/src/license/THIRD-PARTY.properties
new file mode 100644
index 0000000..0f7af5d
--- /dev/null
+++ b/org.eclipse.osbp.ide.core.ui/src/license/THIRD-PARTY.properties
@@ -0,0 +1,42 @@
+# Generated by org.codehaus.mojo.license.AddThirdPartyMojo
+#-------------------------------------------------------------------------------
+# Already used licenses in project :
+# - Apache License
+# - Apache License 2.0
+# - Apache License Version 2.0
+# - Apache License, Version 2.0
+# - Apache Software License - Version 2.0
+# - BSD License
+# - COMMON DEVELOPMENT AND DISTRIBUTION LICENSE
+# (CDDL)
+# Version
+# 1.0
+# - Commercial Vaadin Add-On License version 3.0
+# - Common Development and Distribution license - v1.0.1
+# - Eclipse Public License - Version 1.0
+# - Eclipse Public License v1.0
+# - GNU LGPL 3
+# - GNU Lesser General Public License
+# - ICU License
+# - Indiana University Extreme! Lab Software
+# License,
+# vesion 1.1.1
+# - Lesser General Public License (LGPL)
+# - Lesser General Public License (LPGL)
+# - Lesser General Public License (LPGL) v 2.1
+# - MIT License
+# - The Apache Software License, Version 2.0
+# - The MIT License
+# - The SAX License
+# - The W3C License
+# - The W3C Software License
+# - W3C Software Copyright Notice and License
+#-------------------------------------------------------------------------------
+# Please fill the missing licenses for dependencies :
+#
+#
+#Thu Aug 28 14:08:37 CEST 2014
+ant--ant-launcher--1.6.5=Apache License Version 2.0
+commons-collections--commons-collections--3.1=Apache License Version 2.0
+javax.servlet--servlet-api--2.5=Common Development and Distribution license - v1.0.1
+org.jdesktop--swing-worker--1.1=Lesser General Public License (LGPL)
diff --git a/org.eclipse.osbp.ide.core.ui/src/org/eclipse/osbp/ide/core/ui/builder/OSBPModelEnhancingBuilder.java b/org.eclipse.osbp.ide.core.ui/src/org/eclipse/osbp/ide/core/ui/builder/OSBPModelEnhancingBuilder.java
index f5ba1ac..981d4ec 100644
--- a/org.eclipse.osbp.ide.core.ui/src/org/eclipse/osbp/ide/core/ui/builder/OSBPModelEnhancingBuilder.java
+++ b/org.eclipse.osbp.ide.core.ui/src/org/eclipse/osbp/ide/core/ui/builder/OSBPModelEnhancingBuilder.java
@@ -50,8 +50,8 @@
import org.eclipse.osbp.dsl.semantic.common.types.LAttribute;
import org.eclipse.osbp.dsl.semantic.common.types.LEnum;
import org.eclipse.osbp.dsl.semantic.common.types.LEnumLiteral;
-import org.eclipse.osbp.dsl.semantic.common.types.LImport;
import org.eclipse.osbp.dsl.semantic.common.types.LReference;
+import org.eclipse.osbp.dsl.semantic.common.types.LScalarType;
import org.eclipse.osbp.dsl.semantic.common.types.LType;
import org.eclipse.osbp.dsl.semantic.common.types.LTypedPackage;
import org.eclipse.osbp.dsl.semantic.common.types.OSBPTypesFactory;
@@ -78,19 +78,23 @@
import org.eclipse.osbp.dsl.semantic.service.LServiceModel;
import org.eclipse.osbp.dsl.semantic.service.OSBPServiceFactory;
import org.eclipse.osbp.dsl.semantic.service.OSBPServicePackage;
-import org.eclipse.osbp.dsl.xtext.lazyresolver.api.ISemanticLoadingResource;
-import org.eclipse.osbp.dsl.xtext.lazyresolver.api.logger.TimeLogger;
import org.eclipse.osbp.ide.core.api.i18n.CoreUtil;
import org.eclipse.osbp.ide.core.ui.CoreUiActivator;
import org.eclipse.osbp.ide.core.ui.nature.OSBPNature;
import org.eclipse.osbp.xtext.builder.ui.access.IXtextUtilService;
+import org.eclipse.osbp.xtext.oxtype.logger.TimeLogger;
+import org.eclipse.osbp.xtext.oxtype.oxtype.OXImportDeclaration;
+import org.eclipse.osbp.xtext.oxtype.oxtype.OXtypeFactory;
+import org.eclipse.osbp.xtext.oxtype.resource.ISemanticLoadingResource;
import org.eclipse.swt.widgets.Display;
import org.eclipse.xtext.builder.builderState.IBuilderState;
import org.eclipse.xtext.common.types.TypesPackage;
+import org.eclipse.xtext.naming.IQualifiedNameProvider;
import org.eclipse.xtext.resource.IEObjectDescription;
import org.eclipse.xtext.resource.IReferenceDescription;
import org.eclipse.xtext.resource.IResourceDescription;
import org.eclipse.xtext.resource.IResourceDescription.Delta;
+import org.eclipse.xtext.resource.IResourceServiceProvider;
import org.eclipse.xtext.resource.SaveOptions;
import org.eclipse.xtext.resource.XtextResourceSet;
import org.eclipse.xtext.ui.editor.findrefs.IReferenceFinder;
@@ -99,6 +103,9 @@
import org.eclipse.xtext.util.IAcceptor;
import org.eclipse.xtext.util.Pair;
import org.eclipse.xtext.util.concurrent.IUnitOfWork;
+import org.eclipse.xtext.xtype.XImportDeclaration;
+import org.eclipse.xtext.xtype.XImportSection;
+import org.eclipse.xtext.xtype.XtypeFactory;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -123,8 +130,7 @@
public final static String SOURCE_BASE_SRC_DIRECTORY = "src";
/** The Constant LOGGER. */
- private static final Logger LOGGER = LoggerFactory
- .getLogger(OSBPModelEnhancingBuilder.class);
+ private static final Logger LOGGER = LoggerFactory.getLogger(OSBPModelEnhancingBuilder.class);
/** The state. */
@Inject
@@ -147,6 +153,9 @@
private List<Pending> pending = new ArrayList<Pending>();
private boolean firstBuild = true;
+ private IQualifiedNameProvider entityNameProvider;
+ private IQualifiedNameProvider dtoNameProvider;
+
/**
* Instantiates a new OSBP model enhancing builder.
*/
@@ -162,8 +171,7 @@
* the event
*/
@Override
- public void descriptionsChanged(
- org.eclipse.xtext.resource.IResourceDescription.Event event) {
+ public void descriptionsChanged(org.eclipse.xtext.resource.IResourceDescription.Event event) {
for (Delta delta : event.getDeltas()) {
// do not check for changes in the eobject description. Causes
// confusion for the user
@@ -217,15 +225,13 @@
if (platformResourcePath == null) {
return false;
}
- IFile file = ResourcesPlugin.getWorkspace().getRoot()
- .getFile(new Path(platformResourcePath));
+ IFile file = ResourcesPlugin.getWorkspace().getRoot().getFile(new Path(platformResourcePath));
if (file == null || !file.exists()) {
// if resource is not in workspace continue
return false;
}
- Iterable<Pair<IStorage, IProject>> pairs = uriStorageMapper
- .getStorages(uri);
+ Iterable<Pair<IStorage, IProject>> pairs = uriStorageMapper.getStorages(uri);
if (pairs.iterator().hasNext()) {
Pair<IStorage, IProject> pair = pairs.iterator().next();
IProject dtoProject = pair.getSecond();
@@ -243,8 +249,7 @@
* java.util.Map, org.eclipse.core.runtime.IProgressMonitor)
*/
@Override
- protected IProject[] build(int kind, Map<String, String> args,
- IProgressMonitor monitor) throws CoreException {
+ protected IProject[] build(int kind, Map<String, String> args, IProgressMonitor monitor) throws CoreException {
ensureParticipants();
if (kind == FULL_BUILD || firstBuild) {
@@ -267,8 +272,7 @@
});
boolean processed = false;
- for (Iterator<Pending> iterator = pending.iterator(); iterator
- .hasNext() && !processed;) {
+ for (Iterator<Pending> iterator = pending.iterator(); iterator.hasNext() && !processed;) {
Pending pending = iterator.next();
try {
@@ -282,8 +286,7 @@
String fileExtension = pending.uri.fileExtension();
switch (fileExtension) {
case "entity":
- LEntityModel lentity = dtoBuilder
- .loadSemanticModel(pending.uri);
+ LEntityModel lentity = dtoBuilder.loadSemanticModel(pending.uri);
if (lentity != null) {
dtoBuilder.buildDtos(lentity);
processed = true;
@@ -291,8 +294,7 @@
}
break;
case "dto":
- LDtoModel lDtoModel = serviceBuilder
- .loadSemanticModel(pending.uri);
+ LDtoModel lDtoModel = serviceBuilder.loadSemanticModel(pending.uri);
if (lDtoModel != null) {
// touch the ui and dialog models
try {
@@ -342,8 +344,7 @@
IFile file = (IFile) resource;
org.eclipse.emf.common.util.URI uri = org.eclipse.emf.common.util.URI
- .createPlatformResourceURI(file.getFullPath()
- .toString(), false);
+ .createPlatformResourceURI(file.getFullPath().toString(), false);
if (shouldUse(uri)) {
String fileExtension = uri.fileExtension();
switch (fileExtension) {
@@ -392,6 +393,18 @@
serviceBuilder = new ServiceEnhancer();
injector.injectMembers(serviceBuilder);
}
+
+ if (entityNameProvider == null) {
+ entityNameProvider = IResourceServiceProvider.Registry.INSTANCE
+ .getResourceServiceProvider(URI.createURI("osbp_builder:/my.entity"))
+ .get(IQualifiedNameProvider.class);
+ }
+
+ if (dtoNameProvider == null) {
+ dtoNameProvider = IResourceServiceProvider.Registry.INSTANCE
+ .getResourceServiceProvider(URI.createURI("osbp_builder:/my.dto"))
+ .get(IQualifiedNameProvider.class);
+ }
}
/**
@@ -430,8 +443,7 @@
* the temp l entity model
*/
public void buildDtos(LEntityModel tempLEntityModel) {
- IXtextUtilService service = CoreUiActivator.getDefault()
- .getUtilService();
+ IXtextUtilService service = CoreUiActivator.getDefault().getUtilService();
if (service == null) {
LOGGER.error("Skipping dto build since IXtextUtilService is not available!");
return;
@@ -444,21 +456,18 @@
//
// find referencing dto model
Set<URI> entityURIs = findEntityURIs(tempLEntityModel);
- final List<IReferenceDescription> targetDtoReferences = findTargetDtoReferences(
- entityURIs, tempLEntityModel.eResource().getResourceSet());
+ final List<IReferenceDescription> targetDtoReferences = findTargetDtoReferences(entityURIs,
+ tempLEntityModel.eResource().getResourceSet());
// ------- create the build context -------
- DtoEnhancerContext context = createDtoBuildContext(
- tempLEntityModel, targetDtoReferences);
+ DtoEnhancerContext context = createDtoBuildContext(tempLEntityModel, targetDtoReferences);
ISemanticLoadingResource entityResource = (ISemanticLoadingResource) context.writeableResourceSet
.getResource(tempLEntityModel.eResource().getURI(), true);
- List<LType> sourceArtifacts = collectEntities((LEntityModel) entityResource
- .getSemanticElement());
+ List<LType> sourceArtifacts = collectEntities((LEntityModel) entityResource.getSemanticElement());
- List<LType> tempDtos = collectDtos((LDtoModel) context.dtoResource
- .getSemanticElement());
+ List<LType> tempDtos = collectDtos((LDtoModel) context.dtoResource.getSemanticElement());
List<SourceTypeStore> sourceTypeStores = new ArrayList<SourceTypeStore>();
List<LType> dtosToPersist = new ArrayList<LType>();
@@ -472,8 +481,7 @@
LDto lDto = (LDto) findDtoType(lEntity, tempDtos);
if (lDto == null) {
lDto = OSBPDtoFactory.eINSTANCE.createLAutoInheritDto();
- lDto.setAnnotationInfo(OSBPDtoFactory.eINSTANCE
- .createLDto());
+ lDto.setAnnotationInfo(OSBPDtoFactory.eINSTANCE.createLDto());
tempDtos.add(lDto);
} else {
// remove from package for a while
@@ -496,8 +504,7 @@
LDto lDto = (LDto) findDtoType(lBean, tempDtos);
if (lDto == null) {
lDto = OSBPDtoFactory.eINSTANCE.createLAutoInheritDto();
- lDto.setAnnotationInfo(OSBPDtoFactory.eINSTANCE
- .createLDto());
+ lDto.setAnnotationInfo(OSBPDtoFactory.eINSTANCE.createLDto());
tempDtos.add(lDto);
} else {
// remove from package for a while
@@ -525,22 +532,19 @@
tempDtos.add(lDtoType);
} else {
// remove from package for a while
- LTypedPackage lPkg = (LTypedPackage) lDtoType
- .eContainer();
+ LTypedPackage lPkg = (LTypedPackage) lDtoType.eContainer();
lPkg.getTypes().remove(lDtoType);
// collect all touched packages -> They need cleanup
// later
touchedPackages.add(lPkg);
}
- lDtoType.setName(NamingConventionsUtil
- .toDtoName(lSourceType));
+ lDtoType.setName(NamingConventionsUtil.toDtoName(lSourceType));
dtosToPersist.add(lDtoType);
// store the source type of the new enum
- sourceTypeStores.add(new SourceTypeStore(lSourceType,
- lDtoType));
+ sourceTypeStores.add(new SourceTypeStore(lSourceType, lDtoType));
}
}
@@ -549,13 +553,12 @@
// an
// entity anymore
for (LTypedPackage lPkg : touchedPackages) {
- for (Iterator<LType> iterator = lPkg.getTypes().iterator(); iterator
- .hasNext();) {
+ for (Iterator<LType> iterator = lPkg.getTypes().iterator(); iterator.hasNext();) {
LType lType = (LType) iterator.next();
if (lType instanceof LAutoInheritDto) {
LDto lDto = (LDto) lType;
- if (lDto.getWrappedType() == null
- || lDto.getWrappedType().eIsProxy()) {
+ if (lDto.getWrappedType() == null || lDto.getWrappedType().eIsProxy()) {
+ lDto.setSuperType(null);
iterator.remove();
}
}
@@ -567,8 +570,7 @@
for (LType lType : new ArrayList<>(tempDtos)) {
if (lType instanceof LAutoInheritDto) {
LDto lDto = (LDto) lType;
- if (lDto.getWrappedType() == null
- || lDto.getWrappedType().eIsProxy()) {
+ if (lDto.getWrappedType() == null || lDto.getWrappedType().eIsProxy()) {
tempDtos.remove(lDto);
}
}
@@ -588,22 +590,18 @@
for (LType lType : sourceArtifacts) {
if (lType instanceof LEntity) {
LEntity lEntity = (LEntity) lType;
- if (lEntity.getSuperType() != null
- && !lEntity.getSuperType().eIsProxy()) {
+ if (lEntity.getSuperType() != null && !lEntity.getSuperType().eIsProxy()) {
LEntity lEntitySuperType = lEntity.getSuperType();
LDto lDto = (LDto) findDtoType(lEntity, tempDtos);
- LDto lDtoSuperType = (LDto) findDtoType(
- lEntitySuperType, tempDtos);
+ LDto lDtoSuperType = (LDto) findDtoType(lEntitySuperType, tempDtos);
lDto.setSuperType(lDtoSuperType);
}
} else if (lType instanceof LBean) {
LBean lBean = (LBean) lType;
- if (lBean.getSuperType() != null
- && !lBean.getSuperType().eIsProxy()) {
+ if (lBean.getSuperType() != null && !lBean.getSuperType().eIsProxy()) {
LBean lBeanSuperType = lBean.getSuperType();
LDto lDto = (LDto) findDtoType(lBean, tempDtos);
- LDto lDtoSuperType = (LDto) findDtoType(lBeanSuperType,
- tempDtos);
+ LDto lDtoSuperType = (LDto) findDtoType(lBeanSuperType, tempDtos);
lDto.setSuperType(lDtoSuperType);
}
}
@@ -639,14 +637,10 @@
}
dtoNames.add(lDto.getName());
- LTypedPackage lSourceTypePkg = (LTypedPackage) lDto
- .getWrappedType().eContainer();
- addDtoToPackage(
- NamingConventionsUtil
- .toDtoPackage(lSourceTypePkg),
- lDto, (LDtoModel) context.dtoResource
- .getSemanticElement(), lSourceTypePkg
- .getName());
+ LType wrappedType = lDto.getWrappedType();
+ LTypedPackage lSourceTypePkg = (LTypedPackage) wrappedType.eContainer();
+ addDtoToPackage(NamingConventionsUtil.toDtoPackage(lSourceTypePkg), lDto,
+ (LDtoModel) context.dtoResource.getSemanticElement(), wrappedType);
} else if (lType instanceof LEnum) {
LEnum lEnum = (LEnum) lType;
// filter dtos
@@ -656,16 +650,10 @@
}
dtoNames.add(lEnum.getName());
- LEnum sourceType = (LEnum) SourceTypeStore
- .findSourceType(lEnum);
- LTypedPackage lSourceTypePkg = (LTypedPackage) sourceType
- .eContainer();
- addDtoToPackage(
- NamingConventionsUtil
- .toDtoPackage(lSourceTypePkg),
- lEnum, (LDtoModel) context.dtoResource
- .getSemanticElement(), lSourceTypePkg
- .getName());
+ LEnum sourceType = (LEnum) SourceTypeStore.findSourceType(lEnum);
+ LTypedPackage lSourceTypePkg = (LTypedPackage) sourceType.eContainer();
+ addDtoToPackage(NamingConventionsUtil.toDtoPackage(lSourceTypePkg), lEnum,
+ (LDtoModel) context.dtoResource.getSemanticElement(), sourceType);
}
}
@@ -678,12 +666,10 @@
// save the dtos
//
try {
- Diagnostic diagnostic = Diagnostician.INSTANCE
- .validate(context.dtoResource.getSemanticElement());
+ Diagnostic diagnostic = Diagnostician.INSTANCE.validate(context.dtoResource.getSemanticElement());
int sev = diagnostic.getSeverity();
if (sev <= Diagnostic.WARNING) {
- context.dtoResource.save(SaveOptions.newBuilder()
- .format().getOptions().toOptionsMap());
+ context.dtoResource.save(SaveOptions.newBuilder().format().getOptions().toOptionsMap());
} else {
if (!context.dtoResource.getErrors().isEmpty()) {
String message = context.dtoResource.getErrors()
@@ -735,8 +721,7 @@
* the target dto references
* @return the dto enhancer context
*/
- private DtoEnhancerContext createDtoBuildContext(
- LEntityModel tempLEntityModel,
+ private DtoEnhancerContext createDtoBuildContext(LEntityModel tempLEntityModel,
final List<IReferenceDescription> targetDtoReferences) {
DtoEnhancerContext context = new DtoEnhancerContext();
if (!targetDtoReferences.isEmpty()) {
@@ -747,24 +732,19 @@
//
// access entity resource
- ISemanticLoadingResource tempEntityResource = (ISemanticLoadingResource) tempLEntityModel
- .eResource();
- ResourceSet readonlyResourceSet = tempEntityResource
- .getResourceSet();
+ ISemanticLoadingResource tempEntityResource = (ISemanticLoadingResource) tempLEntityModel.eResource();
+ ResourceSet readonlyResourceSet = tempEntityResource.getResourceSet();
// access dto resource based on entityResourceSet
IReferenceDescription firstDesc = targetDtoReferences.get(0);
- LDto tempDto = (LDto) readonlyResourceSet.getEObject(
- firstDesc.getSourceEObjectUri(), true);
+ LDto tempDto = (LDto) readonlyResourceSet.getEObject(firstDesc.getSourceEObjectUri(), true);
// create the proper dto resourceSet to save the dto
- context.writeableResourceSet = getProjectResourceSet(EcoreUtil
- .getURI(tempDto));
+ context.writeableResourceSet = getProjectResourceSet(EcoreUtil.getURI(tempDto));
// load the dtoResource based on the dto resourceSet
context.dtoResource = (ISemanticLoadingResource) context.writeableResourceSet
- .getResource(EcoreUtil.getURI(tempDto).trimFragment(),
- true);
+ .getResource(EcoreUtil.getURI(tempDto).trimFragment(), true);
} else {
URI entityURI = EcoreUtil.getURI(tempLEntityModel);
@@ -788,27 +768,22 @@
// "org/my/foo/entity/MyEntity.entity"
// to
// "org/my/foo/entity/MyEntity.dtos"
- dtoResourcePath = NamingConventionsUtil
- .toDtoPackage(entityURI.path().replace("/resource",
- ""));
+ dtoResourcePath = NamingConventionsUtil.toDtoPackage(entityURI.path().replace("/resource", ""));
}
// now create a dtoResource
- URI dtoModelURI = URI.createPlatformResourceURI(
- dtoResourcePath, true);
+ URI dtoModelURI = URI.createPlatformResourceURI(dtoResourcePath, true);
context.dtoResource = (ISemanticLoadingResource) context.writeableResourceSet
.createResource(dtoModelURI);
- context.dtoResource.getContents().add(
- OSBPDtoFactory.eINSTANCE.createLDtoModel());
+ context.dtoResource.getContents().add(OSBPDtoFactory.eINSTANCE.createLDtoModel());
}
return context;
}
private IResource findDtoFile(URI entityURI) {
- String dtoFileName = entityURI.path()
- .substring(entityURI.path().lastIndexOf("/") + 1)
- .replace(".entity", ".dto");
+ String dtoFileName = entityURI.path().substring(entityURI.path().lastIndexOf("/") + 1).replace(".entity",
+ ".dto");
IResource[] temp = new IResource[1];
try {
@@ -820,8 +795,7 @@
}
return true;
} else if (res instanceof IFolder) {
- if (res.getName().equals("bin")
- || res.getName().equals("target")) {
+ if (res.getName().equals("bin") || res.getName().equals("target")) {
return false;
}
return true;
@@ -877,8 +851,13 @@
* @param entityPackage
* the entity package
*/
- private void addDtoToPackage(String packageName, LType newDto,
- LDtoModel lDtoModel, String entityPackage) {
+ private void addDtoToPackage(String packageName, LType newDto, LDtoModel lDtoModel, LType wrappedType) {
+
+ XImportSection section = lDtoModel.getImportSection();
+ if (section == null) {
+ section = XtypeFactory.eINSTANCE.createXImportSection();
+ lDtoModel.setImportSection(section);
+ }
Optional<LTypedPackage> optPkg = lDtoModel.getPackages().stream()
.filter(p -> p.getName().equals(packageName)).findFirst();
@@ -892,11 +871,14 @@
lDtoModel.getPackages().add(pkg);
}
- // check if entityPackage is imported
- if (!containsImport(pkg, entityPackage + ".*")) {
- LImport lImport = OSBPTypesFactory.eINSTANCE.createLImport();
- lImport.setImportedNamespace(entityPackage + ".*");
- pkg.getImports().add(lImport);
+ String typeName = entityNameProvider.getFullyQualifiedName(wrappedType).toString();
+
+ // check if typeName is imported
+ if (!containsImport(lDtoModel, typeName)) {
+ OXImportDeclaration lImport = OXtypeFactory.eINSTANCE.createOXImportDeclaration();
+ lImport.setFqnImport(true);
+ lImport.setImportedFullyQualifiedName(typeName);
+ section.getImportDeclarations().add(lImport);
}
pkg.getTypes().add(newDto);
@@ -905,17 +887,23 @@
/**
* Contains import.
*
- * @param pkg
+ * @param model
* the pkg
* @param entityPackageImport
* the entity package import
* @return true, if successful
*/
- private boolean containsImport(LTypedPackage pkg,
- String entityPackageImport) {
- for (LImport lImport : pkg.getImports()) {
- if (lImport.getImportedNamespace().equals(entityPackageImport)) {
- return true;
+ private boolean containsImport(LDtoModel model, String typeFqn) {
+ if (model.getImportSection() == null) {
+ return false;
+ }
+
+ for (XImportDeclaration lImport : model.getImportSection().getImportDeclarations()) {
+ OXImportDeclaration decl = (OXImportDeclaration) lImport;
+ if (decl.isFqnImport()) {
+ if (decl.getImportedFullyQualifiedName().equals(typeFqn.toString())) {
+ return true;
+ }
}
}
return false;
@@ -965,32 +953,38 @@
// also add features from supertype, if dto does not
// extend any dto.
- List<LEntityFeature> features = lDto.getSuperType() == null ? currentEntity
- .getAllFeatures() : currentEntity.getFeatures();
+ List<LEntityFeature> features = lDto.getSuperType() == null ? currentEntity.getAllFeatures()
+ : currentEntity.getFeatures();
for (LEntityFeature lEntityFeature : features) {
if (lEntityFeature instanceof LEntityAttribute) {
- LDtoInheritedAttribute lNewAtt = OSBPDtoFactory.eINSTANCE
- .createLDtoInheritedAttribute();
+ LDtoInheritedAttribute lNewAtt = OSBPDtoFactory.eINSTANCE.createLDtoInheritedAttribute();
lNewAtt.setInheritedFeature((LAttribute) lEntityFeature);
- LDtoFeature lAnnTarget = OSBPDtoFactory.eINSTANCE
- .createLDtoFeature();
+ LDtoFeature lAnnTarget = OSBPDtoFactory.eINSTANCE.createLDtoFeature();
lNewAtt.setAnnotationInfo(lAnnTarget);
+
+ LAttribute att = (LAttribute) lEntityFeature;
+ if (att.getType() instanceof LBean) {
+ // Mapped dto
+ LDto mapToDto = getMapToDto((LEntityAttribute) lEntityFeature, dtos);
+ if (mapToDto == null) {
+ LOGGER.error("No Mapping-DTO could be found for " + lEntityFeature.getEntity());
+ continue;
+ }
+ lNewAtt.setType(mapToDto);
+ }
+
lDto.getFeatures().add(lNewAtt);
} else if (lEntityFeature instanceof LEntityReference) {
// Mapped dto
- LDto mapToDto = getMapToDto(
- (LEntityReference) lEntityFeature, dtos);
+ LDto mapToDto = getMapToDto((LEntityReference) lEntityFeature, dtos);
if (mapToDto == null) {
- LOGGER.error("No Mapping-DTO could be found for "
- + lEntityFeature.getEntity());
+ LOGGER.error("No Mapping-DTO could be found for " + lEntityFeature.getEntity());
continue;
}
- LDtoInheritedReference lNewRef = OSBPDtoFactory.eINSTANCE
- .createLDtoInheritedReference();
+ LDtoInheritedReference lNewRef = OSBPDtoFactory.eINSTANCE.createLDtoInheritedReference();
lNewRef.setInheritedFeature((LReference) lEntityFeature);
- LDtoFeature lAnnTarget = OSBPDtoFactory.eINSTANCE
- .createLDtoFeature();
+ LDtoFeature lAnnTarget = OSBPDtoFactory.eINSTANCE.createLDtoFeature();
lNewRef.setAnnotationInfo(lAnnTarget);
lDto.getFeatures().add(lNewRef);
lNewRef.setType(mapToDto);
@@ -1003,48 +997,50 @@
// also add features from supertype, if dto does not
// extend any dto.
- List<LBeanFeature> features = lDto.getSuperType() == null ? currentBean
- .getAllFeatures() : currentBean.getFeatures();
+ List<LBeanFeature> features = lDto.getSuperType() == null ? currentBean.getAllFeatures()
+ : currentBean.getFeatures();
for (LBeanFeature lBeanFeature : features) {
if (lBeanFeature instanceof LBeanAttribute) {
- LDtoInheritedAttribute lNewAtt = OSBPDtoFactory.eINSTANCE
- .createLDtoInheritedAttribute();
+ LDtoInheritedAttribute lNewAtt = OSBPDtoFactory.eINSTANCE.createLDtoInheritedAttribute();
lNewAtt.setInheritedFeature((LAttribute) lBeanFeature);
- LDtoFeature lAnnTarget = OSBPDtoFactory.eINSTANCE
- .createLDtoFeature();
+ LDtoFeature lAnnTarget = OSBPDtoFactory.eINSTANCE.createLDtoFeature();
lNewAtt.setAnnotationInfo(lAnnTarget);
+
+ LAttribute att = (LAttribute) lBeanFeature;
+ if (att.getType() instanceof LBean) {
+ // Mapped dto
+ LDto mapToDto = getMapToDto((LAttribute) lBeanFeature, dtos);
+ if (mapToDto == null) {
+ LOGGER.error("No Mapping-DTO could be found for " + att.getType());
+ continue;
+ }
+ lNewAtt.setType(mapToDto);
+ }
+
lDto.getFeatures().add(lNewAtt);
} else if (lBeanFeature instanceof LEntityReference) {
- LDto mapToDto = getMapToDto(
- (LEntityReference) lBeanFeature, dtos);
+ LDto mapToDto = getMapToDto((LEntityReference) lBeanFeature, dtos);
if (mapToDto == null) {
- LOGGER.error("No Mapping-DTO could be found for "
- + lBeanFeature.getBean());
+ LOGGER.error("No Mapping-DTO could be found for " + lBeanFeature.getBean());
continue;
}
- LDtoInheritedReference lNewRef = OSBPDtoFactory.eINSTANCE
- .createLDtoInheritedReference();
+ LDtoInheritedReference lNewRef = OSBPDtoFactory.eINSTANCE.createLDtoInheritedReference();
lNewRef.setInheritedFeature((LReference) lBeanFeature);
- LDtoFeature lAnnTarget = OSBPDtoFactory.eINSTANCE
- .createLDtoFeature();
+ LDtoFeature lAnnTarget = OSBPDtoFactory.eINSTANCE.createLDtoFeature();
lNewRef.setAnnotationInfo(lAnnTarget);
lDto.getFeatures().add(lNewRef);
lNewRef.setType(mapToDto);
} else if (lBeanFeature instanceof LBeanReference) {
- LDto mapToDto = getMapToDto(
- (LBeanReference) lBeanFeature, dtos);
+ LDto mapToDto = getMapToDto((LBeanReference) lBeanFeature, dtos);
if (mapToDto == null) {
- LOGGER.error("No Mapping-DTO could be found for "
- + lBeanFeature.getBean());
+ LOGGER.error("No Mapping-DTO could be found for " + lBeanFeature.getBean());
continue;
}
- LDtoInheritedReference lNewRef = OSBPDtoFactory.eINSTANCE
- .createLDtoInheritedReference();
+ LDtoInheritedReference lNewRef = OSBPDtoFactory.eINSTANCE.createLDtoInheritedReference();
lNewRef.setInheritedFeature((LReference) lBeanFeature);
- LDtoFeature lAnnTarget = OSBPDtoFactory.eINSTANCE
- .createLDtoFeature();
+ LDtoFeature lAnnTarget = OSBPDtoFactory.eINSTANCE.createLDtoFeature();
lNewRef.setAnnotationInfo(lAnnTarget);
lDto.getFeatures().add(lNewRef);
lNewRef.setType(mapToDto);
@@ -1060,11 +1056,9 @@
* the l dto
*/
private void removeAllInheritedFeatures(LDto lDto) {
- for (Iterator<LDtoFeature> iterator = lDto.getFeatures().iterator(); iterator
- .hasNext();) {
+ for (Iterator<LDtoFeature> iterator = lDto.getFeatures().iterator(); iterator.hasNext();) {
LDtoFeature lFeature = iterator.next();
- if ((lFeature instanceof LDtoInheritedAttribute)
- || (lFeature instanceof LDtoInheritedReference)) {
+ if ((lFeature instanceof LDtoInheritedAttribute) || (lFeature instanceof LDtoInheritedReference)) {
iterator.remove();
}
}
@@ -1079,8 +1073,7 @@
*/
private XtextResourceSet getProjectResourceSet(URI uri) {
IProject dtoProject = null;
- Iterable<Pair<IStorage, IProject>> pairs = uriStorageMapper
- .getStorages(uri);
+ Iterable<Pair<IStorage, IProject>> pairs = uriStorageMapper.getStorages(uri);
if (pairs.iterator().hasNext()) {
dtoProject = pairs.iterator().next().getSecond();
}
@@ -1090,8 +1083,7 @@
return null;
}
- XtextResourceSet resourceSet = (XtextResourceSet) rsProvider
- .get(dtoProject);
+ XtextResourceSet resourceSet = (XtextResourceSet) rsProvider.get(dtoProject);
return resourceSet;
}
@@ -1125,8 +1117,7 @@
List<LType> entities = new ArrayList<LType>();
for (LTypedPackage lPkg : lEntityModel.getPackages()) {
for (LType lType : lPkg.getTypes()) {
- if (lType instanceof LEntity || lType instanceof LBean
- || lType instanceof LEnum) {
+ if (lType instanceof LEntity || lType instanceof LBean || lType instanceof LEnum) {
entities.add(lType);
}
}
@@ -1167,11 +1158,9 @@
* the resource set
* @return the list
*/
- private List<IReferenceDescription> findTargetDtoReferences(
- Set<URI> entityURIs, ResourceSet resourceSet) {
+ private List<IReferenceDescription> findTargetDtoReferences(Set<URI> entityURIs, ResourceSet resourceSet) {
final List<IReferenceDescription> targetDtoReferences = new ArrayList<IReferenceDescription>();
- referenceFinder.findAllReferences(entityURIs,
- new LocalResourceAccess(resourceSet),
+ referenceFinder.findAllReferences(entityURIs, new LocalResourceAccess(resourceSet),
new IAcceptor<IReferenceDescription>() {
@Override
public void accept(IReferenceDescription t) {
@@ -1211,12 +1200,16 @@
* the dtos
* @return the map to dto
*/
- private LDto getMapToDto(LEntityReference lEntityFeature,
- List<LType> dtos) {
+ private LDto getMapToDto(LEntityReference lEntityFeature, List<LType> dtos) {
LEntity entity = lEntityFeature.getType();
return (LDto) findDtoType(entity, dtos);
}
+ private LDto getMapToDto(LAttribute lEntityFeature, List<LType> dtos) {
+ LScalarType entity = lEntityFeature.getType();
+ return (LDto) findDtoType(entity, dtos);
+ }
+
/**
* Returns the mapped DTO or <code>null</code>.
*
@@ -1252,8 +1245,7 @@
// org.eclipse.emf.common.util.URI
// .createPlatformResourceURI(file.getFullPath().toString(),
// false);
- XtextResourceSet rs = (XtextResourceSet) rsProvider
- .get(getProject());
+ XtextResourceSet rs = (XtextResourceSet) rsProvider.get(getProject());
Resource resource = rs.getResource(modelURI, true);
try {
resource.load(null);
@@ -1263,8 +1255,7 @@
}
A semanticModel = null;
if (resource instanceof ISemanticLoadingResource) {
- semanticModel = (A) ((ISemanticLoadingResource) resource)
- .getSemanticElement();
+ semanticModel = (A) ((ISemanticLoadingResource) resource).getSemanticElement();
} else {
semanticModel = (A) resource.getContents().get(0);
}
@@ -1334,26 +1325,20 @@
// create the proper dto resourceSet to save the dto
ResourceSet writeableResourceSet = resourceSets.get(uiModelURI);
if (writeableResourceSet == null) {
- LOGGER.error(
- "Can not save {} since resource set not available",
- uiModelURI);
+ LOGGER.error("Can not save {} since resource set not available", uiModelURI);
continue;
}
- Resource uiModelResource = (Resource) writeableResourceSet
- .getResource(uiModelURI, true);
+ Resource uiModelResource = (Resource) writeableResourceSet.getResource(uiModelURI, true);
// ensures that the inferrer is invoked
uiModelResource.getContents();
try {
- Diagnostic diagnostic = Diagnostician.INSTANCE
- .validate(uiModelResource.getContents().get(0));
+ Diagnostic diagnostic = Diagnostician.INSTANCE.validate(uiModelResource.getContents().get(0));
int sev = diagnostic.getSeverity();
if (sev <= Diagnostic.WARNING) {
- uiModelResource.save(SaveOptions.newBuilder().format()
- .getOptions().toOptionsMap());
+ uiModelResource.save(SaveOptions.newBuilder().format().getOptions().toOptionsMap());
} else {
- LOGGER.error(uiModelResource.getErrors().get(0)
- .toString());
+ LOGGER.error(uiModelResource.getErrors().get(0).toString());
}
uiModelResource.unload();
} catch (IOException e) {
@@ -1361,8 +1346,7 @@
}
}
- timeLogger.stop(LOGGER,
- "Finished OSBPServiceBuilder#buildUiModels in ");
+ timeLogger.stop(LOGGER, "Finished OSBPServiceBuilder#buildUiModels in ");
}
/**
@@ -1378,8 +1362,7 @@
private Set<URI> findTargetUiAndDialogModelReferences(
Set<URI> dtoJvmTypeURIs, ResourceSet resourceSet) {
final Set<URI> targetUiModelReferences = new HashSet<>();
- referenceFinder.findAllReferences(dtoJvmTypeURIs,
- new LocalResourceAccess(resourceSet),
+ referenceFinder.findAllReferences(dtoJvmTypeURIs, new LocalResourceAccess(resourceSet),
new IAcceptor<IReferenceDescription>() {
@Override
public void accept(IReferenceDescription t) {
@@ -1403,8 +1386,7 @@
* the temp l dto model
*/
public void buildServices(LDtoModel tempLDtoModel) {
- IXtextUtilService service = CoreUiActivator.getDefault()
- .getUtilService();
+ IXtextUtilService service = CoreUiActivator.getDefault().getUtilService();
if (service == null) {
LOGGER.error("Skipping dto build since IXtextUtilService is not available!");
return;
@@ -1417,21 +1399,18 @@
//
// find referencing service model
Set<URI> dtoURIs = findDtoURIs(tempLDtoModel);
- final List<IReferenceDescription> targetServiceReferences = findTargetServiceReferences(
- dtoURIs, tempLDtoModel.eResource().getResourceSet());
+ final List<IReferenceDescription> targetServiceReferences = findTargetServiceReferences(dtoURIs,
+ tempLDtoModel.eResource().getResourceSet());
// ------- create the build context -------
- ServiceEnhancerContext context = createServiceBuildContext(
- tempLDtoModel, targetServiceReferences);
+ ServiceEnhancerContext context = createServiceBuildContext(tempLDtoModel, targetServiceReferences);
ISemanticLoadingResource dtoResource = (ISemanticLoadingResource) context.writeableResourceSet
.getResource(tempLDtoModel.eResource().getURI(), true);
- List<LType> sourceArtifacts = collectDtos((LDtoModel) dtoResource
- .getSemanticElement());
+ List<LType> sourceArtifacts = collectDtos((LDtoModel) dtoResource.getSemanticElement());
- List<LType> tempServices = collectServices((LServiceModel) context.serviceResource
- .getSemanticElement());
+ List<LType> tempServices = collectServices((LServiceModel) context.serviceResource.getSemanticElement());
List<LType> servicesToPersist = new ArrayList<LType>();
@@ -1452,17 +1431,13 @@
LDTOService lService = findService(lDto, tempServices);
if (lService == null) {
- lService = OSBPServiceFactory.eINSTANCE
- .createLDTOService();
- lService.setAnnotationInfo(OSBPServiceFactory.eINSTANCE
- .createLDTOService());
- lService.setInjectedServices(OSBPServiceFactory.eINSTANCE
- .createLInjectedServices());
+ lService = OSBPServiceFactory.eINSTANCE.createLDTOService();
+ lService.setAnnotationInfo(OSBPServiceFactory.eINSTANCE.createLDTOService());
+ lService.setInjectedServices(OSBPServiceFactory.eINSTANCE.createLInjectedServices());
tempServices.add(lService);
} else {
// remove from package for a while
- LTypedPackage lPkg = (LTypedPackage) lService
- .eContainer();
+ LTypedPackage lPkg = (LTypedPackage) lService.eContainer();
lPkg.getTypes().remove(lService);
// collect all touched packages -> They need cleanup
// later
@@ -1479,13 +1454,11 @@
// on
// an dto anymore
for (LTypedPackage lPkg : touchedPackages) {
- for (Iterator<LType> iterator = lPkg.getTypes().iterator(); iterator
- .hasNext();) {
+ for (Iterator<LType> iterator = lPkg.getTypes().iterator(); iterator.hasNext();) {
LType lType = (LType) iterator.next();
if (lType instanceof LDTOService) {
LDTOService lService = (LDTOService) lType;
- if (lService.getDto() == null
- || lService.getDto().eIsProxy()
+ if (lService.getDto() == null || lService.getDto().eIsProxy()
|| !(lService.getDto().getWrappedType() instanceof LEntity)) {
iterator.remove();
}
@@ -1535,26 +1508,19 @@
}
serviceNames.add(lService.getName());
- LTypedPackage lSourceTypePkg = (LTypedPackage) lService
- .getDto().eContainer();
- addServicesToPackage(getServicePackageName(lSourceTypePkg),
- lService,
- (LServiceModel) context.serviceResource
- .getSemanticElement(),
- lSourceTypePkg.getName());
+ LTypedPackage lSourceTypePkg = (LTypedPackage) lService.getDto().eContainer();
+ addServicesToPackage(getServicePackageName(lSourceTypePkg), lService,
+ (LServiceModel) context.serviceResource.getSemanticElement(), lService.getDto());
}
try {
Diagnostic diagnostic = Diagnostician.INSTANCE
- .validate(context.serviceResource
- .getSemanticElement());
+ .validate(context.serviceResource.getSemanticElement());
int sev = diagnostic.getSeverity();
if (sev <= Diagnostic.WARNING) {
- context.serviceResource.save(SaveOptions.newBuilder()
- .format().getOptions().toOptionsMap());
+ context.serviceResource.save(SaveOptions.newBuilder().format().getOptions().toOptionsMap());
} else {
- LOGGER.error(context.serviceResource.getErrors().get(0)
- .toString());
+ LOGGER.error(context.serviceResource.getErrors().get(0).toString());
}
context.serviceResource.unload();
@@ -1565,8 +1531,7 @@
LOGGER.error("{}", e);
}
- timeLogger.stop(LOGGER,
- "Finished OSBPServiceBuilder#buildServices in ");
+ timeLogger.stop(LOGGER, "Finished OSBPServiceBuilder#buildServices in ");
}
}
@@ -1579,8 +1544,7 @@
* the target service references
* @return the service enhancer context
*/
- private ServiceEnhancerContext createServiceBuildContext(
- LDtoModel tempLDtoModel,
+ private ServiceEnhancerContext createServiceBuildContext(LDtoModel tempLDtoModel,
final List<IReferenceDescription> targetServiceReferences) {
ServiceEnhancerContext context = new ServiceEnhancerContext();
if (!targetServiceReferences.isEmpty()) {
@@ -1591,25 +1555,19 @@
//
// access entity resource
- ISemanticLoadingResource tempDtoResource = (ISemanticLoadingResource) tempLDtoModel
- .eResource();
- ResourceSet readonlyResourceSet = tempDtoResource
- .getResourceSet();
+ ISemanticLoadingResource tempDtoResource = (ISemanticLoadingResource) tempLDtoModel.eResource();
+ ResourceSet readonlyResourceSet = tempDtoResource.getResourceSet();
// access dto resource based on entityResourceSet
- IReferenceDescription firstDesc = targetServiceReferences
- .get(0);
- LService tempService = (LService) readonlyResourceSet
- .getEObject(firstDesc.getSourceEObjectUri(), true);
+ IReferenceDescription firstDesc = targetServiceReferences.get(0);
+ LService tempService = (LService) readonlyResourceSet.getEObject(firstDesc.getSourceEObjectUri(), true);
// create the proper dto resourceSet to save the dto
- context.writeableResourceSet = getProjectResourceSet(EcoreUtil
- .getURI(tempService));
+ context.writeableResourceSet = getProjectResourceSet(EcoreUtil.getURI(tempService));
// load the dtoResource based on the dto resourceSet
context.serviceResource = (ISemanticLoadingResource) context.writeableResourceSet
- .getResource(EcoreUtil.getURI(tempService)
- .trimFragment(), true);
+ .getResource(EcoreUtil.getURI(tempService).trimFragment(), true);
} else {
URI dtoURI = EcoreUtil.getURI(tempLDtoModel);
// create the proper dto resourceSet to save the dto
@@ -1630,24 +1588,20 @@
// now create a dtoResource
serviceResourcePath = org.eclipse.osbp.dsl.semantic.service.util.NamingConventionsUtil
- .toServicePackage(dtoURI.path().replace(
- "/resource", ""));
+ .toServicePackage(dtoURI.path().replace("/resource", ""));
}
- URI serviceModelURI = URI.createPlatformResourceURI(
- serviceResourcePath, true);
+ URI serviceModelURI = URI.createPlatformResourceURI(serviceResourcePath, true);
context.serviceResource = (ISemanticLoadingResource) context.writeableResourceSet
.createResource(serviceModelURI);
- context.serviceResource.getContents().add(
- OSBPServiceFactory.eINSTANCE.createLServiceModel());
+ context.serviceResource.getContents().add(OSBPServiceFactory.eINSTANCE.createLServiceModel());
}
return context;
}
private IResource findServiceFile(URI entityURI) {
- String dtoFileName = entityURI.path()
- .substring(entityURI.path().lastIndexOf("/") + 1)
- .replace(".dto", ".service");
+ String dtoFileName = entityURI.path().substring(entityURI.path().lastIndexOf("/") + 1).replace(".dto",
+ ".service");
IResource[] temp = new IResource[1];
try {
@@ -1659,8 +1613,7 @@
}
return true;
} else if (res instanceof IFolder) {
- if (res.getName().equals("bin")
- || res.getName().equals("target")) {
+ if (res.getName().equals("bin") || res.getName().equals("target")) {
return false;
}
return true;
@@ -1722,11 +1675,17 @@
* @param dtoPackage
* the dto package
*/
- private void addServicesToPackage(String packageName,
- LService newService, LServiceModel lModel, String dtoPackage) {
+ private void addServicesToPackage(String packageName, LService newService, LServiceModel lModel,
+ LType dtoType) {
- Optional<LTypedPackage> optPkg = lModel.getPackages().stream()
- .filter(p -> p.getName().equals(packageName)).findFirst();
+ XImportSection section = lModel.getImportSection();
+ if (section == null) {
+ section = XtypeFactory.eINSTANCE.createXImportSection();
+ lModel.setImportSection(section);
+ }
+
+ Optional<LTypedPackage> optPkg = lModel.getPackages().stream().filter(p -> p.getName().equals(packageName))
+ .findFirst();
LTypedPackage pkg = null;
if (optPkg.isPresent()) {
pkg = optPkg.get();
@@ -1737,11 +1696,14 @@
lModel.getPackages().add(pkg);
}
+ String typeName = dtoNameProvider.getFullyQualifiedName(dtoType).toString();
+
// check if entityPackage is imported
- if (!containsImport(pkg, dtoPackage + ".*")) {
- LImport lImport = OSBPTypesFactory.eINSTANCE.createLImport();
- lImport.setImportedNamespace(dtoPackage + ".*");
- pkg.getImports().add(lImport);
+ if (!containsImport(lModel, typeName)) {
+ OXImportDeclaration lImport = OXtypeFactory.eINSTANCE.createOXImportDeclaration();
+ lImport.setFqnImport(true);
+ lImport.setImportedFullyQualifiedName(typeName);
+ section.getImportDeclarations().add(lImport);
}
pkg.getTypes().add(newService);
@@ -1750,17 +1712,23 @@
/**
* Contains import.
*
- * @param pkg
+ * @param model
* the pkg
* @param entityPackageImport
* the entity package import
* @return true, if successful
*/
- private boolean containsImport(LTypedPackage pkg,
- String entityPackageImport) {
- for (LImport lImport : pkg.getImports()) {
- if (lImport.getImportedNamespace().equals(entityPackageImport)) {
- return true;
+ private boolean containsImport(LServiceModel model, String typeFqn) {
+ if (model.getImportSection() == null) {
+ return false;
+ }
+
+ for (XImportDeclaration lImport : model.getImportSection().getImportDeclarations()) {
+ OXImportDeclaration decl = (OXImportDeclaration) lImport;
+ if (decl.isFqnImport()) {
+ if (decl.getImportedFullyQualifiedName().equals(typeFqn.toString())) {
+ return true;
+ }
}
}
return false;
@@ -1774,8 +1742,7 @@
* @return the service name
*/
private String getServiceName(LDto lType) {
- return org.eclipse.osbp.dsl.semantic.service.util.NamingConventionsUtil
- .toServiceName(lType);
+ return org.eclipse.osbp.dsl.semantic.service.util.NamingConventionsUtil.toServiceName(lType);
}
/**
@@ -1787,8 +1754,7 @@
*/
private XtextResourceSet getProjectResourceSet(URI uri) {
IProject dtoProject = null;
- Iterable<Pair<IStorage, IProject>> pairs = uriStorageMapper
- .getStorages(uri);
+ Iterable<Pair<IStorage, IProject>> pairs = uriStorageMapper.getStorages(uri);
if (pairs.iterator().hasNext()) {
dtoProject = pairs.iterator().next().getSecond();
}
@@ -1798,8 +1764,7 @@
return null;
}
- XtextResourceSet resourceSet = (XtextResourceSet) rsProvider
- .get(dtoProject);
+ XtextResourceSet resourceSet = (XtextResourceSet) rsProvider.get(dtoProject);
return resourceSet;
}
@@ -1811,14 +1776,12 @@
* the uris
* @return the project resource set map
*/
- private Map<URI, XtextResourceSet> getProjectResourceSetMap(
- Set<URI> uris) {
+ private Map<URI, XtextResourceSet> getProjectResourceSetMap(Set<URI> uris) {
IProject project = null;
Map<IProject, XtextResourceSet> byProject = new HashMap<>();
Map<URI, XtextResourceSet> result = new HashMap<>();
for (URI uri : uris) {
- Iterable<Pair<IStorage, IProject>> pairs = uriStorageMapper
- .getStorages(uri);
+ Iterable<Pair<IStorage, IProject>> pairs = uriStorageMapper.getStorages(uri);
if (pairs.iterator().hasNext()) {
project = pairs.iterator().next().getSecond();
}
@@ -1832,8 +1795,7 @@
// same projects use shared resource set
result.put(uri, byProject.get(project));
} else {
- XtextResourceSet resourceSet = (XtextResourceSet) rsProvider
- .get(project);
+ XtextResourceSet resourceSet = (XtextResourceSet) rsProvider.get(project);
byProject.put(project, resourceSet);
result.put(uri, resourceSet);
}
@@ -1871,15 +1833,12 @@
private Set<URI> findDtoJvmTypeURIs(LDtoModel lDtoModel) {
Set<URI> dtoURIs = new HashSet<URI>();
- IXtextUtilService service = CoreUiActivator.getDefault()
- .getUtilService();
+ IXtextUtilService service = CoreUiActivator.getDefault().getUtilService();
for (LTypedPackage lPkg : lDtoModel.getPackages()) {
for (LType lType : lPkg.getTypes()) {
if (lType instanceof LDto) {
- for (IEObjectDescription desc : service
- .getEObjectDescriptions(
- TypesPackage.Literals.JVM_TYPE,
- toFqn(lType))) {
+ for (IEObjectDescription desc : service.getEObjectDescriptions(TypesPackage.Literals.JVM_TYPE,
+ toFqn(lType))) {
dtoURIs.add(desc.getEObjectURI());
}
}
@@ -1950,18 +1909,17 @@
* the resource set
* @return the list
*/
- private List<IReferenceDescription> findTargetServiceReferences(
- Set<URI> dtoURIs, ResourceSet resourceSet) {
+ private List<IReferenceDescription> findTargetServiceReferences(Set<URI> dtoURIs, ResourceSet resourceSet) {
final List<IReferenceDescription> targetServiceReferences = new ArrayList<IReferenceDescription>();
- referenceFinder.findAllReferences(dtoURIs, new LocalResourceAccess(
- resourceSet), new IAcceptor<IReferenceDescription>() {
- @Override
- public void accept(IReferenceDescription t) {
- if (t.getEReference() == OSBPServicePackage.Literals.LDTO_SERVICE__DTO) {
- targetServiceReferences.add(t);
- }
- }
- }, null);
+ referenceFinder.findAllReferences(dtoURIs, new LocalResourceAccess(resourceSet),
+ new IAcceptor<IReferenceDescription>() {
+ @Override
+ public void accept(IReferenceDescription t) {
+ if (t.getEReference() == OSBPServicePackage.Literals.LDTO_SERVICE__DTO) {
+ targetServiceReferences.add(t);
+ }
+ }
+ }, null);
return targetServiceReferences;
}
@@ -1976,8 +1934,7 @@
*/
@SuppressWarnings("unchecked")
private <A extends EObject> A loadSemanticModel(URI modelURI) {
- XtextResourceSet rs = (XtextResourceSet) rsProvider
- .get(getProject());
+ XtextResourceSet rs = (XtextResourceSet) rsProvider.get(getProject());
Resource resource = rs.getResource(modelURI, true);
try {
resource.load(null);
@@ -1987,8 +1944,7 @@
}
A semanticModel = null;
if (resource instanceof ISemanticLoadingResource) {
- semanticModel = (A) ((ISemanticLoadingResource) resource)
- .getSemanticElement();
+ semanticModel = (A) ((ISemanticLoadingResource) resource).getSemanticElement();
} else {
semanticModel = (A) resource.getContents().get(0);
}
@@ -2065,8 +2021,7 @@
/**
* The Class LocalResourceAccess.
*/
- public static class LocalResourceAccess implements
- IReferenceFinder.ILocalResourceAccess {
+ public static class LocalResourceAccess implements IReferenceFinder.ILocalResourceAccess {
/** The resource set. */
private ResourceSet resourceSet;
diff --git a/org.eclipse.osbp.ide.core/.classpath b/org.eclipse.osbp.ide.core/.classpath
new file mode 100644
index 0000000..b9a5b1e
--- /dev/null
+++ b/org.eclipse.osbp.ide.core/.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.7"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="output" path="target/classes"/>
+</classpath>
diff --git a/org.eclipse.osbp.ide.core/.gitignore b/org.eclipse.osbp.ide.core/.gitignore
new file mode 100644
index 0000000..7c9106d
--- /dev/null
+++ b/org.eclipse.osbp.ide.core/.gitignore
@@ -0,0 +1,3 @@
+/target/
+/bin/
+.DS_Store
diff --git a/org.eclipse.osbp.ide.core/.settings/org.eclipse.core.resources.prefs b/org.eclipse.osbp.ide.core/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..99f26c0
--- /dev/null
+++ b/org.eclipse.osbp.ide.core/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
diff --git a/org.eclipse.osbp.ide.core/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.osbp.ide.core/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..f42de36
--- /dev/null
+++ b/org.eclipse.osbp.ide.core/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,7 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
+org.eclipse.jdt.core.compiler.compliance=1.7
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.7
diff --git a/org.eclipse.osbp.ide.core/.settings/org.eclipse.m2e.core.prefs b/org.eclipse.osbp.ide.core/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/org.eclipse.osbp.ide.core/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/org.eclipse.osbp.ide.core/.settings/org.eclipse.pde.core.prefs b/org.eclipse.osbp.ide.core/.settings/org.eclipse.pde.core.prefs
new file mode 100644
index 0000000..f29e940
--- /dev/null
+++ b/org.eclipse.osbp.ide.core/.settings/org.eclipse.pde.core.prefs
@@ -0,0 +1,3 @@
+eclipse.preferences.version=1
+pluginProject.extensions=false
+resolve.requirebundle=false
diff --git a/org.eclipse.osbp.ide.core/.settings/org.eclipse.xtend.core.Xtend.prefs b/org.eclipse.osbp.ide.core/.settings/org.eclipse.xtend.core.Xtend.prefs
new file mode 100644
index 0000000..f6a7c78
--- /dev/null
+++ b/org.eclipse.osbp.ide.core/.settings/org.eclipse.xtend.core.Xtend.prefs
@@ -0,0 +1,10 @@
+//outlet.DEFAULT_OUTPUT.sourceFolder.src/test/java.directory=src/test/generated-sources/xtend
+BuilderConfiguration.is_project_specific=true
+eclipse.preferences.version=1
+is_project_specific=true
+outlet.DEFAULT_OUTPUT.hideLocalSyntheticVariables=true
+outlet.DEFAULT_OUTPUT.installDslAsPrimarySource=false
+outlet.DEFAULT_OUTPUT.sourceFolder.src-gen.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.sourceFolder.src.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.sourceFolder.xtend-gen.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.userOutputPerSourceFolder=true
diff --git a/org.eclipse.osbp.ide.core/src/license/THIRD-PARTY.properties b/org.eclipse.osbp.ide.core/src/license/THIRD-PARTY.properties
new file mode 100644
index 0000000..0f7af5d
--- /dev/null
+++ b/org.eclipse.osbp.ide.core/src/license/THIRD-PARTY.properties
@@ -0,0 +1,42 @@
+# Generated by org.codehaus.mojo.license.AddThirdPartyMojo
+#-------------------------------------------------------------------------------
+# Already used licenses in project :
+# - Apache License
+# - Apache License 2.0
+# - Apache License Version 2.0
+# - Apache License, Version 2.0
+# - Apache Software License - Version 2.0
+# - BSD License
+# - COMMON DEVELOPMENT AND DISTRIBUTION LICENSE
+# (CDDL)
+# Version
+# 1.0
+# - Commercial Vaadin Add-On License version 3.0
+# - Common Development and Distribution license - v1.0.1
+# - Eclipse Public License - Version 1.0
+# - Eclipse Public License v1.0
+# - GNU LGPL 3
+# - GNU Lesser General Public License
+# - ICU License
+# - Indiana University Extreme! Lab Software
+# License,
+# vesion 1.1.1
+# - Lesser General Public License (LGPL)
+# - Lesser General Public License (LPGL)
+# - Lesser General Public License (LPGL) v 2.1
+# - MIT License
+# - The Apache Software License, Version 2.0
+# - The MIT License
+# - The SAX License
+# - The W3C License
+# - The W3C Software License
+# - W3C Software Copyright Notice and License
+#-------------------------------------------------------------------------------
+# Please fill the missing licenses for dependencies :
+#
+#
+#Thu Aug 28 14:08:37 CEST 2014
+ant--ant-launcher--1.6.5=Apache License Version 2.0
+commons-collections--commons-collections--3.1=Apache License Version 2.0
+javax.servlet--servlet-api--2.5=Common Development and Distribution license - v1.0.1
+org.jdesktop--swing-worker--1.1=Lesser General Public License (LGPL)
diff --git a/org.eclipse.osbp.ide.feature.headless/.gitignore b/org.eclipse.osbp.ide.feature.headless/.gitignore
new file mode 100644
index 0000000..b83d222
--- /dev/null
+++ b/org.eclipse.osbp.ide.feature.headless/.gitignore
@@ -0,0 +1 @@
+/target/
diff --git a/org.eclipse.osbp.ide.feature.headless/.settings/org.eclipse.core.resources.prefs b/org.eclipse.osbp.ide.feature.headless/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..99f26c0
--- /dev/null
+++ b/org.eclipse.osbp.ide.feature.headless/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
diff --git a/org.eclipse.osbp.ide.feature.headless/.settings/org.eclipse.m2e.core.prefs b/org.eclipse.osbp.ide.feature.headless/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/org.eclipse.osbp.ide.feature.headless/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/org.eclipse.osbp.ide.feature.headless/.settings/org.eclipse.xtend.core.Xtend.prefs b/org.eclipse.osbp.ide.feature.headless/.settings/org.eclipse.xtend.core.Xtend.prefs
new file mode 100644
index 0000000..f6a7c78
--- /dev/null
+++ b/org.eclipse.osbp.ide.feature.headless/.settings/org.eclipse.xtend.core.Xtend.prefs
@@ -0,0 +1,10 @@
+//outlet.DEFAULT_OUTPUT.sourceFolder.src/test/java.directory=src/test/generated-sources/xtend
+BuilderConfiguration.is_project_specific=true
+eclipse.preferences.version=1
+is_project_specific=true
+outlet.DEFAULT_OUTPUT.hideLocalSyntheticVariables=true
+outlet.DEFAULT_OUTPUT.installDslAsPrimarySource=false
+outlet.DEFAULT_OUTPUT.sourceFolder.src-gen.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.sourceFolder.src.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.sourceFolder.xtend-gen.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.userOutputPerSourceFolder=true
diff --git a/org.eclipse.osbp.ide.feature.headless/feature.xml b/org.eclipse.osbp.ide.feature.headless/feature.xml
index 3972901..457a6cc 100644
--- a/org.eclipse.osbp.ide.feature.headless/feature.xml
+++ b/org.eclipse.osbp.ide.feature.headless/feature.xml
@@ -14,7 +14,8 @@
id="org.eclipse.osbp.ide.feature.headless"
label="%featureName"
version="0.9.0.qualifier"
- provider-name="%providerName">
+ provider-name="%providerName"
+ plugin="org.eclipse.osbp.ide.core">
<description>
%description
diff --git a/org.eclipse.osbp.ide.feature.tools/.gitignore b/org.eclipse.osbp.ide.feature.tools/.gitignore
new file mode 100644
index 0000000..b83d222
--- /dev/null
+++ b/org.eclipse.osbp.ide.feature.tools/.gitignore
@@ -0,0 +1 @@
+/target/
diff --git a/org.eclipse.osbp.ide.feature.tools/.settings/org.eclipse.core.resources.prefs b/org.eclipse.osbp.ide.feature.tools/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..99f26c0
--- /dev/null
+++ b/org.eclipse.osbp.ide.feature.tools/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
diff --git a/org.eclipse.osbp.ide.feature.tools/.settings/org.eclipse.m2e.core.prefs b/org.eclipse.osbp.ide.feature.tools/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/org.eclipse.osbp.ide.feature.tools/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/org.eclipse.osbp.ide.feature.tools/.settings/org.eclipse.xtend.core.Xtend.prefs b/org.eclipse.osbp.ide.feature.tools/.settings/org.eclipse.xtend.core.Xtend.prefs
new file mode 100644
index 0000000..f6a7c78
--- /dev/null
+++ b/org.eclipse.osbp.ide.feature.tools/.settings/org.eclipse.xtend.core.Xtend.prefs
@@ -0,0 +1,10 @@
+//outlet.DEFAULT_OUTPUT.sourceFolder.src/test/java.directory=src/test/generated-sources/xtend
+BuilderConfiguration.is_project_specific=true
+eclipse.preferences.version=1
+is_project_specific=true
+outlet.DEFAULT_OUTPUT.hideLocalSyntheticVariables=true
+outlet.DEFAULT_OUTPUT.installDslAsPrimarySource=false
+outlet.DEFAULT_OUTPUT.sourceFolder.src-gen.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.sourceFolder.src.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.sourceFolder.xtend-gen.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.userOutputPerSourceFolder=true
diff --git a/org.eclipse.osbp.ide.feature.tools/feature.xml b/org.eclipse.osbp.ide.feature.tools/feature.xml
index 8bc43a3..5d5355f 100644
--- a/org.eclipse.osbp.ide.feature.tools/feature.xml
+++ b/org.eclipse.osbp.ide.feature.tools/feature.xml
@@ -14,7 +14,8 @@
id="org.eclipse.osbp.ide.feature.tools"
label="%featureName"
version="0.9.0.qualifier"
- provider-name="%providerName">
+ provider-name="%providerName"
+ plugin="org.eclipse.osbp.ide.tools.developer">
<description>
%description
diff --git a/org.eclipse.osbp.ide.feature.ui/.gitignore b/org.eclipse.osbp.ide.feature.ui/.gitignore
new file mode 100644
index 0000000..b83d222
--- /dev/null
+++ b/org.eclipse.osbp.ide.feature.ui/.gitignore
@@ -0,0 +1 @@
+/target/
diff --git a/org.eclipse.osbp.ide.feature.ui/.settings/org.eclipse.core.resources.prefs b/org.eclipse.osbp.ide.feature.ui/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..99f26c0
--- /dev/null
+++ b/org.eclipse.osbp.ide.feature.ui/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
diff --git a/org.eclipse.osbp.ide.feature.ui/.settings/org.eclipse.m2e.core.prefs b/org.eclipse.osbp.ide.feature.ui/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/org.eclipse.osbp.ide.feature.ui/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/org.eclipse.osbp.ide.feature.ui/.settings/org.eclipse.xtend.core.Xtend.prefs b/org.eclipse.osbp.ide.feature.ui/.settings/org.eclipse.xtend.core.Xtend.prefs
new file mode 100644
index 0000000..f6a7c78
--- /dev/null
+++ b/org.eclipse.osbp.ide.feature.ui/.settings/org.eclipse.xtend.core.Xtend.prefs
@@ -0,0 +1,10 @@
+//outlet.DEFAULT_OUTPUT.sourceFolder.src/test/java.directory=src/test/generated-sources/xtend
+BuilderConfiguration.is_project_specific=true
+eclipse.preferences.version=1
+is_project_specific=true
+outlet.DEFAULT_OUTPUT.hideLocalSyntheticVariables=true
+outlet.DEFAULT_OUTPUT.installDslAsPrimarySource=false
+outlet.DEFAULT_OUTPUT.sourceFolder.src-gen.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.sourceFolder.src.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.sourceFolder.xtend-gen.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.userOutputPerSourceFolder=true
diff --git a/org.eclipse.osbp.ide.feature.ui/feature.xml b/org.eclipse.osbp.ide.feature.ui/feature.xml
index b743200..ab41e71 100644
--- a/org.eclipse.osbp.ide.feature.ui/feature.xml
+++ b/org.eclipse.osbp.ide.feature.ui/feature.xml
@@ -14,7 +14,8 @@
id="org.eclipse.osbp.ide.feature.ui"
label="%featureName"
version="0.9.0.qualifier"
- provider-name="%providerName">
+ provider-name="%providerName"
+ plugin="org.eclipse.osbp.ide.core.ui">
<description>
%description
@@ -46,4 +47,4 @@
version="0.0.0"
unpack="false"/>
-</feature>
+</feature>
\ No newline at end of file
diff --git a/org.eclipse.osbp.ide.tools.developer/.classpath b/org.eclipse.osbp.ide.tools.developer/.classpath
new file mode 100644
index 0000000..b9a5b1e
--- /dev/null
+++ b/org.eclipse.osbp.ide.tools.developer/.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.7"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="output" path="target/classes"/>
+</classpath>
diff --git a/org.eclipse.osbp.ide.tools.developer/.gitignore b/org.eclipse.osbp.ide.tools.developer/.gitignore
new file mode 100644
index 0000000..b83d222
--- /dev/null
+++ b/org.eclipse.osbp.ide.tools.developer/.gitignore
@@ -0,0 +1 @@
+/target/
diff --git a/org.eclipse.osbp.ide.tools.developer/.settings/org.eclipse.core.resources.prefs b/org.eclipse.osbp.ide.tools.developer/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..99f26c0
--- /dev/null
+++ b/org.eclipse.osbp.ide.tools.developer/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
diff --git a/org.eclipse.osbp.ide.tools.developer/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.osbp.ide.tools.developer/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..f42de36
--- /dev/null
+++ b/org.eclipse.osbp.ide.tools.developer/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,7 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
+org.eclipse.jdt.core.compiler.compliance=1.7
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.7
diff --git a/org.eclipse.osbp.ide.tools.developer/.settings/org.eclipse.m2e.core.prefs b/org.eclipse.osbp.ide.tools.developer/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/org.eclipse.osbp.ide.tools.developer/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/org.eclipse.osbp.ide.tools.developer/.settings/org.eclipse.xtend.core.Xtend.prefs b/org.eclipse.osbp.ide.tools.developer/.settings/org.eclipse.xtend.core.Xtend.prefs
new file mode 100644
index 0000000..f6a7c78
--- /dev/null
+++ b/org.eclipse.osbp.ide.tools.developer/.settings/org.eclipse.xtend.core.Xtend.prefs
@@ -0,0 +1,10 @@
+//outlet.DEFAULT_OUTPUT.sourceFolder.src/test/java.directory=src/test/generated-sources/xtend
+BuilderConfiguration.is_project_specific=true
+eclipse.preferences.version=1
+is_project_specific=true
+outlet.DEFAULT_OUTPUT.hideLocalSyntheticVariables=true
+outlet.DEFAULT_OUTPUT.installDslAsPrimarySource=false
+outlet.DEFAULT_OUTPUT.sourceFolder.src-gen.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.sourceFolder.src.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.sourceFolder.xtend-gen.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.userOutputPerSourceFolder=true
diff --git a/org.eclipse.osbp.ide.tools.developer/src/license/THIRD-PARTY.properties b/org.eclipse.osbp.ide.tools.developer/src/license/THIRD-PARTY.properties
new file mode 100644
index 0000000..84841b5
--- /dev/null
+++ b/org.eclipse.osbp.ide.tools.developer/src/license/THIRD-PARTY.properties
@@ -0,0 +1,41 @@
+# Generated by org.codehaus.mojo.license.AddThirdPartyMojo
+#-------------------------------------------------------------------------------
+# Already used licenses in project :
+# - Apache License
+# - Apache License 2.0
+# - Apache License Version 2.0
+# - Apache License, Version 2.0
+# - Apache Software License - Version 2.0
+# - BSD License
+# - COMMON DEVELOPMENT AND DISTRIBUTION LICENSE
+# (CDDL)
+# Version
+# 1.0
+# - Commercial Vaadin Add-On License version 3.0
+# - Eclipse Public License - Version 1.0
+# - Eclipse Public License v1.0
+# - GNU LGPL 3
+# - GNU Lesser General Public License
+# - ICU License
+# - Indiana University Extreme! Lab Software
+# License,
+# vesion 1.1.1
+# - JSON License
+# - Lesser General Public License (LPGL)
+# - Lesser General Public License (LPGL) v 2.1
+# - MIT License
+# - The Apache Software License, Version 2.0
+# - The MIT License
+# - The SAX License
+# - The W3C License
+# - The W3C Software License
+# - W3C Software Copyright Notice and License
+#-------------------------------------------------------------------------------
+# Please fill the missing licenses for dependencies :
+#
+#
+#Wed Feb 25 15:17:21 CET 2015
+ant--ant-launcher--1.6.5=
+commons-collections--commons-collections--3.1=
+javax.servlet--servlet-api--2.5=
+org.jdesktop--swing-worker--1.1=
diff --git a/org.eclipse.osbp.ide.tools.p2.mirror.product/.classpath b/org.eclipse.osbp.ide.tools.p2.mirror.product/.classpath
new file mode 100644
index 0000000..b9a5b1e
--- /dev/null
+++ b/org.eclipse.osbp.ide.tools.p2.mirror.product/.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.7"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="output" path="target/classes"/>
+</classpath>
diff --git a/org.eclipse.osbp.ide.tools.p2.mirror.product/.gitignore b/org.eclipse.osbp.ide.tools.p2.mirror.product/.gitignore
new file mode 100644
index 0000000..b83d222
--- /dev/null
+++ b/org.eclipse.osbp.ide.tools.p2.mirror.product/.gitignore
@@ -0,0 +1 @@
+/target/
diff --git a/org.eclipse.osbp.ide.tools.p2.mirror.product/.settings/org.eclipse.core.resources.prefs b/org.eclipse.osbp.ide.tools.p2.mirror.product/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..99f26c0
--- /dev/null
+++ b/org.eclipse.osbp.ide.tools.p2.mirror.product/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
diff --git a/org.eclipse.osbp.ide.tools.p2.mirror.product/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.osbp.ide.tools.p2.mirror.product/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..f42de36
--- /dev/null
+++ b/org.eclipse.osbp.ide.tools.p2.mirror.product/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,7 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
+org.eclipse.jdt.core.compiler.compliance=1.7
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.7
diff --git a/org.eclipse.osbp.ide.tools.p2.mirror.product/.settings/org.eclipse.m2e.core.prefs b/org.eclipse.osbp.ide.tools.p2.mirror.product/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/org.eclipse.osbp.ide.tools.p2.mirror.product/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/org.eclipse.osbp.ide.tools.p2.mirror.product/.settings/org.eclipse.xtend.core.Xtend.prefs b/org.eclipse.osbp.ide.tools.p2.mirror.product/.settings/org.eclipse.xtend.core.Xtend.prefs
new file mode 100644
index 0000000..f6a7c78
--- /dev/null
+++ b/org.eclipse.osbp.ide.tools.p2.mirror.product/.settings/org.eclipse.xtend.core.Xtend.prefs
@@ -0,0 +1,10 @@
+//outlet.DEFAULT_OUTPUT.sourceFolder.src/test/java.directory=src/test/generated-sources/xtend
+BuilderConfiguration.is_project_specific=true
+eclipse.preferences.version=1
+is_project_specific=true
+outlet.DEFAULT_OUTPUT.hideLocalSyntheticVariables=true
+outlet.DEFAULT_OUTPUT.installDslAsPrimarySource=false
+outlet.DEFAULT_OUTPUT.sourceFolder.src-gen.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.sourceFolder.src.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.sourceFolder.xtend-gen.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.userOutputPerSourceFolder=true
diff --git a/org.eclipse.osbp.ide.tools.p2.mirror/.classpath b/org.eclipse.osbp.ide.tools.p2.mirror/.classpath
new file mode 100644
index 0000000..b9a5b1e
--- /dev/null
+++ b/org.eclipse.osbp.ide.tools.p2.mirror/.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.7"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="output" path="target/classes"/>
+</classpath>
diff --git a/org.eclipse.osbp.ide.tools.p2.mirror/.gitignore b/org.eclipse.osbp.ide.tools.p2.mirror/.gitignore
new file mode 100644
index 0000000..b83d222
--- /dev/null
+++ b/org.eclipse.osbp.ide.tools.p2.mirror/.gitignore
@@ -0,0 +1 @@
+/target/
diff --git a/org.eclipse.osbp.ide.tools.p2.mirror/.settings/org.eclipse.core.resources.prefs b/org.eclipse.osbp.ide.tools.p2.mirror/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..99f26c0
--- /dev/null
+++ b/org.eclipse.osbp.ide.tools.p2.mirror/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
diff --git a/org.eclipse.osbp.ide.tools.p2.mirror/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.osbp.ide.tools.p2.mirror/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..f42de36
--- /dev/null
+++ b/org.eclipse.osbp.ide.tools.p2.mirror/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,7 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
+org.eclipse.jdt.core.compiler.compliance=1.7
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.7
diff --git a/org.eclipse.osbp.ide.tools.p2.mirror/.settings/org.eclipse.m2e.core.prefs b/org.eclipse.osbp.ide.tools.p2.mirror/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/org.eclipse.osbp.ide.tools.p2.mirror/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/org.eclipse.osbp.ide.tools.p2.mirror/.settings/org.eclipse.xtend.core.Xtend.prefs b/org.eclipse.osbp.ide.tools.p2.mirror/.settings/org.eclipse.xtend.core.Xtend.prefs
new file mode 100644
index 0000000..f6a7c78
--- /dev/null
+++ b/org.eclipse.osbp.ide.tools.p2.mirror/.settings/org.eclipse.xtend.core.Xtend.prefs
@@ -0,0 +1,10 @@
+//outlet.DEFAULT_OUTPUT.sourceFolder.src/test/java.directory=src/test/generated-sources/xtend
+BuilderConfiguration.is_project_specific=true
+eclipse.preferences.version=1
+is_project_specific=true
+outlet.DEFAULT_OUTPUT.hideLocalSyntheticVariables=true
+outlet.DEFAULT_OUTPUT.installDslAsPrimarySource=false
+outlet.DEFAULT_OUTPUT.sourceFolder.src-gen.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.sourceFolder.src.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.sourceFolder.xtend-gen.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.userOutputPerSourceFolder=true
diff --git a/pom.xml b/pom.xml
index e2e3c5d..02fae28 100644
--- a/pom.xml
+++ b/pom.xml
@@ -40,7 +40,6 @@
<properties>
<osbp.gitrepo.name>${project.groupId}</osbp.gitrepo.name>
- <xtext.version>2.7.3</xtext.version>
</properties>
<modules>