parallel ip - initial checkin

Signed-off-by: Ralf Mollik <ramollik@compex-commerce.com>
diff --git a/.project b/.project
new file mode 100644
index 0000000..e6dd65b
--- /dev/null
+++ b/.project
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.osbp.ecview.extension</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.ds.core.builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.sonarlint.eclipse.core.sonarlintBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
+	</natures>
+</projectDescription>
diff --git a/about.html b/about.html
new file mode 100644
index 0000000..64c0598
--- /dev/null
+++ b/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 1, 2016</p>	
+<h3>License</h3>
+
+<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 (&quot;EPL&quot;).  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, &quot;Program&quot; 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 (&quot;Redistributor&quot;) 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>
\ No newline at end of file
diff --git a/jenkins.build.config.xml b/jenkins.build.config.xml
new file mode 100644
index 0000000..256900f
--- /dev/null
+++ b/jenkins.build.config.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--#======================================================================= -->
+<!--# Copyright (c) 2016 - Loetz GmbH&Co.KG                                    -->
+<!--# All rights reserved. This program and the accompanying materials 		 -->
+<!--# are made available under the terms of the Eclipse Public License v1.0  -->
+<!--# which accompanies this distribution, and is available at               -->
+<!--# http://www.eclipse.org/legal/epl-v10.html                              -->
+<!--#                                                                        -->
+<!--# Contributors:                                                          -->
+<!--# Christophe Loetz (Loetz GmbH&Co.KG) - initial API and implementation                           -->
+<!--#======================================================================= -->
+<!--# Module specific parameters for the Jenkins Job 						 -->
+<!--#======================================================================= -->
+
+<jenkins>
+	<!-- DO NOT EDIT BELOW THIS LINE -->
+        <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.ecview.extension.api</jenkins.build.dependency>
+                <jenkins.build.dependency>org.eclipse.osbp.preferences</jenkins.build.dependency>
+                <jenkins.build.dependency>org.eclipse.osbp.runtime</jenkins.build.dependency>
+                <jenkins.build.dependency>org.eclipse.osbp.runtime.web</jenkins.build.dependency>
+                <jenkins.build.dependency>org.eclipse.osbp.ui.api</jenkins.build.dependency>
+                <jenkins.build.dependency>org.eclipse.osbp.utils</jenkins.build.dependency>
+                <jenkins.build.dependency>org.eclipse.osbp.utils.blob</jenkins.build.dependency>
+                <jenkins.build.dependency>org.eclipse.osbp.utils.functionnormalizer</jenkins.build.dependency>
+                <jenkins.build.dependency>org.eclipse.osbp.utils.ui</jenkins.build.dependency>
+                <jenkins.build.dependency>org.eclipse.osbp.vaaclipse</jenkins.build.dependency>
+                <jenkins.build.dependency>org.eclipse.osbp.xtext.functionlibrary</jenkins.build.dependency>
+                <jenkins.build.dependency>org.eclipse.osbp.xtext.functionlibrary.common</jenkins.build.dependency>
+                <jenkins.build.dependency>org.eclipse.osbp.xtext.i18n</jenkins.build.dependency>
+        </jenkins.build.dependencies>
+</jenkins>
diff --git a/notice.html b/notice.html
new file mode 100644
index 0000000..c3d34c3
--- /dev/null
+++ b/notice.html
@@ -0,0 +1,107 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<!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>Eclipse Foundation Software User Agreement</title>
+</head>
+
+<body lang="EN-US">
+<h2>Eclipse Foundation Software User Agreement</h2>
+<p>April 9, 2014</p>
+
+<h3>Usage Of Content</h3>
+
+<p>THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS
+   (COLLECTIVELY &quot;CONTENT&quot;).  USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND
+   CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU AGREE THAT YOUR USE
+   OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR
+   NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND
+   CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.</p>
+
+<h3>Applicable Licenses</h3>
+
+<p>Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0
+   (&quot;EPL&quot;).  A copy of the EPL is provided with this Content and is also 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, &quot;Program&quot; will mean the Content.</p>
+
+<p>Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse Foundation source code
+   repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available as downloadable archives (&quot;Downloads&quot;).</p>
+
+<ul>
+       <li>Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content.  Typical modules may include plug-ins (&quot;Plug-ins&quot;), plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).</li>
+       <li>Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java&trade; ARchive) in a directory named &quot;plugins&quot;.</li>
+       <li>A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of the Plug-ins
+      and/or Fragments associated with that Feature.</li>
+       <li>Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.</li>
+</ul>
+
+<p>The terms and conditions governing Plug-ins and Fragments should be contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and conditions governing Features and
+Included Features should be contained in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;).  Abouts and Feature Licenses may be located in any directory of a Download or Module
+including, but not limited to the following locations:</p>
+
+<ul>
+       <li>The top-level (root) directory</li>
+       <li>Plug-in and Fragment directories</li>
+       <li>Inside Plug-ins and Fragments packaged as JARs</li>
+       <li>Sub-directories of the directory named &quot;src&quot; of certain Plug-ins</li>
+       <li>Feature directories</li>
+</ul>
+
+<p>Note: if a Feature made available by the Eclipse Foundation is installed using the Provisioning Technology (as defined below), you must agree to a license (&quot;Feature Update License&quot;) during the
+installation process.  If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or
+inform you where you can locate them.  Feature Update Licenses may be found in the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.
+Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in
+that directory.</p>
+
+<p>THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.  SOME OF THESE
+OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):</p>
+
+<ul>
+       <li>Eclipse Distribution License Version 1.0 (available at <a href="http://www.eclipse.org/licenses/edl-v10.html">http://www.eclipse.org/licenses/edl-v1.0.html</a>)</li>
+       <li>Common Public License Version 1.0 (available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>)</li>
+       <li>Apache Software License 1.1 (available at <a href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</a>)</li>
+       <li>Apache Software License 2.0 (available at <a href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</a>)</li>
+       <li>Mozilla Public License Version 1.1 (available at <a href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a>)</li>
+</ul>
+
+<p>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT.  If no About, Feature License, or Feature Update License is provided, please
+contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.</p>
+
+
+<h3>Use of Provisioning Technology</h3>
+
+<p>The Eclipse Foundation makes available provisioning software, examples of which include, but are not limited to, p2 and the Eclipse
+   Update Manager (&quot;Provisioning Technology&quot;) for the purpose of allowing users to install software, documentation, information and/or
+   other materials (collectively &quot;Installable Software&quot;). This capability is provided with the intent of allowing such users to
+   install, extend and update Eclipse-based products. Information about packaging Installable Software is available at <a
+       href="http://eclipse.org/equinox/p2/repository_packaging.html">http://eclipse.org/equinox/p2/repository_packaging.html</a>
+   (&quot;Specification&quot;).</p>
+
+<p>You may use Provisioning Technology to allow other parties to install Installable Software. You shall be responsible for enabling the
+   applicable license agreements relating to the Installable Software to be presented to, and accepted by, the users of the Provisioning Technology
+   in accordance with the Specification. By using Provisioning Technology in such a manner and making it available in accordance with the
+   Specification, you further acknowledge your agreement to, and the acquisition of all necessary rights to permit the following:</p>
+
+<ol>
+       <li>A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute the Provisioning Technology
+       on a machine (&quot;Target Machine&quot;) with the intent of installing, extending or updating the functionality of an Eclipse-based
+       product.</li>
+       <li>During the Provisioning Process, the Provisioning Technology may cause third party Installable Software or a portion thereof to be
+       accessed and copied to the Target Machine.</li>
+       <li>Pursuant to the Specification, you will provide to the user the terms and conditions that govern the use of the Installable
+       Software (&quot;Installable Software Agreement&quot;) and such Installable Software Agreement shall be accessed from the Target
+       Machine in accordance with the Specification. Such Installable Software Agreement must inform the user of the terms and conditions that govern
+       the Installable Software and must solicit acceptance by the end user in the manner prescribed in such Installable Software Agreement. Upon such
+       indication of agreement by the user, the provisioning Technology will complete installation of the Installable Software.</li>
+</ol>
+
+<h3>Cryptography</h3>
+
+<p>Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to
+   another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import,
+   possession, or use, and re-export of encryption software, to see if this is permitted.</p>
+
+<p><small>Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.</small></p>
+</body>
+</html>
diff --git a/org.eclipse.osbp.ecview.extension.editparts.emf/.project b/org.eclipse.osbp.ecview.extension.editparts.emf/.project
new file mode 100644
index 0000000..90c60fc
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.editparts.emf/.project
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.osbp.ecview.extension.editparts.emf</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.xtext.ui.shared.xtextBuilder</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.ds.core.builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.babel.editor.rbeBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.sonarlint.eclipse.core.sonarlintBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.xtext.ui.shared.xtextNature</nature>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
+		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+		<nature>org.eclipse.babel.editor.rbeNature</nature>
+	</natures>
+</projectDescription>
diff --git a/org.eclipse.osbp.ecview.extension.editparts.emf/LICENSE.txt b/org.eclipse.osbp.ecview.extension.editparts.emf/LICENSE.txt
new file mode 100644
index 0000000..ff42ad4
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.editparts.emf/LICENSE.txt
@@ -0,0 +1,161 @@
+Eclipse Public License -v 1.0
+
+THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION
+OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.
+
+1. DEFINITIONS
+
+"Contribution" means:
+
+a) in the case of the initial Contributor, the initial code and documentation distributed under this Agreement, and
+
+b) in the case of each subsequent Contributor:
+
+i) changes to the Program, and
+
+ii) additions to the Program;
+
+where such changes and/or additions to the Program originate from and are distributed by that particular Contributor.
+A Contribution 'originates' from a Contributor if it was added to the Program by such Contributor itself or anyone
+acting on such Contributor's behalf. Contributions do not include additions to the Program which: (i) are separate
+modules of software distributed in conjunction with the Program under their own license agreement, and (ii) are not
+derivative works of the Program.
+
+"Contributor" means any person or entity that distributes the Program.
+
+"Licensed Patents " mean patent claims licensable by a Contributor which are necessarily infringed by the use or sale of
+its Contribution alone or when combined with the Program.
+
+"Program" means the Contributions distributed in accordance with this Agreement.
+
+"Recipient" means anyone who receives the Program under this Agreement, including all Contributors.
+
+2. GRANT OF RIGHTS
+
+a) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide,
+royalty-free copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, distribute
+and sublicense the Contribution of such Contributor, if any, and such derivative works, in source code and object code
+form.
+
+b) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide,
+royalty-free patent license under Licensed Patents to make, use, sell, offer to sell, import and otherwise transfer the
+Contribution of such Contributor, if any, in source code and object code form. This patent license shall apply to the
+combination of the Contribution and the Program if, at the time the Contribution is added by the Contributor, such
+addition of the Contribution causes such combination to be covered by the Licensed Patents. The patent license shall not
+apply to any other combinations which include the Contribution. No hardware per se is licensed hereunder.
+
+c) Recipient understands that although each Contributor grants the licenses to its Contributions set forth herein, no
+assurances are provided by any Contributor that the Program does not infringe the patent or other intellectual property
+rights of any other entity. Each Contributor disclaims any liability to Recipient for claims brought by any other entity
+based on infringement of intellectual property rights or otherwise. As a condition to exercising the rights and
+licenses granted hereunder, each Recipient hereby assumes sole responsibility to secure any other intellectual property
+rights needed, if any. For example, if a third party patent license is required to allow Recipient to distribute the
+Program, it is Recipient's responsibility to acquire that license before distributing the Program.
+
+d) Each Contributor represents that to its knowledge it has sufficient copyright rights in its Contribution, if any, to
+grant the copyright license set forth in this Agreement.
+
+3. REQUIREMENTS
+
+A Contributor may choose to distribute the Program in object code form under its own license agreement, provided that:
+
+a) it complies with the terms and conditions of this Agreement; and
+
+b) its license agreement:
+
+i) effectively disclaims on behalf of all Contributors all warranties and conditions, express and implied, including
+warranties or conditions of title and non-infringement, and implied warranties or conditions of merchantability and
+fitness for a particular purpose;
+
+ii) effectively excludes on behalf of all Contributors all liability for damages, including direct, indirect, special,
+incidental and consequential damages, such as lost profits;
+
+iii) states that any provisions which differ from this Agreement are offered by that Contributor alone and not by any
+other party; and
+
+iv) states that source code for the Program is available from such Contributor, and informs licensees how to obtain it
+in a reasonable manner on or through a medium customarily used for software exchange.
+
+When the Program is made available in source code form:
+
+a) it must be made available under this Agreement; and
+
+b) a copy of this Agreement must be included with each copy of the Program.
+
+Contributors may not remove or alter any copyright notices contained within the Program.
+
+Each Contributor must identify itself as the originator of its Contribution, if any, in a manner that reasonably allows
+subsequent Recipients to identify the originator of the Contribution.
+
+4. COMMERCIAL DISTRIBUTION
+
+Commercial distributors of software may accept certain responsibilities with respect to end users, business partners and
+the like. While this license is intended to facilitate the commercial use of the Program, the Contributor who includes
+the Program in a commercial product offering should do so in a manner which does not create potential liability for
+other Contributors. Therefore, if a Contributor includes the Program in a commercial product offering, such Contributor
+("Commercial Contributor") hereby agrees to defend and indemnify every other Contributor ("Indemnified Contributor")
+against any losses, damages and costs (collectively "Losses") arising from claims, lawsuits and other legal actions
+brought by a third party against the Indemnified Contributor to the extent caused by the acts or omissions of such
+Commercial Contributor in connection with its distribution of the Program in a commercial product offering. The
+obligations in this section do not apply to any claims or Losses relating to any actual or alleged intellectual
+property infringement. In order to qualify, an Indemnified Contributor must: a) promptly notify the Commercial
+Contributor in writing of such claim, and b) allow the Commercial Contributor to control, and cooperate with the
+Commercial Contributor in, the defense and any related settlement negotiations. The Indemnified Contributor may
+ participate in any such claim at its own expense.
+
+For example, a Contributor might include the Program in a commercial product offering, Product X. That Contributor is
+then a Commercial Contributor. If that Commercial Contributor then makes performance claims, or offers warranties
+related to Product X, those performance claims and warranties are such Commercial Contributor's responsibility alone.
+Under this section, the Commercial Contributor would have to defend claims against the other Contributors related to
+those performance claims and warranties, and if a court requires any other Contributor to pay any damages as a result,
+the Commercial Contributor must pay those damages.
+
+5. NO WARRANTY
+
+EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR
+CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE,
+NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely responsible for
+determining the appropriateness of using and distributing the Program and assumes all risks associated with its
+exercise of rights under this Agreement , including but not limited to the risks and costs of program errors, compliance
+with applicable laws, damage to or loss of data, programs or equipment, and unavailability or interruption of operations.
+
+6. DISCLAIMER OF LIABILITY
+
+EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY
+DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST PROFITS),
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED
+HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+7. GENERAL
+
+If any provision of this Agreement is invalid or unenforceable under applicable law, it shall not affect the validity or
+enforceability of the remainder of the terms of this Agreement, and without further action by the parties hereto, such
+provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.
+
+If Recipient institutes patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit)
+alleging that the Program itself (excluding combinations of the Program with other software or hardware) infringes such
+Recipient's patent(s), then such Recipient's rights granted under Section 2(b) shall terminate as of the date such
+litigation is filed.
+
+All Recipient's rights under this Agreement shall terminate if it fails to comply with any of the material terms or
+conditions of this Agreement and does not cure such failure in a reasonable period of time after becoming aware of such
+noncompliance. If all Recipient's rights under this Agreement terminate, Recipient agrees to cease use and distribution
+of the Program as soon as reasonably practicable. However, Recipient's obligations under this Agreement and any licenses
+ granted by Recipient relating to the Program shall continue and survive.
+
+Everyone is permitted to copy and distribute copies of this Agreement, but in order to avoid inconsistency the Agreement
+is copyrighted and may only be modified in the following manner. The Agreement Steward reserves the right to publish
+new versions (including revisions) of this Agreement from time to time. No one other than the Agreement Steward has the
+right to modify this Agreement. The Eclipse Foundation is the initial Agreement Steward. The Eclipse Foundation may
+assign the responsibility to serve as the Agreement Steward to a suitable separate entity. Each new version of the
+Agreement will be given a distinguishing version number. The Program (including Contributions) may always be
+distributed subject to the version of the Agreement under which it was received. In addition, after a new version of
+the Agreement is published, Contributor may elect to distribute the Program (including its Contributions) under the
+new version. Except as expressly stated in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to
+the intellectual property of any Contributor under this Agreement, whether expressly, by implication, estoppel or
+otherwise. All rights in the Program not expressly granted under this Agreement are reserved.
+
+This Agreement is governed by the laws of the State of New York and the intellectual property laws of the United States
+of America. No party to this Agreement will bring a legal action under this Agreement more than one year after the cause
+of action arose. Each party waives its rights to a jury trial in any resulting litigation.
\ No newline at end of file
diff --git a/org.eclipse.osbp.ecview.extension.editparts.emf/META-INF/MANIFEST.MF b/org.eclipse.osbp.ecview.extension.editparts.emf/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..00d6add
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.editparts.emf/META-INF/MANIFEST.MF
@@ -0,0 +1,43 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: org.eclipse.osbp.ecview.extension.editparts.emf
+Bundle-SymbolicName: org.eclipse.osbp.ecview.extension.editparts.emf
+Bundle-Vendor: Eclipse OSBP
+Bundle-Version: 0.9.0.qualifier
+Require-Bundle: org.eclipse.core.runtime,
+ org.eclipse.emf.ecore.xmi;bundle-version="2.8.0",
+ org.eclipse.osbp.ecview.core.extension.editparts;bundle-version="[0.9.0,0.10.0)",
+ org.eclipse.osbp.ecview.core.common.editparts.emf;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.osbp.ecview.core.common;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.extension.model;bundle-version="[0.9.0,0.10.0)",
+ org.eclipse.osbp.ecview.extension.editparts;bundle-version="[0.9.0,0.10.0)",
+ org.eclipse.core.databinding.observable;bundle-version="[1.4.1,1.5.0)",
+ org.eclipse.core.databinding;bundle-version="[1.4.2,1.5.0)",
+ org.eclipse.emf.databinding;bundle-version="1.3.0",
+ org.eclipse.core.databinding.beans;bundle-version="1.2.200",
+ org.eclipse.osbp.runtime.common;bundle-version="[0.9.0,0.10.0)",
+ org.eclipse.osbp.ecview.extension.api;bundle-version="[0.9.0,0.10.0)",
+ org.eclipse.osbp.ecview.core.util.emf;bundle-version="[0.9.0,0.10.0)"
+Bundle-ActivationPolicy: lazy
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Import-Package: org.eclipse.osbp.ui.api.functionlibrary;version="0.9.0",
+ org.eclipse.osbp.ui.api.useraccess;version="0.9.0",
+ org.osgi.service.component;version="1.2.0",
+ org.osgi.service.component.annotations;version="1.2.0",
+ org.osgi.service.event;version="1.3.0",
+ org.slf4j;version="1.6.4"
+Service-Component: OSGI-INF/*.xml
+Export-Package: org.eclipse.osbp.ecview.extension.editparts.emf;
+  uses:="org.eclipse.osbp.ecview.core.common.editpart.binding,
+   org.eclipse.osbp.ecview.extension.editparts,
+   org.eclipse.osbp.ecview.core.common.editpart.emf.common,
+   org.eclipse.osbp.ecview.core.common.editpart,
+   org.eclipse.osbp.ecview.extension.model,
+   org.eclipse.osbp.ecview.extension.editparts.presentation,
+   org.eclipse.emf.common.notify,
+   org.osgi.service.component,
+   org.eclipse.osbp.ecview.core.common.editpart.emf";version="0.9.0",
+ org.eclipse.osbp.ecview.extension.editparts.emf.enhancer;version="0.9.0",
+ org.eclipse.osbp.ecview.extension.editparts.emf.strategies;version="0.9.0"
diff --git a/org.eclipse.osbp.ecview.extension.editparts.emf/OSGI-INF/editPartManager.xml b/org.eclipse.osbp.ecview.extension.editparts.emf/OSGI-INF/editPartManager.xml
new file mode 100644
index 0000000..9677fc8
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.editparts.emf/OSGI-INF/editPartManager.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" immediate="false" name="org.eclipse.osbp.ecview.extension.editparts.editpartmanager">
+   <implementation class="org.eclipse.osbp.ecview.extension.editparts.emf.EditpartManager"/>
+   <service>
+      <provide interface="org.eclipse.osbp.ecview.core.common.editpart.IEditPartManager"/>
+   </service>
+</scr:component> 
+ 
\ No newline at end of file
diff --git a/org.eclipse.osbp.ecview.extension.editparts.emf/OSGI-INF/org.eclipse.osbp.ecview.extension.editparts.emf.components.services.ContextSensitiveLayoutSelector.xml b/org.eclipse.osbp.ecview.extension.editparts.emf/OSGI-INF/org.eclipse.osbp.ecview.extension.editparts.emf.components.services.ContextSensitiveLayoutSelector.xml
new file mode 100644
index 0000000..ccddd39
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.editparts.emf/OSGI-INF/org.eclipse.osbp.ecview.extension.editparts.emf.components.services.ContextSensitiveLayoutSelector.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.osbp.ecview.extension.editparts.emf.components.services.ContextSensitiveLayoutSelector">
+   <service>
+      <provide interface="org.eclipse.osbp.ecview.extension.api.IContextSensitiveLayoutSelector"/>
+   </service>
+   <reference bind="bind" cardinality="1..1" interface="org.eclipse.osbp.ui.api.functionlibrary.IFunctionLibraryService" policy="static" unbind="unbind"/>
+   <implementation class="org.eclipse.osbp.ecview.extension.editparts.emf.components.services.ContextSensitiveLayoutSelector"/>
+</scr:component>
\ No newline at end of file
diff --git a/org.eclipse.osbp.ecview.extension.editparts.emf/OSGI-INF/org.eclipse.osbp.ecview.extension.editparts.emf.enhancer.AltEnterFocusingEnhancer.xml b/org.eclipse.osbp.ecview.extension.editparts.emf/OSGI-INF/org.eclipse.osbp.ecview.extension.editparts.emf.enhancer.AltEnterFocusingEnhancer.xml
new file mode 100644
index 0000000..b6ad345
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.editparts.emf/OSGI-INF/org.eclipse.osbp.ecview.extension.editparts.emf.enhancer.AltEnterFocusingEnhancer.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.osbp.ecview.extension.editparts.emf.enhancer.AltEnterFocusingEnhancer">
+   <property name="ecview.focusing.enhancer.id" value="AltEnterFocusingEnhancer"/>
+   <service>
+      <provide interface="org.eclipse.osbp.ecview.extension.api.IFocusingEnhancer"/>
+   </service>
+   <implementation class="org.eclipse.osbp.ecview.extension.editparts.emf.enhancer.AltEnterFocusingEnhancer"/>
+</scr:component>
\ No newline at end of file
diff --git a/org.eclipse.osbp.ecview.extension.editparts.emf/OSGI-INF/org.eclipse.osbp.ecview.extension.editparts.emf.enhancer.EnterTabFocusingEnhancer.xml b/org.eclipse.osbp.ecview.extension.editparts.emf/OSGI-INF/org.eclipse.osbp.ecview.extension.editparts.emf.enhancer.EnterTabFocusingEnhancer.xml
new file mode 100644
index 0000000..9eb7af2
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.editparts.emf/OSGI-INF/org.eclipse.osbp.ecview.extension.editparts.emf.enhancer.EnterTabFocusingEnhancer.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.osbp.ecview.extension.editparts.emf.enhancer.EnterTabFocusingEnhancer">
+   <property name="ecview.focusing.enhancer.id" value="EnterTabFocusingEnhancer"/>
+   <service>
+      <provide interface="org.eclipse.osbp.ecview.extension.api.IFocusingEnhancer"/>
+   </service>
+   <implementation class="org.eclipse.osbp.ecview.extension.editparts.emf.enhancer.EnterTabFocusingEnhancer"/>
+</scr:component>
\ No newline at end of file
diff --git a/org.eclipse.osbp.ecview.extension.editparts.emf/OSGI-INF/org.eclipse.osbp.ecview.extension.editparts.emf.enhancer.TabEnterFocusingEnhancer.xml b/org.eclipse.osbp.ecview.extension.editparts.emf/OSGI-INF/org.eclipse.osbp.ecview.extension.editparts.emf.enhancer.TabEnterFocusingEnhancer.xml
new file mode 100644
index 0000000..8f1c4f2
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.editparts.emf/OSGI-INF/org.eclipse.osbp.ecview.extension.editparts.emf.enhancer.TabEnterFocusingEnhancer.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.osbp.ecview.extension.editparts.emf.enhancer.TabEnterFocusingEnhancer">
+   <property name="ecview.focusing.enhancer.id" value="TabEnterFocusingEnhancer"/>
+   <service>
+      <provide interface="org.eclipse.osbp.ecview.extension.api.IFocusingEnhancer"/>
+   </service>
+   <implementation class="org.eclipse.osbp.ecview.extension.editparts.emf.enhancer.TabEnterFocusingEnhancer"/>
+</scr:component>
\ No newline at end of file
diff --git a/org.eclipse.osbp.ecview.extension.editparts.emf/about.html b/org.eclipse.osbp.ecview.extension.editparts.emf/about.html
new file mode 100644
index 0000000..64c0598
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.editparts.emf/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 1, 2016</p>	
+<h3>License</h3>
+
+<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 (&quot;EPL&quot;).  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, &quot;Program&quot; 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 (&quot;Redistributor&quot;) 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>
\ No newline at end of file
diff --git a/org.eclipse.osbp.ecview.extension.editparts.emf/about.ini b/org.eclipse.osbp.ecview.extension.editparts.emf/about.ini
new file mode 100644
index 0000000..7df671f
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.editparts.emf/about.ini
@@ -0,0 +1,17 @@
+# about.ini
+# contains information about a feature
+# java.io.Properties file (ISO 8859-1 with "\" escapes)
+# "%key" are externalized strings defined in about.properties
+# This file does not need to be translated.
+
+# Property "aboutText" contains blurb for "About" dialog (translated)
+aboutText=%featureText
+
+# Property "featureImage" contains path to feature image (32x32)
+featureImage=
+
+# Property "appName" contains name of the application (translated)
+appName=%featureName
+
+# Property "welcomePage" contains path to welcome page (special XML-based format)
+welcomePage=
diff --git a/org.eclipse.osbp.ecview.extension.editparts.emf/about.mappings b/org.eclipse.osbp.ecview.extension.editparts.emf/about.mappings
new file mode 100644
index 0000000..4511a0a
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.editparts.emf/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=qualifier
diff --git a/org.eclipse.osbp.ecview.extension.editparts.emf/about.properties b/org.eclipse.osbp.ecview.extension.editparts.emf/about.properties
new file mode 100644
index 0000000..d818da2
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.editparts.emf/about.properties
@@ -0,0 +1,26 @@
+#
+# Copyright (c) 2012, 2016 - Loetz GmbH&Co.KG (Heidelberg)
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
+#    Loetz GmbH&Co.KG - initial API and implementation
+#
+
+# NLS_MESSAGEFORMAT_VAR
+
+featureName=org.eclipse.osbp.ecview.extension.editparts.emf
+
+################ blurb property ####################################
+featureText=\
+Copyright (c) 2012-2016 - Loetz GmbH&Co.KG \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\
+    Loetz GmbH&Co.KG - implementation\n
+################ end of blurb property ####################################
diff --git a/org.eclipse.osbp.ecview.extension.editparts.emf/build.properties b/org.eclipse.osbp.ecview.extension.editparts.emf/build.properties
new file mode 100644
index 0000000..abe24e1
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.editparts.emf/build.properties
@@ -0,0 +1,12 @@
+source.. = src/
+bin.includes = about.properties,  about.mappings,  about.ini,  about.html,  META-INF/,\
+               .,\
+               OSGI-INF/,\
+               .classpath,\
+               .project,\
+               .settings/,\
+               LICENSE.txt,\
+               license.html
+output.. = target/classes
+src.includes = about.properties,  about.mappings,  about.ini,  about.html,  LICENSE.txt,\
+               license.html
diff --git a/org.eclipse.osbp.ecview.extension.editparts.emf/epl-v10.html b/org.eclipse.osbp.ecview.extension.editparts.emf/epl-v10.html
new file mode 100644
index 0000000..b398acc
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.editparts.emf/epl-v10.html
@@ -0,0 +1,259 @@
+<!--?xml version="1.0" encoding="ISO-8859-1" ?-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Eclipse Public License - Version 1.0</title>
+<style type="text/css">
+  body {
+    size: 8.5in 11.0in;
+    margin: 0.25in 0.5in 0.25in 0.5in;
+    tab-interval: 0.5in;
+    }
+  p {  	
+    margin-left: auto;
+    margin-top:  0.5em;
+    margin-bottom: 0.5em;
+    }
+  p.list {
+  	margin-left: 0.5in;
+    margin-top:  0.05em;
+    margin-bottom: 0.05em;
+    }
+  </style>
+
+</head>
+
+<body lang="EN-US">
+
+<h2>Eclipse Public License - v 1.0</h2>
+
+<p>THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE
+PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR
+DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS
+AGREEMENT.</p>
+
+<p><b>1. DEFINITIONS</b></p>
+
+<p>"Contribution" means:</p>
+
+<p class="list">a) in the case of the initial Contributor, the initial
+code and documentation distributed under this Agreement, and</p>
+<p class="list">b) in the case of each subsequent Contributor:</p>
+<p class="list">i) changes to the Program, and</p>
+<p class="list">ii) additions to the Program;</p>
+<p class="list">where such changes and/or additions to the Program
+originate from and are distributed by that particular Contributor. A
+Contribution 'originates' from a Contributor if it was added to the
+Program by such Contributor itself or anyone acting on such
+Contributor's behalf. Contributions do not include additions to the
+Program which: (i) are separate modules of software distributed in
+conjunction with the Program under their own license agreement, and (ii)
+are not derivative works of the Program.</p>
+
+<p>"Contributor" means any person or entity that distributes
+the Program.</p>
+
+<p>"Licensed Patents" mean patent claims licensable by a
+Contributor which are necessarily infringed by the use or sale of its
+Contribution alone or when combined with the Program.</p>
+
+<p>"Program" means the Contributions distributed in accordance
+with this Agreement.</p>
+
+<p>"Recipient" means anyone who receives the Program under
+this Agreement, including all Contributors.</p>
+
+<p><b>2. GRANT OF RIGHTS</b></p>
+
+<p class="list">a) Subject to the terms of this Agreement, each
+Contributor hereby grants Recipient a non-exclusive, worldwide,
+royalty-free copyright license to reproduce, prepare derivative works
+of, publicly display, publicly perform, distribute and sublicense the
+Contribution of such Contributor, if any, and such derivative works, in
+source code and object code form.</p>
+
+<p class="list">b) Subject to the terms of this Agreement, each
+Contributor hereby grants Recipient a non-exclusive, worldwide,
+royalty-free patent license under Licensed Patents to make, use, sell,
+offer to sell, import and otherwise transfer the Contribution of such
+Contributor, if any, in source code and object code form. This patent
+license shall apply to the combination of the Contribution and the
+Program if, at the time the Contribution is added by the Contributor,
+such addition of the Contribution causes such combination to be covered
+by the Licensed Patents. The patent license shall not apply to any other
+combinations which include the Contribution. No hardware per se is
+licensed hereunder.</p>
+
+<p class="list">c) Recipient understands that although each Contributor
+grants the licenses to its Contributions set forth herein, no assurances
+are provided by any Contributor that the Program does not infringe the
+patent or other intellectual property rights of any other entity. Each
+Contributor disclaims any liability to Recipient for claims brought by
+any other entity based on infringement of intellectual property rights
+or otherwise. As a condition to exercising the rights and licenses
+granted hereunder, each Recipient hereby assumes sole responsibility to
+secure any other intellectual property rights needed, if any. For
+example, if a third party patent license is required to allow Recipient
+to distribute the Program, it is Recipient's responsibility to acquire
+that license before distributing the Program.</p>
+
+<p class="list">d) Each Contributor represents that to its knowledge it
+has sufficient copyright rights in its Contribution, if any, to grant
+the copyright license set forth in this Agreement.</p>
+
+<p><b>3. REQUIREMENTS</b></p>
+
+<p>A Contributor may choose to distribute the Program in object code
+form under its own license agreement, provided that:</p>
+
+<p class="list">a) it complies with the terms and conditions of this
+Agreement; and</p>
+
+<p class="list">b) its license agreement:</p>
+
+<p class="list">i) effectively disclaims on behalf of all Contributors
+all warranties and conditions, express and implied, including warranties
+or conditions of title and non-infringement, and implied warranties or
+conditions of merchantability and fitness for a particular purpose;</p>
+
+<p class="list">ii) effectively excludes on behalf of all Contributors
+all liability for damages, including direct, indirect, special,
+incidental and consequential damages, such as lost profits;</p>
+
+<p class="list">iii) states that any provisions which differ from this
+Agreement are offered by that Contributor alone and not by any other
+party; and</p>
+
+<p class="list">iv) states that source code for the Program is available
+from such Contributor, and informs licensees how to obtain it in a
+reasonable manner on or through a medium customarily used for software
+exchange.</p>
+
+<p>When the Program is made available in source code form:</p>
+
+<p class="list">a) it must be made available under this Agreement; and</p>
+
+<p class="list">b) a copy of this Agreement must be included with each
+copy of the Program.</p>
+
+<p>Contributors may not remove or alter any copyright notices contained
+within the Program.</p>
+
+<p>Each Contributor must identify itself as the originator of its
+Contribution, if any, in a manner that reasonably allows subsequent
+Recipients to identify the originator of the Contribution.</p>
+
+<p><b>4. COMMERCIAL DISTRIBUTION</b></p>
+
+<p>Commercial distributors of software may accept certain
+responsibilities with respect to end users, business partners and the
+like. While this license is intended to facilitate the commercial use of
+the Program, the Contributor who includes the Program in a commercial
+product offering should do so in a manner which does not create
+potential liability for other Contributors. Therefore, if a Contributor
+includes the Program in a commercial product offering, such Contributor
+("Commercial Contributor") hereby agrees to defend and
+indemnify every other Contributor ("Indemnified Contributor")
+against any losses, damages and costs (collectively "Losses")
+arising from claims, lawsuits and other legal actions brought by a third
+party against the Indemnified Contributor to the extent caused by the
+acts or omissions of such Commercial Contributor in connection with its
+distribution of the Program in a commercial product offering. The
+obligations in this section do not apply to any claims or Losses
+relating to any actual or alleged intellectual property infringement. In
+order to qualify, an Indemnified Contributor must: a) promptly notify
+the Commercial Contributor in writing of such claim, and b) allow the
+Commercial Contributor to control, and cooperate with the Commercial
+Contributor in, the defense and any related settlement negotiations. The
+Indemnified Contributor may participate in any such claim at its own
+expense.</p>
+
+<p>For example, a Contributor might include the Program in a commercial
+product offering, Product X. That Contributor is then a Commercial
+Contributor. If that Commercial Contributor then makes performance
+claims, or offers warranties related to Product X, those performance
+claims and warranties are such Commercial Contributor's responsibility
+alone. Under this section, the Commercial Contributor would have to
+defend claims against the other Contributors related to those
+performance claims and warranties, and if a court requires any other
+Contributor to pay any damages as a result, the Commercial Contributor
+must pay those damages.</p>
+
+<p><b>5. NO WARRANTY</b></p>
+
+<p>EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS
+PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS
+OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION,
+ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY
+OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely
+responsible for determining the appropriateness of using and
+distributing the Program and assumes all risks associated with its
+exercise of rights under this Agreement , including but not limited to
+the risks and costs of program errors, compliance with applicable laws,
+damage to or loss of data, programs or equipment, and unavailability or
+interruption of operations.</p>
+
+<p><b>6. DISCLAIMER OF LIABILITY</b></p>
+
+<p>EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT
+NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT,
+INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING
+WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF
+LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR
+DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED
+HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.</p>
+
+<p><b>7. GENERAL</b></p>
+
+<p>If any provision of this Agreement is invalid or unenforceable under
+applicable law, it shall not affect the validity or enforceability of
+the remainder of the terms of this Agreement, and without further action
+by the parties hereto, such provision shall be reformed to the minimum
+extent necessary to make such provision valid and enforceable.</p>
+
+<p>If Recipient institutes patent litigation against any entity
+(including a cross-claim or counterclaim in a lawsuit) alleging that the
+Program itself (excluding combinations of the Program with other
+software or hardware) infringes such Recipient's patent(s), then such
+Recipient's rights granted under Section 2(b) shall terminate as of the
+date such litigation is filed.</p>
+
+<p>All Recipient's rights under this Agreement shall terminate if it
+fails to comply with any of the material terms or conditions of this
+Agreement and does not cure such failure in a reasonable period of time
+after becoming aware of such noncompliance. If all Recipient's rights
+under this Agreement terminate, Recipient agrees to cease use and
+distribution of the Program as soon as reasonably practicable. However,
+Recipient's obligations under this Agreement and any licenses granted by
+Recipient relating to the Program shall continue and survive.</p>
+
+<p>Everyone is permitted to copy and distribute copies of this
+Agreement, but in order to avoid inconsistency the Agreement is
+copyrighted and may only be modified in the following manner. The
+Agreement Steward reserves the right to publish new versions (including
+revisions) of this Agreement from time to time. No one other than the
+Agreement Steward has the right to modify this Agreement. The Eclipse
+Foundation is the initial Agreement Steward. The Eclipse Foundation may
+assign the responsibility to serve as the Agreement Steward to a
+suitable separate entity. Each new version of the Agreement will be
+given a distinguishing version number. The Program (including
+Contributions) may always be distributed subject to the version of the
+Agreement under which it was received. In addition, after a new version
+of the Agreement is published, Contributor may elect to distribute the
+Program (including its Contributions) under the new version. Except as
+expressly stated in Sections 2(a) and 2(b) above, Recipient receives no
+rights or licenses to the intellectual property of any Contributor under
+this Agreement, whether expressly, by implication, estoppel or
+otherwise. All rights in the Program not expressly granted under this
+Agreement are reserved.</p>
+
+<p>This Agreement is governed by the laws of the State of New York and
+the intellectual property laws of the United States of America. No party
+to this Agreement will bring a legal action under this Agreement more
+than one year after the cause of action arose. Each party waives its
+rights to a jury trial in any resulting litigation.</p>
+
+
+
+</body></html>
\ No newline at end of file
diff --git a/org.eclipse.osbp.ecview.extension.editparts.emf/license.html b/org.eclipse.osbp.ecview.extension.editparts.emf/license.html
new file mode 100644
index 0000000..6e579a5
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.editparts.emf/license.html
@@ -0,0 +1,164 @@
+<!--?xml version="1.0" encoding="ISO-8859-1" ?-->
+<!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>Eclipse Foundation Software User Agreement</title>
+</head>
+
+<body lang="EN-US">
+<h2>Eclipse Foundation Software User Agreement</h2>
+<p>February 1, 2011</p>
+
+<h3>Usage Of Content</h3>
+
+<p>THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS
+   (COLLECTIVELY "CONTENT").  USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND
+   CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU AGREE THAT YOUR USE
+   OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR
+   NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND
+   CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.</p>
+
+<h3>Applicable Licenses</h3>
+
+<p>Unless otherwise indicated, all Content made available by the Eclipse
+ Foundation is provided to you under the terms and conditions of the 
+Eclipse Public License Version 1.0
+   ("EPL").  A copy of the EPL is provided with this Content and is also
+ 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>Content includes, but is not limited to, source code, object code, 
+documentation and other files maintained in the Eclipse Foundation 
+source code
+   repository ("Repository") in software modules ("Modules") and made 
+available as downloadable archives ("Downloads").</p>
+
+<ul>
+       <li>Content may be structured and packaged into modules to 
+facilitate delivering, extending, and upgrading the Content.  Typical 
+modules may include plug-ins ("Plug-ins"), plug-in fragments 
+("Fragments"), and features ("Features").</li>
+       <li>Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java&#8482; ARchive) in a directory named "plugins".</li>
+       <li>A Feature is a bundle of one or more Plug-ins and/or 
+Fragments and associated material.  Each Feature may be packaged as a 
+sub-directory in a directory named "features".  Within a Feature, files 
+named "feature.xml" may contain a list of the names and version numbers 
+of the Plug-ins
+      and/or Fragments associated with that Feature.</li>
+       <li>Features may also include other Features ("Included 
+Features"). Within a Feature, files named "feature.xml" may contain a 
+list of the names and version numbers of Included Features.</li>
+</ul>
+
+<p>The terms and conditions governing Plug-ins and Fragments should be 
+contained in files named "about.html" ("Abouts"). The terms and 
+conditions governing Features and
+Included Features should be contained in files named "license.html" 
+("Feature Licenses").  Abouts and Feature Licenses may be located in any
+ directory of a Download or Module
+including, but not limited to the following locations:</p>
+
+<ul>
+       <li>The top-level (root) directory</li>
+       <li>Plug-in and Fragment directories</li>
+       <li>Inside Plug-ins and Fragments packaged as JARs</li>
+       <li>Sub-directories of the directory named "src" of certain Plug-ins</li>
+       <li>Feature directories</li>
+</ul>
+
+<p>Note: if a Feature made available by the Eclipse Foundation is 
+installed using the Provisioning Technology (as defined below), you must
+ agree to a license ("Feature Update License") during the
+installation process.  If the Feature contains Included Features, the 
+Feature Update License should either provide you with the terms and 
+conditions governing the Included Features or
+inform you where you can locate them.  Feature Update Licenses may be 
+found in the "license" property of files named "feature.properties" 
+found within a Feature.
+Such Abouts, Feature Licenses, and Feature Update Licenses contain the 
+terms and conditions (or references to such terms and conditions) that 
+govern your use of the associated Content in
+that directory.</p>
+
+<p>THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER 
+TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.
+  SOME OF THESE
+OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):</p>
+
+<ul>
+       <li>Eclipse Distribution License Version 1.0 (available at <a href="http://www.eclipse.org/licenses/edl-v10.html">http://www.eclipse.org/licenses/edl-v1.0.html</a>)</li>
+       <li>Common Public License Version 1.0 (available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>)</li>
+       <li>Apache Software License 1.1 (available at <a href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</a>)</li>
+       <li>Apache Software License 2.0 (available at <a href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</a>)</li>
+       <li>Metro Link Public License 1.00 (available at <a href="http://www.opengroup.org/openmotif/supporters/metrolink/license.html">http://www.opengroup.org/openmotif/supporters/metrolink/license.html</a>)</li>
+       <li>Mozilla Public License Version 1.1 (available at <a href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a>)</li>
+</ul>
+
+<p>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND 
+CONDITIONS PRIOR TO USE OF THE CONTENT.  If no About, Feature License, 
+or Feature Update License is provided, please
+contact the Eclipse Foundation to determine what terms and conditions 
+govern that particular Content.</p>
+
+
+<h3>Use of Provisioning Technology</h3>
+
+<p>The Eclipse Foundation makes available provisioning software, 
+examples of which include, but are not limited to, p2 and the Eclipse
+   Update Manager ("Provisioning Technology") for the purpose of 
+allowing users to install software, documentation, information and/or
+   other materials (collectively "Installable Software"). This 
+capability is provided with the intent of allowing such users to
+   install, extend and update Eclipse-based products. Information about 
+packaging Installable Software is available at <a href="http://eclipse.org/equinox/p2/repository_packaging.html">http://eclipse.org/equinox/p2/repository_packaging.html</a>
+   ("Specification").</p>
+
+<p>You may use Provisioning Technology to allow other parties to install
+ Installable Software. You shall be responsible for enabling the
+   applicable license agreements relating to the Installable Software to
+ be presented to, and accepted by, the users of the Provisioning 
+Technology
+   in accordance with the Specification. By using Provisioning 
+Technology in such a manner and making it available in accordance with 
+the
+   Specification, you further acknowledge your agreement to, and the 
+acquisition of all necessary rights to permit the following:</p>
+
+<ol>
+       <li>A series of actions may occur ("Provisioning Process") in 
+which a user may execute the Provisioning Technology
+       on a machine ("Target Machine") with the intent of installing, 
+extending or updating the functionality of an Eclipse-based
+       product.</li>
+       <li>During the Provisioning Process, the Provisioning Technology 
+may cause third party Installable Software or a portion thereof to be
+       accessed and copied to the Target Machine.</li>
+       <li>Pursuant to the Specification, you will provide to the user 
+the terms and conditions that govern the use of the Installable
+       Software ("Installable Software Agreement") and such Installable 
+Software Agreement shall be accessed from the Target
+       Machine in accordance with the Specification. Such Installable 
+Software Agreement must inform the user of the terms and conditions that
+ govern
+       the Installable Software and must solicit acceptance by the end 
+user in the manner prescribed in such Installable Software Agreement. 
+Upon such
+       indication of agreement by the user, the provisioning Technology 
+will complete installation of the Installable Software.</li>
+</ol>
+
+<h3>Cryptography</h3>
+
+<p>Content may contain encryption software. The country in which you are
+ currently may have restrictions on the import, possession, and use, 
+and/or re-export to
+   another country, of encryption software. BEFORE using any encryption 
+software, please check the country's laws, regulations and policies 
+concerning the import,
+   possession, or use, and re-export of encryption software, to see if 
+this is permitted.</p>
+
+<p><small>Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.</small></p>
+
+
+</body></html>
\ No newline at end of file
diff --git a/org.eclipse.osbp.ecview.extension.editparts.emf/notice.html b/org.eclipse.osbp.ecview.extension.editparts.emf/notice.html
new file mode 100644
index 0000000..c3d34c3
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.editparts.emf/notice.html
@@ -0,0 +1,107 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<!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>Eclipse Foundation Software User Agreement</title>
+</head>
+
+<body lang="EN-US">
+<h2>Eclipse Foundation Software User Agreement</h2>
+<p>April 9, 2014</p>
+
+<h3>Usage Of Content</h3>
+
+<p>THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS
+   (COLLECTIVELY &quot;CONTENT&quot;).  USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND
+   CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU AGREE THAT YOUR USE
+   OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR
+   NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND
+   CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.</p>
+
+<h3>Applicable Licenses</h3>
+
+<p>Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0
+   (&quot;EPL&quot;).  A copy of the EPL is provided with this Content and is also 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, &quot;Program&quot; will mean the Content.</p>
+
+<p>Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse Foundation source code
+   repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available as downloadable archives (&quot;Downloads&quot;).</p>
+
+<ul>
+       <li>Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content.  Typical modules may include plug-ins (&quot;Plug-ins&quot;), plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).</li>
+       <li>Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java&trade; ARchive) in a directory named &quot;plugins&quot;.</li>
+       <li>A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of the Plug-ins
+      and/or Fragments associated with that Feature.</li>
+       <li>Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.</li>
+</ul>
+
+<p>The terms and conditions governing Plug-ins and Fragments should be contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and conditions governing Features and
+Included Features should be contained in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;).  Abouts and Feature Licenses may be located in any directory of a Download or Module
+including, but not limited to the following locations:</p>
+
+<ul>
+       <li>The top-level (root) directory</li>
+       <li>Plug-in and Fragment directories</li>
+       <li>Inside Plug-ins and Fragments packaged as JARs</li>
+       <li>Sub-directories of the directory named &quot;src&quot; of certain Plug-ins</li>
+       <li>Feature directories</li>
+</ul>
+
+<p>Note: if a Feature made available by the Eclipse Foundation is installed using the Provisioning Technology (as defined below), you must agree to a license (&quot;Feature Update License&quot;) during the
+installation process.  If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or
+inform you where you can locate them.  Feature Update Licenses may be found in the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.
+Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in
+that directory.</p>
+
+<p>THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.  SOME OF THESE
+OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):</p>
+
+<ul>
+       <li>Eclipse Distribution License Version 1.0 (available at <a href="http://www.eclipse.org/licenses/edl-v10.html">http://www.eclipse.org/licenses/edl-v1.0.html</a>)</li>
+       <li>Common Public License Version 1.0 (available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>)</li>
+       <li>Apache Software License 1.1 (available at <a href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</a>)</li>
+       <li>Apache Software License 2.0 (available at <a href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</a>)</li>
+       <li>Mozilla Public License Version 1.1 (available at <a href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a>)</li>
+</ul>
+
+<p>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT.  If no About, Feature License, or Feature Update License is provided, please
+contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.</p>
+
+
+<h3>Use of Provisioning Technology</h3>
+
+<p>The Eclipse Foundation makes available provisioning software, examples of which include, but are not limited to, p2 and the Eclipse
+   Update Manager (&quot;Provisioning Technology&quot;) for the purpose of allowing users to install software, documentation, information and/or
+   other materials (collectively &quot;Installable Software&quot;). This capability is provided with the intent of allowing such users to
+   install, extend and update Eclipse-based products. Information about packaging Installable Software is available at <a
+       href="http://eclipse.org/equinox/p2/repository_packaging.html">http://eclipse.org/equinox/p2/repository_packaging.html</a>
+   (&quot;Specification&quot;).</p>
+
+<p>You may use Provisioning Technology to allow other parties to install Installable Software. You shall be responsible for enabling the
+   applicable license agreements relating to the Installable Software to be presented to, and accepted by, the users of the Provisioning Technology
+   in accordance with the Specification. By using Provisioning Technology in such a manner and making it available in accordance with the
+   Specification, you further acknowledge your agreement to, and the acquisition of all necessary rights to permit the following:</p>
+
+<ol>
+       <li>A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute the Provisioning Technology
+       on a machine (&quot;Target Machine&quot;) with the intent of installing, extending or updating the functionality of an Eclipse-based
+       product.</li>
+       <li>During the Provisioning Process, the Provisioning Technology may cause third party Installable Software or a portion thereof to be
+       accessed and copied to the Target Machine.</li>
+       <li>Pursuant to the Specification, you will provide to the user the terms and conditions that govern the use of the Installable
+       Software (&quot;Installable Software Agreement&quot;) and such Installable Software Agreement shall be accessed from the Target
+       Machine in accordance with the Specification. Such Installable Software Agreement must inform the user of the terms and conditions that govern
+       the Installable Software and must solicit acceptance by the end user in the manner prescribed in such Installable Software Agreement. Upon such
+       indication of agreement by the user, the provisioning Technology will complete installation of the Installable Software.</li>
+</ol>
+
+<h3>Cryptography</h3>
+
+<p>Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to
+   another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import,
+   possession, or use, and re-export of encryption software, to see if this is permitted.</p>
+
+<p><small>Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.</small></p>
+</body>
+</html>
diff --git a/org.eclipse.osbp.ecview.extension.editparts.emf/pom.xml b/org.eclipse.osbp.ecview.extension.editparts.emf/pom.xml
new file mode 100644
index 0000000..d3d1a14
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.editparts.emf/pom.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--#======================================================================= -->
+<!--# Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany) -->
+<!--# All rights reserved. This program and the accompanying materials -->
+<!--# are made available under the terms of the Eclipse Public License v1.0 -->
+<!--# which accompanies this distribution, and is available at -->
+<!--# http://www.eclipse.org/legal/epl-v10.html -->
+<!--# -->
+<!--# Contributors: -->
+<!--#     Christophe Loetz (Loetz GmbH&Co.KG) - initial API and implementation -->
+<!--#======================================================================= -->
+
+<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.osbp.ecview.extension</groupId>
+		<artifactId>org.eclipse.osbp.ecview.extension.aggregator</artifactId>
+		<version>0.9.0-SNAPSHOT</version>
+		<relativePath>..</relativePath>
+	</parent>
+	<artifactId>org.eclipse.osbp.ecview.extension.editparts.emf</artifactId>
+	<packaging>eclipse-plugin</packaging>
+	<description>Contains the EMF based ui controller</description>
+	<build>
+		<sourceDirectory>src</sourceDirectory>
+		<plugins>
+			<plugin>
+				<artifactId>maven-compiler-plugin</artifactId>
+				<configuration>
+					<source/>
+					<target/>
+				</configuration>
+			</plugin>
+		</plugins>
+	</build>
+</project>
diff --git a/org.eclipse.osbp.ecview.extension.editparts.emf/src/org/eclipse/osbp/ecview/extension/editparts/emf/EditpartManager.java b/org.eclipse.osbp.ecview.extension.editparts.emf/src/org/eclipse/osbp/ecview/extension/editparts/emf/EditpartManager.java
new file mode 100644
index 0000000..f1a7534
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.editparts.emf/src/org/eclipse/osbp/ecview/extension/editparts/emf/EditpartManager.java
@@ -0,0 +1,238 @@
+/**
+ *                                                                            
+ *  Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany) 
+ *                                                                            
+ *  All rights reserved. This program and the accompanying materials           
+ *  are made available under the terms of the Eclipse Public License v1.0       
+ *  which accompanies this distribution, and is available at                  
+ *  http://www.eclipse.org/legal/epl-v10.html                                 
+ *                                                                            
+ *  Contributors:                                                      
+ * 	   Florian Pirchner - Initial implementation
+ * 
+ */
+package org.eclipse.osbp.ecview.extension.editparts.emf;
+
+import java.lang.reflect.Constructor;
+import java.lang.reflect.InvocationTargetException;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.osbp.ecview.core.common.context.IViewContext;
+import org.eclipse.osbp.ecview.core.common.editpart.IElementEditpart;
+import org.eclipse.osbp.ecview.core.common.editpart.emf.ElementEditpart;
+import org.eclipse.osbp.ecview.core.common.editpart.emf.common.AbstractEditpartManager;
+import org.eclipse.osbp.ecview.core.common.model.core.YElement;
+import org.eclipse.osbp.ecview.extension.editparts.emf.components.BlobUploadComponentEditpart;
+import org.eclipse.osbp.ecview.extension.editparts.emf.components.ContentSensitiveLayoutEditpart;
+import org.eclipse.osbp.ecview.extension.editparts.emf.components.CustomDecimalFieldEditpart;
+import org.eclipse.osbp.ecview.extension.editparts.emf.components.IconComboBoxEditpart;
+import org.eclipse.osbp.ecview.extension.editparts.emf.components.PairComboBoxEditpart;
+import org.eclipse.osbp.ecview.extension.editparts.emf.converter.CustomDecimalConverterEditpart;
+import org.eclipse.osbp.ecview.extension.editparts.emf.converter.DecimalToUomoConverterEditpart;
+import org.eclipse.osbp.ecview.extension.editparts.emf.converter.NumericToResourceConverterEditpart;
+import org.eclipse.osbp.ecview.extension.editparts.emf.converter.NumericToUomoConverterEditpart;
+import org.eclipse.osbp.ecview.extension.editparts.emf.converter.ObjectToStringConverterEditpart;
+import org.eclipse.osbp.ecview.extension.editparts.emf.converter.PriceToStringConverterEditpart;
+import org.eclipse.osbp.ecview.extension.editparts.emf.converter.QuantityToStringConverterEditpart;
+import org.eclipse.osbp.ecview.extension.editparts.emf.converter.SimpleDecimalConverterEditpart;
+import org.eclipse.osbp.ecview.extension.editparts.emf.converter.StringToResourceConverterEditpart;
+import org.eclipse.osbp.ecview.extension.editparts.emf.strategies.DefaultLayoutingStrategyEditpart;
+import org.eclipse.osbp.ecview.extension.editparts.emf.strategies.DelegatingFocusingStrategyEditpart;
+import org.eclipse.osbp.ecview.extension.editparts.emf.strategies.DelegatingLayoutingStrategyEditpart;
+import org.eclipse.osbp.ecview.extension.editparts.emf.visibility.AuthorizationVisibilityProcessorEditpart;
+import org.eclipse.osbp.ecview.extension.editparts.emf.visibility.SubTypeVisibilityProcessorEditpart;
+import org.eclipse.osbp.ecview.extension.model.YBlobUploadComponent;
+import org.eclipse.osbp.ecview.extension.model.YContentSensitiveLayout;
+import org.eclipse.osbp.ecview.extension.model.YCustomDecimalField;
+import org.eclipse.osbp.ecview.extension.model.YDefaultLayoutingStrategy;
+import org.eclipse.osbp.ecview.extension.model.YDelegatingFocusingStrategy;
+import org.eclipse.osbp.ecview.extension.model.YDelegatingLayoutingStrategy;
+import org.eclipse.osbp.ecview.extension.model.YECviewPackage;
+import org.eclipse.osbp.ecview.extension.model.YIconComboBox;
+import org.eclipse.osbp.ecview.extension.model.YLayoutingInfo;
+import org.eclipse.osbp.ecview.extension.model.YMaskedDecimalField;
+import org.eclipse.osbp.ecview.extension.model.YMaskedNumericField;
+import org.eclipse.osbp.ecview.extension.model.YMaskedTextField;
+import org.eclipse.osbp.ecview.extension.model.YPrefixedMaskedTextField;
+import org.eclipse.osbp.ecview.extension.model.YPairComboBox;
+import org.eclipse.osbp.ecview.extension.model.YQuantityTextField;
+import org.eclipse.osbp.ecview.extension.model.YRichTextArea;
+import org.eclipse.osbp.ecview.extension.model.YStrategyLayout;
+import org.eclipse.osbp.ecview.extension.model.YSuspect;
+import org.eclipse.osbp.ecview.extension.model.YSuspectInfo;
+import org.eclipse.osbp.ecview.extension.model.converter.YConverterPackage;
+import org.eclipse.osbp.ecview.extension.model.converter.YCustomDecimalConverter;
+import org.eclipse.osbp.ecview.extension.model.converter.YDecimalToUomoConverter;
+import org.eclipse.osbp.ecview.extension.model.converter.YNumericToResourceConverter;
+import org.eclipse.osbp.ecview.extension.model.converter.YNumericToUomoConverter;
+import org.eclipse.osbp.ecview.extension.model.converter.YObjectToStringConverter;
+import org.eclipse.osbp.ecview.extension.model.converter.YPriceToStringConverter;
+import org.eclipse.osbp.ecview.extension.model.converter.YQuantityToStringConverter;
+import org.eclipse.osbp.ecview.extension.model.converter.YSimpleDecimalConverter;
+import org.eclipse.osbp.ecview.extension.model.converter.YStringToResourceConverter;
+import org.eclipse.osbp.ecview.extension.model.visibility.YAuthorizationVisibilityProcessor;
+import org.eclipse.osbp.ecview.extension.model.visibility.YSubTypeVisibilityProcessor;
+import org.eclipse.osbp.ecview.extension.model.visibility.YVisibilityPackage;
+import org.osgi.service.component.ComponentContext;
+
+/**
+ * An implementation of IEditPartManager for eObjects with
+ * nsURI=http://eclipse.org/emf/emfclient/uimodel.
+ */
+public class EditpartManager extends AbstractEditpartManager {
+
+	/**
+	 * Activate.
+	 *
+	 * @param context
+	 *            the context
+	 */
+	protected void activate(ComponentContext context) {
+
+	}
+
+	/**
+	 * Deactivate.
+	 *
+	 * @param context
+	 *            the context
+	 */
+	protected void deactivate(ComponentContext context) {
+
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see
+	 * org.eclipse.osbp.ecview.core.common.editpart.IEditPartManager#isFor(java
+	 * .lang.Object)
+	 */
+	@Override
+	public boolean isFor(Object element) {
+		if (element instanceof EObject) {
+			String uriString = ((EObject) element).eClass().getEPackage().getNsURI();
+			return uriString.equals(YECviewPackage.eNS_URI) || uriString.equals(YConverterPackage.eNS_URI)
+					|| uriString.equals(YVisibilityPackage.eNS_URI);
+		} else if (element instanceof String) {
+			return element.equals(YECviewPackage.eNS_URI) || element.equals(YConverterPackage.eNS_URI)
+					|| element.equals(YVisibilityPackage.eNS_URI);
+		}
+		return false;
+	}
+
+	/**
+	 * Creates a new instance of the edit part.
+	 * 
+	 * @param <A>
+	 *            an instance of {@link IElementEditpart}
+	 * @param yElement
+	 *            the model element
+	 * @return editpart
+	 */
+	@SuppressWarnings("unchecked")
+	protected <A extends IElementEditpart> A createEditpart(IViewContext context, Object yElement) {
+		// asserts that no editpart was created already for the given element
+		assertOneEditpartForModelelement(yElement);
+
+		ElementEditpart<YElement> result = null;
+		if (yElement instanceof YStrategyLayout) {
+			result = createNewInstance(StrategyLayoutEditpart.class);
+		} else if (yElement instanceof YDefaultLayoutingStrategy) {
+			result = createNewInstance(DefaultLayoutingStrategyEditpart.class);
+		} else if (yElement instanceof YDelegatingLayoutingStrategy) {
+			result = createNewInstance(DelegatingLayoutingStrategyEditpart.class);
+		} else if (yElement instanceof YSuspect) {
+			result = createNewInstance(SuspectEditpart.class);
+		} else if (yElement instanceof YSuspectInfo) {
+			result = createNewInstance(SuspectLayoutingInfoEditpart.class);
+		} else if (yElement instanceof YLayoutingInfo) {
+			result = createNewInstance(LayoutingInfoEditpart.class);
+		} else if (yElement instanceof YDelegatingFocusingStrategy) {
+			result = createNewInstance(DelegatingFocusingStrategyEditpart.class);
+			// custom component BlobUploadComponent
+		} else if (yElement instanceof YBlobUploadComponent) {
+			result = createNewInstance(BlobUploadComponentEditpart.class);
+		} else if (yElement instanceof YCustomDecimalField) {
+			result = createNewInstance(CustomDecimalFieldEditpart.class);
+		} else if (yElement instanceof YObjectToStringConverter) {
+			result = createNewInstance(ObjectToStringConverterEditpart.class);
+		} else if (yElement instanceof YStringToResourceConverter) {
+			result = createNewInstance(StringToResourceConverterEditpart.class);
+		} else if (yElement instanceof YNumericToResourceConverter) {
+			result = createNewInstance(NumericToResourceConverterEditpart.class);
+		} else if (yElement instanceof YQuantityToStringConverter) {
+			result = createNewInstance(QuantityToStringConverterEditpart.class);
+		} else if (yElement instanceof YPriceToStringConverter) {
+			result = createNewInstance(PriceToStringConverterEditpart.class);
+		} else if (yElement instanceof YNumericToUomoConverter) {
+			result = createNewInstance(NumericToUomoConverterEditpart.class);
+		} else if (yElement instanceof YDecimalToUomoConverter) {
+			result = createNewInstance(DecimalToUomoConverterEditpart.class);
+		} else if (yElement instanceof YCustomDecimalConverter) {
+			result = createNewInstance(CustomDecimalConverterEditpart.class);
+		} else if (yElement instanceof YSimpleDecimalConverter) {
+			result = createNewInstance(SimpleDecimalConverterEditpart.class);
+		} else if (yElement instanceof YQuantityTextField) {
+			result = createNewInstance(QuantityTextfieldEditpart.class);
+		} else if (yElement instanceof YAuthorizationVisibilityProcessor) {
+			result = createNewInstance(AuthorizationVisibilityProcessorEditpart.class);
+		} else if (yElement instanceof YIconComboBox) {
+			result = createNewInstance(IconComboBoxEditpart.class);
+		} else if (yElement instanceof YPairComboBox) {
+			result = createNewInstance(PairComboBoxEditpart.class);
+		} else if (yElement instanceof YContentSensitiveLayout) {
+			result = createNewInstance(ContentSensitiveLayoutEditpart.class);
+		} else if (yElement instanceof YSubTypeVisibilityProcessor) {
+			result = createNewInstance(SubTypeVisibilityProcessorEditpart.class);
+		} else if (yElement instanceof YRichTextArea) {
+			result = createNewInstance(RichTextAreaEditpart.class);
+		} else if (yElement instanceof YMaskedTextField) {
+			result = createNewInstance(MaskedTextFieldEditpart.class);
+		} else if (yElement instanceof YMaskedNumericField) {
+			result = createNewInstance(MaskedNumericFieldEditpart.class);
+		} else if (yElement instanceof YMaskedDecimalField) {
+			result = createNewInstance(MaskedDecimalFieldEditpart.class);
+		} else if (yElement instanceof YPrefixedMaskedTextField) {
+			result = createNewInstance(PrefixedMaskedTextFieldEditpart.class);
+		}
+
+		if (result != null) {
+			result.initialize(context, (YElement) yElement);
+		}
+
+		return (A) result;
+	}
+
+	/**
+	 * Returns a new instance of the type.
+	 * 
+	 * @param type
+	 *            The type of the editpart for which an instance should be
+	 *            created.
+	 * @return editPart
+	 * @throws InstantiationException
+	 *             e
+	 * @throws IllegalAccessException
+	 *             e
+	 */
+	protected IElementEditpart newInstance(Class<? extends IElementEditpart> type) throws InstantiationException, IllegalAccessException {
+		try {
+			Constructor<? extends IElementEditpart> c = type.getDeclaredConstructor(new Class<?>[0]);
+			if (!c.isAccessible()) {
+				c.setAccessible(true);
+				return c.newInstance(new Object[0]);
+			}
+		} catch (NoSuchMethodException e) {
+			throw new IllegalStateException(e);
+		} catch (SecurityException e) {
+			throw new IllegalStateException(e);
+		} catch (IllegalArgumentException e) {
+			throw new IllegalStateException(e);
+		} catch (InvocationTargetException e) {
+			throw new IllegalStateException(e);
+		}
+
+		return type.newInstance();
+	}
+}
diff --git a/org.eclipse.osbp.ecview.extension.editparts.emf/src/org/eclipse/osbp/ecview/extension/editparts/emf/LayoutingInfoEditpart.java b/org.eclipse.osbp.ecview.extension.editparts.emf/src/org/eclipse/osbp/ecview/extension/editparts/emf/LayoutingInfoEditpart.java
new file mode 100644
index 0000000..277af5e
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.editparts.emf/src/org/eclipse/osbp/ecview/extension/editparts/emf/LayoutingInfoEditpart.java
@@ -0,0 +1,329 @@
+/**
+ *                                                                            
+ *  Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany) 
+ *                                                                            
+ *  All rights reserved. This program and the accompanying materials           
+ *  are made available under the terms of the Eclipse Public License v1.0       
+ *  which accompanies this distribution, and is available at                  
+ *  http://www.eclipse.org/legal/epl-v10.html                                 
+ *                                                                            
+ *  Contributors:                                                      
+ * 	   Florian Pirchner - Initial implementation
+ * 
+ */
+package org.eclipse.osbp.ecview.extension.editparts.emf;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.osbp.ecview.core.common.editpart.IEmbeddableEditpart;
+import org.eclipse.osbp.ecview.core.common.editpart.IViewEditpart;
+import org.eclipse.osbp.ecview.core.common.editpart.emf.ElementEditpart;
+import org.eclipse.osbp.ecview.core.common.model.core.YEmbeddable;
+import org.eclipse.osbp.ecview.core.common.model.core.YFocusable;
+import org.eclipse.osbp.ecview.core.common.model.core.YView;
+import org.eclipse.osbp.ecview.extension.editparts.IInternalLayoutingInfoEditpart;
+import org.eclipse.osbp.ecview.extension.editparts.IInternalSuspectLayoutingInfoEditpart;
+import org.eclipse.osbp.ecview.extension.editparts.IStrategyLayoutEditpart;
+import org.eclipse.osbp.ecview.extension.editparts.ISuspectEditpart;
+import org.eclipse.osbp.ecview.extension.editparts.ISuspectLayoutingInfoEditpart;
+import org.eclipse.osbp.ecview.extension.model.YECviewPackage;
+import org.eclipse.osbp.ecview.extension.model.YLayoutingInfo;
+import org.eclipse.osbp.ecview.extension.model.YStrategyLayout;
+import org.eclipse.osbp.ecview.extension.model.YSuspectInfo;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * Implementation of {@link ISuspectEditpart}.
+ */
+public class LayoutingInfoEditpart extends ElementEditpart<YLayoutingInfo>
+		implements IInternalLayoutingInfoEditpart {
+
+	/** The Constant LOGGER. */
+	private static final Logger LOGGER = LoggerFactory
+			.getLogger(LayoutingInfoEditpart.class);
+
+	/** The suspect infos. */
+	private List<ISuspectLayoutingInfoEditpart> suspectInfos;
+	
+	/** The content. */
+	private IEmbeddableEditpart content;
+
+	/** The active. */
+	private boolean active;
+
+	/**
+	 * A default constructor.
+	 */
+	protected LayoutingInfoEditpart() {
+	}
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.osbp.ecview.core.common.editpart.emf.ElementEditpart#handleModelAdd(int, org.eclipse.emf.common.notify.Notification)
+	 */
+	@Override
+	protected void handleModelAdd(int featureId, Notification notification) {
+		checkDisposed();
+
+		switch (featureId) {
+		case YECviewPackage.YLAYOUTING_INFO__ACTIVE_SUSPECT_INFOS:
+			YSuspectInfo ySuspectLayoutingInfo = (YSuspectInfo) notification
+					.getNewValue();
+
+			ISuspectLayoutingInfoEditpart editPart = (ISuspectLayoutingInfoEditpart) getEditpart(getContext(), ySuspectLayoutingInfo);
+			internalAddSuspectLayoutingInfo(editPart);
+			break;
+		default:
+			break;
+		}
+	}
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.osbp.ecview.core.common.editpart.emf.ElementEditpart#handleModelRemove(int, org.eclipse.emf.common.notify.Notification)
+	 */
+	@Override
+	protected void handleModelRemove(int featureId, Notification notification) {
+		checkDisposed();
+
+		switch (featureId) {
+		case YECviewPackage.YLAYOUTING_INFO__ACTIVE_SUSPECT_INFOS:
+			YSuspectInfo ySuspectLayoutingInfo = (YSuspectInfo) notification
+					.getOldValue();
+
+			ISuspectLayoutingInfoEditpart editPart = (ISuspectLayoutingInfoEditpart) getEditpart(getContext(),ySuspectLayoutingInfo);
+			internalRemoveSuspectLayoutingInfo(editPart);
+
+			break;
+		default:
+			break;
+		}
+	}
+
+	/**
+	 * {@inheritDoc}
+	 */
+	@Override
+	protected void handleModelSet(int featureId, Notification notification) {
+		checkDisposed();
+
+		switch (featureId) {
+		case YECviewPackage.YLAYOUTING_INFO__CONTENT:
+			internalSetContent((YEmbeddable) notification.getNewValue());
+			break;
+		default:
+			super.handleModelSet(featureId, notification);
+		}
+	}
+
+	/**
+	 * Ensures that the internal bindings are loaded properly.
+	 */
+	private void ensureSuspectLayoutingInfosLoaded() {
+		if (suspectInfos == null) {
+			internalLoadSuspectLayoutingInfos();
+		}
+	}
+
+	/**
+	 * Is called to load and initialize all bindings.
+	 */
+	protected void internalLoadSuspectLayoutingInfos() {
+		checkDisposed();
+
+		if (suspectInfos == null) {
+			suspectInfos = new ArrayList<ISuspectLayoutingInfoEditpart>();
+			for (YSuspectInfo yBindingEP : getModel().getActiveSuspectInfos()) {
+				ISuspectLayoutingInfoEditpart editPart = getEditpart(getContext(),yBindingEP);
+				internalAddSuspectLayoutingInfo(editPart);
+			}
+		}
+	}
+
+	/**
+	 * Is called to change the internal state and add the given editpart to the
+	 * list of bindings.
+	 * 
+	 * @param editpart
+	 *            The editpart to be added
+	 */
+	protected void internalAddSuspectLayoutingInfo(
+			ISuspectLayoutingInfoEditpart editpart) {
+		checkDisposed();
+
+		ensureSuspectLayoutingInfosLoaded();
+		if (!suspectInfos.contains(editpart)) {
+			suspectInfos.add(editpart);
+		}
+	}
+
+	/**
+	 * Is called to change the internal state and remove the given editpart from
+	 * the list of bindings.
+	 * 
+	 * @param editpart
+	 *            The editpart to be removed
+	 */
+	protected void internalRemoveSuspectLayoutingInfo(
+			ISuspectLayoutingInfoEditpart editpart) {
+		checkDisposed();
+
+		if (suspectInfos != null && editpart != null) {
+			editpart.dispose();
+			suspectInfos.remove(editpart);
+		}
+	}
+
+	/**
+	 * Gets the suspect layouting infos.
+	 *
+	 * @return the suspect layouting infos
+	 */
+	public List<ISuspectLayoutingInfoEditpart> getSuspectLayoutingInfos() {
+		ensureSuspectLayoutingInfosLoaded();
+		return Collections.unmodifiableList(suspectInfos);
+	}
+
+	/**
+	 * Set the new content.
+	 *
+	 * @param yEmbeddable
+	 *            the y embeddable
+	 */
+	protected void internalSetContent(YEmbeddable yEmbeddable) {
+		ensureContentLoaded();
+
+		IEmbeddableEditpart newContent = getEditpart(getContext(),yEmbeddable);
+
+		if (this.content == newContent) {
+			return;
+		}
+
+		IEmbeddableEditpart oldContent = this.content;
+		this.content = newContent;
+
+		if (oldContent != null) {
+			oldContent.dispose();
+		}
+	}
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.osbp.ecview.core.common.editpart.emf.ElementEditpart#internalDispose()
+	 */
+	@Override
+	protected void internalDispose() {
+		try {
+
+			LOGGER.info("Disposing " + toString());
+
+			active = false;
+			// lazy loading: edit parts also have to be disposed if they have
+			// not been loaded yet, but exist in the model.
+			if (suspectInfos != null
+					|| getModel().getActiveSuspectInfos().size() > 0) {
+				List<ISuspectLayoutingInfoEditpart> tempElements = getSuspectLayoutingInfos();
+				synchronized (suspectInfos) {
+					for (ISuspectLayoutingInfoEditpart editpart : tempElements
+							.toArray(new ISuspectLayoutingInfoEditpart[tempElements
+									.size()])) {
+						editpart.dispose();
+					}
+				}
+			}
+			suspectInfos = null;
+
+			if (content != null) {
+				content.dispose();
+				content = null;
+			}
+
+		} finally {
+			super.internalDispose();
+		}
+	}
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.osbp.ecview.extension.editparts.ILayoutingInfoEditpart#getView()
+	 */
+	public IViewEditpart getView() {
+		YView yView = ((YStrategyLayout) getModel().eContainer()).getView();
+		return yView != null ? (IViewEditpart) getEditpart(getContext(),yView) : null;
+	}
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.osbp.ecview.extension.editparts.ILayoutingInfoEditpart#getParent()
+	 */
+	@Override
+	public IStrategyLayoutEditpart getParent() {
+		YStrategyLayout cxLayout = (YStrategyLayout) getModel().eContainer();
+		return cxLayout != null ? (IStrategyLayoutEditpart) getEditpart(getContext(),cxLayout)
+				: null;
+	}
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.osbp.ecview.extension.editparts.ILayoutingInfoEditpart#getContent()
+	 */
+	@Override
+	public IEmbeddableEditpart getContent() {
+		ensureContentLoaded();
+		return content;
+	}
+
+	/**
+	 * Ensures that the internal bindings are loaded properly.
+	 */
+	private void ensureContentLoaded() {
+		if (content == null) {
+			content = getEditpart(getContext(),getModel().getContent());
+		}
+	}
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.osbp.ecview.extension.editparts.IInternalLayoutingInfoEditpart#activate()
+	 */
+	@Override
+	public void activate() {
+		if (active) {
+			return;
+		}
+
+		checkDisposed();
+		try {
+			for (ISuspectLayoutingInfoEditpart suspect : getSuspectLayoutingInfos()) {
+				((IInternalSuspectLayoutingInfoEditpart) suspect).activate();
+			}
+
+			// set the first field to be focused
+			if (getModel().getFirstFocus() != null) {
+				YView yView = (YView) getView().getModel();
+				YEmbeddable yTarget = getModel().getFirstFocus().getTarget();
+				if (yTarget != null && yTarget instanceof YFocusable) {
+					yView.setCurrentFocus((YFocusable) yTarget);
+				}
+			}
+
+		} finally {
+			active = true;
+		}
+	}
+	
+	@Override
+	public void postActivate() {
+		for (ISuspectLayoutingInfoEditpart suspect : getSuspectLayoutingInfos()) {
+			((IInternalSuspectLayoutingInfoEditpart) suspect).postActivate();
+		}
+	}
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.osbp.ecview.core.common.editpart.emf.ElementEditpart#requestDispose()
+	 */
+	@Override
+	public void requestDispose() {
+		if (getParent() == null) {
+			return;
+		}
+		getParent().deactivate(this);
+	}
+}
diff --git a/org.eclipse.osbp.ecview.extension.editparts.emf/src/org/eclipse/osbp/ecview/extension/editparts/emf/MaskedDecimalFieldEditpart.java b/org.eclipse.osbp.ecview.extension.editparts.emf/src/org/eclipse/osbp/ecview/extension/editparts/emf/MaskedDecimalFieldEditpart.java
new file mode 100644
index 0000000..cfb7a6d
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.editparts.emf/src/org/eclipse/osbp/ecview/extension/editparts/emf/MaskedDecimalFieldEditpart.java
@@ -0,0 +1,30 @@
+/**
+ *                                                                            
+ *  Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany) 
+ *                                                                            
+ *  All rights reserved. This program and the accompanying materials           
+ *  are made available under the terms of the Eclipse Public License v1.0       
+ *  which accompanies this distribution, and is available at                  
+ *  http://www.eclipse.org/legal/epl-v10.html                                 
+ *                                                                            
+ *  Contributors:                                                      
+ * 	   Florian Pirchner - Initial implementation
+ * 
+ */
+package org.eclipse.osbp.ecview.extension.editparts.emf;
+
+import org.eclipse.osbp.ecview.core.common.editpart.emf.FieldEditpart;
+import org.eclipse.osbp.ecview.extension.editparts.IMaskedDecimalFieldEditpart;
+import org.eclipse.osbp.ecview.extension.model.YMaskedDecimalField;
+
+public class MaskedDecimalFieldEditpart extends
+		FieldEditpart<YMaskedDecimalField> implements
+		IMaskedDecimalFieldEditpart {
+
+	/**
+	 * A default constructor.
+	 */
+	protected MaskedDecimalFieldEditpart() {
+	}
+
+}
diff --git a/org.eclipse.osbp.ecview.extension.editparts.emf/src/org/eclipse/osbp/ecview/extension/editparts/emf/MaskedNumericFieldEditpart.java b/org.eclipse.osbp.ecview.extension.editparts.emf/src/org/eclipse/osbp/ecview/extension/editparts/emf/MaskedNumericFieldEditpart.java
new file mode 100644
index 0000000..c52dbc3
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.editparts.emf/src/org/eclipse/osbp/ecview/extension/editparts/emf/MaskedNumericFieldEditpart.java
@@ -0,0 +1,30 @@
+/**
+ *                                                                            
+ *  Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany) 
+ *                                                                            
+ *  All rights reserved. This program and the accompanying materials           
+ *  are made available under the terms of the Eclipse Public License v1.0       
+ *  which accompanies this distribution, and is available at                  
+ *  http://www.eclipse.org/legal/epl-v10.html                                 
+ *                                                                            
+ *  Contributors:                                                      
+ * 	   Florian Pirchner - Initial implementation
+ * 
+ */
+package org.eclipse.osbp.ecview.extension.editparts.emf;
+
+import org.eclipse.osbp.ecview.core.common.editpart.emf.FieldEditpart;
+import org.eclipse.osbp.ecview.extension.editparts.IMaskedNumericFieldEditpart;
+import org.eclipse.osbp.ecview.extension.model.YMaskedNumericField;
+
+public class MaskedNumericFieldEditpart extends
+		FieldEditpart<YMaskedNumericField> implements
+		IMaskedNumericFieldEditpart {
+
+	/**
+	 * A default constructor.
+	 */
+	protected MaskedNumericFieldEditpart() {
+	}
+
+}
diff --git a/org.eclipse.osbp.ecview.extension.editparts.emf/src/org/eclipse/osbp/ecview/extension/editparts/emf/MaskedTextFieldEditpart.java b/org.eclipse.osbp.ecview.extension.editparts.emf/src/org/eclipse/osbp/ecview/extension/editparts/emf/MaskedTextFieldEditpart.java
new file mode 100644
index 0000000..5d47ab1
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.editparts.emf/src/org/eclipse/osbp/ecview/extension/editparts/emf/MaskedTextFieldEditpart.java
@@ -0,0 +1,29 @@
+/**
+ *                                                                            
+ *  Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany) 
+ *                                                                            
+ *  All rights reserved. This program and the accompanying materials           
+ *  are made available under the terms of the Eclipse Public License v1.0       
+ *  which accompanies this distribution, and is available at                  
+ *  http://www.eclipse.org/legal/epl-v10.html                                 
+ *                                                                            
+ *  Contributors:                                                      
+ * 	   Florian Pirchner - Initial implementation
+ * 
+ */
+package org.eclipse.osbp.ecview.extension.editparts.emf;
+
+import org.eclipse.osbp.ecview.core.common.editpart.emf.FieldEditpart;
+import org.eclipse.osbp.ecview.extension.editparts.IMaskedTextFieldEditpart;
+import org.eclipse.osbp.ecview.extension.model.YMaskedTextField;
+
+public class MaskedTextFieldEditpart extends FieldEditpart<YMaskedTextField>
+		implements IMaskedTextFieldEditpart {
+
+	/**
+	 * A default constructor.
+	 */
+	protected MaskedTextFieldEditpart() {
+	}
+
+}
diff --git a/org.eclipse.osbp.ecview.extension.editparts.emf/src/org/eclipse/osbp/ecview/extension/editparts/emf/PrefixedMaskedTextFieldEditpart.java b/org.eclipse.osbp.ecview.extension.editparts.emf/src/org/eclipse/osbp/ecview/extension/editparts/emf/PrefixedMaskedTextFieldEditpart.java
new file mode 100644
index 0000000..ced0762
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.editparts.emf/src/org/eclipse/osbp/ecview/extension/editparts/emf/PrefixedMaskedTextFieldEditpart.java
@@ -0,0 +1,30 @@
+/**
+ *                                                                            
+ *  Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany) 
+ *                                                                            
+ *  All rights reserved. This program and the accompanying materials           
+ *  are made available under the terms of the Eclipse Public License v1.0       
+ *  which accompanies this distribution, and is available at                  
+ *  http://www.eclipse.org/legal/epl-v10.html                                 
+ *                                                                            
+ *  Contributors:                                                      
+ * 	   Florian Pirchner - Initial implementation
+ * 
+ */
+package org.eclipse.osbp.ecview.extension.editparts.emf;
+
+import org.eclipse.osbp.ecview.core.common.editpart.emf.FieldEditpart;
+import org.eclipse.osbp.ecview.extension.editparts.IPrefixedMaskedTextFieldEditpart;
+import org.eclipse.osbp.ecview.extension.model.YPrefixedMaskedTextField;
+
+public class PrefixedMaskedTextFieldEditpart extends
+		FieldEditpart<YPrefixedMaskedTextField> implements
+		IPrefixedMaskedTextFieldEditpart {
+
+	/**
+	 * A default constructor.
+	 */
+	protected PrefixedMaskedTextFieldEditpart() {
+	}
+
+}
diff --git a/org.eclipse.osbp.ecview.extension.editparts.emf/src/org/eclipse/osbp/ecview/extension/editparts/emf/QuantityTextfieldEditpart.java b/org.eclipse.osbp.ecview.extension.editparts.emf/src/org/eclipse/osbp/ecview/extension/editparts/emf/QuantityTextfieldEditpart.java
new file mode 100644
index 0000000..6867c1f
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.editparts.emf/src/org/eclipse/osbp/ecview/extension/editparts/emf/QuantityTextfieldEditpart.java
@@ -0,0 +1,33 @@
+/**
+ *                                                                            
+ *  Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany) 
+ *                                                                            
+ *  All rights reserved. This program and the accompanying materials           
+ *  are made available under the terms of the Eclipse Public License v1.0       
+ *  which accompanies this distribution, and is available at                  
+ *  http://www.eclipse.org/legal/epl-v10.html                                 
+ *                                                                            
+ *  Contributors:                                                      
+ * 	   Florian Pirchner - Initial implementation
+ * 
+ */
+package org.eclipse.osbp.ecview.extension.editparts.emf;
+
+import org.eclipse.osbp.ecview.core.common.editpart.emf.FieldEditpart;
+import org.eclipse.osbp.ecview.extension.editparts.IQuantityTextFieldEditpart;
+import org.eclipse.osbp.ecview.extension.editparts.ISuspectEditpart;
+import org.eclipse.osbp.ecview.extension.model.YQuantityTextField;
+
+/**
+ * Implementation of {@link ISuspectEditpart}.
+ */
+public class QuantityTextfieldEditpart extends
+		FieldEditpart<YQuantityTextField> implements IQuantityTextFieldEditpart {
+
+	/**
+	 * A default constructor.
+	 */
+	protected QuantityTextfieldEditpart() {
+	}
+
+}
diff --git a/org.eclipse.osbp.ecview.extension.editparts.emf/src/org/eclipse/osbp/ecview/extension/editparts/emf/RichTextAreaEditpart.java b/org.eclipse.osbp.ecview.extension.editparts.emf/src/org/eclipse/osbp/ecview/extension/editparts/emf/RichTextAreaEditpart.java
new file mode 100644
index 0000000..0aabb9f
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.editparts.emf/src/org/eclipse/osbp/ecview/extension/editparts/emf/RichTextAreaEditpart.java
@@ -0,0 +1,33 @@
+/**
+ *                                                                            
+ *  Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany) 
+ *                                                                            
+ *  All rights reserved. This program and the accompanying materials           
+ *  are made available under the terms of the Eclipse Public License v1.0       
+ *  which accompanies this distribution, and is available at                  
+ *  http://www.eclipse.org/legal/epl-v10.html                                 
+ *                                                                            
+ *  Contributors:                                                      
+ * 	   Florian Pirchner - Initial implementation
+ * 
+ */
+package org.eclipse.osbp.ecview.extension.editparts.emf;
+
+import org.eclipse.osbp.ecview.core.common.editpart.emf.FieldEditpart;
+import org.eclipse.osbp.ecview.extension.editparts.IRichTextAreaEditpart;
+import org.eclipse.osbp.ecview.extension.editparts.ISuspectEditpart;
+import org.eclipse.osbp.ecview.extension.model.YRichTextArea;
+
+/**
+ * Implementation of {@link ISuspectEditpart}.
+ */
+public class RichTextAreaEditpart extends
+		FieldEditpart<YRichTextArea> implements IRichTextAreaEditpart {
+
+	/**
+	 * A default constructor.
+	 */
+	protected RichTextAreaEditpart() {
+	}
+
+}
diff --git a/org.eclipse.osbp.ecview.extension.editparts.emf/src/org/eclipse/osbp/ecview/extension/editparts/emf/StrategyLayoutEditpart.java b/org.eclipse.osbp.ecview.extension.editparts.emf/src/org/eclipse/osbp/ecview/extension/editparts/emf/StrategyLayoutEditpart.java
new file mode 100644
index 0000000..150139c
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.editparts.emf/src/org/eclipse/osbp/ecview/extension/editparts/emf/StrategyLayoutEditpart.java
@@ -0,0 +1,850 @@
+/**
+ *                                                                            
+ *  Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany) 
+ *                                                                            
+ *  All rights reserved. This program and the accompanying materials           
+ *  are made available under the terms of the Eclipse Public License v1.0       
+ *  which accompanies this distribution, and is available at                  
+ *  http://www.eclipse.org/legal/epl-v10.html                                 
+ *                                                                            
+ *  Contributors:                                                      
+ * 	   Florian Pirchner - Initial implementation
+ * 
+ */
+package org.eclipse.osbp.ecview.extension.editparts.emf;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.impl.BasicEObjectImpl;
+import org.eclipse.osbp.ecview.core.common.context.IViewContext;
+import org.eclipse.osbp.ecview.core.common.editpart.IEmbeddableEditpart;
+import org.eclipse.osbp.ecview.core.common.editpart.IKeyStrokeDefinitionEditpart;
+import org.eclipse.osbp.ecview.core.common.editpart.emf.EmbeddableEditpart;
+import org.eclipse.osbp.ecview.core.common.editpart.validation.IValidatorEditpart;
+import org.eclipse.osbp.ecview.core.common.editpart.visibility.IVisibilityProcessorEditpart;
+import org.eclipse.osbp.ecview.core.common.model.core.YView;
+import org.eclipse.osbp.ecview.core.common.model.visibility.YVisibilityProcessor;
+import org.eclipse.osbp.ecview.extension.api.IFocusingEnhancer;
+import org.eclipse.osbp.ecview.extension.editparts.IInternalFocusingEditpart;
+import org.eclipse.osbp.ecview.extension.editparts.IInternalLayoutingInfoEditpart;
+import org.eclipse.osbp.ecview.extension.editparts.ILayoutingInfoEditpart;
+import org.eclipse.osbp.ecview.extension.editparts.IStrategyLayoutEditpart;
+import org.eclipse.osbp.ecview.extension.editparts.ISuspectEditpart;
+import org.eclipse.osbp.ecview.extension.editparts.presentation.IStrategyLayoutPresentation;
+import org.eclipse.osbp.ecview.extension.editparts.strategies.IFocusingStrategyEditpart;
+import org.eclipse.osbp.ecview.extension.editparts.strategies.ILayoutingStrategyEditpart;
+import org.eclipse.osbp.ecview.extension.model.YECviewFactory;
+import org.eclipse.osbp.ecview.extension.model.YECviewPackage;
+import org.eclipse.osbp.ecview.extension.model.YFocusingStrategy;
+import org.eclipse.osbp.ecview.extension.model.YLayoutingInfo;
+import org.eclipse.osbp.ecview.extension.model.YLayoutingStrategy;
+import org.eclipse.osbp.ecview.extension.model.YStrategyLayout;
+import org.eclipse.osbp.ecview.extension.model.YSuspect;
+import org.eclipse.osbp.runtime.common.keystroke.KeyStrokeCallback;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.FrameworkUtil;
+import org.osgi.framework.InvalidSyntaxException;
+import org.osgi.framework.ServiceReference;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * The implementation of the IStrategyLayoutEditpart.
+ */
+public class StrategyLayoutEditpart extends EmbeddableEditpart<YStrategyLayout>
+		implements IStrategyLayoutEditpart {
+
+	/** The Constant LOGGER. */
+	private static final Logger LOGGER = LoggerFactory
+			.getLogger(StrategyLayoutEditpart.class);
+
+	/** The suspects. */
+	private List<ISuspectEditpart> suspects;
+
+	/** The focusing strategies. */
+	private List<IFocusingStrategyEditpart> focusingStrategies;
+
+	/** The layouting strategy. */
+	private ILayoutingStrategyEditpart layoutingStrategy;
+
+	/** The layouting info. */
+	private ILayoutingInfoEditpart layoutingInfo;
+
+	/** The keystroke callbacks. */
+	private HashMap<IFocusingStrategyEditpart, KeyStrokeCallback> keystrokeCallbacks = new HashMap<IFocusingStrategyEditpart, KeyStrokeCallback>();
+
+	/**
+	 * Instantiates a new strategy layout editpart.
+	 */
+	protected StrategyLayoutEditpart() {
+
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see
+	 * org.eclipse.osbp.ecview.core.common.editpart.datatypes.IDatatypeEditpart
+	 * .DatatypeBridge#getDatatypeValidators()
+	 */
+	@Override
+	public List<IValidatorEditpart> getDatatypeValidators() {
+		return Collections.emptyList();
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see org.eclipse.osbp.ecview.extension.editparts.IStrategyLayoutEditpart#
+	 * getSuspects()
+	 */
+	@Override
+	public List<ISuspectEditpart> getSuspects() {
+		checkDisposed();
+
+		if (suspects == null) {
+			internalLoadSuspects();
+		}
+		return Collections.unmodifiableList(suspects);
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see org.eclipse.osbp.ecview.core.common.editpart.emf.EmbeddableEditpart#
+	 * initialize(org.eclipse.osbp.ecview.core.common.model.core.YEmbeddable)
+	 */
+	@Override
+	public void initialize(IViewContext context, YStrategyLayout model) {
+
+		checkDisposed();
+
+		// register the adapter first to find this editpart later...
+		EObject eObject = castEObject(model);
+		try {
+			// avoid delivery during init
+			((BasicEObjectImpl) eObject).eSetDeliver(false);
+			if (!eObject.eAdapters().contains(this)) {
+				eObject.eAdapters().add(this);
+			}
+
+			// initialize the default strategies if required
+			//
+			if (model.getLayoutingStrategy() == null) {
+				model.setLayoutingStrategy(YECviewFactory.eINSTANCE
+						.createYDefaultLayoutingStrategy());
+			}
+			this.layoutingStrategy = getEditpart(getContext(),
+					model.getLayoutingStrategy());
+
+			if (model.getFocusingStrategies().isEmpty()) {
+				enhanceDefaultFocusing(model);
+			}
+
+			super.initialize(context, model);
+		} finally {
+			((BasicEObjectImpl) eObject).eSetDeliver(true);
+		}
+	}
+
+	protected void registerAdapter(Adapter adapter) {
+		// not here!
+	}
+
+	protected void checkAdapter(YStrategyLayout model) {
+		// not here!
+	}
+
+	/**
+	 * Enhance default focusing.
+	 *
+	 * @param model
+	 *            the model
+	 */
+	private void enhanceDefaultFocusing(YStrategyLayout model) {
+		IFocusingEnhancer applier = findFocusingEnhancer(model
+				.getDefaultFocusingEnhancerId());
+		if (applier != null) {
+			applier.enhanceFocusing(model);
+		}
+	}
+
+	/**
+	 * Find focusing enhancer.
+	 *
+	 * @param defaultFocusingEnhancerId
+	 *            the default focusing enhancer id
+	 * @return the i focusing enhancer
+	 */
+	private IFocusingEnhancer findFocusingEnhancer(
+			String defaultFocusingEnhancerId) {
+		if (defaultFocusingEnhancerId != null) {
+			return findFocusingEnhancerService(defaultFocusingEnhancerId);
+		} else {
+			return findDefaultFocusingEnhancerService();
+		}
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see org.eclipse.osbp.ecview.extension.editparts.IStrategyLayoutEditpart#
+	 * findFocusingEnhancerService(java.lang.String)
+	 */
+	public IFocusingEnhancer findFocusingEnhancerService(String id) {
+		BundleContext context = FrameworkUtil.getBundle(getClass())
+				.getBundleContext();
+
+		try {
+			Collection<ServiceReference<IFocusingEnhancer>> references = context
+					.getServiceReferences(IFocusingEnhancer.class, String
+							.format("(ecview.focusing.enhancer.id=%s)", id));
+			if (!references.isEmpty()) {
+				IFocusingEnhancer provider = context.getService(references
+						.iterator().next());
+				return provider;
+			}
+		} catch (InvalidSyntaxException e) {
+			LOGGER.warn("{}", e);
+		}
+		return null;
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see org.eclipse.osbp.ecview.extension.editparts.IStrategyLayoutEditpart#
+	 * findDefaultFocusingEnhancerService()
+	 */
+	public IFocusingEnhancer findDefaultFocusingEnhancerService() {
+		BundleContext context = FrameworkUtil.getBundle(getClass())
+				.getBundleContext();
+
+		try {
+			Collection<ServiceReference<IFocusingEnhancer>> references = context
+					.getServiceReferences(IFocusingEnhancer.class,
+							"(ecview.focusing.enhancer.default=true)");
+			if (!references.isEmpty()) {
+				IFocusingEnhancer provider = context.getService(references
+						.iterator().next());
+				return provider;
+			}
+		} catch (InvalidSyntaxException e) {
+			LOGGER.warn("{}", e);
+		}
+		return null;
+	}
+
+	/**
+	 * Clients may override and return a proper default focusing strategy.
+	 *
+	 * @return the default focusing strategy
+	 */
+	protected YFocusingStrategy getDefaultFocusingStrategy() {
+		return null;
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see
+	 * org.eclipse.osbp.ecview.core.common.editpart.emf.EmbeddableEditpart#render
+	 * (java.lang.Object)
+	 */
+	@Override
+	public Object render(Object parentWidget) {
+		if (this.layoutingStrategy != null) {
+			// call the layout strategy before rendering -> Will set the content
+			this.layoutingStrategy.layout();
+		}
+
+		internalActivateLayoutingInfo();
+
+		internalActivateFocusingStrategies();
+
+		Object result = super.render(parentWidget);
+		
+		internalPostActivateLayoutingInfo();
+		
+		return result;
+	}
+
+	/**
+	 * Returns true, if the presenter is present.
+	 *
+	 * @return true, if is presentation present
+	 */
+	protected boolean isPresentationPresent() {
+		return internalGetPresentation() != null;
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see org.eclipse.osbp.ecview.core.common.editpart.emf.EmbeddableEditpart#
+	 * getPresentation()
+	 */
+	@SuppressWarnings("unchecked")
+	@Override
+	public IStrategyLayoutPresentation<?> getPresentation() {
+		return super.getPresentation();
+	}
+
+	/**
+	 * {@inheritDoc}
+	 */
+	@Override
+	protected void handleModelSet(int featureId, Notification notification) {
+		checkDisposed();
+
+		switch (featureId) {
+		case YECviewPackage.YSTRATEGY_LAYOUT__LAYOUTING_STRATEGY:
+			internalSetLayoutingStrategy((YLayoutingStrategy) notification
+					.getNewValue());
+			break;
+		case YECviewPackage.YSTRATEGY_LAYOUT__LAYOUTING_INFO:
+			internalSetLayoutingInfo((YLayoutingInfo) notification
+					.getNewValue());
+			break;
+		case YECviewPackage.YSTRATEGY_LAYOUT__DEFAULT_FOCUSING_ENHANCER_ID:
+			enhanceDefaultFocusing(getModel());
+			break;
+		default:
+			super.handleModelSet(featureId, notification);
+		}
+	}
+
+	/**
+	 * Set the new content.
+	 *
+	 * @param cxInfo
+	 *            the cx info
+	 */
+	protected void internalSetLayoutingInfo(YLayoutingInfo cxInfo) {
+		ILayoutingInfoEditpart newEditpart = getEditpart(getContext(), cxInfo);
+
+		if (this.layoutingInfo == newEditpart) {
+			return;
+		}
+
+		if (this.layoutingInfo != null) {
+			getPresentation().setContent(null);
+			this.layoutingInfo.dispose();
+		}
+
+		this.layoutingInfo = newEditpart;
+
+		if (isRendered()) {
+			internalActivateLayoutingInfo();
+		}
+	}
+
+	/**
+	 * Internal activate layouting info.
+	 */
+	protected void internalActivateLayoutingInfo() {
+		if (this.layoutingInfo != null) {
+			// refresh the content
+			IEmbeddableEditpart contentEP = this.layoutingInfo.getContent();
+			getPresentation().setContent(contentEP);
+
+			((IInternalLayoutingInfoEditpart) this.layoutingInfo).activate();
+
+			YView yView = (YView) getView().getModel();
+			for (YVisibilityProcessor yP : yView.getVisibilityProcessors()) {
+				IVisibilityProcessorEditpart ep = getEditpart(getContext(), yP);
+				if (ep != null) {
+					ep.fire();
+				}
+			}
+		}
+	}
+
+	protected void internalPostActivateLayoutingInfo() {
+		if (this.layoutingInfo != null) {
+			((IInternalLayoutingInfoEditpart) this.layoutingInfo)
+					.postActivate();
+		}
+	}
+
+	/**
+	 * Internal activate focusing strategies.
+	 */
+	protected void internalActivateFocusingStrategies() {
+		for (IFocusingStrategyEditpart strategyEP : getFocusingStrategies()) {
+			internalActivateFocusingStrategy(strategyEP);
+		}
+	}
+
+	/**
+	 * Internally activate the focusing strategy.
+	 *
+	 * @param strategy
+	 *            the strategy
+	 */
+	protected void internalActivateFocusingStrategy(
+			final IFocusingStrategyEditpart strategy) {
+		if (strategy != null) {
+			IKeyStrokeDefinitionEditpart keyStrokeDefEditpart = strategy
+					.getKeyStrokeDefinition();
+
+			if (keyStrokeDefEditpart == null) {
+				LOGGER.error("Focusing strategy not activated, since missing key stroke definitions. Strategy: "
+						+ strategy.getId());
+				return;
+			}
+
+			KeyStrokeCallback callback = new KeyStrokeCallback() {
+				@Override
+				public void callback(Object source, Object target) {
+					requestFocusing(source, target, strategy);
+				}
+			};
+			keystrokeCallbacks.put(strategy, callback);
+			getPresentation().registerKeyStroke(keyStrokeDefEditpart, callback);
+			((IInternalFocusingEditpart) strategy).activate();
+		}
+	}
+
+	/**
+	 * Internally deactivate the focusing strategy.
+	 *
+	 * @param strategy
+	 *            the strategy
+	 */
+	protected void internalDectivateFocusingStrategy(
+			final IFocusingStrategyEditpart strategy) {
+		if (strategy != null) {
+			KeyStrokeCallback callback = keystrokeCallbacks.remove(strategy);
+			if (callback != null) {
+				getPresentation().unregisterKeyStroke(callback);
+			}
+		}
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see org.eclipse.osbp.ecview.extension.editparts.IStrategyLayoutEditpart#
+	 * deactivate
+	 * (org.eclipse.osbp.ecview.extension.editparts.ILayoutingInfoEditpart)
+	 */
+	@Override
+	public void deactivate(ILayoutingInfoEditpart info) {
+		if (info == null || info != this.layoutingInfo) {
+			return;
+		}
+		getModel().setLayoutingInfo(null);
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see
+	 * org.eclipse.osbp.ecview.extension.editparts.IStrategyLayoutEditpart#activate
+	 * (org.eclipse.osbp.ecview.extension.editparts.ILayoutingInfoEditpart)
+	 */
+	@Override
+	public void activate(ILayoutingInfoEditpart info) {
+		getModel().setLayoutingInfo((YLayoutingInfo) info.getModel());
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see org.eclipse.osbp.ecview.extension.editparts.IStrategyLayoutEditpart#
+	 * requestLayouting()
+	 */
+	@Override
+	public void requestLayouting() {
+		if (!isRendered()) {
+			return;
+		}
+
+		if (this.layoutingStrategy != null) {
+			// call the layout strategy before rendering -> Will set the content
+			this.layoutingStrategy.layout();
+		}
+	}
+
+	/**
+	 * Adds the focusing strategy.
+	 *
+	 * @param strategy
+	 *            the strategy
+	 */
+	protected void internalAddFocusingStrategy(
+			IFocusingStrategyEditpart strategy) {
+		checkDisposed();
+
+		if (focusingStrategies == null) {
+			internalLoadFocusingStrategies();
+		}
+		if (!focusingStrategies.contains(strategy)) {
+			focusingStrategies.add(strategy);
+
+			if (isRendered()) {
+				internalActivateFocusingStrategy(strategy);
+			}
+		}
+	}
+
+	/**
+	 * Removes the focusing strategy.
+	 *
+	 * @param strategy
+	 *            the strategy
+	 */
+	protected void internalRemoveFocusingStrategy(
+			IFocusingStrategyEditpart strategy) {
+		checkDisposed();
+
+		if (focusingStrategies != null && strategy != null) {
+
+			// deactivate and dispose the strategy
+			internalDectivateFocusingStrategy(strategy);
+			strategy.dispose();
+
+			focusingStrategies.remove(strategy);
+		}
+	}
+
+	/**
+	 * Set the layout strategy.
+	 *
+	 * @param cxStrategy
+	 *            the cx strategy
+	 */
+	protected void internalSetLayoutingStrategy(YLayoutingStrategy cxStrategy) {
+		ILayoutingStrategyEditpart newEitpart = getEditpart(getContext(),
+				cxStrategy);
+
+		if (this.layoutingStrategy != null) {
+			layoutingStrategy.dispose();
+		}
+
+		this.layoutingStrategy = newEitpart;
+
+		if (this.layoutingStrategy == null) {
+			getModel().setLayoutingStrategy(
+					YECviewFactory.eINSTANCE.createYDefaultLayoutingStrategy());
+		} else {
+			this.layoutingStrategy.layout();
+		}
+	}
+
+	/**
+	 * {@inheritDoc}
+	 */
+	protected void handleModelAdd(int featureId, Notification notification) {
+		checkDisposed();
+
+		switch (featureId) {
+		case YECviewPackage.YSTRATEGY_LAYOUT__SUSPECTS:
+			YSuspect yElement = (YSuspect) notification.getNewValue();
+
+			ISuspectEditpart editPart = (ISuspectEditpart) getEditpart(
+					getContext(), yElement);
+			internalAddSuspect(editPart);
+			break;
+		case YECviewPackage.YSTRATEGY_LAYOUT__FOCUSING_STRATEGIES:
+			IFocusingStrategyEditpart focusingEditPart = (IFocusingStrategyEditpart) getEditpart(
+					getContext(),
+					(YFocusingStrategy) notification.getNewValue());
+			internalAddFocusingStrategy(focusingEditPart);
+			break;
+		default:
+			break;
+		}
+	}
+
+	/**
+	 * {@inheritDoc}
+	 */
+	@Override
+	protected void handleModelMove(int featureId, Notification notification) {
+		checkDisposed();
+
+		switch (featureId) {
+		case YECviewPackage.YSTRATEGY_LAYOUT__SUSPECTS:
+			YSuspect yElement = (YSuspect) notification.getNewValue();
+
+			ISuspectEditpart editPart = (ISuspectEditpart) getEditpart(
+					getContext(), yElement);
+			internalMoveSuspect(editPart, notification.getPosition());
+			break;
+		default:
+			break;
+		}
+	}
+
+	/**
+	 * {@inheritDoc}
+	 */
+	protected void handleModelRemove(int featureId, Notification notification) {
+		checkDisposed();
+
+		switch (featureId) {
+		case YECviewPackage.YSTRATEGY_LAYOUT__SUSPECTS:
+			YSuspect yElement = (YSuspect) notification.getOldValue();
+
+			ISuspectEditpart editPart = (ISuspectEditpart) getEditpart(
+					getContext(), yElement);
+			internalRemoveSuspect(editPart);
+			break;
+		case YECviewPackage.YSTRATEGY_LAYOUT__FOCUSING_STRATEGIES:
+			IFocusingStrategyEditpart focusingEditPart = (IFocusingStrategyEditpart) getEditpart(
+					getContext(),
+					(YFocusingStrategy) notification.getOldValue());
+			internalRemoveFocusingStrategy(focusingEditPart);
+			break;
+		default:
+			break;
+		}
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see org.eclipse.osbp.ecview.core.common.editpart.emf.ElementEditpart#
+	 * handleModelRemoveMany(int, org.eclipse.emf.common.notify.Notification)
+	 */
+	protected void handleModelRemoveMany(int featureId,
+			Notification notification) {
+		checkDisposed();
+
+		switch (featureId) {
+		case YECviewPackage.YSTRATEGY_LAYOUT__FOCUSING_STRATEGIES:
+
+			@SuppressWarnings("unchecked")
+			List<YFocusingStrategy> oldValues = (List<YFocusingStrategy>) notification
+					.getOldValue();
+			for (YFocusingStrategy cxFocusingStrategy : oldValues) {
+				IFocusingStrategyEditpart focusingEditPart = (IFocusingStrategyEditpart) getEditpart(
+						getContext(), cxFocusingStrategy);
+				internalRemoveFocusingStrategy(focusingEditPart);
+			}
+			break;
+		default:
+			break;
+		}
+	}
+
+	/**
+	 * Is called to change the internal state and add the given editpart to the
+	 * list of suspects.
+	 * 
+	 * @param editpart
+	 *            The editpart to be added
+	 */
+	protected void internalAddSuspect(ISuspectEditpart editpart) {
+		checkDisposed();
+
+		if (suspects == null) {
+			internalLoadSuspects();
+		}
+		if (!suspects.contains(editpart)) {
+			suspects.add(editpart);
+		}
+	}
+
+	/**
+	 * Is called to change the internal state and to move the given editpart in
+	 * the list of suspects.
+	 * 
+	 * @param editpart
+	 *            The editpart to be inserted
+	 * @param index
+	 *            The index to move the suspect.
+	 */
+	protected void internalMoveSuspect(ISuspectEditpart editpart, int index) {
+		checkDisposed();
+
+		if (suspects == null) {
+			internalLoadSuspects();
+		} else if (!suspects.contains(editpart)) {
+			throw new RuntimeException(String.format(
+					"Editpart %s is not contained in elements",
+					editpart.getId()));
+		} else {
+			suspects.remove(editpart);
+			suspects.add(index, editpart);
+		}
+	}
+
+	/**
+	 * Is called to change the internal state and remove the given editpart from
+	 * the list of suspects.
+	 * 
+	 * @param editpart
+	 *            The editpart to be removed
+	 */
+	protected void internalRemoveSuspect(ISuspectEditpart editpart) {
+		checkDisposed();
+
+		if (suspects != null && editpart != null) {
+			suspects.remove(editpart);
+		}
+	}
+
+	/**
+	 * Is called to load and initialize all suspects.
+	 */
+	protected void internalLoadSuspects() {
+		checkDisposed();
+
+		if (suspects == null) {
+			suspects = new ArrayList<ISuspectEditpart>();
+			for (YSuspect yElement : getModel().getSuspects()) {
+				ISuspectEditpart editPart = getEditpart(getContext(), yElement);
+				internalAddSuspect(editPart);
+			}
+		}
+	}
+
+	/**
+	 * Is called to load and initialize all focusing strategies.
+	 */
+	protected void internalLoadFocusingStrategies() {
+		checkDisposed();
+
+		if (focusingStrategies == null) {
+			focusingStrategies = new ArrayList<IFocusingStrategyEditpart>();
+			for (YFocusingStrategy yElement : getModel()
+					.getFocusingStrategies()) {
+				IFocusingStrategyEditpart editPart = getEditpart(getContext(),
+						yElement);
+				internalAddFocusingStrategy(editPart);
+			}
+		}
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see org.eclipse.osbp.ecview.core.common.editpart.emf.EmbeddableEditpart#
+	 * internalDispose()
+	 */
+	@Override
+	protected void internalDispose() {
+		try {
+
+			LOGGER.info("Disposing " + toString());
+
+			if (layoutingInfo != null) {
+				layoutingInfo.dispose();
+				layoutingInfo = null;
+			}
+
+			// lazy loading: edit parts also have to be disposed if they have
+			// not been loaded yet, but exist in the model.
+			if (suspects != null || getModel().getSuspects().size() > 0) {
+				List<ISuspectEditpart> tempElements = getSuspects();
+				synchronized (suspects) {
+					for (ISuspectEditpart editpart : tempElements
+							.toArray(new ISuspectEditpart[tempElements.size()])) {
+						editpart.dispose();
+					}
+				}
+			}
+			suspects = null;
+
+			if (layoutingStrategy != null) {
+				layoutingStrategy.dispose();
+				layoutingStrategy = null;
+			}
+
+			if (focusingStrategies != null
+					|| getModel().getFocusingStrategies().size() > 0) {
+				List<IFocusingStrategyEditpart> tempElements = getFocusingStrategies();
+				synchronized (focusingStrategies) {
+					for (IFocusingStrategyEditpart editpart : tempElements
+							.toArray(new IFocusingStrategyEditpart[tempElements
+									.size()])) {
+						editpart.dispose();
+					}
+				}
+			}
+			focusingStrategies = null;
+
+		} finally {
+			super.internalDispose();
+		}
+	}
+
+	/**
+	 * ONLY FOR TESTS!.
+	 *
+	 * @return the focusingStrategy
+	 */
+	public List<IFocusingStrategyEditpart> getFocusingStrategies() {
+		internalLoadFocusingStrategies();
+
+		return focusingStrategies != null ? Collections
+				.unmodifiableList(focusingStrategies) : Collections
+				.<IFocusingStrategyEditpart> emptyList();
+	}
+
+	/**
+	 * ONLY FOR TESTS!.
+	 *
+	 * @return the layoutingStrategy
+	 */
+	public ILayoutingStrategyEditpart getLayoutingStrategy() {
+		return layoutingStrategy;
+	}
+
+	/**
+	 * Gets the keystroke callbacks.
+	 *
+	 * @return the keystrokeCallbacks
+	 */
+	public HashMap<IFocusingStrategyEditpart, KeyStrokeCallback> getKeystrokeCallbacks() {
+		return keystrokeCallbacks;
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see org.eclipse.osbp.ecview.extension.editparts.IStrategyLayoutEditpart#
+	 * requestFocusing(java.lang.Object, java.lang.Object,
+	 * org.eclipse.osbp.ecview
+	 * .extension.editparts.strategies.IFocusingStrategyEditpart)
+	 */
+	@Override
+	public void requestFocusing(Object source, Object target,
+			IFocusingStrategyEditpart strategy) {
+		strategy.focus(source, target);
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see org.eclipse.osbp.ecview.extension.editparts.IStrategyLayoutEditpart#
+	 * requestRefresh(org.eclipse.osbp.ecview.extension.editparts.strategies.
+	 * IFocusingStrategyEditpart)
+	 */
+	@Override
+	public void requestRefresh(final IFocusingStrategyEditpart strategy) {
+		internalDectivateFocusingStrategy(strategy);
+		internalActivateFocusingStrategy(strategy);
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see org.eclipse.osbp.ecview.extension.editparts.IStrategyLayoutEditpart#
+	 * resetToDefaultFocusing()
+	 */
+	@Override
+	public void resetToDefaultFocusing() {
+		enhanceDefaultFocusing(getModel());
+	}
+}
diff --git a/org.eclipse.osbp.ecview.extension.editparts.emf/src/org/eclipse/osbp/ecview/extension/editparts/emf/SuspectEditpart.java b/org.eclipse.osbp.ecview.extension.editparts.emf/src/org/eclipse/osbp/ecview/extension/editparts/emf/SuspectEditpart.java
new file mode 100644
index 0000000..c28c383
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.editparts.emf/src/org/eclipse/osbp/ecview/extension/editparts/emf/SuspectEditpart.java
@@ -0,0 +1,480 @@
+/**
+ *                                                                            
+ *  Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany) 
+ *                                                                            
+ *  All rights reserved. This program and the accompanying materials           
+ *  are made available under the terms of the Eclipse Public License v1.0       
+ *  which accompanies this distribution, and is available at                  
+ *  http://www.eclipse.org/legal/epl-v10.html                                 
+ *                                                                            
+ *  Contributors:                                                      
+ * 	   Florian Pirchner - Initial implementation
+ * 
+ */
+package org.eclipse.osbp.ecview.extension.editparts.emf;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.osbp.ecview.core.common.editpart.ICommandEditpart;
+import org.eclipse.osbp.ecview.core.common.editpart.IViewEditpart;
+import org.eclipse.osbp.ecview.core.common.editpart.binding.IBindableEndpointEditpart;
+import org.eclipse.osbp.ecview.core.common.editpart.emf.ElementEditpart;
+import org.eclipse.osbp.ecview.core.common.editpart.visibility.IVisibilityProcessorEditpart;
+import org.eclipse.osbp.ecview.core.common.model.binding.YBindingEndpoint;
+import org.eclipse.osbp.ecview.core.common.model.binding.YBindingSet;
+import org.eclipse.osbp.ecview.core.common.model.core.YCommand;
+import org.eclipse.osbp.ecview.core.common.model.core.YCommandSet;
+import org.eclipse.osbp.ecview.core.common.model.core.YView;
+import org.eclipse.osbp.ecview.core.common.model.visibility.YVisibilityProcessor;
+import org.eclipse.osbp.ecview.extension.editparts.ISuspectEditpart;
+import org.eclipse.osbp.ecview.extension.model.YECviewPackage;
+import org.eclipse.osbp.ecview.extension.model.YStrategyLayout;
+import org.eclipse.osbp.ecview.extension.model.YSuspect;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * Implementation of {@link ISuspectEditpart}.
+ */
+public class SuspectEditpart extends ElementEditpart<YSuspect> implements
+		ISuspectEditpart {
+
+	/** The Constant LOGGER. */
+	private static final Logger LOGGER = LoggerFactory
+			.getLogger(SuspectEditpart.class);
+
+	/** The bindings. */
+	private List<IBindableEndpointEditpart> bindings;
+	
+	/** The commands. */
+	private List<ICommandEditpart> commands;
+	
+	/** The visibility processors. */
+	private List<IVisibilityProcessorEditpart> visibilityProcessors;
+
+	/**
+	 * A default constructor.
+	 */
+	protected SuspectEditpart() {
+	}
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.osbp.ecview.core.common.editpart.emf.ElementEditpart#createModel()
+	 */
+	//
+	// @Override
+	// protected void doInitPresentation(IWidgetPresentation<?> presentation) {
+	// IFieldPresentation<?> fieldPresentation = (IFieldPresentation<?>)
+	// presentation;
+	//
+	// if (fieldPresentation == null) {
+	// LOGGER.warn("Presentation is null for " + getModel());
+	// return;
+	// }
+	// }
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.osbp.ecview.core.common.editpart.emf.ElementEditpart#handleModelAdd(int, org.eclipse.emf.common.notify.Notification)
+	 */
+	@Override
+	protected void handleModelAdd(int featureId, Notification notification) {
+		checkDisposed();
+
+		switch (featureId) {
+		case YECviewPackage.YSUSPECT__VALUE_BINDING_ENDPOINTS:
+			YBindingEndpoint yBindingEndpoint = (YBindingEndpoint) notification
+					.getNewValue();
+
+			IBindableEndpointEditpart editPart = (IBindableEndpointEditpart) getEditpart(getContext(),yBindingEndpoint);
+			internalAddBindingEndpoint(editPart);
+			break;
+		case YECviewPackage.YSUSPECT__COMMANDS:
+			YCommand yCommand = (YCommand) notification.getNewValue();
+
+			ICommandEditpart cEditPart = (ICommandEditpart) getEditpart(getContext(),yCommand);
+			internalAddCommand(cEditPart);
+			break;
+		case YECviewPackage.YSUSPECT__VISIBILITY_PROCESSORS:
+			YVisibilityProcessor yProcessor = (YVisibilityProcessor) notification
+					.getNewValue();
+
+			IVisibilityProcessorEditpart pEditPart = (IVisibilityProcessorEditpart) getEditpart(getContext(),yProcessor);
+			internalAddVisibilityProcessor(pEditPart);
+			break;
+		default:
+			break;
+		}
+	}
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.osbp.ecview.core.common.editpart.emf.ElementEditpart#handleModelRemove(int, org.eclipse.emf.common.notify.Notification)
+	 */
+	@Override
+	protected void handleModelRemove(int featureId, Notification notification) {
+		checkDisposed();
+
+		switch (featureId) {
+		case YECviewPackage.YSUSPECT__VALUE_BINDING_ENDPOINTS:
+			YBindingEndpoint yBindingEndpoint = (YBindingEndpoint) notification
+					.getOldValue();
+
+			IBindableEndpointEditpart editPart = (IBindableEndpointEditpart) getEditpart(getContext(),yBindingEndpoint);
+			internalRemoveBindingEndpoint(editPart);
+			break;
+		case YECviewPackage.YSUSPECT__COMMANDS:
+			YCommand yCommand = (YCommand) notification.getOldValue();
+
+			ICommandEditpart cEditPart = (ICommandEditpart) getEditpart(getContext(),yCommand);
+			internalRemoveCommand(cEditPart);
+			break;
+		case YECviewPackage.YSUSPECT__VISIBILITY_PROCESSORS:
+			YVisibilityProcessor yProcessor = (YVisibilityProcessor) notification
+					.getOldValue();
+
+			IVisibilityProcessorEditpart pEditPart = (IVisibilityProcessorEditpart) getEditpart(getContext(),yProcessor);
+			internalRemoveVisibilityProcessor(pEditPart);
+			break;
+		default:
+			break;
+		}
+	}
+
+	/**
+	 * Ensures that the internal bindings are loaded properly.
+	 */
+	private void ensureBindingEndpointsLoaded() {
+		if (bindings == null) {
+			internalLoadBindingEndpoints();
+		}
+	}
+
+	/**
+	 * Is called to load and initialize all bindings.
+	 */
+	protected void internalLoadBindingEndpoints() {
+		checkDisposed();
+
+		if (bindings == null) {
+			bindings = new ArrayList<IBindableEndpointEditpart>();
+			for (YBindingEndpoint yBindingEP : getModel()
+					.getValueBindingEndpoints()) {
+				IBindableEndpointEditpart editPart = getEditpart(getContext(),yBindingEP);
+				internalAddBindingEndpoint(editPart);
+			}
+		}
+	}
+
+	/**
+	 * Is called to change the internal state and add the given editpart to the
+	 * list of bindings.
+	 * 
+	 * @param editpart
+	 *            The editpart to be added
+	 */
+	protected void internalAddBindingEndpoint(IBindableEndpointEditpart editpart) {
+		checkDisposed();
+
+		ensureBindingEndpointsLoaded();
+		if (!bindings.contains(editpart)) {
+			bindings.add(editpart);
+		}
+	}
+
+	/**
+	 * Is called to change the internal state and remove the given editpart from
+	 * the list of bindings.
+	 * 
+	 * @param editpart
+	 *            The editpart to be removed
+	 */
+	protected void internalRemoveBindingEndpoint(
+			IBindableEndpointEditpart editpart) {
+		checkDisposed();
+
+		if (bindings != null && editpart != null) {
+			bindings.remove(editpart);
+		}
+	}
+
+	/**
+	 * Gets the binding endpoints.
+	 *
+	 * @return the binding endpoints
+	 */
+	public List<IBindableEndpointEditpart> getBindingEndpoints() {
+		ensureBindingEndpointsLoaded();
+		return Collections.unmodifiableList(bindings);
+	}
+
+	/**
+	 * Ensures that the internal commands are loaded properly.
+	 */
+	private void ensureCommandsLoaded() {
+		if (commands == null) {
+			internalLoadCommands();
+		}
+	}
+
+	/**
+	 * Is called to load and initialize all commands.
+	 */
+	protected void internalLoadCommands() {
+		checkDisposed();
+
+		if (commands == null) {
+			commands = new ArrayList<ICommandEditpart>();
+			for (YCommand yCommand : getModel().getCommands()) {
+				ICommandEditpart editPart = getEditpart(getContext(),yCommand);
+				internalAddCommand(editPart);
+			}
+		}
+	}
+
+	/**
+	 * Is called to change the internal state and add the given editpart to the
+	 * list of commands.
+	 * 
+	 * @param editpart
+	 *            The editpart to be added
+	 */
+	protected void internalAddCommand(ICommandEditpart editpart) {
+		checkDisposed();
+
+		ensureCommandsLoaded();
+		if (!commands.contains(editpart)) {
+			commands.add(editpart);
+		}
+	}
+
+	/**
+	 * Is called to change the internal state and remove the given editpart from
+	 * the list of commands.
+	 * 
+	 * @param editpart
+	 *            The editpart to be removed
+	 */
+	protected void internalRemoveCommand(ICommandEditpart editpart) {
+		checkDisposed();
+
+		if (commands != null && editpart != null) {
+			commands.remove(editpart);
+		}
+	}
+
+	/**
+	 * Gets the commands.
+	 *
+	 * @return the commands
+	 */
+	public List<ICommandEditpart> getCommands() {
+		ensureCommandsLoaded();
+		return Collections.unmodifiableList(commands);
+	}
+
+	/**
+	 * Ensures that the internal visibilityProcessors are loaded properly.
+	 */
+	private void ensureVisibilityProcessorLoaded() {
+		if (visibilityProcessors == null) {
+			internalLoadVisibilityProcessors();
+		}
+	}
+
+	/**
+	 * Is called to load and initialize all visibilityProcessors.
+	 */
+	protected void internalLoadVisibilityProcessors() {
+		checkDisposed();
+
+		if (visibilityProcessors == null) {
+			visibilityProcessors = new ArrayList<IVisibilityProcessorEditpart>();
+			for (YVisibilityProcessor yVisibilityProcessor : getModel()
+					.getVisibilityProcessors()) {
+				IVisibilityProcessorEditpart editPart = getEditpart(getContext(),yVisibilityProcessor);
+				internalAddVisibilityProcessor(editPart);
+			}
+		}
+	}
+
+	/**
+	 * Is called to change the internal state and add the given editpart to the
+	 * list of visibilityProcessors.
+	 *
+	 * @param editpart
+	 *            the editpart
+	 */
+	protected void internalAddVisibilityProcessor(
+			IVisibilityProcessorEditpart editpart) {
+		checkDisposed();
+
+		ensureVisibilityProcessorLoaded();
+		if (!visibilityProcessors.contains(editpart)) {
+			visibilityProcessors.add(editpart);
+		}
+	}
+
+	/**
+	 * Is called to change the internal state and remove the given editpart from
+	 * the list of visibilityProcessors.
+	 * 
+	 * @param editpart
+	 *            The editpart to be removed
+	 */
+	protected void internalRemoveVisibilityProcessor(
+			IVisibilityProcessorEditpart editpart) {
+		checkDisposed();
+
+		if (visibilityProcessors != null && editpart != null) {
+			visibilityProcessors.remove(editpart);
+		}
+	}
+
+	/**
+	 * Gets the visibility processors.
+	 *
+	 * @return the visibility processors
+	 */
+	public List<IVisibilityProcessorEditpart> getVisibilityProcessors() {
+		ensureVisibilityProcessorLoaded();
+		return Collections.unmodifiableList(visibilityProcessors);
+	}
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.osbp.ecview.core.common.editpart.emf.ElementEditpart#internalDispose()
+	 */
+	@Override
+	protected void internalDispose() {
+		try {
+			
+			LOGGER.info("Disposing " + toString());
+			
+			// lazy loading: edit parts also have to be disposed if they have
+			// not been loaded yet, but exist in the model.
+			if (bindings != null
+					|| getModel().getValueBindingEndpoints().size() > 0) {
+				List<IBindableEndpointEditpart> tempElements = getBindingEndpoints();
+				synchronized (bindings) {
+					for (IBindableEndpointEditpart editpart : tempElements
+							.toArray(new IBindableEndpointEditpart[tempElements
+									.size()])) {
+						editpart.dispose();
+					}
+				}
+			}
+			bindings = null;
+			
+			if (commands != null || getModel().getCommands().size() > 0) {
+				List<ICommandEditpart> tempElements = getCommands();
+				synchronized (commands) {
+					for (ICommandEditpart editpart : tempElements
+							.toArray(new ICommandEditpart[tempElements.size()])) {
+						editpart.dispose();
+					}
+				}
+			}
+			commands = null;
+
+			if (visibilityProcessors != null
+					|| getModel().getVisibilityProcessors().size() > 0) {
+				List<IVisibilityProcessorEditpart> tempElements = getVisibilityProcessors();
+				synchronized (visibilityProcessors) {
+					for (IVisibilityProcessorEditpart editpart : tempElements
+							.toArray(new IVisibilityProcessorEditpart[tempElements
+									.size()])) {
+						editpart.dispose();
+					}
+				}
+			}
+			visibilityProcessors = null;
+
+		} finally {
+			super.internalDispose();
+		}
+	}
+
+/**
+	// * Is called to created the presenter for this edit part.<br>
+	// * We are forwarding to the element presentation.
+	// */
+	// protected <A extends IWidgetPresentation<?>> A createPresenter() {
+	// IViewEditpart viewEditPart = getView();
+	// if (viewEditPart == null) {
+	// LOGGER.info("View is null");
+	// return null;
+	// }
+	//
+/**
+/**
+	// YEmbeddable yEmbeddable = getModel().getElement();
+	// IEmbeddableEditpart editpart = getEditpart(getContext(),yEmbeddable);
+	// return DelegatingPresenterFactory.getInstance().createPresentation(
+	// viewEditPart.getContext(), editpart);
+	// }
+
+	// @Override
+	// public Object render(Object parentWidget) {
+	// internalActivate();
+	//
+	// return getPresentation().createWidget(parentWidget);
+	// }
+	//
+	// @Override
+	// public void unrender() {
+	// getPresentation().unrender();
+	//
+	// internalDeactivate();
+	// }
+
+	/**
+	 * Internally activates the suspect.
+	 */
+	protected void internalActivate() {
+
+		YView yView = (YView) getView();
+
+		// activate bindings
+		 YBindingSet yBindingSet = yView.getOrCreateBindingSet();
+		 yBindingSet.getTransientBindings().addAll(getModel().getAssociatedBindings());
+
+		// activate commands
+		YCommandSet yCommandSet = yView.getCommandSet();
+		yCommandSet.getTransientCommands().addAll(getModel().getCommands());
+
+		// activate visibilityProcessors
+		yView.getTransientVisibilityProcessors().addAll(
+				getModel().getVisibilityProcessors());
+
+	}
+
+	/**
+	 * Gets the view.
+	 *
+	 * @return the view
+	 */
+	public IViewEditpart getView() {
+		YView yView = ((YStrategyLayout) getModel().eContainer()).getView();
+		return yView != null ? (IViewEditpart) getEditpart(getContext(),yView) : null;
+	}
+
+	/**
+	 * Internally deactivates the suspect.
+	 */
+	protected void internalDeactivate() {
+		YView yView = (YView) getView();
+
+		// deactivate bindings
+		 YBindingSet yBindingSet = yView.getOrCreateBindingSet();
+		 yBindingSet.getTransientBindings().removeAll(getModel().getAssociatedBindings());
+
+		// deactivate commands
+		YCommandSet yCommandSet = yView.getCommandSet();
+		yCommandSet.getTransientCommands().removeAll(getModel().getCommands());
+
+		// deactivate visibilityProcessors
+		yView.getTransientVisibilityProcessors().removeAll(
+				getModel().getVisibilityProcessors());
+	}
+}
diff --git a/org.eclipse.osbp.ecview.extension.editparts.emf/src/org/eclipse/osbp/ecview/extension/editparts/emf/SuspectLayoutingInfoEditpart.java b/org.eclipse.osbp.ecview.extension.editparts.emf/src/org/eclipse/osbp/ecview/extension/editparts/emf/SuspectLayoutingInfoEditpart.java
new file mode 100644
index 0000000..07c27e3
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.editparts.emf/src/org/eclipse/osbp/ecview/extension/editparts/emf/SuspectLayoutingInfoEditpart.java
@@ -0,0 +1,354 @@
+/**
+ *                                                                            
+ *  Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany) 
+ *                                                                            
+ *  All rights reserved. This program and the accompanying materials           
+ *  are made available under the terms of the Eclipse Public License v1.0       
+ *  which accompanies this distribution, and is available at                  
+ *  http://www.eclipse.org/legal/epl-v10.html                                 
+ *                                                                            
+ *  Contributors:                                                      
+ * 	   Florian Pirchner - Initial implementation
+ * 
+ */
+package org.eclipse.osbp.ecview.extension.editparts.emf;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.osbp.ecview.core.common.editpart.IViewEditpart;
+import org.eclipse.osbp.ecview.core.common.editpart.binding.IBindingEditpart;
+import org.eclipse.osbp.ecview.core.common.editpart.binding.IBindingSetEditpart;
+import org.eclipse.osbp.ecview.core.common.editpart.emf.ElementEditpart;
+import org.eclipse.osbp.ecview.core.common.editpart.visibility.IVisibilityProcessorEditpart;
+import org.eclipse.osbp.ecview.core.common.model.binding.YBinding;
+import org.eclipse.osbp.ecview.core.common.model.core.YView;
+import org.eclipse.osbp.ecview.core.common.model.visibility.YVisibilityProcessor;
+import org.eclipse.osbp.ecview.extension.editparts.IInternalSuspectLayoutingInfoEditpart;
+import org.eclipse.osbp.ecview.extension.editparts.ILayoutingInfoEditpart;
+import org.eclipse.osbp.ecview.extension.editparts.ISuspectLayoutingInfoEditpart;
+import org.eclipse.osbp.ecview.extension.model.YECviewPackage;
+import org.eclipse.osbp.ecview.extension.model.YLayoutingInfo;
+import org.eclipse.osbp.ecview.extension.model.YStrategyLayout;
+import org.eclipse.osbp.ecview.extension.model.YSuspectInfo;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * Implementation of {@link ISuspectLayoutingInfoEditpart}.
+ */
+public class SuspectLayoutingInfoEditpart extends ElementEditpart<YSuspectInfo>
+		implements IInternalSuspectLayoutingInfoEditpart {
+
+	/** The Constant LOGGER. */
+	private static final Logger LOGGER = LoggerFactory
+			.getLogger(SuspectLayoutingInfoEditpart.class);
+
+	/** The bindings. */
+	private List<IBindingEditpart<?>> bindings;
+
+	/** The vps. */
+	private List<IVisibilityProcessorEditpart> vps;
+
+	/** The binding set. */
+	private IBindingSetEditpart bindingSet;
+
+	/** The active. */
+	private boolean active;
+
+	/**
+	 * A default constructor.
+	 */
+	protected SuspectLayoutingInfoEditpart() {
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see org.eclipse.osbp.ecview.core.common.editpart.emf.ElementEditpart#
+	 * handleModelAdd(int, org.eclipse.emf.common.notify.Notification)
+	 */
+	@Override
+	protected void handleModelAdd(int featureId, Notification notification) {
+		checkDisposed();
+
+		switch (featureId) {
+		case YECviewPackage.YSUSPECT_INFO__BINDINGS:
+			YBinding yBinding = (YBinding) notification.getNewValue();
+
+			IBindingEditpart<?> editPart = (IBindingEditpart<?>) getEditpart(
+					getContext(), yBinding);
+			internalAddBinding(editPart);
+
+			if (active) {
+				bindingSet.addTransientBinding(editPart);
+			}
+			break;
+		default:
+			break;
+		}
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see org.eclipse.osbp.ecview.core.common.editpart.emf.ElementEditpart#
+	 * handleModelRemove(int, org.eclipse.emf.common.notify.Notification)
+	 */
+	@Override
+	protected void handleModelRemove(int featureId, Notification notification) {
+		checkDisposed();
+
+		switch (featureId) {
+		case YECviewPackage.YSUSPECT_INFO__BINDINGS:
+			YBinding yBinding = (YBinding) notification.getOldValue();
+
+			IBindingEditpart<?> editPart = (IBindingEditpart<?>) getEditpart(
+					getContext(), yBinding);
+			internalRemoveBinding(editPart);
+
+			if (active) {
+				bindingSet.removeTransientBinding(editPart);
+			}
+			break;
+		default:
+			break;
+		}
+	}
+
+	/**
+	 * Ensures that the internal bindings are loaded properly.
+	 */
+	private void ensureBindingsLoaded() {
+		if (bindings == null) {
+			internalLoadBindings();
+		}
+	}
+
+	/**
+	 * Is called to load and initialize all bindings.
+	 */
+	protected void internalLoadBindings() {
+		checkDisposed();
+
+		if (bindings == null) {
+			bindings = new ArrayList<IBindingEditpart<?>>();
+			for (YBinding yBindingEP : getModel().getBindings()) {
+				IBindingEditpart<?> editPart = getEditpart(getContext(),
+						yBindingEP);
+				internalAddBinding(editPart);
+			}
+		}
+	}
+
+	/**
+	 * Is called to change the internal state and add the given editpart to the
+	 * list of bindings.
+	 * 
+	 * @param editpart
+	 *            The editpart to be added
+	 */
+	protected void internalAddBinding(IBindingEditpart<?> editpart) {
+		checkDisposed();
+
+		ensureBindingsLoaded();
+		if (!bindings.contains(editpart)) {
+			bindings.add(editpart);
+		}
+	}
+
+	/**
+	 * Is called to change the internal state and remove the given editpart from
+	 * the list of bindings.
+	 * 
+	 * @param editpart
+	 *            The editpart to be removed
+	 */
+	protected void internalRemoveBinding(IBindingEditpart<?> editpart) {
+		checkDisposed();
+
+		if (bindings != null && editpart != null) {
+			bindings.remove(editpart);
+		}
+	}
+
+	/**
+	 * Gets the bindings.
+	 *
+	 * @return the bindings
+	 */
+	public List<IBindingEditpart<?>> getBindings() {
+		ensureBindingsLoaded();
+		return Collections.unmodifiableList(bindings);
+	}
+
+	/**
+	 * Ensures that the internal vps are loaded properly.
+	 */
+	private void ensureVPsLoaded() {
+		if (vps == null) {
+			internalLoadVPs();
+		}
+	}
+
+	/**
+	 * Is called to load and initialize all VPs.
+	 */
+	protected void internalLoadVPs() {
+		checkDisposed();
+
+		if (vps == null) {
+			vps = new ArrayList<IVisibilityProcessorEditpart>();
+			for (YVisibilityProcessor yModel : getModel()
+					.getVisibilityProcessors()) {
+				IVisibilityProcessorEditpart editPart = getEditpart(
+						getContext(), yModel);
+				internalAddVP(editPart);
+			}
+		}
+	}
+
+	/**
+	 * Is called to change the internal state and add the given editpart to the
+	 * list of vps.
+	 * 
+	 * @param editpart
+	 *            The editpart to be added
+	 */
+	protected void internalAddVP(IVisibilityProcessorEditpart editpart) {
+		checkDisposed();
+
+		ensureVPsLoaded();
+		if (!vps.contains(editpart)) {
+			vps.add(editpart);
+		}
+	}
+
+	/**
+	 * Is called to change the internal state and remove the given editpart from
+	 * the list of vps.
+	 * 
+	 * @param editpart
+	 *            The editpart to be removed
+	 */
+	protected void internalRemoveVP(IVisibilityProcessorEditpart editpart) {
+		checkDisposed();
+
+		if (vps != null && editpart != null) {
+			vps.remove(editpart);
+		}
+	}
+
+	/**
+	 * Gets the vps.
+	 *
+	 * @return the vps
+	 */
+	public List<IVisibilityProcessorEditpart> getVPs() {
+		ensureVPsLoaded();
+		return Collections.unmodifiableList(vps);
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see org.eclipse.osbp.ecview.core.common.editpart.emf.ElementEditpart#
+	 * internalDispose()
+	 */
+	@Override
+	protected void internalDispose() {
+
+		try {
+			LOGGER.info("Disposing " + toString());
+
+			active = false;
+
+			for (IVisibilityProcessorEditpart vp : getVPs()) {
+				vp.dispose();
+			}
+			vps = null;
+
+			for (IBindingEditpart<?> binding : getBindings()) {
+				// remove the binding -> Will be automatically disposed
+				bindingSet.removeTransientBinding(binding);
+			}
+			bindings = null;
+			bindingSet = null;
+
+		} finally {
+			super.internalDispose();
+		}
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see
+	 * org.eclipse.osbp.ecview.extension.editparts.ISuspectLayoutingInfoEditpart
+	 * #getView()
+	 */
+	public IViewEditpart getView() {
+		YView yView = ((YStrategyLayout) getModel().eContainer().eContainer())
+				.getView();
+		;
+		return yView != null ? (IViewEditpart) getEditpart(getContext(), yView)
+				: null;
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see org.eclipse.osbp.ecview.core.common.editpart.emf.ElementEditpart#
+	 * requestDispose()
+	 */
+	public void requestDispose() {
+		throw new UnsupportedOperationException("Implement later or remove");
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see
+	 * org.eclipse.osbp.ecview.extension.editparts.ISuspectLayoutingInfoEditpart
+	 * #getParent()
+	 */
+	@Override
+	public ILayoutingInfoEditpart getParent() {
+		YLayoutingInfo cxLayout = (YLayoutingInfo) getModel().eContainer();
+		return cxLayout != null ? (ILayoutingInfoEditpart) getEditpart(
+				getContext(), cxLayout) : null;
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see org.eclipse.osbp.ecview.extension.editparts.
+	 * IInternalSuspectLayoutingInfoEditpart#activate()
+	 */
+	@Override
+	public void activate() {
+		if (active) {
+			return;
+		}
+
+		try {
+			// hold a reference to the bindingSet
+			bindingSet = getView().getBindingSet();
+			for (IBindingEditpart<?> binding : getBindings()) {
+				// else add it
+				bindingSet.addTransientBinding(binding);
+			}
+		} finally {
+			active = true;
+		}
+	}
+
+	@Override
+	public void postActivate() {
+		for (IVisibilityProcessorEditpart vp : getVPs()) {
+			vp.activate();
+		}
+	}
+}
diff --git a/org.eclipse.osbp.ecview.extension.editparts.emf/src/org/eclipse/osbp/ecview/extension/editparts/emf/components/BlobUploadComponentEditpart.java b/org.eclipse.osbp.ecview.extension.editparts.emf/src/org/eclipse/osbp/ecview/extension/editparts/emf/components/BlobUploadComponentEditpart.java
new file mode 100644
index 0000000..41d537c
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.editparts.emf/src/org/eclipse/osbp/ecview/extension/editparts/emf/components/BlobUploadComponentEditpart.java
@@ -0,0 +1,38 @@
+/**
+ *                                                                            
+ *  Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany) 
+ *                                                                            
+ *  All rights reserved. This program and the accompanying materials           
+ *  are made available under the terms of the Eclipse Public License v1.0       
+ *  which accompanies this distribution, and is available at                  
+ *  http://www.eclipse.org/legal/epl-v10.html                                 
+ *                                                                            
+ *  Contributors:                                                      
+ * 	   Florian Pirchner - Initial implementation
+ * 
+ */
+package org.eclipse.osbp.ecview.extension.editparts.emf.components;
+
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.osbp.ecview.core.common.editpart.emf.FieldEditpart;
+import org.eclipse.osbp.ecview.core.common.editpart.validation.IValidatorEditpart;
+import org.eclipse.osbp.ecview.extension.editparts.components.IBlobUploadComponentEditpart;
+import org.eclipse.osbp.ecview.extension.model.YBlobUploadComponent;
+
+/**
+ * The Class BlobUploadComponentEditpart.
+ */
+public class BlobUploadComponentEditpart extends FieldEditpart<YBlobUploadComponent> implements
+		IBlobUploadComponentEditpart {
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.osbp.ecview.core.common.editpart.emf.FieldEditpart#getDatatypeValidators()
+	 */
+	@Override
+	public List<IValidatorEditpart> getDatatypeValidators() {
+		return Collections.emptyList();
+	}
+	
+}
diff --git a/org.eclipse.osbp.ecview.extension.editparts.emf/src/org/eclipse/osbp/ecview/extension/editparts/emf/components/ContentSensitiveLayoutEditpart.java b/org.eclipse.osbp.ecview.extension.editparts.emf/src/org/eclipse/osbp/ecview/extension/editparts/emf/components/ContentSensitiveLayoutEditpart.java
new file mode 100644
index 0000000..d850fcc
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.editparts.emf/src/org/eclipse/osbp/ecview/extension/editparts/emf/components/ContentSensitiveLayoutEditpart.java
@@ -0,0 +1,33 @@
+/**
+ *                                                                            
+ *  Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany) 
+ *                                                                            
+ *  All rights reserved. This program and the accompanying materials           
+ *  are made available under the terms of the Eclipse Public License v1.0       
+ *  which accompanies this distribution, and is available at                  
+ *  http://www.eclipse.org/legal/epl-v10.html                                 
+ *                                                                            
+ *  Contributors:                                                      
+ * 	   Florian Pirchner - Initial implementation
+ * 
+ */
+package org.eclipse.osbp.ecview.extension.editparts.emf.components;
+
+import org.eclipse.osbp.ecview.core.common.editpart.emf.LayoutEditpart;
+import org.eclipse.osbp.ecview.extension.editparts.IContentSensitiveLayoutEditpart;
+import org.eclipse.osbp.ecview.extension.model.YContentSensitiveLayout;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * The implementation of the IStrategyLayoutEditpart.
+ */
+public class ContentSensitiveLayoutEditpart extends
+		LayoutEditpart<YContentSensitiveLayout> implements
+		IContentSensitiveLayoutEditpart {
+
+	/** The Constant LOGGER. */
+	private static final Logger LOGGER = LoggerFactory
+			.getLogger(ContentSensitiveLayoutEditpart.class);
+
+}
diff --git a/org.eclipse.osbp.ecview.extension.editparts.emf/src/org/eclipse/osbp/ecview/extension/editparts/emf/components/CustomDecimalFieldEditpart.java b/org.eclipse.osbp.ecview.extension.editparts.emf/src/org/eclipse/osbp/ecview/extension/editparts/emf/components/CustomDecimalFieldEditpart.java
new file mode 100644
index 0000000..f750917
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.editparts.emf/src/org/eclipse/osbp/ecview/extension/editparts/emf/components/CustomDecimalFieldEditpart.java
@@ -0,0 +1,28 @@
+/**
+ * Copyright (c) 2011, 2015 - Lunifera GmbH (Gross Enzersdorf, Austria), Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *         Florian Pirchner - Initial implementation
+ */
+package org.eclipse.osbp.ecview.extension.editparts.emf.components;
+
+import org.eclipse.osbp.ecview.core.common.editpart.emf.FieldEditpart;
+import org.eclipse.osbp.ecview.extension.editparts.components.ICustomDecimalFieldEditpart;
+import org.eclipse.osbp.ecview.extension.model.YCustomDecimalField;
+import org.eclipse.osbp.ecview.extension.model.YECviewPackage;
+
+/**
+ * The implementation of the IUiDecimalFieldEditpart.
+ */
+public class CustomDecimalFieldEditpart extends FieldEditpart<YCustomDecimalField>
+		implements ICustomDecimalFieldEditpart {
+
+	public CustomDecimalFieldEditpart() {
+		super(YECviewPackage.Literals.YCUSTOM_DECIMAL_FIELD__DATATYPE);
+	}
+
+}
diff --git a/org.eclipse.osbp.ecview.extension.editparts.emf/src/org/eclipse/osbp/ecview/extension/editparts/emf/components/IconComboBoxEditpart.java b/org.eclipse.osbp.ecview.extension.editparts.emf/src/org/eclipse/osbp/ecview/extension/editparts/emf/components/IconComboBoxEditpart.java
new file mode 100644
index 0000000..af222d2
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.editparts.emf/src/org/eclipse/osbp/ecview/extension/editparts/emf/components/IconComboBoxEditpart.java
@@ -0,0 +1,28 @@
+/**
+ * Copyright (c) 2011, 2015 - Lunifera GmbH (Gross Enzersdorf, Austria), Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *         Florian Pirchner - Initial implementation
+ */
+package org.eclipse.osbp.ecview.extension.editparts.emf.components;
+
+import org.eclipse.osbp.ecview.core.common.editpart.emf.FieldEditpart;
+import org.eclipse.osbp.ecview.extension.editparts.components.IIconComboBoxEditpart;
+import org.eclipse.osbp.ecview.extension.model.YECviewPackage;
+import org.eclipse.osbp.ecview.extension.model.YIconComboBox;
+
+/**
+ * The implementation of the IUiComboBoxEditpart.
+ */
+public class IconComboBoxEditpart extends FieldEditpart<YIconComboBox>
+		implements IIconComboBoxEditpart {
+
+	public IconComboBoxEditpart() {
+		super(YECviewPackage.Literals.YICON_COMBO_BOX__DATATYPE);
+	}
+
+}
diff --git a/org.eclipse.osbp.ecview.extension.editparts.emf/src/org/eclipse/osbp/ecview/extension/editparts/emf/components/PairComboBoxEditpart.java b/org.eclipse.osbp.ecview.extension.editparts.emf/src/org/eclipse/osbp/ecview/extension/editparts/emf/components/PairComboBoxEditpart.java
new file mode 100644
index 0000000..39d7b5f
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.editparts.emf/src/org/eclipse/osbp/ecview/extension/editparts/emf/components/PairComboBoxEditpart.java
@@ -0,0 +1,22 @@
+/**
+ * Copyright (c) 2011, 2015 - Lunifera GmbH (Gross Enzersdorf, Austria), Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *         Florian Pirchner - Initial implementation
+ */
+package org.eclipse.osbp.ecview.extension.editparts.emf.components;
+
+import org.eclipse.osbp.ecview.core.common.editpart.emf.FieldEditpart;
+import org.eclipse.osbp.ecview.extension.editparts.components.IPairComboBoxEditpart;
+import org.eclipse.osbp.ecview.extension.model.YPairComboBox;
+
+/**
+ * The implementation of the IPairComboBoxEditpart.
+ */
+public class PairComboBoxEditpart extends FieldEditpart<YPairComboBox> implements IPairComboBoxEditpart {
+
+}
diff --git a/org.eclipse.osbp.ecview.extension.editparts.emf/src/org/eclipse/osbp/ecview/extension/editparts/emf/components/services/ContextSensitiveLayoutSelector.java b/org.eclipse.osbp.ecview.extension.editparts.emf/src/org/eclipse/osbp/ecview/extension/editparts/emf/components/services/ContextSensitiveLayoutSelector.java
new file mode 100644
index 0000000..ffe227e
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.editparts.emf/src/org/eclipse/osbp/ecview/extension/editparts/emf/components/services/ContextSensitiveLayoutSelector.java
@@ -0,0 +1,42 @@
+/**
+ *                                                                            
+ *  Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany) 
+ *                                                                            
+ *  All rights reserved. This program and the accompanying materials           
+ *  are made available under the terms of the Eclipse Public License v1.0       
+ *  which accompanies this distribution, and is available at                  
+ *  http://www.eclipse.org/legal/epl-v10.html                                 
+ *                                                                            
+ *  Contributors:                                                      
+ * 	   Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
+ * 
+ */
+ package org.eclipse.osbp.ecview.extension.editparts.emf.components.services;
+
+import org.eclipse.osbp.ecview.extension.api.IContextSensitiveLayoutSelector;
+import org.eclipse.osbp.ui.api.functionlibrary.IFunctionLibraryService;
+import org.osgi.service.component.annotations.Component;
+import org.osgi.service.component.annotations.Reference;
+import org.osgi.service.component.annotations.ReferenceCardinality;
+
+@Component
+public class ContextSensitiveLayoutSelector implements
+		IContextSensitiveLayoutSelector {
+
+	private IFunctionLibraryService service;
+
+	@Override
+	public String selectComponent(Object dto) {
+		return (String) service.callFunctionLibrary(FUNCTION_GROUP, FUNCTION_NAME, dto);
+	}
+
+	@Reference(cardinality=ReferenceCardinality.MANDATORY)
+	void bind(IFunctionLibraryService service) {
+		this.service = service;
+	}
+	
+	void unbind(IFunctionLibraryService service) {
+		this.service = null;
+	}
+	
+}
diff --git a/org.eclipse.osbp.ecview.extension.editparts.emf/src/org/eclipse/osbp/ecview/extension/editparts/emf/converter/CustomDecimalConverterEditpart.java b/org.eclipse.osbp.ecview.extension.editparts.emf/src/org/eclipse/osbp/ecview/extension/editparts/emf/converter/CustomDecimalConverterEditpart.java
new file mode 100644
index 0000000..611979d
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.editparts.emf/src/org/eclipse/osbp/ecview/extension/editparts/emf/converter/CustomDecimalConverterEditpart.java
@@ -0,0 +1,25 @@
+/**
+ *                                                                            
+ *  Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany) 
+ *                                                                            
+ *  All rights reserved. This program and the accompanying materials           
+ *  are made available under the terms of the Eclipse Public License v1.0       
+ *  which accompanies this distribution, and is available at                  
+ *  http://www.eclipse.org/legal/epl-v10.html                                 
+ *                                                                            
+ *  Contributors:                                                      
+ * 	   Florian Pirchner - Initial implementation
+ * 
+ */
+package org.eclipse.osbp.ecview.extension.editparts.emf.converter;
+
+import org.eclipse.osbp.ecview.core.common.editpart.emf.ConverterEditpart;
+import org.eclipse.osbp.ecview.extension.editparts.converter.ICustomDecimalConverterEditpart;
+
+/**
+ * The Class CustomDecimalConverterEditpart.
+ */
+public class CustomDecimalConverterEditpart extends ConverterEditpart
+		implements ICustomDecimalConverterEditpart {
+	
+}
diff --git a/org.eclipse.osbp.ecview.extension.editparts.emf/src/org/eclipse/osbp/ecview/extension/editparts/emf/converter/DecimalToUomoConverterEditpart.java b/org.eclipse.osbp.ecview.extension.editparts.emf/src/org/eclipse/osbp/ecview/extension/editparts/emf/converter/DecimalToUomoConverterEditpart.java
new file mode 100644
index 0000000..f3cdcb5
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.editparts.emf/src/org/eclipse/osbp/ecview/extension/editparts/emf/converter/DecimalToUomoConverterEditpart.java
@@ -0,0 +1,25 @@
+/**
+ *                                                                            
+ *  Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany) 
+ *                                                                            
+ *  All rights reserved. This program and the accompanying materials           
+ *  are made available under the terms of the Eclipse Public License v1.0       
+ *  which accompanies this distribution, and is available at                  
+ *  http://www.eclipse.org/legal/epl-v10.html                                 
+ *                                                                            
+ *  Contributors:                                                      
+ * 	   Florian Pirchner - Initial implementation
+ * 
+ */
+package org.eclipse.osbp.ecview.extension.editparts.emf.converter;
+
+import org.eclipse.osbp.ecview.core.common.editpart.emf.ConverterEditpart;
+import org.eclipse.osbp.ecview.extension.editparts.converter.IDecimalToUomoConverterEditpart;
+
+/**
+ * The Class DecimalToUomoConverterEditpart.
+ */
+public class DecimalToUomoConverterEditpart extends ConverterEditpart
+		implements IDecimalToUomoConverterEditpart {
+	
+}
diff --git a/org.eclipse.osbp.ecview.extension.editparts.emf/src/org/eclipse/osbp/ecview/extension/editparts/emf/converter/NumericToResourceConverterEditpart.java b/org.eclipse.osbp.ecview.extension.editparts.emf/src/org/eclipse/osbp/ecview/extension/editparts/emf/converter/NumericToResourceConverterEditpart.java
new file mode 100644
index 0000000..1a35ab6
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.editparts.emf/src/org/eclipse/osbp/ecview/extension/editparts/emf/converter/NumericToResourceConverterEditpart.java
@@ -0,0 +1,25 @@
+/**
+ *                                                                            
+ *  Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany) 
+ *                                                                            
+ *  All rights reserved. This program and the accompanying materials           
+ *  are made available under the terms of the Eclipse Public License v1.0       
+ *  which accompanies this distribution, and is available at                  
+ *  http://www.eclipse.org/legal/epl-v10.html                                 
+ *                                                                            
+ *  Contributors:                                                      
+ * 	   Florian Pirchner - Initial implementation
+ * 
+ */
+package org.eclipse.osbp.ecview.extension.editparts.emf.converter;
+
+import org.eclipse.osbp.ecview.core.common.editpart.emf.ConverterEditpart;
+import org.eclipse.osbp.ecview.extension.editparts.converter.INumericToResourceConverterEditpart;
+
+/**
+ * The Class NumericToResourceConverterEditpart.
+ */
+public class NumericToResourceConverterEditpart extends ConverterEditpart
+		implements INumericToResourceConverterEditpart {
+	
+}
diff --git a/org.eclipse.osbp.ecview.extension.editparts.emf/src/org/eclipse/osbp/ecview/extension/editparts/emf/converter/NumericToUomoConverterEditpart.java b/org.eclipse.osbp.ecview.extension.editparts.emf/src/org/eclipse/osbp/ecview/extension/editparts/emf/converter/NumericToUomoConverterEditpart.java
new file mode 100644
index 0000000..a2471f5
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.editparts.emf/src/org/eclipse/osbp/ecview/extension/editparts/emf/converter/NumericToUomoConverterEditpart.java
@@ -0,0 +1,25 @@
+/**
+ *                                                                            
+ *  Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany) 
+ *                                                                            
+ *  All rights reserved. This program and the accompanying materials           
+ *  are made available under the terms of the Eclipse Public License v1.0       
+ *  which accompanies this distribution, and is available at                  
+ *  http://www.eclipse.org/legal/epl-v10.html                                 
+ *                                                                            
+ *  Contributors:                                                      
+ * 	   Florian Pirchner - Initial implementation
+ * 
+ */
+package org.eclipse.osbp.ecview.extension.editparts.emf.converter;
+
+import org.eclipse.osbp.ecview.core.common.editpart.emf.ConverterEditpart;
+import org.eclipse.osbp.ecview.extension.editparts.converter.INumericToUomoConverterEditpart;
+
+/**
+ * The Class NumericToUomoConverterEditpart.
+ */
+public class NumericToUomoConverterEditpart extends ConverterEditpart
+		implements INumericToUomoConverterEditpart {
+	
+}
diff --git a/org.eclipse.osbp.ecview.extension.editparts.emf/src/org/eclipse/osbp/ecview/extension/editparts/emf/converter/ObjectToStringConverterEditpart.java b/org.eclipse.osbp.ecview.extension.editparts.emf/src/org/eclipse/osbp/ecview/extension/editparts/emf/converter/ObjectToStringConverterEditpart.java
new file mode 100644
index 0000000..911ae63
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.editparts.emf/src/org/eclipse/osbp/ecview/extension/editparts/emf/converter/ObjectToStringConverterEditpart.java
@@ -0,0 +1,25 @@
+/**
+ *                                                                            
+ *  Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany) 
+ *                                                                            
+ *  All rights reserved. This program and the accompanying materials           
+ *  are made available under the terms of the Eclipse Public License v1.0       
+ *  which accompanies this distribution, and is available at                  
+ *  http://www.eclipse.org/legal/epl-v10.html                                 
+ *                                                                            
+ *  Contributors:                                                      
+ * 	   Florian Pirchner - Initial implementation
+ * 
+ */
+package org.eclipse.osbp.ecview.extension.editparts.emf.converter;
+
+import org.eclipse.osbp.ecview.core.common.editpart.emf.ConverterEditpart;
+import org.eclipse.osbp.ecview.extension.editparts.converter.IObjectToStringConverterEditpart;
+
+/**
+ * The Class ObjectToStringConverterEditpart.
+ */
+public class ObjectToStringConverterEditpart extends ConverterEditpart
+		implements IObjectToStringConverterEditpart {
+	
+}
diff --git a/org.eclipse.osbp.ecview.extension.editparts.emf/src/org/eclipse/osbp/ecview/extension/editparts/emf/converter/PriceToStringConverterEditpart.java b/org.eclipse.osbp.ecview.extension.editparts.emf/src/org/eclipse/osbp/ecview/extension/editparts/emf/converter/PriceToStringConverterEditpart.java
new file mode 100644
index 0000000..6625bcd
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.editparts.emf/src/org/eclipse/osbp/ecview/extension/editparts/emf/converter/PriceToStringConverterEditpart.java
@@ -0,0 +1,25 @@
+/**
+ *                                                                            
+ *  Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany) 
+ *                                                                            
+ *  All rights reserved. This program and the accompanying materials           
+ *  are made available under the terms of the Eclipse Public License v1.0       
+ *  which accompanies this distribution, and is available at                  
+ *  http://www.eclipse.org/legal/epl-v10.html                                 
+ *                                                                            
+ *  Contributors:                                                      
+ * 	   Florian Pirchner - Initial implementation
+ * 
+ */
+package org.eclipse.osbp.ecview.extension.editparts.emf.converter;
+
+import org.eclipse.osbp.ecview.core.common.editpart.emf.ConverterEditpart;
+import org.eclipse.osbp.ecview.extension.editparts.converter.IPriceToStringConverterEditpart;
+
+/**
+ * The Class PriceToStringConverterEditpart.
+ */
+public class PriceToStringConverterEditpart extends ConverterEditpart implements
+		IPriceToStringConverterEditpart {
+
+}
diff --git a/org.eclipse.osbp.ecview.extension.editparts.emf/src/org/eclipse/osbp/ecview/extension/editparts/emf/converter/QuantityToStringConverterEditpart.java b/org.eclipse.osbp.ecview.extension.editparts.emf/src/org/eclipse/osbp/ecview/extension/editparts/emf/converter/QuantityToStringConverterEditpart.java
new file mode 100644
index 0000000..bbfbb6b
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.editparts.emf/src/org/eclipse/osbp/ecview/extension/editparts/emf/converter/QuantityToStringConverterEditpart.java
@@ -0,0 +1,25 @@
+/**
+ *                                                                            
+ *  Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany) 
+ *                                                                            
+ *  All rights reserved. This program and the accompanying materials           
+ *  are made available under the terms of the Eclipse Public License v1.0       
+ *  which accompanies this distribution, and is available at                  
+ *  http://www.eclipse.org/legal/epl-v10.html                                 
+ *                                                                            
+ *  Contributors:                                                      
+ * 	   Florian Pirchner - Initial implementation
+ * 
+ */
+package org.eclipse.osbp.ecview.extension.editparts.emf.converter;
+
+import org.eclipse.osbp.ecview.core.common.editpart.emf.ConverterEditpart;
+import org.eclipse.osbp.ecview.extension.editparts.converter.IQuantityToStringConverterEditpart;
+
+/**
+ * The Class QuantityToStringConverterEditpart.
+ */
+public class QuantityToStringConverterEditpart extends ConverterEditpart
+		implements IQuantityToStringConverterEditpart {
+
+}
diff --git a/org.eclipse.osbp.ecview.extension.editparts.emf/src/org/eclipse/osbp/ecview/extension/editparts/emf/converter/SimpleDecimalConverterEditpart.java b/org.eclipse.osbp.ecview.extension.editparts.emf/src/org/eclipse/osbp/ecview/extension/editparts/emf/converter/SimpleDecimalConverterEditpart.java
new file mode 100644
index 0000000..5dc595e
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.editparts.emf/src/org/eclipse/osbp/ecview/extension/editparts/emf/converter/SimpleDecimalConverterEditpart.java
@@ -0,0 +1,25 @@
+/**
+ *                                                                            
+ *  Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany) 
+ *                                                                            
+ *  All rights reserved. This program and the accompanying materials           
+ *  are made available under the terms of the Eclipse Public License v1.0       
+ *  which accompanies this distribution, and is available at                  
+ *  http://www.eclipse.org/legal/epl-v10.html                                 
+ *                                                                            
+ *  Contributors:                                                      
+ * 	   Florian Pirchner - Initial implementation
+ * 
+ */
+package org.eclipse.osbp.ecview.extension.editparts.emf.converter;
+
+import org.eclipse.osbp.ecview.core.common.editpart.emf.ConverterEditpart;
+import org.eclipse.osbp.ecview.extension.editparts.converter.ISimpleDecimalConverterEditpart;
+
+/**
+ * The Class SimpleDecimalConverterEditpart.
+ */
+public class SimpleDecimalConverterEditpart extends ConverterEditpart
+		implements ISimpleDecimalConverterEditpart {
+	
+}
diff --git a/org.eclipse.osbp.ecview.extension.editparts.emf/src/org/eclipse/osbp/ecview/extension/editparts/emf/converter/StringToResourceConverterEditpart.java b/org.eclipse.osbp.ecview.extension.editparts.emf/src/org/eclipse/osbp/ecview/extension/editparts/emf/converter/StringToResourceConverterEditpart.java
new file mode 100644
index 0000000..69f80c9
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.editparts.emf/src/org/eclipse/osbp/ecview/extension/editparts/emf/converter/StringToResourceConverterEditpart.java
@@ -0,0 +1,25 @@
+/**
+ *                                                                            
+ *  Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany) 
+ *                                                                            
+ *  All rights reserved. This program and the accompanying materials           
+ *  are made available under the terms of the Eclipse Public License v1.0       
+ *  which accompanies this distribution, and is available at                  
+ *  http://www.eclipse.org/legal/epl-v10.html                                 
+ *                                                                            
+ *  Contributors:                                                      
+ * 	   Florian Pirchner - Initial implementation
+ * 
+ */
+package org.eclipse.osbp.ecview.extension.editparts.emf.converter;
+
+import org.eclipse.osbp.ecview.core.common.editpart.emf.ConverterEditpart;
+import org.eclipse.osbp.ecview.extension.editparts.converter.IStringToResourceConverterEditpart;
+
+/**
+ * The Class StringToResourceConverterEditpart.
+ */
+public class StringToResourceConverterEditpart extends ConverterEditpart
+		implements IStringToResourceConverterEditpart {
+	
+}
diff --git a/org.eclipse.osbp.ecview.extension.editparts.emf/src/org/eclipse/osbp/ecview/extension/editparts/emf/enhancer/AltEnterFocusingEnhancer.java b/org.eclipse.osbp.ecview.extension.editparts.emf/src/org/eclipse/osbp/ecview/extension/editparts/emf/enhancer/AltEnterFocusingEnhancer.java
new file mode 100644
index 0000000..290f6f3
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.editparts.emf/src/org/eclipse/osbp/ecview/extension/editparts/emf/enhancer/AltEnterFocusingEnhancer.java
@@ -0,0 +1,46 @@
+/**
+ *                                                                            
+ *  Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany) 
+ *                                                                            
+ *  All rights reserved. This program and the accompanying materials           
+ *  are made available under the terms of the Eclipse Public License v1.0       
+ *  which accompanies this distribution, and is available at                  
+ *  http://www.eclipse.org/legal/epl-v10.html                                 
+ *                                                                            
+ *  Contributors:                                                      
+ * 	   Florian Pirchner - Initial implementation
+ * 
+ */
+package org.eclipse.osbp.ecview.extension.editparts.emf.enhancer;
+
+import org.eclipse.osbp.ecview.extension.api.IFocusingEnhancer;
+import org.eclipse.osbp.ecview.extension.model.YDelegatingFocusingStrategy;
+import org.eclipse.osbp.ecview.extension.model.YECviewFactory;
+import org.eclipse.osbp.ecview.extension.model.YStrategyLayout;
+import org.osgi.service.component.annotations.Component;
+
+/**
+ * The Class AltEnterFocusingEnhancer.
+ */
+@Component(property={"ecview.focusing.enhancer.id=AltEnterFocusingEnhancer"})
+public class AltEnterFocusingEnhancer implements IFocusingEnhancer {
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.osbp.ecview.extension.api.IFocusingEnhancer#enhanceFocusing(org.eclipse.osbp.ecview.extension.model.YStrategyLayout)
+	 */
+	@Override
+	public void enhanceFocusing(YStrategyLayout yLayout) {
+		yLayout.getFocusingStrategies().clear();
+		
+		YDelegatingFocusingStrategy yStgy1 = YECviewFactory.eINSTANCE.createYDelegatingFocusingStrategy();
+		yStgy1.setDelegateStrategyId("cx.altenter.forward");
+		yLayout.getFocusingStrategies().add(yStgy1);
+		
+		YDelegatingFocusingStrategy yStgy2 = YECviewFactory.eINSTANCE.createYDelegatingFocusingStrategy();
+		yStgy2.setDelegateStrategyId("cx.enter.backward");
+		yLayout.getFocusingStrategies().add(yStgy2);
+		
+		
+	}
+
+}
diff --git a/org.eclipse.osbp.ecview.extension.editparts.emf/src/org/eclipse/osbp/ecview/extension/editparts/emf/enhancer/EnterTabFocusingEnhancer.java b/org.eclipse.osbp.ecview.extension.editparts.emf/src/org/eclipse/osbp/ecview/extension/editparts/emf/enhancer/EnterTabFocusingEnhancer.java
new file mode 100644
index 0000000..260e34b
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.editparts.emf/src/org/eclipse/osbp/ecview/extension/editparts/emf/enhancer/EnterTabFocusingEnhancer.java
@@ -0,0 +1,48 @@
+/**
+ *                                                                            
+ *  Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany) 
+ *                                                                            
+ *  All rights reserved. This program and the accompanying materials           
+ *  are made available under the terms of the Eclipse Public License v1.0       
+ *  which accompanies this distribution, and is available at                  
+ *  http://www.eclipse.org/legal/epl-v10.html                                 
+ *                                                                            
+ *  Contributors:                                                      
+ * 	   Florian Pirchner - Initial implementation
+ * 
+ */
+package org.eclipse.osbp.ecview.extension.editparts.emf.enhancer;
+
+import org.eclipse.osbp.ecview.extension.api.IFocusingEnhancer;
+import org.eclipse.osbp.ecview.extension.model.YDelegatingFocusingStrategy;
+import org.eclipse.osbp.ecview.extension.model.YECviewFactory;
+import org.eclipse.osbp.ecview.extension.model.YStrategyLayout;
+import org.osgi.service.component.annotations.Component;
+
+/**
+ * The Class EnterTabFocusingEnhancer.
+ */
+@Component(property = {
+		"ecview.focusing.enhancer.id=EnterTabFocusingEnhancer"})
+public class EnterTabFocusingEnhancer implements IFocusingEnhancer {
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.osbp.ecview.extension.api.IFocusingEnhancer#enhanceFocusing(org.eclipse.osbp.ecview.extension.model.YStrategyLayout)
+	 */
+	@Override
+	public void enhanceFocusing(YStrategyLayout cxLayout) {
+		cxLayout.getFocusingStrategies().clear();
+
+		YDelegatingFocusingStrategy yStgy1 = YECviewFactory.eINSTANCE
+				.createYDelegatingFocusingStrategy();
+		yStgy1.setDelegateStrategyId("cx.enter.forward");
+		cxLayout.getFocusingStrategies().add(yStgy1);
+
+		YDelegatingFocusingStrategy yStgy2 = YECviewFactory.eINSTANCE
+				.createYDelegatingFocusingStrategy();
+		yStgy2.setDelegateStrategyId("cx.tab.backward");
+		cxLayout.getFocusingStrategies().add(yStgy2);
+
+	}
+
+}
diff --git a/org.eclipse.osbp.ecview.extension.editparts.emf/src/org/eclipse/osbp/ecview/extension/editparts/emf/enhancer/TabEnterFocusingEnhancer.java b/org.eclipse.osbp.ecview.extension.editparts.emf/src/org/eclipse/osbp/ecview/extension/editparts/emf/enhancer/TabEnterFocusingEnhancer.java
new file mode 100644
index 0000000..341da86
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.editparts.emf/src/org/eclipse/osbp/ecview/extension/editparts/emf/enhancer/TabEnterFocusingEnhancer.java
@@ -0,0 +1,45 @@
+/**
+ *                                                                            
+ *  Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany) 
+ *                                                                            
+ *  All rights reserved. This program and the accompanying materials           
+ *  are made available under the terms of the Eclipse Public License v1.0       
+ *  which accompanies this distribution, and is available at                  
+ *  http://www.eclipse.org/legal/epl-v10.html                                 
+ *                                                                            
+ *  Contributors:                                                      
+ * 	   Florian Pirchner - Initial implementation
+ * 
+ */
+package org.eclipse.osbp.ecview.extension.editparts.emf.enhancer;
+
+import org.eclipse.osbp.ecview.extension.api.IFocusingEnhancer;
+import org.eclipse.osbp.ecview.extension.model.YDelegatingFocusingStrategy;
+import org.eclipse.osbp.ecview.extension.model.YECviewFactory;
+import org.eclipse.osbp.ecview.extension.model.YStrategyLayout;
+import org.osgi.service.component.annotations.Component;
+
+/**
+ * The Class TabEnterFocusingEnhancer.
+ */
+@Component(property={"ecview.focusing.enhancer.id=TabEnterFocusingEnhancer"})
+public class TabEnterFocusingEnhancer implements IFocusingEnhancer {
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.osbp.ecview.extension.api.IFocusingEnhancer#enhanceFocusing(org.eclipse.osbp.ecview.extension.model.YStrategyLayout)
+	 */
+	@Override
+	public void enhanceFocusing(YStrategyLayout cxLayout) {
+		cxLayout.getFocusingStrategies().clear();
+		
+		YDelegatingFocusingStrategy yStgy1 = YECviewFactory.eINSTANCE.createYDelegatingFocusingStrategy();
+		yStgy1.setDelegateStrategyId("cx.enter.backward");
+		cxLayout.getFocusingStrategies().add(yStgy1);
+		
+		YDelegatingFocusingStrategy yStgy2 = YECviewFactory.eINSTANCE.createYDelegatingFocusingStrategy();
+		yStgy2.setDelegateStrategyId("cx.tab.forward");
+		cxLayout.getFocusingStrategies().add(yStgy2);
+		
+	}
+
+}
diff --git a/org.eclipse.osbp.ecview.extension.editparts.emf/src/org/eclipse/osbp/ecview/extension/editparts/emf/strategies/DefaultLayoutingStrategyEditpart.java b/org.eclipse.osbp.ecview.extension.editparts.emf/src/org/eclipse/osbp/ecview/extension/editparts/emf/strategies/DefaultLayoutingStrategyEditpart.java
new file mode 100644
index 0000000..fa832cc
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.editparts.emf/src/org/eclipse/osbp/ecview/extension/editparts/emf/strategies/DefaultLayoutingStrategyEditpart.java
@@ -0,0 +1,148 @@
+/**
+ *                                                                            
+ *  Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany) 
+ *                                                                            
+ *  All rights reserved. This program and the accompanying materials           
+ *  are made available under the terms of the Eclipse Public License v1.0       
+ *  which accompanies this distribution, and is available at                  
+ *  http://www.eclipse.org/legal/epl-v10.html                                 
+ *                                                                            
+ *  Contributors:                                                      
+ * 	   Florian Pirchner - Initial implementation
+ * 
+ */
+package org.eclipse.osbp.ecview.extension.editparts.emf.strategies;
+
+import java.util.Collection;
+
+import org.eclipse.osbp.ecview.core.common.context.IViewContext;
+import org.eclipse.osbp.ecview.extension.api.ILayoutingStrategyProvider;
+import org.eclipse.osbp.ecview.extension.editparts.strategies.IDefaultLayoutingStrategyEditpart;
+import org.eclipse.osbp.ecview.extension.editparts.strategies.IFocusingStrategyEditpart;
+import org.eclipse.osbp.ecview.extension.model.YDefaultLayoutingStrategy;
+import org.eclipse.osbp.runtime.common.event.IEventBroker;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.FrameworkUtil;
+import org.osgi.framework.InvalidSyntaxException;
+import org.osgi.framework.ServiceReference;
+import org.osgi.service.event.Event;
+import org.osgi.service.event.EventHandler;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * See {@link IFocusingStrategyEditpart}.
+ */
+public class DefaultLayoutingStrategyEditpart extends
+		LayoutingStrategyEditpart<YDefaultLayoutingStrategy> implements
+		IDefaultLayoutingStrategyEditpart, EventHandler {
+
+	/** The Constant LOGGER. */
+	private static final Logger LOGGER = LoggerFactory
+			.getLogger(DefaultLayoutingStrategyEditpart.class);
+
+	/**
+	 * The default constructor.
+	 */
+	protected DefaultLayoutingStrategyEditpart() {
+	}
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.osbp.ecview.extension.editparts.emf.strategies.LayoutingStrategyEditpart#initialize(org.eclipse.osbp.ecview.extension.model.YLayoutingStrategy)
+	 */
+	@Override
+	public void initialize(IViewContext context, YDefaultLayoutingStrategy model) {
+		super.initialize(context, model);
+
+		setDefaultStrategy();
+
+		IViewContext viewContext = getView().getContext();
+		IEventBroker eventBroker = viewContext.getService(IEventBroker.class
+				.getName());
+		if (eventBroker == null) {
+			LOGGER.error("Eventbroker not available!");
+			return;
+		}
+
+		eventBroker.subscribe(ILayoutingStrategyProvider.ACTIVE_PROVIDER_TOPIC, this);
+	}
+
+	/**
+	 * Sets the default strategy.
+	 */
+	protected void setDefaultStrategy() {
+//		IViewContext viewContext = getView().getContext();
+		ILayoutingStrategyProvider provider = findDefaultService();
+//		ILayoutingStrategyProvider provider = viewContext
+//				.getService(ILayoutingStrategyProvider.class.getName());
+		if (provider == null) {
+				LOGGER.error("IDefaultLayoutingStrategyProvider not available!");
+				return;
+		}
+		this.strategy = provider.getStrategy();
+	}
+	
+	
+	/**
+	 * Finds the default service.
+	 *
+	 * @return the i layouting strategy provider
+	 */
+	private ILayoutingStrategyProvider findDefaultService() {
+		BundleContext context = FrameworkUtil.getBundle(getClass())
+				.getBundleContext();
+
+		try {
+			Collection<ServiceReference<ILayoutingStrategyProvider>> references = context
+					.getServiceReferences(ILayoutingStrategyProvider.class,
+							"(ecview.layouting.id=Default)");
+			if (!references.isEmpty()) {
+				ILayoutingStrategyProvider provider = context
+						.getService(references.iterator().next());
+				return provider;
+			}
+		} catch (InvalidSyntaxException e) {
+			LOGGER.warn("{}", e);
+		}
+		return null;
+	}
+
+
+	/* (non-Javadoc)
+	 * @see org.osgi.service.event.EventHandler#handleEvent(org.osgi.service.event.Event)
+	 */
+	@Override
+	public void handleEvent(Event event) {
+		checkDisposed();
+
+		ILayoutingStrategyProvider result = (ILayoutingStrategyProvider) event
+				.getProperty(IEventBroker.DATA);
+		if (result != null) {
+			this.strategy = result.getStrategy();
+
+			// call the parent to do layouting
+			getParent().requestLayouting();
+		} else {
+			LOGGER.warn("Strategy was null. So current strategy was not replaced.");
+		}
+	}
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.osbp.ecview.extension.editparts.emf.strategies.LayoutingStrategyEditpart#internalDispose()
+	 */
+	@Override
+	protected void internalDispose() {
+		try {
+			IEventBroker eventBroker = getView().getContext().getService(
+					IEventBroker.class.getName());
+			if (eventBroker == null) {
+				LOGGER.error("Eventbroker not available! Could not unsubscribe.");
+			} else {
+				eventBroker.unsubscribe(this);
+			}
+		} finally {
+			super.internalDispose();
+		}
+	}
+
+}
diff --git a/org.eclipse.osbp.ecview.extension.editparts.emf/src/org/eclipse/osbp/ecview/extension/editparts/emf/strategies/DelegatingFocusingStrategyEditpart.java b/org.eclipse.osbp.ecview.extension.editparts.emf/src/org/eclipse/osbp/ecview/extension/editparts/emf/strategies/DelegatingFocusingStrategyEditpart.java
new file mode 100644
index 0000000..d039d95
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.editparts.emf/src/org/eclipse/osbp/ecview/extension/editparts/emf/strategies/DelegatingFocusingStrategyEditpart.java
@@ -0,0 +1,165 @@
+/**
+ *                                                                            
+ *  Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany) 
+ *                                                                            
+ *  All rights reserved. This program and the accompanying materials           
+ *  are made available under the terms of the Eclipse Public License v1.0       
+ *  which accompanies this distribution, and is available at                  
+ *  http://www.eclipse.org/legal/epl-v10.html                                 
+ *                                                                            
+ *  Contributors:                                                      
+ * 	   Florian Pirchner - Initial implementation
+ * 
+ */
+package org.eclipse.osbp.ecview.extension.editparts.emf.strategies;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.osbp.ecview.core.common.context.IViewContext;
+import org.eclipse.osbp.ecview.extension.api.IFocusingStrategyProvider;
+import org.eclipse.osbp.ecview.extension.editparts.strategies.IDelegatingFocusingStrategyEditpart;
+import org.eclipse.osbp.ecview.extension.model.YDelegatingFocusingStrategy;
+import org.eclipse.osbp.ecview.extension.model.YECviewPackage;
+import org.eclipse.osbp.ecview.extension.model.YStrategyLayout;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.FrameworkUtil;
+import org.osgi.framework.InvalidSyntaxException;
+import org.osgi.framework.ServiceReference;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * See {@link IDelegatingFocusingStrategyEditpart}.
+ */
+public class DelegatingFocusingStrategyEditpart extends
+		FocusingStrategyEditpart<YDelegatingFocusingStrategy> implements
+		IDelegatingFocusingStrategyEditpart {
+
+	/** The Constant LOGGER. */
+	private static final Logger LOGGER = LoggerFactory
+			.getLogger(DefaultLayoutingStrategyEditpart.class);
+
+	/**
+	 * The default constructor.
+	 */
+	protected DelegatingFocusingStrategyEditpart() {
+	}
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.osbp.ecview.core.common.editpart.emf.ElementEditpart#initialize(org.eclipse.osbp.ecview.core.common.model.core.YElement)
+	 */
+	@Override
+	public void initialize(IViewContext context, YDelegatingFocusingStrategy model) {
+		applyInitialStrategy(model);
+
+		super.initialize(context, model);
+	}
+
+	/**
+	 * {@inheritDoc}
+	 */
+	@Override
+	protected void handleModelSet(int featureId, Notification notification) {
+		checkDisposed();
+
+		switch (featureId) {
+		case YECviewPackage.YDELEGATING_FOCUSING_STRATEGY__DELEGATE_STRATEGY_ID:
+			internalSetDelegate(notification.getNewStringValue());
+			break;
+		default:
+			super.handleModelSet(featureId, notification);
+		}
+	}
+
+	/**
+	 * Applies the initial strategy and ensures that key strokes are available.
+	 *
+	 * @param model
+	 *            the model
+	 */
+	protected void applyInitialStrategy(YDelegatingFocusingStrategy model) {
+		IFocusingStrategyProvider result = findService(model
+				.getDelegateStrategyId());
+		if (result != null) {
+			this.strategy = result.getStrategy();
+		} else {
+			LOGGER.warn("Strategy was null. So current strategy was not replaced.");
+		}
+
+		internalSetKeystroke(model);
+	}
+
+	/**
+	 * Internal set delegate.
+	 *
+	 * @param id
+	 *            the id
+	 */
+	public void internalSetDelegate(String id) {
+		checkDisposed();
+
+		IFocusingStrategyProvider result = findService(id);
+		if (result != null) {
+			this.strategy = result.getStrategy();
+			// key key stroke definitions
+			internalSetKeystroke();
+		} else {
+			LOGGER.warn("Strategy was null. So current strategy was not replaced.");
+		}
+	}
+
+	/**
+	 * Finds the service with the given id.
+	 *
+	 * @param id
+	 *            the id
+	 * @return the i focusing strategy provider
+	 */
+	private IFocusingStrategyProvider findService(String id) {
+		BundleContext context = FrameworkUtil.getBundle(getClass())
+				.getBundleContext();
+
+		try {
+			Collection<ServiceReference<IFocusingStrategyProvider>> references = context
+					.getServiceReferences(IFocusingStrategyProvider.class,
+							String.format("(ecview.focusing.id=%s)", id));
+			if (!references.isEmpty()) {
+				IFocusingStrategyProvider provider = context
+						.getService(references.iterator().next());
+				return provider;
+			}
+		} catch (InvalidSyntaxException e) {
+			LOGGER.warn("{}", e);
+		}
+		return null;
+	}
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.osbp.ecview.extension.editparts.emf.strategies.FocusingStrategyEditpart#internalDispose()
+	 */
+	@Override
+	protected void internalDispose() {
+		try {
+			LOGGER.info("Disposing " + toString());
+
+			viewContext = null;
+		} finally {
+			super.internalDispose();
+		}
+	}
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.osbp.ecview.extension.editparts.emf.strategies.FocusingStrategyEditpart#doFocus(java.lang.Object, java.lang.Object)
+	 */
+	@Override
+	protected void doFocus(Object source, Object target) {
+		checkDisposed();
+
+		if (strategy != null) {
+			strategy.focus(source, target, (YStrategyLayout) getParent()
+					.getModel());
+		}
+	}
+
+}
diff --git a/org.eclipse.osbp.ecview.extension.editparts.emf/src/org/eclipse/osbp/ecview/extension/editparts/emf/strategies/DelegatingLayoutingStrategyEditpart.java b/org.eclipse.osbp.ecview.extension.editparts.emf/src/org/eclipse/osbp/ecview/extension/editparts/emf/strategies/DelegatingLayoutingStrategyEditpart.java
new file mode 100644
index 0000000..405ab0d
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.editparts.emf/src/org/eclipse/osbp/ecview/extension/editparts/emf/strategies/DelegatingLayoutingStrategyEditpart.java
@@ -0,0 +1,162 @@
+/**
+ *                                                                            
+ *  Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany) 
+ *                                                                            
+ *  All rights reserved. This program and the accompanying materials           
+ *  are made available under the terms of the Eclipse Public License v1.0       
+ *  which accompanies this distribution, and is available at                  
+ *  http://www.eclipse.org/legal/epl-v10.html                                 
+ *                                                                            
+ *  Contributors:                                                      
+ * 	   Florian Pirchner - Initial implementation
+ * 
+ */
+package org.eclipse.osbp.ecview.extension.editparts.emf.strategies;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.osbp.ecview.core.common.context.IViewContext;
+import org.eclipse.osbp.ecview.extension.api.ILayoutingStrategyProvider;
+import org.eclipse.osbp.ecview.extension.editparts.strategies.IDelegatingLayoutingStrategyEditpart;
+import org.eclipse.osbp.ecview.extension.editparts.strategies.IFocusingStrategyEditpart;
+import org.eclipse.osbp.ecview.extension.model.YDelegatingLayoutingStrategy;
+import org.eclipse.osbp.ecview.extension.model.YECviewPackage;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.FrameworkUtil;
+import org.osgi.framework.InvalidSyntaxException;
+import org.osgi.framework.ServiceReference;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * See {@link IFocusingStrategyEditpart}.
+ */
+public class DelegatingLayoutingStrategyEditpart extends
+		LayoutingStrategyEditpart<YDelegatingLayoutingStrategy> implements
+		IDelegatingLayoutingStrategyEditpart {
+
+	/** The Constant LOGGER. */
+	private static final Logger LOGGER = LoggerFactory
+			.getLogger(DelegatingLayoutingStrategyEditpart.class);
+
+	/**
+	 * The default constructor.
+	 */
+	protected DelegatingLayoutingStrategyEditpart() {
+	}
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.osbp.ecview.core.common.editpart.emf.ElementEditpart#initialize(org.eclipse.osbp.ecview.core.common.model.core.YElement)
+	 */
+	@Override
+	public void initialize(IViewContext context, YDelegatingLayoutingStrategy model) {
+		applyInitialStrategy(model);
+
+		super.initialize(context, model);
+	}
+
+	/**
+	 * {@inheritDoc}
+	 */
+	@Override
+	protected void handleModelSet(int featureId, Notification notification) {
+		checkDisposed();
+
+		switch (featureId) {
+		case YECviewPackage.YDELEGATING_LAYOUTING_STRATEGY__DELEGATE_STRATEGY_ID:
+			internalSetDelegate(notification.getNewStringValue());
+			break;
+		default:
+			super.handleModelSet(featureId, notification);
+		}
+	}
+
+	/**
+	 * Applies the initial strategy and ensures that key strokes are available.
+	 *
+	 * @param model
+	 *            the model
+	 */
+	protected void applyInitialStrategy(YDelegatingLayoutingStrategy model) {
+		ILayoutingStrategyProvider result = findService(model
+				.getDelegateStrategyId());
+		if (result != null) {
+			this.strategy = result.getStrategy();
+		} else {
+			LOGGER.warn("Strategy was null. So current strategy was not replaced.");
+		}
+	}
+
+	/**
+	 * Internal set delegate.
+	 *
+	 * @param id
+	 *            the id
+	 */
+	public void internalSetDelegate(String id) {
+		checkDisposed();
+
+		ILayoutingStrategyProvider result = findService(id);
+		if (result != null) {
+			this.strategy = result.getStrategy();
+		} else {
+			LOGGER.warn("Strategy was null. So current strategy was not replaced.");
+		}
+	}
+
+	/**
+	 * Finds the service with the given id.
+	 *
+	 * @param id
+	 *            the id
+	 * @return the i layouting strategy provider
+	 */
+	private ILayoutingStrategyProvider findService(String id) {
+		BundleContext context = FrameworkUtil.getBundle(getClass())
+				.getBundleContext();
+
+		try {
+			Collection<ServiceReference<ILayoutingStrategyProvider>> references = context
+					.getServiceReferences(ILayoutingStrategyProvider.class,
+							String.format("(ecview.layouting.id=%s)", id));
+			if (!references.isEmpty()) {
+				ILayoutingStrategyProvider provider = context
+						.getService(references.iterator().next());
+				return provider;
+			}
+		} catch (InvalidSyntaxException e) {
+			LOGGER.warn("{}", e);
+		}
+		return null;
+	}
+
+	// @Override
+	// public void handleEvent(Event event) {
+	// checkDisposed();
+	//
+	// ILayoutingStrategyProvider result = (ILayoutingStrategyProvider) event
+	// .getProperty(IEventBroker.DATA);
+	// if (result != null) {
+	// this.strategy = result.getStrategy();
+	//
+/**
+	// getParent().requestLayouting();
+	// } else {
+	// LOGGER.warn("Strategy was null. So current strategy was not replaced.");
+	// }
+	// }
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.osbp.ecview.extension.editparts.emf.strategies.LayoutingStrategyEditpart#internalDispose()
+	 */
+	@Override
+	protected void internalDispose() {
+		try {
+			
+		} finally {
+			super.internalDispose();
+		}
+	}
+
+}
diff --git a/org.eclipse.osbp.ecview.extension.editparts.emf/src/org/eclipse/osbp/ecview/extension/editparts/emf/strategies/FocusingStrategyEditpart.java b/org.eclipse.osbp.ecview.extension.editparts.emf/src/org/eclipse/osbp/ecview/extension/editparts/emf/strategies/FocusingStrategyEditpart.java
new file mode 100644
index 0000000..4117d1f
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.editparts.emf/src/org/eclipse/osbp/ecview/extension/editparts/emf/strategies/FocusingStrategyEditpart.java
@@ -0,0 +1,232 @@
+/**
+ *                                                                            
+ *  Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany) 
+ *                                                                            
+ *  All rights reserved. This program and the accompanying materials           
+ *  are made available under the terms of the Eclipse Public License v1.0       
+ *  which accompanies this distribution, and is available at                  
+ *  http://www.eclipse.org/legal/epl-v10.html                                 
+ *                                                                            
+ *  Contributors:                                                      
+ * 	   Florian Pirchner - Initial implementation
+ * 
+ */
+package org.eclipse.osbp.ecview.extension.editparts.emf.strategies;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.osbp.ecview.core.common.context.IViewContext;
+import org.eclipse.osbp.ecview.core.common.editpart.IKeyStrokeDefinitionEditpart;
+import org.eclipse.osbp.ecview.core.common.editpart.IViewEditpart;
+import org.eclipse.osbp.ecview.core.common.editpart.emf.ElementEditpart;
+import org.eclipse.osbp.ecview.core.common.model.core.YElement;
+import org.eclipse.osbp.ecview.core.common.model.core.YKeyStrokeDefinition;
+import org.eclipse.osbp.ecview.core.common.model.core.YView;
+import org.eclipse.osbp.ecview.core.common.model.core.impl.custom.KeyStrokeUtil;
+import org.eclipse.osbp.ecview.extension.api.IFocusingStrategy;
+import org.eclipse.osbp.ecview.extension.editparts.IInternalFocusingEditpart;
+import org.eclipse.osbp.ecview.extension.editparts.IStrategyLayoutEditpart;
+import org.eclipse.osbp.ecview.extension.editparts.strategies.IFocusingStrategyEditpart;
+import org.eclipse.osbp.ecview.extension.model.YECviewPackage;
+import org.eclipse.osbp.ecview.extension.model.YFocusingStrategy;
+import org.eclipse.osbp.runtime.common.keystroke.KeyStrokeDefinition;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * See {@link IFocusingStrategyEditpart}.
+ *
+ * @param <M>
+ *            the generic type
+ */
+public abstract class FocusingStrategyEditpart<M extends YFocusingStrategy>
+		extends ElementEditpart<M> implements IInternalFocusingEditpart {
+
+	/** The Constant LOGGER. */
+	@SuppressWarnings("unused")
+	private static final Logger LOGGER = LoggerFactory
+			.getLogger(FocusingStrategyEditpart.class);
+
+	/** The strategy. */
+	protected IFocusingStrategy strategy;
+
+	/** The key stroke def. */
+	private IKeyStrokeDefinitionEditpart keyStrokeDef;
+
+	/** The view context. */
+	protected IViewContext viewContext;
+
+	/**
+	 * The default constructor.
+	 */
+	protected FocusingStrategyEditpart() {
+	}
+
+	/**
+	 * {@inheritDoc}
+	 */
+	@Override
+	public IStrategyLayoutEditpart getParent() {
+		YElement yParent = (YElement) getModel().eContainer();
+		return yParent != null ? (IStrategyLayoutEditpart) getEditpart(getContext(),yParent)	: null;
+	}
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.osbp.ecview.extension.editparts.strategies.IFocusingStrategyEditpart#getView()
+	 */
+	@Override
+	public IViewEditpart getView() {
+		YView yView = getModel().getView();
+		return yView != null ? (IViewEditpart) getEditpart(getContext(),yView) : null;
+	}
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.osbp.ecview.extension.editparts.strategies.IFocusingStrategyEditpart#focus(java.lang.Object, java.lang.Object)
+	 */
+	@Override
+	public void focus(Object source, Object target) {
+		doFocus(source, target);
+	}
+
+	/**
+	 * Do focus.
+	 *
+	 * @param source
+	 *            the source
+	 * @param target
+	 *            the target
+	 */
+	protected abstract void doFocus(Object source, Object target);
+
+	/**
+	 * Internal set keystroke.
+	 */
+	protected void internalSetKeystroke() {
+		internalSetKeystroke(getModel());
+	}
+
+	/**
+	 * Creates the keystroke based on internal definitions or by the strategy.
+	 *
+	 * @param model
+	 *            the model
+	 * @model
+	 */
+	protected void internalSetKeystroke(M model) {
+		if (model.getKeyStrokeDefinition() == null) {
+			if (strategy == null) {
+				throw new IllegalStateException("Strategy must not be null!");
+			}
+			KeyStrokeDefinition tempDef = strategy.getKeyStrokeDefinition();
+			YKeyStrokeDefinition yDef = KeyStrokeUtil.from(tempDef);
+			model.setTempStrokeDefinition(yDef);
+		}
+	}
+
+	/**
+	 * Set the new content.
+	 *
+	 * @param yDefinition
+	 *            the y definition
+	 */
+	protected void internalSetKeyStrokeDefinition(
+			YKeyStrokeDefinition yDefinition) {
+		ensureKeyStrokeDefinitionLoaded();
+
+		IKeyStrokeDefinitionEditpart newDefinition = getEditpart(getContext(),yDefinition);
+		if (this.keyStrokeDef == newDefinition) {
+			return;
+		}
+
+		IKeyStrokeDefinitionEditpart oldDefinition = this.keyStrokeDef;
+		this.keyStrokeDef = newDefinition;
+
+		if (oldDefinition != null) {
+			oldDefinition.dispose();
+		}
+
+		if (this.keyStrokeDef == null) {
+			ensureKeyStrokeDefinitionLoaded();
+		}
+
+		// request refresh at the layout
+		getParent().requestRefresh(this);
+	}
+
+	/**
+	 * Ensures that the internal keystroke definitions are loaded properly.
+	 */
+	private void ensureKeyStrokeDefinitionLoaded() {
+		if (keyStrokeDef == null) {
+			keyStrokeDef = getEditpart(getContext(),getModel().getKeyStrokeDefinition());
+		}
+
+		if (keyStrokeDef == null) {
+			keyStrokeDef = getEditpart(getContext(),getModel().getTempStrokeDefinition());
+		}
+	}
+
+	/**
+	 * Returns the keyStrokeDefinition editpart.
+	 * 
+	 * @return the keyStrokeDef
+	 */
+	public IKeyStrokeDefinitionEditpart getKeyStrokeDefinition() {
+		ensureKeyStrokeDefinitionLoaded();
+		return keyStrokeDef;
+	}
+
+	/**
+	 * {@inheritDoc}
+	 */
+	@Override
+	protected void handleModelSet(int featureId, Notification notification) {
+		checkDisposed();
+
+		switch (featureId) {
+		case YECviewPackage.YFOCUSING_STRATEGY__KEY_STROKE_DEFINITION:
+			internalSetKeyStrokeDefinition((YKeyStrokeDefinition) notification
+					.getNewValue());
+			break;
+		case YECviewPackage.YFOCUSING_STRATEGY__TEMP_STROKE_DEFINITION:
+			// if there is not defined keystroke definition, then use the temp
+			// one
+			if (getModel().getKeyStrokeDefinition() == null) {
+				internalSetKeyStrokeDefinition((YKeyStrokeDefinition) notification
+						.getNewValue());
+			}
+			break;
+		default:
+			super.handleModelSet(featureId, notification);
+		}
+	}
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.osbp.ecview.extension.editparts.IInternalFocusingEditpart#activate()
+	 */
+	@Override
+	public void activate() {
+		viewContext = getView().getContext();
+	}
+
+	/**
+	 * ONLY FOR TESTS!.
+	 *
+	 * @return the strategy
+	 */
+	public IFocusingStrategy getStrategy() {
+		return strategy;
+	}
+
+	/**
+	 * {@inheritDoc}
+	 */
+	@Override
+	protected void internalDispose() {
+		try {
+			strategy = null;
+		} finally {
+			super.internalDispose();
+		}
+	}
+
+}
diff --git a/org.eclipse.osbp.ecview.extension.editparts.emf/src/org/eclipse/osbp/ecview/extension/editparts/emf/strategies/LayoutingStrategyEditpart.java b/org.eclipse.osbp.ecview.extension.editparts.emf/src/org/eclipse/osbp/ecview/extension/editparts/emf/strategies/LayoutingStrategyEditpart.java
new file mode 100644
index 0000000..6a3878f
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.editparts.emf/src/org/eclipse/osbp/ecview/extension/editparts/emf/strategies/LayoutingStrategyEditpart.java
@@ -0,0 +1,157 @@
+/**
+ *                                                                            
+ *  Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany) 
+ *                                                                            
+ *  All rights reserved. This program and the accompanying materials           
+ *  are made available under the terms of the Eclipse Public License v1.0       
+ *  which accompanies this distribution, and is available at                  
+ *  http://www.eclipse.org/legal/epl-v10.html                                 
+ *                                                                            
+ *  Contributors:                                                      
+ * 	   Florian Pirchner - Initial implementation
+ * 
+ */
+package org.eclipse.osbp.ecview.extension.editparts.emf.strategies;
+
+import org.eclipse.osbp.ecview.core.common.context.IViewContext;
+import org.eclipse.osbp.ecview.core.common.editpart.IViewEditpart;
+import org.eclipse.osbp.ecview.core.common.editpart.emf.ElementEditpart;
+import org.eclipse.osbp.ecview.core.common.model.core.YElement;
+import org.eclipse.osbp.ecview.core.common.model.core.YView;
+import org.eclipse.osbp.ecview.extension.api.ILayoutingStrategy;
+import org.eclipse.osbp.ecview.extension.editparts.IStrategyLayoutEditpart;
+import org.eclipse.osbp.ecview.extension.editparts.strategies.ILayoutingStrategyEditpart;
+import org.eclipse.osbp.ecview.extension.model.YECviewFactory;
+import org.eclipse.osbp.ecview.extension.model.YLayoutingInfo;
+import org.eclipse.osbp.ecview.extension.model.YLayoutingStrategy;
+import org.eclipse.osbp.ecview.extension.model.YStrategyLayout;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * See {@link ILayoutingStrategyEditpart}.
+ *
+ * @param <M>
+ *            the generic type
+ */
+public abstract class LayoutingStrategyEditpart<M extends YLayoutingStrategy>
+		extends ElementEditpart<M> implements ILayoutingStrategyEditpart {
+
+	/** The Constant LOGGER. */
+	@SuppressWarnings("unused")
+	private static final Logger LOGGER = LoggerFactory
+			.getLogger(LayoutingStrategyEditpart.class);
+
+	/** The strategy. */
+	protected ILayoutingStrategy strategy;
+
+	/** The layouting info. */
+	private YLayoutingInfo layoutingInfo;
+
+	/** The y view. */
+	protected YView yView;
+
+	/**
+	 * The default constructor.
+	 */
+	protected LayoutingStrategyEditpart() {
+	}
+
+	
+	
+	
+	/**
+	 * {@inheritDoc}
+	 */
+	@Override
+	public IStrategyLayoutEditpart getParent() {
+		YElement yParent = (YElement) getModel().eContainer();
+		return yParent != null ? (IStrategyLayoutEditpart) getEditpart(getContext(),yParent)	: null;
+	}
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.osbp.ecview.core.common.editpart.emf.ElementEditpart#initialize(org.eclipse.osbp.ecview.core.common.model.core.YElement)
+	 */
+	public void initialize(IViewContext context, M model) {
+		super.initialize(context, model);
+
+		yView = getModel().getView();
+	}
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.osbp.ecview.extension.editparts.strategies.ILayoutingStrategyEditpart#getView()
+	 */
+	@Override
+	public IViewEditpart getView() {
+		return yView != null ? (IViewEditpart) getEditpart(getContext(),yView) : null;
+	}
+
+	/**
+	 * {@inheritDoc}
+	 */
+	@Override
+	protected void internalDispose() {
+		try {
+			strategy = null;
+			yView = null;
+		} finally {
+			super.internalDispose();
+		}
+	}
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.osbp.ecview.core.common.editpart.emf.ElementEditpart#requestDispose()
+	 */
+	@Override
+	public void requestDispose() {
+		throw new UnsupportedOperationException();
+	}
+
+	/**
+	 * Creates a new layouting info.
+	 *
+	 * @return the y layouting info
+	 */
+	protected YLayoutingInfo createLayoutingInfo() {
+		YLayoutingInfo info = YECviewFactory.eINSTANCE
+				.createYLayoutingInfo();
+		info.setLayout(getLayout());
+		return info;
+	}
+
+	/**
+	 * Gets the layout.
+	 *
+	 * @return the layout
+	 */
+	protected YStrategyLayout getLayout() {
+		return (YStrategyLayout) getParent().getModel();
+	}
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.osbp.ecview.extension.editparts.strategies.ILayoutingStrategyEditpart#layout()
+	 */
+	@Override
+	public void layout() {
+		checkDisposed();
+
+		if (strategy != null) {
+			layoutingInfo = createLayoutingInfo();
+			// reset the layouting info
+			getLayout().setLayoutingInfo(null);
+			strategy.layout(layoutingInfo);
+			// now set the layoutInfo again
+			getLayout().setLayoutingInfo(layoutingInfo);
+		}
+	}
+
+	/**
+	 * ONLY FOR TESTS!.
+	 *
+	 * @return the strategy
+	 */
+	public ILayoutingStrategy getStrategy() {
+		return strategy;
+	}
+
+}
diff --git a/org.eclipse.osbp.ecview.extension.editparts.emf/src/org/eclipse/osbp/ecview/extension/editparts/emf/util/OsECViewUtil.java b/org.eclipse.osbp.ecview.extension.editparts.emf/src/org/eclipse/osbp/ecview/extension/editparts/emf/util/OsECViewUtil.java
new file mode 100644
index 0000000..dbb6346
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.editparts.emf/src/org/eclipse/osbp/ecview/extension/editparts/emf/util/OsECViewUtil.java
@@ -0,0 +1,43 @@
+/**
+ *                                                                            
+ *  Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany) 
+ *                                                                            
+ *  All rights reserved. This program and the accompanying materials           
+ *  are made available under the terms of the Eclipse Public License v1.0       
+ *  which accompanies this distribution, and is available at                  
+ *  http://www.eclipse.org/legal/epl-v10.html                                 
+ *                                                                            
+ *  Contributors:                                                      
+ * 	   Florian Pirchner - Initial implementation
+ * 
+ */
+package org.eclipse.osbp.ecview.extension.editparts.emf.util;
+
+import org.eclipse.osbp.ecview.core.util.emf.ModelUtil;
+import org.eclipse.osbp.ecview.extension.api.IFocusingEnhancer;
+import org.eclipse.osbp.ecview.extension.editparts.IStrategyLayoutEditpart;
+import org.eclipse.osbp.ecview.extension.model.YStrategyLayout;
+
+/**
+ * The Class OsECViewUtil.
+ */
+public class OsECViewUtil extends ModelUtil {
+	
+	/**
+	 * Sets the focusing enhancer.
+	 *
+	 * @param layout
+	 *            the layout
+	 * @param focusingEnhancerId
+	 *            the focusing enhancer id
+	 */
+	public void setFocusingEnhancer(YStrategyLayout layout,
+			String focusingEnhancerId) {
+		IStrategyLayoutEditpart strategyEditpart = ModelUtil
+				.findEditpart(layout);
+		IFocusingEnhancer enhancer = strategyEditpart
+				.findFocusingEnhancerService(focusingEnhancerId);
+		layout.getFocusingStrategies().clear();
+		enhancer.enhanceFocusing(layout);
+	}
+}
diff --git a/org.eclipse.osbp.ecview.extension.editparts.emf/src/org/eclipse/osbp/ecview/extension/editparts/emf/visibility/AuthorizationVisibilityProcessor.java b/org.eclipse.osbp.ecview.extension.editparts.emf/src/org/eclipse/osbp/ecview/extension/editparts/emf/visibility/AuthorizationVisibilityProcessor.java
new file mode 100644
index 0000000..76e4a62
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.editparts.emf/src/org/eclipse/osbp/ecview/extension/editparts/emf/visibility/AuthorizationVisibilityProcessor.java
@@ -0,0 +1,324 @@
+/**
+ *                                                                            
+ *  Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany) 
+ *                                                                            
+ *  All rights reserved. This program and the accompanying materials           
+ *  are made available under the terms of the Eclipse Public License v1.0       
+ *  which accompanies this distribution, and is available at                  
+ *  http://www.eclipse.org/legal/epl-v10.html                                 
+ *                                                                            
+ *  Contributors:                                                      
+ * 	   Florian Pirchner - Initial implementation
+ * 
+ */
+package org.eclipse.osbp.ecview.extension.editparts.emf.visibility;
+
+import java.util.ArrayList;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+
+import org.eclipse.emf.common.util.TreeIterator;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.osbp.ecview.core.common.context.IViewContext;
+import org.eclipse.osbp.ecview.core.common.model.core.YEmbeddable;
+import org.eclipse.osbp.ecview.core.common.model.core.YField;
+import org.eclipse.osbp.ecview.core.common.model.core.YView;
+import org.eclipse.osbp.ecview.core.common.notification.ILifecycleEvent;
+import org.eclipse.osbp.ecview.core.common.notification.ILifecycleHandler;
+import org.eclipse.osbp.ecview.core.common.notification.ILifecycleService;
+import org.eclipse.osbp.ecview.core.common.visibility.IVisibilityHandler;
+import org.eclipse.osbp.ecview.core.common.visibility.IVisibilityManager;
+import org.eclipse.osbp.ecview.core.common.visibility.IVisibilityProcessor;
+import org.eclipse.osbp.ecview.extension.model.visibility.YAuthorizationVisibilityProcessor;
+import org.eclipse.osbp.ui.api.useraccess.AbstractAuthorization.Action;
+import org.eclipse.osbp.ui.api.useraccess.AbstractAuthorization.Permission;
+import org.eclipse.osbp.ui.api.useraccess.IUserAccessService;
+
+/**
+ * The Class AuthorizationVisibilityProcessor.
+ */
+public class AuthorizationVisibilityProcessor implements IVisibilityProcessor,
+		ILifecycleHandler {
+
+	/** The handlers. */
+	private Set<Handler> handlers = new HashSet<>();
+
+	/** The input. */
+	@SuppressWarnings("unused")
+	private Object input;
+
+	/** The context. */
+	private IViewContext context;
+
+	/** The lifecycle service. */
+	private ILifecycleService lifecycleService;
+
+	/** The y view. */
+	private YView yView;
+
+	/** The manager. */
+	private IVisibilityManager manager;
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see
+	 * org.eclipse.osbp.ecview.core.common.visibility.IVisibilityProcessor#init
+	 * (org.eclipse.osbp.ecview.core.common.visibility.IVisibilityManager)
+	 */
+	@Override
+	public void init(IVisibilityManager manager) {
+		this.manager = manager;
+		List<YEmbeddable> yEmbeddables = collectAllEmbeddables();
+		for (YEmbeddable target : yEmbeddables) {
+			// do not create handlers for layouts, tabSheets,...
+			if (target instanceof YField) {
+				handlers.add(new Handler(manager, target));
+			}
+		}
+		lifecycleService = context
+				.getService(ILifecycleService.class.getName());
+		lifecycleService.addHandler(this);
+
+		/*
+		 * This VP is not triggered by changing data. And at this point, the vp
+		 * becomes activated the first time -> we need to fire initially.
+		 * 
+		 * PLEASE DO NOT REMOVE!
+		 */
+		fire();
+	}
+
+	/**
+	 * Setup.
+	 *
+	 * @param context
+	 *            the context
+	 * @param yVP
+	 *            the y vp
+	 */
+	public void setup(IViewContext context,
+			YAuthorizationVisibilityProcessor yVP) {
+
+		yView = (YView) context.getViewEditpart().getModel();
+
+		this.context = context;
+	}
+
+	/**
+	 * Find all embeddables in the given yView.<br>
+	 * The ui is rendered now.
+	 *
+	 * @return the list
+	 */
+	private List<YEmbeddable> collectAllEmbeddables() {
+		List<YEmbeddable> yEmbeddables = new ArrayList<>();
+		TreeIterator<EObject> iter = EcoreUtil
+				.getAllProperContents(yView, true);
+		while (iter.hasNext()) {
+			EObject eObject = iter.next();
+			if (eObject instanceof YEmbeddable) {
+				yEmbeddables.add((YEmbeddable) eObject);
+			}
+		}
+		return yEmbeddables;
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see org.eclipse.osbp.ecview.core.common.notification.ILifecycleHandler#
+	 * notifyLifecycle
+	 * (org.eclipse.osbp.ecview.core.common.notification.ILifecycleEvent)
+	 */
+	@Override
+	public void notifyLifecycle(ILifecycleEvent event) {
+		Object model = event.getEditpart().getModel();
+		if (model instanceof YEmbeddable) {
+			Handler handler = findHandler((YEmbeddable) model);
+			if (ILifecycleEvent.TYPE_UNRENDERED.equals(event.getType())) {
+				if (handler != null) {
+					handlers.remove(handler);
+				}
+			} else if (ILifecycleEvent.TYPE_DISPOSED.equals(event.getType())) {
+				if (handler != null) {
+					handlers.remove(handler);
+				}
+				if (model == yView) {
+					// means the view was disposed!
+					internalDispose();
+				}
+			} else if (ILifecycleEvent.TYPE_RENDERED.equals(event.getType())) {
+				if (handler == null) {
+					handlers.add(new Handler(manager, (YEmbeddable) model));
+				}
+			}
+		}
+	}
+
+	/**
+	 * Internal dispose.
+	 */
+	private void internalDispose() {
+		lifecycleService.removeHandler(this);
+		lifecycleService = null;
+
+		handlers.clear();
+		handlers = null;
+
+		manager = null;
+		context = null;
+		yView = null;
+	}
+
+	/**
+	 * Returns the handler for the given model or <code>null</code> if no
+	 * handler is available.
+	 *
+	 * @param model
+	 *            the model
+	 * @return the handler
+	 */
+	private Handler findHandler(YEmbeddable model) {
+		for (Handler handler : handlers) {
+			if (handler.model == model) {
+				return handler;
+			}
+		}
+		return null;
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see
+	 * org.eclipse.osbp.ecview.core.common.visibility.IVisibilityProcessor#fire
+	 * ()
+	 */
+	@Override
+	public void fire() {
+		doFire();
+
+		for (Handler handler : handlers) {
+			handler.apply();
+		}
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see
+	 * org.eclipse.osbp.ecview.core.common.visibility.IVisibilityProcessor#setInput
+	 * (java.lang.Object)
+	 */
+	@Override
+	public void setInput(Object input) {
+		this.input = input;
+
+		fire();
+	}
+
+	/**
+	 * Do fire.
+	 */
+	public void doFire() {
+		IUserAccessService userAccessService = context
+				.getService(IUserAccessService.class.getName());
+		for (Handler handler : handlers) {
+			handler.handle(userAccessService);
+		}
+	}
+
+	/**
+	 * The Class Handler.
+	 */
+	private static class Handler {
+
+		/** The target. */
+		private IVisibilityHandler target;
+
+		/** The field id. */
+		private String fieldId;
+
+		/** The entity name. */
+		private String dtoName;
+
+		/** The entity property. */
+		private String dtoProperty;
+
+		/** The model. */
+		private YEmbeddable model;
+
+		/**
+		 * Instantiates a new handler.
+		 *
+		 * @param manager
+		 *            the manager
+		 * @param model
+		 *            the model
+		 */
+		public Handler(IVisibilityManager manager, YEmbeddable model) {
+			this.model = model;
+			fieldId = model.getId();
+			dtoName = model.getAuthorizationGroup();
+			dtoProperty = model.getAuthorizationId();
+
+			target = manager.getById(fieldId);
+		}
+
+		/**
+		 * Handle.
+		 *
+		 * @param userAccessService
+		 *            the user access service
+		 */
+		public void handle(IUserAccessService userAccessService) {
+
+			if (target == null) {
+				return;
+			}
+
+			target.setVisible(false);
+			target.setEditable(false);
+			target.setEnabled(false);
+			if (userAccessService == null) {
+				target.setVisible(true);
+			} else {
+				if(userAccessService.isPermitted(Permission.forDto(dtoName, Action.readable)).isPermitted()) {
+					target.setVisible(true);
+					target.setEditable(true);
+					target.setEnabled(true);
+					boolean nameVisible = !userAccessService.isPermitted(
+							Permission.forDtoProperty(dtoName, dtoProperty,
+									Action.invisible)).isPermitted();
+					if (nameVisible) {
+						boolean nameEnabled = !userAccessService.isPermitted(
+								Permission.forDtoProperty(dtoName, dtoProperty,
+										Action.disabled)).isPermitted();
+						if (nameEnabled) {
+							boolean nameEditable = !userAccessService.isPermitted(
+									Permission.forDtoProperty(dtoName, dtoProperty,
+											Action.noneditable)).isPermitted();
+							target.setEditable(nameEditable);
+						} else {
+							target.setEnabled(nameEnabled);
+						}
+					} else {
+						target.setVisible(nameVisible);
+					}
+				}
+			}
+		}
+
+		/**
+		 * Apply.
+		 */
+		public void apply() {
+			if (target != null) {
+				target.apply();
+			}
+		}
+	}
+}
diff --git a/org.eclipse.osbp.ecview.extension.editparts.emf/src/org/eclipse/osbp/ecview/extension/editparts/emf/visibility/AuthorizationVisibilityProcessorEditpart.java b/org.eclipse.osbp.ecview.extension.editparts.emf/src/org/eclipse/osbp/ecview/extension/editparts/emf/visibility/AuthorizationVisibilityProcessorEditpart.java
new file mode 100644
index 0000000..2909012
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.editparts.emf/src/org/eclipse/osbp/ecview/extension/editparts/emf/visibility/AuthorizationVisibilityProcessorEditpart.java
@@ -0,0 +1,44 @@
+/**
+ *                                                                            
+ *  Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany) 
+ *                                                                            
+ *  All rights reserved. This program and the accompanying materials           
+ *  are made available under the terms of the Eclipse Public License v1.0       
+ *  which accompanies this distribution, and is available at                  
+ *  http://www.eclipse.org/legal/epl-v10.html                                 
+ *                                                                            
+ *  Contributors:                                                      
+ * 	   Florian Pirchner - Initial implementation
+ * 
+ */
+package org.eclipse.osbp.ecview.extension.editparts.emf.visibility;
+
+import org.eclipse.osbp.ecview.core.common.editpart.emf.visibility.VisibilityProcessorEditpart;
+import org.eclipse.osbp.ecview.core.common.visibility.IVisibilityProcessor;
+import org.eclipse.osbp.ecview.extension.editparts.visibility.IAuthorizationVisibilityProcessorEditpart;
+import org.eclipse.osbp.ecview.extension.model.visibility.YAuthorizationVisibilityProcessor;
+
+/**
+ * The Class AuthorizationVisibilityProcessorEditpart.
+ */
+public class AuthorizationVisibilityProcessorEditpart extends
+		VisibilityProcessorEditpart<YAuthorizationVisibilityProcessor>
+		implements IAuthorizationVisibilityProcessorEditpart {
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.osbp.ecview.core.common.editpart.emf.visibility.VisibilityProcessorEditpart#loadProcessor()
+	 */
+	protected IVisibilityProcessor loadProcessor() {
+		if (processor != null) {
+			return processor;
+		}
+
+		AuthorizationVisibilityProcessor temp = new AuthorizationVisibilityProcessor();
+		temp.setup(getViewContext(getModel()), getModel());
+
+		processor = temp;
+
+		return processor;
+	}
+
+}
diff --git a/org.eclipse.osbp.ecview.extension.editparts.emf/src/org/eclipse/osbp/ecview/extension/editparts/emf/visibility/SubTypeVisibilityProcessor.java b/org.eclipse.osbp.ecview.extension.editparts.emf/src/org/eclipse/osbp/ecview/extension/editparts/emf/visibility/SubTypeVisibilityProcessor.java
new file mode 100644
index 0000000..4f12e70
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.editparts.emf/src/org/eclipse/osbp/ecview/extension/editparts/emf/visibility/SubTypeVisibilityProcessor.java
@@ -0,0 +1,93 @@
+/**
+ *                                                                            
+ *  Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany) 
+ *                                                                            
+ *  All rights reserved. This program and the accompanying materials           
+ *  are made available under the terms of the Eclipse Public License v1.0       
+ *  which accompanies this distribution, and is available at                  
+ *  http://www.eclipse.org/legal/epl-v10.html                                 
+ *                                                                            
+ *  Contributors:                                                      
+ * 	   Florian Pirchner - Initial implementation
+ * 
+ */
+package org.eclipse.osbp.ecview.extension.editparts.emf.visibility;
+
+import org.eclipse.osbp.ecview.core.common.context.IViewContext;
+import org.eclipse.osbp.ecview.core.common.visibility.IVisibilityHandler;
+import org.eclipse.osbp.ecview.core.common.visibility.IVisibilityManager;
+import org.eclipse.osbp.ecview.core.common.visibility.IVisibilityProcessor;
+import org.eclipse.osbp.ecview.extension.model.visibility.YSubTypeVisibilityProcessor;
+
+/**
+ * The Class SubTypeVisibilityProcessor.
+ */
+public class SubTypeVisibilityProcessor implements IVisibilityProcessor {
+
+	/** The input. */
+	@SuppressWarnings("unused")
+	private Object input;
+
+	/** The manager. */
+	private IVisibilityManager manager;
+
+	private YSubTypeVisibilityProcessor yVP;
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see
+	 * org.eclipse.osbp.ecview.core.common.visibility.IVisibilityProcessor#init
+	 * (org.eclipse.osbp.ecview.core.common.visibility.IVisibilityManager)
+	 */
+	@Override
+	public void init(IVisibilityManager manager) {
+		this.manager = manager;
+	}
+
+	/**
+	 * Setup.
+	 *
+	 * @param context
+	 *            the context
+	 * @param yVP
+	 *            the y vp
+	 */
+	public void setup(IViewContext context, YSubTypeVisibilityProcessor yVP) {
+		this.yVP = yVP;
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see
+	 * org.eclipse.osbp.ecview.core.common.visibility.IVisibilityProcessor#fire
+	 * ()
+	 */
+	@Override
+	public void fire() {
+		IVisibilityHandler handler = manager.getById(yVP.getTarget().getId());
+		if (handler != null) {
+			if (yVP.matchesType(input != null ? input.getClass() : null)) {
+				handler.setVisible(true);
+			} else {
+				handler.setVisible(false);
+			}
+			handler.apply();
+		}
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see
+	 * org.eclipse.osbp.ecview.core.common.visibility.IVisibilityProcessor#setInput
+	 * (java.lang.Object)
+	 */
+	@Override
+	public void setInput(Object input) {
+		this.input = input;
+
+		fire();
+	}
+}
diff --git a/org.eclipse.osbp.ecview.extension.editparts.emf/src/org/eclipse/osbp/ecview/extension/editparts/emf/visibility/SubTypeVisibilityProcessorEditpart.java b/org.eclipse.osbp.ecview.extension.editparts.emf/src/org/eclipse/osbp/ecview/extension/editparts/emf/visibility/SubTypeVisibilityProcessorEditpart.java
new file mode 100644
index 0000000..0b6b8c8
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.editparts.emf/src/org/eclipse/osbp/ecview/extension/editparts/emf/visibility/SubTypeVisibilityProcessorEditpart.java
@@ -0,0 +1,47 @@
+/**
+ *                                                                            
+ *  Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany) 
+ *                                                                            
+ *  All rights reserved. This program and the accompanying materials           
+ *  are made available under the terms of the Eclipse Public License v1.0       
+ *  which accompanies this distribution, and is available at                  
+ *  http://www.eclipse.org/legal/epl-v10.html                                 
+ *                                                                            
+ *  Contributors:                                                      
+ * 	   Florian Pirchner - Initial implementation
+ * 
+ */
+package org.eclipse.osbp.ecview.extension.editparts.emf.visibility;
+
+import org.eclipse.osbp.ecview.core.common.editpart.emf.visibility.VisibilityProcessorEditpart;
+import org.eclipse.osbp.ecview.core.common.visibility.IVisibilityProcessor;
+import org.eclipse.osbp.ecview.extension.editparts.visibility.ISubTypeVisibilityProcessorEditpart;
+import org.eclipse.osbp.ecview.extension.model.visibility.YSubTypeVisibilityProcessor;
+
+/**
+ * The Class AuthorizationVisibilityProcessorEditpart.
+ */
+public class SubTypeVisibilityProcessorEditpart extends
+		VisibilityProcessorEditpart<YSubTypeVisibilityProcessor> implements
+		ISubTypeVisibilityProcessorEditpart {
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see org.eclipse.osbp.ecview.core.common.editpart.emf.visibility.
+	 * VisibilityProcessorEditpart#loadProcessor()
+	 */
+	protected IVisibilityProcessor loadProcessor() {
+		if (processor != null) {
+			return processor;
+		}
+
+		SubTypeVisibilityProcessor temp = new SubTypeVisibilityProcessor();
+		temp.setup(getViewContext(getModel()), getModel());
+
+		processor = temp;
+
+		return processor;
+	}
+
+}
diff --git a/org.eclipse.osbp.ecview.extension.feature/.project b/org.eclipse.osbp.ecview.extension.feature/.project
new file mode 100644
index 0000000..a9714fa
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.feature/.project
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.osbp.ecview.extension.feature</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.xtext.ui.shared.xtextBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.FeatureBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.sonarlint.eclipse.core.sonarlintBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.xtext.ui.shared.xtextNature</nature>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
+		<nature>org.eclipse.pde.FeatureNature</nature>
+	</natures>
+</projectDescription>
diff --git a/org.eclipse.osbp.ecview.extension.feature/LICENSE.txt b/org.eclipse.osbp.ecview.extension.feature/LICENSE.txt
new file mode 100644
index 0000000..ff42ad4
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.feature/LICENSE.txt
@@ -0,0 +1,161 @@
+Eclipse Public License -v 1.0
+
+THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION
+OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.
+
+1. DEFINITIONS
+
+"Contribution" means:
+
+a) in the case of the initial Contributor, the initial code and documentation distributed under this Agreement, and
+
+b) in the case of each subsequent Contributor:
+
+i) changes to the Program, and
+
+ii) additions to the Program;
+
+where such changes and/or additions to the Program originate from and are distributed by that particular Contributor.
+A Contribution 'originates' from a Contributor if it was added to the Program by such Contributor itself or anyone
+acting on such Contributor's behalf. Contributions do not include additions to the Program which: (i) are separate
+modules of software distributed in conjunction with the Program under their own license agreement, and (ii) are not
+derivative works of the Program.
+
+"Contributor" means any person or entity that distributes the Program.
+
+"Licensed Patents " mean patent claims licensable by a Contributor which are necessarily infringed by the use or sale of
+its Contribution alone or when combined with the Program.
+
+"Program" means the Contributions distributed in accordance with this Agreement.
+
+"Recipient" means anyone who receives the Program under this Agreement, including all Contributors.
+
+2. GRANT OF RIGHTS
+
+a) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide,
+royalty-free copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, distribute
+and sublicense the Contribution of such Contributor, if any, and such derivative works, in source code and object code
+form.
+
+b) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide,
+royalty-free patent license under Licensed Patents to make, use, sell, offer to sell, import and otherwise transfer the
+Contribution of such Contributor, if any, in source code and object code form. This patent license shall apply to the
+combination of the Contribution and the Program if, at the time the Contribution is added by the Contributor, such
+addition of the Contribution causes such combination to be covered by the Licensed Patents. The patent license shall not
+apply to any other combinations which include the Contribution. No hardware per se is licensed hereunder.
+
+c) Recipient understands that although each Contributor grants the licenses to its Contributions set forth herein, no
+assurances are provided by any Contributor that the Program does not infringe the patent or other intellectual property
+rights of any other entity. Each Contributor disclaims any liability to Recipient for claims brought by any other entity
+based on infringement of intellectual property rights or otherwise. As a condition to exercising the rights and
+licenses granted hereunder, each Recipient hereby assumes sole responsibility to secure any other intellectual property
+rights needed, if any. For example, if a third party patent license is required to allow Recipient to distribute the
+Program, it is Recipient's responsibility to acquire that license before distributing the Program.
+
+d) Each Contributor represents that to its knowledge it has sufficient copyright rights in its Contribution, if any, to
+grant the copyright license set forth in this Agreement.
+
+3. REQUIREMENTS
+
+A Contributor may choose to distribute the Program in object code form under its own license agreement, provided that:
+
+a) it complies with the terms and conditions of this Agreement; and
+
+b) its license agreement:
+
+i) effectively disclaims on behalf of all Contributors all warranties and conditions, express and implied, including
+warranties or conditions of title and non-infringement, and implied warranties or conditions of merchantability and
+fitness for a particular purpose;
+
+ii) effectively excludes on behalf of all Contributors all liability for damages, including direct, indirect, special,
+incidental and consequential damages, such as lost profits;
+
+iii) states that any provisions which differ from this Agreement are offered by that Contributor alone and not by any
+other party; and
+
+iv) states that source code for the Program is available from such Contributor, and informs licensees how to obtain it
+in a reasonable manner on or through a medium customarily used for software exchange.
+
+When the Program is made available in source code form:
+
+a) it must be made available under this Agreement; and
+
+b) a copy of this Agreement must be included with each copy of the Program.
+
+Contributors may not remove or alter any copyright notices contained within the Program.
+
+Each Contributor must identify itself as the originator of its Contribution, if any, in a manner that reasonably allows
+subsequent Recipients to identify the originator of the Contribution.
+
+4. COMMERCIAL DISTRIBUTION
+
+Commercial distributors of software may accept certain responsibilities with respect to end users, business partners and
+the like. While this license is intended to facilitate the commercial use of the Program, the Contributor who includes
+the Program in a commercial product offering should do so in a manner which does not create potential liability for
+other Contributors. Therefore, if a Contributor includes the Program in a commercial product offering, such Contributor
+("Commercial Contributor") hereby agrees to defend and indemnify every other Contributor ("Indemnified Contributor")
+against any losses, damages and costs (collectively "Losses") arising from claims, lawsuits and other legal actions
+brought by a third party against the Indemnified Contributor to the extent caused by the acts or omissions of such
+Commercial Contributor in connection with its distribution of the Program in a commercial product offering. The
+obligations in this section do not apply to any claims or Losses relating to any actual or alleged intellectual
+property infringement. In order to qualify, an Indemnified Contributor must: a) promptly notify the Commercial
+Contributor in writing of such claim, and b) allow the Commercial Contributor to control, and cooperate with the
+Commercial Contributor in, the defense and any related settlement negotiations. The Indemnified Contributor may
+ participate in any such claim at its own expense.
+
+For example, a Contributor might include the Program in a commercial product offering, Product X. That Contributor is
+then a Commercial Contributor. If that Commercial Contributor then makes performance claims, or offers warranties
+related to Product X, those performance claims and warranties are such Commercial Contributor's responsibility alone.
+Under this section, the Commercial Contributor would have to defend claims against the other Contributors related to
+those performance claims and warranties, and if a court requires any other Contributor to pay any damages as a result,
+the Commercial Contributor must pay those damages.
+
+5. NO WARRANTY
+
+EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR
+CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE,
+NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely responsible for
+determining the appropriateness of using and distributing the Program and assumes all risks associated with its
+exercise of rights under this Agreement , including but not limited to the risks and costs of program errors, compliance
+with applicable laws, damage to or loss of data, programs or equipment, and unavailability or interruption of operations.
+
+6. DISCLAIMER OF LIABILITY
+
+EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY
+DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST PROFITS),
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED
+HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+7. GENERAL
+
+If any provision of this Agreement is invalid or unenforceable under applicable law, it shall not affect the validity or
+enforceability of the remainder of the terms of this Agreement, and without further action by the parties hereto, such
+provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.
+
+If Recipient institutes patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit)
+alleging that the Program itself (excluding combinations of the Program with other software or hardware) infringes such
+Recipient's patent(s), then such Recipient's rights granted under Section 2(b) shall terminate as of the date such
+litigation is filed.
+
+All Recipient's rights under this Agreement shall terminate if it fails to comply with any of the material terms or
+conditions of this Agreement and does not cure such failure in a reasonable period of time after becoming aware of such
+noncompliance. If all Recipient's rights under this Agreement terminate, Recipient agrees to cease use and distribution
+of the Program as soon as reasonably practicable. However, Recipient's obligations under this Agreement and any licenses
+ granted by Recipient relating to the Program shall continue and survive.
+
+Everyone is permitted to copy and distribute copies of this Agreement, but in order to avoid inconsistency the Agreement
+is copyrighted and may only be modified in the following manner. The Agreement Steward reserves the right to publish
+new versions (including revisions) of this Agreement from time to time. No one other than the Agreement Steward has the
+right to modify this Agreement. The Eclipse Foundation is the initial Agreement Steward. The Eclipse Foundation may
+assign the responsibility to serve as the Agreement Steward to a suitable separate entity. Each new version of the
+Agreement will be given a distinguishing version number. The Program (including Contributions) may always be
+distributed subject to the version of the Agreement under which it was received. In addition, after a new version of
+the Agreement is published, Contributor may elect to distribute the Program (including its Contributions) under the
+new version. Except as expressly stated in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to
+the intellectual property of any Contributor under this Agreement, whether expressly, by implication, estoppel or
+otherwise. All rights in the Program not expressly granted under this Agreement are reserved.
+
+This Agreement is governed by the laws of the State of New York and the intellectual property laws of the United States
+of America. No party to this Agreement will bring a legal action under this Agreement more than one year after the cause
+of action arose. Each party waives its rights to a jury trial in any resulting litigation.
\ No newline at end of file
diff --git a/org.eclipse.osbp.ecview.extension.feature/about.html b/org.eclipse.osbp.ecview.extension.feature/about.html
new file mode 100644
index 0000000..64c0598
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.feature/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 1, 2016</p>	
+<h3>License</h3>
+
+<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 (&quot;EPL&quot;).  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, &quot;Program&quot; 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 (&quot;Redistributor&quot;) 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>
\ No newline at end of file
diff --git a/org.eclipse.osbp.ecview.extension.feature/build.properties b/org.eclipse.osbp.ecview.extension.feature/build.properties
new file mode 100644
index 0000000..9234d19
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.feature/build.properties
@@ -0,0 +1,2 @@
+bin.includes = license.html,  feature.xml,\
+               feature.properties
diff --git a/org.eclipse.osbp.ecview.extension.feature/epl-v10.html b/org.eclipse.osbp.ecview.extension.feature/epl-v10.html
new file mode 100644
index 0000000..b398acc
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.feature/epl-v10.html
@@ -0,0 +1,259 @@
+<!--?xml version="1.0" encoding="ISO-8859-1" ?-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Eclipse Public License - Version 1.0</title>
+<style type="text/css">
+  body {
+    size: 8.5in 11.0in;
+    margin: 0.25in 0.5in 0.25in 0.5in;
+    tab-interval: 0.5in;
+    }
+  p {  	
+    margin-left: auto;
+    margin-top:  0.5em;
+    margin-bottom: 0.5em;
+    }
+  p.list {
+  	margin-left: 0.5in;
+    margin-top:  0.05em;
+    margin-bottom: 0.05em;
+    }
+  </style>
+
+</head>
+
+<body lang="EN-US">
+
+<h2>Eclipse Public License - v 1.0</h2>
+
+<p>THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE
+PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR
+DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS
+AGREEMENT.</p>
+
+<p><b>1. DEFINITIONS</b></p>
+
+<p>"Contribution" means:</p>
+
+<p class="list">a) in the case of the initial Contributor, the initial
+code and documentation distributed under this Agreement, and</p>
+<p class="list">b) in the case of each subsequent Contributor:</p>
+<p class="list">i) changes to the Program, and</p>
+<p class="list">ii) additions to the Program;</p>
+<p class="list">where such changes and/or additions to the Program
+originate from and are distributed by that particular Contributor. A
+Contribution 'originates' from a Contributor if it was added to the
+Program by such Contributor itself or anyone acting on such
+Contributor's behalf. Contributions do not include additions to the
+Program which: (i) are separate modules of software distributed in
+conjunction with the Program under their own license agreement, and (ii)
+are not derivative works of the Program.</p>
+
+<p>"Contributor" means any person or entity that distributes
+the Program.</p>
+
+<p>"Licensed Patents" mean patent claims licensable by a
+Contributor which are necessarily infringed by the use or sale of its
+Contribution alone or when combined with the Program.</p>
+
+<p>"Program" means the Contributions distributed in accordance
+with this Agreement.</p>
+
+<p>"Recipient" means anyone who receives the Program under
+this Agreement, including all Contributors.</p>
+
+<p><b>2. GRANT OF RIGHTS</b></p>
+
+<p class="list">a) Subject to the terms of this Agreement, each
+Contributor hereby grants Recipient a non-exclusive, worldwide,
+royalty-free copyright license to reproduce, prepare derivative works
+of, publicly display, publicly perform, distribute and sublicense the
+Contribution of such Contributor, if any, and such derivative works, in
+source code and object code form.</p>
+
+<p class="list">b) Subject to the terms of this Agreement, each
+Contributor hereby grants Recipient a non-exclusive, worldwide,
+royalty-free patent license under Licensed Patents to make, use, sell,
+offer to sell, import and otherwise transfer the Contribution of such
+Contributor, if any, in source code and object code form. This patent
+license shall apply to the combination of the Contribution and the
+Program if, at the time the Contribution is added by the Contributor,
+such addition of the Contribution causes such combination to be covered
+by the Licensed Patents. The patent license shall not apply to any other
+combinations which include the Contribution. No hardware per se is
+licensed hereunder.</p>
+
+<p class="list">c) Recipient understands that although each Contributor
+grants the licenses to its Contributions set forth herein, no assurances
+are provided by any Contributor that the Program does not infringe the
+patent or other intellectual property rights of any other entity. Each
+Contributor disclaims any liability to Recipient for claims brought by
+any other entity based on infringement of intellectual property rights
+or otherwise. As a condition to exercising the rights and licenses
+granted hereunder, each Recipient hereby assumes sole responsibility to
+secure any other intellectual property rights needed, if any. For
+example, if a third party patent license is required to allow Recipient
+to distribute the Program, it is Recipient's responsibility to acquire
+that license before distributing the Program.</p>
+
+<p class="list">d) Each Contributor represents that to its knowledge it
+has sufficient copyright rights in its Contribution, if any, to grant
+the copyright license set forth in this Agreement.</p>
+
+<p><b>3. REQUIREMENTS</b></p>
+
+<p>A Contributor may choose to distribute the Program in object code
+form under its own license agreement, provided that:</p>
+
+<p class="list">a) it complies with the terms and conditions of this
+Agreement; and</p>
+
+<p class="list">b) its license agreement:</p>
+
+<p class="list">i) effectively disclaims on behalf of all Contributors
+all warranties and conditions, express and implied, including warranties
+or conditions of title and non-infringement, and implied warranties or
+conditions of merchantability and fitness for a particular purpose;</p>
+
+<p class="list">ii) effectively excludes on behalf of all Contributors
+all liability for damages, including direct, indirect, special,
+incidental and consequential damages, such as lost profits;</p>
+
+<p class="list">iii) states that any provisions which differ from this
+Agreement are offered by that Contributor alone and not by any other
+party; and</p>
+
+<p class="list">iv) states that source code for the Program is available
+from such Contributor, and informs licensees how to obtain it in a
+reasonable manner on or through a medium customarily used for software
+exchange.</p>
+
+<p>When the Program is made available in source code form:</p>
+
+<p class="list">a) it must be made available under this Agreement; and</p>
+
+<p class="list">b) a copy of this Agreement must be included with each
+copy of the Program.</p>
+
+<p>Contributors may not remove or alter any copyright notices contained
+within the Program.</p>
+
+<p>Each Contributor must identify itself as the originator of its
+Contribution, if any, in a manner that reasonably allows subsequent
+Recipients to identify the originator of the Contribution.</p>
+
+<p><b>4. COMMERCIAL DISTRIBUTION</b></p>
+
+<p>Commercial distributors of software may accept certain
+responsibilities with respect to end users, business partners and the
+like. While this license is intended to facilitate the commercial use of
+the Program, the Contributor who includes the Program in a commercial
+product offering should do so in a manner which does not create
+potential liability for other Contributors. Therefore, if a Contributor
+includes the Program in a commercial product offering, such Contributor
+("Commercial Contributor") hereby agrees to defend and
+indemnify every other Contributor ("Indemnified Contributor")
+against any losses, damages and costs (collectively "Losses")
+arising from claims, lawsuits and other legal actions brought by a third
+party against the Indemnified Contributor to the extent caused by the
+acts or omissions of such Commercial Contributor in connection with its
+distribution of the Program in a commercial product offering. The
+obligations in this section do not apply to any claims or Losses
+relating to any actual or alleged intellectual property infringement. In
+order to qualify, an Indemnified Contributor must: a) promptly notify
+the Commercial Contributor in writing of such claim, and b) allow the
+Commercial Contributor to control, and cooperate with the Commercial
+Contributor in, the defense and any related settlement negotiations. The
+Indemnified Contributor may participate in any such claim at its own
+expense.</p>
+
+<p>For example, a Contributor might include the Program in a commercial
+product offering, Product X. That Contributor is then a Commercial
+Contributor. If that Commercial Contributor then makes performance
+claims, or offers warranties related to Product X, those performance
+claims and warranties are such Commercial Contributor's responsibility
+alone. Under this section, the Commercial Contributor would have to
+defend claims against the other Contributors related to those
+performance claims and warranties, and if a court requires any other
+Contributor to pay any damages as a result, the Commercial Contributor
+must pay those damages.</p>
+
+<p><b>5. NO WARRANTY</b></p>
+
+<p>EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS
+PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS
+OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION,
+ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY
+OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely
+responsible for determining the appropriateness of using and
+distributing the Program and assumes all risks associated with its
+exercise of rights under this Agreement , including but not limited to
+the risks and costs of program errors, compliance with applicable laws,
+damage to or loss of data, programs or equipment, and unavailability or
+interruption of operations.</p>
+
+<p><b>6. DISCLAIMER OF LIABILITY</b></p>
+
+<p>EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT
+NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT,
+INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING
+WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF
+LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR
+DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED
+HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.</p>
+
+<p><b>7. GENERAL</b></p>
+
+<p>If any provision of this Agreement is invalid or unenforceable under
+applicable law, it shall not affect the validity or enforceability of
+the remainder of the terms of this Agreement, and without further action
+by the parties hereto, such provision shall be reformed to the minimum
+extent necessary to make such provision valid and enforceable.</p>
+
+<p>If Recipient institutes patent litigation against any entity
+(including a cross-claim or counterclaim in a lawsuit) alleging that the
+Program itself (excluding combinations of the Program with other
+software or hardware) infringes such Recipient's patent(s), then such
+Recipient's rights granted under Section 2(b) shall terminate as of the
+date such litigation is filed.</p>
+
+<p>All Recipient's rights under this Agreement shall terminate if it
+fails to comply with any of the material terms or conditions of this
+Agreement and does not cure such failure in a reasonable period of time
+after becoming aware of such noncompliance. If all Recipient's rights
+under this Agreement terminate, Recipient agrees to cease use and
+distribution of the Program as soon as reasonably practicable. However,
+Recipient's obligations under this Agreement and any licenses granted by
+Recipient relating to the Program shall continue and survive.</p>
+
+<p>Everyone is permitted to copy and distribute copies of this
+Agreement, but in order to avoid inconsistency the Agreement is
+copyrighted and may only be modified in the following manner. The
+Agreement Steward reserves the right to publish new versions (including
+revisions) of this Agreement from time to time. No one other than the
+Agreement Steward has the right to modify this Agreement. The Eclipse
+Foundation is the initial Agreement Steward. The Eclipse Foundation may
+assign the responsibility to serve as the Agreement Steward to a
+suitable separate entity. Each new version of the Agreement will be
+given a distinguishing version number. The Program (including
+Contributions) may always be distributed subject to the version of the
+Agreement under which it was received. In addition, after a new version
+of the Agreement is published, Contributor may elect to distribute the
+Program (including its Contributions) under the new version. Except as
+expressly stated in Sections 2(a) and 2(b) above, Recipient receives no
+rights or licenses to the intellectual property of any Contributor under
+this Agreement, whether expressly, by implication, estoppel or
+otherwise. All rights in the Program not expressly granted under this
+Agreement are reserved.</p>
+
+<p>This Agreement is governed by the laws of the State of New York and
+the intellectual property laws of the United States of America. No party
+to this Agreement will bring a legal action under this Agreement more
+than one year after the cause of action arose. Each party waives its
+rights to a jury trial in any resulting litigation.</p>
+
+
+
+</body></html>
\ No newline at end of file
diff --git a/org.eclipse.osbp.ecview.extension.feature/feature.properties b/org.eclipse.osbp.ecview.extension.feature/feature.properties
new file mode 100644
index 0000000..caa500e
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.feature/feature.properties
@@ -0,0 +1,159 @@
+# feature.properties
+# contains externalized strings for feature.xml
+# "%foo" in feature.xml corresponds to the key "foo" in this file
+# java.io.Properties file (ISO 8859-1 with "\" escapes)
+# This file should be translated.
+
+# "featureName" property - name of the feature
+featureName = OSBP Extensions for ECView 
+
+# "providerName" property - name of the company that provides the feature
+providerName=Eclipse OSBP
+
+# "description" property - description of the feature
+description= OSBP Extensions for ECView
+
+# "updateSiteName" property - label for the update site
+updateSiteName=
+
+# "copyright" property - text of the "Feature Update Copyright"
+copyright=\
+Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany) \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\
+################ end of copyright property ####################################
+
+# "licenseURL" property - URL of the "Feature License"
+# do not translate value - just change to point to a locale-specific HTML page
+licenseURL=license.html
+
+# "license" property - text of the "Feature Update License"
+# should be plain text version of license agreement pointed to be "licenseURL"
+license=\
+Eclipse Foundation Software User Agreement\n\
+February 1, 2011\n\
+\n\
+Usage Of Content\n\
+\n\
+THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\
+OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\
+USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\
+AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\
+NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU\n\
+AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\
+AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\
+OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE\n\
+TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\
+OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\
+BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\
+\n\
+Applicable Licenses\n\
+\n\
+Unless otherwise indicated, all Content made available by the\n\
+Eclipse Foundation is provided to you under the terms and conditions of\n\
+the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is\n\
+provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\
+For purposes of the EPL, "Program" will mean the Content.\n\
+\n\
+Content includes, but is not limited to, source code, object code,\n\
+documentation and other files maintained in the Eclipse Foundation source code\n\
+repository ("Repository") in software modules ("Modules") and made available\n\
+as downloadable archives ("Downloads").\n\
+\n\
+       - Content may be structured and packaged into modules to facilitate delivering,\n\
+         extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\
+         plug-in fragments ("Fragments"), and features ("Features").\n\
+       - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\
+         in a directory named "plugins".\n\
+       - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\
+         Each Feature may be packaged as a sub-directory in a directory named "features".\n\
+         Within a Feature, files named "feature.xml" may contain a list of the names and version\n\
+         numbers of the Plug-ins and/or Fragments associated with that Feature.\n\
+       - Features may also include other Features ("Included Features"). Within a Feature, files\n\
+         named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\
+\n\
+The terms and conditions governing Plug-ins and Fragments should be\n\
+contained in files named "about.html" ("Abouts"). The terms and\n\
+conditions governing Features and Included Features should be contained\n\
+in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\
+Licenses may be located in any directory of a Download or Module\n\
+including, but not limited to the following locations:\n\
+\n\
+       - The top-level (root) directory\n\
+       - Plug-in and Fragment directories\n\
+       - Inside Plug-ins and Fragments packaged as JARs\n\
+       - Sub-directories of the directory named "src" of certain Plug-ins\n\
+       - Feature directories\n\
+\n\
+Note: if a Feature made available by the Eclipse Foundation is installed using the\n\
+Provisioning Technology (as defined below), you must agree to a license ("Feature \n\
+Update License") during the installation process. If the Feature contains\n\
+Included Features, the Feature Update License should either provide you\n\
+with the terms and conditions governing the Included Features or inform\n\
+you where you can locate them. Feature Update Licenses may be found in\n\
+the "license" property of files named "feature.properties" found within a Feature.\n\
+Such Abouts, Feature Licenses, and Feature Update Licenses contain the\n\
+terms and conditions (or references to such terms and conditions) that\n\
+govern your use of the associated Content in that directory.\n\
+\n\
+THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER\n\
+TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\
+SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\
+\n\
+       - Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)\n\
+       - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\
+       - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\
+       - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\
+       - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\
+       - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\
+\n\
+IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\
+TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License\n\
+is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\
+govern that particular Content.\n\
+\n\
+\n\Use of Provisioning Technology\n\
+\n\
+The Eclipse Foundation makes available provisioning software, examples of which include,\n\
+but are not limited to, p2 and the Eclipse Update Manager ("Provisioning Technology") for\n\
+the purpose of allowing users to install software, documentation, information and/or\n\
+other materials (collectively "Installable Software"). This capability is provided with\n\
+the intent of allowing such users to install, extend and update Eclipse-based products.\n\
+Information about packaging Installable Software is available at\n\
+http://eclipse.org/equinox/p2/repository_packaging.html ("Specification").\n\
+\n\
+You may use Provisioning Technology to allow other parties to install Installable Software.\n\
+You shall be responsible for enabling the applicable license agreements relating to the\n\
+Installable Software to be presented to, and accepted by, the users of the Provisioning Technology\n\
+in accordance with the Specification. By using Provisioning Technology in such a manner and\n\
+making it available in accordance with the Specification, you further acknowledge your\n\
+agreement to, and the acquisition of all necessary rights to permit the following:\n\
+\n\
+       1. A series of actions may occur ("Provisioning Process") in which a user may execute\n\
+          the Provisioning Technology on a machine ("Target Machine") with the intent of installing,\n\
+          extending or updating the functionality of an Eclipse-based product.\n\
+       2. During the Provisioning Process, the Provisioning Technology may cause third party\n\
+          Installable Software or a portion thereof to be accessed and copied to the Target Machine.\n\
+       3. Pursuant to the Specification, you will provide to the user the terms and conditions that\n\
+          govern the use of the Installable Software ("Installable Software Agreement") and such\n\
+          Installable Software Agreement shall be accessed from the Target Machine in accordance\n\
+          with the Specification. Such Installable Software Agreement must inform the user of the\n\
+          terms and conditions that govern the Installable Software and must solicit acceptance by\n\
+          the end user in the manner prescribed in such Installable Software Agreement. Upon such\n\
+          indication of agreement by the user, the provisioning Technology will complete installation\n\
+          of the Installable Software.\n\
+\n\
+Cryptography\n\
+\n\
+Content may contain encryption software. The country in which you are\n\
+currently may have restrictions on the import, possession, and use,\n\
+and/or re-export to another country, of encryption software. BEFORE\n\
+using any encryption software, please check the country's laws,\n\
+regulations and policies concerning the import, possession, or use, and\n\
+re-export of encryption software, to see if this is permitted.\n\
+\n\
+Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.\n
+########### end of license property ##########################################
diff --git a/org.eclipse.osbp.ecview.extension.feature/feature.xml b/org.eclipse.osbp.ecview.extension.feature/feature.xml
new file mode 100644
index 0000000..d52a950
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.feature/feature.xml
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--#======================================================================= -->
+<feature
+      id="org.eclipse.osbp.ecview.extension.feature"
+      label="%featureName"
+      version="0.9.0.qualifier"
+      provider-name="%providerName">
+
+   <description>
+      %description
+   </description>
+
+   <copyright>
+      %copyright
+   </copyright>
+
+   <license url="%licenseURL">
+      %license
+   </license>
+
+   <plugin
+         id="org.eclipse.osbp.ecview.extension.editparts.emf"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.osbp.ecview.extension.presentation.vaadin"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.osbp.ecview.extension.strategy"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.osbp.ecview.extension.services"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.osbp.ecview.extension.widgetset"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.osbp.ecview.extension.grid.editparts.emf"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.osbp.ecview.extension.grid.presentation"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.osbp.ecview.extension.grid.presentation.clientside"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+</feature>
diff --git a/org.eclipse.osbp.ecview.extension.feature/license.html b/org.eclipse.osbp.ecview.extension.feature/license.html
new file mode 100644
index 0000000..6e579a5
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.feature/license.html
@@ -0,0 +1,164 @@
+<!--?xml version="1.0" encoding="ISO-8859-1" ?-->
+<!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>Eclipse Foundation Software User Agreement</title>
+</head>
+
+<body lang="EN-US">
+<h2>Eclipse Foundation Software User Agreement</h2>
+<p>February 1, 2011</p>
+
+<h3>Usage Of Content</h3>
+
+<p>THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS
+   (COLLECTIVELY "CONTENT").  USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND
+   CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU AGREE THAT YOUR USE
+   OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR
+   NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND
+   CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.</p>
+
+<h3>Applicable Licenses</h3>
+
+<p>Unless otherwise indicated, all Content made available by the Eclipse
+ Foundation is provided to you under the terms and conditions of the 
+Eclipse Public License Version 1.0
+   ("EPL").  A copy of the EPL is provided with this Content and is also
+ 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>Content includes, but is not limited to, source code, object code, 
+documentation and other files maintained in the Eclipse Foundation 
+source code
+   repository ("Repository") in software modules ("Modules") and made 
+available as downloadable archives ("Downloads").</p>
+
+<ul>
+       <li>Content may be structured and packaged into modules to 
+facilitate delivering, extending, and upgrading the Content.  Typical 
+modules may include plug-ins ("Plug-ins"), plug-in fragments 
+("Fragments"), and features ("Features").</li>
+       <li>Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java&#8482; ARchive) in a directory named "plugins".</li>
+       <li>A Feature is a bundle of one or more Plug-ins and/or 
+Fragments and associated material.  Each Feature may be packaged as a 
+sub-directory in a directory named "features".  Within a Feature, files 
+named "feature.xml" may contain a list of the names and version numbers 
+of the Plug-ins
+      and/or Fragments associated with that Feature.</li>
+       <li>Features may also include other Features ("Included 
+Features"). Within a Feature, files named "feature.xml" may contain a 
+list of the names and version numbers of Included Features.</li>
+</ul>
+
+<p>The terms and conditions governing Plug-ins and Fragments should be 
+contained in files named "about.html" ("Abouts"). The terms and 
+conditions governing Features and
+Included Features should be contained in files named "license.html" 
+("Feature Licenses").  Abouts and Feature Licenses may be located in any
+ directory of a Download or Module
+including, but not limited to the following locations:</p>
+
+<ul>
+       <li>The top-level (root) directory</li>
+       <li>Plug-in and Fragment directories</li>
+       <li>Inside Plug-ins and Fragments packaged as JARs</li>
+       <li>Sub-directories of the directory named "src" of certain Plug-ins</li>
+       <li>Feature directories</li>
+</ul>
+
+<p>Note: if a Feature made available by the Eclipse Foundation is 
+installed using the Provisioning Technology (as defined below), you must
+ agree to a license ("Feature Update License") during the
+installation process.  If the Feature contains Included Features, the 
+Feature Update License should either provide you with the terms and 
+conditions governing the Included Features or
+inform you where you can locate them.  Feature Update Licenses may be 
+found in the "license" property of files named "feature.properties" 
+found within a Feature.
+Such Abouts, Feature Licenses, and Feature Update Licenses contain the 
+terms and conditions (or references to such terms and conditions) that 
+govern your use of the associated Content in
+that directory.</p>
+
+<p>THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER 
+TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.
+  SOME OF THESE
+OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):</p>
+
+<ul>
+       <li>Eclipse Distribution License Version 1.0 (available at <a href="http://www.eclipse.org/licenses/edl-v10.html">http://www.eclipse.org/licenses/edl-v1.0.html</a>)</li>
+       <li>Common Public License Version 1.0 (available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>)</li>
+       <li>Apache Software License 1.1 (available at <a href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</a>)</li>
+       <li>Apache Software License 2.0 (available at <a href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</a>)</li>
+       <li>Metro Link Public License 1.00 (available at <a href="http://www.opengroup.org/openmotif/supporters/metrolink/license.html">http://www.opengroup.org/openmotif/supporters/metrolink/license.html</a>)</li>
+       <li>Mozilla Public License Version 1.1 (available at <a href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a>)</li>
+</ul>
+
+<p>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND 
+CONDITIONS PRIOR TO USE OF THE CONTENT.  If no About, Feature License, 
+or Feature Update License is provided, please
+contact the Eclipse Foundation to determine what terms and conditions 
+govern that particular Content.</p>
+
+
+<h3>Use of Provisioning Technology</h3>
+
+<p>The Eclipse Foundation makes available provisioning software, 
+examples of which include, but are not limited to, p2 and the Eclipse
+   Update Manager ("Provisioning Technology") for the purpose of 
+allowing users to install software, documentation, information and/or
+   other materials (collectively "Installable Software"). This 
+capability is provided with the intent of allowing such users to
+   install, extend and update Eclipse-based products. Information about 
+packaging Installable Software is available at <a href="http://eclipse.org/equinox/p2/repository_packaging.html">http://eclipse.org/equinox/p2/repository_packaging.html</a>
+   ("Specification").</p>
+
+<p>You may use Provisioning Technology to allow other parties to install
+ Installable Software. You shall be responsible for enabling the
+   applicable license agreements relating to the Installable Software to
+ be presented to, and accepted by, the users of the Provisioning 
+Technology
+   in accordance with the Specification. By using Provisioning 
+Technology in such a manner and making it available in accordance with 
+the
+   Specification, you further acknowledge your agreement to, and the 
+acquisition of all necessary rights to permit the following:</p>
+
+<ol>
+       <li>A series of actions may occur ("Provisioning Process") in 
+which a user may execute the Provisioning Technology
+       on a machine ("Target Machine") with the intent of installing, 
+extending or updating the functionality of an Eclipse-based
+       product.</li>
+       <li>During the Provisioning Process, the Provisioning Technology 
+may cause third party Installable Software or a portion thereof to be
+       accessed and copied to the Target Machine.</li>
+       <li>Pursuant to the Specification, you will provide to the user 
+the terms and conditions that govern the use of the Installable
+       Software ("Installable Software Agreement") and such Installable 
+Software Agreement shall be accessed from the Target
+       Machine in accordance with the Specification. Such Installable 
+Software Agreement must inform the user of the terms and conditions that
+ govern
+       the Installable Software and must solicit acceptance by the end 
+user in the manner prescribed in such Installable Software Agreement. 
+Upon such
+       indication of agreement by the user, the provisioning Technology 
+will complete installation of the Installable Software.</li>
+</ol>
+
+<h3>Cryptography</h3>
+
+<p>Content may contain encryption software. The country in which you are
+ currently may have restrictions on the import, possession, and use, 
+and/or re-export to
+   another country, of encryption software. BEFORE using any encryption 
+software, please check the country's laws, regulations and policies 
+concerning the import,
+   possession, or use, and re-export of encryption software, to see if 
+this is permitted.</p>
+
+<p><small>Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.</small></p>
+
+
+</body></html>
\ No newline at end of file
diff --git a/org.eclipse.osbp.ecview.extension.feature/notice.html b/org.eclipse.osbp.ecview.extension.feature/notice.html
new file mode 100644
index 0000000..c3d34c3
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.feature/notice.html
@@ -0,0 +1,107 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<!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>Eclipse Foundation Software User Agreement</title>
+</head>
+
+<body lang="EN-US">
+<h2>Eclipse Foundation Software User Agreement</h2>
+<p>April 9, 2014</p>
+
+<h3>Usage Of Content</h3>
+
+<p>THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS
+   (COLLECTIVELY &quot;CONTENT&quot;).  USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND
+   CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU AGREE THAT YOUR USE
+   OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR
+   NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND
+   CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.</p>
+
+<h3>Applicable Licenses</h3>
+
+<p>Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0
+   (&quot;EPL&quot;).  A copy of the EPL is provided with this Content and is also 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, &quot;Program&quot; will mean the Content.</p>
+
+<p>Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse Foundation source code
+   repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available as downloadable archives (&quot;Downloads&quot;).</p>
+
+<ul>
+       <li>Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content.  Typical modules may include plug-ins (&quot;Plug-ins&quot;), plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).</li>
+       <li>Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java&trade; ARchive) in a directory named &quot;plugins&quot;.</li>
+       <li>A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of the Plug-ins
+      and/or Fragments associated with that Feature.</li>
+       <li>Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.</li>
+</ul>
+
+<p>The terms and conditions governing Plug-ins and Fragments should be contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and conditions governing Features and
+Included Features should be contained in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;).  Abouts and Feature Licenses may be located in any directory of a Download or Module
+including, but not limited to the following locations:</p>
+
+<ul>
+       <li>The top-level (root) directory</li>
+       <li>Plug-in and Fragment directories</li>
+       <li>Inside Plug-ins and Fragments packaged as JARs</li>
+       <li>Sub-directories of the directory named &quot;src&quot; of certain Plug-ins</li>
+       <li>Feature directories</li>
+</ul>
+
+<p>Note: if a Feature made available by the Eclipse Foundation is installed using the Provisioning Technology (as defined below), you must agree to a license (&quot;Feature Update License&quot;) during the
+installation process.  If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or
+inform you where you can locate them.  Feature Update Licenses may be found in the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.
+Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in
+that directory.</p>
+
+<p>THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.  SOME OF THESE
+OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):</p>
+
+<ul>
+       <li>Eclipse Distribution License Version 1.0 (available at <a href="http://www.eclipse.org/licenses/edl-v10.html">http://www.eclipse.org/licenses/edl-v1.0.html</a>)</li>
+       <li>Common Public License Version 1.0 (available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>)</li>
+       <li>Apache Software License 1.1 (available at <a href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</a>)</li>
+       <li>Apache Software License 2.0 (available at <a href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</a>)</li>
+       <li>Mozilla Public License Version 1.1 (available at <a href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a>)</li>
+</ul>
+
+<p>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT.  If no About, Feature License, or Feature Update License is provided, please
+contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.</p>
+
+
+<h3>Use of Provisioning Technology</h3>
+
+<p>The Eclipse Foundation makes available provisioning software, examples of which include, but are not limited to, p2 and the Eclipse
+   Update Manager (&quot;Provisioning Technology&quot;) for the purpose of allowing users to install software, documentation, information and/or
+   other materials (collectively &quot;Installable Software&quot;). This capability is provided with the intent of allowing such users to
+   install, extend and update Eclipse-based products. Information about packaging Installable Software is available at <a
+       href="http://eclipse.org/equinox/p2/repository_packaging.html">http://eclipse.org/equinox/p2/repository_packaging.html</a>
+   (&quot;Specification&quot;).</p>
+
+<p>You may use Provisioning Technology to allow other parties to install Installable Software. You shall be responsible for enabling the
+   applicable license agreements relating to the Installable Software to be presented to, and accepted by, the users of the Provisioning Technology
+   in accordance with the Specification. By using Provisioning Technology in such a manner and making it available in accordance with the
+   Specification, you further acknowledge your agreement to, and the acquisition of all necessary rights to permit the following:</p>
+
+<ol>
+       <li>A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute the Provisioning Technology
+       on a machine (&quot;Target Machine&quot;) with the intent of installing, extending or updating the functionality of an Eclipse-based
+       product.</li>
+       <li>During the Provisioning Process, the Provisioning Technology may cause third party Installable Software or a portion thereof to be
+       accessed and copied to the Target Machine.</li>
+       <li>Pursuant to the Specification, you will provide to the user the terms and conditions that govern the use of the Installable
+       Software (&quot;Installable Software Agreement&quot;) and such Installable Software Agreement shall be accessed from the Target
+       Machine in accordance with the Specification. Such Installable Software Agreement must inform the user of the terms and conditions that govern
+       the Installable Software and must solicit acceptance by the end user in the manner prescribed in such Installable Software Agreement. Upon such
+       indication of agreement by the user, the provisioning Technology will complete installation of the Installable Software.</li>
+</ol>
+
+<h3>Cryptography</h3>
+
+<p>Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to
+   another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import,
+   possession, or use, and re-export of encryption software, to see if this is permitted.</p>
+
+<p><small>Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.</small></p>
+</body>
+</html>
diff --git a/org.eclipse.osbp.ecview.extension.feature/pom.xml b/org.eclipse.osbp.ecview.extension.feature/pom.xml
new file mode 100644
index 0000000..0d5c9cd
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.feature/pom.xml
@@ -0,0 +1,72 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--#======================================================================= -->
+<!--# Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany). -->
+<!--# All rights reserved. This program and the accompanying materials -->
+<!--# are made available under the terms of the Eclipse Public License v1.0 -->
+<!--# which accompanies this distribution, and is available at -->
+<!--# http://www.eclipse.org/legal/epl-v10.html -->
+<!--# -->
+<!--# Contributors: -->
+<!--# Cristiano Gavi??o - initial API and implementation -->
+<!--#======================================================================= -->
+<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.osbp.ecview.extension</groupId>
+		<artifactId>org.eclipse.osbp.ecview.extension.aggregator</artifactId>
+		<version>0.9.0-SNAPSHOT</version>
+		<relativePath>..</relativePath>
+	</parent>
+	<artifactId>org.eclipse.osbp.ecview.extension.feature</artifactId>
+	<packaging>eclipse-feature</packaging>
+	<build>
+		<plugins>
+			<plugin>
+				<groupId>org.eclipse.tycho.extras</groupId>
+				<artifactId>tycho-source-feature-plugin</artifactId>
+				<version>${tychoExtrasVersion}</version>
+				<executions>
+					<execution>
+						<id>source-feature</id>
+						<phase>package</phase>
+						<goals>
+							<goal>source-feature</goal>
+						</goals>
+					</execution>
+				</executions>
+				<configuration>
+					<labelSuffix> (source)</labelSuffix>
+				</configuration>
+			</plugin>
+			<plugin>
+				<!-- workaround while bug https://bugs.eclipse.org/bugs/show_bug.cgi?id=398250 
+					is not fixed -->
+				<groupId>org.eclipse.tycho</groupId>
+				<artifactId>tycho-p2-plugin</artifactId>
+				<version>${tycho-version}</version>
+				<executions>
+					<execution>
+						<id>attached-p2-metadata</id>
+						<phase>package</phase>
+						<goals>
+							<goal>p2-metadata</goal>
+						</goals>
+					</execution>
+				</executions>
+			</plugin>
+			<plugin>
+				<artifactId>maven-javadoc-plugin</artifactId>
+				<executions>
+					<execution>
+						<id>javadoc-jar</id>
+						<phase>package</phase>
+						<goals>
+							<goal>jar</goal>
+						</goals>
+					</execution>
+				</executions>
+			</plugin>
+		</plugins>
+	</build>
+	<description>OSBP Extensions for ECView</description>
+</project>
diff --git a/org.eclipse.osbp.ecview.extension.feature/src/main/javadoc/README.txt b/org.eclipse.osbp.ecview.extension.feature/src/main/javadoc/README.txt
new file mode 100644
index 0000000..831da7e
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.feature/src/main/javadoc/README.txt
@@ -0,0 +1 @@
+Resource folder for javadoc resources.
\ No newline at end of file
diff --git a/org.eclipse.osbp.ecview.extension.feature/src/overview.html b/org.eclipse.osbp.ecview.extension.feature/src/overview.html
new file mode 100644
index 0000000..672ac18
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.feature/src/overview.html
@@ -0,0 +1,9 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+<head>
+	<title>OSBP Tools Graphical Entity</title>
+</head>
+<body>
+<p>The <strong>OSBP&nbsp;Ecview Extension&nbsp;</strong>provides&nbsp;basic&nbsp;Ecview extension&nbsp;bundles.</p>
+</body>
+</html>
diff --git a/org.eclipse.osbp.ecview.extension.grid.editparts.emf/.project b/org.eclipse.osbp.ecview.extension.grid.editparts.emf/.project
new file mode 100644
index 0000000..b281e2c
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.grid.editparts.emf/.project
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.osbp.ecview.extension.grid.editparts.emf</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.xtext.ui.shared.xtextBuilder</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.ds.core.builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.babel.editor.rbeBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.sonarlint.eclipse.core.sonarlintBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.xtext.ui.shared.xtextNature</nature>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
+		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+		<nature>org.eclipse.babel.editor.rbeNature</nature>
+	</natures>
+</projectDescription>
diff --git a/org.eclipse.osbp.ecview.extension.grid.editparts.emf/LICENSE.txt b/org.eclipse.osbp.ecview.extension.grid.editparts.emf/LICENSE.txt
new file mode 100644
index 0000000..ff42ad4
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.grid.editparts.emf/LICENSE.txt
@@ -0,0 +1,161 @@
+Eclipse Public License -v 1.0
+
+THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION
+OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.
+
+1. DEFINITIONS
+
+"Contribution" means:
+
+a) in the case of the initial Contributor, the initial code and documentation distributed under this Agreement, and
+
+b) in the case of each subsequent Contributor:
+
+i) changes to the Program, and
+
+ii) additions to the Program;
+
+where such changes and/or additions to the Program originate from and are distributed by that particular Contributor.
+A Contribution 'originates' from a Contributor if it was added to the Program by such Contributor itself or anyone
+acting on such Contributor's behalf. Contributions do not include additions to the Program which: (i) are separate
+modules of software distributed in conjunction with the Program under their own license agreement, and (ii) are not
+derivative works of the Program.
+
+"Contributor" means any person or entity that distributes the Program.
+
+"Licensed Patents " mean patent claims licensable by a Contributor which are necessarily infringed by the use or sale of
+its Contribution alone or when combined with the Program.
+
+"Program" means the Contributions distributed in accordance with this Agreement.
+
+"Recipient" means anyone who receives the Program under this Agreement, including all Contributors.
+
+2. GRANT OF RIGHTS
+
+a) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide,
+royalty-free copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, distribute
+and sublicense the Contribution of such Contributor, if any, and such derivative works, in source code and object code
+form.
+
+b) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide,
+royalty-free patent license under Licensed Patents to make, use, sell, offer to sell, import and otherwise transfer the
+Contribution of such Contributor, if any, in source code and object code form. This patent license shall apply to the
+combination of the Contribution and the Program if, at the time the Contribution is added by the Contributor, such
+addition of the Contribution causes such combination to be covered by the Licensed Patents. The patent license shall not
+apply to any other combinations which include the Contribution. No hardware per se is licensed hereunder.
+
+c) Recipient understands that although each Contributor grants the licenses to its Contributions set forth herein, no
+assurances are provided by any Contributor that the Program does not infringe the patent or other intellectual property
+rights of any other entity. Each Contributor disclaims any liability to Recipient for claims brought by any other entity
+based on infringement of intellectual property rights or otherwise. As a condition to exercising the rights and
+licenses granted hereunder, each Recipient hereby assumes sole responsibility to secure any other intellectual property
+rights needed, if any. For example, if a third party patent license is required to allow Recipient to distribute the
+Program, it is Recipient's responsibility to acquire that license before distributing the Program.
+
+d) Each Contributor represents that to its knowledge it has sufficient copyright rights in its Contribution, if any, to
+grant the copyright license set forth in this Agreement.
+
+3. REQUIREMENTS
+
+A Contributor may choose to distribute the Program in object code form under its own license agreement, provided that:
+
+a) it complies with the terms and conditions of this Agreement; and
+
+b) its license agreement:
+
+i) effectively disclaims on behalf of all Contributors all warranties and conditions, express and implied, including
+warranties or conditions of title and non-infringement, and implied warranties or conditions of merchantability and
+fitness for a particular purpose;
+
+ii) effectively excludes on behalf of all Contributors all liability for damages, including direct, indirect, special,
+incidental and consequential damages, such as lost profits;
+
+iii) states that any provisions which differ from this Agreement are offered by that Contributor alone and not by any
+other party; and
+
+iv) states that source code for the Program is available from such Contributor, and informs licensees how to obtain it
+in a reasonable manner on or through a medium customarily used for software exchange.
+
+When the Program is made available in source code form:
+
+a) it must be made available under this Agreement; and
+
+b) a copy of this Agreement must be included with each copy of the Program.
+
+Contributors may not remove or alter any copyright notices contained within the Program.
+
+Each Contributor must identify itself as the originator of its Contribution, if any, in a manner that reasonably allows
+subsequent Recipients to identify the originator of the Contribution.
+
+4. COMMERCIAL DISTRIBUTION
+
+Commercial distributors of software may accept certain responsibilities with respect to end users, business partners and
+the like. While this license is intended to facilitate the commercial use of the Program, the Contributor who includes
+the Program in a commercial product offering should do so in a manner which does not create potential liability for
+other Contributors. Therefore, if a Contributor includes the Program in a commercial product offering, such Contributor
+("Commercial Contributor") hereby agrees to defend and indemnify every other Contributor ("Indemnified Contributor")
+against any losses, damages and costs (collectively "Losses") arising from claims, lawsuits and other legal actions
+brought by a third party against the Indemnified Contributor to the extent caused by the acts or omissions of such
+Commercial Contributor in connection with its distribution of the Program in a commercial product offering. The
+obligations in this section do not apply to any claims or Losses relating to any actual or alleged intellectual
+property infringement. In order to qualify, an Indemnified Contributor must: a) promptly notify the Commercial
+Contributor in writing of such claim, and b) allow the Commercial Contributor to control, and cooperate with the
+Commercial Contributor in, the defense and any related settlement negotiations. The Indemnified Contributor may
+ participate in any such claim at its own expense.
+
+For example, a Contributor might include the Program in a commercial product offering, Product X. That Contributor is
+then a Commercial Contributor. If that Commercial Contributor then makes performance claims, or offers warranties
+related to Product X, those performance claims and warranties are such Commercial Contributor's responsibility alone.
+Under this section, the Commercial Contributor would have to defend claims against the other Contributors related to
+those performance claims and warranties, and if a court requires any other Contributor to pay any damages as a result,
+the Commercial Contributor must pay those damages.
+
+5. NO WARRANTY
+
+EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR
+CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE,
+NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely responsible for
+determining the appropriateness of using and distributing the Program and assumes all risks associated with its
+exercise of rights under this Agreement , including but not limited to the risks and costs of program errors, compliance
+with applicable laws, damage to or loss of data, programs or equipment, and unavailability or interruption of operations.
+
+6. DISCLAIMER OF LIABILITY
+
+EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY
+DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST PROFITS),
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED
+HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+7. GENERAL
+
+If any provision of this Agreement is invalid or unenforceable under applicable law, it shall not affect the validity or
+enforceability of the remainder of the terms of this Agreement, and without further action by the parties hereto, such
+provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.
+
+If Recipient institutes patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit)
+alleging that the Program itself (excluding combinations of the Program with other software or hardware) infringes such
+Recipient's patent(s), then such Recipient's rights granted under Section 2(b) shall terminate as of the date such
+litigation is filed.
+
+All Recipient's rights under this Agreement shall terminate if it fails to comply with any of the material terms or
+conditions of this Agreement and does not cure such failure in a reasonable period of time after becoming aware of such
+noncompliance. If all Recipient's rights under this Agreement terminate, Recipient agrees to cease use and distribution
+of the Program as soon as reasonably practicable. However, Recipient's obligations under this Agreement and any licenses
+ granted by Recipient relating to the Program shall continue and survive.
+
+Everyone is permitted to copy and distribute copies of this Agreement, but in order to avoid inconsistency the Agreement
+is copyrighted and may only be modified in the following manner. The Agreement Steward reserves the right to publish
+new versions (including revisions) of this Agreement from time to time. No one other than the Agreement Steward has the
+right to modify this Agreement. The Eclipse Foundation is the initial Agreement Steward. The Eclipse Foundation may
+assign the responsibility to serve as the Agreement Steward to a suitable separate entity. Each new version of the
+Agreement will be given a distinguishing version number. The Program (including Contributions) may always be
+distributed subject to the version of the Agreement under which it was received. In addition, after a new version of
+the Agreement is published, Contributor may elect to distribute the Program (including its Contributions) under the
+new version. Except as expressly stated in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to
+the intellectual property of any Contributor under this Agreement, whether expressly, by implication, estoppel or
+otherwise. All rights in the Program not expressly granted under this Agreement are reserved.
+
+This Agreement is governed by the laws of the State of New York and the intellectual property laws of the United States
+of America. No party to this Agreement will bring a legal action under this Agreement more than one year after the cause
+of action arose. Each party waives its rights to a jury trial in any resulting litigation.
\ No newline at end of file
diff --git a/org.eclipse.osbp.ecview.extension.grid.editparts.emf/META-INF/MANIFEST.MF b/org.eclipse.osbp.ecview.extension.grid.editparts.emf/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..140e1ab
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.grid.editparts.emf/META-INF/MANIFEST.MF
@@ -0,0 +1,29 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: org.eclipse.osbp.ecview.extension.grid.editparts.emf
+Bundle-SymbolicName: org.eclipse.osbp.ecview.extension.grid.editparts.emf
+Bundle-Vendor: Eclipse OSBP
+Bundle-Version: 0.9.0.qualifier
+Require-Bundle: org.eclipse.core.runtime,
+ org.eclipse.emf.ecore.xmi;bundle-version="2.8.0",
+ org.eclipse.osbp.ecview.core.extension.editparts;bundle-version="[0.9.0,0.10.0)",
+ org.eclipse.osbp.ecview.core.common.editparts.emf;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.osbp.ecview.core.common;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.core.databinding.observable;bundle-version="[1.4.1,1.5.0)",
+ org.eclipse.core.databinding;bundle-version="[1.4.2,1.5.0)",
+ org.eclipse.emf.databinding;bundle-version="1.3.0",
+ org.eclipse.core.databinding.beans;bundle-version="1.2.200",
+ org.eclipse.osbp.runtime.common;bundle-version="[0.9.0,0.10.0)",
+ org.eclipse.osbp.ecview.core.util.emf;bundle-version="[0.9.0,0.10.0)",
+ org.eclipse.osbp.ecview.extension.grid.editparts;bundle-version="[0.9.0,0.10.0)",
+ org.eclipse.osbp.ecview.extension.grid.model;bundle-version="[0.9.0,0.10.0)"
+Bundle-ActivationPolicy: lazy
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Import-Package: org.osgi.service.component;version="1.2.0",
+ org.osgi.service.component.annotations;version="1.2.0",
+ org.osgi.service.event;version="1.3.0",
+ org.slf4j;version="1.6.4"
+Service-Component: OSGI-INF/org.eclipse.osbp.ecview.extension.grid.editparts.emf.EditpartManager.xml
+Export-Package: org.eclipse.osbp.ecview.extension.grid.editparts.emf;version="0.9.0"
diff --git a/org.eclipse.osbp.ecview.extension.grid.editparts.emf/OSGI-INF/org.eclipse.osbp.ecview.extension.grid.editparts.emf.EditpartManager.xml b/org.eclipse.osbp.ecview.extension.grid.editparts.emf/OSGI-INF/org.eclipse.osbp.ecview.extension.grid.editparts.emf.EditpartManager.xml
new file mode 100644
index 0000000..c70b0f0
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.grid.editparts.emf/OSGI-INF/org.eclipse.osbp.ecview.extension.grid.editparts.emf.EditpartManager.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="true" name="org.eclipse.osbp.ecview.extension.grid.editparts.emf.EditpartManager">
+   <implementation class="org.eclipse.osbp.ecview.extension.grid.editparts.emf.EditpartManager"/>
+   <service>
+      <provide interface="org.eclipse.osbp.ecview.core.common.editpart.IEditPartManager"/>
+   </service>
+</scr:component>
\ No newline at end of file
diff --git a/org.eclipse.osbp.ecview.extension.grid.editparts.emf/about.html b/org.eclipse.osbp.ecview.extension.grid.editparts.emf/about.html
new file mode 100644
index 0000000..64c0598
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.grid.editparts.emf/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 1, 2016</p>	
+<h3>License</h3>
+
+<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 (&quot;EPL&quot;).  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, &quot;Program&quot; 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 (&quot;Redistributor&quot;) 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>
\ No newline at end of file
diff --git a/org.eclipse.osbp.ecview.extension.grid.editparts.emf/about.ini b/org.eclipse.osbp.ecview.extension.grid.editparts.emf/about.ini
new file mode 100644
index 0000000..7df671f
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.grid.editparts.emf/about.ini
@@ -0,0 +1,17 @@
+# about.ini
+# contains information about a feature
+# java.io.Properties file (ISO 8859-1 with "\" escapes)
+# "%key" are externalized strings defined in about.properties
+# This file does not need to be translated.
+
+# Property "aboutText" contains blurb for "About" dialog (translated)
+aboutText=%featureText
+
+# Property "featureImage" contains path to feature image (32x32)
+featureImage=
+
+# Property "appName" contains name of the application (translated)
+appName=%featureName
+
+# Property "welcomePage" contains path to welcome page (special XML-based format)
+welcomePage=
diff --git a/org.eclipse.osbp.ecview.extension.grid.editparts.emf/about.mappings b/org.eclipse.osbp.ecview.extension.grid.editparts.emf/about.mappings
new file mode 100644
index 0000000..4511a0a
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.grid.editparts.emf/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=qualifier
diff --git a/org.eclipse.osbp.ecview.extension.grid.editparts.emf/about.properties b/org.eclipse.osbp.ecview.extension.grid.editparts.emf/about.properties
new file mode 100644
index 0000000..fab86d7
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.grid.editparts.emf/about.properties
@@ -0,0 +1,26 @@
+#
+# Copyright (c) 2012, 2016 - Loetz GmbH&Co.KG (Heidelberg)
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
+#    Loetz GmbH&Co.KG - initial API and implementation
+#
+
+# NLS_MESSAGEFORMAT_VAR
+
+featureName=org.eclipse.osbp.ecview.extension.grid.editparts.emf
+
+################ blurb property ####################################
+featureText=\
+Copyright (c) 2012-2016 - Loetz GmbH&Co.KG \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\
+    Loetz GmbH&Co.KG - implementation\n
+################ end of blurb property ####################################
diff --git a/org.eclipse.osbp.ecview.extension.grid.editparts.emf/build.properties b/org.eclipse.osbp.ecview.extension.grid.editparts.emf/build.properties
new file mode 100644
index 0000000..5e2c27a
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.grid.editparts.emf/build.properties
@@ -0,0 +1,14 @@
+source.. = src/
+bin.includes = about.properties,  about.mappings,  about.ini,  about.html,  META-INF/,\
+               .,\
+               OSGI-INF/,\
+               .classpath,\
+               .project,\
+               .settings/,\
+               license.html,\
+               LICENSE.txt,\
+               epl-v10.html
+src.includes = about.properties,  about.mappings,  about.ini,  about.html,  license.html,\
+               LICENSE.txt,\
+               epl-v10.html			   
+output.. = target/classes
diff --git a/org.eclipse.osbp.ecview.extension.grid.editparts.emf/epl-v10.html b/org.eclipse.osbp.ecview.extension.grid.editparts.emf/epl-v10.html
new file mode 100644
index 0000000..b398acc
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.grid.editparts.emf/epl-v10.html
@@ -0,0 +1,259 @@
+<!--?xml version="1.0" encoding="ISO-8859-1" ?-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Eclipse Public License - Version 1.0</title>
+<style type="text/css">
+  body {
+    size: 8.5in 11.0in;
+    margin: 0.25in 0.5in 0.25in 0.5in;
+    tab-interval: 0.5in;
+    }
+  p {  	
+    margin-left: auto;
+    margin-top:  0.5em;
+    margin-bottom: 0.5em;
+    }
+  p.list {
+  	margin-left: 0.5in;
+    margin-top:  0.05em;
+    margin-bottom: 0.05em;
+    }
+  </style>
+
+</head>
+
+<body lang="EN-US">
+
+<h2>Eclipse Public License - v 1.0</h2>
+
+<p>THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE
+PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR
+DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS
+AGREEMENT.</p>
+
+<p><b>1. DEFINITIONS</b></p>
+
+<p>"Contribution" means:</p>
+
+<p class="list">a) in the case of the initial Contributor, the initial
+code and documentation distributed under this Agreement, and</p>
+<p class="list">b) in the case of each subsequent Contributor:</p>
+<p class="list">i) changes to the Program, and</p>
+<p class="list">ii) additions to the Program;</p>
+<p class="list">where such changes and/or additions to the Program
+originate from and are distributed by that particular Contributor. A
+Contribution 'originates' from a Contributor if it was added to the
+Program by such Contributor itself or anyone acting on such
+Contributor's behalf. Contributions do not include additions to the
+Program which: (i) are separate modules of software distributed in
+conjunction with the Program under their own license agreement, and (ii)
+are not derivative works of the Program.</p>
+
+<p>"Contributor" means any person or entity that distributes
+the Program.</p>
+
+<p>"Licensed Patents" mean patent claims licensable by a
+Contributor which are necessarily infringed by the use or sale of its
+Contribution alone or when combined with the Program.</p>
+
+<p>"Program" means the Contributions distributed in accordance
+with this Agreement.</p>
+
+<p>"Recipient" means anyone who receives the Program under
+this Agreement, including all Contributors.</p>
+
+<p><b>2. GRANT OF RIGHTS</b></p>
+
+<p class="list">a) Subject to the terms of this Agreement, each
+Contributor hereby grants Recipient a non-exclusive, worldwide,
+royalty-free copyright license to reproduce, prepare derivative works
+of, publicly display, publicly perform, distribute and sublicense the
+Contribution of such Contributor, if any, and such derivative works, in
+source code and object code form.</p>
+
+<p class="list">b) Subject to the terms of this Agreement, each
+Contributor hereby grants Recipient a non-exclusive, worldwide,
+royalty-free patent license under Licensed Patents to make, use, sell,
+offer to sell, import and otherwise transfer the Contribution of such
+Contributor, if any, in source code and object code form. This patent
+license shall apply to the combination of the Contribution and the
+Program if, at the time the Contribution is added by the Contributor,
+such addition of the Contribution causes such combination to be covered
+by the Licensed Patents. The patent license shall not apply to any other
+combinations which include the Contribution. No hardware per se is
+licensed hereunder.</p>
+
+<p class="list">c) Recipient understands that although each Contributor
+grants the licenses to its Contributions set forth herein, no assurances
+are provided by any Contributor that the Program does not infringe the
+patent or other intellectual property rights of any other entity. Each
+Contributor disclaims any liability to Recipient for claims brought by
+any other entity based on infringement of intellectual property rights
+or otherwise. As a condition to exercising the rights and licenses
+granted hereunder, each Recipient hereby assumes sole responsibility to
+secure any other intellectual property rights needed, if any. For
+example, if a third party patent license is required to allow Recipient
+to distribute the Program, it is Recipient's responsibility to acquire
+that license before distributing the Program.</p>
+
+<p class="list">d) Each Contributor represents that to its knowledge it
+has sufficient copyright rights in its Contribution, if any, to grant
+the copyright license set forth in this Agreement.</p>
+
+<p><b>3. REQUIREMENTS</b></p>
+
+<p>A Contributor may choose to distribute the Program in object code
+form under its own license agreement, provided that:</p>
+
+<p class="list">a) it complies with the terms and conditions of this
+Agreement; and</p>
+
+<p class="list">b) its license agreement:</p>
+
+<p class="list">i) effectively disclaims on behalf of all Contributors
+all warranties and conditions, express and implied, including warranties
+or conditions of title and non-infringement, and implied warranties or
+conditions of merchantability and fitness for a particular purpose;</p>
+
+<p class="list">ii) effectively excludes on behalf of all Contributors
+all liability for damages, including direct, indirect, special,
+incidental and consequential damages, such as lost profits;</p>
+
+<p class="list">iii) states that any provisions which differ from this
+Agreement are offered by that Contributor alone and not by any other
+party; and</p>
+
+<p class="list">iv) states that source code for the Program is available
+from such Contributor, and informs licensees how to obtain it in a
+reasonable manner on or through a medium customarily used for software
+exchange.</p>
+
+<p>When the Program is made available in source code form:</p>
+
+<p class="list">a) it must be made available under this Agreement; and</p>
+
+<p class="list">b) a copy of this Agreement must be included with each
+copy of the Program.</p>
+
+<p>Contributors may not remove or alter any copyright notices contained
+within the Program.</p>
+
+<p>Each Contributor must identify itself as the originator of its
+Contribution, if any, in a manner that reasonably allows subsequent
+Recipients to identify the originator of the Contribution.</p>
+
+<p><b>4. COMMERCIAL DISTRIBUTION</b></p>
+
+<p>Commercial distributors of software may accept certain
+responsibilities with respect to end users, business partners and the
+like. While this license is intended to facilitate the commercial use of
+the Program, the Contributor who includes the Program in a commercial
+product offering should do so in a manner which does not create
+potential liability for other Contributors. Therefore, if a Contributor
+includes the Program in a commercial product offering, such Contributor
+("Commercial Contributor") hereby agrees to defend and
+indemnify every other Contributor ("Indemnified Contributor")
+against any losses, damages and costs (collectively "Losses")
+arising from claims, lawsuits and other legal actions brought by a third
+party against the Indemnified Contributor to the extent caused by the
+acts or omissions of such Commercial Contributor in connection with its
+distribution of the Program in a commercial product offering. The
+obligations in this section do not apply to any claims or Losses
+relating to any actual or alleged intellectual property infringement. In
+order to qualify, an Indemnified Contributor must: a) promptly notify
+the Commercial Contributor in writing of such claim, and b) allow the
+Commercial Contributor to control, and cooperate with the Commercial
+Contributor in, the defense and any related settlement negotiations. The
+Indemnified Contributor may participate in any such claim at its own
+expense.</p>
+
+<p>For example, a Contributor might include the Program in a commercial
+product offering, Product X. That Contributor is then a Commercial
+Contributor. If that Commercial Contributor then makes performance
+claims, or offers warranties related to Product X, those performance
+claims and warranties are such Commercial Contributor's responsibility
+alone. Under this section, the Commercial Contributor would have to
+defend claims against the other Contributors related to those
+performance claims and warranties, and if a court requires any other
+Contributor to pay any damages as a result, the Commercial Contributor
+must pay those damages.</p>
+
+<p><b>5. NO WARRANTY</b></p>
+
+<p>EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS
+PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS
+OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION,
+ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY
+OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely
+responsible for determining the appropriateness of using and
+distributing the Program and assumes all risks associated with its
+exercise of rights under this Agreement , including but not limited to
+the risks and costs of program errors, compliance with applicable laws,
+damage to or loss of data, programs or equipment, and unavailability or
+interruption of operations.</p>
+
+<p><b>6. DISCLAIMER OF LIABILITY</b></p>
+
+<p>EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT
+NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT,
+INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING
+WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF
+LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR
+DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED
+HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.</p>
+
+<p><b>7. GENERAL</b></p>
+
+<p>If any provision of this Agreement is invalid or unenforceable under
+applicable law, it shall not affect the validity or enforceability of
+the remainder of the terms of this Agreement, and without further action
+by the parties hereto, such provision shall be reformed to the minimum
+extent necessary to make such provision valid and enforceable.</p>
+
+<p>If Recipient institutes patent litigation against any entity
+(including a cross-claim or counterclaim in a lawsuit) alleging that the
+Program itself (excluding combinations of the Program with other
+software or hardware) infringes such Recipient's patent(s), then such
+Recipient's rights granted under Section 2(b) shall terminate as of the
+date such litigation is filed.</p>
+
+<p>All Recipient's rights under this Agreement shall terminate if it
+fails to comply with any of the material terms or conditions of this
+Agreement and does not cure such failure in a reasonable period of time
+after becoming aware of such noncompliance. If all Recipient's rights
+under this Agreement terminate, Recipient agrees to cease use and
+distribution of the Program as soon as reasonably practicable. However,
+Recipient's obligations under this Agreement and any licenses granted by
+Recipient relating to the Program shall continue and survive.</p>
+
+<p>Everyone is permitted to copy and distribute copies of this
+Agreement, but in order to avoid inconsistency the Agreement is
+copyrighted and may only be modified in the following manner. The
+Agreement Steward reserves the right to publish new versions (including
+revisions) of this Agreement from time to time. No one other than the
+Agreement Steward has the right to modify this Agreement. The Eclipse
+Foundation is the initial Agreement Steward. The Eclipse Foundation may
+assign the responsibility to serve as the Agreement Steward to a
+suitable separate entity. Each new version of the Agreement will be
+given a distinguishing version number. The Program (including
+Contributions) may always be distributed subject to the version of the
+Agreement under which it was received. In addition, after a new version
+of the Agreement is published, Contributor may elect to distribute the
+Program (including its Contributions) under the new version. Except as
+expressly stated in Sections 2(a) and 2(b) above, Recipient receives no
+rights or licenses to the intellectual property of any Contributor under
+this Agreement, whether expressly, by implication, estoppel or
+otherwise. All rights in the Program not expressly granted under this
+Agreement are reserved.</p>
+
+<p>This Agreement is governed by the laws of the State of New York and
+the intellectual property laws of the United States of America. No party
+to this Agreement will bring a legal action under this Agreement more
+than one year after the cause of action arose. Each party waives its
+rights to a jury trial in any resulting litigation.</p>
+
+
+
+</body></html>
\ No newline at end of file
diff --git a/org.eclipse.osbp.ecview.extension.grid.editparts.emf/license.html b/org.eclipse.osbp.ecview.extension.grid.editparts.emf/license.html
new file mode 100644
index 0000000..6e579a5
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.grid.editparts.emf/license.html
@@ -0,0 +1,164 @@
+<!--?xml version="1.0" encoding="ISO-8859-1" ?-->
+<!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>Eclipse Foundation Software User Agreement</title>
+</head>
+
+<body lang="EN-US">
+<h2>Eclipse Foundation Software User Agreement</h2>
+<p>February 1, 2011</p>
+
+<h3>Usage Of Content</h3>
+
+<p>THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS
+   (COLLECTIVELY "CONTENT").  USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND
+   CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU AGREE THAT YOUR USE
+   OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR
+   NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND
+   CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.</p>
+
+<h3>Applicable Licenses</h3>
+
+<p>Unless otherwise indicated, all Content made available by the Eclipse
+ Foundation is provided to you under the terms and conditions of the 
+Eclipse Public License Version 1.0
+   ("EPL").  A copy of the EPL is provided with this Content and is also
+ 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>Content includes, but is not limited to, source code, object code, 
+documentation and other files maintained in the Eclipse Foundation 
+source code
+   repository ("Repository") in software modules ("Modules") and made 
+available as downloadable archives ("Downloads").</p>
+
+<ul>
+       <li>Content may be structured and packaged into modules to 
+facilitate delivering, extending, and upgrading the Content.  Typical 
+modules may include plug-ins ("Plug-ins"), plug-in fragments 
+("Fragments"), and features ("Features").</li>
+       <li>Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java&#8482; ARchive) in a directory named "plugins".</li>
+       <li>A Feature is a bundle of one or more Plug-ins and/or 
+Fragments and associated material.  Each Feature may be packaged as a 
+sub-directory in a directory named "features".  Within a Feature, files 
+named "feature.xml" may contain a list of the names and version numbers 
+of the Plug-ins
+      and/or Fragments associated with that Feature.</li>
+       <li>Features may also include other Features ("Included 
+Features"). Within a Feature, files named "feature.xml" may contain a 
+list of the names and version numbers of Included Features.</li>
+</ul>
+
+<p>The terms and conditions governing Plug-ins and Fragments should be 
+contained in files named "about.html" ("Abouts"). The terms and 
+conditions governing Features and
+Included Features should be contained in files named "license.html" 
+("Feature Licenses").  Abouts and Feature Licenses may be located in any
+ directory of a Download or Module
+including, but not limited to the following locations:</p>
+
+<ul>
+       <li>The top-level (root) directory</li>
+       <li>Plug-in and Fragment directories</li>
+       <li>Inside Plug-ins and Fragments packaged as JARs</li>
+       <li>Sub-directories of the directory named "src" of certain Plug-ins</li>
+       <li>Feature directories</li>
+</ul>
+
+<p>Note: if a Feature made available by the Eclipse Foundation is 
+installed using the Provisioning Technology (as defined below), you must
+ agree to a license ("Feature Update License") during the
+installation process.  If the Feature contains Included Features, the 
+Feature Update License should either provide you with the terms and 
+conditions governing the Included Features or
+inform you where you can locate them.  Feature Update Licenses may be 
+found in the "license" property of files named "feature.properties" 
+found within a Feature.
+Such Abouts, Feature Licenses, and Feature Update Licenses contain the 
+terms and conditions (or references to such terms and conditions) that 
+govern your use of the associated Content in
+that directory.</p>
+
+<p>THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER 
+TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.
+  SOME OF THESE
+OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):</p>
+
+<ul>
+       <li>Eclipse Distribution License Version 1.0 (available at <a href="http://www.eclipse.org/licenses/edl-v10.html">http://www.eclipse.org/licenses/edl-v1.0.html</a>)</li>
+       <li>Common Public License Version 1.0 (available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>)</li>
+       <li>Apache Software License 1.1 (available at <a href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</a>)</li>
+       <li>Apache Software License 2.0 (available at <a href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</a>)</li>
+       <li>Metro Link Public License 1.00 (available at <a href="http://www.opengroup.org/openmotif/supporters/metrolink/license.html">http://www.opengroup.org/openmotif/supporters/metrolink/license.html</a>)</li>
+       <li>Mozilla Public License Version 1.1 (available at <a href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a>)</li>
+</ul>
+
+<p>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND 
+CONDITIONS PRIOR TO USE OF THE CONTENT.  If no About, Feature License, 
+or Feature Update License is provided, please
+contact the Eclipse Foundation to determine what terms and conditions 
+govern that particular Content.</p>
+
+
+<h3>Use of Provisioning Technology</h3>
+
+<p>The Eclipse Foundation makes available provisioning software, 
+examples of which include, but are not limited to, p2 and the Eclipse
+   Update Manager ("Provisioning Technology") for the purpose of 
+allowing users to install software, documentation, information and/or
+   other materials (collectively "Installable Software"). This 
+capability is provided with the intent of allowing such users to
+   install, extend and update Eclipse-based products. Information about 
+packaging Installable Software is available at <a href="http://eclipse.org/equinox/p2/repository_packaging.html">http://eclipse.org/equinox/p2/repository_packaging.html</a>
+   ("Specification").</p>
+
+<p>You may use Provisioning Technology to allow other parties to install
+ Installable Software. You shall be responsible for enabling the
+   applicable license agreements relating to the Installable Software to
+ be presented to, and accepted by, the users of the Provisioning 
+Technology
+   in accordance with the Specification. By using Provisioning 
+Technology in such a manner and making it available in accordance with 
+the
+   Specification, you further acknowledge your agreement to, and the 
+acquisition of all necessary rights to permit the following:</p>
+
+<ol>
+       <li>A series of actions may occur ("Provisioning Process") in 
+which a user may execute the Provisioning Technology
+       on a machine ("Target Machine") with the intent of installing, 
+extending or updating the functionality of an Eclipse-based
+       product.</li>
+       <li>During the Provisioning Process, the Provisioning Technology 
+may cause third party Installable Software or a portion thereof to be
+       accessed and copied to the Target Machine.</li>
+       <li>Pursuant to the Specification, you will provide to the user 
+the terms and conditions that govern the use of the Installable
+       Software ("Installable Software Agreement") and such Installable 
+Software Agreement shall be accessed from the Target
+       Machine in accordance with the Specification. Such Installable 
+Software Agreement must inform the user of the terms and conditions that
+ govern
+       the Installable Software and must solicit acceptance by the end 
+user in the manner prescribed in such Installable Software Agreement. 
+Upon such
+       indication of agreement by the user, the provisioning Technology 
+will complete installation of the Installable Software.</li>
+</ol>
+
+<h3>Cryptography</h3>
+
+<p>Content may contain encryption software. The country in which you are
+ currently may have restrictions on the import, possession, and use, 
+and/or re-export to
+   another country, of encryption software. BEFORE using any encryption 
+software, please check the country's laws, regulations and policies 
+concerning the import,
+   possession, or use, and re-export of encryption software, to see if 
+this is permitted.</p>
+
+<p><small>Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.</small></p>
+
+
+</body></html>
\ No newline at end of file
diff --git a/org.eclipse.osbp.ecview.extension.grid.editparts.emf/notice.html b/org.eclipse.osbp.ecview.extension.grid.editparts.emf/notice.html
new file mode 100644
index 0000000..c3d34c3
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.grid.editparts.emf/notice.html
@@ -0,0 +1,107 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<!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>Eclipse Foundation Software User Agreement</title>
+</head>
+
+<body lang="EN-US">
+<h2>Eclipse Foundation Software User Agreement</h2>
+<p>April 9, 2014</p>
+
+<h3>Usage Of Content</h3>
+
+<p>THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS
+   (COLLECTIVELY &quot;CONTENT&quot;).  USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND
+   CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU AGREE THAT YOUR USE
+   OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR
+   NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND
+   CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.</p>
+
+<h3>Applicable Licenses</h3>
+
+<p>Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0
+   (&quot;EPL&quot;).  A copy of the EPL is provided with this Content and is also 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, &quot;Program&quot; will mean the Content.</p>
+
+<p>Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse Foundation source code
+   repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available as downloadable archives (&quot;Downloads&quot;).</p>
+
+<ul>
+       <li>Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content.  Typical modules may include plug-ins (&quot;Plug-ins&quot;), plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).</li>
+       <li>Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java&trade; ARchive) in a directory named &quot;plugins&quot;.</li>
+       <li>A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of the Plug-ins
+      and/or Fragments associated with that Feature.</li>
+       <li>Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.</li>
+</ul>
+
+<p>The terms and conditions governing Plug-ins and Fragments should be contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and conditions governing Features and
+Included Features should be contained in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;).  Abouts and Feature Licenses may be located in any directory of a Download or Module
+including, but not limited to the following locations:</p>
+
+<ul>
+       <li>The top-level (root) directory</li>
+       <li>Plug-in and Fragment directories</li>
+       <li>Inside Plug-ins and Fragments packaged as JARs</li>
+       <li>Sub-directories of the directory named &quot;src&quot; of certain Plug-ins</li>
+       <li>Feature directories</li>
+</ul>
+
+<p>Note: if a Feature made available by the Eclipse Foundation is installed using the Provisioning Technology (as defined below), you must agree to a license (&quot;Feature Update License&quot;) during the
+installation process.  If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or
+inform you where you can locate them.  Feature Update Licenses may be found in the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.
+Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in
+that directory.</p>
+
+<p>THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.  SOME OF THESE
+OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):</p>
+
+<ul>
+       <li>Eclipse Distribution License Version 1.0 (available at <a href="http://www.eclipse.org/licenses/edl-v10.html">http://www.eclipse.org/licenses/edl-v1.0.html</a>)</li>
+       <li>Common Public License Version 1.0 (available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>)</li>
+       <li>Apache Software License 1.1 (available at <a href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</a>)</li>
+       <li>Apache Software License 2.0 (available at <a href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</a>)</li>
+       <li>Mozilla Public License Version 1.1 (available at <a href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a>)</li>
+</ul>
+
+<p>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT.  If no About, Feature License, or Feature Update License is provided, please
+contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.</p>
+
+
+<h3>Use of Provisioning Technology</h3>
+
+<p>The Eclipse Foundation makes available provisioning software, examples of which include, but are not limited to, p2 and the Eclipse
+   Update Manager (&quot;Provisioning Technology&quot;) for the purpose of allowing users to install software, documentation, information and/or
+   other materials (collectively &quot;Installable Software&quot;). This capability is provided with the intent of allowing such users to
+   install, extend and update Eclipse-based products. Information about packaging Installable Software is available at <a
+       href="http://eclipse.org/equinox/p2/repository_packaging.html">http://eclipse.org/equinox/p2/repository_packaging.html</a>
+   (&quot;Specification&quot;).</p>
+
+<p>You may use Provisioning Technology to allow other parties to install Installable Software. You shall be responsible for enabling the
+   applicable license agreements relating to the Installable Software to be presented to, and accepted by, the users of the Provisioning Technology
+   in accordance with the Specification. By using Provisioning Technology in such a manner and making it available in accordance with the
+   Specification, you further acknowledge your agreement to, and the acquisition of all necessary rights to permit the following:</p>
+
+<ol>
+       <li>A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute the Provisioning Technology
+       on a machine (&quot;Target Machine&quot;) with the intent of installing, extending or updating the functionality of an Eclipse-based
+       product.</li>
+       <li>During the Provisioning Process, the Provisioning Technology may cause third party Installable Software or a portion thereof to be
+       accessed and copied to the Target Machine.</li>
+       <li>Pursuant to the Specification, you will provide to the user the terms and conditions that govern the use of the Installable
+       Software (&quot;Installable Software Agreement&quot;) and such Installable Software Agreement shall be accessed from the Target
+       Machine in accordance with the Specification. Such Installable Software Agreement must inform the user of the terms and conditions that govern
+       the Installable Software and must solicit acceptance by the end user in the manner prescribed in such Installable Software Agreement. Upon such
+       indication of agreement by the user, the provisioning Technology will complete installation of the Installable Software.</li>
+</ol>
+
+<h3>Cryptography</h3>
+
+<p>Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to
+   another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import,
+   possession, or use, and re-export of encryption software, to see if this is permitted.</p>
+
+<p><small>Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.</small></p>
+</body>
+</html>
diff --git a/org.eclipse.osbp.ecview.extension.grid.editparts.emf/pom.xml b/org.eclipse.osbp.ecview.extension.grid.editparts.emf/pom.xml
new file mode 100644
index 0000000..7c119ef
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.grid.editparts.emf/pom.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--#======================================================================= -->
+<!--# Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany) -->
+<!--# All rights reserved. This program and the accompanying materials -->
+<!--# are made available under the terms of the Eclipse Public License v1.0 -->
+<!--# which accompanies this distribution, and is available at -->
+<!--# http://www.eclipse.org/legal/epl-v10.html -->
+<!--# -->
+<!--# Contributors: -->
+<!--#     Christophe Loetz (Loetz GmbH&Co.KG) - initial API and implementation -->
+<!--#======================================================================= -->
+
+<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.osbp.ecview.extension</groupId>
+		<artifactId>org.eclipse.osbp.ecview.extension.aggregator</artifactId>
+		<version>0.9.0-SNAPSHOT</version>
+		<relativePath>..</relativePath>
+	</parent>
+	<artifactId>org.eclipse.osbp.ecview.extension.grid.editparts.emf</artifactId>
+	<packaging>eclipse-plugin</packaging>
+	<description>Contains the EMF based ui controller for Vaadin Grid</description>
+	<build>
+		<sourceDirectory>src</sourceDirectory>
+		<plugins>
+			<plugin>
+				<artifactId>maven-compiler-plugin</artifactId>
+				<configuration>
+					<source/>
+					<target/>
+				</configuration>
+			</plugin>
+		</plugins>
+	</build>
+</project>
diff --git a/org.eclipse.osbp.ecview.extension.grid.editparts.emf/src/org/eclipse/osbp/ecview/extension/grid/editparts/emf/EditpartManager.java b/org.eclipse.osbp.ecview.extension.grid.editparts.emf/src/org/eclipse/osbp/ecview/extension/grid/editparts/emf/EditpartManager.java
new file mode 100644
index 0000000..18ad543
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.grid.editparts.emf/src/org/eclipse/osbp/ecview/extension/grid/editparts/emf/EditpartManager.java
@@ -0,0 +1,200 @@
+/**
+ *                                                                            
+ *  Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany) 
+ *                                                                            
+ *  All rights reserved. This program and the accompanying materials           
+ *  are made available under the terms of the Eclipse Public License v1.0       
+ *  which accompanies this distribution, and is available at                  
+ *  http://www.eclipse.org/legal/epl-v10.html                                 
+ *                                                                            
+ *  Contributors:                                                      
+ * 	   Florian Pirchner - Initial implementation
+ * 
+ */
+
+package org.eclipse.osbp.ecview.extension.grid.editparts.emf;
+
+import java.lang.reflect.Constructor;
+import java.lang.reflect.InvocationTargetException;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.osbp.ecview.core.common.context.IViewContext;
+import org.eclipse.osbp.ecview.core.common.editpart.IEditPartManager;
+import org.eclipse.osbp.ecview.core.common.editpart.IElementEditpart;
+import org.eclipse.osbp.ecview.core.common.editpart.emf.ElementEditpart;
+import org.eclipse.osbp.ecview.core.common.editpart.emf.common.AbstractEditpartManager;
+import org.eclipse.osbp.ecview.core.common.model.core.YElement;
+import org.eclipse.osbp.ecview.extension.grid.CxGrid;
+import org.eclipse.osbp.ecview.extension.grid.CxGridColumn;
+import org.eclipse.osbp.ecview.extension.grid.CxGridDelegateCellStyleGenerator;
+import org.eclipse.osbp.ecview.extension.grid.CxGridFooterRow;
+import org.eclipse.osbp.ecview.extension.grid.CxGridHeaderRow;
+import org.eclipse.osbp.ecview.extension.grid.CxGridMetaCell;
+import org.eclipse.osbp.ecview.extension.grid.CxGridPackage;
+import org.eclipse.osbp.ecview.extension.grid.editparts.emf.renderer.GridBooleanRendererEditpart;
+import org.eclipse.osbp.ecview.extension.grid.editparts.emf.renderer.GridButtonRendererEditpart;
+import org.eclipse.osbp.ecview.extension.grid.editparts.emf.renderer.GridDateRendererEditpart;
+import org.eclipse.osbp.ecview.extension.grid.editparts.emf.renderer.GridDelegateRendererEditpart;
+import org.eclipse.osbp.ecview.extension.grid.editparts.emf.renderer.GridHtmlRendererEditpart;
+import org.eclipse.osbp.ecview.extension.grid.editparts.emf.renderer.GridImageRendererEditpart;
+import org.eclipse.osbp.ecview.extension.grid.editparts.emf.renderer.GridIndicatorRendererEditpart;
+import org.eclipse.osbp.ecview.extension.grid.editparts.emf.renderer.GridNumberRendererEditpart;
+import org.eclipse.osbp.ecview.extension.grid.editparts.emf.renderer.GridPriceRendererEditpart;
+import org.eclipse.osbp.ecview.extension.grid.editparts.emf.renderer.GridProgressbarRendererEditpart;
+import org.eclipse.osbp.ecview.extension.grid.editparts.emf.renderer.GridQuantityRendererEditpart;
+import org.eclipse.osbp.ecview.extension.grid.editparts.emf.renderer.GridTextRendererEditpart;
+import org.eclipse.osbp.ecview.extension.grid.renderer.CxGridBooleanRenderer;
+import org.eclipse.osbp.ecview.extension.grid.renderer.CxGridButtonRenderer;
+import org.eclipse.osbp.ecview.extension.grid.renderer.CxGridDateRenderer;
+import org.eclipse.osbp.ecview.extension.grid.renderer.CxGridDelegateRenderer;
+import org.eclipse.osbp.ecview.extension.grid.renderer.CxGridHtmlRenderer;
+import org.eclipse.osbp.ecview.extension.grid.renderer.CxGridImageRenderer;
+import org.eclipse.osbp.ecview.extension.grid.renderer.CxGridIndicatorRenderer;
+import org.eclipse.osbp.ecview.extension.grid.renderer.CxGridNumberRenderer;
+import org.eclipse.osbp.ecview.extension.grid.renderer.CxGridPriceRenderer;
+import org.eclipse.osbp.ecview.extension.grid.renderer.CxGridProgressBarRenderer;
+import org.eclipse.osbp.ecview.extension.grid.renderer.CxGridQuantityRenderer;
+import org.eclipse.osbp.ecview.extension.grid.renderer.CxGridRendererPackage;
+import org.eclipse.osbp.ecview.extension.grid.renderer.CxGridTextRenderer;
+import org.osgi.service.component.ComponentContext;
+import org.osgi.service.component.annotations.Component;
+
+/**
+ * An implementation of IEditPartManager for eObjects with
+ * nsURI=http://eclipse.org/emf/emfclient/uimodel.
+ */
+@Component(immediate = true, service = { IEditPartManager.class })
+public class EditpartManager extends AbstractEditpartManager {
+
+	/**
+	 * Activate.
+	 *
+	 * @param context
+	 *            the context
+	 */
+	protected void activate(ComponentContext context) {
+
+	}
+
+	/**
+	 * Deactivate.
+	 *
+	 * @param context
+	 *            the context
+	 */
+	protected void deactivate(ComponentContext context) {
+
+	}
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.osbp.ecview.core.common.editpart.IEditPartManager#isFor(java.lang.Object)
+	 */
+	@Override
+	public boolean isFor(Object element) {
+		if (element instanceof EObject) {
+			String uriString = ((EObject) element).eClass().getEPackage()
+					.getNsURI();
+			return uriString.equals(CxGridPackage.eNS_URI)
+					|| uriString.equals(CxGridRendererPackage.eNS_URI);
+		} else if (element instanceof String) {
+			return element.equals(CxGridPackage.eNS_URI)
+					|| element.equals(CxGridRendererPackage.eNS_URI);
+		}
+		return false;
+	}
+
+	/**
+	 * Creates a new instance of the edit part.
+	 * 
+	 * @param <A>
+	 *            an instance of {@link IElementEditpart}
+	 * @param yElement
+	 *            the model element
+	 * @return editpart
+	 */
+	@SuppressWarnings("unchecked")
+	protected <A extends IElementEditpart> A createEditpart(IViewContext context, Object yElement) {
+		// asserts that no editpart was created already for the given element
+		assertOneEditpartForModelelement(yElement);
+
+		ElementEditpart<YElement> result = null;
+		if (yElement instanceof CxGrid) {
+			result = createNewInstance(GridEditpart.class);
+		} else if (yElement instanceof CxGridColumn) {
+			result = createNewInstance(GridColumnEditpart.class);
+		} else if (yElement instanceof CxGridDelegateCellStyleGenerator) {
+			result = createNewInstance(GridDelegateCellStyleGeneratorEditpart.class);
+		} else if (yElement instanceof CxGridHeaderRow) {
+			result = createNewInstance(GridHeaderRowEditpart.class);
+		} else if (yElement instanceof CxGridFooterRow) {
+			result = createNewInstance(GridFooterRowEditpart.class);
+		} else if (yElement instanceof CxGridMetaCell) {
+			result = createNewInstance(GridMetaCellEditpart.class);
+		} else if (yElement instanceof CxGridDateRenderer) {
+			result = createNewInstance(GridDateRendererEditpart.class);
+		} else if (yElement instanceof CxGridButtonRenderer) {
+			result = createNewInstance(GridButtonRendererEditpart.class);
+		} else if (yElement instanceof CxGridHtmlRenderer) {
+			result = createNewInstance(GridHtmlRendererEditpart.class);
+		} else if (yElement instanceof CxGridImageRenderer) {
+			result = createNewInstance(GridImageRendererEditpart.class);
+		} else if (yElement instanceof CxGridNumberRenderer) {
+			result = createNewInstance(GridNumberRendererEditpart.class);
+		} else if (yElement instanceof CxGridProgressBarRenderer) {
+			result = createNewInstance(GridProgressbarRendererEditpart.class);
+		} else if (yElement instanceof CxGridTextRenderer) {
+			result = createNewInstance(GridTextRendererEditpart.class);
+		} else if (yElement instanceof CxGridDelegateRenderer) {
+			result = createNewInstance(GridDelegateRendererEditpart.class);
+		} else if (yElement instanceof CxGridBooleanRenderer) {
+			result = createNewInstance(GridBooleanRendererEditpart.class);
+		} else if (yElement instanceof CxGridQuantityRenderer) {
+			result = createNewInstance(GridQuantityRendererEditpart.class);
+		} else if (yElement instanceof CxGridPriceRenderer) {
+			result = createNewInstance(GridPriceRendererEditpart.class);
+		} else if (yElement instanceof CxGridIndicatorRenderer) {
+			result = createNewInstance(GridIndicatorRendererEditpart.class);
+		}
+
+		if (result != null) {
+			result.initialize(context,(YElement) yElement);
+		}
+
+		return (A) result;
+	}
+
+	/**
+	 * Returns a new instance of the type.
+	 * 
+	 * @param type
+	 *            The type of the editpart for which an instance should be
+	 *            created.
+	 * @return editPart
+	 * @throws InstantiationException
+	 *             e
+	 * @throws IllegalAccessException
+	 *             e
+	 */
+	protected IElementEditpart newInstance(
+			Class<? extends IElementEditpart> type)
+			throws InstantiationException, IllegalAccessException {
+		try {
+			Constructor<? extends IElementEditpart> c = type
+					.getDeclaredConstructor(new Class<?>[0]);
+			if (!c.isAccessible()) {
+				c.setAccessible(true);
+				return c.newInstance(new Object[0]);
+			}
+		} catch (NoSuchMethodException e) {
+			throw new IllegalStateException(e);
+		} catch (SecurityException e) {
+			throw new IllegalStateException(e);
+		} catch (IllegalArgumentException e) {
+			throw new IllegalStateException(e);
+		} catch (InvocationTargetException e) {
+			throw new IllegalStateException(e);
+		}
+
+		return type.newInstance();
+	}
+}
diff --git a/org.eclipse.osbp.ecview.extension.grid.editparts.emf/src/org/eclipse/osbp/ecview/extension/grid/editparts/emf/GridColumnEditpart.java b/org.eclipse.osbp.ecview.extension.grid.editparts.emf/src/org/eclipse/osbp/ecview/extension/grid/editparts/emf/GridColumnEditpart.java
new file mode 100644
index 0000000..49dad9d
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.grid.editparts.emf/src/org/eclipse/osbp/ecview/extension/grid/editparts/emf/GridColumnEditpart.java
@@ -0,0 +1,314 @@
+/**
+ *                                                                            
+ *  Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany) 
+ *                                                                            
+ *  All rights reserved. This program and the accompanying materials           
+ *  are made available under the terms of the Eclipse Public License v1.0       
+ *  which accompanies this distribution, and is available at                  
+ *  http://www.eclipse.org/legal/epl-v10.html                                 
+ *                                                                            
+ *  Contributors:                                                      
+ * 	   Florian Pirchner - Initial implementation
+ * 
+ */
+
+package org.eclipse.osbp.ecview.extension.grid.editparts.emf;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.osbp.ecview.core.common.editpart.IConverterEditpart;
+import org.eclipse.osbp.ecview.core.common.editpart.IElementEditpart;
+import org.eclipse.osbp.ecview.core.common.editpart.IEmbeddableEditpart;
+import org.eclipse.osbp.ecview.core.common.editpart.IFieldEditpart;
+import org.eclipse.osbp.ecview.core.common.editpart.emf.ElementEditpart;
+import org.eclipse.osbp.ecview.core.common.model.core.YConverter;
+import org.eclipse.osbp.ecview.core.common.model.core.YEmbeddable;
+import org.eclipse.osbp.ecview.core.common.model.core.YField;
+import org.eclipse.osbp.ecview.core.extension.model.extension.YSearchField;
+import org.eclipse.osbp.ecview.core.ui.core.editparts.extension.ISearchFieldEditpart;
+import org.eclipse.osbp.ecview.core.util.emf.ModelUtil;
+import org.eclipse.osbp.ecview.extension.grid.CxGrid;
+import org.eclipse.osbp.ecview.extension.grid.CxGridColumn;
+import org.eclipse.osbp.ecview.extension.grid.CxGridMetaCell;
+import org.eclipse.osbp.ecview.extension.grid.CxGridPackage;
+import org.eclipse.osbp.ecview.extension.grid.editparts.IGridColumnEditpart;
+import org.eclipse.osbp.ecview.extension.grid.editparts.IGridEditpart;
+import org.eclipse.osbp.ecview.extension.grid.editparts.presentation.IGridPresentation;
+import org.eclipse.osbp.ecview.extension.grid.editparts.renderer.IGridRendererEditpart;
+import org.eclipse.osbp.ecview.extension.grid.editparts.renderer.IGridRendererRefreshHandler;
+import org.eclipse.osbp.ecview.extension.grid.renderer.CxGridRenderer;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * The Class GridColumnEditpart.
+ */
+public class GridColumnEditpart extends ElementEditpart<CxGridColumn> implements
+		IGridColumnEditpart, IGridRendererRefreshHandler {
+
+	/** The Constant LOGGER. */
+	private static final Logger LOGGER = LoggerFactory
+			.getLogger(GridColumnEditpart.class);
+	
+	/** The column. */
+	private ColumnReference column;
+
+	/**
+	 * Instantiates a new grid column editpart.
+	 */
+	protected GridColumnEditpart() {
+
+	}
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.osbp.ecview.core.common.editpart.emf.ElementEditpart#createModel()
+	 */
+	@Override
+	public void setColumnReference(ColumnReference column) {
+		checkDisposed();
+
+		ColumnReference oldColumn = this.column;
+		if (oldColumn != null && oldColumn != column) {
+			LOGGER.debug("Disposing old column " + oldColumn);
+			oldColumn.dispose();
+		}
+
+		this.column = column;
+	}
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.osbp.ecview.extension.grid.editparts.IGridColumnEditpart#getColumnReference()
+	 */
+	@Override
+	public ColumnReference getColumnReference() {
+		checkDisposed();
+
+		return column;
+	}
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.osbp.ecview.core.common.editpart.emf.ElementEditpart#handleModelSet(int, org.eclipse.emf.common.notify.Notification)
+	 */
+	@Override
+	protected void handleModelSet(int featureId, Notification notification) {
+		checkDisposed();
+
+		switch (featureId) {
+		case CxGridPackage.CX_GRID_COLUMN__CONVERTER:
+			YConverter oldConverter = (YConverter) notification.getOldValue();
+			updateConverter((IConverterEditpart) ModelUtil.getEditpart(
+					viewContext, oldConverter));
+			break;
+		case CxGridPackage.CX_GRID_COLUMN__RENDERER:
+			CxGridRenderer oldRenderer = (CxGridRenderer) notification
+					.getOldValue();
+			updateRenderer((IGridRendererEditpart) ModelUtil.getEditpart(
+					viewContext, oldRenderer));
+			break;
+		case CxGridPackage.CX_GRID_COLUMN__EDITOR_FIELD:
+			YField oldField = (YField) notification.getOldValue();
+			updateEditorField((IFieldEditpart) ModelUtil.getEditpart(
+					viewContext, oldField));
+			break;
+		case CxGridPackage.CX_GRID_COLUMN__SEARCH_FIELD:
+			YSearchField oldSearchField = (YSearchField) notification
+					.getOldValue();
+			updateFilterField((ISearchFieldEditpart) ModelUtil.getEditpart(
+					viewContext, oldSearchField));
+			break;
+		default:
+			updateProperties();
+			super.handleModelSet(featureId, notification);
+		}
+	}
+
+	/**
+	 * Update renderer.
+	 *
+	 * @param oldRendererEditpart
+	 *            the old renderer editpart
+	 */
+	protected void updateRenderer(IGridRendererEditpart oldRendererEditpart) {
+		checkDisposed();
+
+		// dispose the old renderer
+		if (oldRendererEditpart != null) {
+			LOGGER.debug("Disposing old renderer " + oldRendererEditpart);
+			oldRendererEditpart.dispose();
+		}
+
+		if (column != null) {
+			Object renderer = null;
+			CxGridRenderer cxRenderer = getModel().getRenderer();
+			if (cxRenderer != null) {
+				IGridRendererEditpart editpart = getEditpart(viewContext,
+						cxRenderer);
+				renderer = editpart.createDelegate();
+			}
+
+			Object converter = null;
+			YConverter cxConverter = getModel().getConverter();
+			if (cxConverter != null) {
+				IConverterEditpart editpart = getEditpart(viewContext,
+						cxConverter);
+				if (editpart != null) {
+					converter = editpart.getDelegate();
+				}
+			}
+
+			column.setRenderer(renderer, converter);
+		}
+	}
+
+	/**
+	 * Update converter.
+	 *
+	 * @param oldConverterEditpart
+	 *            the old converter editpart
+	 */
+	protected void updateConverter(IConverterEditpart oldConverterEditpart) {
+		checkDisposed();
+
+		// dispose the old converter
+		if (oldConverterEditpart != null) {
+			LOGGER.debug("Disposing old converter " + oldConverterEditpart);
+			oldConverterEditpart.dispose();
+		}
+
+		if (column != null) {
+			Object result = null;
+			YConverter cxConverter = getModel().getConverter();
+			if (cxConverter != null) {
+				IConverterEditpart editpart = ModelUtil.getEditpart(
+						viewContext, cxConverter);
+				result = editpart.getDelegate();
+			}
+			column.setConverter(result);
+		}
+	}
+
+	/**
+	 * Update properties.
+	 */
+	protected void updateProperties() {
+		checkDisposed();
+
+		if (column != null) {
+			column.updateProperties();
+		}
+	}
+
+	/**
+	 * Update editor field.
+	 *
+	 * @param oldField
+	 *            the old field
+	 */
+	protected void updateEditorField(IFieldEditpart oldField) {
+		checkDisposed();
+
+		// dispose the old field
+		if (oldField != null) {
+			LOGGER.debug("Disposing old editorField " + oldField);
+			oldField.dispose();
+		}
+
+		if (column != null) {
+			column.updateEditorField();
+		}
+	}
+
+	/**
+	 * Update filter field.
+	 *
+	 * @param oldField
+	 *            the old field
+	 */
+	protected void updateFilterField(ISearchFieldEditpart oldField) {
+		checkDisposed();
+
+		// dispose the old field
+		if (oldField != null) {
+			LOGGER.debug("Disposing old filterField " + oldField);
+			oldField.dispose();
+		}
+
+		CxGridColumn cxColumn = getModel();
+		CxGrid cxGrid = cxColumn.getGrid();
+		IGridEditpart ep = getEditpart(viewContext, cxGrid);
+		if (ep.isRendered()) {
+			IGridPresentation<CxGrid> gridPresentation = ep.getPresentation();
+			gridPresentation.updateFilter();
+		}
+	}
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.osbp.ecview.extension.grid.editparts.IGridColumnEditpart#initializeColumn()
+	 */
+	@Override
+	public void initializeColumn() {
+		checkDisposed();
+
+		updateRenderer(null);
+		updateConverter(null);
+		updateEditorField(null);
+		updateProperties();
+	}
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.osbp.ecview.extension.grid.editparts.renderer.IGridRendererRefreshHandler#refreshRenderer()
+	 */
+	@Override
+	public void refreshRenderer() {
+		updateRenderer(null);
+	}
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.osbp.ecview.core.common.editpart.emf.ElementEditpart#internalDispose()
+	 */
+	@Override
+	protected void internalDispose() {
+		try {
+			if (column != null) {
+				column.dispose();
+				column = null;
+			}
+
+			YConverter cxConverter = getModel().getConverter();
+			if (cxConverter != null) {
+				IElementEditpart ep = ModelUtil.findEditpart(cxConverter);
+				if (ep != null) {
+					ep.dispose();
+				}
+			}
+
+			CxGridRenderer cxRenderer = getModel().getRenderer();
+			if (cxRenderer != null) {
+				IElementEditpart ep = ModelUtil.findEditpart(cxRenderer);
+				if (ep != null) {
+					ep.dispose();
+				}
+			}
+
+			YField cxField = getModel().getEditorField();
+			if (cxField != null) {
+				IElementEditpart ep = ModelUtil.findEditpart(cxField);
+				if (ep != null) {
+					ep.dispose();
+				}
+			}
+
+			// we need to dispose the related meta cells here too.
+			// Otherwise the components will not become unrendered
+			for (CxGridMetaCell metaCell : getModel().getUsedInMetaCells()) {
+				YEmbeddable yEmbeddable = metaCell.getElement();
+				IEmbeddableEditpart ep = ModelUtil.findEditpart(yEmbeddable);
+				if (ep != null) {
+					ep.dispose();
+				}
+			}
+
+		} finally {
+			super.internalDispose();
+		}
+	}
+}
diff --git a/org.eclipse.osbp.ecview.extension.grid.editparts.emf/src/org/eclipse/osbp/ecview/extension/grid/editparts/emf/GridDelegateCellStyleGeneratorEditpart.java b/org.eclipse.osbp.ecview.extension.grid.editparts.emf/src/org/eclipse/osbp/ecview/extension/grid/editparts/emf/GridDelegateCellStyleGeneratorEditpart.java
new file mode 100644
index 0000000..216aa21
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.grid.editparts.emf/src/org/eclipse/osbp/ecview/extension/grid/editparts/emf/GridDelegateCellStyleGeneratorEditpart.java
@@ -0,0 +1,54 @@
+/**
+ *                                                                            
+ *  Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany) 
+ *                                                                            
+ *  All rights reserved. This program and the accompanying materials           
+ *  are made available under the terms of the Eclipse Public License v1.0       
+ *  which accompanies this distribution, and is available at                  
+ *  http://www.eclipse.org/legal/epl-v10.html                                 
+ *                                                                            
+ *  Contributors:                                                      
+ * 	   Florian Pirchner - Initial implementation
+ * 
+ */
+
+package org.eclipse.osbp.ecview.extension.grid.editparts.emf;
+
+import org.eclipse.osbp.ecview.core.common.editpart.emf.ElementEditpart;
+import org.eclipse.osbp.ecview.extension.grid.CxGridCellStyleGenerator;
+import org.eclipse.osbp.ecview.extension.grid.editparts.DelegatingGridCellStyleGeneratorFactory;
+import org.eclipse.osbp.ecview.extension.grid.editparts.IGridDelegateCellStyleGeneratorEditpart;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * The implementation of the IOpenDialogCommandEditpart.
+ */
+public class GridDelegateCellStyleGeneratorEditpart extends
+		ElementEditpart<CxGridCellStyleGenerator> implements
+		IGridDelegateCellStyleGeneratorEditpart {
+
+	/** The Constant LOGGER. */
+	private static final Logger LOGGER = LoggerFactory
+			.getLogger(GridDelegateCellStyleGeneratorEditpart.class);
+	
+	/** The delegate. */
+	private Object delegate;
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.osbp.ecview.core.common.editpart.emf.ElementEditpart#createModel()
+	 */
+	@Override
+	public Object getDelegate() {
+		checkDisposed();
+
+		if (delegate == null) {
+			delegate = DelegatingGridCellStyleGeneratorFactory.getInstance()
+					.createCellStyleGenerator(getViewContext(getModel()), this);
+
+			LOGGER.info("Created cellStyleGenerator for " + getModel());
+		}
+
+		return delegate;
+	}
+}
diff --git a/org.eclipse.osbp.ecview.extension.grid.editparts.emf/src/org/eclipse/osbp/ecview/extension/grid/editparts/emf/GridEditpart.java b/org.eclipse.osbp.ecview.extension.grid.editparts.emf/src/org/eclipse/osbp/ecview/extension/grid/editparts/emf/GridEditpart.java
new file mode 100644
index 0000000..b7f8976
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.grid.editparts.emf/src/org/eclipse/osbp/ecview/extension/grid/editparts/emf/GridEditpart.java
@@ -0,0 +1,327 @@
+/**
+ *                                                                            
+ *  Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany) 
+ *                                                                            
+ *  All rights reserved. This program and the accompanying materials           
+ *  are made available under the terms of the Eclipse Public License v1.0       
+ *  which accompanies this distribution, and is available at                  
+ *  http://www.eclipse.org/legal/epl-v10.html                                 
+ *                                                                            
+ *  Contributors:                                                      
+ * 	   Florian Pirchner - Initial implementation
+ * 
+ */
+
+package org.eclipse.osbp.ecview.extension.grid.editparts.emf;
+
+import java.util.Collections;
+import java.util.List;
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.osbp.ecview.core.common.context.IViewContext;
+import org.eclipse.osbp.ecview.core.common.editpart.emf.EmbeddableEditpart;
+import org.eclipse.osbp.ecview.core.common.editpart.validation.IValidatorEditpart;
+import org.eclipse.osbp.ecview.core.common.model.core.YMemento;
+import org.eclipse.osbp.ecview.core.common.presentation.IWidgetPresentation;
+import org.eclipse.osbp.ecview.extension.grid.CxGrid;
+import org.eclipse.osbp.ecview.extension.grid.CxGridPackage;
+import org.eclipse.osbp.ecview.extension.grid.editparts.IGridEditpart;
+import org.eclipse.osbp.ecview.extension.grid.editparts.presentation.IGridPresentation;
+import org.eclipse.osbp.ecview.extension.grid.util.CxGridUtil;
+import org.eclipse.osbp.runtime.common.memento.IMementoHandler;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * The Class GridEditpart.
+ */
+public class GridEditpart extends EmbeddableEditpart<CxGrid> implements
+		IGridEditpart {
+
+	/** The Constant LOGGER. */
+	@SuppressWarnings("unused")
+	private static final Logger LOGGER = LoggerFactory
+			.getLogger(GridEditpart.class);
+
+	/** The grid content adapter. */
+	private GridEditpartController gridContentAdapter;
+
+	/**
+	 * Returns the gridEditpart if it could be found in the parent hierarchy of
+	 * the given eObject.
+	 *
+	 * @param context
+	 *            the view context
+	 * @param eObject
+	 *            the e object
+	 * @return the grid
+	 */
+	public static IGridEditpart getGrid(IViewContext context, EObject eObject) {
+		CxGrid cxGrid = CxGridUtil.getGrid(eObject);
+		if (cxGrid != null) {
+			return getEditpart(context, cxGrid);
+		}
+
+		return null;
+	}
+
+	/**
+	 * Returns the grid presentation if available.
+	 *
+	 * @param context
+	 *            the view context
+	 * @param eObject
+	 *            the e object
+	 * @return the grid presentation
+	 */
+	public static IGridPresentation<?> getGridPresentation(
+			IViewContext context, EObject eObject) {
+		IGridEditpart editpart = getGrid(context, eObject);
+		return (IGridPresentation<?>) (editpart != null ? editpart
+				.getPresentation() : null);
+	}
+
+	/**
+	 * Instantiates a new grid editpart.
+	 */
+	protected GridEditpart() {
+
+	}
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.osbp.ecview.core.common.editpart.emf.ElementEditpart#createModel()
+	 */
+	@Override
+	public void initialize(IViewContext context, CxGrid model) {
+		super.initialize(context, model);
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.osbp.ecview.core.common.editpart.emf.EmbeddableEditpart#initialize(org.eclipse.osbp.ecview.core.common.model.core.YEmbeddable)
+	 */
+		// attach the notification dispatcher
+		gridContentAdapter = new GridEditpartController(context);
+		model.eAdapters().add(gridContentAdapter);
+	}
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.osbp.ecview.extension.grid.editparts.IGridEditpart#setFilter(java.util.Map)
+	 */
+	@Override
+	public void setFilter(Map<String, Object> filter) {
+		if (isPresentationPresent()) {
+			getPresentation().setFilter(filter);
+		}
+	}
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.osbp.ecview.core.common.editpart.emf.EmbeddableEditpart#render(java.lang.Object)
+	 */
+	@Override
+	public Object render(Object parentWidget) {
+		return super.render(parentWidget);
+	}
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.osbp.ecview.core.common.editpart.datatypes.IDatatypeEditpart.DatatypeBridge#getDatatypeValidators()
+	 */
+	@Override
+	public List<IValidatorEditpart> getDatatypeValidators() {
+		return Collections.emptyList();
+	}
+
+	/**
+	 * Returns true, if the presenter is present.
+	 *
+	 * @return true, if is presentation present
+	 */
+	protected boolean isPresentationPresent() {
+		return internalGetPresentation() != null;
+	}
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.osbp.ecview.core.common.editpart.emf.EmbeddableEditpart#getPresentation()
+	 */
+	@SuppressWarnings("unchecked")
+	@Override
+	public IGridPresentation<?> getPresentation() {
+		return super.getPresentation();
+	}
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.osbp.ecview.core.common.editpart.emf.EmbeddableEditpart#doInitPresentation(org.eclipse.osbp.ecview.core.common.presentation.IWidgetPresentation)
+	 */
+	@Override
+	protected void doInitPresentation(IWidgetPresentation<?> presentation) {
+		super.doInitPresentation(presentation);
+
+		// initialize the presentation with the memento before rendering
+		//
+		YMemento yMemento = loadMemento(getModel().getMementoId());
+		if (yMemento != null) {
+			((IMementoHandler) getPresentation()).applyMemento(yMemento);
+		}
+	}
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.osbp.ecview.core.common.editpart.emf.EmbeddableEditpart#handleModelSet(int, org.eclipse.emf.common.notify.Notification)
+	 */
+	@Override
+	protected void handleModelSet(int featureId, Notification notification) {
+		checkDisposed();
+
+		switch (featureId) {
+		case CxGridPackage.CX_GRID__SELECTION_TYPE:
+			if (isRendered()) {
+				getPresentation().updateSelectionType();
+			}
+			break;
+		case CxGridPackage.CX_GRID__FILTERING_VISIBLE:
+			if (isRendered()) {
+				getPresentation().updateFilter();
+			}
+			break;
+		case CxGridPackage.CX_GRID__CUSTOM_FILTERS:
+			if (isRendered()) {
+				getPresentation().updateFilter();
+			}
+			break;
+		case CxGridPackage.CX_GRID__CELL_STYLE_GENERATOR:
+			if (isRendered()) {
+				getPresentation().updateCellStyleGenerator();
+			}
+			break;
+		default:
+			super.handleModelSet(featureId, notification);
+		}
+	}
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.osbp.ecview.core.common.editpart.emf.ElementEditpart#handleModelAdd(int, org.eclipse.emf.common.notify.Notification)
+	 */
+	@Override
+	protected void handleModelAdd(int featureId, Notification notification) {
+		checkDisposed();
+
+		switch (featureId) {
+		case CxGridPackage.CX_GRID__COLUMNS:
+			if (isRendered()) {
+				getPresentation().updateColumns();
+			}
+			break;
+		case CxGridPackage.CX_GRID__HEADERS:
+			if (isRendered()) {
+				getPresentation().updateHeader();
+			}
+			break;
+		case CxGridPackage.CX_GRID__FOOTERS:
+			if (isRendered()) {
+				getPresentation().updateFooter();
+			}
+			break;
+		default:
+			super.handleModelAdd(featureId, notification);
+		}
+	}
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.osbp.ecview.core.common.editpart.emf.ElementEditpart#handleModelAddMany(int, org.eclipse.emf.common.notify.Notification)
+	 */
+	@Override
+	protected void handleModelAddMany(int featureId, Notification notification) {
+		checkDisposed();
+
+		switch (featureId) {
+		case CxGridPackage.CX_GRID__COLUMNS:
+			if (isRendered()) {
+				getPresentation().updateColumns();
+			}
+			break;
+		case CxGridPackage.CX_GRID__HEADERS:
+			if (isRendered()) {
+				getPresentation().updateHeader();
+			}
+			break;
+		case CxGridPackage.CX_GRID__FOOTERS:
+			if (isRendered()) {
+				getPresentation().updateFooter();
+			}
+			break;
+		default:
+			super.handleModelAddMany(featureId, notification);
+		}
+
+	}
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.osbp.ecview.core.common.editpart.emf.ElementEditpart#handleModelRemove(int, org.eclipse.emf.common.notify.Notification)
+	 */
+	@Override
+	protected void handleModelRemove(int featureId, Notification notification) {
+		checkDisposed();
+
+		switch (featureId) {
+		case CxGridPackage.CX_GRID__COLUMNS:
+			if (isRendered()) {
+				getPresentation().updateColumns();
+			}
+			break;
+		case CxGridPackage.CX_GRID__HEADERS:
+			if (isRendered()) {
+				getPresentation().updateHeader();
+			}
+			break;
+		case CxGridPackage.CX_GRID__FOOTERS:
+			if (isRendered()) {
+				getPresentation().updateFooter();
+			}
+			break;
+		default:
+			super.handleModelRemove(featureId, notification);
+		}
+	}
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.osbp.ecview.core.common.editpart.emf.ElementEditpart#handleModelRemoveMany(int, org.eclipse.emf.common.notify.Notification)
+	 */
+	@Override
+	protected void handleModelRemoveMany(int featureId,
+			Notification notification) {
+		checkDisposed();
+
+		switch (featureId) {
+		case CxGridPackage.CX_GRID__COLUMNS:
+			if (isRendered()) {
+				getPresentation().updateColumns();
+			}
+			break;
+		case CxGridPackage.CX_GRID__HEADERS:
+			if (isRendered()) {
+				getPresentation().updateHeader();
+			}
+			break;
+		case CxGridPackage.CX_GRID__FOOTERS:
+			if (isRendered()) {
+				getPresentation().updateFooter();
+			}
+		default:
+			super.handleModelRemove(featureId, notification);
+		}
+	}
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.osbp.ecview.core.common.editpart.emf.EmbeddableEditpart#internalDispose()
+	 */
+	@Override
+	protected void internalDispose() {
+		try {
+
+			getModel().eAdapters().remove(gridContentAdapter);
+			gridContentAdapter = null;
+
+		} finally {
+			super.internalDispose();
+		}
+	}
+}
\ No newline at end of file
diff --git a/org.eclipse.osbp.ecview.extension.grid.editparts.emf/src/org/eclipse/osbp/ecview/extension/grid/editparts/emf/GridEditpartController.java b/org.eclipse.osbp.ecview.extension.grid.editparts.emf/src/org/eclipse/osbp/ecview/extension/grid/editparts/emf/GridEditpartController.java
new file mode 100644
index 0000000..c6d4e15
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.grid.editparts.emf/src/org/eclipse/osbp/ecview/extension/grid/editparts/emf/GridEditpartController.java
@@ -0,0 +1,113 @@
+/**
+ *                                                                            
+ *  Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany) 
+ *                                                                            
+ *  All rights reserved. This program and the accompanying materials           
+ *  are made available under the terms of the Eclipse Public License v1.0       
+ *  which accompanies this distribution, and is available at                  
+ *  http://www.eclipse.org/legal/epl-v10.html                                 
+ *                                                                            
+ *  Contributors:                                                      
+ * 	   Florian Pirchner - Initial implementation
+ * 
+ */
+package org.eclipse.osbp.ecview.extension.grid.editparts.emf;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notifier;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.util.EContentAdapter;
+import org.eclipse.osbp.ecview.core.common.context.IViewContext;
+import org.eclipse.osbp.ecview.core.common.editpart.IElementEditpart;
+import org.eclipse.osbp.ecview.core.common.editpart.emf.ElementEditpart;
+import org.eclipse.osbp.ecview.core.common.model.core.YElement;
+import org.eclipse.osbp.ecview.extension.grid.CxGridPackage;
+import org.eclipse.osbp.ecview.extension.grid.renderer.CxGridRendererPackage;
+
+/**
+ * This class automatically connects to all EObjects in the containment chain as
+ * long as the EClass is part of the CxGridPackage. <br>
+ * Editparts are automatically added and removed from the EObjects.
+ */
+public class GridEditpartController extends EContentAdapter {
+
+	private final IViewContext context;
+
+	public GridEditpartController(IViewContext context) {
+		this.context = context;
+	}
+
+	/**
+	 * Add this adapter only to EObjects from grid package.
+	 *
+	 * @param notifier
+	 *            the notifier
+	 */
+	protected void addAdapter(Notifier notifier) {
+		for (Adapter adapter : notifier.eAdapters()) {
+			if (adapter == this) {
+				return;
+			}
+		}
+
+		if (notifier instanceof EObject) {
+			EObject e = (EObject) notifier;
+
+			if (isProperPackage(e)) {
+				notifier.eAdapters().add(this);
+				initEditpart(notifier);
+			}
+		}
+	}
+
+	/**
+	 * Checks if is proper package.
+	 *
+	 * @param e
+	 *            the e
+	 * @return true, if is proper package
+	 */
+	protected boolean isProperPackage(EObject e) {
+		String nsURI = e.eClass().getEPackage().getNsURI();
+		return nsURI.equals(CxGridPackage.eNS_URI)
+				|| nsURI.equals(CxGridRendererPackage.eNS_URI);
+	}
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.emf.ecore.util.EContentAdapter#removeAdapter(org.eclipse.emf.common.notify.Notifier)
+	 */
+	@Override
+	protected void removeAdapter(Notifier notifier) {
+		super.removeAdapter(notifier);
+
+		disposeEditpart(notifier);
+	}
+
+	/**
+	 * Initializes the editpart.
+	 *
+	 * @param notifier
+	 *            the notifier
+	 */
+	protected void initEditpart(Notifier notifier) {
+		if (notifier instanceof YElement) {
+			ElementEditpart.getEditpart(context, (YElement) notifier);
+		}
+	}
+
+	/**
+	 * Disposes the editpart if available.
+	 *
+	 * @param notifier
+	 *            the notifier
+	 */
+	protected void disposeEditpart(Notifier notifier) {
+		if (notifier instanceof YElement) {
+			IElementEditpart ep = ElementEditpart
+					.findEditPartFor((YElement) notifier);
+			if (ep != null) {
+				ep.requestDispose();
+			}
+		}
+	}
+}
diff --git a/org.eclipse.osbp.ecview.extension.grid.editparts.emf/src/org/eclipse/osbp/ecview/extension/grid/editparts/emf/GridFooterRowEditpart.java b/org.eclipse.osbp.ecview.extension.grid.editparts.emf/src/org/eclipse/osbp/ecview/extension/grid/editparts/emf/GridFooterRowEditpart.java
new file mode 100644
index 0000000..a318601
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.grid.editparts.emf/src/org/eclipse/osbp/ecview/extension/grid/editparts/emf/GridFooterRowEditpart.java
@@ -0,0 +1,38 @@
+/**
+ *                                                                            
+ *  Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany) 
+ *                                                                            
+ *  All rights reserved. This program and the accompanying materials           
+ *  are made available under the terms of the Eclipse Public License v1.0       
+ *  which accompanies this distribution, and is available at                  
+ *  http://www.eclipse.org/legal/epl-v10.html                                 
+ *                                                                            
+ *  Contributors:                                                      
+ * 	   Florian Pirchner - Initial implementation
+ * 
+ */
+
+package org.eclipse.osbp.ecview.extension.grid.editparts.emf;
+
+import org.eclipse.osbp.ecview.extension.grid.editparts.IGridFooterRowEditpart;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * The Class GridFooterRowEditpart.
+ */
+public class GridFooterRowEditpart extends GridMetaRowEditpart implements
+		IGridFooterRowEditpart {
+
+	/** The Constant LOGGER. */
+	@SuppressWarnings("unused")
+	private static final Logger LOGGER = LoggerFactory
+			.getLogger(GridFooterRowEditpart.class);
+
+	/**
+	 * Instantiates a new grid footer row editpart.
+	 */
+	protected GridFooterRowEditpart() {
+
+	}
+}
diff --git a/org.eclipse.osbp.ecview.extension.grid.editparts.emf/src/org/eclipse/osbp/ecview/extension/grid/editparts/emf/GridHeaderRowEditpart.java b/org.eclipse.osbp.ecview.extension.grid.editparts.emf/src/org/eclipse/osbp/ecview/extension/grid/editparts/emf/GridHeaderRowEditpart.java
new file mode 100644
index 0000000..a37009d
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.grid.editparts.emf/src/org/eclipse/osbp/ecview/extension/grid/editparts/emf/GridHeaderRowEditpart.java
@@ -0,0 +1,42 @@
+/**
+ *                                                                            
+ *  Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany) 
+ *                                                                            
+ *  All rights reserved. This program and the accompanying materials           
+ *  are made available under the terms of the Eclipse Public License v1.0       
+ *  which accompanies this distribution, and is available at                  
+ *  http://www.eclipse.org/legal/epl-v10.html                                 
+ *                                                                            
+ *  Contributors:                                                      
+ * 	   Florian Pirchner - Initial implementation
+ * 
+ */
+
+package org.eclipse.osbp.ecview.extension.grid.editparts.emf;
+
+import org.eclipse.osbp.ecview.extension.grid.editparts.IGridHeaderRowEditpart;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * The Class GridHeaderRowEditpart.
+ */
+public class GridHeaderRowEditpart extends GridMetaRowEditpart implements
+		IGridHeaderRowEditpart {
+
+	/** The Constant LOGGER. */
+	@SuppressWarnings("unused")
+	private static final Logger LOGGER = LoggerFactory
+			.getLogger(GridHeaderRowEditpart.class);
+
+	/**
+	 * Instantiates a new grid header row editpart.
+	 */
+	protected GridHeaderRowEditpart() {
+
+	}
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.osbp.ecview.core.common.editpart.emf.ElementEditpart#createModel()
+	 */
+}
diff --git a/org.eclipse.osbp.ecview.extension.grid.editparts.emf/src/org/eclipse/osbp/ecview/extension/grid/editparts/emf/GridMetaCellEditpart.java b/org.eclipse.osbp.ecview.extension.grid.editparts.emf/src/org/eclipse/osbp/ecview/extension/grid/editparts/emf/GridMetaCellEditpart.java
new file mode 100644
index 0000000..eeb9342
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.grid.editparts.emf/src/org/eclipse/osbp/ecview/extension/grid/editparts/emf/GridMetaCellEditpart.java
@@ -0,0 +1,104 @@
+/**
+ *                                                                            
+ *  Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany) 
+ *                                                                            
+ *  All rights reserved. This program and the accompanying materials           
+ *  are made available under the terms of the Eclipse Public License v1.0       
+ *  which accompanies this distribution, and is available at                  
+ *  http://www.eclipse.org/legal/epl-v10.html                                 
+ *                                                                            
+ *  Contributors:                                                      
+ * 	   Florian Pirchner - Initial implementation
+ * 
+ */
+
+package org.eclipse.osbp.ecview.extension.grid.editparts.emf;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.osbp.ecview.core.common.editpart.IEmbeddableEditpart;
+import org.eclipse.osbp.ecview.core.common.editpart.emf.ElementEditpart;
+import org.eclipse.osbp.ecview.core.common.model.core.YEmbeddable;
+import org.eclipse.osbp.ecview.core.util.emf.ModelUtil;
+import org.eclipse.osbp.ecview.extension.grid.CxGridFooterRow;
+import org.eclipse.osbp.ecview.extension.grid.CxGridHeaderRow;
+import org.eclipse.osbp.ecview.extension.grid.CxGridMetaCell;
+import org.eclipse.osbp.ecview.extension.grid.CxGridMetaRow;
+import org.eclipse.osbp.ecview.extension.grid.CxGridPackage;
+import org.eclipse.osbp.ecview.extension.grid.editparts.IGridMetaCellEditpart;
+import org.eclipse.osbp.ecview.extension.grid.editparts.presentation.IGridPresentation;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * The Class GridMetaCellEditpart.
+ */
+public class GridMetaCellEditpart extends ElementEditpart<CxGridMetaCell>
+		implements IGridMetaCellEditpart {
+
+	/** The Constant LOGGER. */
+	@SuppressWarnings("unused")
+	private static final Logger LOGGER = LoggerFactory
+			.getLogger(GridMetaCellEditpart.class);
+
+	/**
+	 * Instantiates a new grid meta cell editpart.
+	 */
+	protected GridMetaCellEditpart() {
+
+	}
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.osbp.ecview.core.common.editpart.emf.ElementEditpart#createModel()
+	 */
+	@Override
+	protected void handleModelSet(int featureId, Notification notification) {
+		switch (featureId) {
+		case CxGridPackage.CX_GRID_META_CELL__ELEMENT:
+			disposeElement((YEmbeddable) notification.getOldValue());
+		case CxGridPackage.CX_GRID_META_CELL__LABEL:
+		case CxGridPackage.CX_GRID_META_CELL__LABEL_I1_8N_KEY:
+		case CxGridPackage.CX_GRID_META_CELL__USE_HTML:
+			IGridPresentation<?> presentation = GridEditpart
+					.getGridPresentation(viewContext, getModel());
+			if (presentation != null) {
+				CxGridMetaRow parent = (CxGridMetaRow) getModel().eContainer();
+				if (parent instanceof CxGridHeaderRow) {
+					presentation.updateHeader();
+				} else if (parent instanceof CxGridFooterRow) {
+					presentation.updateFooter();
+				} else {
+					throw new IllegalArgumentException(
+							"Not a supported option!");
+				}
+			}
+			break;
+		default:
+			super.handleModelSet(featureId, notification);
+		}
+	}
+	
+	/**
+	 * Dispose element.
+	 *
+	 * @param yEmbeddable
+	 *            the y embeddable
+	 */
+	protected void disposeElement(YEmbeddable yEmbeddable) {
+		IEmbeddableEditpart ep = ModelUtil.findEditpart(yEmbeddable);
+		if (ep != null) {
+			ep.dispose();
+		}
+	}
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.osbp.ecview.core.common.editpart.emf.ElementEditpart#internalDispose()
+	 */
+	@Override
+	protected void internalDispose() {
+		try {
+			disposeElement(getModel().getElement());
+		} finally {
+			super.internalDispose();
+		}
+	}
+}
diff --git a/org.eclipse.osbp.ecview.extension.grid.editparts.emf/src/org/eclipse/osbp/ecview/extension/grid/editparts/emf/GridMetaRowEditpart.java b/org.eclipse.osbp.ecview.extension.grid.editparts.emf/src/org/eclipse/osbp/ecview/extension/grid/editparts/emf/GridMetaRowEditpart.java
new file mode 100644
index 0000000..bb4a951
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.grid.editparts.emf/src/org/eclipse/osbp/ecview/extension/grid/editparts/emf/GridMetaRowEditpart.java
@@ -0,0 +1,135 @@
+/**
+ *                                                                            
+ *  Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany) 
+ *                                                                            
+ *  All rights reserved. This program and the accompanying materials           
+ *  are made available under the terms of the Eclipse Public License v1.0       
+ *  which accompanies this distribution, and is available at                  
+ *  http://www.eclipse.org/legal/epl-v10.html                                 
+ *                                                                            
+ *  Contributors:                                                      
+ * 	   Florian Pirchner - Initial implementation
+ * 
+ */
+
+package org.eclipse.osbp.ecview.extension.grid.editparts.emf;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.osbp.ecview.core.common.context.IViewContext;
+import org.eclipse.osbp.ecview.core.common.editpart.emf.ElementEditpart;
+import org.eclipse.osbp.ecview.extension.grid.CxGrid;
+import org.eclipse.osbp.ecview.extension.grid.CxGridFooterRow;
+import org.eclipse.osbp.ecview.extension.grid.CxGridHeaderRow;
+import org.eclipse.osbp.ecview.extension.grid.CxGridMetaRow;
+import org.eclipse.osbp.ecview.extension.grid.CxGridPackage;
+import org.eclipse.osbp.ecview.extension.grid.editparts.IGridMetaRowEditpart;
+import org.eclipse.osbp.ecview.extension.grid.editparts.presentation.IGridPresentation;
+import org.eclipse.osbp.ecview.extension.grid.util.CxGridUtil;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * The Class GridMetaRowEditpart.
+ */
+public abstract class GridMetaRowEditpart extends
+		ElementEditpart<CxGridMetaRow> implements IGridMetaRowEditpart {
+
+	/** The Constant LOGGER. */
+	@SuppressWarnings("unused")
+	private static final Logger LOGGER = LoggerFactory
+			.getLogger(GridMetaRowEditpart.class);
+
+	/** The cx grid. */
+	private CxGrid cxGrid;
+
+	/**
+	 * Instantiates a new grid meta row editpart.
+	 */
+	protected GridMetaRowEditpart() {
+
+	}
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.osbp.ecview.core.common.editpart.emf.ElementEditpart#initialize(org.eclipse.osbp.ecview.core.common.model.core.YElement)
+	 */
+	@Override
+	public void initialize(IViewContext context, CxGridMetaRow model) {
+		super.initialize(context, model);
+
+		cxGrid = CxGridUtil.getGrid(model);
+	}
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.osbp.ecview.core.common.editpart.emf.ElementEditpart#handleModelAdd(int, org.eclipse.emf.common.notify.Notification)
+	 */
+	@Override
+	protected void handleModelAdd(int featureId, Notification notification) {
+		switch (featureId) {
+		case CxGridPackage.CX_GRID_META_ROW__CUSTOM_CELLS:
+			updateCustomCellsPresentation();
+			break;
+		case CxGridPackage.CX_GRID_META_ROW__GROUPINGS:
+			updateRowsPresentation();
+			break;
+		default:
+			super.handleModelSet(featureId, notification);
+		}
+	}
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.osbp.ecview.core.common.editpart.emf.ElementEditpart#handleModelRemove(int, org.eclipse.emf.common.notify.Notification)
+	 */
+	@Override
+	protected void handleModelRemove(int featureId, Notification notification) {
+		switch (featureId) {
+		case CxGridPackage.CX_GRID_META_ROW__CUSTOM_CELLS:
+			updateCustomCellsPresentation();
+			break;
+		case CxGridPackage.CX_GRID_META_ROW__GROUPINGS:
+			updateRowsPresentation();
+			break;
+		default:
+			super.handleModelSet(featureId, notification);
+		}
+	}
+
+	/**
+	 * Update custom cells presentation.
+	 */
+	protected void updateCustomCellsPresentation() {
+		IGridPresentation<?> presentation = GridEditpart.getGridPresentation(
+				viewContext, getModel());
+		if (presentation != null) {
+			presentation.updateColumns();
+		}
+	}
+
+	/**
+	 * Update rows presentation.
+	 */
+	protected void updateRowsPresentation() {
+		IGridPresentation<?> presentation = GridEditpart.getGridPresentation(
+				viewContext, cxGrid);
+		if (presentation != null) {
+			if (getModel() instanceof CxGridHeaderRow) {
+				presentation.updateHeader();
+			} else if (getModel() instanceof CxGridFooterRow) {
+				presentation.updateFooter();
+			} else {
+				throw new IllegalArgumentException("Not a supported option!");
+			}
+		}
+	}
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.osbp.ecview.core.common.editpart.emf.ElementEditpart#internalDispose()
+	 */
+	@Override
+	protected void internalDispose() {
+		try {
+			cxGrid = null;
+		} finally {
+			super.internalDispose();
+		}
+	}
+}
diff --git a/org.eclipse.osbp.ecview.extension.grid.editparts.emf/src/org/eclipse/osbp/ecview/extension/grid/editparts/emf/renderer/GridBooleanRendererEditpart.java b/org.eclipse.osbp.ecview.extension.grid.editparts.emf/src/org/eclipse/osbp/ecview/extension/grid/editparts/emf/renderer/GridBooleanRendererEditpart.java
new file mode 100644
index 0000000..e488d91
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.grid.editparts.emf/src/org/eclipse/osbp/ecview/extension/grid/editparts/emf/renderer/GridBooleanRendererEditpart.java
@@ -0,0 +1,35 @@
+/**
+ *                                                                            
+ *  Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany) 
+ *                                                                            
+ *  All rights reserved. This program and the accompanying materials           
+ *  are made available under the terms of the Eclipse Public License v1.0       
+ *  which accompanies this distribution, and is available at                  
+ *  http://www.eclipse.org/legal/epl-v10.html                                 
+ *                                                                            
+ *  Contributors:                                                      
+ * 	   Florian Pirchner - Initial implementation
+ * 
+ */
+package org.eclipse.osbp.ecview.extension.grid.editparts.emf.renderer;
+
+import org.eclipse.osbp.ecview.extension.grid.editparts.renderer.DelegatingGridRendererFactory;
+import org.eclipse.osbp.ecview.extension.grid.editparts.renderer.IGridBooleanRendererEditpart;
+import org.eclipse.osbp.ecview.extension.grid.renderer.CxGridBooleanRenderer;
+
+/**
+ * The Class GridBooleanRendererEditpart.
+ */
+public class GridBooleanRendererEditpart extends
+		GridRendererEditpart<CxGridBooleanRenderer> implements IGridBooleanRendererEditpart {
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.osbp.ecview.extension.grid.editparts.emf.renderer.GridRendererEditpart#internalCreateDelegate()
+	 */
+	@Override
+	protected Object internalCreateDelegate() {
+		return DelegatingGridRendererFactory.getInstance().createRenderer(
+				getViewContext(getModel()), this);
+	}
+
+}
diff --git a/org.eclipse.osbp.ecview.extension.grid.editparts.emf/src/org/eclipse/osbp/ecview/extension/grid/editparts/emf/renderer/GridButtonRendererEditpart.java b/org.eclipse.osbp.ecview.extension.grid.editparts.emf/src/org/eclipse/osbp/ecview/extension/grid/editparts/emf/renderer/GridButtonRendererEditpart.java
new file mode 100644
index 0000000..2b0fb0a
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.grid.editparts.emf/src/org/eclipse/osbp/ecview/extension/grid/editparts/emf/renderer/GridButtonRendererEditpart.java
@@ -0,0 +1,50 @@
+/**
+ *                                                                            
+ *  Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany) 
+ *                                                                            
+ *  All rights reserved. This program and the accompanying materials           
+ *  are made available under the terms of the Eclipse Public License v1.0       
+ *  which accompanies this distribution, and is available at                  
+ *  http://www.eclipse.org/legal/epl-v10.html                                 
+ *                                                                            
+ *  Contributors:                                                      
+ * 	   Florian Pirchner - Initial implementation
+ * 
+ */
+package org.eclipse.osbp.ecview.extension.grid.editparts.emf.renderer;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.osbp.ecview.extension.grid.editparts.renderer.DelegatingGridRendererFactory;
+import org.eclipse.osbp.ecview.extension.grid.editparts.renderer.IGridButtonRendererEditpart;
+import org.eclipse.osbp.ecview.extension.grid.renderer.CxGridDateRenderer;
+import org.eclipse.osbp.ecview.extension.grid.renderer.CxGridRendererPackage;
+
+/**
+ * The Class GridButtonRendererEditpart.
+ */
+public class GridButtonRendererEditpart extends
+		GridRendererEditpart<CxGridDateRenderer> implements IGridButtonRendererEditpart {
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.osbp.ecview.extension.grid.editparts.emf.renderer.GridRendererEditpart#internalCreateDelegate()
+	 */
+	@Override
+	protected Object internalCreateDelegate() {
+		return DelegatingGridRendererFactory.getInstance().createRenderer(
+				getViewContext(getModel()), this);
+	}
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.osbp.ecview.core.common.editpart.emf.ElementEditpart#handleModelSet(int, org.eclipse.emf.common.notify.Notification)
+	 */
+	@Override
+	protected void handleModelSet(int featureId, Notification notification) {
+		switch (featureId) {
+		case CxGridRendererPackage.CX_GRID_BUTTON_RENDERER__NULL_REPRESENTATION:
+			markDirty();
+			break;
+		default:
+			super.handleModelSet(featureId, notification);
+		}
+	}
+}
diff --git a/org.eclipse.osbp.ecview.extension.grid.editparts.emf/src/org/eclipse/osbp/ecview/extension/grid/editparts/emf/renderer/GridDateRendererEditpart.java b/org.eclipse.osbp.ecview.extension.grid.editparts.emf/src/org/eclipse/osbp/ecview/extension/grid/editparts/emf/renderer/GridDateRendererEditpart.java
new file mode 100644
index 0000000..f5a0954
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.grid.editparts.emf/src/org/eclipse/osbp/ecview/extension/grid/editparts/emf/renderer/GridDateRendererEditpart.java
@@ -0,0 +1,50 @@
+/**
+ *                                                                            
+ *  Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany) 
+ *                                                                            
+ *  All rights reserved. This program and the accompanying materials           
+ *  are made available under the terms of the Eclipse Public License v1.0       
+ *  which accompanies this distribution, and is available at                  
+ *  http://www.eclipse.org/legal/epl-v10.html                                 
+ *                                                                            
+ *  Contributors:                                                      
+ * 	   Florian Pirchner - Initial implementation
+ * 
+ */
+package org.eclipse.osbp.ecview.extension.grid.editparts.emf.renderer;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.osbp.ecview.extension.grid.editparts.renderer.DelegatingGridRendererFactory;
+import org.eclipse.osbp.ecview.extension.grid.editparts.renderer.IGridDateRendererEditpart;
+import org.eclipse.osbp.ecview.extension.grid.renderer.CxGridDateRenderer;
+import org.eclipse.osbp.ecview.extension.grid.renderer.CxGridRendererPackage;
+
+/**
+ * The Class GridDateRendererEditpart.
+ */
+public class GridDateRendererEditpart extends
+		GridRendererEditpart<CxGridDateRenderer>  implements IGridDateRendererEditpart {
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.osbp.ecview.extension.grid.editparts.emf.renderer.GridRendererEditpart#internalCreateDelegate()
+	 */
+	@Override
+	protected Object internalCreateDelegate() {
+		return DelegatingGridRendererFactory.getInstance().createRenderer(
+				getViewContext(getModel()), this);
+	}
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.osbp.ecview.core.common.editpart.emf.ElementEditpart#handleModelSet(int, org.eclipse.emf.common.notify.Notification)
+	 */
+	@Override
+	protected void handleModelSet(int featureId, Notification notification) {
+		switch (featureId) {
+		case CxGridRendererPackage.CX_GRID_DATE_RENDERER__DATE_FORMAT:
+			markDirty();
+			break;
+		default:
+			super.handleModelSet(featureId, notification);
+		}
+	}
+}
diff --git a/org.eclipse.osbp.ecview.extension.grid.editparts.emf/src/org/eclipse/osbp/ecview/extension/grid/editparts/emf/renderer/GridDelegateRendererEditpart.java b/org.eclipse.osbp.ecview.extension.grid.editparts.emf/src/org/eclipse/osbp/ecview/extension/grid/editparts/emf/renderer/GridDelegateRendererEditpart.java
new file mode 100644
index 0000000..bcfed6b
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.grid.editparts.emf/src/org/eclipse/osbp/ecview/extension/grid/editparts/emf/renderer/GridDelegateRendererEditpart.java
@@ -0,0 +1,49 @@
+/**
+ *                                                                            
+ *  Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany) 
+ *                                                                            
+ *  All rights reserved. This program and the accompanying materials           
+ *  are made available under the terms of the Eclipse Public License v1.0       
+ *  which accompanies this distribution, and is available at                  
+ *  http://www.eclipse.org/legal/epl-v10.html                                 
+ *                                                                            
+ *  Contributors:                                                      
+ * 	   Florian Pirchner - Initial implementation
+ * 
+ */
+package org.eclipse.osbp.ecview.extension.grid.editparts.emf.renderer;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.osbp.ecview.extension.grid.editparts.renderer.DelegatingGridRendererFactory;
+import org.eclipse.osbp.ecview.extension.grid.renderer.CxGridDelegateRenderer;
+import org.eclipse.osbp.ecview.extension.grid.renderer.CxGridRendererPackage;
+
+/**
+ * The Class GridDelegateRendererEditpart.
+ */
+public class GridDelegateRendererEditpart extends
+		GridRendererEditpart<CxGridDelegateRenderer> {
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.osbp.ecview.extension.grid.editparts.emf.renderer.GridRendererEditpart#internalCreateDelegate()
+	 */
+	@Override
+	protected Object internalCreateDelegate() {
+		return DelegatingGridRendererFactory.getInstance().createRenderer(
+				getViewContext(getModel()), this);
+	}
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.osbp.ecview.core.common.editpart.emf.ElementEditpart#handleModelSet(int, org.eclipse.emf.common.notify.Notification)
+	 */
+	@Override
+	protected void handleModelSet(int featureId, Notification notification) {
+		switch (featureId) {
+		case CxGridRendererPackage.CX_GRID_DELEGATE_RENDERER__DELEGATE_ID:
+			markDirty();
+			break;
+		default:
+			super.handleModelSet(featureId, notification);
+		}
+	}
+}
diff --git a/org.eclipse.osbp.ecview.extension.grid.editparts.emf/src/org/eclipse/osbp/ecview/extension/grid/editparts/emf/renderer/GridHtmlRendererEditpart.java b/org.eclipse.osbp.ecview.extension.grid.editparts.emf/src/org/eclipse/osbp/ecview/extension/grid/editparts/emf/renderer/GridHtmlRendererEditpart.java
new file mode 100644
index 0000000..80b54d6
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.grid.editparts.emf/src/org/eclipse/osbp/ecview/extension/grid/editparts/emf/renderer/GridHtmlRendererEditpart.java
@@ -0,0 +1,50 @@
+/**
+ *                                                                            
+ *  Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany) 
+ *                                                                            
+ *  All rights reserved. This program and the accompanying materials           
+ *  are made available under the terms of the Eclipse Public License v1.0       
+ *  which accompanies this distribution, and is available at                  
+ *  http://www.eclipse.org/legal/epl-v10.html                                 
+ *                                                                            
+ *  Contributors:                                                      
+ * 	   Florian Pirchner - Initial implementation
+ * 
+ */
+package org.eclipse.osbp.ecview.extension.grid.editparts.emf.renderer;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.osbp.ecview.extension.grid.editparts.renderer.DelegatingGridRendererFactory;
+import org.eclipse.osbp.ecview.extension.grid.editparts.renderer.IGridHtmlRendererEditpart;
+import org.eclipse.osbp.ecview.extension.grid.renderer.CxGridHtmlRenderer;
+import org.eclipse.osbp.ecview.extension.grid.renderer.CxGridRendererPackage;
+
+/**
+ * The Class GridHtmlRendererEditpart.
+ */
+public class GridHtmlRendererEditpart extends
+		GridRendererEditpart<CxGridHtmlRenderer>  implements IGridHtmlRendererEditpart {
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.osbp.ecview.extension.grid.editparts.emf.renderer.GridRendererEditpart#internalCreateDelegate()
+	 */
+	@Override
+	protected Object internalCreateDelegate() {
+		return DelegatingGridRendererFactory.getInstance().createRenderer(
+				getViewContext(getModel()), this);
+	}
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.osbp.ecview.core.common.editpart.emf.ElementEditpart#handleModelSet(int, org.eclipse.emf.common.notify.Notification)
+	 */
+	@Override
+	protected void handleModelSet(int featureId, Notification notification) {
+		switch (featureId) {
+		case CxGridRendererPackage.CX_GRID_HTML_RENDERER__NULL_REPRESENTATION:
+			markDirty();
+			break;
+		default:
+			super.handleModelSet(featureId, notification);
+		}
+	}
+}
diff --git a/org.eclipse.osbp.ecview.extension.grid.editparts.emf/src/org/eclipse/osbp/ecview/extension/grid/editparts/emf/renderer/GridImageRendererEditpart.java b/org.eclipse.osbp.ecview.extension.grid.editparts.emf/src/org/eclipse/osbp/ecview/extension/grid/editparts/emf/renderer/GridImageRendererEditpart.java
new file mode 100644
index 0000000..e69fcc5
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.grid.editparts.emf/src/org/eclipse/osbp/ecview/extension/grid/editparts/emf/renderer/GridImageRendererEditpart.java
@@ -0,0 +1,46 @@
+/**
+ *                                                                            
+ *  Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany) 
+ *                                                                            
+ *  All rights reserved. This program and the accompanying materials           
+ *  are made available under the terms of the Eclipse Public License v1.0       
+ *  which accompanies this distribution, and is available at                  
+ *  http://www.eclipse.org/legal/epl-v10.html                                 
+ *                                                                            
+ *  Contributors:                                                      
+ * 	   Florian Pirchner - Initial implementation
+ * 
+ */
+package org.eclipse.osbp.ecview.extension.grid.editparts.emf.renderer;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.osbp.ecview.extension.grid.editparts.renderer.DelegatingGridRendererFactory;
+import org.eclipse.osbp.ecview.extension.grid.editparts.renderer.IGridImageRendererEditpart;
+import org.eclipse.osbp.ecview.extension.grid.renderer.CxGridImageRenderer;
+
+/**
+ * The Class GridImageRendererEditpart.
+ */
+public class GridImageRendererEditpart extends
+		GridRendererEditpart<CxGridImageRenderer>  implements IGridImageRendererEditpart {
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.osbp.ecview.extension.grid.editparts.emf.renderer.GridRendererEditpart#internalCreateDelegate()
+	 */
+	@Override
+	protected Object internalCreateDelegate() {
+		return DelegatingGridRendererFactory.getInstance().createRenderer(
+				getViewContext(getModel()), this);
+	}
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.osbp.ecview.core.common.editpart.emf.ElementEditpart#handleModelSet(int, org.eclipse.emf.common.notify.Notification)
+	 */
+	@Override
+	protected void handleModelSet(int featureId, Notification notification) {
+		switch (featureId) {
+		default:
+			super.handleModelSet(featureId, notification);
+		}
+	}
+}
diff --git a/org.eclipse.osbp.ecview.extension.grid.editparts.emf/src/org/eclipse/osbp/ecview/extension/grid/editparts/emf/renderer/GridIndicatorRendererEditpart.java b/org.eclipse.osbp.ecview.extension.grid.editparts.emf/src/org/eclipse/osbp/ecview/extension/grid/editparts/emf/renderer/GridIndicatorRendererEditpart.java
new file mode 100644
index 0000000..ce493a2
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.grid.editparts.emf/src/org/eclipse/osbp/ecview/extension/grid/editparts/emf/renderer/GridIndicatorRendererEditpart.java
@@ -0,0 +1,35 @@
+/**
+ *                                                                            
+ *  Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany) 
+ *                                                                            
+ *  All rights reserved. This program and the accompanying materials           
+ *  are made available under the terms of the Eclipse Public License v1.0       
+ *  which accompanies this distribution, and is available at                  
+ *  http://www.eclipse.org/legal/epl-v10.html                                 
+ *                                                                            
+ *  Contributors:                                                      
+ * 	   Florian Pirchner - Initial implementation
+ * 
+ */
+package org.eclipse.osbp.ecview.extension.grid.editparts.emf.renderer;
+
+import org.eclipse.osbp.ecview.extension.grid.editparts.renderer.DelegatingGridRendererFactory;
+import org.eclipse.osbp.ecview.extension.grid.editparts.renderer.IGridHtmlRendererEditpart;
+import org.eclipse.osbp.ecview.extension.grid.renderer.CxGridHtmlRenderer;
+
+/**
+ * The Class GridIndicatorRendererEditpart.
+ */
+public class GridIndicatorRendererEditpart extends
+		GridRendererEditpart<CxGridHtmlRenderer> implements
+		IGridHtmlRendererEditpart {
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.osbp.ecview.extension.grid.editparts.emf.renderer.GridRendererEditpart#internalCreateDelegate()
+	 */
+	@Override
+	protected Object internalCreateDelegate() {
+		return DelegatingGridRendererFactory.getInstance().createRenderer(
+				getViewContext(getModel()), this);
+	}
+}
diff --git a/org.eclipse.osbp.ecview.extension.grid.editparts.emf/src/org/eclipse/osbp/ecview/extension/grid/editparts/emf/renderer/GridNumberRendererEditpart.java b/org.eclipse.osbp.ecview.extension.grid.editparts.emf/src/org/eclipse/osbp/ecview/extension/grid/editparts/emf/renderer/GridNumberRendererEditpart.java
new file mode 100644
index 0000000..3016db3
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.grid.editparts.emf/src/org/eclipse/osbp/ecview/extension/grid/editparts/emf/renderer/GridNumberRendererEditpart.java
@@ -0,0 +1,50 @@
+/**
+ *                                                                            
+ *  Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany) 
+ *                                                                            
+ *  All rights reserved. This program and the accompanying materials           
+ *  are made available under the terms of the Eclipse Public License v1.0       
+ *  which accompanies this distribution, and is available at                  
+ *  http://www.eclipse.org/legal/epl-v10.html                                 
+ *                                                                            
+ *  Contributors:                                                      
+ * 	   Florian Pirchner - Initial implementation
+ * 
+ */
+package org.eclipse.osbp.ecview.extension.grid.editparts.emf.renderer;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.osbp.ecview.extension.grid.editparts.renderer.DelegatingGridRendererFactory;
+import org.eclipse.osbp.ecview.extension.grid.editparts.renderer.IGridNumberRendererEditpart;
+import org.eclipse.osbp.ecview.extension.grid.renderer.CxGridNumberRenderer;
+import org.eclipse.osbp.ecview.extension.grid.renderer.CxGridRendererPackage;
+
+/**
+ * The Class GridNumberRendererEditpart.
+ */
+public class GridNumberRendererEditpart extends
+		GridRendererEditpart<CxGridNumberRenderer>  implements IGridNumberRendererEditpart {
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.osbp.ecview.extension.grid.editparts.emf.renderer.GridRendererEditpart#internalCreateDelegate()
+	 */
+	@Override
+	protected Object internalCreateDelegate() {
+		return DelegatingGridRendererFactory.getInstance().createRenderer(
+				getViewContext(getModel()), this);
+	}
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.osbp.ecview.core.common.editpart.emf.ElementEditpart#handleModelSet(int, org.eclipse.emf.common.notify.Notification)
+	 */
+	@Override
+	protected void handleModelSet(int featureId, Notification notification) {
+		switch (featureId) {
+		case CxGridRendererPackage.CX_GRID_NUMBER_RENDERER__NUMBER_FORMAT:
+			markDirty();
+			break;
+		default:
+			super.handleModelSet(featureId, notification);
+		}
+	}
+}
diff --git a/org.eclipse.osbp.ecview.extension.grid.editparts.emf/src/org/eclipse/osbp/ecview/extension/grid/editparts/emf/renderer/GridPriceRendererEditpart.java b/org.eclipse.osbp.ecview.extension.grid.editparts.emf/src/org/eclipse/osbp/ecview/extension/grid/editparts/emf/renderer/GridPriceRendererEditpart.java
new file mode 100644
index 0000000..49fb829
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.grid.editparts.emf/src/org/eclipse/osbp/ecview/extension/grid/editparts/emf/renderer/GridPriceRendererEditpart.java
@@ -0,0 +1,52 @@
+/**
+ *                                                                            
+ *  Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany) 
+ *                                                                            
+ *  All rights reserved. This program and the accompanying materials           
+ *  are made available under the terms of the Eclipse Public License v1.0       
+ *  which accompanies this distribution, and is available at                  
+ *  http://www.eclipse.org/legal/epl-v10.html                                 
+ *                                                                            
+ *  Contributors:                                                      
+ * 	   Florian Pirchner - Initial implementation
+ * 
+ */
+package org.eclipse.osbp.ecview.extension.grid.editparts.emf.renderer;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.osbp.ecview.extension.grid.editparts.renderer.DelegatingGridRendererFactory;
+import org.eclipse.osbp.ecview.extension.grid.editparts.renderer.IGridPriceRendererEditpart;
+import org.eclipse.osbp.ecview.extension.grid.renderer.CxGridPriceRenderer;
+import org.eclipse.osbp.ecview.extension.grid.renderer.CxGridRendererPackage;
+
+/**
+ * The Class GridPriceRendererEditpart.
+ */
+public class GridPriceRendererEditpart extends
+		GridRendererEditpart<CxGridPriceRenderer>  implements IGridPriceRendererEditpart {
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.osbp.ecview.extension.grid.editparts.emf.renderer.GridRendererEditpart#internalCreateDelegate()
+	 */
+	@Override
+	protected Object internalCreateDelegate() {
+		return DelegatingGridRendererFactory.getInstance().createRenderer(
+				getViewContext(getModel()), this);
+	}
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.osbp.ecview.core.common.editpart.emf.ElementEditpart#handleModelSet(int, org.eclipse.emf.common.notify.Notification)
+	 */
+	@Override
+	protected void handleModelSet(int featureId, Notification notification) {
+		switch (featureId) {
+		case CxGridRendererPackage.CX_GRID_PRICE_RENDERER__NULL_REPRESENTATION:
+		case CxGridRendererPackage.CX_GRID_PRICE_RENDERER__VALUE_PROPERTY_PATH:
+		case CxGridRendererPackage.CX_GRID_PRICE_RENDERER__CURRENCY_PROPERTY_PATH:
+			markDirty();
+			break;
+		default:
+			super.handleModelSet(featureId, notification);
+		}
+	}
+}
diff --git a/org.eclipse.osbp.ecview.extension.grid.editparts.emf/src/org/eclipse/osbp/ecview/extension/grid/editparts/emf/renderer/GridProgressbarRendererEditpart.java b/org.eclipse.osbp.ecview.extension.grid.editparts.emf/src/org/eclipse/osbp/ecview/extension/grid/editparts/emf/renderer/GridProgressbarRendererEditpart.java
new file mode 100644
index 0000000..e78f6cb
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.grid.editparts.emf/src/org/eclipse/osbp/ecview/extension/grid/editparts/emf/renderer/GridProgressbarRendererEditpart.java
@@ -0,0 +1,34 @@
+/**
+ *                                                                            
+ *  Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany) 
+ *                                                                            
+ *  All rights reserved. This program and the accompanying materials           
+ *  are made available under the terms of the Eclipse Public License v1.0       
+ *  which accompanies this distribution, and is available at                  
+ *  http://www.eclipse.org/legal/epl-v10.html                                 
+ *                                                                            
+ *  Contributors:                                                      
+ * 	   Florian Pirchner - Initial implementation
+ * 
+ */
+package org.eclipse.osbp.ecview.extension.grid.editparts.emf.renderer;
+
+import org.eclipse.osbp.ecview.extension.grid.editparts.renderer.DelegatingGridRendererFactory;
+import org.eclipse.osbp.ecview.extension.grid.editparts.renderer.IGridProgressbarRendererEditpart;
+import org.eclipse.osbp.ecview.extension.grid.renderer.CxGridProgressBarRenderer;
+
+/**
+ * The Class GridProgressbarRendererEditpart.
+ */
+public class GridProgressbarRendererEditpart extends
+		GridRendererEditpart<CxGridProgressBarRenderer>  implements IGridProgressbarRendererEditpart {
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.osbp.ecview.extension.grid.editparts.emf.renderer.GridRendererEditpart#internalCreateDelegate()
+	 */
+	@Override
+	protected Object internalCreateDelegate() {
+		return DelegatingGridRendererFactory.getInstance().createRenderer(
+				getViewContext(getModel()), this);
+	}
+}
diff --git a/org.eclipse.osbp.ecview.extension.grid.editparts.emf/src/org/eclipse/osbp/ecview/extension/grid/editparts/emf/renderer/GridQuantityRendererEditpart.java b/org.eclipse.osbp.ecview.extension.grid.editparts.emf/src/org/eclipse/osbp/ecview/extension/grid/editparts/emf/renderer/GridQuantityRendererEditpart.java
new file mode 100644
index 0000000..63b8245
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.grid.editparts.emf/src/org/eclipse/osbp/ecview/extension/grid/editparts/emf/renderer/GridQuantityRendererEditpart.java
@@ -0,0 +1,52 @@
+/**
+ *                                                                            
+ *  Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany) 
+ *                                                                            
+ *  All rights reserved. This program and the accompanying materials           
+ *  are made available under the terms of the Eclipse Public License v1.0       
+ *  which accompanies this distribution, and is available at                  
+ *  http://www.eclipse.org/legal/epl-v10.html                                 
+ *                                                                            
+ *  Contributors:                                                      
+ * 	   Florian Pirchner - Initial implementation
+ * 
+ */
+package org.eclipse.osbp.ecview.extension.grid.editparts.emf.renderer;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.osbp.ecview.extension.grid.editparts.renderer.DelegatingGridRendererFactory;
+import org.eclipse.osbp.ecview.extension.grid.editparts.renderer.IGridQuantityRendererEditpart;
+import org.eclipse.osbp.ecview.extension.grid.renderer.CxGridQuantityRenderer;
+import org.eclipse.osbp.ecview.extension.grid.renderer.CxGridRendererPackage;
+
+/**
+ * The Class GridQuantityRendererEditpart.
+ */
+public class GridQuantityRendererEditpart extends
+		GridRendererEditpart<CxGridQuantityRenderer>  implements IGridQuantityRendererEditpart {
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.osbp.ecview.extension.grid.editparts.emf.renderer.GridRendererEditpart#internalCreateDelegate()
+	 */
+	@Override
+	protected Object internalCreateDelegate() {
+		return DelegatingGridRendererFactory.getInstance().createRenderer(
+				getViewContext(getModel()), this);
+	}
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.osbp.ecview.core.common.editpart.emf.ElementEditpart#handleModelSet(int, org.eclipse.emf.common.notify.Notification)
+	 */
+	@Override
+	protected void handleModelSet(int featureId, Notification notification) {
+		switch (featureId) {
+		case CxGridRendererPackage.CX_GRID_QUANTITY_RENDERER__NULL_REPRESENTATION:
+		case CxGridRendererPackage.CX_GRID_QUANTITY_RENDERER__VALUE_PROPERTY_PATH:
+		case CxGridRendererPackage.CX_GRID_QUANTITY_RENDERER__UOM_PROPERTY_PATH:
+			markDirty();
+			break;
+		default:
+			super.handleModelSet(featureId, notification);
+		}
+	}
+}
diff --git a/org.eclipse.osbp.ecview.extension.grid.editparts.emf/src/org/eclipse/osbp/ecview/extension/grid/editparts/emf/renderer/GridRendererEditpart.java b/org.eclipse.osbp.ecview.extension.grid.editparts.emf/src/org/eclipse/osbp/ecview/extension/grid/editparts/emf/renderer/GridRendererEditpart.java
new file mode 100644
index 0000000..5e10f67
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.grid.editparts.emf/src/org/eclipse/osbp/ecview/extension/grid/editparts/emf/renderer/GridRendererEditpart.java
@@ -0,0 +1,60 @@
+/**
+ * Copyright (c) 2011, 2015 - Lunifera GmbH (Gross Enzersdorf, Austria), Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *         Florian Pirchner - Initial implementation
+ */
+package org.eclipse.osbp.ecview.extension.grid.editparts.emf.renderer;
+
+import org.eclipse.osbp.ecview.core.common.editpart.IElementEditpart;
+import org.eclipse.osbp.ecview.core.common.editpart.emf.ElementEditpart;
+import org.eclipse.osbp.ecview.core.common.model.core.YElement;
+import org.eclipse.osbp.ecview.extension.grid.editparts.renderer.IGridRendererEditpart;
+import org.eclipse.osbp.ecview.extension.grid.editparts.renderer.IGridRendererRefreshHandler;
+import org.eclipse.osbp.ecview.extension.grid.renderer.CxGridRenderer;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * The implementation of the IOpenDialogCommandEditpart.
+ */
+public abstract class GridRendererEditpart<M extends CxGridRenderer> extends
+		ElementEditpart<M> implements IGridRendererEditpart {
+
+	private static final Logger LOGGER = LoggerFactory
+			.getLogger(GridRendererEditpart.class);
+
+	@Override
+	public Object createDelegate() {
+		return internalCreateDelegate();
+	}
+
+	/**
+	 * Tells its container, that the renderer needs to become refreshed.
+	 */
+	protected void notifyRefreshHandler() {
+		CxGridRenderer cxRenderer = getModel();
+		YElement container = (YElement) cxRenderer.eContainer();
+		IElementEditpart containerEp = getEditpart(viewContext, container);
+		if (containerEp instanceof IGridRendererRefreshHandler) {
+			((IGridRendererRefreshHandler) containerEp).refreshRenderer();
+		}
+	}
+
+	/**
+	 * Resets the delegate and notifies the parent. So it will be instantiated
+	 * again at next request.
+	 */
+	protected void markDirty() {
+		LOGGER.debug("Renderer is marked as dirty: " + getModel());
+
+		notifyRefreshHandler();
+	}
+
+	protected abstract Object internalCreateDelegate();
+
+}
diff --git a/org.eclipse.osbp.ecview.extension.grid.editparts.emf/src/org/eclipse/osbp/ecview/extension/grid/editparts/emf/renderer/GridTextRendererEditpart.java b/org.eclipse.osbp.ecview.extension.grid.editparts.emf/src/org/eclipse/osbp/ecview/extension/grid/editparts/emf/renderer/GridTextRendererEditpart.java
new file mode 100644
index 0000000..c7f288e
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.grid.editparts.emf/src/org/eclipse/osbp/ecview/extension/grid/editparts/emf/renderer/GridTextRendererEditpart.java
@@ -0,0 +1,35 @@
+/**
+ *                                                                            
+ *  Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany) 
+ *                                                                            
+ *  All rights reserved. This program and the accompanying materials           
+ *  are made available under the terms of the Eclipse Public License v1.0       
+ *  which accompanies this distribution, and is available at                  
+ *  http://www.eclipse.org/legal/epl-v10.html                                 
+ *                                                                            
+ *  Contributors:                                                      
+ * 	   Florian Pirchner - Initial implementation
+ * 
+ */
+package org.eclipse.osbp.ecview.extension.grid.editparts.emf.renderer;
+
+import org.eclipse.osbp.ecview.extension.grid.editparts.renderer.DelegatingGridRendererFactory;
+import org.eclipse.osbp.ecview.extension.grid.editparts.renderer.IGridTextRendererEditpart;
+import org.eclipse.osbp.ecview.extension.grid.renderer.CxGridTextRenderer;
+
+/**
+ * The Class GridTextRendererEditpart.
+ */
+public class GridTextRendererEditpart extends
+		GridRendererEditpart<CxGridTextRenderer>  implements IGridTextRendererEditpart {
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.osbp.ecview.extension.grid.editparts.emf.renderer.GridRendererEditpart#internalCreateDelegate()
+	 */
+	@Override
+	protected Object internalCreateDelegate() {
+		return DelegatingGridRendererFactory.getInstance().createRenderer(
+				getViewContext(getModel()), this);
+	}
+
+}
diff --git a/org.eclipse.osbp.ecview.extension.grid.model.editor/.project b/org.eclipse.osbp.ecview.extension.grid.model.editor/.project
new file mode 100644
index 0000000..9f4ae96
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.grid.model.editor/.project
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.osbp.ecview.extension.grid.model.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>org.eclipse.babel.editor.rbeBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.babel.editor.rbeNature</nature>
+	</natures>
+</projectDescription>
diff --git a/org.eclipse.osbp.ecview.extension.grid.model.editor/META-INF/MANIFEST.MF b/org.eclipse.osbp.ecview.extension.grid.model.editor/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..3ae5058
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.grid.model.editor/META-INF/MANIFEST.MF
@@ -0,0 +1,22 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %pluginName
+Bundle-SymbolicName: org.eclipse.osbp.ecview.extension.grid.model.editor;singleton:=true
+Bundle-Version: 1.0.0.qualifier
+Bundle-ClassPath: .
+Bundle-Activator: org.eclipse.osbp.ecview.extension.grid.presentation.cxecviewEditorPlugin$Implementation
+Bundle-Vendor: Eclipse OSBP
+Bundle-Localization: plugin
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Export-Package: org.eclipse.osbp.ecview.extension.grid.memento.presentation,
+ org.eclipse.osbp.ecview.extension.grid.presentation,
+ org.eclipse.osbp.ecview.extension.grid.renderer.presentation
+Require-Bundle: org.eclipse.core.runtime,
+ org.eclipse.core.resources;visibility:=reexport,
+ org.eclipse.osbp.ecview.extension.grid.model.edit;visibility:=reexport,
+ org.eclipse.emf.ecore.xmi;visibility:=reexport,
+ org.eclipse.emf.edit.ui;visibility:=reexport,
+ org.eclipse.ui.ide;visibility:=reexport,
+ org.eclipse.osbp.ecview.core.common.model.edit;visibility:=reexport,
+ org.eclipse.osbp.ecview.core.extension.model.edit;visibility:=reexport
+Bundle-ActivationPolicy: lazy
diff --git a/org.eclipse.osbp.ecview.extension.grid.model.editor/about.html b/org.eclipse.osbp.ecview.extension.grid.model.editor/about.html
new file mode 100644
index 0000000..64c0598
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.grid.model.editor/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 1, 2016</p>	
+<h3>License</h3>
+
+<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 (&quot;EPL&quot;).  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, &quot;Program&quot; 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 (&quot;Redistributor&quot;) 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>
\ No newline at end of file
diff --git a/org.eclipse.osbp.ecview.extension.grid.model.editor/build.properties b/org.eclipse.osbp.ecview.extension.grid.model.editor/build.properties
new file mode 100644
index 0000000..95711fa
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.grid.model.editor/build.properties
@@ -0,0 +1,13 @@
+# All rights reserved by Loetz GmbH&Co.KG Heidelberg 2015.
+# 
+# Contributors:
+#       Florian Pirchner - initial API and implementation
+
+bin.includes = .,\
+               icons/,\
+               META-INF/,\
+               plugin.xml,\
+               plugin.properties
+jars.compile.order = .
+source.. = src/
+output.. = bin
diff --git a/org.eclipse.osbp.ecview.extension.grid.model.editor/icons/full/obj16/CxGridMementoModelFile.gif b/org.eclipse.osbp.ecview.extension.grid.model.editor/icons/full/obj16/CxGridMementoModelFile.gif
new file mode 100644
index 0000000..9d55bb2
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.grid.model.editor/icons/full/obj16/CxGridMementoModelFile.gif
Binary files differ
diff --git a/org.eclipse.osbp.ecview.extension.grid.model.editor/icons/full/obj16/CxGridModelFile.gif b/org.eclipse.osbp.ecview.extension.grid.model.editor/icons/full/obj16/CxGridModelFile.gif
new file mode 100644
index 0000000..682f807
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.grid.model.editor/icons/full/obj16/CxGridModelFile.gif
Binary files differ
diff --git a/org.eclipse.osbp.ecview.extension.grid.model.editor/icons/full/obj16/CxGridRendererModelFile.gif b/org.eclipse.osbp.ecview.extension.grid.model.editor/icons/full/obj16/CxGridRendererModelFile.gif
new file mode 100644
index 0000000..b251792
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.grid.model.editor/icons/full/obj16/CxGridRendererModelFile.gif
Binary files differ
diff --git a/org.eclipse.osbp.ecview.extension.grid.model.editor/icons/full/wizban/NewCxGrid.gif b/org.eclipse.osbp.ecview.extension.grid.model.editor/icons/full/wizban/NewCxGrid.gif
new file mode 100644
index 0000000..11a2240
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.grid.model.editor/icons/full/wizban/NewCxGrid.gif
Binary files differ
diff --git a/org.eclipse.osbp.ecview.extension.grid.model.editor/icons/full/wizban/NewCxGridMemento.gif b/org.eclipse.osbp.ecview.extension.grid.model.editor/icons/full/wizban/NewCxGridMemento.gif
new file mode 100644
index 0000000..dcf7f89
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.grid.model.editor/icons/full/wizban/NewCxGridMemento.gif
Binary files differ
diff --git a/org.eclipse.osbp.ecview.extension.grid.model.editor/icons/full/wizban/NewCxGridRenderer.gif b/org.eclipse.osbp.ecview.extension.grid.model.editor/icons/full/wizban/NewCxGridRenderer.gif
new file mode 100644
index 0000000..97fd1e1
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.grid.model.editor/icons/full/wizban/NewCxGridRenderer.gif
Binary files differ
diff --git a/org.eclipse.osbp.ecview.extension.grid.model.editor/notice.html b/org.eclipse.osbp.ecview.extension.grid.model.editor/notice.html
new file mode 100644
index 0000000..c3d34c3
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.grid.model.editor/notice.html
@@ -0,0 +1,107 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<!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>Eclipse Foundation Software User Agreement</title>
+</head>
+
+<body lang="EN-US">
+<h2>Eclipse Foundation Software User Agreement</h2>
+<p>April 9, 2014</p>
+
+<h3>Usage Of Content</h3>
+
+<p>THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS
+   (COLLECTIVELY &quot;CONTENT&quot;).  USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND
+   CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU AGREE THAT YOUR USE
+   OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR
+   NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND
+   CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.</p>
+
+<h3>Applicable Licenses</h3>
+
+<p>Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0
+   (&quot;EPL&quot;).  A copy of the EPL is provided with this Content and is also 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, &quot;Program&quot; will mean the Content.</p>
+
+<p>Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse Foundation source code
+   repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available as downloadable archives (&quot;Downloads&quot;).</p>
+
+<ul>
+       <li>Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content.  Typical modules may include plug-ins (&quot;Plug-ins&quot;), plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).</li>
+       <li>Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java&trade; ARchive) in a directory named &quot;plugins&quot;.</li>
+       <li>A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of the Plug-ins
+      and/or Fragments associated with that Feature.</li>
+       <li>Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.</li>
+</ul>
+
+<p>The terms and conditions governing Plug-ins and Fragments should be contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and conditions governing Features and
+Included Features should be contained in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;).  Abouts and Feature Licenses may be located in any directory of a Download or Module
+including, but not limited to the following locations:</p>
+
+<ul>
+       <li>The top-level (root) directory</li>
+       <li>Plug-in and Fragment directories</li>
+       <li>Inside Plug-ins and Fragments packaged as JARs</li>
+       <li>Sub-directories of the directory named &quot;src&quot; of certain Plug-ins</li>
+       <li>Feature directories</li>
+</ul>
+
+<p>Note: if a Feature made available by the Eclipse Foundation is installed using the Provisioning Technology (as defined below), you must agree to a license (&quot;Feature Update License&quot;) during the
+installation process.  If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or
+inform you where you can locate them.  Feature Update Licenses may be found in the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.
+Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in
+that directory.</p>
+
+<p>THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.  SOME OF THESE
+OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):</p>
+
+<ul>
+       <li>Eclipse Distribution License Version 1.0 (available at <a href="http://www.eclipse.org/licenses/edl-v10.html">http://www.eclipse.org/licenses/edl-v1.0.html</a>)</li>
+       <li>Common Public License Version 1.0 (available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>)</li>
+       <li>Apache Software License 1.1 (available at <a href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</a>)</li>
+       <li>Apache Software License 2.0 (available at <a href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</a>)</li>
+       <li>Mozilla Public License Version 1.1 (available at <a href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a>)</li>
+</ul>
+
+<p>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT.  If no About, Feature License, or Feature Update License is provided, please
+contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.</p>
+
+
+<h3>Use of Provisioning Technology</h3>
+
+<p>The Eclipse Foundation makes available provisioning software, examples of which include, but are not limited to, p2 and the Eclipse
+   Update Manager (&quot;Provisioning Technology&quot;) for the purpose of allowing users to install software, documentation, information and/or
+   other materials (collectively &quot;Installable Software&quot;). This capability is provided with the intent of allowing such users to
+   install, extend and update Eclipse-based products. Information about packaging Installable Software is available at <a
+       href="http://eclipse.org/equinox/p2/repository_packaging.html">http://eclipse.org/equinox/p2/repository_packaging.html</a>
+   (&quot;Specification&quot;).</p>
+
+<p>You may use Provisioning Technology to allow other parties to install Installable Software. You shall be responsible for enabling the
+   applicable license agreements relating to the Installable Software to be presented to, and accepted by, the users of the Provisioning Technology
+   in accordance with the Specification. By using Provisioning Technology in such a manner and making it available in accordance with the
+   Specification, you further acknowledge your agreement to, and the acquisition of all necessary rights to permit the following:</p>
+
+<ol>
+       <li>A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute the Provisioning Technology
+       on a machine (&quot;Target Machine&quot;) with the intent of installing, extending or updating the functionality of an Eclipse-based
+       product.</li>
+       <li>During the Provisioning Process, the Provisioning Technology may cause third party Installable Software or a portion thereof to be
+       accessed and copied to the Target Machine.</li>
+       <li>Pursuant to the Specification, you will provide to the user the terms and conditions that govern the use of the Installable
+       Software (&quot;Installable Software Agreement&quot;) and such Installable Software Agreement shall be accessed from the Target
+       Machine in accordance with the Specification. Such Installable Software Agreement must inform the user of the terms and conditions that govern
+       the Installable Software and must solicit acceptance by the end user in the manner prescribed in such Installable Software Agreement. Upon such
+       indication of agreement by the user, the provisioning Technology will complete installation of the Installable Software.</li>
+</ol>
+
+<h3>Cryptography</h3>
+
+<p>Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to
+   another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import,
+   possession, or use, and re-export of encryption software, to see if this is permitted.</p>
+
+<p><small>Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.</small></p>
+</body>
+</html>
diff --git a/org.eclipse.osbp.ecview.extension.grid.model.editor/plugin.properties b/org.eclipse.osbp.ecview.extension.grid.model.editor/plugin.properties
new file mode 100644
index 0000000..bbbde95
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.grid.model.editor/plugin.properties
@@ -0,0 +1,81 @@
+#                                                                           
+#  Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany) 
+#                                                                            
+#  All rights reserved. This program and the accompanying materials           
+#  are made available under the terms of the Eclipse Public License v1.0       
+#  which accompanies this distribution, and is available at                  
+#  http://www.eclipse.org/legal/epl-v10.html                                 
+#                                                                            
+#  Contributors:                                                      
+# 	   Florian Pirchner - Initial implementation
+#
+
+pluginName = CxGrid Editor
+providerName = www.example.org
+
+_UI_CxGridEditor_menu = &CxGrid Editor
+_UI_CxGridRendererEditor_menu = &CxGridRenderer Editor
+_UI_CxGridMementoEditor_menu = &CxGridMemento Editor
+
+_UI_CreateChild_menu_item = &New Child
+_UI_CreateSibling_menu_item = N&ew Sibling
+
+_UI_ShowPropertiesView_menu_item = Show &Properties View
+_UI_RefreshViewer_menu_item = &Refresh
+
+_UI_SelectionPage_label = Selection
+_UI_ParentPage_label = Parent
+_UI_ListPage_label = List
+_UI_TreePage_label = Tree
+_UI_TablePage_label = Table
+_UI_TreeWithColumnsPage_label = Tree with Columns
+_UI_ObjectColumn_label = Object
+_UI_SelfColumn_label = Self
+
+_UI_NoObjectSelected = Selected Nothing
+_UI_SingleObjectSelected = Selected Object: {0}
+_UI_MultiObjectSelected = Selected {0} Objects
+
+_UI_OpenEditorError_label = Open Editor
+
+_UI_Wizard_category = Example EMF Model Creation Wizards
+
+_UI_CreateModelError_message = Problems encountered in file "{0}"
+
+_UI_CxGridModelWizard_label = CxGrid Model
+_UI_CxGridModelWizard_description = Create a new CxGrid model
+
+_UI_CxGridEditor_label = CxGrid Model Editor
+
+_UI_CxGridEditorFilenameDefaultBase = My
+_UI_CxGridEditorFilenameExtensions = cxgrid
+
+_UI_CxGridRendererModelWizard_label = CxGridRenderer Model
+_UI_CxGridRendererModelWizard_description = Create a new CxGridRenderer model
+
+_UI_CxGridRendererEditor_label = CxGridRenderer Model Editor
+
+_UI_CxGridRendererEditorFilenameDefaultBase = My
+_UI_CxGridRendererEditorFilenameExtensions = cxgridrenderer
+
+_UI_CxGridMementoModelWizard_label = CxGridMemento Model
+_UI_CxGridMementoModelWizard_description = Create a new CxGridMemento model
+
+_UI_CxGridMementoEditor_label = CxGridMemento Model Editor
+
+_UI_CxGridMementoEditorFilenameDefaultBase = My
+_UI_CxGridMementoEditorFilenameExtensions = cxgridmemento
+
+_UI_Wizard_label = New
+
+_WARN_FilenameExtension = The file name must end in ''.{0}''
+_WARN_FilenameExtensions = The file name must have one of the following extensions: {0}
+
+_UI_ModelObject = &Model Object
+_UI_XMLEncoding = &XML Encoding
+_UI_XMLEncodingChoices = UTF-8 ASCII UTF-16 UTF-16BE UTF-16LE ISO-8859-1
+_UI_Wizard_initial_object_description = Select a model object to create
+
+_UI_FileConflict_label = File Conflict
+_WARN_FileConflict = There are unsaved changes that conflict with changes made outside the editor.  Do you wish to discard this editor's changes?
+
diff --git a/org.eclipse.osbp.ecview.extension.grid.model.editor/plugin.xml b/org.eclipse.osbp.ecview.extension.grid.model.editor/plugin.xml
new file mode 100644
index 0000000..4266f77
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.grid.model.editor/plugin.xml
@@ -0,0 +1,104 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+
+<!--
+#                                                                           
+#  Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany) 
+#                                                                            
+#  All rights reserved. This program and the accompanying materials           
+#  are made available under the terms of the Eclipse Public License v1.0       
+#  which accompanies this distribution, and is available at                  
+#  http://www.eclipse.org/legal/epl-v10.html                                 
+#                                                                            
+#  Contributors:                                                      
+# 	   Florian Pirchner - Initial implementation
+#
+-->
+
+<plugin>
+
+   <extension point="org.eclipse.ui.newWizards">
+      <!-- @generated cxgrid -->
+      <category
+            id="org.eclipse.emf.ecore.Wizard.category.ID"
+            name="%_UI_Wizard_category"/>
+      <wizard
+            id="org.eclipse.osbp.ecview.extension.grid.presentation.CxGridModelWizardID"
+            name="%_UI_CxGridModelWizard_label"
+            class="org.eclipse.osbp.ecview.extension.grid.presentation.CxGridModelWizard"
+            category="org.eclipse.emf.ecore.Wizard.category.ID"
+            icon="icons/full/obj16/CxGridModelFile.gif">
+         <description>%_UI_CxGridModelWizard_description</description>
+         <selection class="org.eclipse.core.resources.IResource"/>
+      </wizard>
+   </extension>
+
+   <extension point="org.eclipse.ui.editors">
+      <!-- @generated cxgrid -->
+      <editor
+            id="org.eclipse.osbp.ecview.extension.grid.presentation.CxGridEditorID"
+            name="%_UI_CxGridEditor_label"
+            icon="icons/full/obj16/CxGridModelFile.gif"
+            extensions="cxgrid"
+            class="org.eclipse.osbp.ecview.extension.grid.presentation.CxGridEditor"
+            contributorClass="org.eclipse.osbp.ecview.extension.grid.presentation.CxGridActionBarContributor">
+      </editor>
+   </extension>
+
+   <extension point="org.eclipse.ui.newWizards">
+      <!-- @generated cxgrid -->
+      <category
+            id="org.eclipse.emf.ecore.Wizard.category.ID"
+            name="%_UI_Wizard_category"/>
+      <wizard
+            id="org.eclipse.osbp.ecview.extension.grid.renderer.presentation.CxGridRendererModelWizardID"
+            name="%_UI_CxGridRendererModelWizard_label"
+            class="org.eclipse.osbp.ecview.extension.grid.renderer.presentation.CxGridRendererModelWizard"
+            category="org.eclipse.emf.ecore.Wizard.category.ID"
+            icon="icons/full/obj16/CxGridRendererModelFile.gif">
+         <description>%_UI_CxGridRendererModelWizard_description</description>
+         <selection class="org.eclipse.core.resources.IResource"/>
+      </wizard>
+   </extension>
+
+   <extension point="org.eclipse.ui.editors">
+      <!-- @generated cxgrid -->
+      <editor
+            id="org.eclipse.osbp.ecview.extension.grid.renderer.presentation.CxGridRendererEditorID"
+            name="%_UI_CxGridRendererEditor_label"
+            icon="icons/full/obj16/CxGridRendererModelFile.gif"
+            extensions="cxgridrenderer"
+            class="org.eclipse.osbp.ecview.extension.grid.renderer.presentation.CxGridRendererEditor"
+            contributorClass="org.eclipse.osbp.ecview.extension.grid.renderer.presentation.CxGridRendererActionBarContributor">
+      </editor>
+   </extension>
+
+   <extension point="org.eclipse.ui.newWizards">
+      <!-- @generated cxgrid -->
+      <category
+            id="org.eclipse.emf.ecore.Wizard.category.ID"
+            name="%_UI_Wizard_category"/>
+      <wizard
+            id="org.eclipse.osbp.ecview.extension.grid.memento.presentation.CxGridMementoModelWizardID"
+            name="%_UI_CxGridMementoModelWizard_label"
+            class="org.eclipse.osbp.ecview.extension.grid.memento.presentation.CxGridMementoModelWizard"
+            category="org.eclipse.emf.ecore.Wizard.category.ID"
+            icon="icons/full/obj16/CxGridMementoModelFile.gif">
+         <description>%_UI_CxGridMementoModelWizard_description</description>
+         <selection class="org.eclipse.core.resources.IResource"/>
+      </wizard>
+   </extension>
+
+   <extension point="org.eclipse.ui.editors">
+      <!-- @generated cxgrid -->
+      <editor
+            id="org.eclipse.osbp.ecview.extension.grid.memento.presentation.CxGridMementoEditorID"
+            name="%_UI_CxGridMementoEditor_label"
+            icon="icons/full/obj16/CxGridMementoModelFile.gif"
+            extensions="cxgridmemento"
+            class="org.eclipse.osbp.ecview.extension.grid.memento.presentation.CxGridMementoEditor"
+            contributorClass="org.eclipse.osbp.ecview.extension.grid.memento.presentation.CxGridMementoActionBarContributor">
+      </editor>
+   </extension>
+
+</plugin>
diff --git a/org.eclipse.osbp.ecview.extension.grid.model.editor/src/org/eclipse/osbp/ecview/extension/grid/memento/presentation/CxGridMementoActionBarContributor.java b/org.eclipse.osbp.ecview.extension.grid.model.editor/src/org/eclipse/osbp/ecview/extension/grid/memento/presentation/CxGridMementoActionBarContributor.java
new file mode 100644
index 0000000..8c0f7d9
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.grid.model.editor/src/org/eclipse/osbp/ecview/extension/grid/memento/presentation/CxGridMementoActionBarContributor.java
@@ -0,0 +1,443 @@
+/**
+ *                                                                            
+ *  Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany) 
+ *                                                                            
+ *  All rights reserved. This program and the accompanying materials           
+ *  are made available under the terms of the Eclipse Public License v1.0       
+ *  which accompanies this distribution, and is available at                  
+ *  http://www.eclipse.org/legal/epl-v10.html                                 
+ *                                                                            
+ *  Contributors:                                                      
+ * 	   Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
+ * 
+ */
+ package org.eclipse.osbp.ecview.extension.grid.memento.presentation;
+
+import java.util.ArrayList;
+import java.util.Collection;
+
+import org.eclipse.emf.common.ui.viewer.IViewerProvider;
+
+import org.eclipse.emf.edit.domain.EditingDomain;
+import org.eclipse.emf.edit.domain.IEditingDomainProvider;
+
+import org.eclipse.emf.edit.ui.action.ControlAction;
+import org.eclipse.emf.edit.ui.action.CreateChildAction;
+import org.eclipse.emf.edit.ui.action.CreateSiblingAction;
+import org.eclipse.emf.edit.ui.action.EditingDomainActionBarContributor;
+import org.eclipse.emf.edit.ui.action.LoadResourceAction;
+import org.eclipse.emf.edit.ui.action.ValidateAction;
+
+import org.eclipse.jface.action.Action;
+import org.eclipse.jface.action.ActionContributionItem;
+import org.eclipse.jface.action.IAction;
+import org.eclipse.jface.action.IContributionItem;
+import org.eclipse.jface.action.IContributionManager;
+import org.eclipse.jface.action.IMenuListener;
+import org.eclipse.jface.action.IMenuManager;
+import org.eclipse.jface.action.IToolBarManager;
+import org.eclipse.jface.action.MenuManager;
+import org.eclipse.jface.action.Separator;
+import org.eclipse.jface.action.SubContributionItem;
+
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.ISelectionChangedListener;
+import org.eclipse.jface.viewers.ISelectionProvider;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.viewers.SelectionChangedEvent;
+import org.eclipse.jface.viewers.Viewer;
+
+import org.eclipse.osbp.ecview.extension.grid.presentation.cxecviewEditorPlugin;
+
+import org.eclipse.ui.IEditorPart;
+import org.eclipse.ui.PartInitException;
+
+/**
+ * This is the action bar contributor for the CxGridMemento model editor.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class CxGridMementoActionBarContributor
+	extends EditingDomainActionBarContributor
+	implements ISelectionChangedListener {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final String copyright = "All rights reserved by Loetz GmbH&Co.KG Heidelberg 2015.\n\nContributors:\n      Florian Pirchner - initial API and implementation";
+
+	/**
+	 * This keeps track of the active editor.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected IEditorPart activeEditorPart;
+
+	/**
+	 * This keeps track of the current selection provider.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ISelectionProvider selectionProvider;
+
+	/**
+	 * This action opens the Properties view.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected IAction showPropertiesViewAction =
+		new Action(cxecviewEditorPlugin.INSTANCE.getString("_UI_ShowPropertiesView_menu_item")) {
+			@Override
+			public void run() {
+				try {
+					getPage().showView("org.eclipse.ui.views.PropertySheet");
+				}
+				catch (PartInitException exception) {
+					cxecviewEditorPlugin.INSTANCE.log(exception);
+				}
+			}
+		};
+
+	/**
+	 * This action refreshes the viewer of the current editor if the editor
+	 * implements {@link org.eclipse.emf.common.ui.viewer.IViewerProvider}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected IAction refreshViewerAction =
+		new Action(cxecviewEditorPlugin.INSTANCE.getString("_UI_RefreshViewer_menu_item")) {
+			@Override
+			public boolean isEnabled() {
+				return activeEditorPart instanceof IViewerProvider;
+			}
+
+			@Override
+			public void run() {
+				if (activeEditorPart instanceof IViewerProvider) {
+					Viewer viewer = ((IViewerProvider)activeEditorPart).getViewer();
+					if (viewer != null) {
+						viewer.refresh();
+					}
+				}
+			}
+		};
+
+	/**
+	 * This will contain one {@link org.eclipse.emf.edit.ui.action.CreateChildAction} corresponding to each descriptor
+	 * generated for the current selection by the item provider.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected Collection<IAction> createChildActions;
+
+	/**
+	 * This is the menu manager into which menu contribution items should be added for CreateChild actions.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected IMenuManager createChildMenuManager;
+
+	/**
+	 * This will contain one {@link org.eclipse.emf.edit.ui.action.CreateSiblingAction} corresponding to each descriptor
+	 * generated for the current selection by the item provider.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected Collection<IAction> createSiblingActions;
+
+	/**
+	 * This is the menu manager into which menu contribution items should be added for CreateSibling actions.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected IMenuManager createSiblingMenuManager;
+
+	/**
+	 * This creates an instance of the contributor.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CxGridMementoActionBarContributor() {
+		super(ADDITIONS_LAST_STYLE);
+		loadResourceAction = new LoadResourceAction();
+		validateAction = new ValidateAction();
+		controlAction = new ControlAction();
+	}
+
+	/**
+	 * This adds Separators for editor additions to the tool bar.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void contributeToToolBar(IToolBarManager toolBarManager) {
+		toolBarManager.add(new Separator("cxgridmemento-settings"));
+		toolBarManager.add(new Separator("cxgridmemento-additions"));
+	}
+
+	/**
+	 * This adds to the menu bar a menu and some separators for editor additions,
+	 * as well as the sub-menus for object creation items.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void contributeToMenu(IMenuManager menuManager) {
+		super.contributeToMenu(menuManager);
+
+		IMenuManager submenuManager = new MenuManager(cxecviewEditorPlugin.INSTANCE.getString("_UI_CxGridMementoEditor_menu"), "org.eclipse.osbp.ecview.extension.grid.mementoMenuID");
+		menuManager.insertAfter("additions", submenuManager);
+		submenuManager.add(new Separator("settings"));
+		submenuManager.add(new Separator("actions"));
+		submenuManager.add(new Separator("additions"));
+		submenuManager.add(new Separator("additions-end"));
+
+		// Prepare for CreateChild item addition or removal.
+		//
+		createChildMenuManager = new MenuManager(cxecviewEditorPlugin.INSTANCE.getString("_UI_CreateChild_menu_item"));
+		submenuManager.insertBefore("additions", createChildMenuManager);
+
+		// Prepare for CreateSibling item addition or removal.
+		//
+		createSiblingMenuManager = new MenuManager(cxecviewEditorPlugin.INSTANCE.getString("_UI_CreateSibling_menu_item"));
+		submenuManager.insertBefore("additions", createSiblingMenuManager);
+
+		// Force an update because Eclipse hides empty menus now.
+		//
+		submenuManager.addMenuListener
+			(new IMenuListener() {
+				 public void menuAboutToShow(IMenuManager menuManager) {
+					 menuManager.updateAll(true);
+				 }
+			 });
+
+		addGlobalActions(submenuManager);
+	}
+
+	/**
+	 * When the active editor changes, this remembers the change and registers with it as a selection provider.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setActiveEditor(IEditorPart part) {
+		super.setActiveEditor(part);
+		activeEditorPart = part;
+
+		// Switch to the new selection provider.
+		//
+		if (selectionProvider != null) {
+			selectionProvider.removeSelectionChangedListener(this);
+		}
+		if (part == null) {
+			selectionProvider = null;
+		}
+		else {
+			selectionProvider = part.getSite().getSelectionProvider();
+			selectionProvider.addSelectionChangedListener(this);
+
+			// Fake a selection changed event to update the menus.
+			//
+			if (selectionProvider.getSelection() != null) {
+				selectionChanged(new SelectionChangedEvent(selectionProvider, selectionProvider.getSelection()));
+			}
+		}
+	}
+
+	/**
+	 * This implements {@link org.eclipse.jface.viewers.ISelectionChangedListener},
+	 * handling {@link org.eclipse.jface.viewers.SelectionChangedEvent}s by querying for the children and siblings
+	 * that can be added to the selected object and updating the menus accordingly.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void selectionChanged(SelectionChangedEvent event) {
+		// Remove any menu items for old selection.
+		//
+		if (createChildMenuManager != null) {
+			depopulateManager(createChildMenuManager, createChildActions);
+		}
+		if (createSiblingMenuManager != null) {
+			depopulateManager(createSiblingMenuManager, createSiblingActions);
+		}
+
+		// Query the new selection for appropriate new child/sibling descriptors
+		//
+		Collection<?> newChildDescriptors = null;
+		Collection<?> newSiblingDescriptors = null;
+
+		ISelection selection = event.getSelection();
+		if (selection instanceof IStructuredSelection && ((IStructuredSelection)selection).size() == 1) {
+			Object object = ((IStructuredSelection)selection).getFirstElement();
+
+			EditingDomain domain = ((IEditingDomainProvider)activeEditorPart).getEditingDomain();
+
+			newChildDescriptors = domain.getNewChildDescriptors(object, null);
+			newSiblingDescriptors = domain.getNewChildDescriptors(null, object);
+		}
+
+		// Generate actions for selection; populate and redraw the menus.
+		//
+		createChildActions = generateCreateChildActions(newChildDescriptors, selection);
+		createSiblingActions = generateCreateSiblingActions(newSiblingDescriptors, selection);
+
+		if (createChildMenuManager != null) {
+			populateManager(createChildMenuManager, createChildActions, null);
+			createChildMenuManager.update(true);
+		}
+		if (createSiblingMenuManager != null) {
+			populateManager(createSiblingMenuManager, createSiblingActions, null);
+			createSiblingMenuManager.update(true);
+		}
+	}
+
+	/**
+	 * This generates a {@link org.eclipse.emf.edit.ui.action.CreateChildAction} for each object in <code>descriptors</code>,
+	 * and returns the collection of these actions.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected Collection<IAction> generateCreateChildActions(Collection<?> descriptors, ISelection selection) {
+		Collection<IAction> actions = new ArrayList<IAction>();
+		if (descriptors != null) {
+			for (Object descriptor : descriptors) {
+				actions.add(new CreateChildAction(activeEditorPart, selection, descriptor));
+			}
+		}
+		return actions;
+	}
+
+	/**
+	 * This generates a {@link org.eclipse.emf.edit.ui.action.CreateSiblingAction} for each object in <code>descriptors</code>,
+	 * and returns the collection of these actions.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected Collection<IAction> generateCreateSiblingActions(Collection<?> descriptors, ISelection selection) {
+		Collection<IAction> actions = new ArrayList<IAction>();
+		if (descriptors != null) {
+			for (Object descriptor : descriptors) {
+				actions.add(new CreateSiblingAction(activeEditorPart, selection, descriptor));
+			}
+		}
+		return actions;
+	}
+
+	/**
+	 * This populates the specified <code>manager</code> with {@link org.eclipse.jface.action.ActionContributionItem}s
+	 * based on the {@link org.eclipse.jface.action.IAction}s contained in the <code>actions</code> collection,
+	 * by inserting them before the specified contribution item <code>contributionID</code>.
+	 * If <code>contributionID</code> is <code>null</code>, they are simply added.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void populateManager(IContributionManager manager, Collection<? extends IAction> actions, String contributionID) {
+		if (actions != null) {
+			for (IAction action : actions) {
+				if (contributionID != null) {
+					manager.insertBefore(contributionID, action);
+				}
+				else {
+					manager.add(action);
+				}
+			}
+		}
+	}
+		
+	/**
+	 * This removes from the specified <code>manager</code> all {@link org.eclipse.jface.action.ActionContributionItem}s
+	 * based on the {@link org.eclipse.jface.action.IAction}s contained in the <code>actions</code> collection.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void depopulateManager(IContributionManager manager, Collection<? extends IAction> actions) {
+		if (actions != null) {
+			IContributionItem[] items = manager.getItems();
+			for (int i = 0; i < items.length; i++) {
+				// Look into SubContributionItems
+				//
+				IContributionItem contributionItem = items[i];
+				while (contributionItem instanceof SubContributionItem) {
+					contributionItem = ((SubContributionItem)contributionItem).getInnerItem();
+				}
+
+				// Delete the ActionContributionItems with matching action.
+				//
+				if (contributionItem instanceof ActionContributionItem) {
+					IAction action = ((ActionContributionItem)contributionItem).getAction();
+					if (actions.contains(action)) {
+						manager.remove(contributionItem);
+					}
+				}
+			}
+		}
+	}
+
+	/**
+	 * This populates the pop-up menu before it appears.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void menuAboutToShow(IMenuManager menuManager) {
+		super.menuAboutToShow(menuManager);
+		MenuManager submenuManager = null;
+
+		submenuManager = new MenuManager(cxecviewEditorPlugin.INSTANCE.getString("_UI_CreateChild_menu_item"));
+		populateManager(submenuManager, createChildActions, null);
+		menuManager.insertBefore("edit", submenuManager);
+
+		submenuManager = new MenuManager(cxecviewEditorPlugin.INSTANCE.getString("_UI_CreateSibling_menu_item"));
+		populateManager(submenuManager, createSiblingActions, null);
+		menuManager.insertBefore("edit", submenuManager);
+	}
+
+	/**
+	 * This inserts global actions before the "additions-end" separator.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void addGlobalActions(IMenuManager menuManager) {
+		menuManager.insertAfter("additions-end", new Separator("ui-actions"));
+		menuManager.insertAfter("ui-actions", showPropertiesViewAction);
+
+		refreshViewerAction.setEnabled(refreshViewerAction.isEnabled());		
+		menuManager.insertAfter("ui-actions", refreshViewerAction);
+
+		super.addGlobalActions(menuManager);
+	}
+
+	/**
+	 * This ensures that a delete action will clean up all references to deleted objects.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected boolean removeAllReferencesOnDelete() {
+		return true;
+	}
+
+}
diff --git a/org.eclipse.osbp.ecview.extension.grid.model.editor/src/org/eclipse/osbp/ecview/extension/grid/memento/presentation/CxGridMementoEditor.java b/org.eclipse.osbp.ecview.extension.grid.model.editor/src/org/eclipse/osbp/ecview/extension/grid/memento/presentation/CxGridMementoEditor.java
new file mode 100644
index 0000000..f7551e7
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.grid.model.editor/src/org/eclipse/osbp/ecview/extension/grid/memento/presentation/CxGridMementoEditor.java
@@ -0,0 +1,1868 @@
+/**
+ *                                                                            
+ *  Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany) 
+ *                                                                            
+ *  All rights reserved. This program and the accompanying materials           
+ *  are made available under the terms of the Eclipse Public License v1.0       
+ *  which accompanies this distribution, and is available at                  
+ *  http://www.eclipse.org/legal/epl-v10.html                                 
+ *                                                                            
+ *  Contributors:                                                      
+ * 	   Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
+ * 
+ */
+ package org.eclipse.osbp.ecview.extension.grid.memento.presentation;
+
+
+import java.io.IOException;
+import java.io.InputStream;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.EventObject;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IMarker;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.resources.IResourceChangeEvent;
+import org.eclipse.core.resources.IResourceChangeListener;
+import org.eclipse.core.resources.IResourceDelta;
+import org.eclipse.core.resources.IResourceDeltaVisitor;
+import org.eclipse.core.resources.ResourcesPlugin;
+
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.NullProgressMonitor;
+
+import org.eclipse.jface.action.IMenuListener;
+import org.eclipse.jface.action.IMenuManager;
+import org.eclipse.jface.action.IStatusLineManager;
+import org.eclipse.jface.action.IToolBarManager;
+import org.eclipse.jface.action.MenuManager;
+import org.eclipse.jface.action.Separator;
+
+import org.eclipse.jface.dialogs.MessageDialog;
+import org.eclipse.jface.dialogs.ProgressMonitorDialog;
+
+import org.eclipse.jface.util.LocalSelectionTransfer;
+
+import org.eclipse.jface.viewers.ColumnWeightData;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.ISelectionChangedListener;
+import org.eclipse.jface.viewers.ISelectionProvider;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.viewers.ListViewer;
+import org.eclipse.jface.viewers.SelectionChangedEvent;
+import org.eclipse.jface.viewers.StructuredSelection;
+import org.eclipse.jface.viewers.StructuredViewer;
+import org.eclipse.jface.viewers.TableLayout;
+import org.eclipse.jface.viewers.TableViewer;
+import org.eclipse.jface.viewers.TreeViewer;
+import org.eclipse.jface.viewers.Viewer;
+
+import org.eclipse.swt.SWT;
+
+import org.eclipse.swt.custom.CTabFolder;
+
+import org.eclipse.swt.dnd.DND;
+import org.eclipse.swt.dnd.FileTransfer;
+import org.eclipse.swt.dnd.Transfer;
+
+import org.eclipse.swt.events.ControlAdapter;
+import org.eclipse.swt.events.ControlEvent;
+
+import org.eclipse.swt.graphics.Point;
+
+import org.eclipse.swt.layout.FillLayout;
+
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Menu;
+import org.eclipse.swt.widgets.Table;
+import org.eclipse.swt.widgets.TableColumn;
+import org.eclipse.swt.widgets.Tree;
+import org.eclipse.swt.widgets.TreeColumn;
+
+import org.eclipse.ui.IActionBars;
+import org.eclipse.ui.IEditorInput;
+import org.eclipse.ui.IEditorPart;
+import org.eclipse.ui.IEditorSite;
+import org.eclipse.ui.IPartListener;
+import org.eclipse.ui.IWorkbenchPart;
+import org.eclipse.ui.PartInitException;
+
+import org.eclipse.ui.dialogs.SaveAsDialog;
+
+import org.eclipse.ui.ide.IGotoMarker;
+
+import org.eclipse.ui.part.FileEditorInput;
+import org.eclipse.ui.part.MultiPageEditorPart;
+
+import org.eclipse.ui.views.contentoutline.ContentOutline;
+import org.eclipse.ui.views.contentoutline.ContentOutlinePage;
+import org.eclipse.ui.views.contentoutline.IContentOutlinePage;
+
+import org.eclipse.ui.views.properties.IPropertySheetPage;
+import org.eclipse.ui.views.properties.PropertySheet;
+import org.eclipse.ui.views.properties.PropertySheetPage;
+
+import org.eclipse.emf.common.command.BasicCommandStack;
+import org.eclipse.emf.common.command.Command;
+import org.eclipse.emf.common.command.CommandStack;
+import org.eclipse.emf.common.command.CommandStackListener;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.ui.MarkerHelper;
+import org.eclipse.emf.common.ui.ViewerPane;
+
+import org.eclipse.emf.common.ui.editor.ProblemEditorPart;
+
+import org.eclipse.emf.common.ui.viewer.IViewerProvider;
+
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.Diagnostic;
+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.util.EContentAdapter;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+
+import org.eclipse.emf.edit.domain.AdapterFactoryEditingDomain;
+import org.eclipse.emf.edit.domain.EditingDomain;
+import org.eclipse.emf.edit.domain.IEditingDomainProvider;
+
+import org.eclipse.emf.edit.provider.AdapterFactoryItemDelegator;
+import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
+import org.eclipse.emf.edit.provider.ReflectiveItemProviderAdapterFactory;
+
+import org.eclipse.emf.edit.provider.resource.ResourceItemProviderAdapterFactory;
+
+import org.eclipse.emf.edit.ui.action.EditingDomainActionBarContributor;
+
+import org.eclipse.emf.edit.ui.celleditor.AdapterFactoryTreeEditor;
+
+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.AdapterFactoryContentProvider;
+import org.eclipse.emf.edit.ui.provider.AdapterFactoryLabelProvider;
+import org.eclipse.emf.edit.ui.provider.UnwrappingSelectionProvider;
+
+import org.eclipse.emf.edit.ui.util.EditUIMarkerHelper;
+import org.eclipse.emf.edit.ui.util.EditUIUtil;
+
+import org.eclipse.emf.edit.ui.view.ExtendedPropertySheetPage;
+
+import org.eclipse.osbp.ecview.extension.grid.memento.provider.CxGridMementoItemProviderAdapterFactory;
+
+import org.eclipse.osbp.ecview.core.common.model.binding.provider.BindingItemProviderAdapterFactory;
+
+import org.eclipse.osbp.ecview.core.common.model.core.authorization.provider.AuthorizationItemProviderAdapterFactory;
+
+import org.eclipse.osbp.ecview.core.common.model.core.provider.CoreModelItemProviderAdapterFactory;
+
+import org.eclipse.osbp.ecview.core.common.model.datatypes.provider.DatatypesItemProviderAdapterFactory;
+
+import org.eclipse.osbp.ecview.core.common.model.validation.provider.ValidationItemProviderAdapterFactory;
+
+import org.eclipse.osbp.ecview.core.common.model.visibility.provider.VisibilityItemProviderAdapterFactory;
+
+import org.eclipse.osbp.ecview.core.extension.model.datatypes.provider.ExtDatatypesItemProviderAdapterFactory;
+
+import org.eclipse.osbp.ecview.core.extension.model.extension.provider.ExtensionModelItemProviderAdapterFactory;
+
+import org.eclipse.osbp.ecview.extension.grid.presentation.cxecviewEditorPlugin;
+
+import org.eclipse.osbp.ecview.extension.grid.provider.CxGridItemProviderAdapterFactory;
+
+import org.eclipse.osbp.ecview.extension.grid.renderer.provider.CxGridRendererItemProviderAdapterFactory;
+
+import org.eclipse.ui.actions.WorkspaceModifyOperation;
+
+
+/**
+ * This is an example of a CxGridMemento model editor.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class CxGridMementoEditor
+	extends MultiPageEditorPart
+	implements IEditingDomainProvider, ISelectionProvider, IMenuListener, IViewerProvider, IGotoMarker {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final String copyright = "All rights reserved by Loetz GmbH&Co.KG Heidelberg 2015.\n\nContributors:\n      Florian Pirchner - initial API and implementation";
+
+	/**
+	 * This keeps track of the editing domain that is used to track all changes to the model.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected AdapterFactoryEditingDomain editingDomain;
+
+	/**
+	 * This is the one adapter factory used for providing views of the model.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ComposedAdapterFactory adapterFactory;
+
+	/**
+	 * This is the content outline page.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected IContentOutlinePage contentOutlinePage;
+
+	/**
+	 * This is a kludge...
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected IStatusLineManager contentOutlineStatusLineManager;
+
+	/**
+	 * This is the content outline page's viewer.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected TreeViewer contentOutlineViewer;
+
+	/**
+	 * This is the property sheet page.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected List<PropertySheetPage> propertySheetPages = new ArrayList<PropertySheetPage>();
+
+	/**
+	 * This is the viewer that shadows the selection in the content outline.
+	 * The parent relation must be correctly defined for this to work.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected TreeViewer selectionViewer;
+
+	/**
+	 * This inverts the roll of parent and child in the content provider and show parents as a tree.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected TreeViewer parentViewer;
+
+	/**
+	 * This shows how a tree view works.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected TreeViewer treeViewer;
+
+	/**
+	 * This shows how a list view works.
+	 * A list viewer doesn't support icons.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ListViewer listViewer;
+
+	/**
+	 * This shows how a table view works.
+	 * A table can be used as a list with icons.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected TableViewer tableViewer;
+
+	/**
+	 * This shows how a tree view with columns works.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected TreeViewer treeViewerWithColumns;
+
+	/**
+	 * This keeps track of the active viewer pane, in the book.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ViewerPane currentViewerPane;
+
+	/**
+	 * This keeps track of the active content viewer, which may be either one of the viewers in the pages or the content outline viewer.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected Viewer currentViewer;
+
+	/**
+	 * This listens to which ever viewer is active.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ISelectionChangedListener selectionChangedListener;
+
+	/**
+	 * This keeps track of all the {@link org.eclipse.jface.viewers.ISelectionChangedListener}s that are listening to this editor.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected Collection<ISelectionChangedListener> selectionChangedListeners = new ArrayList<ISelectionChangedListener>();
+
+	/**
+	 * This keeps track of the selection of the editor as a whole.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ISelection editorSelection = StructuredSelection.EMPTY;
+
+	/**
+	 * The MarkerHelper is responsible for creating workspace resource markers presented
+	 * in Eclipse's Problems View.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected MarkerHelper markerHelper = new EditUIMarkerHelper();
+
+	/**
+	 * This listens for when the outline becomes active
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected IPartListener partListener =
+		new IPartListener() {
+			public void partActivated(IWorkbenchPart p) {
+				if (p instanceof ContentOutline) {
+					if (((ContentOutline)p).getCurrentPage() == contentOutlinePage) {
+						getActionBarContributor().setActiveEditor(CxGridMementoEditor.this);
+
+						setCurrentViewer(contentOutlineViewer);
+					}
+				}
+				else if (p instanceof PropertySheet) {
+					if (propertySheetPages.contains(((PropertySheet)p).getCurrentPage())) {
+						getActionBarContributor().setActiveEditor(CxGridMementoEditor.this);
+						handleActivate();
+					}
+				}
+				else if (p == CxGridMementoEditor.this) {
+					handleActivate();
+				}
+			}
+			public void partBroughtToTop(IWorkbenchPart p) {
+				// Ignore.
+			}
+			public void partClosed(IWorkbenchPart p) {
+				// Ignore.
+			}
+			public void partDeactivated(IWorkbenchPart p) {
+				// Ignore.
+			}
+			public void partOpened(IWorkbenchPart p) {
+				// Ignore.
+			}
+		};
+
+	/**
+	 * Resources that have been removed since last activation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected Collection<Resource> removedResources = new ArrayList<Resource>();
+
+	/**
+	 * Resources that have been changed since last activation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected Collection<Resource> changedResources = new ArrayList<Resource>();
+
+	/**
+	 * Resources that have been saved.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected Collection<Resource> savedResources = new ArrayList<Resource>();
+
+	/**
+	 * Map to store the diagnostic associated with a resource.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected Map<Resource, Diagnostic> resourceToDiagnosticMap = new LinkedHashMap<Resource, Diagnostic>();
+
+	/**
+	 * Controls whether the problem indication should be updated.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected boolean updateProblemIndication = true;
+
+	/**
+	 * Adapter used to update the problem indication when resources are demanded loaded.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected EContentAdapter problemIndicationAdapter =
+		new EContentAdapter() {
+			@Override
+			public void notifyChanged(Notification notification) {
+				if (notification.getNotifier() instanceof Resource) {
+					switch (notification.getFeatureID(Resource.class)) {
+						case Resource.RESOURCE__IS_LOADED:
+						case Resource.RESOURCE__ERRORS:
+						case Resource.RESOURCE__WARNINGS: {
+							Resource resource = (Resource)notification.getNotifier();
+							Diagnostic diagnostic = analyzeResourceProblems(resource, null);
+							if (diagnostic.getSeverity() != Diagnostic.OK) {
+								resourceToDiagnosticMap.put(resource, diagnostic);
+							}
+							else {
+								resourceToDiagnosticMap.remove(resource);
+							}
+
+							if (updateProblemIndication) {
+								getSite().getShell().getDisplay().asyncExec
+									(new Runnable() {
+										 public void run() {
+											 updateProblemIndication();
+										 }
+									 });
+							}
+							break;
+						}
+					}
+				}
+				else {
+					super.notifyChanged(notification);
+				}
+			}
+
+			@Override
+			protected void setTarget(Resource target) {
+				basicSetTarget(target);
+			}
+
+			@Override
+			protected void unsetTarget(Resource target) {
+				basicUnsetTarget(target);
+				resourceToDiagnosticMap.remove(target);
+				if (updateProblemIndication) {
+					getSite().getShell().getDisplay().asyncExec
+						(new Runnable() {
+							 public void run() {
+								 updateProblemIndication();
+							 }
+						 });
+				}
+			}
+		};
+
+	/**
+	 * This listens for workspace changes.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected IResourceChangeListener resourceChangeListener =
+		new IResourceChangeListener() {
+			public void resourceChanged(IResourceChangeEvent event) {
+				IResourceDelta delta = event.getDelta();
+				try {
+					class ResourceDeltaVisitor implements IResourceDeltaVisitor {
+						protected ResourceSet resourceSet = editingDomain.getResourceSet();
+						protected Collection<Resource> changedResources = new ArrayList<Resource>();
+						protected Collection<Resource> removedResources = new ArrayList<Resource>();
+
+						public boolean visit(IResourceDelta delta) {
+							if (delta.getResource().getType() == IResource.FILE) {
+								if (delta.getKind() == IResourceDelta.REMOVED ||
+								    delta.getKind() == IResourceDelta.CHANGED && delta.getFlags() != IResourceDelta.MARKERS) {
+									Resource resource = resourceSet.getResource(URI.createPlatformResourceURI(delta.getFullPath().toString(), true), false);
+									if (resource != null) {
+										if (delta.getKind() == IResourceDelta.REMOVED) {
+											removedResources.add(resource);
+										}
+										else if (!savedResources.remove(resource)) {
+											changedResources.add(resource);
+										}
+									}
+								}
+								return false;
+							}
+
+							return true;
+						}
+
+						public Collection<Resource> getChangedResources() {
+							return changedResources;
+						}
+
+						public Collection<Resource> getRemovedResources() {
+							return removedResources;
+						}
+					}
+
+					final ResourceDeltaVisitor visitor = new ResourceDeltaVisitor();
+					delta.accept(visitor);
+
+					if (!visitor.getRemovedResources().isEmpty()) {
+						getSite().getShell().getDisplay().asyncExec
+							(new Runnable() {
+								 public void run() {
+									 removedResources.addAll(visitor.getRemovedResources());
+									 if (!isDirty()) {
+										 getSite().getPage().closeEditor(CxGridMementoEditor.this, false);
+									 }
+								 }
+							 });
+					}
+
+					if (!visitor.getChangedResources().isEmpty()) {
+						getSite().getShell().getDisplay().asyncExec
+							(new Runnable() {
+								 public void run() {
+									 changedResources.addAll(visitor.getChangedResources());
+									 if (getSite().getPage().getActiveEditor() == CxGridMementoEditor.this) {
+										 handleActivate();
+									 }
+								 }
+							 });
+					}
+				}
+				catch (CoreException exception) {
+					cxecviewEditorPlugin.INSTANCE.log(exception);
+				}
+			}
+		};
+
+	/**
+	 * Handles activation of the editor or it's associated views.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void handleActivate() {
+		// Recompute the read only state.
+		//
+		if (editingDomain.getResourceToReadOnlyMap() != null) {
+		  editingDomain.getResourceToReadOnlyMap().clear();
+
+		  // Refresh any actions that may become enabled or disabled.
+		  //
+		  setSelection(getSelection());
+		}
+
+		if (!removedResources.isEmpty()) {
+			if (handleDirtyConflict()) {
+				getSite().getPage().closeEditor(CxGridMementoEditor.this, false);
+			}
+			else {
+				removedResources.clear();
+				changedResources.clear();
+				savedResources.clear();
+			}
+		}
+		else if (!changedResources.isEmpty()) {
+			changedResources.removeAll(savedResources);
+			handleChangedResources();
+			changedResources.clear();
+			savedResources.clear();
+		}
+	}
+
+	/**
+	 * Handles what to do with changed resources on activation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void handleChangedResources() {
+		if (!changedResources.isEmpty() && (!isDirty() || handleDirtyConflict())) {
+			if (isDirty()) {
+				changedResources.addAll(editingDomain.getResourceSet().getResources());
+			}
+			editingDomain.getCommandStack().flush();
+
+			updateProblemIndication = false;
+			for (Resource resource : changedResources) {
+				if (resource.isLoaded()) {
+					resource.unload();
+					try {
+						resource.load(Collections.EMPTY_MAP);
+					}
+					catch (IOException exception) {
+						if (!resourceToDiagnosticMap.containsKey(resource)) {
+							resourceToDiagnosticMap.put(resource, analyzeResourceProblems(resource, exception));
+						}
+					}
+				}
+			}
+
+			if (AdapterFactoryEditingDomain.isStale(editorSelection)) {
+				setSelection(StructuredSelection.EMPTY);
+			}
+
+			updateProblemIndication = true;
+			updateProblemIndication();
+		}
+	}
+
+	/**
+	 * Updates the problems indication with the information described in the specified diagnostic.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void updateProblemIndication() {
+		if (updateProblemIndication) {
+			BasicDiagnostic diagnostic =
+				new BasicDiagnostic
+					(Diagnostic.OK,
+					 "org.eclipse.osbp.ecview.extension.grid.model.editor",
+					 0,
+					 null,
+					 new Object [] { editingDomain.getResourceSet() });
+			for (Diagnostic childDiagnostic : resourceToDiagnosticMap.values()) {
+				if (childDiagnostic.getSeverity() != Diagnostic.OK) {
+					diagnostic.add(childDiagnostic);
+				}
+			}
+
+			int lastEditorPage = getPageCount() - 1;
+			if (lastEditorPage >= 0 && getEditor(lastEditorPage) instanceof ProblemEditorPart) {
+				((ProblemEditorPart)getEditor(lastEditorPage)).setDiagnostic(diagnostic);
+				if (diagnostic.getSeverity() != Diagnostic.OK) {
+					setActivePage(lastEditorPage);
+				}
+			}
+			else if (diagnostic.getSeverity() != Diagnostic.OK) {
+				ProblemEditorPart problemEditorPart = new ProblemEditorPart();
+				problemEditorPart.setDiagnostic(diagnostic);
+				problemEditorPart.setMarkerHelper(markerHelper);
+				try {
+					addPage(++lastEditorPage, problemEditorPart, getEditorInput());
+					setPageText(lastEditorPage, problemEditorPart.getPartName());
+					setActivePage(lastEditorPage);
+					showTabs();
+				}
+				catch (PartInitException exception) {
+					cxecviewEditorPlugin.INSTANCE.log(exception);
+				}
+			}
+
+			if (markerHelper.hasMarkers(editingDomain.getResourceSet())) {
+				markerHelper.deleteMarkers(editingDomain.getResourceSet());
+				if (diagnostic.getSeverity() != Diagnostic.OK) {
+					try {
+						markerHelper.createMarkers(diagnostic);
+					}
+					catch (CoreException exception) {
+						cxecviewEditorPlugin.INSTANCE.log(exception);
+					}
+				}
+			}
+		}
+	}
+
+	/**
+	 * Shows a dialog that asks if conflicting changes should be discarded.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected boolean handleDirtyConflict() {
+		return
+			MessageDialog.openQuestion
+				(getSite().getShell(),
+				 getString("_UI_FileConflict_label"),
+				 getString("_WARN_FileConflict"));
+	}
+
+	/**
+	 * This creates a model editor.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CxGridMementoEditor() {
+		super();
+		initializeEditingDomain();
+	}
+
+	/**
+	 * This sets up the editing domain for the model editor.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void initializeEditingDomain() {
+		// Create an adapter factory that yields item providers.
+		//
+		adapterFactory = new ComposedAdapterFactory(ComposedAdapterFactory.Descriptor.Registry.INSTANCE);
+
+		adapterFactory.addAdapterFactory(new ResourceItemProviderAdapterFactory());
+		adapterFactory.addAdapterFactory(new CxGridItemProviderAdapterFactory());
+		adapterFactory.addAdapterFactory(new CxGridRendererItemProviderAdapterFactory());
+		adapterFactory.addAdapterFactory(new CxGridMementoItemProviderAdapterFactory());
+		adapterFactory.addAdapterFactory(new BindingItemProviderAdapterFactory());
+		adapterFactory.addAdapterFactory(new CoreModelItemProviderAdapterFactory());
+		adapterFactory.addAdapterFactory(new AuthorizationItemProviderAdapterFactory());
+		adapterFactory.addAdapterFactory(new ValidationItemProviderAdapterFactory());
+		adapterFactory.addAdapterFactory(new DatatypesItemProviderAdapterFactory());
+		adapterFactory.addAdapterFactory(new VisibilityItemProviderAdapterFactory());
+		adapterFactory.addAdapterFactory(new ExtDatatypesItemProviderAdapterFactory());
+		adapterFactory.addAdapterFactory(new ExtensionModelItemProviderAdapterFactory());
+		adapterFactory.addAdapterFactory(new ReflectiveItemProviderAdapterFactory());
+
+		// Create the command stack that will notify this editor as commands are executed.
+		//
+		BasicCommandStack commandStack = new BasicCommandStack();
+
+		// Add a listener to set the most recent command's affected objects to be the selection of the viewer with focus.
+		//
+		commandStack.addCommandStackListener
+			(new CommandStackListener() {
+				 public void commandStackChanged(final EventObject event) {
+					 getContainer().getDisplay().asyncExec
+						 (new Runnable() {
+							  public void run() {
+								  firePropertyChange(IEditorPart.PROP_DIRTY);
+
+								  // Try to select the affected objects.
+								  //
+								  Command mostRecentCommand = ((CommandStack)event.getSource()).getMostRecentCommand();
+								  if (mostRecentCommand != null) {
+									  setSelectionToViewer(mostRecentCommand.getAffectedObjects());
+								  }
+								  for (Iterator<PropertySheetPage> i = propertySheetPages.iterator(); i.hasNext(); ) {
+									  PropertySheetPage propertySheetPage = i.next();
+									  if (propertySheetPage.getControl().isDisposed()) {
+										  i.remove();
+									  }
+									  else {
+										  propertySheetPage.refresh();
+									  }
+								  }
+							  }
+						  });
+				 }
+			 });
+
+		// Create the editing domain with a special command stack.
+		//
+		editingDomain = new AdapterFactoryEditingDomain(adapterFactory, commandStack, new HashMap<Resource, Boolean>());
+	}
+
+	/**
+	 * This is here for the listener to be able to call it.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+			@Override
+	protected void firePropertyChange(int action) {
+		super.firePropertyChange(action);
+	}
+
+	/**
+	 * This sets the selection into whichever viewer is active.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setSelectionToViewer(Collection<?> collection) {
+		final Collection<?> theSelection = collection;
+		// Make sure it's okay.
+		//
+		if (theSelection != null && !theSelection.isEmpty()) {
+			Runnable runnable =
+				new Runnable() {
+					public void run() {
+						// Try to select the items in the current content viewer of the editor.
+						//
+						if (currentViewer != null) {
+							currentViewer.setSelection(new StructuredSelection(theSelection.toArray()), true);
+						}
+					}
+				};
+			getSite().getShell().getDisplay().asyncExec(runnable);
+		}
+	}
+
+	/**
+	 * This returns the editing domain as required by the {@link IEditingDomainProvider} interface.
+	 * This is important for implementing the static methods of {@link AdapterFactoryEditingDomain}
+	 * and for supporting {@link org.eclipse.emf.edit.ui.action.CommandAction}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EditingDomain getEditingDomain() {
+		return editingDomain;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public class ReverseAdapterFactoryContentProvider extends AdapterFactoryContentProvider {
+		/**
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		public ReverseAdapterFactoryContentProvider(AdapterFactory adapterFactory) {
+			super(adapterFactory);
+		}
+
+		/**
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		@Override
+		public Object [] getElements(Object object) {
+			Object parent = super.getParent(object);
+			return (parent == null ? Collections.EMPTY_SET : Collections.singleton(parent)).toArray();
+		}
+
+		/**
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		@Override
+		public Object [] getChildren(Object object) {
+			Object parent = super.getParent(object);
+			return (parent == null ? Collections.EMPTY_SET : Collections.singleton(parent)).toArray();
+		}
+
+		/**
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		@Override
+		public boolean hasChildren(Object object) {
+			Object parent = super.getParent(object);
+			return parent != null;
+		}
+
+		/**
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		@Override
+		public Object getParent(Object object) {
+			return null;
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setCurrentViewerPane(ViewerPane viewerPane) {
+		if (currentViewerPane != viewerPane) {
+			if (currentViewerPane != null) {
+				currentViewerPane.showFocus(false);
+			}
+			currentViewerPane = viewerPane;
+		}
+		setCurrentViewer(currentViewerPane.getViewer());
+	}
+
+	/**
+	 * This makes sure that one content viewer, either for the current page or the outline view, if it has focus,
+	 * is the current one.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setCurrentViewer(Viewer viewer) {
+		// If it is changing...
+		//
+		if (currentViewer != viewer) {
+			if (selectionChangedListener == null) {
+				// Create the listener on demand.
+				//
+				selectionChangedListener =
+					new ISelectionChangedListener() {
+						// This just notifies those things that are affected by the section.
+						//
+						public void selectionChanged(SelectionChangedEvent selectionChangedEvent) {
+							setSelection(selectionChangedEvent.getSelection());
+						}
+					};
+			}
+
+			// Stop listening to the old one.
+			//
+			if (currentViewer != null) {
+				currentViewer.removeSelectionChangedListener(selectionChangedListener);
+			}
+
+			// Start listening to the new one.
+			//
+			if (viewer != null) {
+				viewer.addSelectionChangedListener(selectionChangedListener);
+			}
+
+			// Remember it.
+			//
+			currentViewer = viewer;
+
+			// Set the editors selection based on the current viewer's selection.
+			//
+			setSelection(currentViewer == null ? StructuredSelection.EMPTY : currentViewer.getSelection());
+		}
+	}
+
+	/**
+	 * This returns the viewer as required by the {@link IViewerProvider} interface.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Viewer getViewer() {
+		return currentViewer;
+	}
+
+	/**
+	 * This creates a context menu for the viewer and adds a listener as well registering the menu for extension.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void createContextMenuFor(StructuredViewer viewer) {
+		MenuManager contextMenu = new MenuManager("#PopUp");
+		contextMenu.add(new Separator("additions"));
+		contextMenu.setRemoveAllWhenShown(true);
+		contextMenu.addMenuListener(this);
+		Menu menu= contextMenu.createContextMenu(viewer.getControl());
+		viewer.getControl().setMenu(menu);
+		getSite().registerContextMenu(contextMenu, new UnwrappingSelectionProvider(viewer));
+
+		int dndOperations = DND.DROP_COPY | DND.DROP_MOVE | DND.DROP_LINK;
+		Transfer[] transfers = new Transfer[] { LocalTransfer.getInstance(), LocalSelectionTransfer.getTransfer(), FileTransfer.getInstance() };
+		viewer.addDragSupport(dndOperations, transfers, new ViewerDragAdapter(viewer));
+		viewer.addDropSupport(dndOperations, transfers, new EditingDomainViewerDropAdapter(editingDomain, viewer));
+	}
+
+	/**
+	 * This is the method called to load a resource into the editing domain's resource set based on the editor's input.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void createModel() {
+		URI resourceURI = EditUIUtil.getURI(getEditorInput());
+		Exception exception = null;
+		Resource resource = null;
+		try {
+			// Load the resource through the editing domain.
+			//
+			resource = editingDomain.getResourceSet().getResource(resourceURI, true);
+		}
+		catch (Exception e) {
+			exception = e;
+			resource = editingDomain.getResourceSet().getResource(resourceURI, false);
+		}
+
+		Diagnostic diagnostic = analyzeResourceProblems(resource, exception);
+		if (diagnostic.getSeverity() != Diagnostic.OK) {
+			resourceToDiagnosticMap.put(resource,  analyzeResourceProblems(resource, exception));
+		}
+		editingDomain.getResourceSet().eAdapters().add(problemIndicationAdapter);
+	}
+
+	/**
+	 * Returns a diagnostic describing the errors and warnings listed in the resource
+	 * and the specified exception (if any).
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Diagnostic analyzeResourceProblems(Resource resource, Exception exception) {
+		if (!resource.getErrors().isEmpty() || !resource.getWarnings().isEmpty()) {
+			BasicDiagnostic basicDiagnostic =
+				new BasicDiagnostic
+					(Diagnostic.ERROR,
+					 "org.eclipse.osbp.ecview.extension.grid.model.editor",
+					 0,
+					 getString("_UI_CreateModelError_message", resource.getURI()),
+					 new Object [] { exception == null ? (Object)resource : exception });
+			basicDiagnostic.merge(EcoreUtil.computeDiagnostic(resource, true));
+			return basicDiagnostic;
+		}
+		else if (exception != null) {
+			return
+				new BasicDiagnostic
+					(Diagnostic.ERROR,
+					 "org.eclipse.osbp.ecview.extension.grid.model.editor",
+					 0,
+					 getString("_UI_CreateModelError_message", resource.getURI()),
+					 new Object[] { exception });
+		}
+		else {
+			return Diagnostic.OK_INSTANCE;
+		}
+	}
+
+	/**
+	 * This is the method used by the framework to install your own controls.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void createPages() {
+		// Creates the model from the editor input
+		//
+		createModel();
+
+		// Only creates the other pages if there is something that can be edited
+		//
+		if (!getEditingDomain().getResourceSet().getResources().isEmpty()) {
+			// Create a page for the selection tree view.
+			//
+			{
+				ViewerPane viewerPane =
+					new ViewerPane(getSite().getPage(), CxGridMementoEditor.this) {
+						@Override
+						public Viewer createViewer(Composite composite) {
+							Tree tree = new Tree(composite, SWT.MULTI);
+							TreeViewer newTreeViewer = new TreeViewer(tree);
+							return newTreeViewer;
+						}
+						@Override
+						public void requestActivation() {
+							super.requestActivation();
+							setCurrentViewerPane(this);
+						}
+					};
+				viewerPane.createControl(getContainer());
+
+				selectionViewer = (TreeViewer)viewerPane.getViewer();
+				selectionViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
+
+				selectionViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));
+				selectionViewer.setInput(editingDomain.getResourceSet());
+				selectionViewer.setSelection(new StructuredSelection(editingDomain.getResourceSet().getResources().get(0)), true);
+				viewerPane.setTitle(editingDomain.getResourceSet());
+
+				new AdapterFactoryTreeEditor(selectionViewer.getTree(), adapterFactory);
+
+				createContextMenuFor(selectionViewer);
+				int pageIndex = addPage(viewerPane.getControl());
+				setPageText(pageIndex, getString("_UI_SelectionPage_label"));
+			}
+
+			// Create a page for the parent tree view.
+			//
+			{
+				ViewerPane viewerPane =
+					new ViewerPane(getSite().getPage(), CxGridMementoEditor.this) {
+						@Override
+						public Viewer createViewer(Composite composite) {
+							Tree tree = new Tree(composite, SWT.MULTI);
+							TreeViewer newTreeViewer = new TreeViewer(tree);
+							return newTreeViewer;
+						}
+						@Override
+						public void requestActivation() {
+							super.requestActivation();
+							setCurrentViewerPane(this);
+						}
+					};
+				viewerPane.createControl(getContainer());
+
+				parentViewer = (TreeViewer)viewerPane.getViewer();
+				parentViewer.setAutoExpandLevel(30);
+				parentViewer.setContentProvider(new ReverseAdapterFactoryContentProvider(adapterFactory));
+				parentViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));
+
+				createContextMenuFor(parentViewer);
+				int pageIndex = addPage(viewerPane.getControl());
+				setPageText(pageIndex, getString("_UI_ParentPage_label"));
+			}
+
+			// This is the page for the list viewer
+			//
+			{
+				ViewerPane viewerPane =
+					new ViewerPane(getSite().getPage(), CxGridMementoEditor.this) {
+						@Override
+						public Viewer createViewer(Composite composite) {
+							return new ListViewer(composite);
+						}
+						@Override
+						public void requestActivation() {
+							super.requestActivation();
+							setCurrentViewerPane(this);
+						}
+					};
+				viewerPane.createControl(getContainer());
+				listViewer = (ListViewer)viewerPane.getViewer();
+				listViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
+				listViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));
+
+				createContextMenuFor(listViewer);
+				int pageIndex = addPage(viewerPane.getControl());
+				setPageText(pageIndex, getString("_UI_ListPage_label"));
+			}
+
+			// This is the page for the tree viewer
+			//
+			{
+				ViewerPane viewerPane =
+					new ViewerPane(getSite().getPage(), CxGridMementoEditor.this) {
+						@Override
+						public Viewer createViewer(Composite composite) {
+							return new TreeViewer(composite);
+						}
+						@Override
+						public void requestActivation() {
+							super.requestActivation();
+							setCurrentViewerPane(this);
+						}
+					};
+				viewerPane.createControl(getContainer());
+				treeViewer = (TreeViewer)viewerPane.getViewer();
+				treeViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
+				treeViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));
+
+				new AdapterFactoryTreeEditor(treeViewer.getTree(), adapterFactory);
+
+				createContextMenuFor(treeViewer);
+				int pageIndex = addPage(viewerPane.getControl());
+				setPageText(pageIndex, getString("_UI_TreePage_label"));
+			}
+
+			// This is the page for the table viewer.
+			//
+			{
+				ViewerPane viewerPane =
+					new ViewerPane(getSite().getPage(), CxGridMementoEditor.this) {
+						@Override
+						public Viewer createViewer(Composite composite) {
+							return new TableViewer(composite);
+						}
+						@Override
+						public void requestActivation() {
+							super.requestActivation();
+							setCurrentViewerPane(this);
+						}
+					};
+				viewerPane.createControl(getContainer());
+				tableViewer = (TableViewer)viewerPane.getViewer();
+
+				Table table = tableViewer.getTable();
+				TableLayout layout = new TableLayout();
+				table.setLayout(layout);
+				table.setHeaderVisible(true);
+				table.setLinesVisible(true);
+
+				TableColumn objectColumn = new TableColumn(table, SWT.NONE);
+				layout.addColumnData(new ColumnWeightData(3, 100, true));
+				objectColumn.setText(getString("_UI_ObjectColumn_label"));
+				objectColumn.setResizable(true);
+
+				TableColumn selfColumn = new TableColumn(table, SWT.NONE);
+				layout.addColumnData(new ColumnWeightData(2, 100, true));
+				selfColumn.setText(getString("_UI_SelfColumn_label"));
+				selfColumn.setResizable(true);
+
+				tableViewer.setColumnProperties(new String [] {"a", "b"});
+				tableViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
+				tableViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));
+
+				createContextMenuFor(tableViewer);
+				int pageIndex = addPage(viewerPane.getControl());
+				setPageText(pageIndex, getString("_UI_TablePage_label"));
+			}
+
+			// This is the page for the table tree viewer.
+			//
+			{
+				ViewerPane viewerPane =
+					new ViewerPane(getSite().getPage(), CxGridMementoEditor.this) {
+						@Override
+						public Viewer createViewer(Composite composite) {
+							return new TreeViewer(composite);
+						}
+						@Override
+						public void requestActivation() {
+							super.requestActivation();
+							setCurrentViewerPane(this);
+						}
+					};
+				viewerPane.createControl(getContainer());
+
+				treeViewerWithColumns = (TreeViewer)viewerPane.getViewer();
+
+				Tree tree = treeViewerWithColumns.getTree();
+				tree.setLayoutData(new FillLayout());
+				tree.setHeaderVisible(true);
+				tree.setLinesVisible(true);
+
+				TreeColumn objectColumn = new TreeColumn(tree, SWT.NONE);
+				objectColumn.setText(getString("_UI_ObjectColumn_label"));
+				objectColumn.setResizable(true);
+				objectColumn.setWidth(250);
+
+				TreeColumn selfColumn = new TreeColumn(tree, SWT.NONE);
+				selfColumn.setText(getString("_UI_SelfColumn_label"));
+				selfColumn.setResizable(true);
+				selfColumn.setWidth(200);
+
+				treeViewerWithColumns.setColumnProperties(new String [] {"a", "b"});
+				treeViewerWithColumns.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
+				treeViewerWithColumns.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));
+
+				createContextMenuFor(treeViewerWithColumns);
+				int pageIndex = addPage(viewerPane.getControl());
+				setPageText(pageIndex, getString("_UI_TreeWithColumnsPage_label"));
+			}
+
+			getSite().getShell().getDisplay().asyncExec
+				(new Runnable() {
+					 public void run() {
+						 setActivePage(0);
+					 }
+				 });
+		}
+
+		// Ensures that this editor will only display the page's tab
+		// area if there are more than one page
+		//
+		getContainer().addControlListener
+			(new ControlAdapter() {
+				boolean guard = false;
+				@Override
+				public void controlResized(ControlEvent event) {
+					if (!guard) {
+						guard = true;
+						hideTabs();
+						guard = false;
+					}
+				}
+			 });
+
+		getSite().getShell().getDisplay().asyncExec
+			(new Runnable() {
+				 public void run() {
+					 updateProblemIndication();
+				 }
+			 });
+	}
+
+	/**
+	 * If there is just one page in the multi-page editor part,
+	 * this hides the single tab at the bottom.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void hideTabs() {
+		if (getPageCount() <= 1) {
+			setPageText(0, "");
+			if (getContainer() instanceof CTabFolder) {
+				((CTabFolder)getContainer()).setTabHeight(1);
+				Point point = getContainer().getSize();
+				getContainer().setSize(point.x, point.y + 6);
+			}
+		}
+	}
+
+	/**
+	 * If there is more than one page in the multi-page editor part,
+	 * this shows the tabs at the bottom.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void showTabs() {
+		if (getPageCount() > 1) {
+			setPageText(0, getString("_UI_SelectionPage_label"));
+			if (getContainer() instanceof CTabFolder) {
+				((CTabFolder)getContainer()).setTabHeight(SWT.DEFAULT);
+				Point point = getContainer().getSize();
+				getContainer().setSize(point.x, point.y - 6);
+			}
+		}
+	}
+
+	/**
+	 * This is used to track the active viewer.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void pageChange(int pageIndex) {
+		super.pageChange(pageIndex);
+
+		if (contentOutlinePage != null) {
+			handleContentOutlineSelection(contentOutlinePage.getSelection());
+		}
+	}
+
+	/**
+	 * This is how the framework determines which interfaces we implement.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@SuppressWarnings("rawtypes")
+	@Override
+	public Object getAdapter(Class key) {
+		if (key.equals(IContentOutlinePage.class)) {
+			return showOutlineView() ? getContentOutlinePage() : null;
+		}
+		else if (key.equals(IPropertySheetPage.class)) {
+			return getPropertySheetPage();
+		}
+		else if (key.equals(IGotoMarker.class)) {
+			return this;
+		}
+		else {
+			return super.getAdapter(key);
+		}
+	}
+
+	/**
+	 * This accesses a cached version of the content outliner.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public IContentOutlinePage getContentOutlinePage() {
+		if (contentOutlinePage == null) {
+			// The content outline is just a tree.
+			//
+			class MyContentOutlinePage extends ContentOutlinePage {
+				@Override
+				public void createControl(Composite parent) {
+					super.createControl(parent);
+					contentOutlineViewer = getTreeViewer();
+					contentOutlineViewer.addSelectionChangedListener(this);
+
+					// Set up the tree viewer.
+					//
+					contentOutlineViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
+					contentOutlineViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));
+					contentOutlineViewer.setInput(editingDomain.getResourceSet());
+
+					// Make sure our popups work.
+					//
+					createContextMenuFor(contentOutlineViewer);
+
+					if (!editingDomain.getResourceSet().getResources().isEmpty()) {
+					  // Select the root object in the view.
+					  //
+					  contentOutlineViewer.setSelection(new StructuredSelection(editingDomain.getResourceSet().getResources().get(0)), true);
+					}
+				}
+
+				@Override
+				public void makeContributions(IMenuManager menuManager, IToolBarManager toolBarManager, IStatusLineManager statusLineManager) {
+					super.makeContributions(menuManager, toolBarManager, statusLineManager);
+					contentOutlineStatusLineManager = statusLineManager;
+				}
+
+				@Override
+				public void setActionBars(IActionBars actionBars) {
+					super.setActionBars(actionBars);
+					getActionBarContributor().shareGlobalActions(this, actionBars);
+				}
+			}
+
+			contentOutlinePage = new MyContentOutlinePage();
+
+			// Listen to selection so that we can handle it is a special way.
+			//
+			contentOutlinePage.addSelectionChangedListener
+				(new ISelectionChangedListener() {
+					 // This ensures that we handle selections correctly.
+					 //
+					 public void selectionChanged(SelectionChangedEvent event) {
+						 handleContentOutlineSelection(event.getSelection());
+					 }
+				 });
+		}
+
+		return contentOutlinePage;
+	}
+
+	/**
+	 * This accesses a cached version of the property sheet.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public IPropertySheetPage getPropertySheetPage() {
+		PropertySheetPage propertySheetPage =
+			new ExtendedPropertySheetPage(editingDomain) {
+				@Override
+				public void setSelectionToViewer(List<?> selection) {
+					CxGridMementoEditor.this.setSelectionToViewer(selection);
+					CxGridMementoEditor.this.setFocus();
+				}
+
+				@Override
+				public void setActionBars(IActionBars actionBars) {
+					super.setActionBars(actionBars);
+					getActionBarContributor().shareGlobalActions(this, actionBars);
+				}
+			};
+		propertySheetPage.setPropertySourceProvider(new AdapterFactoryContentProvider(adapterFactory));
+		propertySheetPages.add(propertySheetPage);
+
+		return propertySheetPage;
+	}
+
+	/**
+	 * This deals with how we want selection in the outliner to affect the other views.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void handleContentOutlineSelection(ISelection selection) {
+		if (currentViewerPane != null && !selection.isEmpty() && selection instanceof IStructuredSelection) {
+			Iterator<?> selectedElements = ((IStructuredSelection)selection).iterator();
+			if (selectedElements.hasNext()) {
+				// Get the first selected element.
+				//
+				Object selectedElement = selectedElements.next();
+
+				// If it's the selection viewer, then we want it to select the same selection as this selection.
+				//
+				if (currentViewerPane.getViewer() == selectionViewer) {
+					ArrayList<Object> selectionList = new ArrayList<Object>();
+					selectionList.add(selectedElement);
+					while (selectedElements.hasNext()) {
+						selectionList.add(selectedElements.next());
+					}
+
+					// Set the selection to the widget.
+					//
+					selectionViewer.setSelection(new StructuredSelection(selectionList));
+				}
+				else {
+					// Set the input to the widget.
+					//
+					if (currentViewerPane.getViewer().getInput() != selectedElement) {
+						currentViewerPane.getViewer().setInput(selectedElement);
+						currentViewerPane.setTitle(selectedElement);
+					}
+				}
+			}
+		}
+	}
+
+	/**
+	 * This is for implementing {@link IEditorPart} and simply tests the command stack.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean isDirty() {
+		return ((BasicCommandStack)editingDomain.getCommandStack()).isSaveNeeded();
+	}
+
+	/**
+	 * This is for implementing {@link IEditorPart} and simply saves the model file.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void doSave(IProgressMonitor progressMonitor) {
+		// Save only resources that have actually changed.
+		//
+		final Map<Object, Object> saveOptions = new HashMap<Object, Object>();
+		saveOptions.put(Resource.OPTION_SAVE_ONLY_IF_CHANGED, Resource.OPTION_SAVE_ONLY_IF_CHANGED_MEMORY_BUFFER);
+		saveOptions.put(Resource.OPTION_LINE_DELIMITER, Resource.OPTION_LINE_DELIMITER_UNSPECIFIED);
+
+		// Do the work within an operation because this is a long running activity that modifies the workbench.
+		//
+		WorkspaceModifyOperation operation =
+			new WorkspaceModifyOperation() {
+				// This is the method that gets invoked when the operation runs.
+				//
+				@Override
+				public void execute(IProgressMonitor monitor) {
+					// Save the resources to the file system.
+					//
+					boolean first = true;
+					for (Resource resource : editingDomain.getResourceSet().getResources()) {
+						if ((first || !resource.getContents().isEmpty() || isPersisted(resource)) && !editingDomain.isReadOnly(resource)) {
+							try {
+								long timeStamp = resource.getTimeStamp();
+								resource.save(saveOptions);
+								if (resource.getTimeStamp() != timeStamp) {
+									savedResources.add(resource);
+								}
+							}
+							catch (Exception exception) {
+								resourceToDiagnosticMap.put(resource, analyzeResourceProblems(resource, exception));
+							}
+							first = false;
+						}
+					}
+				}
+			};
+
+		updateProblemIndication = false;
+		try {
+			// This runs the options, and shows progress.
+			//
+			new ProgressMonitorDialog(getSite().getShell()).run(true, false, operation);
+
+			// Refresh the necessary state.
+			//
+			((BasicCommandStack)editingDomain.getCommandStack()).saveIsDone();
+			firePropertyChange(IEditorPart.PROP_DIRTY);
+		}
+		catch (Exception exception) {
+			// Something went wrong that shouldn't.
+			//
+			cxecviewEditorPlugin.INSTANCE.log(exception);
+		}
+		updateProblemIndication = true;
+		updateProblemIndication();
+	}
+
+	/**
+	 * This returns whether something has been persisted to the URI of the specified resource.
+	 * The implementation uses the URI converter from the editor's resource set to try to open an input stream.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected boolean isPersisted(Resource resource) {
+		boolean result = false;
+		try {
+			InputStream stream = editingDomain.getResourceSet().getURIConverter().createInputStream(resource.getURI());
+			if (stream != null) {
+				result = true;
+				stream.close();
+			}
+		}
+		catch (IOException e) {
+			// Ignore
+		}
+		return result;
+	}
+
+	/**
+	 * This always returns true because it is not currently supported.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean isSaveAsAllowed() {
+		return true;
+	}
+
+	/**
+	 * This also changes the editor's input.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void doSaveAs() {
+		SaveAsDialog saveAsDialog = new SaveAsDialog(getSite().getShell());
+		saveAsDialog.open();
+		IPath path = saveAsDialog.getResult();
+		if (path != null) {
+			IFile file = ResourcesPlugin.getWorkspace().getRoot().getFile(path);
+			if (file != null) {
+				doSaveAs(URI.createPlatformResourceURI(file.getFullPath().toString(), true), new FileEditorInput(file));
+			}
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void doSaveAs(URI uri, IEditorInput editorInput) {
+		(editingDomain.getResourceSet().getResources().get(0)).setURI(uri);
+		setInputWithNotify(editorInput);
+		setPartName(editorInput.getName());
+		IProgressMonitor progressMonitor =
+			getActionBars().getStatusLineManager() != null ?
+				getActionBars().getStatusLineManager().getProgressMonitor() :
+				new NullProgressMonitor();
+		doSave(progressMonitor);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void gotoMarker(IMarker marker) {
+		List<?> targetObjects = markerHelper.getTargetObjects(editingDomain, marker);
+		if (!targetObjects.isEmpty()) {
+			setSelectionToViewer(targetObjects);
+		}
+	}
+
+	/**
+	 * This is called during startup.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void init(IEditorSite site, IEditorInput editorInput) {
+		setSite(site);
+		setInputWithNotify(editorInput);
+		setPartName(editorInput.getName());
+		site.setSelectionProvider(this);
+		site.getPage().addPartListener(partListener);
+		ResourcesPlugin.getWorkspace().addResourceChangeListener(resourceChangeListener, IResourceChangeEvent.POST_CHANGE);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setFocus() {
+		if (currentViewerPane != null) {
+			currentViewerPane.setFocus();
+		}
+		else {
+			getControl(getActivePage()).setFocus();
+		}
+	}
+
+	/**
+	 * This implements {@link org.eclipse.jface.viewers.ISelectionProvider}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void addSelectionChangedListener(ISelectionChangedListener listener) {
+		selectionChangedListeners.add(listener);
+	}
+
+	/**
+	 * This implements {@link org.eclipse.jface.viewers.ISelectionProvider}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void removeSelectionChangedListener(ISelectionChangedListener listener) {
+		selectionChangedListeners.remove(listener);
+	}
+
+	/**
+	 * This implements {@link org.eclipse.jface.viewers.ISelectionProvider} to return this editor's overall selection.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ISelection getSelection() {
+		return editorSelection;
+	}
+
+	/**
+	 * This implements {@link org.eclipse.jface.viewers.ISelectionProvider} to set this editor's overall selection.
+	 * Calling this result will notify the listeners.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setSelection(ISelection selection) {
+		editorSelection = selection;
+
+		for (ISelectionChangedListener listener : selectionChangedListeners) {
+			listener.selectionChanged(new SelectionChangedEvent(this, selection));
+		}
+		setStatusLineManager(selection);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setStatusLineManager(ISelection selection) {
+		IStatusLineManager statusLineManager = currentViewer != null && currentViewer == contentOutlineViewer ?
+			contentOutlineStatusLineManager : getActionBars().getStatusLineManager();
+
+		if (statusLineManager != null) {
+			if (selection instanceof IStructuredSelection) {
+				Collection<?> collection = ((IStructuredSelection)selection).toList();
+				switch (collection.size()) {
+					case 0: {
+						statusLineManager.setMessage(getString("_UI_NoObjectSelected"));
+						break;
+					}
+					case 1: {
+						String text = new AdapterFactoryItemDelegator(adapterFactory).getText(collection.iterator().next());
+						statusLineManager.setMessage(getString("_UI_SingleObjectSelected", text));
+						break;
+					}
+					default: {
+						statusLineManager.setMessage(getString("_UI_MultiObjectSelected", Integer.toString(collection.size())));
+						break;
+					}
+				}
+			}
+			else {
+				statusLineManager.setMessage("");
+			}
+		}
+	}
+
+	/**
+	 * This looks up a string in the plugin's plugin.properties file.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private static String getString(String key) {
+		return cxecviewEditorPlugin.INSTANCE.getString(key);
+	}
+
+	/**
+	 * This looks up a string in plugin.properties, making a substitution.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private static String getString(String key, Object s1) {
+		return cxecviewEditorPlugin.INSTANCE.getString(key, new Object [] { s1 });
+	}
+
+	/**
+	 * This implements {@link org.eclipse.jface.action.IMenuListener} to help fill the context menus with contributions from the Edit menu.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void menuAboutToShow(IMenuManager menuManager) {
+		((IMenuListener)getEditorSite().getActionBarContributor()).menuAboutToShow(menuManager);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EditingDomainActionBarContributor getActionBarContributor() {
+		return (EditingDomainActionBarContributor)getEditorSite().getActionBarContributor();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public IActionBars getActionBars() {
+		return getActionBarContributor().getActionBars();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public AdapterFactory getAdapterFactory() {
+		return adapterFactory;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void dispose() {
+		updateProblemIndication = false;
+
+		ResourcesPlugin.getWorkspace().removeResourceChangeListener(resourceChangeListener);
+
+		getSite().getPage().removePartListener(partListener);
+
+		adapterFactory.dispose();
+
+		if (getActionBarContributor().getActiveEditor() == this) {
+			getActionBarContributor().setActiveEditor(null);
+		}
+
+		for (PropertySheetPage propertySheetPage : propertySheetPages) {
+			propertySheetPage.dispose();
+		}
+
+		if (contentOutlinePage != null) {
+			contentOutlinePage.dispose();
+		}
+
+		super.dispose();
+	}
+
+	/**
+	 * Returns whether the outline view should be presented to the user.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected boolean showOutlineView() {
+		return true;
+	}
+}
diff --git a/org.eclipse.osbp.ecview.extension.grid.model.editor/src/org/eclipse/osbp/ecview/extension/grid/memento/presentation/CxGridMementoModelWizard.java b/org.eclipse.osbp.ecview.extension.grid.model.editor/src/org/eclipse/osbp/ecview/extension/grid/memento/presentation/CxGridMementoModelWizard.java
new file mode 100644
index 0000000..1e5ad9c
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.grid.model.editor/src/org/eclipse/osbp/ecview/extension/grid/memento/presentation/CxGridMementoModelWizard.java
@@ -0,0 +1,648 @@
+/**
+ *                                                                            
+ *  Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany) 
+ *                                                                            
+ *  All rights reserved. This program and the accompanying materials           
+ *  are made available under the terms of the Eclipse Public License v1.0       
+ *  which accompanies this distribution, and is available at                  
+ *  http://www.eclipse.org/legal/epl-v10.html                                 
+ *                                                                            
+ *  Contributors:                                                      
+ * 	   Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
+ * 
+ */
+ package org.eclipse.osbp.ecview.extension.grid.memento.presentation;
+
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.MissingResourceException;
+import java.util.StringTokenizer;
+
+import org.eclipse.emf.common.CommonPlugin;
+
+import org.eclipse.emf.common.util.URI;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EClassifier;
+
+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.EObject;
+
+import org.eclipse.emf.ecore.xmi.XMLResource;
+
+import org.eclipse.emf.edit.ui.provider.ExtendedImageRegistry;
+
+import org.eclipse.core.resources.IContainer;
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IFolder;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.resources.ResourcesPlugin;
+
+import org.eclipse.core.runtime.IProgressMonitor;
+
+import org.eclipse.jface.dialogs.MessageDialog;
+
+import org.eclipse.jface.viewers.IStructuredSelection;
+
+import org.eclipse.jface.wizard.Wizard;
+import org.eclipse.jface.wizard.WizardPage;
+
+import org.eclipse.swt.SWT;
+
+import org.eclipse.swt.events.ModifyListener;
+import org.eclipse.swt.events.ModifyEvent;
+
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+
+import org.eclipse.swt.widgets.Combo;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Label;
+
+import org.eclipse.ui.INewWizard;
+import org.eclipse.ui.IWorkbench;
+
+import org.eclipse.ui.actions.WorkspaceModifyOperation;
+
+import org.eclipse.ui.dialogs.WizardNewFileCreationPage;
+
+import org.eclipse.ui.part.FileEditorInput;
+import org.eclipse.ui.part.ISetSelectionTarget;
+
+import org.eclipse.osbp.ecview.extension.grid.memento.CxGridMementoFactory;
+import org.eclipse.osbp.ecview.extension.grid.memento.CxGridMementoPackage;
+import org.eclipse.osbp.ecview.extension.grid.provider.CxGridEditPlugin;
+
+
+import org.eclipse.core.runtime.Path;
+
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.StructuredSelection;
+
+import org.eclipse.osbp.ecview.extension.grid.presentation.cxecviewEditorPlugin;
+
+import org.eclipse.ui.IWorkbenchPage;
+import org.eclipse.ui.IWorkbenchPart;
+import org.eclipse.ui.IWorkbenchWindow;
+import org.eclipse.ui.PartInitException;
+
+
+/**
+ * This is a simple wizard for creating a new model file.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class CxGridMementoModelWizard extends Wizard implements INewWizard {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final String copyright = "All rights reserved by Loetz GmbH&Co.KG Heidelberg 2015.\n\nContributors:\n      Florian Pirchner - initial API and implementation";
+
+	/**
+	 * The supported extensions for created files.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final List<String> FILE_EXTENSIONS =
+		Collections.unmodifiableList(Arrays.asList(cxecviewEditorPlugin.INSTANCE.getString("_UI_CxGridMementoEditorFilenameExtensions").split("\\s*,\\s*")));
+
+	/**
+	 * A formatted list of supported file extensions, suitable for display.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final String FORMATTED_FILE_EXTENSIONS =
+		cxecviewEditorPlugin.INSTANCE.getString("_UI_CxGridMementoEditorFilenameExtensions").replaceAll("\\s*,\\s*", ", ");
+
+	/**
+	 * This caches an instance of the model package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected CxGridMementoPackage cxGridMementoPackage = CxGridMementoPackage.eINSTANCE;
+
+	/**
+	 * This caches an instance of the model factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected CxGridMementoFactory cxGridMementoFactory = cxGridMementoPackage.getCxGridMementoFactory();
+
+	/**
+	 * This is the file creation page.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected CxGridMementoModelWizardNewFileCreationPage newFileCreationPage;
+
+	/**
+	 * This is the initial object creation page.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected CxGridMementoModelWizardInitialObjectCreationPage initialObjectCreationPage;
+
+	/**
+	 * Remember the selection during initialization for populating the default container.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected IStructuredSelection selection;
+
+	/**
+	 * Remember the workbench during initialization.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected IWorkbench workbench;
+
+	/**
+	 * Caches the names of the types that can be created as the root object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected List<String> initialObjectNames;
+
+	/**
+	 * This just records the information.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void init(IWorkbench workbench, IStructuredSelection selection) {
+		this.workbench = workbench;
+		this.selection = selection;
+		setWindowTitle(cxecviewEditorPlugin.INSTANCE.getString("_UI_Wizard_label"));
+		setDefaultPageImageDescriptor(ExtendedImageRegistry.INSTANCE.getImageDescriptor(cxecviewEditorPlugin.INSTANCE.getImage("full/wizban/NewCxGridMemento")));
+	}
+
+	/**
+	 * Returns the names of the types that can be created as the root object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected Collection<String> getInitialObjectNames() {
+		if (initialObjectNames == null) {
+			initialObjectNames = new ArrayList<String>();
+			for (EClassifier eClassifier : cxGridMementoPackage.getEClassifiers()) {
+				if (eClassifier instanceof EClass) {
+					EClass eClass = (EClass)eClassifier;
+					if (!eClass.isAbstract()) {
+						initialObjectNames.add(eClass.getName());
+					}
+				}
+			}
+			Collections.sort(initialObjectNames, CommonPlugin.INSTANCE.getComparator());
+		}
+		return initialObjectNames;
+	}
+
+	/**
+	 * Create a new model.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected EObject createInitialModel() {
+		EClass eClass = (EClass)cxGridMementoPackage.getEClassifier(initialObjectCreationPage.getInitialObjectName());
+		EObject rootObject = cxGridMementoFactory.create(eClass);
+		return rootObject;
+	}
+
+	/**
+	 * Do the work after everything is specified.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean performFinish() {
+		try {
+			// Remember the file.
+			//
+			final IFile modelFile = getModelFile();
+
+			// Do the work within an operation.
+			//
+			WorkspaceModifyOperation operation =
+				new WorkspaceModifyOperation() {
+					@Override
+					protected void execute(IProgressMonitor progressMonitor) {
+						try {
+							// Create a resource set
+							//
+							ResourceSet resourceSet = new ResourceSetImpl();
+
+							// Get the URI of the model file.
+							//
+							URI fileURI = URI.createPlatformResourceURI(modelFile.getFullPath().toString(), true);
+
+							// Create a resource for this file.
+							//
+							Resource resource = resourceSet.createResource(fileURI);
+
+							// Add the initial model object to the contents.
+							//
+							EObject rootObject = createInitialModel();
+							if (rootObject != null) {
+								resource.getContents().add(rootObject);
+							}
+
+							// Save the contents of the resource to the file system.
+							//
+							Map<Object, Object> options = new HashMap<Object, Object>();
+							options.put(XMLResource.OPTION_ENCODING, initialObjectCreationPage.getEncoding());
+							resource.save(options);
+						}
+						catch (Exception exception) {
+							cxecviewEditorPlugin.INSTANCE.log(exception);
+						}
+						finally {
+							progressMonitor.done();
+						}
+					}
+				};
+
+			getContainer().run(false, false, operation);
+
+			// Select the new file resource in the current view.
+			//
+			IWorkbenchWindow workbenchWindow = workbench.getActiveWorkbenchWindow();
+			IWorkbenchPage page = workbenchWindow.getActivePage();
+			final IWorkbenchPart activePart = page.getActivePart();
+			if (activePart instanceof ISetSelectionTarget) {
+				final ISelection targetSelection = new StructuredSelection(modelFile);
+				getShell().getDisplay().asyncExec
+					(new Runnable() {
+						 public void run() {
+							 ((ISetSelectionTarget)activePart).selectReveal(targetSelection);
+						 }
+					 });
+			}
+
+			// Open an editor on the new file.
+			//
+			try {
+				page.openEditor
+					(new FileEditorInput(modelFile),
+					 workbench.getEditorRegistry().getDefaultEditor(modelFile.getFullPath().toString()).getId());					 	 
+			}
+			catch (PartInitException exception) {
+				MessageDialog.openError(workbenchWindow.getShell(), cxecviewEditorPlugin.INSTANCE.getString("_UI_OpenEditorError_label"), exception.getMessage());
+				return false;
+			}
+
+			return true;
+		}
+		catch (Exception exception) {
+			cxecviewEditorPlugin.INSTANCE.log(exception);
+			return false;
+		}
+	}
+
+	/**
+	 * This is the one page of the wizard.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public class CxGridMementoModelWizardNewFileCreationPage extends WizardNewFileCreationPage {
+		/**
+		 * Pass in the selection.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		public CxGridMementoModelWizardNewFileCreationPage(String pageId, IStructuredSelection selection) {
+			super(pageId, selection);
+		}
+
+		/**
+		 * The framework calls this to see if the file is correct.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		@Override
+		protected boolean validatePage() {
+			if (super.validatePage()) {
+				String extension = new Path(getFileName()).getFileExtension();
+				if (extension == null || !FILE_EXTENSIONS.contains(extension)) {
+					String key = FILE_EXTENSIONS.size() > 1 ? "_WARN_FilenameExtensions" : "_WARN_FilenameExtension";
+					setErrorMessage(cxecviewEditorPlugin.INSTANCE.getString(key, new Object [] { FORMATTED_FILE_EXTENSIONS }));
+					return false;
+				}
+				return true;
+			}
+			return false;
+		}
+
+		/**
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		public IFile getModelFile() {
+			return ResourcesPlugin.getWorkspace().getRoot().getFile(getContainerFullPath().append(getFileName()));
+		}
+	}
+
+	/**
+	 * This is the page where the type of object to create is selected.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public class CxGridMementoModelWizardInitialObjectCreationPage extends WizardPage {
+		/**
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		protected Combo initialObjectField;
+
+		/**
+		 * @generated
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 */
+		protected List<String> encodings;
+
+		/**
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		protected Combo encodingField;
+
+		/**
+		 * Pass in the selection.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		public CxGridMementoModelWizardInitialObjectCreationPage(String pageId) {
+			super(pageId);
+		}
+
+		/**
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		public void createControl(Composite parent) {
+			Composite composite = new Composite(parent, SWT.NONE);
+			{
+				GridLayout layout = new GridLayout();
+				layout.numColumns = 1;
+				layout.verticalSpacing = 12;
+				composite.setLayout(layout);
+
+				GridData data = new GridData();
+				data.verticalAlignment = GridData.FILL;
+				data.grabExcessVerticalSpace = true;
+				data.horizontalAlignment = GridData.FILL;
+				composite.setLayoutData(data);
+			}
+
+			Label containerLabel = new Label(composite, SWT.LEFT);
+			{
+				containerLabel.setText(cxecviewEditorPlugin.INSTANCE.getString("_UI_ModelObject"));
+
+				GridData data = new GridData();
+				data.horizontalAlignment = GridData.FILL;
+				containerLabel.setLayoutData(data);
+			}
+
+			initialObjectField = new Combo(composite, SWT.BORDER);
+			{
+				GridData data = new GridData();
+				data.horizontalAlignment = GridData.FILL;
+				data.grabExcessHorizontalSpace = true;
+				initialObjectField.setLayoutData(data);
+			}
+
+			for (String objectName : getInitialObjectNames()) {
+				initialObjectField.add(getLabel(objectName));
+			}
+