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..6a768a7
--- /dev/null
+++ b/.project
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.osbp.infogrid</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</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..e87893a
--- /dev/null
+++ b/jenkins.build.config.xml
@@ -0,0 +1,29 @@
+<?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.authentication</jenkins.build.dependency>
+                <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.eventbroker</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.vaaclipse</jenkins.build.dependency>
+                <jenkins.build.dependency>org.eclipse.osbp.vaaclipse.common.ecview</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.infogrid.api/.project b/org.eclipse.osbp.infogrid.api/.project
new file mode 100644
index 0000000..08ab6bc
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.api/.project
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.osbp.infogrid.api</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.infogrid.api/LICENSE.txt b/org.eclipse.osbp.infogrid.api/LICENSE.txt
new file mode 100644
index 0000000..ff42ad4
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.api/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.infogrid.api/META-INF/MANIFEST.MF b/org.eclipse.osbp.infogrid.api/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..b608558
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.api/META-INF/MANIFEST.MF
@@ -0,0 +1,18 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: org.eclipse.osbp.infogrid.api
+Bundle-SymbolicName: org.eclipse.osbp.infogrid.api
+Bundle-Vendor: Eclipse OSBP
+Bundle-Version: 0.9.0.qualifier
+Require-Bundle: org.eclipse.core.runtime,
+ org.eclipse.osbp.infogrid.model;bundle-version="[0.9.0,0.10.0)",
+ org.eclipse.osbp.runtime.common;bundle-version="[0.9.0,0.10.0)",
+ org.eclipse.osbp.ecview.extension.grid.model,
+ org.eclipse.osbp.ecview.extension.model,
+ org.eclipse.core.databinding.beans;bundle-version="1.2.200",
+ org.eclipse.core.databinding.property;bundle-version="1.4.200"
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Export-Package: org.eclipse.osbp.infogrid.api;version="0.9.0"
+Import-Package: org.osgi.service.component.annotations,
+ org.slf4j;version="1.7.2"
+Bundle-ActivationPolicy: lazy
diff --git a/org.eclipse.osbp.infogrid.api/about.html b/org.eclipse.osbp.infogrid.api/about.html
new file mode 100644
index 0000000..64c0598
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.api/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.infogrid.api/about.ini b/org.eclipse.osbp.infogrid.api/about.ini
new file mode 100644
index 0000000..7df671f
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.api/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.infogrid.api/about.mappings b/org.eclipse.osbp.infogrid.api/about.mappings
new file mode 100644
index 0000000..4511a0a
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.api/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.infogrid.api/about.properties b/org.eclipse.osbp.infogrid.api/about.properties
new file mode 100644
index 0000000..28f18dd
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.api/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:
+#    Christophe Loetz (Loetz GmbH&Co.KG) - initial API and implementation
+#
+
+# NLS_MESSAGEFORMAT_VAR
+
+featureName=org.eclipse.osbp.infogrid.api
+
+################ 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\
+    Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation\n
+################ end of blurb property ####################################
diff --git a/org.eclipse.osbp.infogrid.api/build.properties b/org.eclipse.osbp.infogrid.api/build.properties
new file mode 100644
index 0000000..d58d085
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.api/build.properties
@@ -0,0 +1,10 @@
+source.. = src/
+output.. = target/classes/
+bin.includes = about.properties,  about.mappings,  about.ini,  about.html,  META-INF/,\
+               .,\
+               LICENSE.txt,\
+               epl-v10.html,\
+               license.html
+src.includes = about.properties,  about.mappings,  about.ini,  about.html,  license.html,\
+               epl-v10.html,\
+               LICENSE.txt
diff --git a/org.eclipse.osbp.infogrid.api/epl-v10.html b/org.eclipse.osbp.infogrid.api/epl-v10.html
new file mode 100644
index 0000000..b398acc
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.api/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.infogrid.api/license.html b/org.eclipse.osbp.infogrid.api/license.html
new file mode 100644
index 0000000..6e579a5
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.api/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.infogrid.api/pom.xml b/org.eclipse.osbp.infogrid.api/pom.xml
new file mode 100644
index 0000000..7616b6e
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.api/pom.xml
@@ -0,0 +1,29 @@
+<?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.infogrid</groupId>
+		<artifactId>org.eclipse.osbp.infogrid.aggregator</artifactId>
+		<version>0.9.0-SNAPSHOT</version>
+		<relativePath>..</relativePath>
+	</parent>
+	<artifactId>org.eclipse.osbp.infogrid.api</artifactId>
+	<build>
+		<sourceDirectory>src</sourceDirectory>
+		<plugins>
+		</plugins>
+	</build>
+	<packaging>eclipse-plugin</packaging>
+	
+</project>
diff --git a/org.eclipse.osbp.infogrid.api/src/org/eclipse/osbp/infogrid/api/AbstractGridSourceDescriptor.java b/org.eclipse.osbp.infogrid.api/src/org/eclipse/osbp/infogrid/api/AbstractGridSourceDescriptor.java
new file mode 100644
index 0000000..ee501b6
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.api/src/org/eclipse/osbp/infogrid/api/AbstractGridSourceDescriptor.java
@@ -0,0 +1,70 @@
+/**
+ *                                                                            
+ * 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.infogrid.api;
+
+import java.util.Map;
+
+import org.eclipse.osbp.runtime.common.dispose.AbstractDisposable;
+import org.eclipse.osbp.infogrid.model.gridsource.CxGridSource;
+
+public abstract class AbstractGridSourceDescriptor extends AbstractDisposable
+		implements IGridSourceDescriptor, IGridSourceDescriptor.Internal {
+
+	protected final String id;
+	protected final CxGridSource source;
+	protected String label;
+	protected Map<String, Object> properties;
+	private Class<?> inputType;
+
+	public AbstractGridSourceDescriptor(Class<?> inputType, CxGridSource source) {
+		this.inputType = inputType;
+		this.id = source.getId();
+		this.source = source;
+	}
+
+	@Override
+	public String getId() {
+		return id;
+	}
+
+	@Override
+	public String getLabel() {
+		checkDisposed();
+		return label;
+	}
+
+	public Class<?> getInputType() {
+		return inputType;
+	}
+
+	public void setLabel(String label) {
+		checkDisposed();
+		this.label = label;
+	}
+
+	@Override
+	public CxGridSource getSource() {
+		checkDisposed();
+		return source;
+	}
+
+	@Override
+	public void setProperties(Map<String, Object> properties) {
+		this.properties = properties;
+	}
+
+	public Map<String, Object> getProperties() {
+		return properties;
+	}
+
+}
diff --git a/org.eclipse.osbp.infogrid.api/src/org/eclipse/osbp/infogrid/api/DefaultECViewGridFactory.java b/org.eclipse.osbp.infogrid.api/src/org/eclipse/osbp/infogrid/api/DefaultECViewGridFactory.java
new file mode 100644
index 0000000..6d603a9
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.api/src/org/eclipse/osbp/infogrid/api/DefaultECViewGridFactory.java
@@ -0,0 +1,361 @@
+/**
+ *                                                                            
+ * 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.infogrid.api;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.core.databinding.beans.BeanProperties;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.osbp.ecview.core.common.model.core.YCompare;
+import org.eclipse.osbp.ecview.core.common.model.core.YConverter;
+import org.eclipse.osbp.runtime.common.types.IBundleSpace;
+import org.eclipse.osbp.infogrid.model.gridsource.CxGridProperty;
+import org.eclipse.osbp.infogrid.model.gridsource.CxGridSource;
+import org.eclipse.osbp.infogrid.model.gridsource.CxGridSourceEQFilter;
+import org.eclipse.osbp.infogrid.model.gridsource.CxGridSourceInput;
+import org.eclipse.osbp.infogrid.model.gridsource.style.CxGridCompare;
+import org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropButtonStyle;
+import org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropDateStyle;
+import org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropImageStyle;
+import org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropIndicatorStyle;
+import org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropNumberStyle;
+import org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropPriceStyle;
+import org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropProgressbarStyle;
+import org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropQuantityStyle;
+import org.eclipse.osbp.infogrid.model.gridsource.style.CxGridStyleConfig;
+import org.eclipse.osbp.infogrid.model.gridsource.style.CxGridStyleConfigNumericToResource;
+import org.eclipse.osbp.infogrid.model.gridsource.style.CxGridStyleConfigStringToResource;
+import org.eclipse.osbp.infogrid.model.gridsource.style.CxGridStylePackage;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.FrameworkUtil;
+import org.osgi.framework.ServiceReference;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import org.eclipse.osbp.ecview.extension.grid.CxGrid;
+import org.eclipse.osbp.ecview.extension.grid.CxGridColumn;
+import org.eclipse.osbp.ecview.extension.grid.CxGridFactory;
+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.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.CxGridRenderer;
+import org.eclipse.osbp.ecview.extension.grid.renderer.CxGridRendererFactory;
+import org.eclipse.osbp.ecview.extension.model.converter.YConverterFactory;
+import org.eclipse.osbp.ecview.extension.model.converter.YNumericToResourceConfig;
+import org.eclipse.osbp.ecview.extension.model.converter.YNumericToResourceConverter;
+import org.eclipse.osbp.ecview.extension.model.converter.YStringToResourceConfig;
+import org.eclipse.osbp.ecview.extension.model.converter.YStringToResourceConverter;
+
+// TODO put to different bundle
+public class DefaultECViewGridFactory implements IECViewGridFactory {
+
+	private static final Logger LOGGER = LoggerFactory
+			.getLogger(DefaultECViewGridFactory.class);
+
+	private CxGridFactory gridFactory = CxGridFactory.eINSTANCE;
+
+	public DefaultECViewGridFactory() {
+
+	}
+
+	@Override
+	public CxGrid createGrid(Class<?> inputType, CxGridSource gridSource) {
+
+		BundleContext bc = FrameworkUtil.getBundle(getClass())
+				.getBundleContext();
+		ServiceReference<IBundleSpace> bsRef = bc
+				.getServiceReference(IBundleSpace.class);
+		if (bsRef == null) {
+			LOGGER.error("No BundleSpace available.");
+			return gridFactory.createCxGrid();
+		}
+		IBundleSpace bundleSpace = bc.getService(bsRef);
+
+		Class<?> rootType = null;
+		try {
+			rootType = bundleSpace.forName(gridSource.getRootTypeFQN());
+		} catch (ClassNotFoundException e) {
+			e.printStackTrace();
+		}
+		bc.ungetService(bsRef);
+
+		CxGrid grid = gridFactory.createCxGrid();
+		grid.setId(GRID_ID);
+		grid.getProperties().put(GRIDSOURCE_ID, gridSource.getId());
+		grid.setEditorEnabled(false);
+		grid.setHeaderVisible(true);
+		grid.setUseBeanService(!gridSource.getTags().contains(IECViewGridSourceDescriptor.PROP_MANUAL_BEANS));
+		grid.setColumnReorderingAllowed(true);
+		if( rootType != null ) {
+			grid.setType(rootType);
+			grid.setTypeQualifiedName(rootType.getName());
+		}
+		
+		for (CxGridProperty prop : gridSource.getProperties()) {
+			CxGridColumn column = gridFactory.createCxGridColumn();
+			column.setPropertyPath(prop.getDotPath());
+			column.setPropertyId(prop.getDotPath());
+
+			Class<?> propertyType = BeanProperties
+					.value(rootType, prop.getDotPath()).getPropertyDescriptor()
+					.getPropertyType();
+			Pair pair = createRendererPair(prop, propertyType);
+			column.setRenderer(pair.renderer);
+			column.setConverter(pair.converter);
+			grid.getColumns().add(column);
+		}
+
+		for (CxGridSourceInput input : gridSource.getInputs()) {
+			if (inputType.getName().equals(input.getInputTypeFQN())) {
+				for (CxGridSourceEQFilter filter : input.getFilters()) {
+					// take the filter value from the input
+					filter.getInputTypePropertyPath();
+				}
+			}
+		}
+
+		return grid;
+	}
+
+	/**
+	 * Creates a renderer for the given property.
+	 * 
+	 * @param prop
+	 * @param propertyType
+	 * @return
+	 */
+	protected Pair createRendererPair(CxGridProperty prop, Class<?> propertyType) {
+
+		if ( prop == null ) {
+			return null;
+		}
+		
+		Pair pair = new Pair();
+
+		CxGridRendererFactory factory = CxGridRendererFactory.eINSTANCE;
+		if (prop.getStyle() == null) {
+			return createBadRenderer();
+		}
+
+		EClass styleClass = prop.getStyle().eClass();
+		switch (styleClass.getClassifierID()) {
+		case CxGridStylePackage.CX_GRID_PROP_BOOLEAN_STYLE:
+			pair.renderer = factory.createCxGridBooleanRenderer();
+			break;
+		case CxGridStylePackage.CX_GRID_PROP_DATE_STYLE: {
+			CxGridPropDateStyle style = (CxGridPropDateStyle) prop.getStyle();
+			CxGridDateRenderer renderer = factory.createCxGridDateRenderer();
+			renderer.setDateFormat(style.getDateFormat());
+			pair.renderer = renderer;
+		}
+			break;
+		case CxGridStylePackage.CX_GRID_PROP_NUMBER_STYLE: {
+			if (!isNumeric(propertyType)) {
+				return createBadRenderer();
+			}
+			CxGridPropNumberStyle style = (CxGridPropNumberStyle) prop
+					.getStyle();
+			CxGridNumberRenderer renderer = factory
+					.createCxGridNumberRenderer();
+			renderer.setNumberFormat(style.getNumberFormat());
+			pair.renderer = renderer;
+		}
+			break;
+		case CxGridStylePackage.CX_GRID_PROP_BUTTON_STYLE: {
+			CxGridPropButtonStyle style = (CxGridPropButtonStyle) prop
+					.getStyle();
+			CxGridButtonRenderer renderer = factory
+					.createCxGridButtonRenderer();
+			renderer.setEventTopic(style.getEventTopic());
+			pair.renderer = renderer;
+		}
+			break;
+		case CxGridStylePackage.CX_GRID_PROP_IMAGE_STYLE: {
+			CxGridPropImageStyle style = (CxGridPropImageStyle) prop.getStyle();
+			YConverter converter = toConverter(style.getConfigs());
+			CxGridImageRenderer renderer = factory.createCxGridImageRenderer();
+			renderer.setEventTopic(style.getEventTopic());
+			pair.renderer = renderer;
+			pair.converter = converter;
+		}
+			break;
+		case CxGridStylePackage.CX_GRID_PROP_HTML_STYLE:
+			pair.renderer = factory.createCxGridHtmlRenderer();
+			break;
+		case CxGridStylePackage.CX_GRID_PROP_PROGRESSBAR_STYLE: {
+			CxGridPropProgressbarStyle style = (CxGridPropProgressbarStyle) prop
+					.getStyle();
+			CxGridProgressBarRenderer renderer = factory
+					.createCxGridProgressBarRenderer();
+			renderer.setMaxValue(style.getMaxValue());
+			pair.renderer = renderer;
+		}
+			break;
+		case CxGridStylePackage.CX_GRID_PROP_INDICATOR_STYLE: {
+			CxGridPropIndicatorStyle style = (CxGridPropIndicatorStyle) prop
+					.getStyle();
+			CxGridIndicatorRenderer renderer = factory
+					.createCxGridIndicatorRenderer();
+			renderer.setGreenStarts(style.getGreenStarts());
+			renderer.setRedEnds(style.getRedEnds());
+			pair.renderer = renderer;
+		}
+			break;
+		case CxGridStylePackage.CX_GRID_PROP_SPARKLINE_STYLE:
+			pair.renderer = factory.createCxGridHtmlRenderer();
+			break;
+		case CxGridStylePackage.CX_GRID_PROP_TEXT_STYLE:
+			pair.renderer = factory.createCxGridHtmlRenderer();
+			break;
+		case CxGridStylePackage.CX_GRID_PROP_QUANTITY_STYLE: {
+			CxGridPropQuantityStyle style = (CxGridPropQuantityStyle) prop
+					.getStyle();
+			CxGridQuantityRenderer renderer = factory
+					.createCxGridQuantityRenderer();
+			renderer.setHtmlPattern(style.getHtmlPattern());
+			renderer.setNullRepresentation("");
+			renderer.setNumberFormat(style.getValueNumberFormat());
+			renderer.setUomPropertyPath(style.getUomPropertyDotPath());
+			renderer.setValuePropertyPath(style.getValuePropertyDotPath());
+			pair.renderer = renderer;
+		}
+			break;
+		case CxGridStylePackage.CX_GRID_PROP_PRICE_STYLE: {
+			CxGridPropPriceStyle style = (CxGridPropPriceStyle) prop.getStyle();
+			CxGridPriceRenderer renderer = factory.createCxGridPriceRenderer();
+			renderer.setHtmlPattern(style.getHtmlPattern());
+			renderer.setNullRepresentation("");
+			renderer.setNumberFormat(style.getValueNumberFormat());
+			renderer.setCurrencyPropertyPath(style.getCurrencyPropertyDotPath());
+			renderer.setValuePropertyPath(style.getValuePropertyDotPath());
+			pair.renderer = renderer;
+		}
+			break;
+		}
+
+		return pair;
+	}
+
+	protected boolean isNumeric(Class<?> propertyType) {
+		boolean result = propertyType.isAssignableFrom(Number.class);
+		if (!result) {
+			if (propertyType.isPrimitive() && propertyType != Boolean.TYPE
+					&& propertyType != Void.TYPE) {
+				result = true;
+			}
+		}
+		return result;
+	}
+
+	protected YConverter toConverter(EList<CxGridStyleConfig> configs) {
+		if (configs.isEmpty()) {
+			return null;
+		}
+
+		CxGridStyleConfig cxConfig = configs.get(0);
+		if (cxConfig instanceof CxGridStyleConfigStringToResource) {
+			List<YStringToResourceConfig> newConfigs = toStringToResourceConfig(configs);
+			YStringToResourceConverter converter = YConverterFactory.eINSTANCE
+					.createYStringToResourceConverter();
+			converter.getConfigs().addAll(newConfigs);
+			return converter;
+		} else if (cxConfig instanceof CxGridStyleConfigNumericToResource) {
+			List<YNumericToResourceConfig> newConfigs = toNumberToResourceConfig(configs);
+			YNumericToResourceConverter converter = YConverterFactory.eINSTANCE
+					.createYNumericToResourceConverter();
+			converter.getConfigs().addAll(newConfigs);
+			return converter;
+		}
+
+		return null;
+	}
+
+	private List<YNumericToResourceConfig> toNumberToResourceConfig(
+			EList<CxGridStyleConfig> configs) {
+		List<YNumericToResourceConfig> result = new ArrayList<>(configs.size());
+		for (CxGridStyleConfig config : configs) {
+			if (!(config instanceof CxGridStyleConfigNumericToResource)) {
+				LOGGER.warn("you mixed up different style configs!");
+				continue;
+			}
+
+			CxGridStyleConfigNumericToResource givenConfig = (CxGridStyleConfigNumericToResource) config;
+			YNumericToResourceConfig newConfig = YConverterFactory.eINSTANCE
+					.createYNumericToResourceConfig();
+			newConfig.setResourceThemePath(givenConfig.getResourceThemePath());
+			newConfig.setValue(givenConfig.getValue());
+			newConfig.setCompare(toGridCompare(givenConfig.getCompare()));
+			result.add(newConfig);
+		}
+
+		return result;
+	}
+
+	private YCompare toGridCompare(CxGridCompare compare) {
+		switch (compare) {
+		case EQUAL:
+			return YCompare.EQUAL;
+		case GREATER_EQUAL:
+			return YCompare.GREATER_EQUAL;
+		case GREATER_THAN:
+			return YCompare.GREATER_THAN;
+		case LOWER_EQUAL:
+			return YCompare.LOWER_EQUAL;
+		case LOWER_THAN:
+			return YCompare.LOWER_THAN;
+		case NOT_EQUAL:
+			return YCompare.NOT_EQUAL;
+		}
+		return null;
+	}
+
+	private List<YStringToResourceConfig> toStringToResourceConfig(
+			EList<CxGridStyleConfig> configs) {
+		List<YStringToResourceConfig> result = new ArrayList<>(configs.size());
+		for (CxGridStyleConfig config : configs) {
+			if (!(config instanceof CxGridStyleConfigStringToResource)) {
+				LOGGER.warn("you mixed up different style configs!");
+				continue;
+			}
+
+			CxGridStyleConfigStringToResource givenConfig = (CxGridStyleConfigStringToResource) config;
+			YStringToResourceConfig newConfig = YConverterFactory.eINSTANCE
+					.createYStringToResourceConfig();
+			newConfig.setResourceThemePath(givenConfig.getResourceThemePath());
+			newConfig.setValue(givenConfig.getValue());
+			newConfig.setCompare(toGridCompare(givenConfig.getCompare()));
+			result.add(newConfig);
+		}
+
+		return result;
+	}
+
+	protected Pair createBadRenderer() {
+		Pair pair = new Pair();
+		pair.renderer = CxGridRendererFactory.eINSTANCE
+				.createCxGridTextRenderer();
+		return pair;
+	}
+
+	protected static class Pair {
+		public CxGridRenderer renderer;
+		public YConverter converter;
+	}
+}
diff --git a/org.eclipse.osbp.infogrid.api/src/org/eclipse/osbp/infogrid/api/ECViewGridEditorFieldFactory.java b/org.eclipse.osbp.infogrid.api/src/org/eclipse/osbp/infogrid/api/ECViewGridEditorFieldFactory.java
new file mode 100644
index 0000000..01f7e99
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.api/src/org/eclipse/osbp/infogrid/api/ECViewGridEditorFieldFactory.java
@@ -0,0 +1,56 @@
+/**
+ *                                                                            
+ * 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.infogrid.api;
+
+import java.util.Date;
+
+import org.eclipse.osbp.ecview.core.common.model.core.YField;
+import org.eclipse.osbp.ecview.core.extension.model.extension.ExtensionModelFactory;
+import org.eclipse.osbp.infogrid.model.gridsource.CxGridProperty;
+
+public class ECViewGridEditorFieldFactory implements
+		IECViewGridEditorFieldFactory {
+
+	private ExtensionModelFactory factory = ExtensionModelFactory.eINSTANCE;
+
+	@Override
+	public YField createEditorField(CxGridProperty prop, Class<?> propertyType) {
+		if (propertyType == String.class) {
+			return factory.createYTextField();
+		} else if (propertyType == Integer.class
+				|| propertyType == Integer.TYPE) {
+			return factory.createYNumericField();
+		} else if (propertyType == Short.class || propertyType == Short.TYPE) {
+			return factory.createYNumericField();
+		} else if (propertyType == Byte.class || propertyType == Byte.TYPE) {
+			return factory.createYNumericField();
+		} else if (propertyType == Float.class || propertyType == Float.TYPE) {
+			return factory.createYDecimalField();
+		} else if (propertyType == Double.class || propertyType == Double.TYPE) {
+			return factory.createYDecimalField();
+		} else if (propertyType == Long.class || propertyType == Long.TYPE) {
+			return factory.createYNumericField();
+		} else if (propertyType == Character.class
+				|| propertyType == Character.TYPE) {
+			return factory.createYTextField();
+		} else if (propertyType == Boolean.class
+				|| propertyType == Boolean.TYPE) {
+			return factory.createYCheckBox();
+		} else if (propertyType == Date.class) {
+			return factory.createYDateTime();
+		}
+
+		return null;
+	}
+
+}
diff --git a/org.eclipse.osbp.infogrid.api/src/org/eclipse/osbp/infogrid/api/IConstants.java b/org.eclipse.osbp.infogrid.api/src/org/eclipse/osbp/infogrid/api/IConstants.java
new file mode 100644
index 0000000..cbf02aa
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.api/src/org/eclipse/osbp/infogrid/api/IConstants.java
@@ -0,0 +1,17 @@
+/**
+ *                                                                            
+ * 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.infogrid.api;
+
+public interface IConstants {
+	
+}
diff --git a/org.eclipse.osbp.infogrid.api/src/org/eclipse/osbp/infogrid/api/IECViewGridEditorFieldFactory.java b/org.eclipse.osbp.infogrid.api/src/org/eclipse/osbp/infogrid/api/IECViewGridEditorFieldFactory.java
new file mode 100644
index 0000000..0266703
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.api/src/org/eclipse/osbp/infogrid/api/IECViewGridEditorFieldFactory.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:   
+ * Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation 
+ */
+ package org.eclipse.osbp.infogrid.api;
+
+import org.eclipse.osbp.ecview.core.common.model.core.YField;
+import org.eclipse.osbp.ecview.extension.grid.CxGridColumn;
+import org.eclipse.osbp.infogrid.model.gridsource.CxGridProperty;
+
+/**
+ * Creates a {@link YField} as an editorfield for the given propertyType.
+ * 
+ * @NoImplement by clients
+ * @Scope(singleton)
+ */
+public interface IECViewGridEditorFieldFactory {
+
+	/**
+	 * If CxGrid is editable, we need to return a proper editor field to be used
+	 * in the grid editor. If <code>null</code> is returned, the
+	 * {@link CxGridColumn} will be set to <code>editable=false</code>.
+	 * 
+	 * @param prop
+	 * @param propertyType
+	 * @return
+	 */
+	YField createEditorField(CxGridProperty prop, Class<?> propertyType);
+
+}
diff --git a/org.eclipse.osbp.infogrid.api/src/org/eclipse/osbp/infogrid/api/IECViewGridFactory.java b/org.eclipse.osbp.infogrid.api/src/org/eclipse/osbp/infogrid/api/IECViewGridFactory.java
new file mode 100644
index 0000000..d2cd1a4
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.api/src/org/eclipse/osbp/infogrid/api/IECViewGridFactory.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:   
+ * Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation 
+ */
+ package org.eclipse.osbp.infogrid.api;
+
+import org.eclipse.osbp.infogrid.model.gridsource.CxGridSource;
+
+import org.eclipse.osbp.ecview.extension.grid.CxGrid;
+
+/**
+ * Creates a CxGrid based on a given CxGridSource
+ * 
+ * @NoImplement by clients
+ * @Scope(singleton)
+ */
+public interface IECViewGridFactory {
+
+	/**
+	 * The ID to access the grid editpart by IViewContext.
+	 */
+	public static final String GRID_ID = "org.eclipse.osbp.gridsource.grid";
+	
+	/**
+	 * The ID of the gridsource put to the grids properties.
+	 */
+	public static final String GRIDSOURCE_ID = "GRIDSOURCE_ID";
+
+	/**
+	 * Returns a proper built grid for the given source and input type. The
+	 * inputType is used to configure the filter statements for the connection
+	 * between input type and root type.<br>
+	 * 
+	 * @param inputType
+	 *            The input type to prepare a proper filter.
+	 * @param gridSource
+	 * 
+	 * @return
+	 */
+	CxGrid createGrid(Class<?> inputType, CxGridSource gridSource);
+
+}
diff --git a/org.eclipse.osbp.infogrid.api/src/org/eclipse/osbp/infogrid/api/IECViewGridSourceDescriptor.java b/org.eclipse.osbp.infogrid.api/src/org/eclipse/osbp/infogrid/api/IECViewGridSourceDescriptor.java
new file mode 100644
index 0000000..e2c440e
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.api/src/org/eclipse/osbp/infogrid/api/IECViewGridSourceDescriptor.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.infogrid.api;
+
+import org.eclipse.osbp.ecview.extension.grid.CxGrid;
+
+public interface IECViewGridSourceDescriptor extends IGridSourceDescriptor {
+
+	String PROP_MANUAL_BEANS = "useManualBeans";
+	
+	CxGrid getGrid();
+
+	/**
+	 * If a strategy is set, then it will become notified about saved editor
+	 * values.
+	 * 
+	 * @param strategy
+	 */
+	void setEditorSavedStrategy(EditorSavedStrategy strategy);
+
+	/**
+	 * Implementations are called, if the grid editor was saved.
+	 */
+	public interface EditorSavedStrategy {
+		/**
+		 * This method is called after the grid editor was saved.
+		 * 
+		 * @param value
+		 */
+		void editorSaved(Object value);
+	}
+}
diff --git a/org.eclipse.osbp.infogrid.api/src/org/eclipse/osbp/infogrid/api/IGridSourceCache.java b/org.eclipse.osbp.infogrid.api/src/org/eclipse/osbp/infogrid/api/IGridSourceCache.java
new file mode 100644
index 0000000..8076a6a
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.api/src/org/eclipse/osbp/infogrid/api/IGridSourceCache.java
@@ -0,0 +1,96 @@
+/**
+ *                                                                            
+ * 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.infogrid.api;
+
+import java.net.URL;
+import java.util.List;
+
+import org.eclipse.osbp.infogrid.model.gridsource.CxGridSource;
+
+/**
+ * CxGridSource models can be located in any bundle. This cache aims to
+ * centralize all the different models and gives you access to these instances.
+ * <p>
+ * <b>Note:</b><br>
+ * The {@link CxGridSource#getRootTypeFQN()} property needs to be filled
+ * properly. Also the CxGridProperty#getDotPath value. Otherwise the
+ * rootTypeName and dotPath may not be resolvable, since a Xtext-Setup would be
+ * required. And due to minimal dependencies, we avoid these dependencies.
+ * 
+ * @NoImplement by clients
+ * @Scope(singleton)
+ */
+public interface IGridSourceCache {
+	
+	/**
+	 * Returns all grid source model elements.
+	 * 
+	 * @return
+	 */
+	List<CxGridSource> getAllSources();
+
+	/**
+	 * Returns the grid source model element with the given id.
+	 * 
+	 * @param id
+	 * @return
+	 */
+	CxGridSource getSource(String id);
+
+	/**
+	 * Returns all grid sources matching the given input type.
+	 * 
+	 * @param inputType
+	 * @return
+	 */
+	List<CxGridSource> getSources(Class<?> inputType);
+
+	/**
+	 * Registers new sources.<br>
+	 * The {@link CxGridSource#getRootTypeFQN()} property needs to be filled
+	 * properly. Also the CxGridProperty#getDotPath value. Otherwise the
+	 * rootTypeName and dotPath may not be resolvable, since a Xtext-Setup would
+	 * be required. And due to minimal dependencies, we avoid these
+	 * dependencies.
+	 * 
+	 * @param urls
+	 */
+	void registerSources(List<URL> urls);
+
+	/**
+	 * Unregisters sources.
+	 * 
+	 * @param urls
+	 */
+	void unregisterSources(List<URL> urls);
+
+	/**
+	 * Registers a new source.<br>
+	 * The {@link CxGridSource#getRootTypeFQN()} property needs to be filled
+	 * properly. Also the CxGridProperty#getDotPath value. Otherwise the
+	 * rootTypeName and dotPath may not be resolvable, since a Xtext-Setup would
+	 * be required. And due to minimal dependencies, we avoid these
+	 * dependencies.
+	 * 
+	 * @param source
+	 */
+	void registerSource(CxGridSource source);
+
+	/**
+	 * Unregisters the source.
+	 * 
+	 * @param source
+	 */
+	void unregisterSource(CxGridSource source);
+
+}
diff --git a/org.eclipse.osbp.infogrid.api/src/org/eclipse/osbp/infogrid/api/IGridSourceDescriptor.java b/org.eclipse.osbp.infogrid.api/src/org/eclipse/osbp/infogrid/api/IGridSourceDescriptor.java
new file mode 100644
index 0000000..dce4839
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.api/src/org/eclipse/osbp/infogrid/api/IGridSourceDescriptor.java
@@ -0,0 +1,125 @@
+/**
+ *                                                                            
+ * 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.infogrid.api;
+
+import java.util.Locale;
+import java.util.Map;
+
+import org.eclipse.osbp.runtime.common.dispose.IDisposable;
+import org.eclipse.osbp.infogrid.model.gridsource.CxGridSource;
+
+/**
+ * Subclasses know how to deal with a special kind of CxGridSource. They are
+ * linking the consumer with the created Vaadin-Grid. They also need to handle
+ * input values and changing locales.
+ * 
+ * @Scope(prototype)
+ */
+public interface IGridSourceDescriptor extends IDisposable {
+
+	/**
+	 * The kind-property is part of the CxGridSource model. Its default value is
+	 * ecview. And it may be used to define several kinds of descriptors.
+	 */
+	public static final String PROP_KIND = "kind";
+
+	public static final String KIND_ECVIEW = "ecview";
+	public static final String KIND_VAADIN_NATIVE = "vaadin";
+
+	/**
+	 * Info grid shows 0-n-relations for a given input type.
+	 */
+	public static final String TAG__INFO_GRID = "infoGrid";
+
+	/**
+	 * Single grid can be seen as a table. It may also contain editable fields.
+	 */
+	public static final String TAG__SINGLE_GRID = "singleGrid";
+
+	/**
+	 * Returns the id of the grid source.
+	 * 
+	 * @return
+	 */
+	String getId();
+
+	/**
+	 * Returns a translated label of the source.
+	 * 
+	 * @return
+	 */
+	String getLabel();
+
+	/**
+	 * Returns the input type this descriptor accepts.
+	 * 
+	 * @return
+	 */
+	Class<?> getInputType();
+
+	/**
+	 * Returns the grid source itself.
+	 * 
+	 * @return
+	 */
+	CxGridSource getSource();
+
+	/**
+	 * Returns an UI component with a rendered instance of a grid component.
+	 * 
+	 * @return
+	 */
+	Object getComponent();
+
+	/**
+	 * Sets the input value for the UI component.
+	 * 
+	 * @param value
+	 */
+	void setInput(Object value);
+
+	/**
+	 * Sets the locale for the UI component.
+	 * 
+	 * @param value
+	 */
+	void setLocale(Locale locale);
+
+	/**
+	 * A callback to get required properties for the descriptor.
+	 */
+	interface ConfigCallback {
+
+		/**
+		 * Is called after the descriptor was created. So parties may configure
+		 * the created descriptor properly.
+		 * 
+		 * @param descriptor
+		 */
+		Map<String, Object> getProperties(IGridSourceDescriptor descriptor);
+
+	}
+
+	/**
+	 * Internal API. Needs a downcast.
+	 */
+	interface Internal {
+
+		/**
+		 * Sets the properties of the descriptor.
+		 * 
+		 * @param properties
+		 */
+		void setProperties(Map<String, Object> properties);
+	}
+}
diff --git a/org.eclipse.osbp.infogrid.api/src/org/eclipse/osbp/infogrid/api/IGridSourceDescriptorProvider.java b/org.eclipse.osbp.infogrid.api/src/org/eclipse/osbp/infogrid/api/IGridSourceDescriptorProvider.java
new file mode 100644
index 0000000..418cc22
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.api/src/org/eclipse/osbp/infogrid/api/IGridSourceDescriptorProvider.java
@@ -0,0 +1,55 @@
+/**
+ *                                                                            
+ * 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.infogrid.api;
+
+import org.eclipse.osbp.infogrid.model.gridsource.CxGridSource;
+
+/**
+ * Provides IGridSourceDescriptor for a given grid source. Many OSGi-services
+ * for this interface may be registered.<br>
+ * Use the constants following the pattern {PROP_*} in the OSGi service.
+ */
+public interface IGridSourceDescriptorProvider {
+
+	/**
+	 * The kind-property is part of the CxGridSource model. Its default value is
+	 * ecview. And it may be used to define several kinds of descriptors.
+	 */
+	public static final String PROP_KIND = IGridSourceDescriptor.PROP_KIND;
+
+	public static final String KIND_ECVIEW = IGridSourceDescriptor.KIND_ECVIEW;
+	public static final String KIND_VAADIN_NATIVE = IGridSourceDescriptor.KIND_VAADIN_NATIVE;
+
+	/**
+	 * If this property is set in the OSGi service, then it is only used for
+	 * grid sources with this id.
+	 */
+	public static final String PROP_GRID_SOURCE_ID = "gridSourceId";
+
+	/**
+	 * Returns a descriptor for the given grid source. The filters will be
+	 * properly defined by the inputType.<br>
+	 * The callback is invoked after the descriptor was created. Some
+	 * descriptors like an ECView descriptor need additional information like
+	 * I18nService,... Since I18nService,... is session scoped, a singleton OSGi
+	 * can not access that information itself.
+	 * 
+	 * @param inputType
+	 *            The inputType for the given descriptor
+	 * @param source
+	 * @param callback
+	 * @return
+	 */
+	IGridSourceDescriptor createDescriptor(Class<?> inputType,
+			CxGridSource source, IGridSourceDescriptor.ConfigCallback callback);
+}
diff --git a/org.eclipse.osbp.infogrid.api/src/org/eclipse/osbp/infogrid/api/IGridSourceFacade.java b/org.eclipse.osbp.infogrid.api/src/org/eclipse/osbp/infogrid/api/IGridSourceFacade.java
new file mode 100644
index 0000000..2dd5fd6
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.api/src/org/eclipse/osbp/infogrid/api/IGridSourceFacade.java
@@ -0,0 +1,102 @@
+/**
+ *                                                                            
+ * 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.infogrid.api;
+
+import java.util.List;
+
+import org.eclipse.osbp.infogrid.api.IGridSourceDescriptor.ConfigCallback;
+import org.eclipse.osbp.infogrid.model.gridsource.CxGridSource;
+
+/**
+ * This facade gives you access to the underlying implementations. As an
+ * application developer it is a good idea to use this service.
+ * 
+ * @NoImplement by clients
+ * @Scope(singleton)
+ */
+public interface IGridSourceFacade {
+
+	/**
+	 * Returns the grid source model element with the given id.
+	 * 
+	 * @param id
+	 * @return
+	 */
+	CxGridSource getSource(String id);
+
+	/**
+	 * Returns all grid sources matching the given inputType.
+	 * 
+	 * @param rootType
+	 * @return
+	 */
+	List<CxGridSource> getSources(Class<?> inputType);
+
+	/**
+	 * Returns a configured IGridSourceDescriptor for the given grid source id.<br>
+	 * The inputType is used to configure the filter statements for the
+	 * connection between input type and root type.<br>
+	 * The callback is invoked after the descriptor was created. Some
+	 * descriptors like an ECView descriptor need additional information like
+	 * I18nService,... Since I18nService,... is session scoped, a singleton OSGi
+	 * can not access that information itself.
+	 * 
+	 * @param sourceId
+	 *            Id of the grid source
+	 * @param callback
+	 *            is called after the creation
+	 * @return
+	 */
+	IGridSourceDescriptor getDescriptor(Class<?> inputType, String sourceId,
+			ConfigCallback callback);
+
+	/**
+	 * Returns a configured IGridSourceDescriptor for the given grid source. <br>
+	 * The inputType is used to configure the filter statements for the
+	 * connection between input type and root type.<br>
+	 * The callback is invoked after the descriptor was created. Some
+	 * descriptors like an ECView descriptor need additional information like
+	 * I18nService,... Since I18nService,... is session scoped, a singleton OSGi
+	 * can not access that information itself.
+	 * 
+	 * @param callback
+	 *            is called after the creation
+	 * @param source
+	 *            the grid source
+	 * 
+	 * @return
+	 */
+	IGridSourceDescriptor getDescriptor(Class<?> inputType,
+			CxGridSource cxSource, ConfigCallback callback);
+
+	/**
+	 * Returns all IGridSourceDescriptor available for the given inputType.<br>
+	 * The inputType is used to configure the filter statements for the
+	 * connection between input type and root type.<br>
+	 * The callback is invoked after the descriptor was created. Some
+	 * descriptors like an ECView descriptor need additional information like
+	 * I18nService,... Since I18nService,... is session scoped, a singleton OSGi
+	 * can not access that information itself.
+	 * 
+	 * @param inputType
+	 *            - The input type for which a gridsource should be shown. Based
+	 *            on GridSource's input definition, the allowed inputs are
+	 *            defined there.
+	 * @param callback
+	 *            is called after the creation
+	 * @return
+	 */
+	List<IGridSourceDescriptor> getDescriptors(Class<?> inputType,
+			ConfigCallback callback);
+
+}
diff --git a/org.eclipse.osbp.infogrid.api/src/org/eclipse/osbp/infogrid/api/SingleECViewGridFactory.java b/org.eclipse.osbp.infogrid.api/src/org/eclipse/osbp/infogrid/api/SingleECViewGridFactory.java
new file mode 100644
index 0000000..52ce909
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.api/src/org/eclipse/osbp/infogrid/api/SingleECViewGridFactory.java
@@ -0,0 +1,392 @@
+/**
+ *                                                                            
+ * 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.infogrid.api;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.core.databinding.beans.BeanProperties;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.osbp.ecview.core.common.model.core.YCompare;
+import org.eclipse.osbp.ecview.core.common.model.core.YConverter;
+import org.eclipse.osbp.ecview.core.common.model.core.YField;
+import org.eclipse.osbp.ecview.extension.grid.CxGrid;
+import org.eclipse.osbp.ecview.extension.grid.CxGridColumn;
+import org.eclipse.osbp.ecview.extension.grid.CxGridFactory;
+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.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.CxGridRenderer;
+import org.eclipse.osbp.ecview.extension.grid.renderer.CxGridRendererFactory;
+import org.eclipse.osbp.ecview.extension.model.converter.YConverterFactory;
+import org.eclipse.osbp.ecview.extension.model.converter.YNumericToResourceConfig;
+import org.eclipse.osbp.ecview.extension.model.converter.YNumericToResourceConverter;
+import org.eclipse.osbp.ecview.extension.model.converter.YStringToResourceConfig;
+import org.eclipse.osbp.ecview.extension.model.converter.YStringToResourceConverter;
+import org.eclipse.osbp.infogrid.model.gridsource.CxGridProperty;
+import org.eclipse.osbp.infogrid.model.gridsource.CxGridSource;
+import org.eclipse.osbp.infogrid.model.gridsource.CxGridSourceEQFilter;
+import org.eclipse.osbp.infogrid.model.gridsource.CxGridSourceInput;
+import org.eclipse.osbp.infogrid.model.gridsource.style.CxGridCompare;
+import org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropButtonStyle;
+import org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropDateStyle;
+import org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropImageStyle;
+import org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropIndicatorStyle;
+import org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropNumberStyle;
+import org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropPriceStyle;
+import org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropProgressbarStyle;
+import org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropQuantityStyle;
+import org.eclipse.osbp.infogrid.model.gridsource.style.CxGridStyleConfig;
+import org.eclipse.osbp.infogrid.model.gridsource.style.CxGridStyleConfigNumericToResource;
+import org.eclipse.osbp.infogrid.model.gridsource.style.CxGridStyleConfigStringToResource;
+import org.eclipse.osbp.infogrid.model.gridsource.style.CxGridStylePackage;
+import org.eclipse.osbp.runtime.common.types.IBundleSpace;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.FrameworkUtil;
+import org.osgi.framework.ServiceReference;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class SingleECViewGridFactory implements IECViewGridFactory {
+
+	private static final Logger LOGGER = LoggerFactory
+			.getLogger(SingleECViewGridFactory.class);
+
+	private CxGridFactory gridFactory = CxGridFactory.eINSTANCE;
+
+	// make extendable by services later
+	private IECViewGridEditorFieldFactory editorFieldFactory = new ECViewGridEditorFieldFactory();
+
+	public SingleECViewGridFactory() {
+
+	}
+
+	@Override
+	public CxGrid createGrid(Class<?> inputType, CxGridSource gridSource) {
+
+		BundleContext bc = FrameworkUtil.getBundle(getClass())
+				.getBundleContext();
+		ServiceReference<IBundleSpace> bsRef = bc
+				.getServiceReference(IBundleSpace.class);
+		if (bsRef == null) {
+			LOGGER.error("No BundleSpace available.");
+			return gridFactory.createCxGrid();
+		}
+		IBundleSpace bundleSpace = bc.getService(bsRef);
+
+		Class<?> rootType = null;
+		try {
+			rootType = bundleSpace.forName(gridSource.getRootTypeFQN());
+		} catch (ClassNotFoundException e) {
+			e.printStackTrace();
+		}
+		// TODO: check the case "rootType == null". Maybe use a default rootType
+		// to continue ...
+
+		bc.ungetService(bsRef);
+
+		CxGrid grid = gridFactory.createCxGrid();
+		grid.setId(GRID_ID);
+		grid.getProperties().put(GRIDSOURCE_ID, gridSource.getId());
+		grid.setEditorEnabled(isEditable(gridSource));
+		grid.setHeaderVisible(true);
+		grid.setCustomFilters(false);
+		grid.setFilteringVisible(true);
+		grid.setUseBeanService(!gridSource.getTags().contains(IECViewGridSourceDescriptor.PROP_MANUAL_BEANS));
+		grid.setColumnReorderingAllowed(true);
+		if (rootType != null) {
+
+			grid.setType(rootType);
+			grid.setTypeQualifiedName(rootType.getName());
+
+			for (CxGridProperty prop : gridSource.getProperties()) {
+				CxGridColumn column = gridFactory.createCxGridColumn();
+				column.setPropertyPath(prop.getDotPath());
+				column.setPropertyId(prop.getDotPath());
+
+				Class<?> propertyType = BeanProperties
+						.value(rootType, prop.getDotPath())
+						.getPropertyDescriptor().getPropertyType();
+
+				// editable
+				YField yEditorField = getEditorField(prop, propertyType);
+				column.setEditable(yEditorField != null);
+				column.setEditorField(yEditorField);
+
+				Pair pair = createRendererPair(prop, propertyType);
+				column.setRenderer(pair.renderer);
+				column.setConverter(pair.converter);
+				// column.setMaxWidthPixels(50);
+				grid.getColumns().add(column);
+			}
+
+		}
+
+		for (CxGridSourceInput input : gridSource.getInputs()) {
+			if (inputType.getName().equals(input.getInputTypeFQN())) {
+				for (CxGridSourceEQFilter filter : input.getFilters()) {
+					// take the filter value from the input
+					filter.getInputTypePropertyPath();
+				}
+			}
+		}
+		return grid;
+	}
+
+	/**
+	 * Returns the editor field for the given propertyType.
+	 * 
+	 * @param prop
+	 * @param propertyType
+	 * @return
+	 */
+	protected YField getEditorField(CxGridProperty prop, Class<?> propertyType) {
+		return editorFieldFactory.createEditorField(prop, propertyType);
+	}
+
+	protected boolean isEditable(CxGridSource gridSource) {
+		for (CxGridProperty prop : gridSource.getProperties()) {
+			if (prop.isEditable()) {
+				return true;
+			}
+		}
+		return false;
+	}
+
+	/**
+	 * Creates a renderer for the given property.
+	 * 
+	 * @param prop
+	 * @param propertyType
+	 * @return
+	 */
+	protected Pair createRendererPair(CxGridProperty prop, Class<?> propertyType) {
+
+		Pair pair = new Pair();
+
+		CxGridRendererFactory factory = CxGridRendererFactory.eINSTANCE;
+		if (prop.getStyle() == null) {
+			return createBadRenderer();
+		}
+
+		EClass styleClass = prop.getStyle().eClass();
+		switch (styleClass.getClassifierID()) {
+		case CxGridStylePackage.CX_GRID_PROP_BOOLEAN_STYLE:
+			pair.renderer = factory.createCxGridBooleanRenderer();
+			break;
+		case CxGridStylePackage.CX_GRID_PROP_DATE_STYLE: {
+			CxGridPropDateStyle style = (CxGridPropDateStyle) prop.getStyle();
+			CxGridDateRenderer renderer = factory.createCxGridDateRenderer();
+			renderer.setDateFormat(style.getDateFormat());
+			pair.renderer = renderer;
+		}
+			break;
+		case CxGridStylePackage.CX_GRID_PROP_NUMBER_STYLE: {
+			if (!isNumeric(propertyType)) {
+				return createBadRenderer();
+			}
+			CxGridPropNumberStyle style = (CxGridPropNumberStyle) prop
+					.getStyle();
+			CxGridNumberRenderer renderer = factory
+					.createCxGridNumberRenderer();
+			renderer.setNumberFormat(style.getNumberFormat());
+			pair.renderer = renderer;
+		}
+			break;
+		case CxGridStylePackage.CX_GRID_PROP_BUTTON_STYLE: {
+			CxGridPropButtonStyle style = (CxGridPropButtonStyle) prop
+					.getStyle();
+			CxGridButtonRenderer renderer = factory
+					.createCxGridButtonRenderer();
+			renderer.setEventTopic(style.getEventTopic());
+			pair.renderer = renderer;
+		}
+			break;
+		case CxGridStylePackage.CX_GRID_PROP_IMAGE_STYLE: {
+			CxGridPropImageStyle style = (CxGridPropImageStyle) prop.getStyle();
+			YConverter converter = toConverter(style.getConfigs());
+			CxGridImageRenderer renderer = factory.createCxGridImageRenderer();
+			renderer.setEventTopic(style.getEventTopic());
+			pair.renderer = renderer;
+			pair.converter = converter;
+		}
+			break;
+		case CxGridStylePackage.CX_GRID_PROP_HTML_STYLE:
+			pair.renderer = factory.createCxGridHtmlRenderer();
+			break;
+		case CxGridStylePackage.CX_GRID_PROP_PROGRESSBAR_STYLE: {
+			CxGridPropProgressbarStyle style = (CxGridPropProgressbarStyle) prop
+					.getStyle();
+			CxGridProgressBarRenderer renderer = factory
+					.createCxGridProgressBarRenderer();
+			renderer.setMaxValue(style.getMaxValue());
+			pair.renderer = renderer;
+		}
+			break;
+		case CxGridStylePackage.CX_GRID_PROP_INDICATOR_STYLE: {
+			CxGridPropIndicatorStyle style = (CxGridPropIndicatorStyle) prop
+					.getStyle();
+			CxGridIndicatorRenderer renderer = factory
+					.createCxGridIndicatorRenderer();
+			renderer.setGreenStarts(style.getGreenStarts());
+			renderer.setRedEnds(style.getRedEnds());
+			pair.renderer = renderer;
+		}
+			break;
+		case CxGridStylePackage.CX_GRID_PROP_SPARKLINE_STYLE:
+			pair.renderer = factory.createCxGridHtmlRenderer();
+			break;
+		case CxGridStylePackage.CX_GRID_PROP_TEXT_STYLE:
+			pair.renderer = factory.createCxGridHtmlRenderer();
+			break;
+		case CxGridStylePackage.CX_GRID_PROP_QUANTITY_STYLE: {
+			CxGridPropQuantityStyle style = (CxGridPropQuantityStyle) prop
+					.getStyle();
+			CxGridQuantityRenderer renderer = factory
+					.createCxGridQuantityRenderer();
+			renderer.setHtmlPattern(style.getHtmlPattern());
+			renderer.setNullRepresentation("");
+			renderer.setNumberFormat(style.getValueNumberFormat());
+			renderer.setUomPropertyPath(style.getUomPropertyDotPath());
+			renderer.setValuePropertyPath(style.getValuePropertyDotPath());
+			pair.renderer = renderer;
+		}
+			break;
+		case CxGridStylePackage.CX_GRID_PROP_PRICE_STYLE: {
+			CxGridPropPriceStyle style = (CxGridPropPriceStyle) prop.getStyle();
+			CxGridPriceRenderer renderer = factory.createCxGridPriceRenderer();
+			renderer.setHtmlPattern(style.getHtmlPattern());
+			renderer.setNullRepresentation("");
+			renderer.setNumberFormat(style.getValueNumberFormat());
+			renderer.setCurrencyPropertyPath(style.getCurrencyPropertyDotPath());
+			renderer.setValuePropertyPath(style.getValuePropertyDotPath());
+			pair.renderer = renderer;
+		}
+			break;
+		}
+
+		return pair;
+	}
+
+	protected boolean isNumeric(Class<?> propertyType) {
+		boolean result = Number.class.isAssignableFrom(propertyType);
+		if (!result) {
+			if (propertyType.isPrimitive() && propertyType != Boolean.TYPE
+					&& propertyType != Void.TYPE) {
+				result = true;
+			}
+		}
+		return result;
+	}
+
+	protected YConverter toConverter(EList<CxGridStyleConfig> configs) {
+		if (configs.isEmpty()) {
+			return null;
+		}
+
+		CxGridStyleConfig cxConfig = configs.get(0);
+		if (cxConfig instanceof CxGridStyleConfigStringToResource) {
+			List<YStringToResourceConfig> newConfigs = toStringToResourceConfig(configs);
+			YStringToResourceConverter converter = YConverterFactory.eINSTANCE
+					.createYStringToResourceConverter();
+			converter.getConfigs().addAll(newConfigs);
+			return converter;
+		} else if (cxConfig instanceof CxGridStyleConfigNumericToResource) {
+			List<YNumericToResourceConfig> newConfigs = toNumberToResourceConfig(configs);
+			YNumericToResourceConverter converter = YConverterFactory.eINSTANCE
+					.createYNumericToResourceConverter();
+			converter.getConfigs().addAll(newConfigs);
+			return converter;
+		}
+
+		return null;
+	}
+
+	private List<YNumericToResourceConfig> toNumberToResourceConfig(
+			EList<CxGridStyleConfig> configs) {
+		List<YNumericToResourceConfig> result = new ArrayList<>(configs.size());
+		for (CxGridStyleConfig config : configs) {
+			if (!(config instanceof CxGridStyleConfigNumericToResource)) {
+				LOGGER.warn("you mixed up different style configs!");
+				continue;
+			}
+
+			CxGridStyleConfigNumericToResource givenConfig = (CxGridStyleConfigNumericToResource) config;
+			YNumericToResourceConfig newConfig = YConverterFactory.eINSTANCE
+					.createYNumericToResourceConfig();
+			newConfig.setResourceThemePath(givenConfig.getResourceThemePath());
+			newConfig.setValue(givenConfig.getValue());
+			newConfig.setCompare(toGridCompare(givenConfig.getCompare()));
+			result.add(newConfig);
+		}
+
+		return result;
+	}
+
+	private YCompare toGridCompare(CxGridCompare compare) {
+		switch (compare) {
+		case EQUAL:
+			return YCompare.EQUAL;
+		case GREATER_EQUAL:
+			return YCompare.GREATER_EQUAL;
+		case GREATER_THAN:
+			return YCompare.GREATER_THAN;
+		case LOWER_EQUAL:
+			return YCompare.LOWER_EQUAL;
+		case LOWER_THAN:
+			return YCompare.LOWER_THAN;
+		case NOT_EQUAL:
+			return YCompare.NOT_EQUAL;
+		}
+		return null;
+	}
+
+	private List<YStringToResourceConfig> toStringToResourceConfig(
+			EList<CxGridStyleConfig> configs) {
+		List<YStringToResourceConfig> result = new ArrayList<>(configs.size());
+		for (CxGridStyleConfig config : configs) {
+			if (!(config instanceof CxGridStyleConfigStringToResource)) {
+				LOGGER.warn("you mixed up different style configs!");
+				continue;
+			}
+
+			CxGridStyleConfigStringToResource givenConfig = (CxGridStyleConfigStringToResource) config;
+			YStringToResourceConfig newConfig = YConverterFactory.eINSTANCE
+					.createYStringToResourceConfig();
+			newConfig.setResourceThemePath(givenConfig.getResourceThemePath());
+			newConfig.setValue(givenConfig.getValue());
+			newConfig.setCompare(toGridCompare(givenConfig.getCompare()));
+			result.add(newConfig);
+		}
+
+		return result;
+	}
+
+	protected Pair createBadRenderer() {
+		Pair pair = new Pair();
+		pair.renderer = CxGridRendererFactory.eINSTANCE
+				.createCxGridTextRenderer();
+		return pair;
+	}
+
+	protected static class Pair {
+		public CxGridRenderer renderer;
+		public YConverter converter;
+	}
+}
diff --git a/org.eclipse.osbp.infogrid.ecview/.project b/org.eclipse.osbp.infogrid.ecview/.project
new file mode 100644
index 0000000..276cdd8
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.ecview/.project
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.osbp.infogrid.ecview</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.infogrid.ecview/LICENSE.txt b/org.eclipse.osbp.infogrid.ecview/LICENSE.txt
new file mode 100644
index 0000000..ff42ad4
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.ecview/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.infogrid.ecview/META-INF/MANIFEST.MF b/org.eclipse.osbp.infogrid.ecview/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..3384f0a
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.ecview/META-INF/MANIFEST.MF
@@ -0,0 +1,30 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: org.eclipse.osbp.infogrid.ecview
+Bundle-SymbolicName: org.eclipse.osbp.infogrid.ecview
+Bundle-Vendor: Eclipse OSBP
+Bundle-Version: 0.9.0.qualifier
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Require-Bundle: 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.core.extension.editparts;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.infogrid.model;bundle-version="[0.9.0,0.10.0)",
+ org.eclipse.osbp.infogrid.api;bundle-version="[0.9.0,0.10.0)",
+ org.eclipse.osbp.ecview.extension.grid.model,
+ org.eclipse.osbp.runtime.common;bundle-version="[0.9.0,0.10.0)",
+ org.eclipse.osbp.runtime.web.ecview.presentation.vaadin;bundle-version="[0.9.0,0.10.0)",
+ com.vaadin.server;bundle-version="7.5.7",
+ org.jsoup;bundle-version="1.7.2",
+ org.eclipse.osbp.ecview.core.util.emf;bundle-version="[0.9.0,0.10.0)",
+ org.apache.commons.beanutils;bundle-version="1.9.2",
+ org.eclipse.osbp.ecview.extension.grid.editparts,
+ org.eclipse.osbp.ui.api
+Import-Package: org.eclipse.osbp.user;version="0.9.0",
+ org.osgi.framework;version="1.8.0",
+ org.osgi.service.component;version="1.1.0",
+ org.osgi.service.component.annotations;version="1.2.0",
+ org.slf4j;version="1.7.2"
+Service-Component: OSGI-INF/org.eclipse.osbp.infogrid.ecview.GridSourceDescriptorProvider.xml
+Export-Package: org.eclipse.osbp.infogrid.ecview;x-internal:=true;version="0.9.0"
+Bundle-ActivationPolicy: lazy
diff --git a/org.eclipse.osbp.infogrid.ecview/OSGI-INF/org.eclipse.osbp.infogrid.ecview.GridSourceDescriptorProvider.xml b/org.eclipse.osbp.infogrid.ecview/OSGI-INF/org.eclipse.osbp.infogrid.ecview.GridSourceDescriptorProvider.xml
new file mode 100644
index 0000000..afb0855
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.ecview/OSGI-INF/org.eclipse.osbp.infogrid.ecview.GridSourceDescriptorProvider.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.infogrid.ecview.GridSourceDescriptorProvider">
+   <property name="kind" value="ecview"/>
+   <service>
+      <provide interface="org.eclipse.osbp.infogrid.api.IGridSourceDescriptorProvider"/>
+   </service>
+   <implementation class="org.eclipse.osbp.infogrid.ecview.GridSourceDescriptorProvider"/>
+</scr:component>
\ No newline at end of file
diff --git a/org.eclipse.osbp.infogrid.ecview/about.html b/org.eclipse.osbp.infogrid.ecview/about.html
new file mode 100644
index 0000000..64c0598
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.ecview/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.infogrid.ecview/about.ini b/org.eclipse.osbp.infogrid.ecview/about.ini
new file mode 100644
index 0000000..7df671f
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.ecview/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.infogrid.ecview/about.mappings b/org.eclipse.osbp.infogrid.ecview/about.mappings
new file mode 100644
index 0000000..4511a0a
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.ecview/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.infogrid.ecview/about.properties b/org.eclipse.osbp.infogrid.ecview/about.properties
new file mode 100644
index 0000000..62500ca
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.ecview/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:
+#    Christophe Loetz (Loetz GmbH&Co.KG) - initial API and implementation
+#
+
+# NLS_MESSAGEFORMAT_VAR
+
+featureName=org.eclipse.osbp.infogrid.ecview
+
+################ 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\
+    Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation\n
+################ end of blurb property ####################################
diff --git a/org.eclipse.osbp.infogrid.ecview/build.properties b/org.eclipse.osbp.infogrid.ecview/build.properties
new file mode 100644
index 0000000..b048b81
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.ecview/build.properties
@@ -0,0 +1,12 @@
+source.. = src/
+output.. = target/classes/
+bin.includes = about.properties,  about.mappings,  about.ini,  about.html,  META-INF/,\
+               .,\
+               OSGI-INF/org.eclipse.osbp.infogrid.ecview.GridSourceDescriptorProvider.xml,\
+               OSGI-INF/,\
+               LICENSE.txt,\
+               epl-v10.html,\
+               license.html
+src.includes = about.properties,  about.mappings,  about.ini,  about.html,  license.html,\
+               epl-v10.html,\
+               LICENSE.txt
diff --git a/org.eclipse.osbp.infogrid.ecview/epl-v10.html b/org.eclipse.osbp.infogrid.ecview/epl-v10.html
new file mode 100644
index 0000000..b398acc
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.ecview/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.infogrid.ecview/license.html b/org.eclipse.osbp.infogrid.ecview/license.html
new file mode 100644
index 0000000..6e579a5
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.ecview/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.infogrid.ecview/pom.xml b/org.eclipse.osbp.infogrid.ecview/pom.xml
new file mode 100644
index 0000000..306481c
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.ecview/pom.xml
@@ -0,0 +1,29 @@
+<?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.infogrid</groupId>
+		<artifactId>org.eclipse.osbp.infogrid.aggregator</artifactId>
+		<version>0.9.0-SNAPSHOT</version>
+		<relativePath>..</relativePath>
+	</parent>
+	<artifactId>org.eclipse.osbp.infogrid.ecview</artifactId>
+	<build>
+		<sourceDirectory>src</sourceDirectory>
+		<plugins>
+		</plugins>
+	</build>
+	<packaging>eclipse-plugin</packaging>
+	
+</project>
diff --git a/org.eclipse.osbp.infogrid.ecview/src/org/eclipse/osbp/infogrid/ecview/ECViewGridSourceDescriptor.java b/org.eclipse.osbp.infogrid.ecview/src/org/eclipse/osbp/infogrid/ecview/ECViewGridSourceDescriptor.java
new file mode 100644
index 0000000..68dfc3e
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.ecview/src/org/eclipse/osbp/infogrid/ecview/ECViewGridSourceDescriptor.java
@@ -0,0 +1,322 @@
+/**
+ *                                                                            
+ * 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.infogrid.ecview;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.HashMap;
+import java.util.Locale;
+import java.util.Map;
+
+import org.apache.commons.beanutils.PropertyUtils;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.impl.AdapterImpl;
+import org.eclipse.osbp.ecview.core.common.context.ContextException;
+import org.eclipse.osbp.ecview.core.common.context.IViewContext;
+import org.eclipse.osbp.ecview.core.common.model.core.YBeanSlot;
+import org.eclipse.osbp.ecview.core.common.model.core.YView;
+import org.eclipse.osbp.ecview.core.extension.model.extension.util.SimpleExtensionModelFactory;
+import org.eclipse.osbp.ecview.core.util.emf.ModelUtil;
+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.util.CxGridUtil;
+import org.eclipse.osbp.infogrid.api.AbstractGridSourceDescriptor;
+import org.eclipse.osbp.infogrid.api.IECViewGridFactory;
+import org.eclipse.osbp.infogrid.api.IECViewGridSourceDescriptor;
+import org.eclipse.osbp.infogrid.model.gridsource.CxGridSource;
+import org.eclipse.osbp.infogrid.model.gridsource.CxGridSourceEQFilter;
+import org.eclipse.osbp.infogrid.model.gridsource.CxGridSourceInput;
+import org.eclipse.osbp.runtime.common.i18n.II18nService;
+import org.eclipse.osbp.runtime.web.ecview.presentation.vaadin.VaadinRenderer;
+import org.eclipse.osbp.ui.api.user.IUser;
+import org.eclipse.osbp.ui.api.useraccess.IUserAccessService;
+import org.eclipse.osbp.user.User;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import com.vaadin.ui.CssLayout;
+
+/**
+ * You need to pass the following properties during the creation of the
+ * descriptor.
+ * <p>
+ * <h2>services</h2>
+ * II18nService<br>
+ * E4EventBrokerAdapter<br>
+ * <h2>properties</h2>
+ * locale<br>
+ * 
+ * <h2>Sample</h2>
+ * 
+ * <pre>
+ * // render the Vaadin UI
+ * Map&lt;String, Object&gt; properties = new HashMap&lt;String, Object&gt;();
+ * 
+ * // register services to be used
+ * Map&lt;String, Object&gt; services = new HashMap&lt;String, Object&gt;();
+ * services.put(
+ * 		org.eclipse.osbp.runtime.common.event.IEventBroker.class.getName(),
+ * 		new E4EventBrokerAdapter(e4EventBroker));
+ * services.put(II18nService.class.getName(), i18nService);
+ * properties.put(IViewContext.PARAM_SERVICES, services);
+ */
+public class ECViewGridSourceDescriptor extends AbstractGridSourceDescriptor
+		implements IECViewGridSourceDescriptor {
+
+	private static final Logger LOGGER = LoggerFactory
+			.getLogger(ECViewGridSourceDescriptor.class);
+
+	private static final String PROP_LOCALE = "locale";
+	private static final String BEAN_SLOT = "input";
+
+	private IECViewGridFactory factory;
+	private IViewContext viewContext;
+
+	private Locale locale;
+
+	private CxGrid cxGrid;
+
+	private SavedAdapter savedAdapter;
+
+	private EditorSavedStrategy editorSavedStrategy;
+
+	public ECViewGridSourceDescriptor(Class<?> inputType, CxGridSource source,
+			IECViewGridFactory factory) {
+		super(inputType, source);
+		this.factory = factory;
+	}
+
+	@Override
+	public Object getComponent() {
+		checkDisposed();
+
+		if (viewContext == null) {
+			try {
+				renderView();
+			} catch (ContextException e) {
+				throw new IllegalStateException(e);
+			}
+		}
+		return viewContext.getRootLayout();
+	}
+
+	protected void renderView() throws ContextException {
+
+		cxGrid = factory.createGrid(getInputType(), getSource());
+		SimpleExtensionModelFactory yFactory = new SimpleExtensionModelFactory();
+
+		YView yView = yFactory.createView();
+		YBeanSlot yBeanSlot = yFactory.createBeanSlot();
+		yBeanSlot.setName(BEAN_SLOT);
+		yBeanSlot.setValueType(Object.class);
+		yView.getBeanSlots().add(yBeanSlot);
+		yView.setContent(cxGrid);
+
+		IUserAccessService userAccessService;
+
+		// First alternative to get IUserAccessService via descriptor properties
+		@SuppressWarnings("unchecked")
+		Map<String, Object> services = (Map<String, Object>) properties
+				.get(IViewContext.PARAM_SERVICES);
+		if (services.containsKey(IUser.class.getName())) {
+			User user = (User) services.get(IUser.class.getName());
+			if (user != null) {
+				userAccessService = user.getUserAccessService();
+				cxGrid = CxGridUtil.setPermissions(userAccessService, cxGrid);
+			}
+		}
+		// Second alternative to get IUserAccessService via bundle context
+		// BundleContext bc = FrameworkUtil.getBundle(getClass())
+		// .getBundleContext();
+		// ServiceReference<IUserAccessService> ref = bc
+		// .getServiceReference(IUserAccessService.class);
+		// if (ref != null) {
+		// userAccessService = bc.getService(ref);
+		// cxGrid = CxGridUtil.setPermissions(userAccessService, cxGrid);
+		// }
+
+		CssLayout rootLayout = new CssLayout();
+		rootLayout.setSizeFull();
+		VaadinRenderer renderer = new VaadinRenderer();
+		viewContext = renderer.render(rootLayout, yView, properties);
+		viewContext.setLocale(locale);
+
+		updateSavedStrategy();
+	}
+
+	@Override
+	public void setInput(Object value) {
+		checkDisposed();
+
+		if (viewContext != null) {
+			viewContext.setBean(BEAN_SLOT, value);
+			IGridEditpart editpart = ModelUtil.findEditpart(cxGrid);
+			if (editpart != null) {
+				Map<String, Object> filterProps = createFilterMap(value);
+				editpart.setFilter(filterProps);
+			}
+		}
+	}
+
+	/**
+	 * Creates a map containing the property as key and the filterValue as
+	 * value.<br>
+	 * These values will be added to the Grid as filter statements.
+	 * 
+	 * @param value
+	 * @return
+	 */
+	protected Map<String, Object> createFilterMap(Object value) {
+		Map<String, Object> filterProps = new HashMap<>();
+		if (value == null) {
+			return filterProps;
+		}
+		CxGridSourceInput input = findGridSourceInput(getSource());
+		if (input != null) {
+			for (CxGridSourceEQFilter filter : input.getFilters()) {
+				// the target property from the grids content.
+				String targetFilterProp = filter.getRootTypePropertyPath()
+						.getDotPath();
+				// the source property where the filter value should be used
+				// from
+				String sourceFilterProp = filter.getInputTypePropertyPath()
+						.getDotPath();
+				try {
+					Object sourceFilterValue = PropertyUtils.getNestedProperty(
+							value, sourceFilterProp);
+					filterProps.put(targetFilterProp, sourceFilterValue);
+				} catch (IllegalAccessException | InvocationTargetException
+						| NoSuchMethodException e) {
+					LOGGER.error("{}", e);
+				}
+			}
+		}
+		return filterProps;
+	}
+
+	private CxGridSourceInput findGridSourceInput(CxGridSource source) {
+		for (CxGridSourceInput input : source.getInputs()) {
+			if (getInputType().getName().equals(input.getInputTypeFQN())) {
+				return input;
+			}
+		}
+		return null;
+	}
+
+	@Override
+	public void setLocale(Locale locale) {
+		this.locale = locale;
+	}
+
+	@SuppressWarnings("unchecked")
+	@Override
+	public void setProperties(Map<String, Object> properties) {
+		super.setProperties(properties);
+
+		if (properties == null) {
+			LOGGER.warn("You should pass properties to ensure proper functionality!");
+			return;
+		}
+
+		if (!properties.containsKey(PROP_LOCALE)) {
+			LOGGER.warn("You should pass the locale.");
+		} else {
+			this.locale = (Locale) properties.get(PROP_LOCALE);
+		}
+
+		if (properties.containsKey(PROP_MANUAL_BEANS)) {
+			boolean useManualBeans = (boolean) properties
+					.get(PROP_MANUAL_BEANS);
+			if (useManualBeans) {
+				source.getTags().add(PROP_MANUAL_BEANS);
+			}
+		} else {
+			source.getTags().remove(PROP_MANUAL_BEANS);
+		}
+
+		if (!properties.containsKey(IViewContext.PARAM_SERVICES)) {
+			LOGGER.warn("You should pass some services. See JavaDoc of this class.");
+		} else {
+			Map<String, Object> services = (Map<String, Object>) properties
+					.get(IViewContext.PARAM_SERVICES);
+			if (!services.containsKey(II18nService.ID)) {
+				LOGGER.warn("You should pass the I18nService.");
+			}
+			if (!services
+					.containsKey("org.eclipse.osbp.runtime.common.event.IEventBroker")) {
+				LOGGER.warn("You should pass the org.eclipse.osbp.runtime.common.event.IEventBroker as an E4EventBrokerAdapter.");
+			}
+		}
+	}
+
+	@Override
+	protected void internalDispose() {
+
+		if (savedAdapter != null) {
+			cxGrid.eAdapters().remove(savedAdapter);
+			savedAdapter = null;
+		}
+
+		if (viewContext != null) {
+			viewContext.dispose();
+			viewContext = null;
+		}
+
+		if (properties != null) {
+			properties.clear();
+			properties = null;
+		}
+
+		factory = null;
+	}
+
+	@Override
+	public void setEditorSavedStrategy(EditorSavedStrategy strategy) {
+		this.editorSavedStrategy = strategy;
+		updateSavedStrategy();
+	}
+
+	protected void updateSavedStrategy() {
+		if (cxGrid == null) {
+			return;
+		}
+		if (editorSavedStrategy != null) {
+			if (savedAdapter == null) {
+				savedAdapter = new SavedAdapter();
+			}
+			if (!cxGrid.eAdapters().contains(savedAdapter)) {
+				cxGrid.eAdapters().add(savedAdapter);
+			}
+		} else {
+			if (savedAdapter != null) {
+				cxGrid.eAdapters().remove(savedAdapter);
+			}
+		}
+	}
+
+	@Override
+	public CxGrid getGrid() {
+		return cxGrid;
+	}
+
+	private class SavedAdapter extends AdapterImpl {
+		@Override
+		public void notifyChanged(Notification msg) {
+			if (msg.getFeature() == CxGridPackage.Literals.CX_GRID__EDITOR_SAVED) {
+				if (editorSavedStrategy != null) {
+					editorSavedStrategy.editorSaved(msg.getNewValue());
+				}
+			}
+		}
+	}
+}
diff --git a/org.eclipse.osbp.infogrid.ecview/src/org/eclipse/osbp/infogrid/ecview/GridSourceDescriptorProvider.java b/org.eclipse.osbp.infogrid.ecview/src/org/eclipse/osbp/infogrid/ecview/GridSourceDescriptorProvider.java
new file mode 100644
index 0000000..b07e437
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.ecview/src/org/eclipse/osbp/infogrid/ecview/GridSourceDescriptorProvider.java
@@ -0,0 +1,55 @@
+/**
+ *                                                                            
+ * 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.infogrid.ecview;
+
+import org.eclipse.osbp.infogrid.api.DefaultECViewGridFactory;
+import org.eclipse.osbp.infogrid.api.IECViewGridFactory;
+import org.eclipse.osbp.infogrid.api.IGridSourceDescriptor;
+import org.eclipse.osbp.infogrid.api.IGridSourceDescriptor.ConfigCallback;
+import org.eclipse.osbp.infogrid.api.IGridSourceDescriptorProvider;
+import org.eclipse.osbp.infogrid.api.SingleECViewGridFactory;
+import org.eclipse.osbp.infogrid.model.gridsource.CxGridSource;
+import org.osgi.service.component.annotations.Component;
+
+/**
+ * Creates an ECViewGridSourceDescriptor which is based on ECView.
+ */
+@Component(property = { IGridSourceDescriptorProvider.PROP_KIND + "="
+		+ IGridSourceDescriptorProvider.KIND_ECVIEW })
+public class GridSourceDescriptorProvider implements
+		IGridSourceDescriptorProvider {
+
+	@Override
+	public IGridSourceDescriptor createDescriptor(Class<?> inputType,
+			CxGridSource source, ConfigCallback callback) {
+		ECViewGridSourceDescriptor descriptor = new ECViewGridSourceDescriptor(
+				inputType, source, createFactory(source));
+		if (callback != null) {
+			descriptor.setProperties(callback.getProperties(descriptor));
+		}
+		return descriptor;
+	}
+
+	/**
+	 * Creates a proper grid factory for different use cases.
+	 * 
+	 * @param source
+	 * @return
+	 */
+	private IECViewGridFactory createFactory(CxGridSource source) {
+		if (source.getTags().contains(IGridSourceDescriptor.TAG__SINGLE_GRID)) {
+			return new SingleECViewGridFactory();
+		}
+		return new DefaultECViewGridFactory();
+	}
+}
diff --git a/org.eclipse.osbp.infogrid.feature/.project b/org.eclipse.osbp.infogrid.feature/.project
new file mode 100644
index 0000000..c90de97
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.feature/.project
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.osbp.infogrid.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.infogrid.feature/LICENSE.txt b/org.eclipse.osbp.infogrid.feature/LICENSE.txt
new file mode 100644
index 0000000..ff42ad4
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.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.infogrid.feature/build.properties b/org.eclipse.osbp.infogrid.feature/build.properties
new file mode 100644
index 0000000..68510b7
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.feature/build.properties
@@ -0,0 +1,9 @@
+bin.includes = feature.xml,\
+               feature.properties,\
+               epl-v10.html,\
+               build.properties,\
+               LICENSE.txt,\
+               license.html
+src.includes = LICENSE.txt,\
+               epl-v10.html,\
+               feature.properties
diff --git a/org.eclipse.osbp.infogrid.feature/epl-v10.html b/org.eclipse.osbp.infogrid.feature/epl-v10.html
new file mode 100644
index 0000000..b398acc
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.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.infogrid.feature/feature.properties b/org.eclipse.osbp.infogrid.feature/feature.properties
new file mode 100644
index 0000000..34cf8a2
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.feature/feature.properties
@@ -0,0 +1,169 @@
+###############################################################################
+# 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:
+#     Klemens Edler - initial API and implementation
+###############################################################################
+# 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 InfoGrid 
+
+# "providerName" property - name of the company that provides the feature
+providerName=Eclipse OSBP
+
+# "description" property - description of the feature
+description=Contains all features required for the OSBP InfoGrid
+
+# "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.infogrid.feature/feature.xml b/org.eclipse.osbp.infogrid.feature/feature.xml
new file mode 100644
index 0000000..43e8479
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.feature/feature.xml
@@ -0,0 +1,83 @@
+<?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 -->
+<!--#======================================================================= -->
+
+<feature
+        id="org.eclipse.osbp.infogrid.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.infogrid.api"
+        download-size="0"
+        install-size="0"
+        version="0.0.0"
+        unpack="false"/>
+        
+    <plugin
+        id="org.eclipse.osbp.infogrid.ecview"
+        download-size="0"
+        install-size="0"
+        version="0.0.0"
+        unpack="false"/>
+        
+    <plugin
+        id="org.eclipse.osbp.infogrid.model"
+        download-size="0"
+        install-size="0"
+        version="0.0.0"
+        unpack="false"/>
+        
+    <plugin
+        id="org.eclipse.osbp.infogrid.services"
+        download-size="0"
+        install-size="0"
+        version="0.0.0"
+        unpack="false"/>
+        
+    <!--
+        
+        
+    <plugin
+        id="org.eclipse.osbp.infogrid.services.tests"
+        download-size="0"
+        install-size="0"
+        version="0.0.0"
+        unpack="false"/> -->
+        
+    <plugin
+        id="org.eclipse.osbp.infogrid.vaaclipse"
+        download-size="0"
+        install-size="0"
+        version="0.0.0"
+        unpack="false"/>
+        
+    <plugin
+        id="org.eclipse.osbp.infogrid.vaadin"
+        download-size="0"
+        install-size="0"
+        version="0.0.0"
+        unpack="false"/>
+        
+</feature>
diff --git a/org.eclipse.osbp.infogrid.feature/license.html b/org.eclipse.osbp.infogrid.feature/license.html
new file mode 100644
index 0000000..6e579a5
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.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.infogrid.feature/pom.xml b/org.eclipse.osbp.infogrid.feature/pom.xml
new file mode 100644
index 0000000..b78ddaa
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.feature/pom.xml
@@ -0,0 +1,79 @@
+<?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 implementation 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/maven-v4_0_0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+
+	<parent>
+		<groupId>org.eclipse.osbp.infogrid</groupId>
+		<artifactId>org.eclipse.osbp.infogrid.aggregator</artifactId>
+		<version>0.9.0-SNAPSHOT</version>
+		<relativePath>..</relativePath>
+	</parent>
+
+	<artifactId>org.eclipse.osbp.infogrid.feature</artifactId>
+	<packaging>eclipse-feature</packaging>
+	<description>Contains all features for the OSBP Infogrid</description>
+
+
+
+	<build>
+		<plugins>
+			<plugin>
+				<groupId>org.eclipse.tycho.extras</groupId>
+				<artifactId>tycho-source-feature-plugin</artifactId>
+				<version>${tycho-version}</version>
+				<executions>
+					<execution>
+						<id>source-feature</id>
+						<phase>package</phase>
+						<goals>
+							<goal>source-feature</goal>
+						</goals>
+					</execution>
+				</executions>
+				<configuration>
+					<labelSuffix> (source)</labelSuffix>
+					<excludes>
+					</excludes>
+				</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>
+</project>
diff --git a/org.eclipse.osbp.infogrid.feature/src/main/javadoc/README.txt b/org.eclipse.osbp.infogrid.feature/src/main/javadoc/README.txt
new file mode 100644
index 0000000..831da7e
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.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.infogrid.feature/src/overview.html b/org.eclipse.osbp.infogrid.feature/src/overview.html
new file mode 100644
index 0000000..d8c5046
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.feature/src/overview.html
@@ -0,0 +1,11 @@
+<!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;Infogrid </strong>implements the read only grid functionality.</p>
+
+<p>&nbsp;</p>
+</body>
+</html>
diff --git a/org.eclipse.osbp.infogrid.model.edit/.project b/org.eclipse.osbp.infogrid.model.edit/.project
new file mode 100644
index 0000000..7174e52
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model.edit/.project
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.osbp.infogrid.model.edit</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.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.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.infogrid.model.edit/LICENSE.txt b/org.eclipse.osbp.infogrid.model.edit/LICENSE.txt
new file mode 100644
index 0000000..ff42ad4
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model.edit/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.infogrid.model.edit/META-INF/MANIFEST.MF b/org.eclipse.osbp.infogrid.model.edit/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..c701286
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model.edit/META-INF/MANIFEST.MF
@@ -0,0 +1,18 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: org.eclipse.osbp.infogrid.model.edit
+Bundle-SymbolicName: org.eclipse.osbp.infogrid.model.edit;singleton:=true
+Bundle-Version: 0.9.0.qualifier
+Bundle-ClassPath: .
+Bundle-Activator: org.eclipse.osbp.infogrid.model.gridsource.provider.CxGridSourceEditPlugin$Implementation
+Bundle-Vendor: Eclipse OSBP
+Bundle-Localization: plugin
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Export-Package: org.eclipse.osbp.infogrid.model.gridsource.provider;version="0.9.0",
+ org.eclipse.osbp.infogrid.model.gridsource.style.provider;version="0.9.0"
+Require-Bundle: org.eclipse.core.runtime,
+ org.eclipse.osbp.infogrid.model;bundle-version="[0.9.0,0.10.0)";visibility:=reexport,
+ org.eclipse.emf.edit;visibility:=reexport,
+ org.eclipse.xtext.common.types;bundle-version="[2.7.3,2.8.0)";visibility:=reexport,
+ org.eclipse.xtext.common.types.edit;bundle-version="[2.7.3,2.8.0)";visibility:=reexport
+Bundle-ActivationPolicy: lazy
diff --git a/org.eclipse.osbp.infogrid.model.edit/about.html b/org.eclipse.osbp.infogrid.model.edit/about.html
new file mode 100644
index 0000000..64c0598
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model.edit/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.infogrid.model.edit/about.ini b/org.eclipse.osbp.infogrid.model.edit/about.ini
new file mode 100644
index 0000000..7df671f
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model.edit/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.infogrid.model.edit/about.mappings b/org.eclipse.osbp.infogrid.model.edit/about.mappings
new file mode 100644
index 0000000..4511a0a
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model.edit/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.infogrid.model.edit/about.properties b/org.eclipse.osbp.infogrid.model.edit/about.properties
new file mode 100644
index 0000000..90f12f2
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model.edit/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:
+#    Christophe Loetz (Loetz GmbH&Co.KG) - initial API and implementation
+#
+
+# NLS_MESSAGEFORMAT_VAR
+
+featureName=org.eclipse.osbp.infogrid.model.edit
+
+################ 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\
+    Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation\n
+################ end of blurb property ####################################
diff --git a/org.eclipse.osbp.infogrid.model.edit/build.properties b/org.eclipse.osbp.infogrid.model.edit/build.properties
new file mode 100644
index 0000000..0fd0b64
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model.edit/build.properties
@@ -0,0 +1,17 @@
+#
+
+bin.includes = about.properties,  about.mappings,  about.ini,  about.html,  .,\
+               icons/,\
+               META-INF/,\
+               plugin.xml,\
+               plugin.properties,\
+               LICENSE.txt,\
+               epl-v10.html,\
+               license.html
+jars.compile.order = .
+source.. = src/
+output.. = target/classes/
+src.includes = about.properties,  about.mappings,  about.ini,  about.html,  license.html,\
+               epl-v10.html,\
+               LICENSE.txt,\
+               icons/
diff --git a/org.eclipse.osbp.infogrid.model.edit/epl-v10.html b/org.eclipse.osbp.infogrid.model.edit/epl-v10.html
new file mode 100644
index 0000000..b398acc
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model.edit/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.infogrid.model.edit/icons/full/ctool16/CreateCxGridNestedField_path_CxGridNestedPath.gif b/org.eclipse.osbp.infogrid.model.edit/icons/full/ctool16/CreateCxGridNestedField_path_CxGridNestedPath.gif
new file mode 100644
index 0000000..c6407cd
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model.edit/icons/full/ctool16/CreateCxGridNestedField_path_CxGridNestedPath.gif
Binary files differ
diff --git a/org.eclipse.osbp.infogrid.model.edit/icons/full/ctool16/CreateCxGridNestedPath_path_CxGridNestedPath.gif b/org.eclipse.osbp.infogrid.model.edit/icons/full/ctool16/CreateCxGridNestedPath_path_CxGridNestedPath.gif
new file mode 100644
index 0000000..a1607f9
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model.edit/icons/full/ctool16/CreateCxGridNestedPath_path_CxGridNestedPath.gif
Binary files differ
diff --git a/org.eclipse.osbp.infogrid.model.edit/icons/full/ctool16/CreateCxGridPropImageStyle_configs_CxGridStyleConfig.gif b/org.eclipse.osbp.infogrid.model.edit/icons/full/ctool16/CreateCxGridPropImageStyle_configs_CxGridStyleConfig.gif
new file mode 100644
index 0000000..427fb58
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model.edit/icons/full/ctool16/CreateCxGridPropImageStyle_configs_CxGridStyleConfig.gif
Binary files differ
diff --git a/org.eclipse.osbp.infogrid.model.edit/icons/full/ctool16/CreateCxGridPropImageStyle_configs_CxGridStyleConfigNumericToResource.gif b/org.eclipse.osbp.infogrid.model.edit/icons/full/ctool16/CreateCxGridPropImageStyle_configs_CxGridStyleConfigNumericToResource.gif
new file mode 100644
index 0000000..4660f20
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model.edit/icons/full/ctool16/CreateCxGridPropImageStyle_configs_CxGridStyleConfigNumericToResource.gif
Binary files differ
diff --git a/org.eclipse.osbp.infogrid.model.edit/icons/full/ctool16/CreateCxGridPropImageStyle_configs_CxGridStyleConfigStringToResource.gif b/org.eclipse.osbp.infogrid.model.edit/icons/full/ctool16/CreateCxGridPropImageStyle_configs_CxGridStyleConfigStringToResource.gif
new file mode 100644
index 0000000..30d6c62
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model.edit/icons/full/ctool16/CreateCxGridPropImageStyle_configs_CxGridStyleConfigStringToResource.gif
Binary files differ
diff --git a/org.eclipse.osbp.infogrid.model.edit/icons/full/ctool16/CreateCxGridPropPriceStyle_currencyPropertyPath_CxGridNestedField.gif b/org.eclipse.osbp.infogrid.model.edit/icons/full/ctool16/CreateCxGridPropPriceStyle_currencyPropertyPath_CxGridNestedField.gif
new file mode 100644
index 0000000..9ff2342
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model.edit/icons/full/ctool16/CreateCxGridPropPriceStyle_currencyPropertyPath_CxGridNestedField.gif
Binary files differ
diff --git a/org.eclipse.osbp.infogrid.model.edit/icons/full/ctool16/CreateCxGridPropPriceStyle_valuePropertyPath_CxGridNestedField.gif b/org.eclipse.osbp.infogrid.model.edit/icons/full/ctool16/CreateCxGridPropPriceStyle_valuePropertyPath_CxGridNestedField.gif
new file mode 100644
index 0000000..9ff2342
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model.edit/icons/full/ctool16/CreateCxGridPropPriceStyle_valuePropertyPath_CxGridNestedField.gif
Binary files differ
diff --git a/org.eclipse.osbp.infogrid.model.edit/icons/full/ctool16/CreateCxGridPropQuantityStyle_uomPropertyPath_CxGridNestedField.gif b/org.eclipse.osbp.infogrid.model.edit/icons/full/ctool16/CreateCxGridPropQuantityStyle_uomPropertyPath_CxGridNestedField.gif
new file mode 100644
index 0000000..c9f27e5
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model.edit/icons/full/ctool16/CreateCxGridPropQuantityStyle_uomPropertyPath_CxGridNestedField.gif
Binary files differ
diff --git a/org.eclipse.osbp.infogrid.model.edit/icons/full/ctool16/CreateCxGridPropQuantityStyle_valuePropertyPath_CxGridNestedField.gif b/org.eclipse.osbp.infogrid.model.edit/icons/full/ctool16/CreateCxGridPropQuantityStyle_valuePropertyPath_CxGridNestedField.gif
new file mode 100644
index 0000000..c9f27e5
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model.edit/icons/full/ctool16/CreateCxGridPropQuantityStyle_valuePropertyPath_CxGridNestedField.gif
Binary files differ
diff --git a/org.eclipse.osbp.infogrid.model.edit/icons/full/ctool16/CreateCxGridPropSparklineStyle_field_CxGridNestedField.gif b/org.eclipse.osbp.infogrid.model.edit/icons/full/ctool16/CreateCxGridPropSparklineStyle_field_CxGridNestedField.gif
new file mode 100644
index 0000000..15cbbad
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model.edit/icons/full/ctool16/CreateCxGridPropSparklineStyle_field_CxGridNestedField.gif
Binary files differ
diff --git a/org.eclipse.osbp.infogrid.model.edit/icons/full/ctool16/CreateCxGridPropSparklineStyle_path_CxGridNestedField.gif b/org.eclipse.osbp.infogrid.model.edit/icons/full/ctool16/CreateCxGridPropSparklineStyle_path_CxGridNestedField.gif
new file mode 100644
index 0000000..15cbbad
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model.edit/icons/full/ctool16/CreateCxGridPropSparklineStyle_path_CxGridNestedField.gif
Binary files differ
diff --git a/org.eclipse.osbp.infogrid.model.edit/icons/full/ctool16/CreateCxGridProperty_path_CxGridNestedField.gif b/org.eclipse.osbp.infogrid.model.edit/icons/full/ctool16/CreateCxGridProperty_path_CxGridNestedField.gif
new file mode 100644
index 0000000..9ad2ce6
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model.edit/icons/full/ctool16/CreateCxGridProperty_path_CxGridNestedField.gif
Binary files differ
diff --git a/org.eclipse.osbp.infogrid.model.edit/icons/full/ctool16/CreateCxGridProperty_style_CxGridPropBooleanStyle.gif b/org.eclipse.osbp.infogrid.model.edit/icons/full/ctool16/CreateCxGridProperty_style_CxGridPropBooleanStyle.gif
new file mode 100644
index 0000000..a2eae98
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model.edit/icons/full/ctool16/CreateCxGridProperty_style_CxGridPropBooleanStyle.gif
Binary files differ
diff --git a/org.eclipse.osbp.infogrid.model.edit/icons/full/ctool16/CreateCxGridProperty_style_CxGridPropButtonStyle.gif b/org.eclipse.osbp.infogrid.model.edit/icons/full/ctool16/CreateCxGridProperty_style_CxGridPropButtonStyle.gif
new file mode 100644
index 0000000..9696206
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model.edit/icons/full/ctool16/CreateCxGridProperty_style_CxGridPropButtonStyle.gif
Binary files differ
diff --git a/org.eclipse.osbp.infogrid.model.edit/icons/full/ctool16/CreateCxGridProperty_style_CxGridPropDateStyle.gif b/org.eclipse.osbp.infogrid.model.edit/icons/full/ctool16/CreateCxGridProperty_style_CxGridPropDateStyle.gif
new file mode 100644
index 0000000..18e4f1a
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model.edit/icons/full/ctool16/CreateCxGridProperty_style_CxGridPropDateStyle.gif
Binary files differ
diff --git a/org.eclipse.osbp.infogrid.model.edit/icons/full/ctool16/CreateCxGridProperty_style_CxGridPropHtmlStyle.gif b/org.eclipse.osbp.infogrid.model.edit/icons/full/ctool16/CreateCxGridProperty_style_CxGridPropHtmlStyle.gif
new file mode 100644
index 0000000..61e16c0
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model.edit/icons/full/ctool16/CreateCxGridProperty_style_CxGridPropHtmlStyle.gif
Binary files differ
diff --git a/org.eclipse.osbp.infogrid.model.edit/icons/full/ctool16/CreateCxGridProperty_style_CxGridPropImageStyle.gif b/org.eclipse.osbp.infogrid.model.edit/icons/full/ctool16/CreateCxGridProperty_style_CxGridPropImageStyle.gif
new file mode 100644
index 0000000..998cc10
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model.edit/icons/full/ctool16/CreateCxGridProperty_style_CxGridPropImageStyle.gif
Binary files differ
diff --git a/org.eclipse.osbp.infogrid.model.edit/icons/full/ctool16/CreateCxGridProperty_style_CxGridPropIndicatorStyle.gif b/org.eclipse.osbp.infogrid.model.edit/icons/full/ctool16/CreateCxGridProperty_style_CxGridPropIndicatorStyle.gif
new file mode 100644
index 0000000..83969f9
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model.edit/icons/full/ctool16/CreateCxGridProperty_style_CxGridPropIndicatorStyle.gif
Binary files differ
diff --git a/org.eclipse.osbp.infogrid.model.edit/icons/full/ctool16/CreateCxGridProperty_style_CxGridPropNumberStyle.gif b/org.eclipse.osbp.infogrid.model.edit/icons/full/ctool16/CreateCxGridProperty_style_CxGridPropNumberStyle.gif
new file mode 100644
index 0000000..7bef7ae
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model.edit/icons/full/ctool16/CreateCxGridProperty_style_CxGridPropNumberStyle.gif
Binary files differ
diff --git a/org.eclipse.osbp.infogrid.model.edit/icons/full/ctool16/CreateCxGridProperty_style_CxGridPropPriceStyle.gif b/org.eclipse.osbp.infogrid.model.edit/icons/full/ctool16/CreateCxGridProperty_style_CxGridPropPriceStyle.gif
new file mode 100644
index 0000000..9130fd6
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model.edit/icons/full/ctool16/CreateCxGridProperty_style_CxGridPropPriceStyle.gif
Binary files differ
diff --git a/org.eclipse.osbp.infogrid.model.edit/icons/full/ctool16/CreateCxGridProperty_style_CxGridPropProgressbarStyle.gif b/org.eclipse.osbp.infogrid.model.edit/icons/full/ctool16/CreateCxGridProperty_style_CxGridPropProgressbarStyle.gif
new file mode 100644
index 0000000..9696206
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model.edit/icons/full/ctool16/CreateCxGridProperty_style_CxGridPropProgressbarStyle.gif
Binary files differ
diff --git a/org.eclipse.osbp.infogrid.model.edit/icons/full/ctool16/CreateCxGridProperty_style_CxGridPropQuantityStyle.gif b/org.eclipse.osbp.infogrid.model.edit/icons/full/ctool16/CreateCxGridProperty_style_CxGridPropQuantityStyle.gif
new file mode 100644
index 0000000..ac035ea
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model.edit/icons/full/ctool16/CreateCxGridProperty_style_CxGridPropQuantityStyle.gif
Binary files differ
diff --git a/org.eclipse.osbp.infogrid.model.edit/icons/full/ctool16/CreateCxGridProperty_style_CxGridPropSparklineStyle.gif b/org.eclipse.osbp.infogrid.model.edit/icons/full/ctool16/CreateCxGridProperty_style_CxGridPropSparklineStyle.gif
new file mode 100644
index 0000000..014b83a
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model.edit/icons/full/ctool16/CreateCxGridProperty_style_CxGridPropSparklineStyle.gif
Binary files differ
diff --git a/org.eclipse.osbp.infogrid.model.edit/icons/full/ctool16/CreateCxGridProperty_style_CxGridPropTextStyle.gif b/org.eclipse.osbp.infogrid.model.edit/icons/full/ctool16/CreateCxGridProperty_style_CxGridPropTextStyle.gif
new file mode 100644
index 0000000..4aa68ea
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model.edit/icons/full/ctool16/CreateCxGridProperty_style_CxGridPropTextStyle.gif
Binary files differ
diff --git a/org.eclipse.osbp.infogrid.model.edit/icons/full/ctool16/CreateCxGridSourceEQFilter_inputTypePropertyPath_CxGridNestedField.gif b/org.eclipse.osbp.infogrid.model.edit/icons/full/ctool16/CreateCxGridSourceEQFilter_inputTypePropertyPath_CxGridNestedField.gif
new file mode 100644
index 0000000..15cbbad
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model.edit/icons/full/ctool16/CreateCxGridSourceEQFilter_inputTypePropertyPath_CxGridNestedField.gif
Binary files differ
diff --git a/org.eclipse.osbp.infogrid.model.edit/icons/full/ctool16/CreateCxGridSourceEQFilter_rootTypePropertyPath_CxGridNestedField.gif b/org.eclipse.osbp.infogrid.model.edit/icons/full/ctool16/CreateCxGridSourceEQFilter_rootTypePropertyPath_CxGridNestedField.gif
new file mode 100644
index 0000000..15cbbad
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model.edit/icons/full/ctool16/CreateCxGridSourceEQFilter_rootTypePropertyPath_CxGridNestedField.gif
Binary files differ
diff --git a/org.eclipse.osbp.infogrid.model.edit/icons/full/ctool16/CreateCxGridSourceInput_filters_CxGridSourceEQFilter.gif b/org.eclipse.osbp.infogrid.model.edit/icons/full/ctool16/CreateCxGridSourceInput_filters_CxGridSourceEQFilter.gif
new file mode 100644
index 0000000..7601130
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model.edit/icons/full/ctool16/CreateCxGridSourceInput_filters_CxGridSourceEQFilter.gif
Binary files differ
diff --git a/org.eclipse.osbp.infogrid.model.edit/icons/full/ctool16/CreateCxGridSourceInput_inputType_JvmAnyTypeReference.gif b/org.eclipse.osbp.infogrid.model.edit/icons/full/ctool16/CreateCxGridSourceInput_inputType_JvmAnyTypeReference.gif
new file mode 100644
index 0000000..d192e7c
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model.edit/icons/full/ctool16/CreateCxGridSourceInput_inputType_JvmAnyTypeReference.gif
Binary files differ
diff --git a/org.eclipse.osbp.infogrid.model.edit/icons/full/ctool16/CreateCxGridSourceInput_inputType_JvmDelegateTypeReference.gif b/org.eclipse.osbp.infogrid.model.edit/icons/full/ctool16/CreateCxGridSourceInput_inputType_JvmDelegateTypeReference.gif
new file mode 100644
index 0000000..0403fbd
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model.edit/icons/full/ctool16/CreateCxGridSourceInput_inputType_JvmDelegateTypeReference.gif
Binary files differ
diff --git a/org.eclipse.osbp.infogrid.model.edit/icons/full/ctool16/CreateCxGridSourceInput_inputType_JvmGenericArrayTypeReference.gif b/org.eclipse.osbp.infogrid.model.edit/icons/full/ctool16/CreateCxGridSourceInput_inputType_JvmGenericArrayTypeReference.gif
new file mode 100644
index 0000000..3fbacda
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model.edit/icons/full/ctool16/CreateCxGridSourceInput_inputType_JvmGenericArrayTypeReference.gif
Binary files differ
diff --git a/org.eclipse.osbp.infogrid.model.edit/icons/full/ctool16/CreateCxGridSourceInput_inputType_JvmInnerTypeReference.gif b/org.eclipse.osbp.infogrid.model.edit/icons/full/ctool16/CreateCxGridSourceInput_inputType_JvmInnerTypeReference.gif
new file mode 100644
index 0000000..d7b26a7
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model.edit/icons/full/ctool16/CreateCxGridSourceInput_inputType_JvmInnerTypeReference.gif
Binary files differ
diff --git a/org.eclipse.osbp.infogrid.model.edit/icons/full/ctool16/CreateCxGridSourceInput_inputType_JvmMultiTypeReference.gif b/org.eclipse.osbp.infogrid.model.edit/icons/full/ctool16/CreateCxGridSourceInput_inputType_JvmMultiTypeReference.gif
new file mode 100644
index 0000000..3119072
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model.edit/icons/full/ctool16/CreateCxGridSourceInput_inputType_JvmMultiTypeReference.gif
Binary files differ
diff --git a/org.eclipse.osbp.infogrid.model.edit/icons/full/ctool16/CreateCxGridSourceInput_inputType_JvmParameterizedTypeReference.gif b/org.eclipse.osbp.infogrid.model.edit/icons/full/ctool16/CreateCxGridSourceInput_inputType_JvmParameterizedTypeReference.gif
new file mode 100644
index 0000000..8e4853e
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model.edit/icons/full/ctool16/CreateCxGridSourceInput_inputType_JvmParameterizedTypeReference.gif
Binary files differ
diff --git a/org.eclipse.osbp.infogrid.model.edit/icons/full/ctool16/CreateCxGridSourceInput_inputType_JvmSynonymTypeReference.gif b/org.eclipse.osbp.infogrid.model.edit/icons/full/ctool16/CreateCxGridSourceInput_inputType_JvmSynonymTypeReference.gif
new file mode 100644
index 0000000..0dabd12
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model.edit/icons/full/ctool16/CreateCxGridSourceInput_inputType_JvmSynonymTypeReference.gif
Binary files differ
diff --git a/org.eclipse.osbp.infogrid.model.edit/icons/full/ctool16/CreateCxGridSourceInput_inputType_JvmUnknownTypeReference.gif b/org.eclipse.osbp.infogrid.model.edit/icons/full/ctool16/CreateCxGridSourceInput_inputType_JvmUnknownTypeReference.gif
new file mode 100644
index 0000000..f4ea4b7
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model.edit/icons/full/ctool16/CreateCxGridSourceInput_inputType_JvmUnknownTypeReference.gif
Binary files differ
diff --git a/org.eclipse.osbp.infogrid.model.edit/icons/full/ctool16/CreateCxGridSourceInput_inputType_JvmWildcardTypeReference.gif b/org.eclipse.osbp.infogrid.model.edit/icons/full/ctool16/CreateCxGridSourceInput_inputType_JvmWildcardTypeReference.gif
new file mode 100644
index 0000000..4c78bee
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model.edit/icons/full/ctool16/CreateCxGridSourceInput_inputType_JvmWildcardTypeReference.gif
Binary files differ
diff --git a/org.eclipse.osbp.infogrid.model.edit/icons/full/ctool16/CreateCxGridSource_inputs_CxGridSourceInput.gif b/org.eclipse.osbp.infogrid.model.edit/icons/full/ctool16/CreateCxGridSource_inputs_CxGridSourceInput.gif
new file mode 100644
index 0000000..bcd0fbd
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model.edit/icons/full/ctool16/CreateCxGridSource_inputs_CxGridSourceInput.gif
Binary files differ
diff --git a/org.eclipse.osbp.infogrid.model.edit/icons/full/ctool16/CreateCxGridSource_properties_CxGridProperty.gif b/org.eclipse.osbp.infogrid.model.edit/icons/full/ctool16/CreateCxGridSource_properties_CxGridProperty.gif
new file mode 100644
index 0000000..fe6b442
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model.edit/icons/full/ctool16/CreateCxGridSource_properties_CxGridProperty.gif
Binary files differ
diff --git a/org.eclipse.osbp.infogrid.model.edit/icons/full/ctool16/CreateCxGridSource_rootType_JvmAnyTypeReference.gif b/org.eclipse.osbp.infogrid.model.edit/icons/full/ctool16/CreateCxGridSource_rootType_JvmAnyTypeReference.gif
new file mode 100644
index 0000000..00241cb
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model.edit/icons/full/ctool16/CreateCxGridSource_rootType_JvmAnyTypeReference.gif
Binary files differ
diff --git a/org.eclipse.osbp.infogrid.model.edit/icons/full/ctool16/CreateCxGridSource_rootType_JvmDelegateTypeReference.gif b/org.eclipse.osbp.infogrid.model.edit/icons/full/ctool16/CreateCxGridSource_rootType_JvmDelegateTypeReference.gif
new file mode 100644
index 0000000..d064fcb
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model.edit/icons/full/ctool16/CreateCxGridSource_rootType_JvmDelegateTypeReference.gif
Binary files differ
diff --git a/org.eclipse.osbp.infogrid.model.edit/icons/full/ctool16/CreateCxGridSource_rootType_JvmGenericArrayTypeReference.gif b/org.eclipse.osbp.infogrid.model.edit/icons/full/ctool16/CreateCxGridSource_rootType_JvmGenericArrayTypeReference.gif
new file mode 100644
index 0000000..c4ab846
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model.edit/icons/full/ctool16/CreateCxGridSource_rootType_JvmGenericArrayTypeReference.gif
Binary files differ
diff --git a/org.eclipse.osbp.infogrid.model.edit/icons/full/ctool16/CreateCxGridSource_rootType_JvmInnerTypeReference.gif b/org.eclipse.osbp.infogrid.model.edit/icons/full/ctool16/CreateCxGridSource_rootType_JvmInnerTypeReference.gif
new file mode 100644
index 0000000..babcc9e
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model.edit/icons/full/ctool16/CreateCxGridSource_rootType_JvmInnerTypeReference.gif
Binary files differ
diff --git a/org.eclipse.osbp.infogrid.model.edit/icons/full/ctool16/CreateCxGridSource_rootType_JvmMultiTypeReference.gif b/org.eclipse.osbp.infogrid.model.edit/icons/full/ctool16/CreateCxGridSource_rootType_JvmMultiTypeReference.gif
new file mode 100644
index 0000000..b71213d
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model.edit/icons/full/ctool16/CreateCxGridSource_rootType_JvmMultiTypeReference.gif
Binary files differ
diff --git a/org.eclipse.osbp.infogrid.model.edit/icons/full/ctool16/CreateCxGridSource_rootType_JvmParameterizedTypeReference.gif b/org.eclipse.osbp.infogrid.model.edit/icons/full/ctool16/CreateCxGridSource_rootType_JvmParameterizedTypeReference.gif
new file mode 100644
index 0000000..67fc534
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model.edit/icons/full/ctool16/CreateCxGridSource_rootType_JvmParameterizedTypeReference.gif
Binary files differ
diff --git a/org.eclipse.osbp.infogrid.model.edit/icons/full/ctool16/CreateCxGridSource_rootType_JvmSynonymTypeReference.gif b/org.eclipse.osbp.infogrid.model.edit/icons/full/ctool16/CreateCxGridSource_rootType_JvmSynonymTypeReference.gif
new file mode 100644
index 0000000..171603a
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model.edit/icons/full/ctool16/CreateCxGridSource_rootType_JvmSynonymTypeReference.gif
Binary files differ
diff --git a/org.eclipse.osbp.infogrid.model.edit/icons/full/ctool16/CreateCxGridSource_rootType_JvmUnknownTypeReference.gif b/org.eclipse.osbp.infogrid.model.edit/icons/full/ctool16/CreateCxGridSource_rootType_JvmUnknownTypeReference.gif
new file mode 100644
index 0000000..c819bce
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model.edit/icons/full/ctool16/CreateCxGridSource_rootType_JvmUnknownTypeReference.gif
Binary files differ
diff --git a/org.eclipse.osbp.infogrid.model.edit/icons/full/ctool16/CreateCxGridSource_rootType_JvmWildcardTypeReference.gif b/org.eclipse.osbp.infogrid.model.edit/icons/full/ctool16/CreateCxGridSource_rootType_JvmWildcardTypeReference.gif
new file mode 100644
index 0000000..d08a6f8
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model.edit/icons/full/ctool16/CreateCxGridSource_rootType_JvmWildcardTypeReference.gif
Binary files differ
diff --git a/org.eclipse.osbp.infogrid.model.edit/icons/full/obj16/CxGridNestedField.gif b/org.eclipse.osbp.infogrid.model.edit/icons/full/obj16/CxGridNestedField.gif
new file mode 100644
index 0000000..be22463
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model.edit/icons/full/obj16/CxGridNestedField.gif
Binary files differ
diff --git a/org.eclipse.osbp.infogrid.model.edit/icons/full/obj16/CxGridNestedPath.gif b/org.eclipse.osbp.infogrid.model.edit/icons/full/obj16/CxGridNestedPath.gif
new file mode 100644
index 0000000..cdd3b76
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model.edit/icons/full/obj16/CxGridNestedPath.gif
Binary files differ
diff --git a/org.eclipse.osbp.infogrid.model.edit/icons/full/obj16/CxGridPropBooleanStyle.gif b/org.eclipse.osbp.infogrid.model.edit/icons/full/obj16/CxGridPropBooleanStyle.gif
new file mode 100644
index 0000000..30f0c48
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model.edit/icons/full/obj16/CxGridPropBooleanStyle.gif
Binary files differ
diff --git a/org.eclipse.osbp.infogrid.model.edit/icons/full/obj16/CxGridPropDateStyle.gif b/org.eclipse.osbp.infogrid.model.edit/icons/full/obj16/CxGridPropDateStyle.gif
new file mode 100644
index 0000000..98b351f
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model.edit/icons/full/obj16/CxGridPropDateStyle.gif
Binary files differ
diff --git a/org.eclipse.osbp.infogrid.model.edit/icons/full/obj16/CxGridPropImageStyle.gif b/org.eclipse.osbp.infogrid.model.edit/icons/full/obj16/CxGridPropImageStyle.gif
new file mode 100644
index 0000000..94c953e
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model.edit/icons/full/obj16/CxGridPropImageStyle.gif
Binary files differ
diff --git a/org.eclipse.osbp.infogrid.model.edit/icons/full/obj16/CxGridPropIndicatorStyle.gif b/org.eclipse.osbp.infogrid.model.edit/icons/full/obj16/CxGridPropIndicatorStyle.gif
new file mode 100644
index 0000000..c00aedf
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model.edit/icons/full/obj16/CxGridPropIndicatorStyle.gif
Binary files differ
diff --git a/org.eclipse.osbp.infogrid.model.edit/icons/full/obj16/CxGridPropNumberStyle.gif b/org.eclipse.osbp.infogrid.model.edit/icons/full/obj16/CxGridPropNumberStyle.gif
new file mode 100644
index 0000000..b3643da
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model.edit/icons/full/obj16/CxGridPropNumberStyle.gif
Binary files differ
diff --git a/org.eclipse.osbp.infogrid.model.edit/icons/full/obj16/CxGridPropPriceStyle.gif b/org.eclipse.osbp.infogrid.model.edit/icons/full/obj16/CxGridPropPriceStyle.gif
new file mode 100644
index 0000000..35ef84e
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model.edit/icons/full/obj16/CxGridPropPriceStyle.gif
Binary files differ
diff --git a/org.eclipse.osbp.infogrid.model.edit/icons/full/obj16/CxGridPropQuantityStyle.gif b/org.eclipse.osbp.infogrid.model.edit/icons/full/obj16/CxGridPropQuantityStyle.gif
new file mode 100644
index 0000000..136e3b2
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model.edit/icons/full/obj16/CxGridPropQuantityStyle.gif
Binary files differ
diff --git a/org.eclipse.osbp.infogrid.model.edit/icons/full/obj16/CxGridProperty.gif b/org.eclipse.osbp.infogrid.model.edit/icons/full/obj16/CxGridProperty.gif
new file mode 100644
index 0000000..14af8aa
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model.edit/icons/full/obj16/CxGridProperty.gif
Binary files differ
diff --git a/org.eclipse.osbp.infogrid.model.edit/icons/full/obj16/CxGridSource.gif b/org.eclipse.osbp.infogrid.model.edit/icons/full/obj16/CxGridSource.gif
new file mode 100644
index 0000000..caf2804
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model.edit/icons/full/obj16/CxGridSource.gif
Binary files differ
diff --git a/org.eclipse.osbp.infogrid.model.edit/icons/full/obj16/CxGridSourceEQFilter.gif b/org.eclipse.osbp.infogrid.model.edit/icons/full/obj16/CxGridSourceEQFilter.gif
new file mode 100644
index 0000000..10d2229
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model.edit/icons/full/obj16/CxGridSourceEQFilter.gif
Binary files differ
diff --git a/org.eclipse.osbp.infogrid.model.edit/icons/full/obj16/CxGridSourceInput.gif b/org.eclipse.osbp.infogrid.model.edit/icons/full/obj16/CxGridSourceInput.gif
new file mode 100644
index 0000000..1e5345f
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model.edit/icons/full/obj16/CxGridSourceInput.gif
Binary files differ
diff --git a/org.eclipse.osbp.infogrid.model.edit/icons/full/obj16/CxGridStyleConfig.gif b/org.eclipse.osbp.infogrid.model.edit/icons/full/obj16/CxGridStyleConfig.gif
new file mode 100644
index 0000000..83afb9b
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model.edit/icons/full/obj16/CxGridStyleConfig.gif
Binary files differ
diff --git a/org.eclipse.osbp.infogrid.model.edit/icons/full/obj16/CxGridStyleConfigNumericToResource.gif b/org.eclipse.osbp.infogrid.model.edit/icons/full/obj16/CxGridStyleConfigNumericToResource.gif
new file mode 100644
index 0000000..c414fe9
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model.edit/icons/full/obj16/CxGridStyleConfigNumericToResource.gif
Binary files differ
diff --git a/org.eclipse.osbp.infogrid.model.edit/icons/full/obj16/CxGridStyleConfigStringToResource.gif b/org.eclipse.osbp.infogrid.model.edit/icons/full/obj16/CxGridStyleConfigStringToResource.gif
new file mode 100644
index 0000000..53500da
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model.edit/icons/full/obj16/CxGridStyleConfigStringToResource.gif
Binary files differ
diff --git a/org.eclipse.osbp.infogrid.model.edit/license.html b/org.eclipse.osbp.infogrid.model.edit/license.html
new file mode 100644
index 0000000..6e579a5
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model.edit/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.infogrid.model.edit/plugin.properties b/org.eclipse.osbp.infogrid.model.edit/plugin.properties
new file mode 100644
index 0000000..265967c
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model.edit/plugin.properties
@@ -0,0 +1,102 @@
+#
+
+pluginName = CxGridSource Edit Support
+providerName = www.example.org
+
+_UI_CreateChild_text = {0}
+_UI_CreateChild_text2 = {1} {0}
+_UI_CreateChild_text3 = {1}
+_UI_CreateChild_tooltip = Create New {0} Under {1} Feature
+_UI_CreateChild_description = Create a new child of type {0} for the {1} feature of the selected {2}.
+_UI_CreateSibling_description = Create a new sibling of type {0} for the selected {2}, under the {1} feature of their parent.
+
+_UI_PropertyDescriptor_description = The {0} of the {1}
+
+_UI_CxGridSource_type = Cx Grid Source
+_UI_CxGridProperty_type = Cx Grid Property
+_UI_CxGridPropStyle_type = Cx Grid Prop Style
+_UI_CxGridPropHtmlStyle_type = Cx Grid Prop Html Style
+_UI_CxGridPropTextStyle_type = Cx Grid Prop Text Style
+_UI_CxGridPropButtonStyle_type = Cx Grid Prop Button Style
+_UI_CxGridPropProgressbarStyle_type = Cx Grid Prop Progressbar Style
+_UI_CxGridPropSparklineStyle_type = Cx Grid Prop Sparkline Style
+_UI_Unknown_type = Object
+
+_UI_Unknown_datatype= Value
+
+_UI_CxGridSource_id_feature = Id
+_UI_CxGridSource_kind_feature = Kind
+_UI_CxGridSource_rootType_feature = Root Type
+_UI_CxGridSource_properties_feature = Properties
+_UI_CxGridProperty_field_feature = Field
+_UI_CxGridProperty_style_feature = Style
+_UI_Unknown_feature = Unspecified
+
+_UI_CxGridNestedField_type = Cx Grid Nested Field
+_UI_CxGridNestedPath_type = Cx Grid Nested Path
+_UI_CxGridSource_rootTypeFQN_feature = Root Type FQN
+_UI_CxGridProperty_path_feature = Path
+_UI_CxGridProperty_dotPath_feature = Dot Path
+_UI_CxGridNestedField_field_feature = Field
+_UI_CxGridNestedField_path_feature = Path
+_UI_CxGridNestedPath_field_feature = Field
+_UI_CxGridNestedPath_path_feature = Path
+_UI_CxGridPropButtonStyle_eventTopic_feature = Event Topic
+_UI_CxGridPropProgressbarStyle_maxValue_feature = Max Value
+_UI_CxGridPropSparklineStyle_path_feature = Path
+_UI_CxGridPropSparklineStyle_field_feature = Field
+_UI_CxGridSourceInput_type = Input
+_UI_CxGridSourceEQFilter_type = EQ Filter
+_UI_CxGridPropBooleanStyle_type = Cx Grid Prop Boolean Style
+_UI_CxGridPropNumberStyle_type = Cx Grid Prop Number Style
+_UI_CxGridPropImageStyle_type = Cx Grid Prop Image Style
+_UI_CxGridPropDateStyle_type = Cx Grid Prop Date Style
+_UI_CxGridStyleConfig_type = Config
+_UI_CxGridStyleConfigStringToResource_type = Config String To Resource
+_UI_CxGridStyleConfigNumericToResource_type = Config Numeric To Resource
+_UI_CxGridEventTopicAble_type = Cx Grid Event Topic Able
+_UI_CxGridPropQuantityStyle_type = Cx Grid Prop Quantity Style
+_UI_CxGridPropPriceStyle_type = Cx Grid Prop Price Style
+_UI_CxGridSource_inputs_feature = Inputs
+_UI_CxGridSourceInput_inputType_feature = Input Type
+_UI_CxGridSourceInput_inputTypeFQN_feature = Input Type FQN
+_UI_CxGridSourceInput_filters_feature = Filters
+_UI_CxGridNestedField_dotPath_feature = Dot Path
+_UI_CxGridNestedPath_dotPath_feature = Dot Path
+_UI_CxGridSourceEQFilter_inputTypePropertyPath_feature = Input Type Property Path
+_UI_CxGridSourceEQFilter_rootTypePropertyPath_feature = Root Type Property Path
+_UI_CxGridPropNumberStyle_numberFormat_feature = Number Format
+_UI_CxGridPropImageStyle_configs_feature = Configs
+_UI_CxGridPropDateStyle_dateFormat_feature = Date Format
+_UI_CxGridStyleConfigStringToResource_value_feature = Value
+_UI_CxGridStyleConfigStringToResource_compare_feature = Compare
+_UI_CxGridStyleConfigStringToResource_resourceThemePath_feature = Resource Theme Path
+_UI_CxGridStyleConfigNumericToResource_value_feature = Value
+_UI_CxGridStyleConfigNumericToResource_compare_feature = Compare
+_UI_CxGridStyleConfigNumericToResource_resourceThemePath_feature = Resource Theme Path
+_UI_CxGridEventTopicAble_eventTopic_feature = Event Topic
+_UI_CxGridPropQuantityStyle_valuePropertyPath_feature = Value Property Path
+_UI_CxGridPropQuantityStyle_valuePropertyDotPath_feature = Value Property Dot Path
+_UI_CxGridPropQuantityStyle_valueNumberFormat_feature = Value Number Format
+_UI_CxGridPropQuantityStyle_uomPropertyPath_feature = Uom Property Path
+_UI_CxGridPropQuantityStyle_uomPropertyDotPath_feature = Uom Property Dot Path
+_UI_CxGridPropQuantityStyle_htmlPattern_feature = Html Pattern
+_UI_CxGridPropPriceStyle_valuePropertyPath_feature = Value Property Path
+_UI_CxGridPropPriceStyle_valuePropertyDotPath_feature = Value Property Dot Path
+_UI_CxGridPropPriceStyle_valueNumberFormat_feature = Value Number Format
+_UI_CxGridPropPriceStyle_currencyPropertyPath_feature = Currency Property Path
+_UI_CxGridPropPriceStyle_currencyPropertyDotPath_feature = Currency Property Dot Path
+_UI_CxGridPropPriceStyle_htmlPattern_feature = Html Pattern
+_UI_CxGridCompare_Equal_literal = EQ
+_UI_CxGridCompare_GreaterThan_literal = GT
+_UI_CxGridCompare_GreaterEqual_literal = GE
+_UI_CxGridCompare_LowerThan_literal = LT
+_UI_CxGridCompare_LowerEqual_literal = LE
+_UI_CxGridCompare_NotEqual_literal = NEQ
+_UI_CxGridPropIndicatorStyle_type = Cx Grid Prop Indicator Style
+_UI_CxGridPropIndicatorStyle_greenStarts_feature = Green Starts
+_UI_CxGridPropIndicatorStyle_redStarts_feature = Red Starts
+_UI_CxGridPropIndicatorStyle_redEnds_feature = Red Ends
+_UI_CxGridSource_tags_feature = Tags
+_UI_CxGridSource_selectionEventTopic_feature = Selection Event Topic
+_UI_CxGridProperty_editable_feature = Editable
diff --git a/org.eclipse.osbp.infogrid.model.edit/plugin.xml b/org.eclipse.osbp.infogrid.model.edit/plugin.xml
new file mode 100644
index 0000000..fc5c97d
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model.edit/plugin.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+
+<!--
+-->
+
+<plugin>
+
+   <extension point="org.eclipse.emf.edit.itemProviderAdapterFactories">
+      <!-- @generated gridsource -->
+      <factory
+            uri="http://osbp.eclipse.org/gridsource/v1/core"
+            class="org.eclipse.osbp.infogrid.model.gridsource.provider.CxGridSourceItemProviderAdapterFactory"
+            supportedTypes=
+              "org.eclipse.emf.edit.provider.IEditingDomainItemProvider
+               org.eclipse.emf.edit.provider.IStructuredItemContentProvider
+               org.eclipse.emf.edit.provider.ITreeItemContentProvider
+               org.eclipse.emf.edit.provider.IItemLabelProvider
+               org.eclipse.emf.edit.provider.IItemPropertySource"/>
+   </extension>
+
+   <extension point="org.eclipse.emf.edit.itemProviderAdapterFactories">
+      <!-- @generated gridsource -->
+      <factory
+            uri="http://osbp.eclipse.org/gridsource/v1/core/style"
+            class="org.eclipse.osbp.infogrid.model.gridsource.style.provider.CxGridStyleItemProviderAdapterFactory"
+            supportedTypes=
+              "org.eclipse.emf.edit.provider.IEditingDomainItemProvider
+               org.eclipse.emf.edit.provider.IStructuredItemContentProvider
+               org.eclipse.emf.edit.provider.ITreeItemContentProvider
+               org.eclipse.emf.edit.provider.IItemLabelProvider
+               org.eclipse.emf.edit.provider.IItemPropertySource"/>
+   </extension>
+
+</plugin>
diff --git a/org.eclipse.osbp.infogrid.model.edit/pom.xml b/org.eclipse.osbp.infogrid.model.edit/pom.xml
new file mode 100644
index 0000000..19885f2
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model.edit/pom.xml
@@ -0,0 +1,29 @@
+<?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.infogrid</groupId>
+		<artifactId>org.eclipse.osbp.infogrid.aggregator</artifactId>
+		<version>0.9.0-SNAPSHOT</version>
+		<relativePath>..</relativePath>
+	</parent>
+	<artifactId>org.eclipse.osbp.infogrid.model.edit</artifactId>
+	<build>
+		<sourceDirectory>src</sourceDirectory>
+		<plugins>
+		</plugins>
+	</build>
+	<packaging>eclipse-plugin</packaging>
+	
+</project>
diff --git a/org.eclipse.osbp.infogrid.model.edit/src/org/eclipse/osbp/infogrid/model/gridsource/provider/CxGridNestedFieldItemProvider.java b/org.eclipse.osbp.infogrid.model.edit/src/org/eclipse/osbp/infogrid/model/gridsource/provider/CxGridNestedFieldItemProvider.java
new file mode 100644
index 0000000..fd67bc6
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model.edit/src/org/eclipse/osbp/infogrid/model/gridsource/provider/CxGridNestedFieldItemProvider.java
@@ -0,0 +1,228 @@
+/**
+ *                                                                            
+ * 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.infogrid.model.gridsource.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.ResourceLocator;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IChildCreationExtender;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+import org.eclipse.osbp.infogrid.model.gridsource.CxGridNestedField;
+import org.eclipse.osbp.infogrid.model.gridsource.CxGridSourceFactory;
+import org.eclipse.osbp.infogrid.model.gridsource.CxGridSourcePackage;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.osbp.infogrid.model.gridsource.CxGridNestedField} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class CxGridNestedFieldItemProvider 
+	extends ItemProviderAdapter
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CxGridNestedFieldItemProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+	}
+
+	/**
+	 * This returns the property descriptors for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
+
+			addFieldPropertyDescriptor(object);
+			addDotPathPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Field feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addFieldPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_CxGridNestedField_field_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_CxGridNestedField_field_feature", "_UI_CxGridNestedField_type"),
+				 CxGridSourcePackage.Literals.CX_GRID_NESTED_FIELD__FIELD,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Dot Path feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addDotPathPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_CxGridNestedField_dotPath_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_CxGridNestedField_dotPath_feature", "_UI_CxGridNestedField_type"),
+				 CxGridSourcePackage.Literals.CX_GRID_NESTED_FIELD__DOT_PATH,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+	 * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+	 * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Collection<? extends EStructuralFeature> getChildrenFeatures(Object object) {
+		if (childrenFeatures == null) {
+			super.getChildrenFeatures(object);
+			childrenFeatures.add(CxGridSourcePackage.Literals.CX_GRID_NESTED_FIELD__PATH);
+		}
+		return childrenFeatures;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EStructuralFeature getChildFeature(Object object, Object child) {
+		// Check the type of the specified child object and return the proper feature to use for
+		// adding (see {@link AddCommand}) it as a child.
+
+		return super.getChildFeature(object, child);
+	}
+
+	/**
+	 * This returns CxGridNestedField.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/CxGridNestedField"));
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		String label = ((CxGridNestedField)object).getDotPath();
+		return label == null || label.length() == 0 ?
+			getString("_UI_CxGridNestedField_type") :
+			getString("_UI_CxGridNestedField_type") + " " + label;
+	}
+	
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void notifyChanged(Notification notification) {
+		updateChildren(notification);
+
+		switch (notification.getFeatureID(CxGridNestedField.class)) {
+			case CxGridSourcePackage.CX_GRID_NESTED_FIELD__DOT_PATH:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+				return;
+			case CxGridSourcePackage.CX_GRID_NESTED_FIELD__PATH:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+				return;
+		}
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+
+		newChildDescriptors.add
+			(createChildParameter
+				(CxGridSourcePackage.Literals.CX_GRID_NESTED_FIELD__PATH,
+				 CxGridSourceFactory.eINSTANCE.createCxGridNestedPath()));
+	}
+
+	/**
+	 * Return the resource locator for this item provider's resources.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public ResourceLocator getResourceLocator() {
+		return ((IChildCreationExtender)adapterFactory).getResourceLocator();
+	}
+
+}
diff --git a/org.eclipse.osbp.infogrid.model.edit/src/org/eclipse/osbp/infogrid/model/gridsource/provider/CxGridNestedPathItemProvider.java b/org.eclipse.osbp.infogrid.model.edit/src/org/eclipse/osbp/infogrid/model/gridsource/provider/CxGridNestedPathItemProvider.java
new file mode 100644
index 0000000..c56f0ae
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model.edit/src/org/eclipse/osbp/infogrid/model/gridsource/provider/CxGridNestedPathItemProvider.java
@@ -0,0 +1,228 @@
+/**
+ *                                                                            
+ * 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.infogrid.model.gridsource.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.ResourceLocator;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IChildCreationExtender;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+import org.eclipse.osbp.infogrid.model.gridsource.CxGridNestedPath;
+import org.eclipse.osbp.infogrid.model.gridsource.CxGridSourceFactory;
+import org.eclipse.osbp.infogrid.model.gridsource.CxGridSourcePackage;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.osbp.infogrid.model.gridsource.CxGridNestedPath} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class CxGridNestedPathItemProvider 
+	extends ItemProviderAdapter
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CxGridNestedPathItemProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+	}
+
+	/**
+	 * This returns the property descriptors for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
+
+			addFieldPropertyDescriptor(object);
+			addDotPathPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Field feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addFieldPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_CxGridNestedPath_field_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_CxGridNestedPath_field_feature", "_UI_CxGridNestedPath_type"),
+				 CxGridSourcePackage.Literals.CX_GRID_NESTED_PATH__FIELD,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Dot Path feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addDotPathPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_CxGridNestedPath_dotPath_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_CxGridNestedPath_dotPath_feature", "_UI_CxGridNestedPath_type"),
+				 CxGridSourcePackage.Literals.CX_GRID_NESTED_PATH__DOT_PATH,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+	 * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+	 * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Collection<? extends EStructuralFeature> getChildrenFeatures(Object object) {
+		if (childrenFeatures == null) {
+			super.getChildrenFeatures(object);
+			childrenFeatures.add(CxGridSourcePackage.Literals.CX_GRID_NESTED_PATH__PATH);
+		}
+		return childrenFeatures;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EStructuralFeature getChildFeature(Object object, Object child) {
+		// Check the type of the specified child object and return the proper feature to use for
+		// adding (see {@link AddCommand}) it as a child.
+
+		return super.getChildFeature(object, child);
+	}
+
+	/**
+	 * This returns CxGridNestedPath.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/CxGridNestedPath"));
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		String label = ((CxGridNestedPath)object).getDotPath();
+		return label == null || label.length() == 0 ?
+			getString("_UI_CxGridNestedPath_type") :
+			getString("_UI_CxGridNestedPath_type") + " " + label;
+	}
+	
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void notifyChanged(Notification notification) {
+		updateChildren(notification);
+
+		switch (notification.getFeatureID(CxGridNestedPath.class)) {
+			case CxGridSourcePackage.CX_GRID_NESTED_PATH__DOT_PATH:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+				return;
+			case CxGridSourcePackage.CX_GRID_NESTED_PATH__PATH:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+				return;
+		}
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+
+		newChildDescriptors.add
+			(createChildParameter
+				(CxGridSourcePackage.Literals.CX_GRID_NESTED_PATH__PATH,
+				 CxGridSourceFactory.eINSTANCE.createCxGridNestedPath()));
+	}
+
+	/**
+	 * Return the resource locator for this item provider's resources.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public ResourceLocator getResourceLocator() {
+		return ((IChildCreationExtender)adapterFactory).getResourceLocator();
+	}
+
+}
diff --git a/org.eclipse.osbp.infogrid.model.edit/src/org/eclipse/osbp/infogrid/model/gridsource/provider/CxGridPropertyItemProvider.java b/org.eclipse.osbp.infogrid.model.edit/src/org/eclipse/osbp/infogrid/model/gridsource/provider/CxGridPropertyItemProvider.java
new file mode 100644
index 0000000..16fe97e
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model.edit/src/org/eclipse/osbp/infogrid/model/gridsource/provider/CxGridPropertyItemProvider.java
@@ -0,0 +1,292 @@
+/**
+ *                                                                            
+ * 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.infogrid.model.gridsource.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.ResourceLocator;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IChildCreationExtender;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+import org.eclipse.osbp.infogrid.model.gridsource.CxGridProperty;
+import org.eclipse.osbp.infogrid.model.gridsource.CxGridSourceFactory;
+import org.eclipse.osbp.infogrid.model.gridsource.CxGridSourcePackage;
+import org.eclipse.osbp.infogrid.model.gridsource.style.CxGridStyleFactory;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.osbp.infogrid.model.gridsource.CxGridProperty} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class CxGridPropertyItemProvider 
+	extends ItemProviderAdapter
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CxGridPropertyItemProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+	}
+
+	/**
+	 * This returns the property descriptors for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
+
+			addDotPathPropertyDescriptor(object);
+			addEditablePropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Dot Path feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addDotPathPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_CxGridProperty_dotPath_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_CxGridProperty_dotPath_feature", "_UI_CxGridProperty_type"),
+				 CxGridSourcePackage.Literals.CX_GRID_PROPERTY__DOT_PATH,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Editable feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addEditablePropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_CxGridProperty_editable_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_CxGridProperty_editable_feature", "_UI_CxGridProperty_type"),
+				 CxGridSourcePackage.Literals.CX_GRID_PROPERTY__EDITABLE,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+	 * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+	 * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Collection<? extends EStructuralFeature> getChildrenFeatures(Object object) {
+		if (childrenFeatures == null) {
+			super.getChildrenFeatures(object);
+			childrenFeatures.add(CxGridSourcePackage.Literals.CX_GRID_PROPERTY__PATH);
+			childrenFeatures.add(CxGridSourcePackage.Literals.CX_GRID_PROPERTY__STYLE);
+		}
+		return childrenFeatures;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EStructuralFeature getChildFeature(Object object, Object child) {
+		// Check the type of the specified child object and return the proper feature to use for
+		// adding (see {@link AddCommand}) it as a child.
+
+		return super.getChildFeature(object, child);
+	}
+
+	/**
+	 * This returns CxGridProperty.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/CxGridProperty"));
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		String label = ((CxGridProperty)object).getDotPath();
+		return label == null || label.length() == 0 ?
+			getString("_UI_CxGridProperty_type") :
+			getString("_UI_CxGridProperty_type") + " " + label;
+	}
+	
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void notifyChanged(Notification notification) {
+		updateChildren(notification);
+
+		switch (notification.getFeatureID(CxGridProperty.class)) {
+			case CxGridSourcePackage.CX_GRID_PROPERTY__DOT_PATH:
+			case CxGridSourcePackage.CX_GRID_PROPERTY__EDITABLE:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+				return;
+			case CxGridSourcePackage.CX_GRID_PROPERTY__PATH:
+			case CxGridSourcePackage.CX_GRID_PROPERTY__STYLE:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+				return;
+		}
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+
+		newChildDescriptors.add
+			(createChildParameter
+				(CxGridSourcePackage.Literals.CX_GRID_PROPERTY__PATH,
+				 CxGridSourceFactory.eINSTANCE.createCxGridNestedField()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(CxGridSourcePackage.Literals.CX_GRID_PROPERTY__STYLE,
+				 CxGridStyleFactory.eINSTANCE.createCxGridPropHtmlStyle()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(CxGridSourcePackage.Literals.CX_GRID_PROPERTY__STYLE,
+				 CxGridStyleFactory.eINSTANCE.createCxGridPropTextStyle()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(CxGridSourcePackage.Literals.CX_GRID_PROPERTY__STYLE,
+				 CxGridStyleFactory.eINSTANCE.createCxGridPropButtonStyle()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(CxGridSourcePackage.Literals.CX_GRID_PROPERTY__STYLE,
+				 CxGridStyleFactory.eINSTANCE.createCxGridPropProgressbarStyle()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(CxGridSourcePackage.Literals.CX_GRID_PROPERTY__STYLE,
+				 CxGridStyleFactory.eINSTANCE.createCxGridPropSparklineStyle()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(CxGridSourcePackage.Literals.CX_GRID_PROPERTY__STYLE,
+				 CxGridStyleFactory.eINSTANCE.createCxGridPropBooleanStyle()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(CxGridSourcePackage.Literals.CX_GRID_PROPERTY__STYLE,
+				 CxGridStyleFactory.eINSTANCE.createCxGridPropNumberStyle()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(CxGridSourcePackage.Literals.CX_GRID_PROPERTY__STYLE,
+				 CxGridStyleFactory.eINSTANCE.createCxGridPropImageStyle()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(CxGridSourcePackage.Literals.CX_GRID_PROPERTY__STYLE,
+				 CxGridStyleFactory.eINSTANCE.createCxGridPropIndicatorStyle()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(CxGridSourcePackage.Literals.CX_GRID_PROPERTY__STYLE,
+				 CxGridStyleFactory.eINSTANCE.createCxGridPropDateStyle()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(CxGridSourcePackage.Literals.CX_GRID_PROPERTY__STYLE,
+				 CxGridStyleFactory.eINSTANCE.createCxGridPropQuantityStyle()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(CxGridSourcePackage.Literals.CX_GRID_PROPERTY__STYLE,
+				 CxGridStyleFactory.eINSTANCE.createCxGridPropPriceStyle()));
+	}
+
+	/**
+	 * Return the resource locator for this item provider's resources.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public ResourceLocator getResourceLocator() {
+		return ((IChildCreationExtender)adapterFactory).getResourceLocator();
+	}
+
+}
diff --git a/org.eclipse.osbp.infogrid.model.edit/src/org/eclipse/osbp/infogrid/model/gridsource/provider/CxGridSourceEQFilterItemProvider.java b/org.eclipse.osbp.infogrid.model.edit/src/org/eclipse/osbp/infogrid/model/gridsource/provider/CxGridSourceEQFilterItemProvider.java
new file mode 100644
index 0000000..41ca896
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model.edit/src/org/eclipse/osbp/infogrid/model/gridsource/provider/CxGridSourceEQFilterItemProvider.java
@@ -0,0 +1,209 @@
+/**
+ *                                                                            
+ * 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.infogrid.model.gridsource.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.provider.IChildCreationExtender;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.osbp.infogrid.model.gridsource.CxGridSourceEQFilter;
+import org.eclipse.osbp.infogrid.model.gridsource.CxGridSourceFactory;
+import org.eclipse.osbp.infogrid.model.gridsource.CxGridSourcePackage;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.osbp.infogrid.model.gridsource.CxGridSourceEQFilter} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class CxGridSourceEQFilterItemProvider 
+	extends ItemProviderAdapter
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CxGridSourceEQFilterItemProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+	}
+
+	/**
+	 * This returns the property descriptors for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
+
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+	 * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+	 * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Collection<? extends EStructuralFeature> getChildrenFeatures(Object object) {
+		if (childrenFeatures == null) {
+			super.getChildrenFeatures(object);
+			childrenFeatures.add(CxGridSourcePackage.Literals.CX_GRID_SOURCE_EQ_FILTER__INPUT_TYPE_PROPERTY_PATH);
+			childrenFeatures.add(CxGridSourcePackage.Literals.CX_GRID_SOURCE_EQ_FILTER__ROOT_TYPE_PROPERTY_PATH);
+		}
+		return childrenFeatures;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EStructuralFeature getChildFeature(Object object, Object child) {
+		// Check the type of the specified child object and return the proper feature to use for
+		// adding (see {@link AddCommand}) it as a child.
+
+		return super.getChildFeature(object, child);
+	}
+
+	/**
+	 * This returns CxGridSourceEQFilter.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/CxGridSourceEQFilter"));
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		return getString("_UI_CxGridSourceEQFilter_type");
+	}
+	
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void notifyChanged(Notification notification) {
+		updateChildren(notification);
+
+		switch (notification.getFeatureID(CxGridSourceEQFilter.class)) {
+			case CxGridSourcePackage.CX_GRID_SOURCE_EQ_FILTER__INPUT_TYPE_PROPERTY_PATH:
+			case CxGridSourcePackage.CX_GRID_SOURCE_EQ_FILTER__ROOT_TYPE_PROPERTY_PATH:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+				return;
+		}
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+
+		newChildDescriptors.add
+			(createChildParameter
+				(CxGridSourcePackage.Literals.CX_GRID_SOURCE_EQ_FILTER__INPUT_TYPE_PROPERTY_PATH,
+				 CxGridSourceFactory.eINSTANCE.createCxGridNestedField()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(CxGridSourcePackage.Literals.CX_GRID_SOURCE_EQ_FILTER__ROOT_TYPE_PROPERTY_PATH,
+				 CxGridSourceFactory.eINSTANCE.createCxGridNestedField()));
+	}
+
+	/**
+	 * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getCreateChildText(Object owner, Object feature, Object child, Collection<?> selection) {
+		Object childFeature = feature;
+		Object childObject = child;
+
+		boolean qualify =
+			childFeature == CxGridSourcePackage.Literals.CX_GRID_SOURCE_EQ_FILTER__INPUT_TYPE_PROPERTY_PATH ||
+			childFeature == CxGridSourcePackage.Literals.CX_GRID_SOURCE_EQ_FILTER__ROOT_TYPE_PROPERTY_PATH;
+
+		if (qualify) {
+			return getString
+				("_UI_CreateChild_text2",
+				 new Object[] { getTypeText(childObject), getFeatureText(childFeature), getTypeText(owner) });
+		}
+		return super.getCreateChildText(owner, feature, child, selection);
+	}
+
+	/**
+	 * Return the resource locator for this item provider's resources.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public ResourceLocator getResourceLocator() {
+		return ((IChildCreationExtender)adapterFactory).getResourceLocator();
+	}
+
+}
diff --git a/org.eclipse.osbp.infogrid.model.edit/src/org/eclipse/osbp/infogrid/model/gridsource/provider/CxGridSourceEditPlugin.java b/org.eclipse.osbp.infogrid.model.edit/src/org/eclipse/osbp/infogrid/model/gridsource/provider/CxGridSourceEditPlugin.java
new file mode 100644
index 0000000..bc15b53
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model.edit/src/org/eclipse/osbp/infogrid/model/gridsource/provider/CxGridSourceEditPlugin.java
@@ -0,0 +1,102 @@
+/**
+ *                                                                            
+ * 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.infogrid.model.gridsource.provider;
+
+import org.eclipse.emf.common.EMFPlugin;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.xtext.common.types.provider.TypesEditPlugin;
+
+/**
+ * This is the central singleton for the CxGridSource edit plugin.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public final class CxGridSourceEditPlugin extends EMFPlugin {
+	/**
+	 * Keep track of the singleton.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final CxGridSourceEditPlugin INSTANCE = new CxGridSourceEditPlugin();
+
+	/**
+	 * Keep track of the singleton.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private static Implementation plugin;
+
+	/**
+	 * Create the instance.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CxGridSourceEditPlugin() {
+		super
+		  (new ResourceLocator [] {
+		     TypesEditPlugin.INSTANCE,
+		   });
+	}
+
+	/**
+	 * Returns the singleton instance of the Eclipse plugin.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the singleton instance.
+	 * @generated
+	 */
+	@Override
+	public ResourceLocator getPluginResourceLocator() {
+		return plugin;
+	}
+
+	/**
+	 * Returns the singleton instance of the Eclipse plugin.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the singleton instance.
+	 * @generated
+	 */
+	public static Implementation getPlugin() {
+		return plugin;
+	}
+
+	/**
+	 * The actual implementation of the Eclipse <b>Plugin</b>.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static class Implementation extends EclipsePlugin {
+		/**
+		 * Creates an instance.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		public Implementation() {
+			super();
+
+			// Remember the static instance.
+			//
+			plugin = this;
+		}
+	}
+
+}
diff --git a/org.eclipse.osbp.infogrid.model.edit/src/org/eclipse/osbp/infogrid/model/gridsource/provider/CxGridSourceInputItemProvider.java b/org.eclipse.osbp.infogrid.model.edit/src/org/eclipse/osbp/infogrid/model/gridsource/provider/CxGridSourceInputItemProvider.java
new file mode 100644
index 0000000..82b7138
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model.edit/src/org/eclipse/osbp/infogrid/model/gridsource/provider/CxGridSourceInputItemProvider.java
@@ -0,0 +1,259 @@
+/**
+ *                                                                            
+ * 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.infogrid.model.gridsource.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IChildCreationExtender;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.xtext.common.types.TypesFactory;
+
+import org.eclipse.osbp.infogrid.model.gridsource.CxGridSourceFactory;
+import org.eclipse.osbp.infogrid.model.gridsource.CxGridSourceInput;
+import org.eclipse.osbp.infogrid.model.gridsource.CxGridSourcePackage;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.osbp.infogrid.model.gridsource.CxGridSourceInput} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class CxGridSourceInputItemProvider 
+	extends ItemProviderAdapter
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CxGridSourceInputItemProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+	}
+
+	/**
+	 * This returns the property descriptors for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
+
+			addInputTypeFQNPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Input Type FQN feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addInputTypeFQNPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_CxGridSourceInput_inputTypeFQN_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_CxGridSourceInput_inputTypeFQN_feature", "_UI_CxGridSourceInput_type"),
+				 CxGridSourcePackage.Literals.CX_GRID_SOURCE_INPUT__INPUT_TYPE_FQN,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+	 * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+	 * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Collection<? extends EStructuralFeature> getChildrenFeatures(Object object) {
+		if (childrenFeatures == null) {
+			super.getChildrenFeatures(object);
+			childrenFeatures.add(CxGridSourcePackage.Literals.CX_GRID_SOURCE_INPUT__INPUT_TYPE);
+			childrenFeatures.add(CxGridSourcePackage.Literals.CX_GRID_SOURCE_INPUT__FILTERS);
+		}
+		return childrenFeatures;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EStructuralFeature getChildFeature(Object object, Object child) {
+		// Check the type of the specified child object and return the proper feature to use for
+		// adding (see {@link AddCommand}) it as a child.
+
+		return super.getChildFeature(object, child);
+	}
+
+	/**
+	 * This returns CxGridSourceInput.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/CxGridSourceInput"));
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		String label = ((CxGridSourceInput)object).getInputTypeFQN();
+		return label == null || label.length() == 0 ?
+			getString("_UI_CxGridSourceInput_type") :
+			getString("_UI_CxGridSourceInput_type") + " " + label;
+	}
+	
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void notifyChanged(Notification notification) {
+		updateChildren(notification);
+
+		switch (notification.getFeatureID(CxGridSourceInput.class)) {
+			case CxGridSourcePackage.CX_GRID_SOURCE_INPUT__INPUT_TYPE_FQN:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+				return;
+			case CxGridSourcePackage.CX_GRID_SOURCE_INPUT__INPUT_TYPE:
+			case CxGridSourcePackage.CX_GRID_SOURCE_INPUT__FILTERS:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+				return;
+		}
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+
+		newChildDescriptors.add
+			(createChildParameter
+				(CxGridSourcePackage.Literals.CX_GRID_SOURCE_INPUT__INPUT_TYPE,
+				 TypesFactory.eINSTANCE.createJvmParameterizedTypeReference()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(CxGridSourcePackage.Literals.CX_GRID_SOURCE_INPUT__INPUT_TYPE,
+				 TypesFactory.eINSTANCE.createJvmGenericArrayTypeReference()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(CxGridSourcePackage.Literals.CX_GRID_SOURCE_INPUT__INPUT_TYPE,
+				 TypesFactory.eINSTANCE.createJvmWildcardTypeReference()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(CxGridSourcePackage.Literals.CX_GRID_SOURCE_INPUT__INPUT_TYPE,
+				 TypesFactory.eINSTANCE.createJvmAnyTypeReference()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(CxGridSourcePackage.Literals.CX_GRID_SOURCE_INPUT__INPUT_TYPE,
+				 TypesFactory.eINSTANCE.createJvmMultiTypeReference()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(CxGridSourcePackage.Literals.CX_GRID_SOURCE_INPUT__INPUT_TYPE,
+				 TypesFactory.eINSTANCE.createJvmDelegateTypeReference()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(CxGridSourcePackage.Literals.CX_GRID_SOURCE_INPUT__INPUT_TYPE,
+				 TypesFactory.eINSTANCE.createJvmSynonymTypeReference()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(CxGridSourcePackage.Literals.CX_GRID_SOURCE_INPUT__INPUT_TYPE,
+				 TypesFactory.eINSTANCE.createJvmUnknownTypeReference()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(CxGridSourcePackage.Literals.CX_GRID_SOURCE_INPUT__INPUT_TYPE,
+				 TypesFactory.eINSTANCE.createJvmInnerTypeReference()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(CxGridSourcePackage.Literals.CX_GRID_SOURCE_INPUT__FILTERS,
+				 CxGridSourceFactory.eINSTANCE.createCxGridSourceEQFilter()));
+	}
+
+	/**
+	 * Return the resource locator for this item provider's resources.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public ResourceLocator getResourceLocator() {
+		return ((IChildCreationExtender)adapterFactory).getResourceLocator();
+	}
+
+}
diff --git a/org.eclipse.osbp.infogrid.model.edit/src/org/eclipse/osbp/infogrid/model/gridsource/provider/CxGridSourceItemProvider.java b/org.eclipse.osbp.infogrid.model.edit/src/org/eclipse/osbp/infogrid/model/gridsource/provider/CxGridSourceItemProvider.java
new file mode 100644
index 0000000..3e53db1
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model.edit/src/org/eclipse/osbp/infogrid/model/gridsource/provider/CxGridSourceItemProvider.java
@@ -0,0 +1,362 @@
+/**
+ *                                                                            
+ * 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.infogrid.model.gridsource.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IChildCreationExtender;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.xtext.common.types.TypesFactory;
+
+import org.eclipse.osbp.infogrid.model.gridsource.CxGridSource;
+import org.eclipse.osbp.infogrid.model.gridsource.CxGridSourceFactory;
+import org.eclipse.osbp.infogrid.model.gridsource.CxGridSourcePackage;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.osbp.infogrid.model.gridsource.CxGridSource} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class CxGridSourceItemProvider 
+	extends ItemProviderAdapter
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CxGridSourceItemProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+	}
+
+	/**
+	 * This returns the property descriptors for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
+
+			addIdPropertyDescriptor(object);
+			addTagsPropertyDescriptor(object);
+			addKindPropertyDescriptor(object);
+			addRootTypeFQNPropertyDescriptor(object);
+			addSelectionEventTopicPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Id feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addIdPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_CxGridSource_id_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_CxGridSource_id_feature", "_UI_CxGridSource_type"),
+				 CxGridSourcePackage.Literals.CX_GRID_SOURCE__ID,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Tags feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addTagsPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_CxGridSource_tags_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_CxGridSource_tags_feature", "_UI_CxGridSource_type"),
+				 CxGridSourcePackage.Literals.CX_GRID_SOURCE__TAGS,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Kind feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addKindPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_CxGridSource_kind_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_CxGridSource_kind_feature", "_UI_CxGridSource_type"),
+				 CxGridSourcePackage.Literals.CX_GRID_SOURCE__KIND,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Root Type FQN feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addRootTypeFQNPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_CxGridSource_rootTypeFQN_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_CxGridSource_rootTypeFQN_feature", "_UI_CxGridSource_type"),
+				 CxGridSourcePackage.Literals.CX_GRID_SOURCE__ROOT_TYPE_FQN,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Selection Event Topic feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addSelectionEventTopicPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_CxGridSource_selectionEventTopic_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_CxGridSource_selectionEventTopic_feature", "_UI_CxGridSource_type"),
+				 CxGridSourcePackage.Literals.CX_GRID_SOURCE__SELECTION_EVENT_TOPIC,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+	 * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+	 * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Collection<? extends EStructuralFeature> getChildrenFeatures(Object object) {
+		if (childrenFeatures == null) {
+			super.getChildrenFeatures(object);
+			childrenFeatures.add(CxGridSourcePackage.Literals.CX_GRID_SOURCE__ROOT_TYPE);
+			childrenFeatures.add(CxGridSourcePackage.Literals.CX_GRID_SOURCE__PROPERTIES);
+			childrenFeatures.add(CxGridSourcePackage.Literals.CX_GRID_SOURCE__INPUTS);
+		}
+		return childrenFeatures;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EStructuralFeature getChildFeature(Object object, Object child) {
+		// Check the type of the specified child object and return the proper feature to use for
+		// adding (see {@link AddCommand}) it as a child.
+
+		return super.getChildFeature(object, child);
+	}
+
+	/**
+	 * This returns CxGridSource.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/CxGridSource"));
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		String label = ((CxGridSource)object).getId();
+		return label == null || label.length() == 0 ?
+			getString("_UI_CxGridSource_type") :
+			getString("_UI_CxGridSource_type") + " " + label;
+	}
+	
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void notifyChanged(Notification notification) {
+		updateChildren(notification);
+
+		switch (notification.getFeatureID(CxGridSource.class)) {
+			case CxGridSourcePackage.CX_GRID_SOURCE__ID:
+			case CxGridSourcePackage.CX_GRID_SOURCE__TAGS:
+			case CxGridSourcePackage.CX_GRID_SOURCE__KIND:
+			case CxGridSourcePackage.CX_GRID_SOURCE__ROOT_TYPE_FQN:
+			case CxGridSourcePackage.CX_GRID_SOURCE__SELECTION_EVENT_TOPIC:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+				return;
+			case CxGridSourcePackage.CX_GRID_SOURCE__ROOT_TYPE:
+			case CxGridSourcePackage.CX_GRID_SOURCE__PROPERTIES:
+			case CxGridSourcePackage.CX_GRID_SOURCE__INPUTS:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+				return;
+		}
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+
+		newChildDescriptors.add
+			(createChildParameter
+				(CxGridSourcePackage.Literals.CX_GRID_SOURCE__ROOT_TYPE,
+				 TypesFactory.eINSTANCE.createJvmParameterizedTypeReference()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(CxGridSourcePackage.Literals.CX_GRID_SOURCE__ROOT_TYPE,
+				 TypesFactory.eINSTANCE.createJvmGenericArrayTypeReference()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(CxGridSourcePackage.Literals.CX_GRID_SOURCE__ROOT_TYPE,
+				 TypesFactory.eINSTANCE.createJvmWildcardTypeReference()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(CxGridSourcePackage.Literals.CX_GRID_SOURCE__ROOT_TYPE,
+				 TypesFactory.eINSTANCE.createJvmAnyTypeReference()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(CxGridSourcePackage.Literals.CX_GRID_SOURCE__ROOT_TYPE,
+				 TypesFactory.eINSTANCE.createJvmMultiTypeReference()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(CxGridSourcePackage.Literals.CX_GRID_SOURCE__ROOT_TYPE,
+				 TypesFactory.eINSTANCE.createJvmDelegateTypeReference()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(CxGridSourcePackage.Literals.CX_GRID_SOURCE__ROOT_TYPE,
+				 TypesFactory.eINSTANCE.createJvmSynonymTypeReference()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(CxGridSourcePackage.Literals.CX_GRID_SOURCE__ROOT_TYPE,
+				 TypesFactory.eINSTANCE.createJvmUnknownTypeReference()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(CxGridSourcePackage.Literals.CX_GRID_SOURCE__ROOT_TYPE,
+				 TypesFactory.eINSTANCE.createJvmInnerTypeReference()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(CxGridSourcePackage.Literals.CX_GRID_SOURCE__PROPERTIES,
+				 CxGridSourceFactory.eINSTANCE.createCxGridProperty()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(CxGridSourcePackage.Literals.CX_GRID_SOURCE__INPUTS,
+				 CxGridSourceFactory.eINSTANCE.createCxGridSourceInput()));
+	}
+
+	/**
+	 * Return the resource locator for this item provider's resources.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public ResourceLocator getResourceLocator() {
+		return ((IChildCreationExtender)adapterFactory).getResourceLocator();
+	}
+
+}
diff --git a/org.eclipse.osbp.infogrid.model.edit/src/org/eclipse/osbp/infogrid/model/gridsource/provider/CxGridSourceItemProviderAdapterFactory.java b/org.eclipse.osbp.infogrid.model.edit/src/org/eclipse/osbp/infogrid/model/gridsource/provider/CxGridSourceItemProviderAdapterFactory.java
new file mode 100644
index 0000000..1f73008
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model.edit/src/org/eclipse/osbp/infogrid/model/gridsource/provider/CxGridSourceItemProviderAdapterFactory.java
@@ -0,0 +1,373 @@
+/**
+ *                                                                            
+ * 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.infogrid.model.gridsource.provider;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.Notifier;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.domain.EditingDomain;
+
+import org.eclipse.emf.edit.provider.ChangeNotifier;
+import org.eclipse.emf.edit.provider.ChildCreationExtenderManager;
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
+import org.eclipse.emf.edit.provider.IChangeNotifier;
+import org.eclipse.emf.edit.provider.IChildCreationExtender;
+import org.eclipse.emf.edit.provider.IDisposable;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.INotifyChangedListener;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+import org.eclipse.osbp.infogrid.model.gridsource.CxGridSourcePackage;
+
+import org.eclipse.osbp.infogrid.model.gridsource.util.CxGridSourceAdapterFactory;
+
+/**
+ * This is the factory that is used to provide the interfaces needed to support Viewers.
+ * The adapters generated by this factory convert EMF adapter notifications into calls to {@link #fireNotifyChanged fireNotifyChanged}.
+ * The adapters also support Eclipse property sheets.
+ * Note that most of the adapters are shared among multiple instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class CxGridSourceItemProviderAdapterFactory extends CxGridSourceAdapterFactory implements ComposeableAdapterFactory, IChangeNotifier, IDisposable, IChildCreationExtender {
+	/**
+	 * This keeps track of the root adapter factory that delegates to this adapter factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ComposedAdapterFactory parentAdapterFactory;
+
+	/**
+	 * This is used to implement {@link org.eclipse.emf.edit.provider.IChangeNotifier}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected IChangeNotifier changeNotifier = new ChangeNotifier();
+
+	/**
+	 * This helps manage the child creation extenders.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ChildCreationExtenderManager childCreationExtenderManager = new ChildCreationExtenderManager(CxGridSourceEditPlugin.INSTANCE, CxGridSourcePackage.eNS_URI);
+
+	/**
+	 * This keeps track of all the supported types checked by {@link #isFactoryForType isFactoryForType}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected Collection<Object> supportedTypes = new ArrayList<Object>();
+
+	/**
+	 * This constructs an instance.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CxGridSourceItemProviderAdapterFactory() {
+		supportedTypes.add(IEditingDomainItemProvider.class);
+		supportedTypes.add(IStructuredItemContentProvider.class);
+		supportedTypes.add(ITreeItemContentProvider.class);
+		supportedTypes.add(IItemLabelProvider.class);
+		supportedTypes.add(IItemPropertySource.class);
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link org.eclipse.osbp.infogrid.model.gridsource.CxGridSource} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected CxGridSourceItemProvider cxGridSourceItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link org.eclipse.osbp.infogrid.model.gridsource.CxGridSource}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createCxGridSourceAdapter() {
+		if (cxGridSourceItemProvider == null) {
+			cxGridSourceItemProvider = new CxGridSourceItemProvider(this);
+		}
+
+		return cxGridSourceItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link org.eclipse.osbp.infogrid.model.gridsource.CxGridSourceInput} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected CxGridSourceInputItemProvider cxGridSourceInputItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link org.eclipse.osbp.infogrid.model.gridsource.CxGridSourceInput}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createCxGridSourceInputAdapter() {
+		if (cxGridSourceInputItemProvider == null) {
+			cxGridSourceInputItemProvider = new CxGridSourceInputItemProvider(this);
+		}
+
+		return cxGridSourceInputItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link org.eclipse.osbp.infogrid.model.gridsource.CxGridProperty} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected CxGridPropertyItemProvider cxGridPropertyItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link org.eclipse.osbp.infogrid.model.gridsource.CxGridProperty}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createCxGridPropertyAdapter() {
+		if (cxGridPropertyItemProvider == null) {
+			cxGridPropertyItemProvider = new CxGridPropertyItemProvider(this);
+		}
+
+		return cxGridPropertyItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link org.eclipse.osbp.infogrid.model.gridsource.CxGridNestedField} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected CxGridNestedFieldItemProvider cxGridNestedFieldItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link org.eclipse.osbp.infogrid.model.gridsource.CxGridNestedField}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createCxGridNestedFieldAdapter() {
+		if (cxGridNestedFieldItemProvider == null) {
+			cxGridNestedFieldItemProvider = new CxGridNestedFieldItemProvider(this);
+		}
+
+		return cxGridNestedFieldItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link org.eclipse.osbp.infogrid.model.gridsource.CxGridNestedPath} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected CxGridNestedPathItemProvider cxGridNestedPathItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link org.eclipse.osbp.infogrid.model.gridsource.CxGridNestedPath}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createCxGridNestedPathAdapter() {
+		if (cxGridNestedPathItemProvider == null) {
+			cxGridNestedPathItemProvider = new CxGridNestedPathItemProvider(this);
+		}
+
+		return cxGridNestedPathItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link org.eclipse.osbp.infogrid.model.gridsource.CxGridSourceEQFilter} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected CxGridSourceEQFilterItemProvider cxGridSourceEQFilterItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link org.eclipse.osbp.infogrid.model.gridsource.CxGridSourceEQFilter}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createCxGridSourceEQFilterAdapter() {
+		if (cxGridSourceEQFilterItemProvider == null) {
+			cxGridSourceEQFilterItemProvider = new CxGridSourceEQFilterItemProvider(this);
+		}
+
+		return cxGridSourceEQFilterItemProvider;
+	}
+
+	/**
+	 * This returns the root adapter factory that contains this factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ComposeableAdapterFactory getRootAdapterFactory() {
+		return parentAdapterFactory == null ? this : parentAdapterFactory.getRootAdapterFactory();
+	}
+
+	/**
+	 * This sets the composed adapter factory that contains this factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setParentAdapterFactory(ComposedAdapterFactory parentAdapterFactory) {
+		this.parentAdapterFactory = parentAdapterFactory;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean isFactoryForType(Object type) {
+		return supportedTypes.contains(type) || super.isFactoryForType(type);
+	}
+
+	/**
+	 * This implementation substitutes the factory itself as the key for the adapter.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter adapt(Notifier notifier, Object type) {
+		return super.adapt(notifier, this);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object adapt(Object object, Object type) {
+		if (isFactoryForType(type)) {
+			Object adapter = super.adapt(object, type);
+			if (!(type instanceof Class<?>) || (((Class<?>)type).isInstance(adapter))) {
+				return adapter;
+			}
+		}
+
+		return null;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public List<IChildCreationExtender> getChildCreationExtenders() {
+		return childCreationExtenderManager.getChildCreationExtenders();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Collection<?> getNewChildDescriptors(Object object, EditingDomain editingDomain) {
+		return childCreationExtenderManager.getNewChildDescriptors(object, editingDomain);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ResourceLocator getResourceLocator() {
+		return childCreationExtenderManager;
+	}
+
+	/**
+	 * This adds a listener.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void addListener(INotifyChangedListener notifyChangedListener) {
+		changeNotifier.addListener(notifyChangedListener);
+	}
+
+	/**
+	 * This removes a listener.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void removeListener(INotifyChangedListener notifyChangedListener) {
+		changeNotifier.removeListener(notifyChangedListener);
+	}
+
+	/**
+	 * This delegates to {@link #changeNotifier} and to {@link #parentAdapterFactory}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void fireNotifyChanged(Notification notification) {
+		changeNotifier.fireNotifyChanged(notification);
+
+		if (parentAdapterFactory != null) {
+			parentAdapterFactory.fireNotifyChanged(notification);
+		}
+	}
+
+	/**
+	 * This disposes all of the item providers created by this factory. 
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void dispose() {
+		if (cxGridSourceItemProvider != null) cxGridSourceItemProvider.dispose();
+		if (cxGridSourceInputItemProvider != null) cxGridSourceInputItemProvider.dispose();
+		if (cxGridPropertyItemProvider != null) cxGridPropertyItemProvider.dispose();
+		if (cxGridNestedFieldItemProvider != null) cxGridNestedFieldItemProvider.dispose();
+		if (cxGridNestedPathItemProvider != null) cxGridNestedPathItemProvider.dispose();
+		if (cxGridSourceEQFilterItemProvider != null) cxGridSourceEQFilterItemProvider.dispose();
+	}
+
+}
diff --git a/org.eclipse.osbp.infogrid.model.edit/src/org/eclipse/osbp/infogrid/model/gridsource/style/provider/CxGridPropBooleanStyleItemProvider.java b/org.eclipse.osbp.infogrid.model.edit/src/org/eclipse/osbp/infogrid/model/gridsource/style/provider/CxGridPropBooleanStyleItemProvider.java
new file mode 100644
index 0000000..c30c756
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model.edit/src/org/eclipse/osbp/infogrid/model/gridsource/style/provider/CxGridPropBooleanStyleItemProvider.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:   
+ * Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation 
+ */
+ package org.eclipse.osbp.infogrid.model.gridsource.style.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropBooleanStyle} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class CxGridPropBooleanStyleItemProvider extends CxGridPropStyleItemProvider {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CxGridPropBooleanStyleItemProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+	}
+
+	/**
+	 * This returns the property descriptors for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
+
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This returns CxGridPropBooleanStyle.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/CxGridPropBooleanStyle"));
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		return getString("_UI_CxGridPropBooleanStyle_type");
+	}
+	
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void notifyChanged(Notification notification) {
+		updateChildren(notification);
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+	}
+
+}
diff --git a/org.eclipse.osbp.infogrid.model.edit/src/org/eclipse/osbp/infogrid/model/gridsource/style/provider/CxGridPropButtonStyleItemProvider.java b/org.eclipse.osbp.infogrid.model.edit/src/org/eclipse/osbp/infogrid/model/gridsource/style/provider/CxGridPropButtonStyleItemProvider.java
new file mode 100644
index 0000000..75e1cf3
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model.edit/src/org/eclipse/osbp/infogrid/model/gridsource/style/provider/CxGridPropButtonStyleItemProvider.java
@@ -0,0 +1,130 @@
+/**
+ *                                                                            
+ * 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.infogrid.model.gridsource.style.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+import org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropButtonStyle;
+import org.eclipse.osbp.infogrid.model.gridsource.style.CxGridStylePackage;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropButtonStyle} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class CxGridPropButtonStyleItemProvider extends CxGridPropStyleItemProvider {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CxGridPropButtonStyleItemProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+	}
+
+	/**
+	 * This returns the property descriptors for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
+
+			addEventTopicPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Event Topic feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addEventTopicPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_CxGridEventTopicAble_eventTopic_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_CxGridEventTopicAble_eventTopic_feature", "_UI_CxGridEventTopicAble_type"),
+				 CxGridStylePackage.Literals.CX_GRID_EVENT_TOPIC_ABLE__EVENT_TOPIC,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		String label = ((CxGridPropButtonStyle)object).getEventTopic();
+		return label == null || label.length() == 0 ?
+			getString("_UI_CxGridPropButtonStyle_type") :
+			getString("_UI_CxGridPropButtonStyle_type") + " " + label;
+	}
+	
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void notifyChanged(Notification notification) {
+		updateChildren(notification);
+
+		switch (notification.getFeatureID(CxGridPropButtonStyle.class)) {
+			case CxGridStylePackage.CX_GRID_PROP_BUTTON_STYLE__EVENT_TOPIC:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+				return;
+		}
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+	}
+
+}
diff --git a/org.eclipse.osbp.infogrid.model.edit/src/org/eclipse/osbp/infogrid/model/gridsource/style/provider/CxGridPropDateStyleItemProvider.java b/org.eclipse.osbp.infogrid.model.edit/src/org/eclipse/osbp/infogrid/model/gridsource/style/provider/CxGridPropDateStyleItemProvider.java
new file mode 100644
index 0000000..af91d83
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model.edit/src/org/eclipse/osbp/infogrid/model/gridsource/style/provider/CxGridPropDateStyleItemProvider.java
@@ -0,0 +1,142 @@
+/**
+ *                                                                            
+ * 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.infogrid.model.gridsource.style.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropDateStyle;
+import org.eclipse.osbp.infogrid.model.gridsource.style.CxGridStylePackage;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropDateStyle} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class CxGridPropDateStyleItemProvider extends CxGridPropStyleItemProvider {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CxGridPropDateStyleItemProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+	}
+
+	/**
+	 * This returns the property descriptors for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
+
+			addDateFormatPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Date Format feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addDateFormatPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_CxGridPropDateStyle_dateFormat_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_CxGridPropDateStyle_dateFormat_feature", "_UI_CxGridPropDateStyle_type"),
+				 CxGridStylePackage.Literals.CX_GRID_PROP_DATE_STYLE__DATE_FORMAT,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This returns CxGridPropDateStyle.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/CxGridPropDateStyle"));
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		String label = ((CxGridPropDateStyle)object).getDateFormat();
+		return label == null || label.length() == 0 ?
+			getString("_UI_CxGridPropDateStyle_type") :
+			getString("_UI_CxGridPropDateStyle_type") + " " + label;
+	}
+	
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void notifyChanged(Notification notification) {
+		updateChildren(notification);
+
+		switch (notification.getFeatureID(CxGridPropDateStyle.class)) {
+			case CxGridStylePackage.CX_GRID_PROP_DATE_STYLE__DATE_FORMAT:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+				return;
+		}
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+	}
+
+}
diff --git a/org.eclipse.osbp.infogrid.model.edit/src/org/eclipse/osbp/infogrid/model/gridsource/style/provider/CxGridPropHtmlStyleItemProvider.java b/org.eclipse.osbp.infogrid.model.edit/src/org/eclipse/osbp/infogrid/model/gridsource/style/provider/CxGridPropHtmlStyleItemProvider.java
new file mode 100644
index 0000000..deb35b2
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model.edit/src/org/eclipse/osbp/infogrid/model/gridsource/style/provider/CxGridPropHtmlStyleItemProvider.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:   
+ * Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation 
+ */
+ package org.eclipse.osbp.infogrid.model.gridsource.style.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropHtmlStyle} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class CxGridPropHtmlStyleItemProvider extends CxGridPropStyleItemProvider {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CxGridPropHtmlStyleItemProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+	}
+
+	/**
+	 * This returns the property descriptors for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
+
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		return getString("_UI_CxGridPropHtmlStyle_type");
+	}
+	
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void notifyChanged(Notification notification) {
+		updateChildren(notification);
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+	}
+
+}
diff --git a/org.eclipse.osbp.infogrid.model.edit/src/org/eclipse/osbp/infogrid/model/gridsource/style/provider/CxGridPropImageStyleItemProvider.java b/org.eclipse.osbp.infogrid.model.edit/src/org/eclipse/osbp/infogrid/model/gridsource/style/provider/CxGridPropImageStyleItemProvider.java
new file mode 100644
index 0000000..c427e0c
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model.edit/src/org/eclipse/osbp/infogrid/model/gridsource/style/provider/CxGridPropImageStyleItemProvider.java
@@ -0,0 +1,193 @@
+/**
+ *                                                                            
+ * 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.infogrid.model.gridsource.style.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropImageStyle;
+import org.eclipse.osbp.infogrid.model.gridsource.style.CxGridStyleFactory;
+import org.eclipse.osbp.infogrid.model.gridsource.style.CxGridStylePackage;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropImageStyle} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class CxGridPropImageStyleItemProvider extends CxGridPropStyleItemProvider {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CxGridPropImageStyleItemProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+	}
+
+	/**
+	 * This returns the property descriptors for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
+
+			addEventTopicPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Event Topic feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addEventTopicPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_CxGridEventTopicAble_eventTopic_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_CxGridEventTopicAble_eventTopic_feature", "_UI_CxGridEventTopicAble_type"),
+				 CxGridStylePackage.Literals.CX_GRID_EVENT_TOPIC_ABLE__EVENT_TOPIC,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+	 * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+	 * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Collection<? extends EStructuralFeature> getChildrenFeatures(Object object) {
+		if (childrenFeatures == null) {
+			super.getChildrenFeatures(object);
+			childrenFeatures.add(CxGridStylePackage.Literals.CX_GRID_PROP_IMAGE_STYLE__CONFIGS);
+		}
+		return childrenFeatures;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EStructuralFeature getChildFeature(Object object, Object child) {
+		// Check the type of the specified child object and return the proper feature to use for
+		// adding (see {@link AddCommand}) it as a child.
+
+		return super.getChildFeature(object, child);
+	}
+
+	/**
+	 * This returns CxGridPropImageStyle.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/CxGridPropImageStyle"));
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		String label = ((CxGridPropImageStyle)object).getEventTopic();
+		return label == null || label.length() == 0 ?
+			getString("_UI_CxGridPropImageStyle_type") :
+			getString("_UI_CxGridPropImageStyle_type") + " " + label;
+	}
+	
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void notifyChanged(Notification notification) {
+		updateChildren(notification);
+
+		switch (notification.getFeatureID(CxGridPropImageStyle.class)) {
+			case CxGridStylePackage.CX_GRID_PROP_IMAGE_STYLE__EVENT_TOPIC:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+				return;
+			case CxGridStylePackage.CX_GRID_PROP_IMAGE_STYLE__CONFIGS:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+				return;
+		}
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+
+		newChildDescriptors.add
+			(createChildParameter
+				(CxGridStylePackage.Literals.CX_GRID_PROP_IMAGE_STYLE__CONFIGS,
+				 CxGridStyleFactory.eINSTANCE.createCxGridStyleConfig()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(CxGridStylePackage.Literals.CX_GRID_PROP_IMAGE_STYLE__CONFIGS,
+				 CxGridStyleFactory.eINSTANCE.createCxGridStyleConfigStringToResource()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(CxGridStylePackage.Literals.CX_GRID_PROP_IMAGE_STYLE__CONFIGS,
+				 CxGridStyleFactory.eINSTANCE.createCxGridStyleConfigNumericToResource()));
+	}
+
+}
diff --git a/org.eclipse.osbp.infogrid.model.edit/src/org/eclipse/osbp/infogrid/model/gridsource/style/provider/CxGridPropIndicatorStyleItemProvider.java b/org.eclipse.osbp.infogrid.model.edit/src/org/eclipse/osbp/infogrid/model/gridsource/style/provider/CxGridPropIndicatorStyleItemProvider.java
new file mode 100644
index 0000000..80fe0e7
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model.edit/src/org/eclipse/osbp/infogrid/model/gridsource/style/provider/CxGridPropIndicatorStyleItemProvider.java
@@ -0,0 +1,190 @@
+/**
+ *                                                                            
+ * 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.infogrid.model.gridsource.style.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropIndicatorStyle;
+import org.eclipse.osbp.infogrid.model.gridsource.style.CxGridStylePackage;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropIndicatorStyle} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class CxGridPropIndicatorStyleItemProvider extends CxGridPropStyleItemProvider {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CxGridPropIndicatorStyleItemProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+	}
+
+	/**
+	 * This returns the property descriptors for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
+
+			addEventTopicPropertyDescriptor(object);
+			addGreenStartsPropertyDescriptor(object);
+			addRedEndsPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Event Topic feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addEventTopicPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_CxGridEventTopicAble_eventTopic_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_CxGridEventTopicAble_eventTopic_feature", "_UI_CxGridEventTopicAble_type"),
+				 CxGridStylePackage.Literals.CX_GRID_EVENT_TOPIC_ABLE__EVENT_TOPIC,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Green Starts feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addGreenStartsPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_CxGridPropIndicatorStyle_greenStarts_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_CxGridPropIndicatorStyle_greenStarts_feature", "_UI_CxGridPropIndicatorStyle_type"),
+				 CxGridStylePackage.Literals.CX_GRID_PROP_INDICATOR_STYLE__GREEN_STARTS,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.REAL_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Red Ends feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addRedEndsPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_CxGridPropIndicatorStyle_redEnds_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_CxGridPropIndicatorStyle_redEnds_feature", "_UI_CxGridPropIndicatorStyle_type"),
+				 CxGridStylePackage.Literals.CX_GRID_PROP_INDICATOR_STYLE__RED_ENDS,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.REAL_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This returns CxGridPropIndicatorStyle.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/CxGridPropIndicatorStyle"));
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		String label = ((CxGridPropIndicatorStyle)object).getEventTopic();
+		return label == null || label.length() == 0 ?
+			getString("_UI_CxGridPropIndicatorStyle_type") :
+			getString("_UI_CxGridPropIndicatorStyle_type") + " " + label;
+	}
+	
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void notifyChanged(Notification notification) {
+		updateChildren(notification);
+
+		switch (notification.getFeatureID(CxGridPropIndicatorStyle.class)) {
+			case CxGridStylePackage.CX_GRID_PROP_INDICATOR_STYLE__EVENT_TOPIC:
+			case CxGridStylePackage.CX_GRID_PROP_INDICATOR_STYLE__GREEN_STARTS:
+			case CxGridStylePackage.CX_GRID_PROP_INDICATOR_STYLE__RED_ENDS:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+				return;
+		}
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+	}
+
+}
diff --git a/org.eclipse.osbp.infogrid.model.edit/src/org/eclipse/osbp/infogrid/model/gridsource/style/provider/CxGridPropNumberStyleItemProvider.java b/org.eclipse.osbp.infogrid.model.edit/src/org/eclipse/osbp/infogrid/model/gridsource/style/provider/CxGridPropNumberStyleItemProvider.java
new file mode 100644
index 0000000..71cb496
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model.edit/src/org/eclipse/osbp/infogrid/model/gridsource/style/provider/CxGridPropNumberStyleItemProvider.java
@@ -0,0 +1,142 @@
+/**
+ *                                                                            
+ * 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.infogrid.model.gridsource.style.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropNumberStyle;
+import org.eclipse.osbp.infogrid.model.gridsource.style.CxGridStylePackage;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropNumberStyle} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class CxGridPropNumberStyleItemProvider extends CxGridPropStyleItemProvider {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CxGridPropNumberStyleItemProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+	}
+
+	/**
+	 * This returns the property descriptors for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
+
+			addNumberFormatPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Number Format feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addNumberFormatPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_CxGridPropNumberStyle_numberFormat_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_CxGridPropNumberStyle_numberFormat_feature", "_UI_CxGridPropNumberStyle_type"),
+				 CxGridStylePackage.Literals.CX_GRID_PROP_NUMBER_STYLE__NUMBER_FORMAT,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This returns CxGridPropNumberStyle.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/CxGridPropNumberStyle"));
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		String label = ((CxGridPropNumberStyle)object).getNumberFormat();
+		return label == null || label.length() == 0 ?
+			getString("_UI_CxGridPropNumberStyle_type") :
+			getString("_UI_CxGridPropNumberStyle_type") + " " + label;
+	}
+	
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void notifyChanged(Notification notification) {
+		updateChildren(notification);
+
+		switch (notification.getFeatureID(CxGridPropNumberStyle.class)) {
+			case CxGridStylePackage.CX_GRID_PROP_NUMBER_STYLE__NUMBER_FORMAT:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+				return;
+		}
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+	}
+
+}
diff --git a/org.eclipse.osbp.infogrid.model.edit/src/org/eclipse/osbp/infogrid/model/gridsource/style/provider/CxGridPropPriceStyleItemProvider.java b/org.eclipse.osbp.infogrid.model.edit/src/org/eclipse/osbp/infogrid/model/gridsource/style/provider/CxGridPropPriceStyleItemProvider.java
new file mode 100644
index 0000000..ba916bf
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model.edit/src/org/eclipse/osbp/infogrid/model/gridsource/style/provider/CxGridPropPriceStyleItemProvider.java
@@ -0,0 +1,286 @@
+/**
+ *                                                                            
+ * 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.infogrid.model.gridsource.style.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.osbp.infogrid.model.gridsource.CxGridSourceFactory;
+
+import org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropPriceStyle;
+import org.eclipse.osbp.infogrid.model.gridsource.style.CxGridStylePackage;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropPriceStyle} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class CxGridPropPriceStyleItemProvider extends CxGridPropStyleItemProvider {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CxGridPropPriceStyleItemProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+	}
+
+	/**
+	 * This returns the property descriptors for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
+
+			addValuePropertyDotPathPropertyDescriptor(object);
+			addValueNumberFormatPropertyDescriptor(object);
+			addCurrencyPropertyDotPathPropertyDescriptor(object);
+			addHtmlPatternPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Value Property Dot Path feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addValuePropertyDotPathPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_CxGridPropPriceStyle_valuePropertyDotPath_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_CxGridPropPriceStyle_valuePropertyDotPath_feature", "_UI_CxGridPropPriceStyle_type"),
+				 CxGridStylePackage.Literals.CX_GRID_PROP_PRICE_STYLE__VALUE_PROPERTY_DOT_PATH,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Value Number Format feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addValueNumberFormatPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_CxGridPropPriceStyle_valueNumberFormat_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_CxGridPropPriceStyle_valueNumberFormat_feature", "_UI_CxGridPropPriceStyle_type"),
+				 CxGridStylePackage.Literals.CX_GRID_PROP_PRICE_STYLE__VALUE_NUMBER_FORMAT,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Currency Property Dot Path feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addCurrencyPropertyDotPathPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_CxGridPropPriceStyle_currencyPropertyDotPath_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_CxGridPropPriceStyle_currencyPropertyDotPath_feature", "_UI_CxGridPropPriceStyle_type"),
+				 CxGridStylePackage.Literals.CX_GRID_PROP_PRICE_STYLE__CURRENCY_PROPERTY_DOT_PATH,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Html Pattern feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addHtmlPatternPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_CxGridPropPriceStyle_htmlPattern_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_CxGridPropPriceStyle_htmlPattern_feature", "_UI_CxGridPropPriceStyle_type"),
+				 CxGridStylePackage.Literals.CX_GRID_PROP_PRICE_STYLE__HTML_PATTERN,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+	 * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+	 * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Collection<? extends EStructuralFeature> getChildrenFeatures(Object object) {
+		if (childrenFeatures == null) {
+			super.getChildrenFeatures(object);
+			childrenFeatures.add(CxGridStylePackage.Literals.CX_GRID_PROP_PRICE_STYLE__VALUE_PROPERTY_PATH);
+			childrenFeatures.add(CxGridStylePackage.Literals.CX_GRID_PROP_PRICE_STYLE__CURRENCY_PROPERTY_PATH);
+		}
+		return childrenFeatures;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EStructuralFeature getChildFeature(Object object, Object child) {
+		// Check the type of the specified child object and return the proper feature to use for
+		// adding (see {@link AddCommand}) it as a child.
+
+		return super.getChildFeature(object, child);
+	}
+
+	/**
+	 * This returns CxGridPropPriceStyle.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/CxGridPropPriceStyle"));
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		String label = ((CxGridPropPriceStyle)object).getValuePropertyDotPath();
+		return label == null || label.length() == 0 ?
+			getString("_UI_CxGridPropPriceStyle_type") :
+			getString("_UI_CxGridPropPriceStyle_type") + " " + label;
+	}
+	
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void notifyChanged(Notification notification) {
+		updateChildren(notification);
+
+		switch (notification.getFeatureID(CxGridPropPriceStyle.class)) {
+			case CxGridStylePackage.CX_GRID_PROP_PRICE_STYLE__VALUE_PROPERTY_DOT_PATH:
+			case CxGridStylePackage.CX_GRID_PROP_PRICE_STYLE__VALUE_NUMBER_FORMAT:
+			case CxGridStylePackage.CX_GRID_PROP_PRICE_STYLE__CURRENCY_PROPERTY_DOT_PATH:
+			case CxGridStylePackage.CX_GRID_PROP_PRICE_STYLE__HTML_PATTERN:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+				return;
+			case CxGridStylePackage.CX_GRID_PROP_PRICE_STYLE__VALUE_PROPERTY_PATH:
+			case CxGridStylePackage.CX_GRID_PROP_PRICE_STYLE__CURRENCY_PROPERTY_PATH:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+				return;
+		}
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+
+		newChildDescriptors.add
+			(createChildParameter
+				(CxGridStylePackage.Literals.CX_GRID_PROP_PRICE_STYLE__VALUE_PROPERTY_PATH,
+				 CxGridSourceFactory.eINSTANCE.createCxGridNestedField()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(CxGridStylePackage.Literals.CX_GRID_PROP_PRICE_STYLE__CURRENCY_PROPERTY_PATH,
+				 CxGridSourceFactory.eINSTANCE.createCxGridNestedField()));
+	}
+
+	/**
+	 * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getCreateChildText(Object owner, Object feature, Object child, Collection<?> selection) {
+		Object childFeature = feature;
+		Object childObject = child;
+
+		boolean qualify =
+			childFeature == CxGridStylePackage.Literals.CX_GRID_PROP_PRICE_STYLE__VALUE_PROPERTY_PATH ||
+			childFeature == CxGridStylePackage.Literals.CX_GRID_PROP_PRICE_STYLE__CURRENCY_PROPERTY_PATH;
+
+		if (qualify) {
+			return getString
+				("_UI_CreateChild_text2",
+				 new Object[] { getTypeText(childObject), getFeatureText(childFeature), getTypeText(owner) });
+		}
+		return super.getCreateChildText(owner, feature, child, selection);
+	}
+
+}
diff --git a/org.eclipse.osbp.infogrid.model.edit/src/org/eclipse/osbp/infogrid/model/gridsource/style/provider/CxGridPropProgressbarStyleItemProvider.java b/org.eclipse.osbp.infogrid.model.edit/src/org/eclipse/osbp/infogrid/model/gridsource/style/provider/CxGridPropProgressbarStyleItemProvider.java
new file mode 100644
index 0000000..34da463
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model.edit/src/org/eclipse/osbp/infogrid/model/gridsource/style/provider/CxGridPropProgressbarStyleItemProvider.java
@@ -0,0 +1,128 @@
+/**
+ *                                                                            
+ * 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.infogrid.model.gridsource.style.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+import org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropProgressbarStyle;
+import org.eclipse.osbp.infogrid.model.gridsource.style.CxGridStylePackage;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropProgressbarStyle} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class CxGridPropProgressbarStyleItemProvider extends CxGridPropStyleItemProvider {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CxGridPropProgressbarStyleItemProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+	}
+
+	/**
+	 * This returns the property descriptors for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
+
+			addMaxValuePropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Max Value feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addMaxValuePropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_CxGridPropProgressbarStyle_maxValue_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_CxGridPropProgressbarStyle_maxValue_feature", "_UI_CxGridPropProgressbarStyle_type"),
+				 CxGridStylePackage.Literals.CX_GRID_PROP_PROGRESSBAR_STYLE__MAX_VALUE,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.REAL_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		CxGridPropProgressbarStyle cxGridPropProgressbarStyle = (CxGridPropProgressbarStyle)object;
+		return getString("_UI_CxGridPropProgressbarStyle_type") + " " + cxGridPropProgressbarStyle.getMaxValue();
+	}
+	
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void notifyChanged(Notification notification) {
+		updateChildren(notification);
+
+		switch (notification.getFeatureID(CxGridPropProgressbarStyle.class)) {
+			case CxGridStylePackage.CX_GRID_PROP_PROGRESSBAR_STYLE__MAX_VALUE:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+				return;
+		}
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+	}
+
+}
diff --git a/org.eclipse.osbp.infogrid.model.edit/src/org/eclipse/osbp/infogrid/model/gridsource/style/provider/CxGridPropQuantityStyleItemProvider.java b/org.eclipse.osbp.infogrid.model.edit/src/org/eclipse/osbp/infogrid/model/gridsource/style/provider/CxGridPropQuantityStyleItemProvider.java
new file mode 100644
index 0000000..4b6b2d5
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model.edit/src/org/eclipse/osbp/infogrid/model/gridsource/style/provider/CxGridPropQuantityStyleItemProvider.java
@@ -0,0 +1,286 @@
+/**
+ *                                                                            
+ * 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.infogrid.model.gridsource.style.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.osbp.infogrid.model.gridsource.CxGridSourceFactory;
+
+import org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropQuantityStyle;
+import org.eclipse.osbp.infogrid.model.gridsource.style.CxGridStylePackage;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropQuantityStyle} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class CxGridPropQuantityStyleItemProvider extends CxGridPropStyleItemProvider {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CxGridPropQuantityStyleItemProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+	}
+
+	/**
+	 * This returns the property descriptors for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
+
+			addValuePropertyDotPathPropertyDescriptor(object);
+			addValueNumberFormatPropertyDescriptor(object);
+			addUomPropertyDotPathPropertyDescriptor(object);
+			addHtmlPatternPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Value Property Dot Path feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addValuePropertyDotPathPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_CxGridPropQuantityStyle_valuePropertyDotPath_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_CxGridPropQuantityStyle_valuePropertyDotPath_feature", "_UI_CxGridPropQuantityStyle_type"),
+				 CxGridStylePackage.Literals.CX_GRID_PROP_QUANTITY_STYLE__VALUE_PROPERTY_DOT_PATH,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Value Number Format feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addValueNumberFormatPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_CxGridPropQuantityStyle_valueNumberFormat_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_CxGridPropQuantityStyle_valueNumberFormat_feature", "_UI_CxGridPropQuantityStyle_type"),
+				 CxGridStylePackage.Literals.CX_GRID_PROP_QUANTITY_STYLE__VALUE_NUMBER_FORMAT,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Uom Property Dot Path feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addUomPropertyDotPathPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_CxGridPropQuantityStyle_uomPropertyDotPath_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_CxGridPropQuantityStyle_uomPropertyDotPath_feature", "_UI_CxGridPropQuantityStyle_type"),
+				 CxGridStylePackage.Literals.CX_GRID_PROP_QUANTITY_STYLE__UOM_PROPERTY_DOT_PATH,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Html Pattern feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addHtmlPatternPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_CxGridPropQuantityStyle_htmlPattern_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_CxGridPropQuantityStyle_htmlPattern_feature", "_UI_CxGridPropQuantityStyle_type"),
+				 CxGridStylePackage.Literals.CX_GRID_PROP_QUANTITY_STYLE__HTML_PATTERN,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+	 * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+	 * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Collection<? extends EStructuralFeature> getChildrenFeatures(Object object) {
+		if (childrenFeatures == null) {
+			super.getChildrenFeatures(object);
+			childrenFeatures.add(CxGridStylePackage.Literals.CX_GRID_PROP_QUANTITY_STYLE__VALUE_PROPERTY_PATH);
+			childrenFeatures.add(CxGridStylePackage.Literals.CX_GRID_PROP_QUANTITY_STYLE__UOM_PROPERTY_PATH);
+		}
+		return childrenFeatures;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EStructuralFeature getChildFeature(Object object, Object child) {
+		// Check the type of the specified child object and return the proper feature to use for
+		// adding (see {@link AddCommand}) it as a child.
+
+		return super.getChildFeature(object, child);
+	}
+
+	/**
+	 * This returns CxGridPropQuantityStyle.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/CxGridPropQuantityStyle"));
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		String label = ((CxGridPropQuantityStyle)object).getValuePropertyDotPath();
+		return label == null || label.length() == 0 ?
+			getString("_UI_CxGridPropQuantityStyle_type") :
+			getString("_UI_CxGridPropQuantityStyle_type") + " " + label;
+	}
+	
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void notifyChanged(Notification notification) {
+		updateChildren(notification);
+
+		switch (notification.getFeatureID(CxGridPropQuantityStyle.class)) {
+			case CxGridStylePackage.CX_GRID_PROP_QUANTITY_STYLE__VALUE_PROPERTY_DOT_PATH:
+			case CxGridStylePackage.CX_GRID_PROP_QUANTITY_STYLE__VALUE_NUMBER_FORMAT:
+			case CxGridStylePackage.CX_GRID_PROP_QUANTITY_STYLE__UOM_PROPERTY_DOT_PATH:
+			case CxGridStylePackage.CX_GRID_PROP_QUANTITY_STYLE__HTML_PATTERN:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+				return;
+			case CxGridStylePackage.CX_GRID_PROP_QUANTITY_STYLE__VALUE_PROPERTY_PATH:
+			case CxGridStylePackage.CX_GRID_PROP_QUANTITY_STYLE__UOM_PROPERTY_PATH:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+				return;
+		}
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+
+		newChildDescriptors.add
+			(createChildParameter
+				(CxGridStylePackage.Literals.CX_GRID_PROP_QUANTITY_STYLE__VALUE_PROPERTY_PATH,
+				 CxGridSourceFactory.eINSTANCE.createCxGridNestedField()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(CxGridStylePackage.Literals.CX_GRID_PROP_QUANTITY_STYLE__UOM_PROPERTY_PATH,
+				 CxGridSourceFactory.eINSTANCE.createCxGridNestedField()));
+	}
+
+	/**
+	 * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getCreateChildText(Object owner, Object feature, Object child, Collection<?> selection) {
+		Object childFeature = feature;
+		Object childObject = child;
+
+		boolean qualify =
+			childFeature == CxGridStylePackage.Literals.CX_GRID_PROP_QUANTITY_STYLE__VALUE_PROPERTY_PATH ||
+			childFeature == CxGridStylePackage.Literals.CX_GRID_PROP_QUANTITY_STYLE__UOM_PROPERTY_PATH;
+
+		if (qualify) {
+			return getString
+				("_UI_CreateChild_text2",
+				 new Object[] { getTypeText(childObject), getFeatureText(childFeature), getTypeText(owner) });
+		}
+		return super.getCreateChildText(owner, feature, child, selection);
+	}
+
+}
diff --git a/org.eclipse.osbp.infogrid.model.edit/src/org/eclipse/osbp/infogrid/model/gridsource/style/provider/CxGridPropSparklineStyleItemProvider.java b/org.eclipse.osbp.infogrid.model.edit/src/org/eclipse/osbp/infogrid/model/gridsource/style/provider/CxGridPropSparklineStyleItemProvider.java
new file mode 100644
index 0000000..af1c025
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model.edit/src/org/eclipse/osbp/infogrid/model/gridsource/style/provider/CxGridPropSparklineStyleItemProvider.java
@@ -0,0 +1,139 @@
+/**
+ *                                                                            
+ * 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.infogrid.model.gridsource.style.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+import org.eclipse.osbp.infogrid.model.gridsource.CxGridSourceFactory;
+import org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropSparklineStyle;
+import org.eclipse.osbp.infogrid.model.gridsource.style.CxGridStylePackage;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropSparklineStyle} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class CxGridPropSparklineStyleItemProvider extends CxGridPropStyleItemProvider {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CxGridPropSparklineStyleItemProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+	}
+
+	/**
+	 * This returns the property descriptors for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
+
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+	 * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+	 * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Collection<? extends EStructuralFeature> getChildrenFeatures(Object object) {
+		if (childrenFeatures == null) {
+			super.getChildrenFeatures(object);
+			childrenFeatures.add(CxGridStylePackage.Literals.CX_GRID_PROP_SPARKLINE_STYLE__FIELD);
+		}
+		return childrenFeatures;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EStructuralFeature getChildFeature(Object object, Object child) {
+		// Check the type of the specified child object and return the proper feature to use for
+		// adding (see {@link AddCommand}) it as a child.
+
+		return super.getChildFeature(object, child);
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		return getString("_UI_CxGridPropSparklineStyle_type");
+	}
+	
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void notifyChanged(Notification notification) {
+		updateChildren(notification);
+
+		switch (notification.getFeatureID(CxGridPropSparklineStyle.class)) {
+			case CxGridStylePackage.CX_GRID_PROP_SPARKLINE_STYLE__FIELD:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+				return;
+		}
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+
+		newChildDescriptors.add
+			(createChildParameter
+				(CxGridStylePackage.Literals.CX_GRID_PROP_SPARKLINE_STYLE__FIELD,
+				 CxGridSourceFactory.eINSTANCE.createCxGridNestedField()));
+	}
+
+}
diff --git a/org.eclipse.osbp.infogrid.model.edit/src/org/eclipse/osbp/infogrid/model/gridsource/style/provider/CxGridPropStyleItemProvider.java b/org.eclipse.osbp.infogrid.model.edit/src/org/eclipse/osbp/infogrid/model/gridsource/style/provider/CxGridPropStyleItemProvider.java
new file mode 100644
index 0000000..b6ce795
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model.edit/src/org/eclipse/osbp/infogrid/model/gridsource/style/provider/CxGridPropStyleItemProvider.java
@@ -0,0 +1,120 @@
+/**
+ *                                                                            
+ * 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.infogrid.model.gridsource.style.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.IChildCreationExtender;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropStyle} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class CxGridPropStyleItemProvider 
+	extends ItemProviderAdapter
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CxGridPropStyleItemProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+	}
+
+	/**
+	 * This returns the property descriptors for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
+
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		return getString("_UI_CxGridPropStyle_type");
+	}
+	
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void notifyChanged(Notification notification) {
+		updateChildren(notification);
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+	}
+
+	/**
+	 * Return the resource locator for this item provider's resources.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public ResourceLocator getResourceLocator() {
+		return ((IChildCreationExtender)adapterFactory).getResourceLocator();
+	}
+
+}
diff --git a/org.eclipse.osbp.infogrid.model.edit/src/org/eclipse/osbp/infogrid/model/gridsource/style/provider/CxGridPropTextStyleItemProvider.java b/org.eclipse.osbp.infogrid.model.edit/src/org/eclipse/osbp/infogrid/model/gridsource/style/provider/CxGridPropTextStyleItemProvider.java
new file mode 100644
index 0000000..b69461f
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model.edit/src/org/eclipse/osbp/infogrid/model/gridsource/style/provider/CxGridPropTextStyleItemProvider.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:   
+ * Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation 
+ */
+ package org.eclipse.osbp.infogrid.model.gridsource.style.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropTextStyle} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class CxGridPropTextStyleItemProvider extends CxGridPropStyleItemProvider {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CxGridPropTextStyleItemProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+	}
+
+	/**
+	 * This returns the property descriptors for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
+
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		return getString("_UI_CxGridPropTextStyle_type");
+	}
+	
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void notifyChanged(Notification notification) {
+		updateChildren(notification);
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+	}
+
+}
diff --git a/org.eclipse.osbp.infogrid.model.edit/src/org/eclipse/osbp/infogrid/model/gridsource/style/provider/CxGridStyleConfigItemProvider.java b/org.eclipse.osbp.infogrid.model.edit/src/org/eclipse/osbp/infogrid/model/gridsource/style/provider/CxGridStyleConfigItemProvider.java
new file mode 100644
index 0000000..602db56
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model.edit/src/org/eclipse/osbp/infogrid/model/gridsource/style/provider/CxGridStyleConfigItemProvider.java
@@ -0,0 +1,131 @@
+/**
+ *                                                                            
+ * 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.infogrid.model.gridsource.style.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.IChildCreationExtender;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridStyleConfig} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class CxGridStyleConfigItemProvider 
+	extends ItemProviderAdapter
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CxGridStyleConfigItemProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+	}
+
+	/**
+	 * This returns the property descriptors for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
+
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This returns CxGridStyleConfig.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/CxGridStyleConfig"));
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		return getString("_UI_CxGridStyleConfig_type");
+	}
+	
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void notifyChanged(Notification notification) {
+		updateChildren(notification);
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+	}
+
+	/**
+	 * Return the resource locator for this item provider's resources.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public ResourceLocator getResourceLocator() {
+		return ((IChildCreationExtender)adapterFactory).getResourceLocator();
+	}
+
+}
diff --git a/org.eclipse.osbp.infogrid.model.edit/src/org/eclipse/osbp/infogrid/model/gridsource/style/provider/CxGridStyleConfigNumericToResourceItemProvider.java b/org.eclipse.osbp.infogrid.model.edit/src/org/eclipse/osbp/infogrid/model/gridsource/style/provider/CxGridStyleConfigNumericToResourceItemProvider.java
new file mode 100644
index 0000000..f29fd39
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model.edit/src/org/eclipse/osbp/infogrid/model/gridsource/style/provider/CxGridStyleConfigNumericToResourceItemProvider.java
@@ -0,0 +1,188 @@
+/**
+ *                                                                            
+ * 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.infogrid.model.gridsource.style.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.osbp.infogrid.model.gridsource.style.CxGridStyleConfigNumericToResource;
+import org.eclipse.osbp.infogrid.model.gridsource.style.CxGridStylePackage;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridStyleConfigNumericToResource} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class CxGridStyleConfigNumericToResourceItemProvider extends CxGridStyleConfigItemProvider {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CxGridStyleConfigNumericToResourceItemProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+	}
+
+	/**
+	 * This returns the property descriptors for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
+
+			addValuePropertyDescriptor(object);
+			addComparePropertyDescriptor(object);
+			addResourceThemePathPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Value feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addValuePropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_CxGridStyleConfigNumericToResource_value_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_CxGridStyleConfigNumericToResource_value_feature", "_UI_CxGridStyleConfigNumericToResource_type"),
+				 CxGridStylePackage.Literals.CX_GRID_STYLE_CONFIG_NUMERIC_TO_RESOURCE__VALUE,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.REAL_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Compare feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addComparePropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_CxGridStyleConfigNumericToResource_compare_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_CxGridStyleConfigNumericToResource_compare_feature", "_UI_CxGridStyleConfigNumericToResource_type"),
+				 CxGridStylePackage.Literals.CX_GRID_STYLE_CONFIG_NUMERIC_TO_RESOURCE__COMPARE,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Resource Theme Path feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addResourceThemePathPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_CxGridStyleConfigNumericToResource_resourceThemePath_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_CxGridStyleConfigNumericToResource_resourceThemePath_feature", "_UI_CxGridStyleConfigNumericToResource_type"),
+				 CxGridStylePackage.Literals.CX_GRID_STYLE_CONFIG_NUMERIC_TO_RESOURCE__RESOURCE_THEME_PATH,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This returns CxGridStyleConfigNumericToResource.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/CxGridStyleConfigNumericToResource"));
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		CxGridStyleConfigNumericToResource cxGridStyleConfigNumericToResource = (CxGridStyleConfigNumericToResource)object;
+		return getString("_UI_CxGridStyleConfigNumericToResource_type") + " " + cxGridStyleConfigNumericToResource.getValue();
+	}
+	
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void notifyChanged(Notification notification) {
+		updateChildren(notification);
+
+		switch (notification.getFeatureID(CxGridStyleConfigNumericToResource.class)) {
+			case CxGridStylePackage.CX_GRID_STYLE_CONFIG_NUMERIC_TO_RESOURCE__VALUE:
+			case CxGridStylePackage.CX_GRID_STYLE_CONFIG_NUMERIC_TO_RESOURCE__COMPARE:
+			case CxGridStylePackage.CX_GRID_STYLE_CONFIG_NUMERIC_TO_RESOURCE__RESOURCE_THEME_PATH:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+				return;
+		}
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+	}
+
+}
diff --git a/org.eclipse.osbp.infogrid.model.edit/src/org/eclipse/osbp/infogrid/model/gridsource/style/provider/CxGridStyleConfigStringToResourceItemProvider.java b/org.eclipse.osbp.infogrid.model.edit/src/org/eclipse/osbp/infogrid/model/gridsource/style/provider/CxGridStyleConfigStringToResourceItemProvider.java
new file mode 100644
index 0000000..1dcd05e
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model.edit/src/org/eclipse/osbp/infogrid/model/gridsource/style/provider/CxGridStyleConfigStringToResourceItemProvider.java
@@ -0,0 +1,190 @@
+/**
+ *                                                                            
+ * 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.infogrid.model.gridsource.style.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.osbp.infogrid.model.gridsource.style.CxGridStyleConfigStringToResource;
+import org.eclipse.osbp.infogrid.model.gridsource.style.CxGridStylePackage;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridStyleConfigStringToResource} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class CxGridStyleConfigStringToResourceItemProvider extends CxGridStyleConfigItemProvider {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CxGridStyleConfigStringToResourceItemProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+	}
+
+	/**
+	 * This returns the property descriptors for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
+
+			addValuePropertyDescriptor(object);
+			addComparePropertyDescriptor(object);
+			addResourceThemePathPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Value feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addValuePropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_CxGridStyleConfigStringToResource_value_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_CxGridStyleConfigStringToResource_value_feature", "_UI_CxGridStyleConfigStringToResource_type"),
+				 CxGridStylePackage.Literals.CX_GRID_STYLE_CONFIG_STRING_TO_RESOURCE__VALUE,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Compare feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addComparePropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_CxGridStyleConfigStringToResource_compare_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_CxGridStyleConfigStringToResource_compare_feature", "_UI_CxGridStyleConfigStringToResource_type"),
+				 CxGridStylePackage.Literals.CX_GRID_STYLE_CONFIG_STRING_TO_RESOURCE__COMPARE,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Resource Theme Path feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addResourceThemePathPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_CxGridStyleConfigStringToResource_resourceThemePath_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_CxGridStyleConfigStringToResource_resourceThemePath_feature", "_UI_CxGridStyleConfigStringToResource_type"),
+				 CxGridStylePackage.Literals.CX_GRID_STYLE_CONFIG_STRING_TO_RESOURCE__RESOURCE_THEME_PATH,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This returns CxGridStyleConfigStringToResource.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/CxGridStyleConfigStringToResource"));
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		String label = ((CxGridStyleConfigStringToResource)object).getValue();
+		return label == null || label.length() == 0 ?
+			getString("_UI_CxGridStyleConfigStringToResource_type") :
+			getString("_UI_CxGridStyleConfigStringToResource_type") + " " + label;
+	}
+	
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void notifyChanged(Notification notification) {
+		updateChildren(notification);
+
+		switch (notification.getFeatureID(CxGridStyleConfigStringToResource.class)) {
+			case CxGridStylePackage.CX_GRID_STYLE_CONFIG_STRING_TO_RESOURCE__VALUE:
+			case CxGridStylePackage.CX_GRID_STYLE_CONFIG_STRING_TO_RESOURCE__COMPARE:
+			case CxGridStylePackage.CX_GRID_STYLE_CONFIG_STRING_TO_RESOURCE__RESOURCE_THEME_PATH:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+				return;
+		}
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+	}
+
+}
diff --git a/org.eclipse.osbp.infogrid.model.edit/src/org/eclipse/osbp/infogrid/model/gridsource/style/provider/CxGridStyleItemProviderAdapterFactory.java b/org.eclipse.osbp.infogrid.model.edit/src/org/eclipse/osbp/infogrid/model/gridsource/style/provider/CxGridStyleItemProviderAdapterFactory.java
new file mode 100644
index 0000000..357beab
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model.edit/src/org/eclipse/osbp/infogrid/model/gridsource/style/provider/CxGridStyleItemProviderAdapterFactory.java
@@ -0,0 +1,591 @@
+/**
+ *                                                                            
+ * 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.infogrid.model.gridsource.style.provider;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.Notifier;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.domain.EditingDomain;
+
+import org.eclipse.emf.edit.provider.ChangeNotifier;
+import org.eclipse.emf.edit.provider.ChildCreationExtenderManager;
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
+import org.eclipse.emf.edit.provider.IChangeNotifier;
+import org.eclipse.emf.edit.provider.IChildCreationExtender;
+import org.eclipse.emf.edit.provider.IDisposable;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.INotifyChangedListener;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+import org.eclipse.osbp.infogrid.model.gridsource.provider.CxGridSourceEditPlugin;
+
+import org.eclipse.osbp.infogrid.model.gridsource.style.CxGridStylePackage;
+
+import org.eclipse.osbp.infogrid.model.gridsource.style.util.CxGridStyleAdapterFactory;
+
+/**
+ * This is the factory that is used to provide the interfaces needed to support Viewers.
+ * The adapters generated by this factory convert EMF adapter notifications into calls to {@link #fireNotifyChanged fireNotifyChanged}.
+ * The adapters also support Eclipse property sheets.
+ * Note that most of the adapters are shared among multiple instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class CxGridStyleItemProviderAdapterFactory extends CxGridStyleAdapterFactory implements ComposeableAdapterFactory, IChangeNotifier, IDisposable, IChildCreationExtender {
+	/**
+	 * This keeps track of the root adapter factory that delegates to this adapter factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ComposedAdapterFactory parentAdapterFactory;
+
+	/**
+	 * This is used to implement {@link org.eclipse.emf.edit.provider.IChangeNotifier}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected IChangeNotifier changeNotifier = new ChangeNotifier();
+
+	/**
+	 * This helps manage the child creation extenders.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ChildCreationExtenderManager childCreationExtenderManager = new ChildCreationExtenderManager(CxGridSourceEditPlugin.INSTANCE, CxGridStylePackage.eNS_URI);
+
+	/**
+	 * This keeps track of all the supported types checked by {@link #isFactoryForType isFactoryForType}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected Collection<Object> supportedTypes = new ArrayList<Object>();
+
+	/**
+	 * This constructs an instance.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CxGridStyleItemProviderAdapterFactory() {
+		supportedTypes.add(IEditingDomainItemProvider.class);
+		supportedTypes.add(IStructuredItemContentProvider.class);
+		supportedTypes.add(ITreeItemContentProvider.class);
+		supportedTypes.add(IItemLabelProvider.class);
+		supportedTypes.add(IItemPropertySource.class);
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropHtmlStyle} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected CxGridPropHtmlStyleItemProvider cxGridPropHtmlStyleItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropHtmlStyle}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createCxGridPropHtmlStyleAdapter() {
+		if (cxGridPropHtmlStyleItemProvider == null) {
+			cxGridPropHtmlStyleItemProvider = new CxGridPropHtmlStyleItemProvider(this);
+		}
+
+		return cxGridPropHtmlStyleItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropTextStyle} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected CxGridPropTextStyleItemProvider cxGridPropTextStyleItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropTextStyle}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createCxGridPropTextStyleAdapter() {
+		if (cxGridPropTextStyleItemProvider == null) {
+			cxGridPropTextStyleItemProvider = new CxGridPropTextStyleItemProvider(this);
+		}
+
+		return cxGridPropTextStyleItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropButtonStyle} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected CxGridPropButtonStyleItemProvider cxGridPropButtonStyleItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropButtonStyle}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createCxGridPropButtonStyleAdapter() {
+		if (cxGridPropButtonStyleItemProvider == null) {
+			cxGridPropButtonStyleItemProvider = new CxGridPropButtonStyleItemProvider(this);
+		}
+
+		return cxGridPropButtonStyleItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropProgressbarStyle} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected CxGridPropProgressbarStyleItemProvider cxGridPropProgressbarStyleItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropProgressbarStyle}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createCxGridPropProgressbarStyleAdapter() {
+		if (cxGridPropProgressbarStyleItemProvider == null) {
+			cxGridPropProgressbarStyleItemProvider = new CxGridPropProgressbarStyleItemProvider(this);
+		}
+
+		return cxGridPropProgressbarStyleItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropSparklineStyle} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected CxGridPropSparklineStyleItemProvider cxGridPropSparklineStyleItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropSparklineStyle}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createCxGridPropSparklineStyleAdapter() {
+		if (cxGridPropSparklineStyleItemProvider == null) {
+			cxGridPropSparklineStyleItemProvider = new CxGridPropSparklineStyleItemProvider(this);
+		}
+
+		return cxGridPropSparklineStyleItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropBooleanStyle} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected CxGridPropBooleanStyleItemProvider cxGridPropBooleanStyleItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropBooleanStyle}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createCxGridPropBooleanStyleAdapter() {
+		if (cxGridPropBooleanStyleItemProvider == null) {
+			cxGridPropBooleanStyleItemProvider = new CxGridPropBooleanStyleItemProvider(this);
+		}
+
+		return cxGridPropBooleanStyleItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropNumberStyle} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected CxGridPropNumberStyleItemProvider cxGridPropNumberStyleItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropNumberStyle}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createCxGridPropNumberStyleAdapter() {
+		if (cxGridPropNumberStyleItemProvider == null) {
+			cxGridPropNumberStyleItemProvider = new CxGridPropNumberStyleItemProvider(this);
+		}
+
+		return cxGridPropNumberStyleItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropImageStyle} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected CxGridPropImageStyleItemProvider cxGridPropImageStyleItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropImageStyle}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createCxGridPropImageStyleAdapter() {
+		if (cxGridPropImageStyleItemProvider == null) {
+			cxGridPropImageStyleItemProvider = new CxGridPropImageStyleItemProvider(this);
+		}
+
+		return cxGridPropImageStyleItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropIndicatorStyle} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected CxGridPropIndicatorStyleItemProvider cxGridPropIndicatorStyleItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropIndicatorStyle}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createCxGridPropIndicatorStyleAdapter() {
+		if (cxGridPropIndicatorStyleItemProvider == null) {
+			cxGridPropIndicatorStyleItemProvider = new CxGridPropIndicatorStyleItemProvider(this);
+		}
+
+		return cxGridPropIndicatorStyleItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropDateStyle} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected CxGridPropDateStyleItemProvider cxGridPropDateStyleItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropDateStyle}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createCxGridPropDateStyleAdapter() {
+		if (cxGridPropDateStyleItemProvider == null) {
+			cxGridPropDateStyleItemProvider = new CxGridPropDateStyleItemProvider(this);
+		}
+
+		return cxGridPropDateStyleItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridStyleConfig} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected CxGridStyleConfigItemProvider cxGridStyleConfigItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridStyleConfig}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createCxGridStyleConfigAdapter() {
+		if (cxGridStyleConfigItemProvider == null) {
+			cxGridStyleConfigItemProvider = new CxGridStyleConfigItemProvider(this);
+		}
+
+		return cxGridStyleConfigItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridStyleConfigStringToResource} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected CxGridStyleConfigStringToResourceItemProvider cxGridStyleConfigStringToResourceItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridStyleConfigStringToResource}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createCxGridStyleConfigStringToResourceAdapter() {
+		if (cxGridStyleConfigStringToResourceItemProvider == null) {
+			cxGridStyleConfigStringToResourceItemProvider = new CxGridStyleConfigStringToResourceItemProvider(this);
+		}
+
+		return cxGridStyleConfigStringToResourceItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridStyleConfigNumericToResource} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected CxGridStyleConfigNumericToResourceItemProvider cxGridStyleConfigNumericToResourceItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridStyleConfigNumericToResource}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createCxGridStyleConfigNumericToResourceAdapter() {
+		if (cxGridStyleConfigNumericToResourceItemProvider == null) {
+			cxGridStyleConfigNumericToResourceItemProvider = new CxGridStyleConfigNumericToResourceItemProvider(this);
+		}
+
+		return cxGridStyleConfigNumericToResourceItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropQuantityStyle} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected CxGridPropQuantityStyleItemProvider cxGridPropQuantityStyleItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropQuantityStyle}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createCxGridPropQuantityStyleAdapter() {
+		if (cxGridPropQuantityStyleItemProvider == null) {
+			cxGridPropQuantityStyleItemProvider = new CxGridPropQuantityStyleItemProvider(this);
+		}
+
+		return cxGridPropQuantityStyleItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropPriceStyle} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected CxGridPropPriceStyleItemProvider cxGridPropPriceStyleItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropPriceStyle}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createCxGridPropPriceStyleAdapter() {
+		if (cxGridPropPriceStyleItemProvider == null) {
+			cxGridPropPriceStyleItemProvider = new CxGridPropPriceStyleItemProvider(this);
+		}
+
+		return cxGridPropPriceStyleItemProvider;
+	}
+
+	/**
+	 * This returns the root adapter factory that contains this factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ComposeableAdapterFactory getRootAdapterFactory() {
+		return parentAdapterFactory == null ? this : parentAdapterFactory.getRootAdapterFactory();
+	}
+
+	/**
+	 * This sets the composed adapter factory that contains this factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setParentAdapterFactory(ComposedAdapterFactory parentAdapterFactory) {
+		this.parentAdapterFactory = parentAdapterFactory;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean isFactoryForType(Object type) {
+		return supportedTypes.contains(type) || super.isFactoryForType(type);
+	}
+
+	/**
+	 * This implementation substitutes the factory itself as the key for the adapter.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter adapt(Notifier notifier, Object type) {
+		return super.adapt(notifier, this);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object adapt(Object object, Object type) {
+		if (isFactoryForType(type)) {
+			Object adapter = super.adapt(object, type);
+			if (!(type instanceof Class<?>) || (((Class<?>)type).isInstance(adapter))) {
+				return adapter;
+			}
+		}
+
+		return null;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public List<IChildCreationExtender> getChildCreationExtenders() {
+		return childCreationExtenderManager.getChildCreationExtenders();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Collection<?> getNewChildDescriptors(Object object, EditingDomain editingDomain) {
+		return childCreationExtenderManager.getNewChildDescriptors(object, editingDomain);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ResourceLocator getResourceLocator() {
+		return childCreationExtenderManager;
+	}
+
+	/**
+	 * This adds a listener.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void addListener(INotifyChangedListener notifyChangedListener) {
+		changeNotifier.addListener(notifyChangedListener);
+	}
+
+	/**
+	 * This removes a listener.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void removeListener(INotifyChangedListener notifyChangedListener) {
+		changeNotifier.removeListener(notifyChangedListener);
+	}
+
+	/**
+	 * This delegates to {@link #changeNotifier} and to {@link #parentAdapterFactory}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void fireNotifyChanged(Notification notification) {
+		changeNotifier.fireNotifyChanged(notification);
+
+		if (parentAdapterFactory != null) {
+			parentAdapterFactory.fireNotifyChanged(notification);
+		}
+	}
+
+	/**
+	 * This disposes all of the item providers created by this factory. 
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void dispose() {
+		if (cxGridPropHtmlStyleItemProvider != null) cxGridPropHtmlStyleItemProvider.dispose();
+		if (cxGridPropTextStyleItemProvider != null) cxGridPropTextStyleItemProvider.dispose();
+		if (cxGridPropButtonStyleItemProvider != null) cxGridPropButtonStyleItemProvider.dispose();
+		if (cxGridPropProgressbarStyleItemProvider != null) cxGridPropProgressbarStyleItemProvider.dispose();
+		if (cxGridPropSparklineStyleItemProvider != null) cxGridPropSparklineStyleItemProvider.dispose();
+		if (cxGridPropBooleanStyleItemProvider != null) cxGridPropBooleanStyleItemProvider.dispose();
+		if (cxGridPropNumberStyleItemProvider != null) cxGridPropNumberStyleItemProvider.dispose();
+		if (cxGridPropImageStyleItemProvider != null) cxGridPropImageStyleItemProvider.dispose();
+		if (cxGridPropIndicatorStyleItemProvider != null) cxGridPropIndicatorStyleItemProvider.dispose();
+		if (cxGridPropDateStyleItemProvider != null) cxGridPropDateStyleItemProvider.dispose();
+		if (cxGridStyleConfigItemProvider != null) cxGridStyleConfigItemProvider.dispose();
+		if (cxGridStyleConfigStringToResourceItemProvider != null) cxGridStyleConfigStringToResourceItemProvider.dispose();
+		if (cxGridStyleConfigNumericToResourceItemProvider != null) cxGridStyleConfigNumericToResourceItemProvider.dispose();
+		if (cxGridPropQuantityStyleItemProvider != null) cxGridPropQuantityStyleItemProvider.dispose();
+		if (cxGridPropPriceStyleItemProvider != null) cxGridPropPriceStyleItemProvider.dispose();
+	}
+
+}
diff --git a/org.eclipse.osbp.infogrid.model.editor/.project b/org.eclipse.osbp.infogrid.model.editor/.project
new file mode 100644
index 0000000..d009f47
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model.editor/.project
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.osbp.infogrid.model.editor</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.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.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.infogrid.model.editor/LICENSE.txt b/org.eclipse.osbp.infogrid.model.editor/LICENSE.txt
new file mode 100644
index 0000000..ff42ad4
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model.editor/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.infogrid.model.editor/META-INF/MANIFEST.MF b/org.eclipse.osbp.infogrid.model.editor/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..006fcbf
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model.editor/META-INF/MANIFEST.MF
@@ -0,0 +1,20 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: org.eclipse.osbp.infogrid.model.editor
+Bundle-SymbolicName: org.eclipse.osbp.infogrid.model.editor;singleton:=true
+Bundle-Version: 0.9.0.qualifier
+Bundle-ClassPath: .
+Bundle-Activator: org.eclipse.osbp.infogrid.model.gridsource.presentation.CxGridSourceEditorPlugin$Implementation
+Bundle-Vendor: Eclipse OSBP
+Bundle-Localization: plugin
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Export-Package: org.eclipse.osbp.infogrid.model.gridsource.presentation;version="0.9.0",
+ org.eclipse.osbp.infogrid.model.gridsource.style.presentation;version="0.9.0"
+Require-Bundle: org.eclipse.core.runtime,
+ org.eclipse.core.resources;visibility:=reexport,
+ org.eclipse.osbp.infogrid.model.edit;bundle-version="[0.9.0,0.10.0)";visibility:=reexport,
+ org.eclipse.emf.ecore.xmi;visibility:=reexport,
+ org.eclipse.emf.edit.ui;visibility:=reexport,
+ org.eclipse.ui.ide;visibility:=reexport,
+ org.eclipse.xtext.common.types.edit;bundle-version="[2.7.3,2.8.0)";visibility:=reexport
+Bundle-ActivationPolicy: lazy
diff --git a/org.eclipse.osbp.infogrid.model.editor/about.html b/org.eclipse.osbp.infogrid.model.editor/about.html
new file mode 100644
index 0000000..64c0598
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.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.infogrid.model.editor/about.ini b/org.eclipse.osbp.infogrid.model.editor/about.ini
new file mode 100644
index 0000000..7df671f
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model.editor/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.infogrid.model.editor/about.mappings b/org.eclipse.osbp.infogrid.model.editor/about.mappings
new file mode 100644
index 0000000..4511a0a
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model.editor/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.infogrid.model.editor/about.properties b/org.eclipse.osbp.infogrid.model.editor/about.properties
new file mode 100644
index 0000000..4726b3b
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model.editor/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:
+#    Christophe Loetz (Loetz GmbH&Co.KG) - initial API and implementation
+#
+
+# NLS_MESSAGEFORMAT_VAR
+
+featureName=org.eclipse.osbp.infogrid.model.editor
+
+################ 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\
+    Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation\n
+################ end of blurb property ####################################
diff --git a/org.eclipse.osbp.infogrid.model.editor/build.properties b/org.eclipse.osbp.infogrid.model.editor/build.properties
new file mode 100644
index 0000000..fb59c0d
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model.editor/build.properties
@@ -0,0 +1,17 @@
+#
+
+bin.includes = about.properties,  about.mappings,  about.ini,  about.html,  .,\
+               icons/,\
+               META-INF/,\
+               plugin.xml,\
+               plugin.properties,\
+               LICENSE.txt,\
+               epl-v10.html,\
+               license.html
+jars.compile.order = .
+source.. = src/
+output.. = target/classes
+src.includes = about.properties,  about.mappings,  about.ini,  about.html,  LICENSE.txt,\
+               epl-v10.html,\
+               license.html,\
+               icons/
diff --git a/org.eclipse.osbp.infogrid.model.editor/epl-v10.html b/org.eclipse.osbp.infogrid.model.editor/epl-v10.html
new file mode 100644
index 0000000..b398acc
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model.editor/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.infogrid.model.editor/icons/full/obj16/CxGridSourceModelFile.gif b/org.eclipse.osbp.infogrid.model.editor/icons/full/obj16/CxGridSourceModelFile.gif
new file mode 100644
index 0000000..44d6ebc
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model.editor/icons/full/obj16/CxGridSourceModelFile.gif
Binary files differ
diff --git a/org.eclipse.osbp.infogrid.model.editor/icons/full/obj16/CxGridStyleModelFile.gif b/org.eclipse.osbp.infogrid.model.editor/icons/full/obj16/CxGridStyleModelFile.gif
new file mode 100644
index 0000000..557e65e
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model.editor/icons/full/obj16/CxGridStyleModelFile.gif
Binary files differ
diff --git a/org.eclipse.osbp.infogrid.model.editor/icons/full/wizban/NewCxGridSource.gif b/org.eclipse.osbp.infogrid.model.editor/icons/full/wizban/NewCxGridSource.gif
new file mode 100644
index 0000000..f5b28f1
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model.editor/icons/full/wizban/NewCxGridSource.gif
Binary files differ
diff --git a/org.eclipse.osbp.infogrid.model.editor/icons/full/wizban/NewCxGridStyle.gif b/org.eclipse.osbp.infogrid.model.editor/icons/full/wizban/NewCxGridStyle.gif
new file mode 100644
index 0000000..7158177
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model.editor/icons/full/wizban/NewCxGridStyle.gif
Binary files differ
diff --git a/org.eclipse.osbp.infogrid.model.editor/license.html b/org.eclipse.osbp.infogrid.model.editor/license.html
new file mode 100644
index 0000000..6e579a5
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model.editor/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.infogrid.model.editor/plugin.properties b/org.eclipse.osbp.infogrid.model.editor/plugin.properties
new file mode 100644
index 0000000..f9b96b2
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model.editor/plugin.properties
@@ -0,0 +1,62 @@
+#
+
+pluginName = CxGridSource Editor
+providerName = www.example.org
+
+_UI_CxGridSourceEditor_menu = &CxGridSource Editor
+_UI_CxGridStyleEditor_menu = &CxGridStyle 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_CxGridSourceModelWizard_label = CxGridSource Model
+_UI_CxGridSourceModelWizard_description = Create a new CxGridSource model
+
+_UI_CxGridSourceEditor_label = CxGridSource Model Editor
+
+_UI_CxGridSourceEditorFilenameDefaultBase = My
+_UI_CxGridSourceEditorFilenameExtensions = cxgridsource
+
+_UI_CxGridStyleModelWizard_label = CxGridStyle Model
+_UI_CxGridStyleModelWizard_description = Create a new CxGridStyle model
+
+_UI_CxGridStyleEditor_label = CxGridStyle Model Editor
+
+_UI_CxGridStyleEditorFilenameDefaultBase = My
+_UI_CxGridStyleEditorFilenameExtensions = cxgridstyle
+
+_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.infogrid.model.editor/plugin.xml b/org.eclipse.osbp.infogrid.model.editor/plugin.xml
new file mode 100644
index 0000000..f1e4f66
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model.editor/plugin.xml
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+
+<!--
+-->
+
+<plugin>
+
+   <extension point="org.eclipse.ui.newWizards">
+      <!-- @generated gridsource -->
+      <category
+            id="org.eclipse.emf.ecore.Wizard.category.ID"
+            name="%_UI_Wizard_category"/>
+      <wizard
+            id="org.eclipse.osbp.infogrid.model.gridsource.presentation.CxGridSourceModelWizardID"
+            name="%_UI_CxGridSourceModelWizard_label"
+            class="org.eclipse.osbp.infogrid.model.gridsource.presentation.CxGridSourceModelWizard"
+            category="org.eclipse.emf.ecore.Wizard.category.ID"
+            icon="icons/full/obj16/CxGridSourceModelFile.gif">
+         <description>%_UI_CxGridSourceModelWizard_description</description>
+         <selection class="org.eclipse.core.resources.IResource"/>
+      </wizard>
+   </extension>
+
+   <extension point="org.eclipse.ui.editors">
+      <!-- @generated gridsource -->
+      <editor
+            id="org.eclipse.osbp.infogrid.model.gridsource.presentation.CxGridSourceEditorID"
+            name="%_UI_CxGridSourceEditor_label"
+            icon="icons/full/obj16/CxGridSourceModelFile.gif"
+            extensions="cxgridsource"
+            class="org.eclipse.osbp.infogrid.model.gridsource.presentation.CxGridSourceEditor"
+            contributorClass="org.eclipse.osbp.infogrid.model.gridsource.presentation.CxGridSourceActionBarContributor">
+      </editor>
+   </extension>
+
+   <extension point="org.eclipse.ui.newWizards">
+      <!-- @generated gridsource -->
+      <category
+            id="org.eclipse.emf.ecore.Wizard.category.ID"
+            name="%_UI_Wizard_category"/>
+      <wizard
+            id="org.eclipse.osbp.infogrid.model.gridsource.style.presentation.CxGridStyleModelWizardID"
+            name="%_UI_CxGridStyleModelWizard_label"
+            class="org.eclipse.osbp.infogrid.model.gridsource.style.presentation.CxGridStyleModelWizard"
+            category="org.eclipse.emf.ecore.Wizard.category.ID"
+            icon="icons/full/obj16/CxGridStyleModelFile.gif">
+         <description>%_UI_CxGridStyleModelWizard_description</description>
+         <selection class="org.eclipse.core.resources.IResource"/>
+      </wizard>
+   </extension>
+
+   <extension point="org.eclipse.ui.editors">
+      <!-- @generated gridsource -->
+      <editor
+            id="org.eclipse.osbp.infogrid.model.gridsource.style.presentation.CxGridStyleEditorID"
+            name="%_UI_CxGridStyleEditor_label"
+            icon="icons/full/obj16/CxGridStyleModelFile.gif"
+            extensions="cxgridstyle"
+            class="org.eclipse.osbp.infogrid.model.gridsource.style.presentation.CxGridStyleEditor"
+            contributorClass="org.eclipse.osbp.infogrid.model.gridsource.style.presentation.CxGridStyleActionBarContributor">
+      </editor>
+   </extension>
+
+</plugin>
diff --git a/org.eclipse.osbp.infogrid.model.editor/pom.xml b/org.eclipse.osbp.infogrid.model.editor/pom.xml
new file mode 100644
index 0000000..6120093
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model.editor/pom.xml
@@ -0,0 +1,29 @@
+<?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.infogrid</groupId>
+		<artifactId>org.eclipse.osbp.infogrid.aggregator</artifactId>
+		<version>0.9.0-SNAPSHOT</version>
+		<relativePath>..</relativePath>
+	</parent>
+	<artifactId>org.eclipse.osbp.infogrid.model.editor</artifactId>
+	<build>
+		<sourceDirectory>src</sourceDirectory>
+		<plugins>
+		</plugins>
+	</build>
+	<packaging>eclipse-plugin</packaging>
+	
+</project>
diff --git a/org.eclipse.osbp.infogrid.model.editor/src/org/eclipse/osbp/infogrid/model/gridsource/presentation/CxGridSourceActionBarContributor.java b/org.eclipse.osbp.infogrid.model.editor/src/org/eclipse/osbp/infogrid/model/gridsource/presentation/CxGridSourceActionBarContributor.java
new file mode 100644
index 0000000..d1f9fa5
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model.editor/src/org/eclipse/osbp/infogrid/model/gridsource/presentation/CxGridSourceActionBarContributor.java
@@ -0,0 +1,433 @@
+/**
+ *                                                                            
+ * 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.infogrid.model.gridsource.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.ui.IEditorPart;
+import org.eclipse.ui.PartInitException;
+
+/**
+ * This is the action bar contributor for the CxGridSource model editor.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class CxGridSourceActionBarContributor
+	extends EditingDomainActionBarContributor
+	implements ISelectionChangedListener {
+	/**
+	 * 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(CxGridSourceEditorPlugin.INSTANCE.getString("_UI_ShowPropertiesView_menu_item")) {
+			@Override
+			public void run() {
+				try {
+					getPage().showView("org.eclipse.ui.views.PropertySheet");
+				}
+				catch (PartInitException exception) {
+					CxGridSourceEditorPlugin.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(CxGridSourceEditorPlugin.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 CxGridSourceActionBarContributor() {
+		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("cxgridsource-settings"));
+		toolBarManager.add(new Separator("cxgridsource-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(CxGridSourceEditorPlugin.INSTANCE.getString("_UI_CxGridSourceEditor_menu"), "org.eclipse.osbp.infogrid.model.gridsourceMenuID");
+		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(CxGridSourceEditorPlugin.INSTANCE.getString("_UI_CreateChild_menu_item"));
+		submenuManager.insertBefore("additions", createChildMenuManager);
+
+		// Prepare for CreateSibling item addition or removal.
+		//
+		createSiblingMenuManager = new MenuManager(CxGridSourceEditorPlugin.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(CxGridSourceEditorPlugin.INSTANCE.getString("_UI_CreateChild_menu_item"));
+		populateManager(submenuManager, createChildActions, null);
+		menuManager.insertBefore("edit", submenuManager);
+
+		submenuManager = new MenuManager(CxGridSourceEditorPlugin.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.infogrid.model.editor/src/org/eclipse/osbp/infogrid/model/gridsource/presentation/CxGridSourceEditor.java b/org.eclipse.osbp.infogrid.model.editor/src/org/eclipse/osbp/infogrid/model/gridsource/presentation/CxGridSourceEditor.java
new file mode 100644
index 0000000..9edea8b
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model.editor/src/org/eclipse/osbp/infogrid/model/gridsource/presentation/CxGridSourceEditor.java
@@ -0,0 +1,1834 @@
+/**
+ *                                                                            
+ * 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.infogrid.model.gridsource.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.infogrid.model.gridsource.provider.CxGridSourceItemProviderAdapterFactory;
+
+import org.eclipse.ui.actions.WorkspaceModifyOperation;
+
+import org.eclipse.xtext.common.types.provider.TypesItemProviderAdapterFactory;
+
+import org.eclipse.osbp.infogrid.model.gridsource.style.provider.CxGridStyleItemProviderAdapterFactory;
+
+
+/**
+ * This is an example of a CxGridSource model editor.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class CxGridSourceEditor
+	extends MultiPageEditorPart
+	implements IEditingDomainProvider, ISelectionProvider, IMenuListener, IViewerProvider, IGotoMarker {
+	/**
+	 * 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(CxGridSourceEditor.this);
+
+						setCurrentViewer(contentOutlineViewer);
+					}
+				}
+				else if (p instanceof PropertySheet) {
+					if (propertySheetPages.contains(((PropertySheet)p).getCurrentPage())) {
+						getActionBarContributor().setActiveEditor(CxGridSourceEditor.this);
+						handleActivate();
+					}
+				}
+				else if (p == CxGridSourceEditor.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(CxGridSourceEditor.this, false);
+									 }
+								 }
+							 });
+					}
+
+					if (!visitor.getChangedResources().isEmpty()) {
+						getSite().getShell().getDisplay().asyncExec
+							(new Runnable() {
+								 public void run() {
+									 changedResources.addAll(visitor.getChangedResources());
+									 if (getSite().getPage().getActiveEditor() == CxGridSourceEditor.this) {
+										 handleActivate();
+									 }
+								 }
+							 });
+					}
+				}
+				catch (CoreException exception) {
+					CxGridSourceEditorPlugin.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(CxGridSourceEditor.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.infogrid.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) {
+					CxGridSourceEditorPlugin.INSTANCE.log(exception);
+				}
+			}
+
+			if (markerHelper.hasMarkers(editingDomain.getResourceSet())) {
+				markerHelper.deleteMarkers(editingDomain.getResourceSet());
+				if (diagnostic.getSeverity() != Diagnostic.OK) {
+					try {
+						markerHelper.createMarkers(diagnostic);
+					}
+					catch (CoreException exception) {
+						CxGridSourceEditorPlugin.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 CxGridSourceEditor() {
+		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 CxGridSourceItemProviderAdapterFactory());
+		adapterFactory.addAdapterFactory(new CxGridStyleItemProviderAdapterFactory());
+		adapterFactory.addAdapterFactory(new TypesItemProviderAdapterFactory());
+		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.infogrid.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.infogrid.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(), CxGridSourceEditor.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(), CxGridSourceEditor.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(), CxGridSourceEditor.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(), CxGridSourceEditor.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(), CxGridSourceEditor.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(), CxGridSourceEditor.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) {
+					CxGridSourceEditor.this.setSelectionToViewer(selection);
+					CxGridSourceEditor.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.
+			//
+			CxGridSourceEditorPlugin.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 CxGridSourceEditorPlugin.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 CxGridSourceEditorPlugin.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.infogrid.model.editor/src/org/eclipse/osbp/infogrid/model/gridsource/presentation/CxGridSourceEditorPlugin.java b/org.eclipse.osbp.infogrid.model.editor/src/org/eclipse/osbp/infogrid/model/gridsource/presentation/CxGridSourceEditorPlugin.java
new file mode 100644
index 0000000..0addad9
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model.editor/src/org/eclipse/osbp/infogrid/model/gridsource/presentation/CxGridSourceEditorPlugin.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:   
+ * Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation 
+ */
+ package org.eclipse.osbp.infogrid.model.gridsource.presentation;
+
+import org.eclipse.emf.common.EMFPlugin;
+
+import org.eclipse.emf.common.ui.EclipseUIPlugin;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.xtext.common.types.provider.TypesEditPlugin;
+
+/**
+ * This is the central singleton for the CxGridSource editor plugin.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public final class CxGridSourceEditorPlugin extends EMFPlugin {
+	/**
+	 * Keep track of the singleton.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final CxGridSourceEditorPlugin INSTANCE = new CxGridSourceEditorPlugin();
+	
+	/**
+	 * Keep track of the singleton.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private static Implementation plugin;
+
+	/**
+	 * Create the instance.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CxGridSourceEditorPlugin() {
+		super
+			(new ResourceLocator [] {
+				TypesEditPlugin.INSTANCE,
+			});
+	}
+
+	/**
+	 * Returns the singleton instance of the Eclipse plugin.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the singleton instance.
+	 * @generated
+	 */
+	@Override
+	public ResourceLocator getPluginResourceLocator() {
+		return plugin;
+	}
+	
+	/**
+	 * Returns the singleton instance of the Eclipse plugin.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the singleton instance.
+	 * @generated
+	 */
+	public static Implementation getPlugin() {
+		return plugin;
+	}
+	
+	/**
+	 * The actual implementation of the Eclipse <b>Plugin</b>.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static class Implementation extends EclipseUIPlugin {
+		/**
+		 * Creates an instance.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		public Implementation() {
+			super();
+	
+			// Remember the static instance.
+			//
+			plugin = this;
+		}
+	}
+
+}
diff --git a/org.eclipse.osbp.infogrid.model.editor/src/org/eclipse/osbp/infogrid/model/gridsource/presentation/CxGridSourceModelWizard.java b/org.eclipse.osbp.infogrid.model.editor/src/org/eclipse/osbp/infogrid/model/gridsource/presentation/CxGridSourceModelWizard.java
new file mode 100644
index 0000000..d5ed28e
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model.editor/src/org/eclipse/osbp/infogrid/model/gridsource/presentation/CxGridSourceModelWizard.java
@@ -0,0 +1,637 @@
+/**
+ *                                                                            
+ * 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.infogrid.model.gridsource.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.infogrid.model.gridsource.CxGridSourceFactory;
+import org.eclipse.osbp.infogrid.model.gridsource.CxGridSourcePackage;
+import org.eclipse.osbp.infogrid.model.gridsource.provider.CxGridSourceEditPlugin;
+
+
+import org.eclipse.core.runtime.Path;
+
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.StructuredSelection;
+
+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 CxGridSourceModelWizard extends Wizard implements INewWizard {
+	/**
+	 * The supported extensions for created files.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final List<String> FILE_EXTENSIONS =
+		Collections.unmodifiableList(Arrays.asList(CxGridSourceEditorPlugin.INSTANCE.getString("_UI_CxGridSourceEditorFilenameExtensions").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 =
+		CxGridSourceEditorPlugin.INSTANCE.getString("_UI_CxGridSourceEditorFilenameExtensions").replaceAll("\\s*,\\s*", ", ");
+
+	/**
+	 * This caches an instance of the model package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected CxGridSourcePackage cxGridSourcePackage = CxGridSourcePackage.eINSTANCE;
+
+	/**
+	 * This caches an instance of the model factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected CxGridSourceFactory cxGridSourceFactory = cxGridSourcePackage.getCxGridSourceFactory();
+
+	/**
+	 * This is the file creation page.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected CxGridSourceModelWizardNewFileCreationPage newFileCreationPage;
+
+	/**
+	 * This is the initial object creation page.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected CxGridSourceModelWizardInitialObjectCreationPage 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(CxGridSourceEditorPlugin.INSTANCE.getString("_UI_Wizard_label"));
+		setDefaultPageImageDescriptor(ExtendedImageRegistry.INSTANCE.getImageDescriptor(CxGridSourceEditorPlugin.INSTANCE.getImage("full/wizban/NewCxGridSource")));
+	}
+
+	/**
+	 * 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 : cxGridSourcePackage.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)cxGridSourcePackage.getEClassifier(initialObjectCreationPage.getInitialObjectName());
+		EObject rootObject = cxGridSourceFactory.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) {
+							CxGridSourceEditorPlugin.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(), CxGridSourceEditorPlugin.INSTANCE.getString("_UI_OpenEditorError_label"), exception.getMessage());
+				return false;
+			}
+
+			return true;
+		}
+		catch (Exception exception) {
+			CxGridSourceEditorPlugin.INSTANCE.log(exception);
+			return false;
+		}
+	}
+
+	/**
+	 * This is the one page of the wizard.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public class CxGridSourceModelWizardNewFileCreationPage extends WizardNewFileCreationPage {
+		/**
+		 * Pass in the selection.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		public CxGridSourceModelWizardNewFileCreationPage(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(CxGridSourceEditorPlugin.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 CxGridSourceModelWizardInitialObjectCreationPage 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 CxGridSourceModelWizardInitialObjectCreationPage(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(CxGridSourceEditorPlugin.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));
+			}
+
+			if (initialObjectField.getItemCount() == 1) {
+				initialObjectField.select(0);
+			}
+			initialObjectField.addModifyListener(validator);
+
+			Label encodingLabel = new Label(composite, SWT.LEFT);
+			{
+				encodingLabel.setText(CxGridSourceEditorPlugin.INSTANCE.getString("_UI_XMLEncoding"));
+
+				GridData data = new GridData();
+				data.horizontalAlignment = GridData.FILL;
+				encodingLabel.setLayoutData(data);
+			}
+			encodingField = new Combo(composite, SWT.BORDER);
+			{
+				GridData data = new GridData();
+				data.horizontalAlignment = GridData.FILL;
+				data.grabExcessHorizontalSpace = true;
+				encodingField.setLayoutData(data);
+			}
+
+			for (String encoding : getEncodings()) {
+				encodingField.add(encoding);
+			}
+
+			encodingField.select(0);
+			encodingField.addModifyListener(validator);
+
+			setPageComplete(validatePage());
+			setControl(composite);
+		}
+
+		/**
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		protected ModifyListener validator =
+			new ModifyListener() {
+				public void modifyText(ModifyEvent e) {
+					setPageComplete(validatePage());
+				}
+			};
+
+		/**
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		protected boolean validatePage() {
+			return getInitialObjectName() != null && getEncodings().contains(encodingField.getText());
+		}
+
+		/**
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		@Override
+		public void setVisible(boolean visible) {
+			super.setVisible(visible);
+			if (visible) {
+				if (initialObjectField.getItemCount() == 1) {
+					initialObjectField.clearSelection();
+					encodingField.setFocus();
+				}
+				else {
+					encodingField.clearSelection();
+					initialObjectField.setFocus();
+				}
+			}
+		}
+
+		/**
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		public String getInitialObjectName() {
+			String label = initialObjectField.getText();
+
+			for (String name : getInitialObjectNames()) {
+				if (getLabel(name).equals(label)) {
+					return name;
+				}
+			}
+			return null;
+		}
+
+		/**
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		public String getEncoding() {
+			return encodingField.getText();
+		}
+
+		/**
+		 * Returns the label for the specified type name.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		protected String getLabel(String typeName) {
+			try {
+				return CxGridSourceEditPlugin.INSTANCE.getString("_UI_" + typeName + "_type");
+			}
+			catch(MissingResourceException mre) {
+				CxGridSourceEditorPlugin.INSTANCE.log(mre);
+			}
+			return typeName;
+		}
+
+		/**
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		protected Collection<String> getEncodings() {
+			if (encodings == null) {
+				encodings = new ArrayList<String>();
+				for (StringTokenizer stringTokenizer = new StringTokenizer(CxGridSourceEditorPlugin.INSTANCE.getString("_UI_XMLEncodingChoices")); stringTokenizer.hasMoreTokens(); ) {
+					encodings.add(stringTokenizer.nextToken());
+				}
+			}
+			return encodings;
+		}
+	}
+
+	/**
+	 * The framework calls this to create the contents of the wizard.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+		@Override
+	public void addPages() {
+		// Create a page, set the title, and the initial model file name.
+		//
+		newFileCreationPage = new CxGridSourceModelWizardNewFileCreationPage("Whatever", selection);
+		newFileCreationPage.setTitle(CxGridSourceEditorPlugin.INSTANCE.getString("_UI_CxGridSourceModelWizard_label"));
+		newFileCreationPage.setDescription(CxGridSourceEditorPlugin.INSTANCE.getString("_UI_CxGridSourceModelWizard_description"));
+		newFileCreationPage.setFileName(CxGridSourceEditorPlugin.INSTANCE.getString("_UI_CxGridSourceEditorFilenameDefaultBase") + "." + FILE_EXTENSIONS.get(0));
+		addPage(newFileCreationPage);
+
+		// Try and get the resource selection to determine a current directory for the file dialog.
+		//
+		if (selection != null && !selection.isEmpty()) {
+			// Get the resource...
+			//
+			Object selectedElement = selection.iterator().next();
+			if (selectedElement instanceof IResource) {
+				// Get the resource parent, if its a file.
+				//
+				IResource selectedResource = (IResource)selectedElement;
+				if (selectedResource.getType() == IResource.FILE) {
+					selectedResource = selectedResource.getParent();
+				}
+
+				// This gives us a directory...
+				//
+				if (selectedResource instanceof IFolder || selectedResource instanceof IProject) {
+					// Set this for the container.
+					//
+					newFileCreationPage.setContainerFullPath(selectedResource.getFullPath());
+
+					// Make up a unique new name here.
+					//
+					String defaultModelBaseFilename = CxGridSourceEditorPlugin.INSTANCE.getString("_UI_CxGridSourceEditorFilenameDefaultBase");
+					String defaultModelFilenameExtension = FILE_EXTENSIONS.get(0);
+					String modelFilename = defaultModelBaseFilename + "." + defaultModelFilenameExtension;
+					for (int i = 1; ((IContainer)selectedResource).findMember(modelFilename) != null; ++i) {
+						modelFilename = defaultModelBaseFilename + i + "." + defaultModelFilenameExtension;
+					}
+					newFileCreationPage.setFileName(modelFilename);
+				}
+			}
+		}
+		initialObjectCreationPage = new CxGridSourceModelWizardInitialObjectCreationPage("Whatever2");
+		initialObjectCreationPage.setTitle(CxGridSourceEditorPlugin.INSTANCE.getString("_UI_CxGridSourceModelWizard_label"));
+		initialObjectCreationPage.setDescription(CxGridSourceEditorPlugin.INSTANCE.getString("_UI_Wizard_initial_object_description"));
+		addPage(initialObjectCreationPage);
+	}
+
+	/**
+	 * Get the file from the page.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public IFile getModelFile() {
+		return newFileCreationPage.getModelFile();
+	}
+
+}
diff --git a/org.eclipse.osbp.infogrid.model.editor/src/org/eclipse/osbp/infogrid/model/gridsource/style/presentation/CxGridStyleActionBarContributor.java b/org.eclipse.osbp.infogrid.model.editor/src/org/eclipse/osbp/infogrid/model/gridsource/style/presentation/CxGridStyleActionBarContributor.java
new file mode 100644
index 0000000..24b7e12
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model.editor/src/org/eclipse/osbp/infogrid/model/gridsource/style/presentation/CxGridStyleActionBarContributor.java
@@ -0,0 +1,435 @@
+/**
+ *                                                                            
+ * 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.infogrid.model.gridsource.style.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.ui.IEditorPart;
+import org.eclipse.ui.PartInitException;
+
+import org.eclipse.osbp.infogrid.model.gridsource.presentation.CxGridSourceEditorPlugin;
+
+/**
+ * This is the action bar contributor for the CxGridStyle model editor.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class CxGridStyleActionBarContributor
+	extends EditingDomainActionBarContributor
+	implements ISelectionChangedListener {
+	/**
+	 * 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(CxGridSourceEditorPlugin.INSTANCE.getString("_UI_ShowPropertiesView_menu_item")) {
+			@Override
+			public void run() {
+				try {
+					getPage().showView("org.eclipse.ui.views.PropertySheet");
+				}
+				catch (PartInitException exception) {
+					CxGridSourceEditorPlugin.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(CxGridSourceEditorPlugin.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 CxGridStyleActionBarContributor() {
+		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("cxgridstyle-settings"));
+		toolBarManager.add(new Separator("cxgridstyle-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(CxGridSourceEditorPlugin.INSTANCE.getString("_UI_CxGridStyleEditor_menu"), "org.eclipse.osbp.infogrid.model.gridsource.styleMenuID");
+		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(CxGridSourceEditorPlugin.INSTANCE.getString("_UI_CreateChild_menu_item"));
+		submenuManager.insertBefore("additions", createChildMenuManager);
+
+		// Prepare for CreateSibling item addition or removal.
+		//
+		createSiblingMenuManager = new MenuManager(CxGridSourceEditorPlugin.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(CxGridSourceEditorPlugin.INSTANCE.getString("_UI_CreateChild_menu_item"));
+		populateManager(submenuManager, createChildActions, null);
+		menuManager.insertBefore("edit", submenuManager);
+
+		submenuManager = new MenuManager(CxGridSourceEditorPlugin.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.infogrid.model.editor/src/org/eclipse/osbp/infogrid/model/gridsource/style/presentation/CxGridStyleEditor.java b/org.eclipse.osbp.infogrid.model.editor/src/org/eclipse/osbp/infogrid/model/gridsource/style/presentation/CxGridStyleEditor.java
new file mode 100644
index 0000000..f3323f5
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model.editor/src/org/eclipse/osbp/infogrid/model/gridsource/style/presentation/CxGridStyleEditor.java
@@ -0,0 +1,1836 @@
+/**
+ *                                                                            
+ * 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.infogrid.model.gridsource.style.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.infogrid.model.gridsource.style.provider.CxGridStyleItemProviderAdapterFactory;
+
+import org.eclipse.ui.actions.WorkspaceModifyOperation;
+
+import org.eclipse.xtext.common.types.provider.TypesItemProviderAdapterFactory;
+
+import org.eclipse.osbp.infogrid.model.gridsource.presentation.CxGridSourceEditorPlugin;
+
+import org.eclipse.osbp.infogrid.model.gridsource.provider.CxGridSourceItemProviderAdapterFactory;
+
+
+/**
+ * This is an example of a CxGridStyle model editor.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class CxGridStyleEditor
+	extends MultiPageEditorPart
+	implements IEditingDomainProvider, ISelectionProvider, IMenuListener, IViewerProvider, IGotoMarker {
+	/**
+	 * 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(CxGridStyleEditor.this);
+
+						setCurrentViewer(contentOutlineViewer);
+					}
+				}
+				else if (p instanceof PropertySheet) {
+					if (propertySheetPages.contains(((PropertySheet)p).getCurrentPage())) {
+						getActionBarContributor().setActiveEditor(CxGridStyleEditor.this);
+						handleActivate();
+					}
+				}
+				else if (p == CxGridStyleEditor.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(CxGridStyleEditor.this, false);
+									 }
+								 }
+							 });
+					}
+
+					if (!visitor.getChangedResources().isEmpty()) {
+						getSite().getShell().getDisplay().asyncExec
+							(new Runnable() {
+								 public void run() {
+									 changedResources.addAll(visitor.getChangedResources());
+									 if (getSite().getPage().getActiveEditor() == CxGridStyleEditor.this) {
+										 handleActivate();
+									 }
+								 }
+							 });
+					}
+				}
+				catch (CoreException exception) {
+					CxGridSourceEditorPlugin.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(CxGridStyleEditor.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.infogrid.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) {
+					CxGridSourceEditorPlugin.INSTANCE.log(exception);
+				}
+			}
+
+			if (markerHelper.hasMarkers(editingDomain.getResourceSet())) {
+				markerHelper.deleteMarkers(editingDomain.getResourceSet());
+				if (diagnostic.getSeverity() != Diagnostic.OK) {
+					try {
+						markerHelper.createMarkers(diagnostic);
+					}
+					catch (CoreException exception) {
+						CxGridSourceEditorPlugin.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 CxGridStyleEditor() {
+		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 CxGridSourceItemProviderAdapterFactory());
+		adapterFactory.addAdapterFactory(new CxGridStyleItemProviderAdapterFactory());
+		adapterFactory.addAdapterFactory(new TypesItemProviderAdapterFactory());
+		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.infogrid.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.infogrid.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(), CxGridStyleEditor.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(), CxGridStyleEditor.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(), CxGridStyleEditor.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(), CxGridStyleEditor.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(), CxGridStyleEditor.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(), CxGridStyleEditor.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) {
+					CxGridStyleEditor.this.setSelectionToViewer(selection);
+					CxGridStyleEditor.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.
+			//
+			CxGridSourceEditorPlugin.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 CxGridSourceEditorPlugin.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 CxGridSourceEditorPlugin.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.infogrid.model.editor/src/org/eclipse/osbp/infogrid/model/gridsource/style/presentation/CxGridStyleModelWizard.java b/org.eclipse.osbp.infogrid.model.editor/src/org/eclipse/osbp/infogrid/model/gridsource/style/presentation/CxGridStyleModelWizard.java
new file mode 100644
index 0000000..991b342
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model.editor/src/org/eclipse/osbp/infogrid/model/gridsource/style/presentation/CxGridStyleModelWizard.java
@@ -0,0 +1,639 @@
+/**
+ *                                                                            
+ * 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.infogrid.model.gridsource.style.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.infogrid.model.gridsource.style.CxGridStyleFactory;
+import org.eclipse.osbp.infogrid.model.gridsource.style.CxGridStylePackage;
+import org.eclipse.osbp.infogrid.model.gridsource.provider.CxGridSourceEditPlugin;
+
+
+import org.eclipse.core.runtime.Path;
+
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.StructuredSelection;
+
+import org.eclipse.ui.IWorkbenchPage;
+import org.eclipse.ui.IWorkbenchPart;
+import org.eclipse.ui.IWorkbenchWindow;
+import org.eclipse.ui.PartInitException;
+
+import org.eclipse.osbp.infogrid.model.gridsource.presentation.CxGridSourceEditorPlugin;
+
+
+/**
+ * This is a simple wizard for creating a new model file.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class CxGridStyleModelWizard extends Wizard implements INewWizard {
+	/**
+	 * The supported extensions for created files.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final List<String> FILE_EXTENSIONS =
+		Collections.unmodifiableList(Arrays.asList(CxGridSourceEditorPlugin.INSTANCE.getString("_UI_CxGridStyleEditorFilenameExtensions").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 =
+		CxGridSourceEditorPlugin.INSTANCE.getString("_UI_CxGridStyleEditorFilenameExtensions").replaceAll("\\s*,\\s*", ", ");
+
+	/**
+	 * This caches an instance of the model package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected CxGridStylePackage cxGridStylePackage = CxGridStylePackage.eINSTANCE;
+
+	/**
+	 * This caches an instance of the model factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected CxGridStyleFactory cxGridStyleFactory = cxGridStylePackage.getCxGridStyleFactory();
+
+	/**
+	 * This is the file creation page.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected CxGridStyleModelWizardNewFileCreationPage newFileCreationPage;
+
+	/**
+	 * This is the initial object creation page.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected CxGridStyleModelWizardInitialObjectCreationPage 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(CxGridSourceEditorPlugin.INSTANCE.getString("_UI_Wizard_label"));
+		setDefaultPageImageDescriptor(ExtendedImageRegistry.INSTANCE.getImageDescriptor(CxGridSourceEditorPlugin.INSTANCE.getImage("full/wizban/NewCxGridStyle")));
+	}
+
+	/**
+	 * 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 : cxGridStylePackage.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)cxGridStylePackage.getEClassifier(initialObjectCreationPage.getInitialObjectName());
+		EObject rootObject = cxGridStyleFactory.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) {
+							CxGridSourceEditorPlugin.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(), CxGridSourceEditorPlugin.INSTANCE.getString("_UI_OpenEditorError_label"), exception.getMessage());
+				return false;
+			}
+
+			return true;
+		}
+		catch (Exception exception) {
+			CxGridSourceEditorPlugin.INSTANCE.log(exception);
+			return false;
+		}
+	}
+
+	/**
+	 * This is the one page of the wizard.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public class CxGridStyleModelWizardNewFileCreationPage extends WizardNewFileCreationPage {
+		/**
+		 * Pass in the selection.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		public CxGridStyleModelWizardNewFileCreationPage(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(CxGridSourceEditorPlugin.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 CxGridStyleModelWizardInitialObjectCreationPage 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 CxGridStyleModelWizardInitialObjectCreationPage(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(CxGridSourceEditorPlugin.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));
+			}
+
+			if (initialObjectField.getItemCount() == 1) {
+				initialObjectField.select(0);
+			}
+			initialObjectField.addModifyListener(validator);
+
+			Label encodingLabel = new Label(composite, SWT.LEFT);
+			{
+				encodingLabel.setText(CxGridSourceEditorPlugin.INSTANCE.getString("_UI_XMLEncoding"));
+
+				GridData data = new GridData();
+				data.horizontalAlignment = GridData.FILL;
+				encodingLabel.setLayoutData(data);
+			}
+			encodingField = new Combo(composite, SWT.BORDER);
+			{
+				GridData data = new GridData();
+				data.horizontalAlignment = GridData.FILL;
+				data.grabExcessHorizontalSpace = true;
+				encodingField.setLayoutData(data);
+			}
+
+			for (String encoding : getEncodings()) {
+				encodingField.add(encoding);
+			}
+
+			encodingField.select(0);
+			encodingField.addModifyListener(validator);
+
+			setPageComplete(validatePage());
+			setControl(composite);
+		}
+
+		/**
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		protected ModifyListener validator =
+			new ModifyListener() {
+				public void modifyText(ModifyEvent e) {
+					setPageComplete(validatePage());
+				}
+			};
+
+		/**
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		protected boolean validatePage() {
+			return getInitialObjectName() != null && getEncodings().contains(encodingField.getText());
+		}
+
+		/**
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		@Override
+		public void setVisible(boolean visible) {
+			super.setVisible(visible);
+			if (visible) {
+				if (initialObjectField.getItemCount() == 1) {
+					initialObjectField.clearSelection();
+					encodingField.setFocus();
+				}
+				else {
+					encodingField.clearSelection();
+					initialObjectField.setFocus();
+				}
+			}
+		}
+
+		/**
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		public String getInitialObjectName() {
+			String label = initialObjectField.getText();
+
+			for (String name : getInitialObjectNames()) {
+				if (getLabel(name).equals(label)) {
+					return name;
+				}
+			}
+			return null;
+		}
+
+		/**
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		public String getEncoding() {
+			return encodingField.getText();
+		}
+
+		/**
+		 * Returns the label for the specified type name.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		protected String getLabel(String typeName) {
+			try {
+				return CxGridSourceEditPlugin.INSTANCE.getString("_UI_" + typeName + "_type");
+			}
+			catch(MissingResourceException mre) {
+				CxGridSourceEditorPlugin.INSTANCE.log(mre);
+			}
+			return typeName;
+		}
+
+		/**
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		protected Collection<String> getEncodings() {
+			if (encodings == null) {
+				encodings = new ArrayList<String>();
+				for (StringTokenizer stringTokenizer = new StringTokenizer(CxGridSourceEditorPlugin.INSTANCE.getString("_UI_XMLEncodingChoices")); stringTokenizer.hasMoreTokens(); ) {
+					encodings.add(stringTokenizer.nextToken());
+				}
+			}
+			return encodings;
+		}
+	}
+
+	/**
+	 * The framework calls this to create the contents of the wizard.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+		@Override
+	public void addPages() {
+		// Create a page, set the title, and the initial model file name.
+		//
+		newFileCreationPage = new CxGridStyleModelWizardNewFileCreationPage("Whatever", selection);
+		newFileCreationPage.setTitle(CxGridSourceEditorPlugin.INSTANCE.getString("_UI_CxGridStyleModelWizard_label"));
+		newFileCreationPage.setDescription(CxGridSourceEditorPlugin.INSTANCE.getString("_UI_CxGridStyleModelWizard_description"));
+		newFileCreationPage.setFileName(CxGridSourceEditorPlugin.INSTANCE.getString("_UI_CxGridStyleEditorFilenameDefaultBase") + "." + FILE_EXTENSIONS.get(0));
+		addPage(newFileCreationPage);
+
+		// Try and get the resource selection to determine a current directory for the file dialog.
+		//
+		if (selection != null && !selection.isEmpty()) {
+			// Get the resource...
+			//
+			Object selectedElement = selection.iterator().next();
+			if (selectedElement instanceof IResource) {
+				// Get the resource parent, if its a file.
+				//
+				IResource selectedResource = (IResource)selectedElement;
+				if (selectedResource.getType() == IResource.FILE) {
+					selectedResource = selectedResource.getParent();
+				}
+
+				// This gives us a directory...
+				//
+				if (selectedResource instanceof IFolder || selectedResource instanceof IProject) {
+					// Set this for the container.
+					//
+					newFileCreationPage.setContainerFullPath(selectedResource.getFullPath());
+
+					// Make up a unique new name here.
+					//
+					String defaultModelBaseFilename = CxGridSourceEditorPlugin.INSTANCE.getString("_UI_CxGridStyleEditorFilenameDefaultBase");
+					String defaultModelFilenameExtension = FILE_EXTENSIONS.get(0);
+					String modelFilename = defaultModelBaseFilename + "." + defaultModelFilenameExtension;
+					for (int i = 1; ((IContainer)selectedResource).findMember(modelFilename) != null; ++i) {
+						modelFilename = defaultModelBaseFilename + i + "." + defaultModelFilenameExtension;
+					}
+					newFileCreationPage.setFileName(modelFilename);
+				}
+			}
+		}
+		initialObjectCreationPage = new CxGridStyleModelWizardInitialObjectCreationPage("Whatever2");
+		initialObjectCreationPage.setTitle(CxGridSourceEditorPlugin.INSTANCE.getString("_UI_CxGridStyleModelWizard_label"));
+		initialObjectCreationPage.setDescription(CxGridSourceEditorPlugin.INSTANCE.getString("_UI_Wizard_initial_object_description"));
+		addPage(initialObjectCreationPage);
+	}
+
+	/**
+	 * Get the file from the page.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public IFile getModelFile() {
+		return newFileCreationPage.getModelFile();
+	}
+
+}
diff --git a/org.eclipse.osbp.infogrid.model/.project b/org.eclipse.osbp.infogrid.model/.project
new file mode 100644
index 0000000..2bec796
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model/.project
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.osbp.infogrid.model</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.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.infogrid.model/LICENSE.txt b/org.eclipse.osbp.infogrid.model/LICENSE.txt
new file mode 100644
index 0000000..ff42ad4
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model/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.infogrid.model/META-INF/MANIFEST.MF b/org.eclipse.osbp.infogrid.model/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..6abff4f
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model/META-INF/MANIFEST.MF
@@ -0,0 +1,25 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: org.eclipse.osbp.infogrid.model
+Bundle-SymbolicName: org.eclipse.osbp.infogrid.model;singleton:=true
+Bundle-Version: 0.9.0.qualifier
+Bundle-ClassPath: .
+Bundle-Vendor: Eclipse OSBP
+Bundle-Localization: plugin
+Require-Bundle: org.eclipse.core.runtime,
+ org.eclipse.emf.ecore;bundle-version="2.10.2";visibility:=reexport,
+ org.eclipse.emf.ecore.xmi;visibility:=reexport,
+ org.eclipse.xtext.common.types;bundle-version="[2.7.3,2.8.0)";visibility:=reexport,
+ com.google.guava,
+ org.eclipse.xtext.xbase.lib;bundle-version="[2.7.3,2.8.0)",
+ org.eclipse.xtend.lib,
+ org.eclipse.xtend.lib.macro
+Bundle-ActivationPolicy: lazy
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Export-Package: org.eclipse.osbp.infogrid.model.gridsource;version="0.9.0",
+ org.eclipse.osbp.infogrid.model.gridsource.impl;version="0.9.0",
+ org.eclipse.osbp.infogrid.model.gridsource.style;version="0.9.0",
+ org.eclipse.osbp.infogrid.model.gridsource.style.impl;version="0.9.0",
+ org.eclipse.osbp.infogrid.model.gridsource.style.util;version="0.9.0",
+ org.eclipse.osbp.infogrid.model.gridsource.util;version="0.9.0"
+
diff --git a/org.eclipse.osbp.infogrid.model/about.html b/org.eclipse.osbp.infogrid.model/about.html
new file mode 100644
index 0000000..64c0598
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model/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.infogrid.model/about.ini b/org.eclipse.osbp.infogrid.model/about.ini
new file mode 100644
index 0000000..7df671f
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model/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.infogrid.model/about.mappings b/org.eclipse.osbp.infogrid.model/about.mappings
new file mode 100644
index 0000000..4511a0a
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model/about.mappings
@@ -0,0 +1,6 @@
+# about.mappings
+# contains fill-ins for about.properties
+# java.io.Properties file (ISO 8859-1 with "\" escapes)
+# This file does not need to be translated.
+
+0=qualifier
diff --git a/org.eclipse.osbp.infogrid.model/about.properties b/org.eclipse.osbp.infogrid.model/about.properties
new file mode 100644
index 0000000..c668249
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model/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:
+#    Christophe Loetz (Loetz GmbH&Co.KG) - initial API and implementation
+#
+
+# NLS_MESSAGEFORMAT_VAR
+
+featureName=org.eclipse.osbp.infogrid.model
+
+################ 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\
+    Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation\n
+################ end of blurb property ####################################
diff --git a/org.eclipse.osbp.infogrid.model/build.properties b/org.eclipse.osbp.infogrid.model/build.properties
new file mode 100644
index 0000000..271d206
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model/build.properties
@@ -0,0 +1,17 @@
+#
+
+bin.includes = about.properties,  about.mappings,  about.ini,  about.html,  .,\
+               model/,\
+               META-INF/,\
+               plugin.xml,\
+               plugin.properties,\
+               LICENSE.txt,\
+               epl-v10.html,\
+               license.html
+jars.compile.order = .
+source.. = src/,\
+           xtend-gen/
+output.. = target/classes/
+src.includes = about.properties,  about.mappings,  about.ini,  about.html,  LICENSE.txt,\
+               epl-v10.html,\
+               license.html
diff --git a/org.eclipse.osbp.infogrid.model/epl-v10.html b/org.eclipse.osbp.infogrid.model/epl-v10.html
new file mode 100644
index 0000000..b398acc
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model/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.infogrid.model/license.html b/org.eclipse.osbp.infogrid.model/license.html
new file mode 100644
index 0000000..6e579a5
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model/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.infogrid.model/model/gridsource.ecore b/org.eclipse.osbp.infogrid.model/model/gridsource.ecore
new file mode 100644
index 0000000..cb02d21
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model/model/gridsource.ecore
@@ -0,0 +1,131 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="gridsource" nsURI="http://osbp.eclipse.org/gridsource/v1/core"
+    nsPrefix="gridsource">
+  <eClassifiers xsi:type="ecore:EClass" name="CxGridSource">
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="id" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="tags" upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="kind" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
+        defaultValueLiteral="ecview"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="rootType" eType="ecore:EClass ../../org.eclipse.xtext.common.types/model/JavaVMTypes.ecore#//JvmTypeReference"
+        containment="true"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="rootTypeFQN" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="properties" upperBound="-1"
+        eType="#//CxGridProperty" containment="true"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="inputs" upperBound="-1"
+        eType="#//CxGridSourceInput" containment="true"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="selectionEventTopic" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="CxGridSourceInput">
+    <eStructuralFeatures xsi:type="ecore:EReference" name="inputType" eType="ecore:EClass ../../org.eclipse.xtext.common.types/model/JavaVMTypes.ecore#//JvmTypeReference"
+        containment="true"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="inputTypeFQN" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="filters" upperBound="-1"
+        eType="#//CxGridSourceEQFilter" containment="true"/>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="CxGridProperty">
+    <eStructuralFeatures xsi:type="ecore:EReference" name="path" eType="#//CxGridNestedField"
+        containment="true"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="style" eType="#//style/CxGridPropStyle"
+        containment="true"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="dotPath" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="editable" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="CxGridNestedField">
+    <eStructuralFeatures xsi:type="ecore:EReference" name="field" eType="ecore:EClass ../../org.eclipse.xtext.common.types/model/JavaVMTypes.ecore#//JvmOperation"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="path" eType="#//CxGridNestedPath"
+        containment="true"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="dotPath" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="CxGridNestedPath">
+    <eStructuralFeatures xsi:type="ecore:EReference" name="field" eType="ecore:EClass ../../org.eclipse.xtext.common.types/model/JavaVMTypes.ecore#//JvmOperation"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="path" eType="#//CxGridNestedPath"
+        containment="true"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="dotPath" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="CxGridSourceEQFilter">
+    <eStructuralFeatures xsi:type="ecore:EReference" name="inputTypePropertyPath"
+        eType="#//CxGridNestedField" containment="true"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="rootTypePropertyPath" eType="#//CxGridNestedField"
+        containment="true"/>
+  </eClassifiers>
+  <eSubpackages name="style" nsURI="http://osbp.eclipse.org/gridsource/v1/core/style"
+      nsPrefix="style">
+    <eClassifiers xsi:type="ecore:EClass" name="CxGridPropStyle" abstract="true"/>
+    <eClassifiers xsi:type="ecore:EClass" name="CxGridPropHtmlStyle" eSuperTypes="#//style/CxGridPropStyle"/>
+    <eClassifiers xsi:type="ecore:EClass" name="CxGridPropTextStyle" eSuperTypes="#//style/CxGridPropStyle"/>
+    <eClassifiers xsi:type="ecore:EClass" name="CxGridPropButtonStyle" eSuperTypes="#//style/CxGridPropStyle #//style/CxGridEventTopicAble"/>
+    <eClassifiers xsi:type="ecore:EClass" name="CxGridPropProgressbarStyle" eSuperTypes="#//style/CxGridPropStyle">
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="maxValue" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="CxGridPropSparklineStyle" eSuperTypes="#//style/CxGridPropStyle">
+      <eStructuralFeatures xsi:type="ecore:EReference" name="field" eType="#//CxGridNestedField"
+          containment="true"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="CxGridPropBooleanStyle" eSuperTypes="#//style/CxGridPropStyle"/>
+    <eClassifiers xsi:type="ecore:EClass" name="CxGridPropNumberStyle" eSuperTypes="#//style/CxGridPropStyle">
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="numberFormat" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="CxGridPropImageStyle" eSuperTypes="#//style/CxGridPropStyle #//style/CxGridEventTopicAble">
+      <eStructuralFeatures xsi:type="ecore:EReference" name="configs" upperBound="-1"
+          eType="#//style/CxGridStyleConfig" containment="true"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="CxGridPropIndicatorStyle" eSuperTypes="#//style/CxGridPropStyle #//style/CxGridEventTopicAble">
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="greenStarts" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="redEnds" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="CxGridPropDateStyle" eSuperTypes="#//style/CxGridPropStyle">
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="dateFormat" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="CxGridStyleConfig"/>
+    <eClassifiers xsi:type="ecore:EClass" name="CxGridStyleConfigStringToResource"
+        eSuperTypes="#//style/CxGridStyleConfig">
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="compare" eType="#//style/CxGridCompare"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="resourceThemePath" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="CxGridStyleConfigNumericToResource"
+        eSuperTypes="#//style/CxGridStyleConfig">
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="compare" eType="#//style/CxGridCompare"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="resourceThemePath" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EEnum" name="CxGridCompare">
+      <eLiterals name="Equal" literal="EQ"/>
+      <eLiterals name="GreaterThan" value="1" literal="GT"/>
+      <eLiterals name="GreaterEqual" value="2" literal="GE"/>
+      <eLiterals name="LowerThan" value="3" literal="LT"/>
+      <eLiterals name="LowerEqual" value="4" literal="LE"/>
+      <eLiterals name="NotEqual" value="5" literal="NEQ"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="CxGridEventTopicAble" abstract="true"
+        interface="true" eSuperTypes="#//style/CxGridPropStyle">
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="eventTopic" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="CxGridPropQuantityStyle" eSuperTypes="#//style/CxGridPropStyle">
+      <eStructuralFeatures xsi:type="ecore:EReference" name="valuePropertyPath" eType="#//CxGridNestedField"
+          containment="true"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="valuePropertyDotPath"
+          eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="valueNumberFormat" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="uomPropertyPath" eType="#//CxGridNestedField"
+          containment="true"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="uomPropertyDotPath" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="htmlPattern" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
+          defaultValueLiteral="&lt;b>{@value}&lt;/b> - &lt;i>{@uom}&lt;/i>"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="CxGridPropPriceStyle" eSuperTypes="#//style/CxGridPropStyle">
+      <eStructuralFeatures xsi:type="ecore:EReference" name="valuePropertyPath" eType="#//CxGridNestedField"
+          containment="true"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="valuePropertyDotPath"
+          eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="valueNumberFormat" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="currencyPropertyPath"
+          eType="#//CxGridNestedField" containment="true"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="currencyPropertyDotPath"
+          eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="htmlPattern" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
+          defaultValueLiteral="&lt;b>{@value}&lt;/b> - &lt;i>{@currency}&lt;/i>"/>
+    </eClassifiers>
+  </eSubpackages>
+</ecore:EPackage>
diff --git a/org.eclipse.osbp.infogrid.model/model/gridsource.genmodel b/org.eclipse.osbp.infogrid.model/model/gridsource.genmodel
new file mode 100644
index 0000000..ee53f3a
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model/model/gridsource.genmodel
@@ -0,0 +1,112 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<genmodel:GenModel xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
+    xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" modelDirectory="/org.eclipse.osbp.infogrid.model/src" modelPluginID="org.eclipse.osbp.infogrid.model"
+    modelName="CxGridSource" rootExtendsClass="org.eclipse.emf.ecore.impl.MinimalEObjectImpl$Container"
+    importerID="org.eclipse.emf.importer.ecore" complianceLevel="8.0" copyrightFields="false"
+    usedGenPackages="../../org.eclipse.xtext.common.types/model/JavaVMTypes.genmodel#//types"
+    importOrganizing="true">
+  <foreignModel>gridsource.ecore</foreignModel>
+  <genPackages prefix="CxGridSource" basePackage="org.eclipse.osbp.infogrid.model"
+      disposableProviderFactory="true" loadInitialization="true" extensibleProviderFactory="true"
+      childCreationExtenders="true" ecorePackage="gridsource.ecore#/">
+    <genClasses ecoreClass="gridsource.ecore#//CxGridSource">
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute gridsource.ecore#//CxGridSource/id"/>
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute gridsource.ecore#//CxGridSource/tags"/>
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute gridsource.ecore#//CxGridSource/kind"/>
+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference gridsource.ecore#//CxGridSource/rootType"/>
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute gridsource.ecore#//CxGridSource/rootTypeFQN"/>
+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference gridsource.ecore#//CxGridSource/properties"/>
+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference gridsource.ecore#//CxGridSource/inputs"/>
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute gridsource.ecore#//CxGridSource/selectionEventTopic"/>
+    </genClasses>
+    <genClasses ecoreClass="gridsource.ecore#//CxGridSourceInput">
+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference gridsource.ecore#//CxGridSourceInput/inputType"/>
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute gridsource.ecore#//CxGridSourceInput/inputTypeFQN"/>
+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference gridsource.ecore#//CxGridSourceInput/filters"/>
+    </genClasses>
+    <genClasses ecoreClass="gridsource.ecore#//CxGridProperty">
+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference gridsource.ecore#//CxGridProperty/path"/>
+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference gridsource.ecore#//CxGridProperty/style"/>
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute gridsource.ecore#//CxGridProperty/dotPath"/>
+    </genClasses>
+    <genClasses ecoreClass="gridsource.ecore#//CxGridNestedField">
+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference gridsource.ecore#//CxGridNestedField/field"/>
+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference gridsource.ecore#//CxGridNestedField/path"/>
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute gridsource.ecore#//CxGridNestedField/dotPath"/>
+    </genClasses>
+    <genClasses ecoreClass="gridsource.ecore#//CxGridNestedPath">
+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference gridsource.ecore#//CxGridNestedPath/field"/>
+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference gridsource.ecore#//CxGridNestedPath/path"/>
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute gridsource.ecore#//CxGridNestedPath/dotPath"/>
+    </genClasses>
+    <genClasses ecoreClass="gridsource.ecore#//CxGridSourceEQFilter">
+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference gridsource.ecore#//CxGridSourceEQFilter/inputTypePropertyPath"/>
+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference gridsource.ecore#//CxGridSourceEQFilter/rootTypePropertyPath"/>
+    </genClasses>
+    <nestedGenPackages prefix="CxGridStyle" disposableProviderFactory="true" extensibleProviderFactory="true"
+        childCreationExtenders="true" ecorePackage="gridsource.ecore#//style">
+      <genEnums typeSafeEnumCompatible="false" ecoreEnum="gridsource.ecore#//style/CxGridCompare">
+        <genEnumLiterals ecoreEnumLiteral="gridsource.ecore#//style/CxGridCompare/Equal"/>
+        <genEnumLiterals ecoreEnumLiteral="gridsource.ecore#//style/CxGridCompare/GreaterThan"/>
+        <genEnumLiterals ecoreEnumLiteral="gridsource.ecore#//style/CxGridCompare/GreaterEqual"/>
+        <genEnumLiterals ecoreEnumLiteral="gridsource.ecore#//style/CxGridCompare/LowerThan"/>
+        <genEnumLiterals ecoreEnumLiteral="gridsource.ecore#//style/CxGridCompare/LowerEqual"/>
+        <genEnumLiterals ecoreEnumLiteral="gridsource.ecore#//style/CxGridCompare/NotEqual"/>
+      </genEnums>
+      <genClasses image="false" ecoreClass="gridsource.ecore#//style/CxGridPropStyle"/>
+      <genClasses image="false" ecoreClass="gridsource.ecore#//style/CxGridPropHtmlStyle"/>
+      <genClasses image="false" ecoreClass="gridsource.ecore#//style/CxGridPropTextStyle"/>
+      <genClasses image="false" ecoreClass="gridsource.ecore#//style/CxGridPropButtonStyle"/>
+      <genClasses image="false" ecoreClass="gridsource.ecore#//style/CxGridPropProgressbarStyle">
+        <genFeatures createChild="false" ecoreFeature="ecore:EAttribute gridsource.ecore#//style/CxGridPropProgressbarStyle/maxValue"/>
+      </genClasses>
+      <genClasses image="false" ecoreClass="gridsource.ecore#//style/CxGridPropSparklineStyle">
+        <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference gridsource.ecore#//style/CxGridPropSparklineStyle/field"/>
+      </genClasses>
+      <genClasses ecoreClass="gridsource.ecore#//style/CxGridPropBooleanStyle"/>
+      <genClasses ecoreClass="gridsource.ecore#//style/CxGridPropNumberStyle">
+        <genFeatures createChild="false" ecoreFeature="ecore:EAttribute gridsource.ecore#//style/CxGridPropNumberStyle/numberFormat"/>
+      </genClasses>
+      <genClasses ecoreClass="gridsource.ecore#//style/CxGridPropImageStyle">
+        <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference gridsource.ecore#//style/CxGridPropImageStyle/configs"/>
+      </genClasses>
+      <genClasses ecoreClass="gridsource.ecore#//style/CxGridPropIndicatorStyle">
+        <genFeatures createChild="false" ecoreFeature="ecore:EAttribute gridsource.ecore#//style/CxGridPropIndicatorStyle/greenStarts"/>
+        <genFeatures createChild="false" ecoreFeature="ecore:EAttribute gridsource.ecore#//style/CxGridPropIndicatorStyle/redEnds"/>
+      </genClasses>
+      <genClasses ecoreClass="gridsource.ecore#//style/CxGridPropDateStyle">
+        <genFeatures createChild="false" ecoreFeature="ecore:EAttribute gridsource.ecore#//style/CxGridPropDateStyle/dateFormat"/>
+      </genClasses>
+      <genClasses ecoreClass="gridsource.ecore#//style/CxGridStyleConfig"/>
+      <genClasses ecoreClass="gridsource.ecore#//style/CxGridStyleConfigStringToResource">
+        <genFeatures createChild="false" ecoreFeature="ecore:EAttribute gridsource.ecore#//style/CxGridStyleConfigStringToResource/value"/>
+        <genFeatures createChild="false" ecoreFeature="ecore:EAttribute gridsource.ecore#//style/CxGridStyleConfigStringToResource/compare"/>
+        <genFeatures createChild="false" ecoreFeature="ecore:EAttribute gridsource.ecore#//style/CxGridStyleConfigStringToResource/resourceThemePath"/>
+      </genClasses>
+      <genClasses ecoreClass="gridsource.ecore#//style/CxGridStyleConfigNumericToResource">
+        <genFeatures createChild="false" ecoreFeature="ecore:EAttribute gridsource.ecore#//style/CxGridStyleConfigNumericToResource/value"/>
+        <genFeatures createChild="false" ecoreFeature="ecore:EAttribute gridsource.ecore#//style/CxGridStyleConfigNumericToResource/compare"/>
+        <genFeatures createChild="false" ecoreFeature="ecore:EAttribute gridsource.ecore#//style/CxGridStyleConfigNumericToResource/resourceThemePath"/>
+      </genClasses>
+      <genClasses image="false" ecoreClass="gridsource.ecore#//style/CxGridEventTopicAble">
+        <genFeatures createChild="false" ecoreFeature="ecore:EAttribute gridsource.ecore#//style/CxGridEventTopicAble/eventTopic"/>
+      </genClasses>
+      <genClasses ecoreClass="gridsource.ecore#//style/CxGridPropQuantityStyle">
+        <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference gridsource.ecore#//style/CxGridPropQuantityStyle/valuePropertyPath"/>
+        <genFeatures createChild="false" ecoreFeature="ecore:EAttribute gridsource.ecore#//style/CxGridPropQuantityStyle/valuePropertyDotPath"/>
+        <genFeatures createChild="false" ecoreFeature="ecore:EAttribute gridsource.ecore#//style/CxGridPropQuantityStyle/valueNumberFormat"/>
+        <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference gridsource.ecore#//style/CxGridPropQuantityStyle/uomPropertyPath"/>
+        <genFeatures createChild="false" ecoreFeature="ecore:EAttribute gridsource.ecore#//style/CxGridPropQuantityStyle/uomPropertyDotPath"/>
+        <genFeatures createChild="false" ecoreFeature="ecore:EAttribute gridsource.ecore#//style/CxGridPropQuantityStyle/htmlPattern"/>
+      </genClasses>
+      <genClasses ecoreClass="gridsource.ecore#//style/CxGridPropPriceStyle">
+        <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference gridsource.ecore#//style/CxGridPropPriceStyle/valuePropertyPath"/>
+        <genFeatures createChild="false" ecoreFeature="ecore:EAttribute gridsource.ecore#//style/CxGridPropPriceStyle/valuePropertyDotPath"/>
+        <genFeatures createChild="false" ecoreFeature="ecore:EAttribute gridsource.ecore#//style/CxGridPropPriceStyle/valueNumberFormat"/>
+        <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference gridsource.ecore#//style/CxGridPropPriceStyle/currencyPropertyPath"/>
+        <genFeatures createChild="false" ecoreFeature="ecore:EAttribute gridsource.ecore#//style/CxGridPropPriceStyle/currencyPropertyDotPath"/>
+        <genFeatures createChild="false" ecoreFeature="ecore:EAttribute gridsource.ecore#//style/CxGridPropPriceStyle/htmlPattern"/>
+      </genClasses>
+    </nestedGenPackages>
+  </genPackages>
+</genmodel:GenModel>
diff --git a/org.eclipse.osbp.infogrid.model/plugin.properties b/org.eclipse.osbp.infogrid.model/plugin.properties
new file mode 100644
index 0000000..03139e3
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model/plugin.properties
@@ -0,0 +1,4 @@
+#
+
+pluginName = GSGridSource Model
+providerName = www.example.org
diff --git a/org.eclipse.osbp.infogrid.model/plugin.xml b/org.eclipse.osbp.infogrid.model/plugin.xml
new file mode 100644
index 0000000..0dc0ede
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model/plugin.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+
+<!--
+-->
+
+<plugin>
+
+   <extension point="org.eclipse.emf.ecore.generated_package">
+      <!-- @generated gridsource -->
+      <package
+            uri="http://osbp.eclipse.org/gridsource/v1/core"
+            class="org.eclipse.osbp.infogrid.model.gridsource.CxGridSourcePackage"
+            genModel="model/gridsource.genmodel"/>
+   </extension>
+
+   <extension point="org.eclipse.emf.ecore.generated_package">
+      <!-- @generated gridsource -->
+      <package
+            uri="http://osbp.eclipse.org/gridsource/v1/core/style"
+            class="org.eclipse.osbp.infogrid.model.gridsource.style.CxGridStylePackage"
+            genModel="model/gridsource.genmodel"/>
+   </extension>
+
+</plugin>
diff --git a/org.eclipse.osbp.infogrid.model/pom.xml b/org.eclipse.osbp.infogrid.model/pom.xml
new file mode 100644
index 0000000..62e3855
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model/pom.xml
@@ -0,0 +1,29 @@
+<?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.infogrid</groupId>
+		<artifactId>org.eclipse.osbp.infogrid.aggregator</artifactId>
+		<version>0.9.0-SNAPSHOT</version>
+		<relativePath>..</relativePath>
+	</parent>
+	<artifactId>org.eclipse.osbp.infogrid.model</artifactId>
+	<build>
+		<sourceDirectory>src</sourceDirectory>
+		<plugins>
+		</plugins>
+	</build>
+	<packaging>eclipse-plugin</packaging>
+	
+</project>
diff --git a/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/CxGridNestedField.java b/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/CxGridNestedField.java
new file mode 100644
index 0000000..103827f
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/CxGridNestedField.java
@@ -0,0 +1,114 @@
+/**
+ *                                                                            
+ * 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.infogrid.model.gridsource;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.xtext.common.types.JvmOperation;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '
+ * <em><b>Cx Grid Nested Field</b></em>'. <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.infogrid.model.gridsource.CxGridNestedField#getField <em>Field</em>}</li>
+ *   <li>{@link org.eclipse.osbp.infogrid.model.gridsource.CxGridNestedField#getPath <em>Path</em>}</li>
+ *   <li>{@link org.eclipse.osbp.infogrid.model.gridsource.CxGridNestedField#getDotPath <em>Dot Path</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.osbp.infogrid.model.gridsource.CxGridSourcePackage#getCxGridNestedField()
+ * @model
+ * @generated
+ */
+public interface CxGridNestedField extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Field</b></em>' reference. <!--
+	 * begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Field</em>' reference isn't clear, there
+	 * really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * 
+	 * @return the value of the '<em>Field</em>' reference.
+	 * @see #setField(JvmOperation)
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.CxGridSourcePackage#getCxGridNestedField_Field()
+	 * @model
+	 * @generated
+	 */
+	JvmOperation getField();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.infogrid.model.gridsource.CxGridNestedField#getField <em>Field</em>}' reference.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Field</em>' reference.
+	 * @see #getField()
+	 * @generated
+	 */
+	void setField(JvmOperation value);
+
+	/**
+	 * Returns the value of the '<em><b>Path</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Path</em>' containment reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Path</em>' containment reference.
+	 * @see #setPath(CxGridNestedPath)
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.CxGridSourcePackage#getCxGridNestedField_Path()
+	 * @model containment="true"
+	 * @generated
+	 */
+	CxGridNestedPath getPath();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.infogrid.model.gridsource.CxGridNestedField#getPath <em>Path</em>}' containment reference.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 * @param value the new value of the '<em>Path</em>' containment reference.
+	 * @see #getPath()
+	 * @generated
+	 */
+	void setPath(CxGridNestedPath value);
+
+	/**
+	 * Returns the value of the '<em><b>Dot Path</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Dot Path</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Dot Path</em>' attribute.
+	 * @see #setDotPath(String)
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.CxGridSourcePackage#getCxGridNestedField_DotPath()
+	 * @model
+	 * @generated
+	 */
+	String getDotPath();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.infogrid.model.gridsource.CxGridNestedField#getDotPath <em>Dot Path</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Dot Path</em>' attribute.
+	 * @see #getDotPath()
+	 * @generated
+	 */
+	void setDotPath(String value);
+
+} // CxGridNestedField
diff --git a/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/CxGridNestedPath.java b/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/CxGridNestedPath.java
new file mode 100644
index 0000000..bf64bad
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/CxGridNestedPath.java
@@ -0,0 +1,114 @@
+/**
+ *                                                                            
+ * 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.infogrid.model.gridsource;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.xtext.common.types.JvmOperation;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '
+ * <em><b>Cx Grid Nested Path</b></em>'. <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.infogrid.model.gridsource.CxGridNestedPath#getField <em>Field</em>}</li>
+ *   <li>{@link org.eclipse.osbp.infogrid.model.gridsource.CxGridNestedPath#getPath <em>Path</em>}</li>
+ *   <li>{@link org.eclipse.osbp.infogrid.model.gridsource.CxGridNestedPath#getDotPath <em>Dot Path</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.osbp.infogrid.model.gridsource.CxGridSourcePackage#getCxGridNestedPath()
+ * @model
+ * @generated
+ */
+public interface CxGridNestedPath extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Field</b></em>' reference. <!--
+	 * begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Field</em>' reference isn't clear, there
+	 * really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * 
+	 * @return the value of the '<em>Field</em>' reference.
+	 * @see #setField(JvmOperation)
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.CxGridSourcePackage#getCxGridNestedPath_Field()
+	 * @model
+	 * @generated
+	 */
+	JvmOperation getField();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.infogrid.model.gridsource.CxGridNestedPath#getField <em>Field</em>}' reference.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Field</em>' reference.
+	 * @see #getField()
+	 * @generated
+	 */
+	void setField(JvmOperation value);
+
+	/**
+	 * Returns the value of the '<em><b>Path</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Path</em>' containment reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Path</em>' containment reference.
+	 * @see #setPath(CxGridNestedPath)
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.CxGridSourcePackage#getCxGridNestedPath_Path()
+	 * @model containment="true"
+	 * @generated
+	 */
+	CxGridNestedPath getPath();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.infogrid.model.gridsource.CxGridNestedPath#getPath <em>Path</em>}' containment reference.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 * @param value the new value of the '<em>Path</em>' containment reference.
+	 * @see #getPath()
+	 * @generated
+	 */
+	void setPath(CxGridNestedPath value);
+
+	/**
+	 * Returns the value of the '<em><b>Dot Path</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Dot Path</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Dot Path</em>' attribute.
+	 * @see #setDotPath(String)
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.CxGridSourcePackage#getCxGridNestedPath_DotPath()
+	 * @model
+	 * @generated
+	 */
+	String getDotPath();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.infogrid.model.gridsource.CxGridNestedPath#getDotPath <em>Dot Path</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Dot Path</em>' attribute.
+	 * @see #getDotPath()
+	 * @generated
+	 */
+	void setDotPath(String value);
+
+} // CxGridNestedPath
diff --git a/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/CxGridProperty.java b/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/CxGridProperty.java
new file mode 100644
index 0000000..570a4e6
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/CxGridProperty.java
@@ -0,0 +1,141 @@
+/**
+ *                                                                            
+ * 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.infogrid.model.gridsource;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropStyle;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '
+ * <em><b>Cx Grid Property</b></em>'. <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.infogrid.model.gridsource.CxGridProperty#getPath <em>Path</em>}</li>
+ *   <li>{@link org.eclipse.osbp.infogrid.model.gridsource.CxGridProperty#getStyle <em>Style</em>}</li>
+ *   <li>{@link org.eclipse.osbp.infogrid.model.gridsource.CxGridProperty#getDotPath <em>Dot Path</em>}</li>
+ *   <li>{@link org.eclipse.osbp.infogrid.model.gridsource.CxGridProperty#isEditable <em>Editable</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.osbp.infogrid.model.gridsource.CxGridSourcePackage#getCxGridProperty()
+ * @model
+ * @generated
+ */
+public interface CxGridProperty extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Path</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Path</em>' containment reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Path</em>' containment reference.
+	 * @see #setPath(CxGridNestedField)
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.CxGridSourcePackage#getCxGridProperty_Path()
+	 * @model containment="true"
+	 * @generated
+	 */
+	CxGridNestedField getPath();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.infogrid.model.gridsource.CxGridProperty#getPath <em>Path</em>}' containment reference.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 * @param value the new value of the '<em>Path</em>' containment reference.
+	 * @see #getPath()
+	 * @generated
+	 */
+	void setPath(CxGridNestedField value);
+
+	/**
+	 * Returns the value of the '<em><b>Style</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Style</em>' containment reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Style</em>' containment reference.
+	 * @see #setStyle(CxGridPropStyle)
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.CxGridSourcePackage#getCxGridProperty_Style()
+	 * @model containment="true"
+	 * @generated
+	 */
+	CxGridPropStyle getStyle();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.infogrid.model.gridsource.CxGridProperty#getStyle <em>Style</em>}' containment reference.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 * @param value the new value of the '<em>Style</em>' containment reference.
+	 * @see #getStyle()
+	 * @generated
+	 */
+	void setStyle(CxGridPropStyle value);
+
+	/**
+	 * Returns the value of the '<em><b>Dot Path</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Dot Path</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Dot Path</em>' attribute.
+	 * @see #setDotPath(String)
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.CxGridSourcePackage#getCxGridProperty_DotPath()
+	 * @model
+	 * @generated
+	 */
+	String getDotPath();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.infogrid.model.gridsource.CxGridProperty#getDotPath <em>Dot Path</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Dot Path</em>' attribute.
+	 * @see #getDotPath()
+	 * @generated
+	 */
+	void setDotPath(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Editable</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Editable</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Editable</em>' attribute.
+	 * @see #setEditable(boolean)
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.CxGridSourcePackage#getCxGridProperty_Editable()
+	 * @model
+	 * @generated
+	 */
+	boolean isEditable();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.infogrid.model.gridsource.CxGridProperty#isEditable <em>Editable</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Editable</em>' attribute.
+	 * @see #isEditable()
+	 * @generated
+	 */
+	void setEditable(boolean value);
+
+} // CxGridProperty
diff --git a/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/CxGridSource.java b/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/CxGridSource.java
new file mode 100644
index 0000000..cbb693c
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/CxGridSource.java
@@ -0,0 +1,224 @@
+/**
+ *                                                                            
+ * 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.infogrid.model.gridsource;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.xtext.common.types.JvmTypeReference;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Cx Grid Source</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.infogrid.model.gridsource.CxGridSource#getId <em>Id</em>}</li>
+ *   <li>{@link org.eclipse.osbp.infogrid.model.gridsource.CxGridSource#getTags <em>Tags</em>}</li>
+ *   <li>{@link org.eclipse.osbp.infogrid.model.gridsource.CxGridSource#getKind <em>Kind</em>}</li>
+ *   <li>{@link org.eclipse.osbp.infogrid.model.gridsource.CxGridSource#getRootType <em>Root Type</em>}</li>
+ *   <li>{@link org.eclipse.osbp.infogrid.model.gridsource.CxGridSource#getRootTypeFQN <em>Root Type FQN</em>}</li>
+ *   <li>{@link org.eclipse.osbp.infogrid.model.gridsource.CxGridSource#getProperties <em>Properties</em>}</li>
+ *   <li>{@link org.eclipse.osbp.infogrid.model.gridsource.CxGridSource#getInputs <em>Inputs</em>}</li>
+ *   <li>{@link org.eclipse.osbp.infogrid.model.gridsource.CxGridSource#getSelectionEventTopic <em>Selection Event Topic</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.osbp.infogrid.model.gridsource.CxGridSourcePackage#getCxGridSource()
+ * @model
+ * @generated
+ */
+public interface CxGridSource extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Id</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Id</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Id</em>' attribute.
+	 * @see #setId(String)
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.CxGridSourcePackage#getCxGridSource_Id()
+	 * @model
+	 * @generated
+	 */
+	String getId();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.infogrid.model.gridsource.CxGridSource#getId <em>Id</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Id</em>' attribute.
+	 * @see #getId()
+	 * @generated
+	 */
+	void setId(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Tags</b></em>' attribute list.
+	 * The list contents are of type {@link java.lang.String}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Tags</em>' attribute list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Tags</em>' attribute list.
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.CxGridSourcePackage#getCxGridSource_Tags()
+	 * @model
+	 * @generated
+	 */
+	EList<String> getTags();
+
+	/**
+	 * Returns the value of the '<em><b>Kind</b></em>' attribute.
+	 * The default value is <code>"ecview"</code>.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Kind</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Kind</em>' attribute.
+	 * @see #setKind(String)
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.CxGridSourcePackage#getCxGridSource_Kind()
+	 * @model default="ecview"
+	 * @generated
+	 */
+	String getKind();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.infogrid.model.gridsource.CxGridSource#getKind <em>Kind</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Kind</em>' attribute.
+	 * @see #getKind()
+	 * @generated
+	 */
+	void setKind(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Root Type</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Root Type</em>' containment reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Root Type</em>' containment reference.
+	 * @see #setRootType(JvmTypeReference)
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.CxGridSourcePackage#getCxGridSource_RootType()
+	 * @model containment="true"
+	 * @generated
+	 */
+	JvmTypeReference getRootType();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.infogrid.model.gridsource.CxGridSource#getRootType <em>Root Type</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Root Type</em>' containment reference.
+	 * @see #getRootType()
+	 * @generated
+	 */
+	void setRootType(JvmTypeReference value);
+
+	/**
+	 * Returns the value of the '<em><b>Root Type FQN</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Root Type FQN</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Root Type FQN</em>' attribute.
+	 * @see #setRootTypeFQN(String)
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.CxGridSourcePackage#getCxGridSource_RootTypeFQN()
+	 * @model
+	 * @generated
+	 */
+	String getRootTypeFQN();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.infogrid.model.gridsource.CxGridSource#getRootTypeFQN <em>Root Type FQN</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Root Type FQN</em>' attribute.
+	 * @see #getRootTypeFQN()
+	 * @generated
+	 */
+	void setRootTypeFQN(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Properties</b></em>' containment reference list.
+	 * The list contents are of type {@link org.eclipse.osbp.infogrid.model.gridsource.CxGridProperty}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Properties</em>' containment reference list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Properties</em>' containment reference list.
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.CxGridSourcePackage#getCxGridSource_Properties()
+	 * @model containment="true"
+	 * @generated
+	 */
+	EList<CxGridProperty> getProperties();
+
+	/**
+	 * Returns the value of the '<em><b>Inputs</b></em>' containment reference list.
+	 * The list contents are of type {@link org.eclipse.osbp.infogrid.model.gridsource.CxGridSourceInput}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Inputs</em>' containment reference list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Inputs</em>' containment reference list.
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.CxGridSourcePackage#getCxGridSource_Inputs()
+	 * @model containment="true"
+	 * @generated
+	 */
+	EList<CxGridSourceInput> getInputs();
+
+	/**
+	 * Returns the value of the '<em><b>Selection Event Topic</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Selection Event Topic</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Selection Event Topic</em>' attribute.
+	 * @see #setSelectionEventTopic(String)
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.CxGridSourcePackage#getCxGridSource_SelectionEventTopic()
+	 * @model
+	 * @generated
+	 */
+	String getSelectionEventTopic();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.infogrid.model.gridsource.CxGridSource#getSelectionEventTopic <em>Selection Event Topic</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Selection Event Topic</em>' attribute.
+	 * @see #getSelectionEventTopic()
+	 * @generated
+	 */
+	void setSelectionEventTopic(String value);
+
+} // CxGridSource
diff --git a/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/CxGridSourceEQFilter.java b/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/CxGridSourceEQFilter.java
new file mode 100644
index 0000000..358d4ea
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/CxGridSourceEQFilter.java
@@ -0,0 +1,87 @@
+/**
+ *                                                                            
+ * 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.infogrid.model.gridsource;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>EQ Filter</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.infogrid.model.gridsource.CxGridSourceEQFilter#getInputTypePropertyPath <em>Input Type Property Path</em>}</li>
+ *   <li>{@link org.eclipse.osbp.infogrid.model.gridsource.CxGridSourceEQFilter#getRootTypePropertyPath <em>Root Type Property Path</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.osbp.infogrid.model.gridsource.CxGridSourcePackage#getCxGridSourceEQFilter()
+ * @model
+ * @generated
+ */
+public interface CxGridSourceEQFilter extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Input Type Property Path</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Input Type Property Path</em>' containment reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Input Type Property Path</em>' containment reference.
+	 * @see #setInputTypePropertyPath(CxGridNestedField)
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.CxGridSourcePackage#getCxGridSourceEQFilter_InputTypePropertyPath()
+	 * @model containment="true"
+	 * @generated
+	 */
+	CxGridNestedField getInputTypePropertyPath();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.infogrid.model.gridsource.CxGridSourceEQFilter#getInputTypePropertyPath <em>Input Type Property Path</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Input Type Property Path</em>' containment reference.
+	 * @see #getInputTypePropertyPath()
+	 * @generated
+	 */
+	void setInputTypePropertyPath(CxGridNestedField value);
+
+	/**
+	 * Returns the value of the '<em><b>Root Type Property Path</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Root Type Property Path</em>' containment reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Root Type Property Path</em>' containment reference.
+	 * @see #setRootTypePropertyPath(CxGridNestedField)
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.CxGridSourcePackage#getCxGridSourceEQFilter_RootTypePropertyPath()
+	 * @model containment="true"
+	 * @generated
+	 */
+	CxGridNestedField getRootTypePropertyPath();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.infogrid.model.gridsource.CxGridSourceEQFilter#getRootTypePropertyPath <em>Root Type Property Path</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Root Type Property Path</em>' containment reference.
+	 * @see #getRootTypePropertyPath()
+	 * @generated
+	 */
+	void setRootTypePropertyPath(CxGridNestedField value);
+
+} // CxGridSourceEQFilter
diff --git a/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/CxGridSourceFactory.java b/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/CxGridSourceFactory.java
new file mode 100644
index 0000000..970181a
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/CxGridSourceFactory.java
@@ -0,0 +1,97 @@
+/**
+ *                                                                            
+ * 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.infogrid.model.gridsource;
+
+import org.eclipse.emf.ecore.EFactory;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Factory</b> for the model.
+ * It provides a create method for each non-abstract class of the model.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.osbp.infogrid.model.gridsource.CxGridSourcePackage
+ * @generated
+ */
+public interface CxGridSourceFactory extends EFactory {
+	/**
+	 * The singleton instance of the factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	CxGridSourceFactory eINSTANCE = org.eclipse.osbp.infogrid.model.gridsource.impl.CxGridSourceFactoryImpl.init();
+
+	/**
+	 * Returns a new object of class '<em>Cx Grid Source</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Cx Grid Source</em>'.
+	 * @generated
+	 */
+	CxGridSource createCxGridSource();
+
+	/**
+	 * Returns a new object of class '<em>Input</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Input</em>'.
+	 * @generated
+	 */
+	CxGridSourceInput createCxGridSourceInput();
+
+	/**
+	 * Returns a new object of class '<em>Cx Grid Property</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Cx Grid Property</em>'.
+	 * @generated
+	 */
+	CxGridProperty createCxGridProperty();
+
+	/**
+	 * Returns a new object of class '<em>Cx Grid Nested Field</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Cx Grid Nested Field</em>'.
+	 * @generated
+	 */
+	CxGridNestedField createCxGridNestedField();
+
+	/**
+	 * Returns a new object of class '<em>Cx Grid Nested Path</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Cx Grid Nested Path</em>'.
+	 * @generated
+	 */
+	CxGridNestedPath createCxGridNestedPath();
+
+	/**
+	 * Returns a new object of class '<em>EQ Filter</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>EQ Filter</em>'.
+	 * @generated
+	 */
+	CxGridSourceEQFilter createCxGridSourceEQFilter();
+
+	/**
+	 * Returns the package supported by this factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the package supported by this factory.
+	 * @generated
+	 */
+	CxGridSourcePackage getCxGridSourcePackage();
+
+} //CxGridSourceFactory
diff --git a/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/CxGridSourceInput.java b/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/CxGridSourceInput.java
new file mode 100644
index 0000000..9eeae4b
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/CxGridSourceInput.java
@@ -0,0 +1,108 @@
+/**
+ *                                                                            
+ * 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.infogrid.model.gridsource;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.xtext.common.types.JvmTypeReference;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Input</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.infogrid.model.gridsource.CxGridSourceInput#getInputType <em>Input Type</em>}</li>
+ *   <li>{@link org.eclipse.osbp.infogrid.model.gridsource.CxGridSourceInput#getInputTypeFQN <em>Input Type FQN</em>}</li>
+ *   <li>{@link org.eclipse.osbp.infogrid.model.gridsource.CxGridSourceInput#getFilters <em>Filters</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.osbp.infogrid.model.gridsource.CxGridSourcePackage#getCxGridSourceInput()
+ * @model
+ * @generated
+ */
+public interface CxGridSourceInput extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Input Type</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Input Type</em>' containment reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Input Type</em>' containment reference.
+	 * @see #setInputType(JvmTypeReference)
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.CxGridSourcePackage#getCxGridSourceInput_InputType()
+	 * @model containment="true"
+	 * @generated
+	 */
+	JvmTypeReference getInputType();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.infogrid.model.gridsource.CxGridSourceInput#getInputType <em>Input Type</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Input Type</em>' containment reference.
+	 * @see #getInputType()
+	 * @generated
+	 */
+	void setInputType(JvmTypeReference value);
+
+	/**
+	 * Returns the value of the '<em><b>Input Type FQN</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Input Type FQN</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Input Type FQN</em>' attribute.
+	 * @see #setInputTypeFQN(String)
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.CxGridSourcePackage#getCxGridSourceInput_InputTypeFQN()
+	 * @model
+	 * @generated
+	 */
+	String getInputTypeFQN();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.infogrid.model.gridsource.CxGridSourceInput#getInputTypeFQN <em>Input Type FQN</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Input Type FQN</em>' attribute.
+	 * @see #getInputTypeFQN()
+	 * @generated
+	 */
+	void setInputTypeFQN(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Filters</b></em>' containment reference list.
+	 * The list contents are of type {@link org.eclipse.osbp.infogrid.model.gridsource.CxGridSourceEQFilter}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Filters</em>' containment reference list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Filters</em>' containment reference list.
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.CxGridSourcePackage#getCxGridSourceInput_Filters()
+	 * @model containment="true"
+	 * @generated
+	 */
+	EList<CxGridSourceEQFilter> getFilters();
+
+} // CxGridSourceInput
diff --git a/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/CxGridSourcePackage.java b/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/CxGridSourcePackage.java
new file mode 100644
index 0000000..afc12cf
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/CxGridSourcePackage.java
@@ -0,0 +1,971 @@
+/**
+ *                                                                            
+ * 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.infogrid.model.gridsource;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Package</b> for the model.
+ * It contains accessors for the meta objects to represent
+ * <ul>
+ *   <li>each class,</li>
+ *   <li>each feature of each class,</li>
+ *   <li>each enum,</li>
+ *   <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @see org.eclipse.osbp.infogrid.model.gridsource.CxGridSourceFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface CxGridSourcePackage extends EPackage {
+	/**
+	 * The package name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNAME = "gridsource";
+
+	/**
+	 * The package namespace URI.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNS_URI = "http://osbp.eclipse.org/gridsource/v1/core";
+
+	/**
+	 * The package namespace name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNS_PREFIX = "gridsource";
+
+	/**
+	 * The singleton instance of the package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	CxGridSourcePackage eINSTANCE = org.eclipse.osbp.infogrid.model.gridsource.impl.CxGridSourcePackageImpl.init();
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.osbp.infogrid.model.gridsource.impl.CxGridSourceImpl <em>Cx Grid Source</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.impl.CxGridSourceImpl
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.impl.CxGridSourcePackageImpl#getCxGridSource()
+	 * @generated
+	 */
+	int CX_GRID_SOURCE = 0;
+
+	/**
+	 * The feature id for the '<em><b>Id</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CX_GRID_SOURCE__ID = 0;
+
+	/**
+	 * The feature id for the '<em><b>Tags</b></em>' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CX_GRID_SOURCE__TAGS = 1;
+
+	/**
+	 * The feature id for the '<em><b>Kind</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CX_GRID_SOURCE__KIND = 2;
+
+	/**
+	 * The feature id for the '<em><b>Root Type</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CX_GRID_SOURCE__ROOT_TYPE = 3;
+
+	/**
+	 * The feature id for the '<em><b>Root Type FQN</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CX_GRID_SOURCE__ROOT_TYPE_FQN = 4;
+
+	/**
+	 * The feature id for the '<em><b>Properties</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CX_GRID_SOURCE__PROPERTIES = 5;
+
+	/**
+	 * The feature id for the '<em><b>Inputs</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CX_GRID_SOURCE__INPUTS = 6;
+
+	/**
+	 * The feature id for the '<em><b>Selection Event Topic</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CX_GRID_SOURCE__SELECTION_EVENT_TOPIC = 7;
+
+	/**
+	 * The number of structural features of the '<em>Cx Grid Source</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CX_GRID_SOURCE_FEATURE_COUNT = 8;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.osbp.infogrid.model.gridsource.impl.CxGridSourceInputImpl <em>Input</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.impl.CxGridSourceInputImpl
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.impl.CxGridSourcePackageImpl#getCxGridSourceInput()
+	 * @generated
+	 */
+	int CX_GRID_SOURCE_INPUT = 1;
+
+	/**
+	 * The feature id for the '<em><b>Input Type</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CX_GRID_SOURCE_INPUT__INPUT_TYPE = 0;
+
+	/**
+	 * The feature id for the '<em><b>Input Type FQN</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CX_GRID_SOURCE_INPUT__INPUT_TYPE_FQN = 1;
+
+	/**
+	 * The feature id for the '<em><b>Filters</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CX_GRID_SOURCE_INPUT__FILTERS = 2;
+
+	/**
+	 * The number of structural features of the '<em>Input</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CX_GRID_SOURCE_INPUT_FEATURE_COUNT = 3;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.osbp.infogrid.model.gridsource.impl.CxGridPropertyImpl <em>Cx Grid Property</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.impl.CxGridPropertyImpl
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.impl.CxGridSourcePackageImpl#getCxGridProperty()
+	 * @generated
+	 */
+	int CX_GRID_PROPERTY = 2;
+
+	/**
+	 * The feature id for the '<em><b>Path</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CX_GRID_PROPERTY__PATH = 0;
+
+	/**
+	 * The feature id for the '<em><b>Style</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CX_GRID_PROPERTY__STYLE = 1;
+
+	/**
+	 * The feature id for the '<em><b>Dot Path</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CX_GRID_PROPERTY__DOT_PATH = 2;
+
+	/**
+	 * The feature id for the '<em><b>Editable</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CX_GRID_PROPERTY__EDITABLE = 3;
+
+	/**
+	 * The number of structural features of the '<em>Cx Grid Property</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CX_GRID_PROPERTY_FEATURE_COUNT = 4;
+
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.osbp.infogrid.model.gridsource.impl.CxGridNestedFieldImpl <em>Cx Grid Nested Field</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.impl.CxGridNestedFieldImpl
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.impl.CxGridSourcePackageImpl#getCxGridNestedField()
+	 * @generated
+	 */
+	int CX_GRID_NESTED_FIELD = 3;
+
+	/**
+	 * The feature id for the '<em><b>Field</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CX_GRID_NESTED_FIELD__FIELD = 0;
+
+	/**
+	 * The feature id for the '<em><b>Path</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CX_GRID_NESTED_FIELD__PATH = 1;
+
+	/**
+	 * The feature id for the '<em><b>Dot Path</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CX_GRID_NESTED_FIELD__DOT_PATH = 2;
+
+	/**
+	 * The number of structural features of the '<em>Cx Grid Nested Field</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CX_GRID_NESTED_FIELD_FEATURE_COUNT = 3;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.osbp.infogrid.model.gridsource.impl.CxGridNestedPathImpl <em>Cx Grid Nested Path</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.impl.CxGridNestedPathImpl
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.impl.CxGridSourcePackageImpl#getCxGridNestedPath()
+	 * @generated
+	 */
+	int CX_GRID_NESTED_PATH = 4;
+
+	/**
+	 * The feature id for the '<em><b>Field</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CX_GRID_NESTED_PATH__FIELD = 0;
+
+	/**
+	 * The feature id for the '<em><b>Path</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CX_GRID_NESTED_PATH__PATH = 1;
+
+	/**
+	 * The feature id for the '<em><b>Dot Path</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CX_GRID_NESTED_PATH__DOT_PATH = 2;
+
+	/**
+	 * The number of structural features of the '<em>Cx Grid Nested Path</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CX_GRID_NESTED_PATH_FEATURE_COUNT = 3;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.osbp.infogrid.model.gridsource.impl.CxGridSourceEQFilterImpl <em>EQ Filter</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.impl.CxGridSourceEQFilterImpl
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.impl.CxGridSourcePackageImpl#getCxGridSourceEQFilter()
+	 * @generated
+	 */
+	int CX_GRID_SOURCE_EQ_FILTER = 5;
+
+	/**
+	 * The feature id for the '<em><b>Input Type Property Path</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CX_GRID_SOURCE_EQ_FILTER__INPUT_TYPE_PROPERTY_PATH = 0;
+
+	/**
+	 * The feature id for the '<em><b>Root Type Property Path</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CX_GRID_SOURCE_EQ_FILTER__ROOT_TYPE_PROPERTY_PATH = 1;
+
+	/**
+	 * The number of structural features of the '<em>EQ Filter</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CX_GRID_SOURCE_EQ_FILTER_FEATURE_COUNT = 2;
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.osbp.infogrid.model.gridsource.CxGridSource <em>Cx Grid Source</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Cx Grid Source</em>'.
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.CxGridSource
+	 * @generated
+	 */
+	EClass getCxGridSource();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.osbp.infogrid.model.gridsource.CxGridSource#getId <em>Id</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Id</em>'.
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.CxGridSource#getId()
+	 * @see #getCxGridSource()
+	 * @generated
+	 */
+	EAttribute getCxGridSource_Id();
+
+	/**
+	 * Returns the meta object for the attribute list '{@link org.eclipse.osbp.infogrid.model.gridsource.CxGridSource#getTags <em>Tags</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute list '<em>Tags</em>'.
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.CxGridSource#getTags()
+	 * @see #getCxGridSource()
+	 * @generated
+	 */
+	EAttribute getCxGridSource_Tags();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.osbp.infogrid.model.gridsource.CxGridSource#getKind <em>Kind</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Kind</em>'.
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.CxGridSource#getKind()
+	 * @see #getCxGridSource()
+	 * @generated
+	 */
+	EAttribute getCxGridSource_Kind();
+
+	/**
+	 * Returns the meta object for the containment reference '{@link org.eclipse.osbp.infogrid.model.gridsource.CxGridSource#getRootType <em>Root Type</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference '<em>Root Type</em>'.
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.CxGridSource#getRootType()
+	 * @see #getCxGridSource()
+	 * @generated
+	 */
+	EReference getCxGridSource_RootType();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.osbp.infogrid.model.gridsource.CxGridSource#getRootTypeFQN <em>Root Type FQN</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Root Type FQN</em>'.
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.CxGridSource#getRootTypeFQN()
+	 * @see #getCxGridSource()
+	 * @generated
+	 */
+	EAttribute getCxGridSource_RootTypeFQN();
+
+	/**
+	 * Returns the meta object for the containment reference list '{@link org.eclipse.osbp.infogrid.model.gridsource.CxGridSource#getProperties <em>Properties</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference list '<em>Properties</em>'.
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.CxGridSource#getProperties()
+	 * @see #getCxGridSource()
+	 * @generated
+	 */
+	EReference getCxGridSource_Properties();
+
+	/**
+	 * Returns the meta object for the containment reference list '{@link org.eclipse.osbp.infogrid.model.gridsource.CxGridSource#getInputs <em>Inputs</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference list '<em>Inputs</em>'.
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.CxGridSource#getInputs()
+	 * @see #getCxGridSource()
+	 * @generated
+	 */
+	EReference getCxGridSource_Inputs();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.osbp.infogrid.model.gridsource.CxGridSource#getSelectionEventTopic <em>Selection Event Topic</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Selection Event Topic</em>'.
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.CxGridSource#getSelectionEventTopic()
+	 * @see #getCxGridSource()
+	 * @generated
+	 */
+	EAttribute getCxGridSource_SelectionEventTopic();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.osbp.infogrid.model.gridsource.CxGridSourceInput <em>Input</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Input</em>'.
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.CxGridSourceInput
+	 * @generated
+	 */
+	EClass getCxGridSourceInput();
+
+	/**
+	 * Returns the meta object for the containment reference '{@link org.eclipse.osbp.infogrid.model.gridsource.CxGridSourceInput#getInputType <em>Input Type</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference '<em>Input Type</em>'.
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.CxGridSourceInput#getInputType()
+	 * @see #getCxGridSourceInput()
+	 * @generated
+	 */
+	EReference getCxGridSourceInput_InputType();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.osbp.infogrid.model.gridsource.CxGridSourceInput#getInputTypeFQN <em>Input Type FQN</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Input Type FQN</em>'.
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.CxGridSourceInput#getInputTypeFQN()
+	 * @see #getCxGridSourceInput()
+	 * @generated
+	 */
+	EAttribute getCxGridSourceInput_InputTypeFQN();
+
+	/**
+	 * Returns the meta object for the containment reference list '{@link org.eclipse.osbp.infogrid.model.gridsource.CxGridSourceInput#getFilters <em>Filters</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference list '<em>Filters</em>'.
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.CxGridSourceInput#getFilters()
+	 * @see #getCxGridSourceInput()
+	 * @generated
+	 */
+	EReference getCxGridSourceInput_Filters();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.osbp.infogrid.model.gridsource.CxGridProperty <em>Cx Grid Property</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Cx Grid Property</em>'.
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.CxGridProperty
+	 * @generated
+	 */
+	EClass getCxGridProperty();
+
+	/**
+	 * Returns the meta object for the containment reference '{@link org.eclipse.osbp.infogrid.model.gridsource.CxGridProperty#getPath <em>Path</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference '<em>Path</em>'.
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.CxGridProperty#getPath()
+	 * @see #getCxGridProperty()
+	 * @generated
+	 */
+	EReference getCxGridProperty_Path();
+
+	/**
+	 * Returns the meta object for the containment reference '{@link org.eclipse.osbp.infogrid.model.gridsource.CxGridProperty#getStyle <em>Style</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference '<em>Style</em>'.
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.CxGridProperty#getStyle()
+	 * @see #getCxGridProperty()
+	 * @generated
+	 */
+	EReference getCxGridProperty_Style();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.osbp.infogrid.model.gridsource.CxGridProperty#getDotPath <em>Dot Path</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Dot Path</em>'.
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.CxGridProperty#getDotPath()
+	 * @see #getCxGridProperty()
+	 * @generated
+	 */
+	EAttribute getCxGridProperty_DotPath();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.osbp.infogrid.model.gridsource.CxGridProperty#isEditable <em>Editable</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Editable</em>'.
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.CxGridProperty#isEditable()
+	 * @see #getCxGridProperty()
+	 * @generated
+	 */
+	EAttribute getCxGridProperty_Editable();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.osbp.infogrid.model.gridsource.CxGridNestedField <em>Cx Grid Nested Field</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Cx Grid Nested Field</em>'.
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.CxGridNestedField
+	 * @generated
+	 */
+	EClass getCxGridNestedField();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.osbp.infogrid.model.gridsource.CxGridNestedField#getField <em>Field</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Field</em>'.
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.CxGridNestedField#getField()
+	 * @see #getCxGridNestedField()
+	 * @generated
+	 */
+	EReference getCxGridNestedField_Field();
+
+	/**
+	 * Returns the meta object for the containment reference '{@link org.eclipse.osbp.infogrid.model.gridsource.CxGridNestedField#getPath <em>Path</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference '<em>Path</em>'.
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.CxGridNestedField#getPath()
+	 * @see #getCxGridNestedField()
+	 * @generated
+	 */
+	EReference getCxGridNestedField_Path();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.osbp.infogrid.model.gridsource.CxGridNestedField#getDotPath <em>Dot Path</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Dot Path</em>'.
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.CxGridNestedField#getDotPath()
+	 * @see #getCxGridNestedField()
+	 * @generated
+	 */
+	EAttribute getCxGridNestedField_DotPath();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.osbp.infogrid.model.gridsource.CxGridNestedPath <em>Cx Grid Nested Path</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Cx Grid Nested Path</em>'.
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.CxGridNestedPath
+	 * @generated
+	 */
+	EClass getCxGridNestedPath();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.osbp.infogrid.model.gridsource.CxGridNestedPath#getField <em>Field</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Field</em>'.
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.CxGridNestedPath#getField()
+	 * @see #getCxGridNestedPath()
+	 * @generated
+	 */
+	EReference getCxGridNestedPath_Field();
+
+	/**
+	 * Returns the meta object for the containment reference '{@link org.eclipse.osbp.infogrid.model.gridsource.CxGridNestedPath#getPath <em>Path</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference '<em>Path</em>'.
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.CxGridNestedPath#getPath()
+	 * @see #getCxGridNestedPath()
+	 * @generated
+	 */
+	EReference getCxGridNestedPath_Path();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.osbp.infogrid.model.gridsource.CxGridNestedPath#getDotPath <em>Dot Path</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Dot Path</em>'.
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.CxGridNestedPath#getDotPath()
+	 * @see #getCxGridNestedPath()
+	 * @generated
+	 */
+	EAttribute getCxGridNestedPath_DotPath();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.osbp.infogrid.model.gridsource.CxGridSourceEQFilter <em>EQ Filter</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>EQ Filter</em>'.
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.CxGridSourceEQFilter
+	 * @generated
+	 */
+	EClass getCxGridSourceEQFilter();
+
+	/**
+	 * Returns the meta object for the containment reference '{@link org.eclipse.osbp.infogrid.model.gridsource.CxGridSourceEQFilter#getInputTypePropertyPath <em>Input Type Property Path</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference '<em>Input Type Property Path</em>'.
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.CxGridSourceEQFilter#getInputTypePropertyPath()
+	 * @see #getCxGridSourceEQFilter()
+	 * @generated
+	 */
+	EReference getCxGridSourceEQFilter_InputTypePropertyPath();
+
+	/**
+	 * Returns the meta object for the containment reference '{@link org.eclipse.osbp.infogrid.model.gridsource.CxGridSourceEQFilter#getRootTypePropertyPath <em>Root Type Property Path</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference '<em>Root Type Property Path</em>'.
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.CxGridSourceEQFilter#getRootTypePropertyPath()
+	 * @see #getCxGridSourceEQFilter()
+	 * @generated
+	 */
+	EReference getCxGridSourceEQFilter_RootTypePropertyPath();
+
+	/**
+	 * Returns the factory that creates the instances of the model.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the factory that creates the instances of the model.
+	 * @generated
+	 */
+	CxGridSourceFactory getCxGridSourceFactory();
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * Defines literals for the meta objects that represent
+	 * <ul>
+	 *   <li>each class,</li>
+	 *   <li>each feature of each class,</li>
+	 *   <li>each enum,</li>
+	 *   <li>and each data type</li>
+	 * </ul>
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	interface Literals {
+		/**
+		 * The meta object literal for the '{@link org.eclipse.osbp.infogrid.model.gridsource.impl.CxGridSourceImpl <em>Cx Grid Source</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.osbp.infogrid.model.gridsource.impl.CxGridSourceImpl
+		 * @see org.eclipse.osbp.infogrid.model.gridsource.impl.CxGridSourcePackageImpl#getCxGridSource()
+		 * @generated
+		 */
+		EClass CX_GRID_SOURCE = eINSTANCE.getCxGridSource();
+
+		/**
+		 * The meta object literal for the '<em><b>Id</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute CX_GRID_SOURCE__ID = eINSTANCE.getCxGridSource_Id();
+
+		/**
+		 * The meta object literal for the '<em><b>Tags</b></em>' attribute list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute CX_GRID_SOURCE__TAGS = eINSTANCE.getCxGridSource_Tags();
+
+		/**
+		 * The meta object literal for the '<em><b>Kind</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute CX_GRID_SOURCE__KIND = eINSTANCE.getCxGridSource_Kind();
+
+		/**
+		 * The meta object literal for the '<em><b>Root Type</b></em>' containment reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference CX_GRID_SOURCE__ROOT_TYPE = eINSTANCE.getCxGridSource_RootType();
+
+		/**
+		 * The meta object literal for the '<em><b>Root Type FQN</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute CX_GRID_SOURCE__ROOT_TYPE_FQN = eINSTANCE.getCxGridSource_RootTypeFQN();
+
+		/**
+		 * The meta object literal for the '<em><b>Properties</b></em>' containment reference list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference CX_GRID_SOURCE__PROPERTIES = eINSTANCE.getCxGridSource_Properties();
+
+		/**
+		 * The meta object literal for the '<em><b>Inputs</b></em>' containment reference list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference CX_GRID_SOURCE__INPUTS = eINSTANCE.getCxGridSource_Inputs();
+
+		/**
+		 * The meta object literal for the '<em><b>Selection Event Topic</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute CX_GRID_SOURCE__SELECTION_EVENT_TOPIC = eINSTANCE.getCxGridSource_SelectionEventTopic();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.osbp.infogrid.model.gridsource.impl.CxGridSourceInputImpl <em>Input</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.osbp.infogrid.model.gridsource.impl.CxGridSourceInputImpl
+		 * @see org.eclipse.osbp.infogrid.model.gridsource.impl.CxGridSourcePackageImpl#getCxGridSourceInput()
+		 * @generated
+		 */
+		EClass CX_GRID_SOURCE_INPUT = eINSTANCE.getCxGridSourceInput();
+
+		/**
+		 * The meta object literal for the '<em><b>Input Type</b></em>' containment reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference CX_GRID_SOURCE_INPUT__INPUT_TYPE = eINSTANCE.getCxGridSourceInput_InputType();
+
+		/**
+		 * The meta object literal for the '<em><b>Input Type FQN</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute CX_GRID_SOURCE_INPUT__INPUT_TYPE_FQN = eINSTANCE.getCxGridSourceInput_InputTypeFQN();
+
+		/**
+		 * The meta object literal for the '<em><b>Filters</b></em>' containment reference list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference CX_GRID_SOURCE_INPUT__FILTERS = eINSTANCE.getCxGridSourceInput_Filters();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.osbp.infogrid.model.gridsource.impl.CxGridPropertyImpl <em>Cx Grid Property</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.osbp.infogrid.model.gridsource.impl.CxGridPropertyImpl
+		 * @see org.eclipse.osbp.infogrid.model.gridsource.impl.CxGridSourcePackageImpl#getCxGridProperty()
+		 * @generated
+		 */
+		EClass CX_GRID_PROPERTY = eINSTANCE.getCxGridProperty();
+
+		/**
+		 * The meta object literal for the '<em><b>Path</b></em>' containment reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference CX_GRID_PROPERTY__PATH = eINSTANCE.getCxGridProperty_Path();
+
+		/**
+		 * The meta object literal for the '<em><b>Style</b></em>' containment reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference CX_GRID_PROPERTY__STYLE = eINSTANCE.getCxGridProperty_Style();
+
+		/**
+		 * The meta object literal for the '<em><b>Dot Path</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute CX_GRID_PROPERTY__DOT_PATH = eINSTANCE.getCxGridProperty_DotPath();
+
+		/**
+		 * The meta object literal for the '<em><b>Editable</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute CX_GRID_PROPERTY__EDITABLE = eINSTANCE.getCxGridProperty_Editable();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.osbp.infogrid.model.gridsource.impl.CxGridNestedFieldImpl <em>Cx Grid Nested Field</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.osbp.infogrid.model.gridsource.impl.CxGridNestedFieldImpl
+		 * @see org.eclipse.osbp.infogrid.model.gridsource.impl.CxGridSourcePackageImpl#getCxGridNestedField()
+		 * @generated
+		 */
+		EClass CX_GRID_NESTED_FIELD = eINSTANCE.getCxGridNestedField();
+
+		/**
+		 * The meta object literal for the '<em><b>Field</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference CX_GRID_NESTED_FIELD__FIELD = eINSTANCE.getCxGridNestedField_Field();
+
+		/**
+		 * The meta object literal for the '<em><b>Path</b></em>' containment reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference CX_GRID_NESTED_FIELD__PATH = eINSTANCE.getCxGridNestedField_Path();
+
+		/**
+		 * The meta object literal for the '<em><b>Dot Path</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute CX_GRID_NESTED_FIELD__DOT_PATH = eINSTANCE.getCxGridNestedField_DotPath();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.osbp.infogrid.model.gridsource.impl.CxGridNestedPathImpl <em>Cx Grid Nested Path</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.osbp.infogrid.model.gridsource.impl.CxGridNestedPathImpl
+		 * @see org.eclipse.osbp.infogrid.model.gridsource.impl.CxGridSourcePackageImpl#getCxGridNestedPath()
+		 * @generated
+		 */
+		EClass CX_GRID_NESTED_PATH = eINSTANCE.getCxGridNestedPath();
+
+		/**
+		 * The meta object literal for the '<em><b>Field</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference CX_GRID_NESTED_PATH__FIELD = eINSTANCE.getCxGridNestedPath_Field();
+
+		/**
+		 * The meta object literal for the '<em><b>Path</b></em>' containment reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference CX_GRID_NESTED_PATH__PATH = eINSTANCE.getCxGridNestedPath_Path();
+
+		/**
+		 * The meta object literal for the '<em><b>Dot Path</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute CX_GRID_NESTED_PATH__DOT_PATH = eINSTANCE.getCxGridNestedPath_DotPath();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.osbp.infogrid.model.gridsource.impl.CxGridSourceEQFilterImpl <em>EQ Filter</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.osbp.infogrid.model.gridsource.impl.CxGridSourceEQFilterImpl
+		 * @see org.eclipse.osbp.infogrid.model.gridsource.impl.CxGridSourcePackageImpl#getCxGridSourceEQFilter()
+		 * @generated
+		 */
+		EClass CX_GRID_SOURCE_EQ_FILTER = eINSTANCE.getCxGridSourceEQFilter();
+
+		/**
+		 * The meta object literal for the '<em><b>Input Type Property Path</b></em>' containment reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference CX_GRID_SOURCE_EQ_FILTER__INPUT_TYPE_PROPERTY_PATH = eINSTANCE.getCxGridSourceEQFilter_InputTypePropertyPath();
+
+		/**
+		 * The meta object literal for the '<em><b>Root Type Property Path</b></em>' containment reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference CX_GRID_SOURCE_EQ_FILTER__ROOT_TYPE_PROPERTY_PATH = eINSTANCE.getCxGridSourceEQFilter_RootTypePropertyPath();
+
+	}
+
+} //CxGridSourcePackage
diff --git a/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/impl/CxGridNestedFieldImpl.java b/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/impl/CxGridNestedFieldImpl.java
new file mode 100644
index 0000000..edfc31b
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/impl/CxGridNestedFieldImpl.java
@@ -0,0 +1,312 @@
+/**
+ *                                                                            
+ * 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.infogrid.model.gridsource.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+import org.eclipse.xtext.common.types.JvmOperation;
+import org.eclipse.osbp.infogrid.model.gridsource.CxGridNestedField;
+import org.eclipse.osbp.infogrid.model.gridsource.CxGridNestedPath;
+import org.eclipse.osbp.infogrid.model.gridsource.CxGridSourcePackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Cx Grid Nested Field</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.infogrid.model.gridsource.impl.CxGridNestedFieldImpl#getField <em>Field</em>}</li>
+ *   <li>{@link org.eclipse.osbp.infogrid.model.gridsource.impl.CxGridNestedFieldImpl#getPath <em>Path</em>}</li>
+ *   <li>{@link org.eclipse.osbp.infogrid.model.gridsource.impl.CxGridNestedFieldImpl#getDotPath <em>Dot Path</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class CxGridNestedFieldImpl extends MinimalEObjectImpl.Container implements CxGridNestedField {
+	/**
+	 * The cached value of the '{@link #getField() <em>Field</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getField()
+	 * @generated
+	 * @ordered
+	 */
+	protected JvmOperation field;
+
+	/**
+	 * The cached value of the '{@link #getPath() <em>Path</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getPath()
+	 * @generated
+	 * @ordered
+	 */
+	protected CxGridNestedPath path;
+
+	/**
+	 * The default value of the '{@link #getDotPath() <em>Dot Path</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getDotPath()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String DOT_PATH_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getDotPath() <em>Dot Path</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getDotPath()
+	 * @generated
+	 * @ordered
+	 */
+	protected String dotPath = DOT_PATH_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected CxGridNestedFieldImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return CxGridSourcePackage.Literals.CX_GRID_NESTED_FIELD;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public JvmOperation getField() {
+		if (field != null && field.eIsProxy()) {
+			InternalEObject oldField = (InternalEObject)field;
+			field = (JvmOperation)eResolveProxy(oldField);
+			if (field != oldField) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, CxGridSourcePackage.CX_GRID_NESTED_FIELD__FIELD, oldField, field));
+			}
+		}
+		return field;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public JvmOperation basicGetField() {
+		return field;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setField(JvmOperation newField) {
+		JvmOperation oldField = field;
+		field = newField;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, CxGridSourcePackage.CX_GRID_NESTED_FIELD__FIELD, oldField, field));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CxGridNestedPath getPath() {
+		return path;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public NotificationChain basicSetPath(CxGridNestedPath newPath, NotificationChain msgs) {
+		CxGridNestedPath oldPath = path;
+		path = newPath;
+		if (eNotificationRequired()) {
+			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, CxGridSourcePackage.CX_GRID_NESTED_FIELD__PATH, oldPath, newPath);
+			if (msgs == null) msgs = notification; else msgs.add(notification);
+		}
+		return msgs;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setPath(CxGridNestedPath newPath) {
+		if (newPath != path) {
+			NotificationChain msgs = null;
+			if (path != null)
+				msgs = ((InternalEObject)path).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - CxGridSourcePackage.CX_GRID_NESTED_FIELD__PATH, null, msgs);
+			if (newPath != null)
+				msgs = ((InternalEObject)newPath).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - CxGridSourcePackage.CX_GRID_NESTED_FIELD__PATH, null, msgs);
+			msgs = basicSetPath(newPath, msgs);
+			if (msgs != null) msgs.dispatch();
+		}
+		else if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, CxGridSourcePackage.CX_GRID_NESTED_FIELD__PATH, newPath, newPath));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getDotPath() {
+		return dotPath;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setDotPath(String newDotPath) {
+		String oldDotPath = dotPath;
+		dotPath = newDotPath;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, CxGridSourcePackage.CX_GRID_NESTED_FIELD__DOT_PATH, oldDotPath, dotPath));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+		switch (featureID) {
+			case CxGridSourcePackage.CX_GRID_NESTED_FIELD__PATH:
+				return basicSetPath(null, msgs);
+		}
+		return super.eInverseRemove(otherEnd, featureID, msgs);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case CxGridSourcePackage.CX_GRID_NESTED_FIELD__FIELD:
+				if (resolve) return getField();
+				return basicGetField();
+			case CxGridSourcePackage.CX_GRID_NESTED_FIELD__PATH:
+				return getPath();
+			case CxGridSourcePackage.CX_GRID_NESTED_FIELD__DOT_PATH:
+				return getDotPath();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case CxGridSourcePackage.CX_GRID_NESTED_FIELD__FIELD:
+				setField((JvmOperation)newValue);
+				return;
+			case CxGridSourcePackage.CX_GRID_NESTED_FIELD__PATH:
+				setPath((CxGridNestedPath)newValue);
+				return;
+			case CxGridSourcePackage.CX_GRID_NESTED_FIELD__DOT_PATH:
+				setDotPath((String)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case CxGridSourcePackage.CX_GRID_NESTED_FIELD__FIELD:
+				setField((JvmOperation)null);
+				return;
+			case CxGridSourcePackage.CX_GRID_NESTED_FIELD__PATH:
+				setPath((CxGridNestedPath)null);
+				return;
+			case CxGridSourcePackage.CX_GRID_NESTED_FIELD__DOT_PATH:
+				setDotPath(DOT_PATH_EDEFAULT);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case CxGridSourcePackage.CX_GRID_NESTED_FIELD__FIELD:
+				return field != null;
+			case CxGridSourcePackage.CX_GRID_NESTED_FIELD__PATH:
+				return path != null;
+			case CxGridSourcePackage.CX_GRID_NESTED_FIELD__DOT_PATH:
+				return DOT_PATH_EDEFAULT == null ? dotPath != null : !DOT_PATH_EDEFAULT.equals(dotPath);
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (dotPath: ");
+		result.append(dotPath);
+		result.append(')');
+		return result.toString();
+	}
+
+} //CxGridNestedFieldImpl
diff --git a/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/impl/CxGridNestedPathImpl.java b/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/impl/CxGridNestedPathImpl.java
new file mode 100644
index 0000000..f4d16db
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/impl/CxGridNestedPathImpl.java
@@ -0,0 +1,298 @@
+/**
+ *                                                                            
+ * 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.infogrid.model.gridsource.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+import org.eclipse.xtext.common.types.JvmOperation;
+import org.eclipse.osbp.infogrid.model.gridsource.CxGridNestedPath;
+import org.eclipse.osbp.infogrid.model.gridsource.CxGridSourcePackage;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '
+ * <em><b>Cx Grid Nested Path</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.infogrid.model.gridsource.impl.CxGridNestedPathImpl#getField <em>Field</em>}</li>
+ *   <li>{@link org.eclipse.osbp.infogrid.model.gridsource.impl.CxGridNestedPathImpl#getPath <em>Path</em>}</li>
+ *   <li>{@link org.eclipse.osbp.infogrid.model.gridsource.impl.CxGridNestedPathImpl#getDotPath <em>Dot Path</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class CxGridNestedPathImpl extends MinimalEObjectImpl.Container
+		implements CxGridNestedPath {
+	/**
+	 * The cached value of the '{@link #getField() <em>Field</em>}' reference.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * @see #getField()
+	 * @generated
+	 * @ordered
+	 */
+	protected JvmOperation field;
+
+	/**
+	 * The cached value of the '{@link #getPath() <em>Path</em>}' containment reference.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * @see #getPath()
+	 * @generated
+	 * @ordered
+	 */
+	protected CxGridNestedPath path;
+
+	/**
+	 * The default value of the '{@link #getDotPath() <em>Dot Path</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getDotPath()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String DOT_PATH_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getDotPath() <em>Dot Path</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getDotPath()
+	 * @generated
+	 * @ordered
+	 */
+	protected String dotPath = DOT_PATH_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected CxGridNestedPathImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return CxGridSourcePackage.Literals.CX_GRID_NESTED_PATH;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * @generated
+	 */
+	public JvmOperation getField() {
+		if (field != null && field.eIsProxy()) {
+			InternalEObject oldField = (InternalEObject)field;
+			field = (JvmOperation)eResolveProxy(oldField);
+			if (field != oldField) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, CxGridSourcePackage.CX_GRID_NESTED_PATH__FIELD, oldField, field));
+			}
+		}
+		return field;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * @generated
+	 */
+	public JvmOperation basicGetField() {
+		return field;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setField(JvmOperation newField) {
+		JvmOperation oldField = field;
+		field = newField;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, CxGridSourcePackage.CX_GRID_NESTED_PATH__FIELD, oldField, field));
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CxGridNestedPath getPath() {
+		return path;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * @generated
+	 */
+	public NotificationChain basicSetPath(CxGridNestedPath newPath,
+			NotificationChain msgs) {
+		CxGridNestedPath oldPath = path;
+		path = newPath;
+		if (eNotificationRequired()) {
+			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, CxGridSourcePackage.CX_GRID_NESTED_PATH__PATH, oldPath, newPath);
+			if (msgs == null) msgs = notification; else msgs.add(notification);
+		}
+		return msgs;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setPath(CxGridNestedPath newPath) {
+		if (newPath != path) {
+			NotificationChain msgs = null;
+			if (path != null)
+				msgs = ((InternalEObject)path).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - CxGridSourcePackage.CX_GRID_NESTED_PATH__PATH, null, msgs);
+			if (newPath != null)
+				msgs = ((InternalEObject)newPath).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - CxGridSourcePackage.CX_GRID_NESTED_PATH__PATH, null, msgs);
+			msgs = basicSetPath(newPath, msgs);
+			if (msgs != null) msgs.dispatch();
+		}
+		else if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, CxGridSourcePackage.CX_GRID_NESTED_PATH__PATH, newPath, newPath));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getDotPath() {
+		return dotPath;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setDotPath(String newDotPath) {
+		String oldDotPath = dotPath;
+		dotPath = newDotPath;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, CxGridSourcePackage.CX_GRID_NESTED_PATH__DOT_PATH, oldDotPath, dotPath));
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public NotificationChain eInverseRemove(InternalEObject otherEnd,
+			int featureID, NotificationChain msgs) {
+		switch (featureID) {
+			case CxGridSourcePackage.CX_GRID_NESTED_PATH__PATH:
+				return basicSetPath(null, msgs);
+		}
+		return super.eInverseRemove(otherEnd, featureID, msgs);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case CxGridSourcePackage.CX_GRID_NESTED_PATH__FIELD:
+				if (resolve) return getField();
+				return basicGetField();
+			case CxGridSourcePackage.CX_GRID_NESTED_PATH__PATH:
+				return getPath();
+			case CxGridSourcePackage.CX_GRID_NESTED_PATH__DOT_PATH:
+				return getDotPath();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case CxGridSourcePackage.CX_GRID_NESTED_PATH__FIELD:
+				setField((JvmOperation)newValue);
+				return;
+			case CxGridSourcePackage.CX_GRID_NESTED_PATH__PATH:
+				setPath((CxGridNestedPath)newValue);
+				return;
+			case CxGridSourcePackage.CX_GRID_NESTED_PATH__DOT_PATH:
+				setDotPath((String)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case CxGridSourcePackage.CX_GRID_NESTED_PATH__FIELD:
+				setField((JvmOperation)null);
+				return;
+			case CxGridSourcePackage.CX_GRID_NESTED_PATH__PATH:
+				setPath((CxGridNestedPath)null);
+				return;
+			case CxGridSourcePackage.CX_GRID_NESTED_PATH__DOT_PATH:
+				setDotPath(DOT_PATH_EDEFAULT);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case CxGridSourcePackage.CX_GRID_NESTED_PATH__FIELD:
+				return field != null;
+			case CxGridSourcePackage.CX_GRID_NESTED_PATH__PATH:
+				return path != null;
+			case CxGridSourcePackage.CX_GRID_NESTED_PATH__DOT_PATH:
+				return DOT_PATH_EDEFAULT == null ? dotPath != null : !DOT_PATH_EDEFAULT.equals(dotPath);
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (dotPath: ");
+		result.append(dotPath);
+		result.append(')');
+		return result.toString();
+	}
+
+} // CxGridNestedPathImpl
diff --git a/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/impl/CxGridPropertyImpl.java b/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/impl/CxGridPropertyImpl.java
new file mode 100644
index 0000000..e7ee99b
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/impl/CxGridPropertyImpl.java
@@ -0,0 +1,372 @@
+/**
+ *                                                                            
+ * 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.infogrid.model.gridsource.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+import org.eclipse.osbp.infogrid.model.gridsource.CxGridNestedField;
+import org.eclipse.osbp.infogrid.model.gridsource.CxGridProperty;
+import org.eclipse.osbp.infogrid.model.gridsource.CxGridSourcePackage;
+import org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropStyle;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Cx Grid Property</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.infogrid.model.gridsource.impl.CxGridPropertyImpl#getPath <em>Path</em>}</li>
+ *   <li>{@link org.eclipse.osbp.infogrid.model.gridsource.impl.CxGridPropertyImpl#getStyle <em>Style</em>}</li>
+ *   <li>{@link org.eclipse.osbp.infogrid.model.gridsource.impl.CxGridPropertyImpl#getDotPath <em>Dot Path</em>}</li>
+ *   <li>{@link org.eclipse.osbp.infogrid.model.gridsource.impl.CxGridPropertyImpl#isEditable <em>Editable</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class CxGridPropertyImpl extends MinimalEObjectImpl.Container implements CxGridProperty {
+	/**
+	 * The cached value of the '{@link #getPath() <em>Path</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getPath()
+	 * @generated
+	 * @ordered
+	 */
+	protected CxGridNestedField path;
+
+	/**
+	 * The cached value of the '{@link #getStyle() <em>Style</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getStyle()
+	 * @generated
+	 * @ordered
+	 */
+	protected CxGridPropStyle style;
+
+	/**
+	 * The default value of the '{@link #getDotPath() <em>Dot Path</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getDotPath()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String DOT_PATH_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getDotPath() <em>Dot Path</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getDotPath()
+	 * @generated
+	 * @ordered
+	 */
+	protected String dotPath = DOT_PATH_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #isEditable() <em>Editable</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #isEditable()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final boolean EDITABLE_EDEFAULT = false;
+
+	/**
+	 * The cached value of the '{@link #isEditable() <em>Editable</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #isEditable()
+	 * @generated
+	 * @ordered
+	 */
+	protected boolean editable = EDITABLE_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected CxGridPropertyImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return CxGridSourcePackage.Literals.CX_GRID_PROPERTY;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CxGridNestedField getPath() {
+		return path;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public NotificationChain basicSetPath(CxGridNestedField newPath, NotificationChain msgs) {
+		CxGridNestedField oldPath = path;
+		path = newPath;
+		if (eNotificationRequired()) {
+			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, CxGridSourcePackage.CX_GRID_PROPERTY__PATH, oldPath, newPath);
+			if (msgs == null) msgs = notification; else msgs.add(notification);
+		}
+		return msgs;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setPath(CxGridNestedField newPath) {
+		if (newPath != path) {
+			NotificationChain msgs = null;
+			if (path != null)
+				msgs = ((InternalEObject)path).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - CxGridSourcePackage.CX_GRID_PROPERTY__PATH, null, msgs);
+			if (newPath != null)
+				msgs = ((InternalEObject)newPath).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - CxGridSourcePackage.CX_GRID_PROPERTY__PATH, null, msgs);
+			msgs = basicSetPath(newPath, msgs);
+			if (msgs != null) msgs.dispatch();
+		}
+		else if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, CxGridSourcePackage.CX_GRID_PROPERTY__PATH, newPath, newPath));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CxGridPropStyle getStyle() {
+		return style;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public NotificationChain basicSetStyle(CxGridPropStyle newStyle, NotificationChain msgs) {
+		CxGridPropStyle oldStyle = style;
+		style = newStyle;
+		if (eNotificationRequired()) {
+			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, CxGridSourcePackage.CX_GRID_PROPERTY__STYLE, oldStyle, newStyle);
+			if (msgs == null) msgs = notification; else msgs.add(notification);
+		}
+		return msgs;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setStyle(CxGridPropStyle newStyle) {
+		if (newStyle != style) {
+			NotificationChain msgs = null;
+			if (style != null)
+				msgs = ((InternalEObject)style).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - CxGridSourcePackage.CX_GRID_PROPERTY__STYLE, null, msgs);
+			if (newStyle != null)
+				msgs = ((InternalEObject)newStyle).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - CxGridSourcePackage.CX_GRID_PROPERTY__STYLE, null, msgs);
+			msgs = basicSetStyle(newStyle, msgs);
+			if (msgs != null) msgs.dispatch();
+		}
+		else if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, CxGridSourcePackage.CX_GRID_PROPERTY__STYLE, newStyle, newStyle));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getDotPath() {
+		return dotPath;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setDotPath(String newDotPath) {
+		String oldDotPath = dotPath;
+		dotPath = newDotPath;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, CxGridSourcePackage.CX_GRID_PROPERTY__DOT_PATH, oldDotPath, dotPath));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public boolean isEditable() {
+		return editable;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setEditable(boolean newEditable) {
+		boolean oldEditable = editable;
+		editable = newEditable;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, CxGridSourcePackage.CX_GRID_PROPERTY__EDITABLE, oldEditable, editable));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+		switch (featureID) {
+			case CxGridSourcePackage.CX_GRID_PROPERTY__PATH:
+				return basicSetPath(null, msgs);
+			case CxGridSourcePackage.CX_GRID_PROPERTY__STYLE:
+				return basicSetStyle(null, msgs);
+		}
+		return super.eInverseRemove(otherEnd, featureID, msgs);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case CxGridSourcePackage.CX_GRID_PROPERTY__PATH:
+				return getPath();
+			case CxGridSourcePackage.CX_GRID_PROPERTY__STYLE:
+				return getStyle();
+			case CxGridSourcePackage.CX_GRID_PROPERTY__DOT_PATH:
+				return getDotPath();
+			case CxGridSourcePackage.CX_GRID_PROPERTY__EDITABLE:
+				return isEditable();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case CxGridSourcePackage.CX_GRID_PROPERTY__PATH:
+				setPath((CxGridNestedField)newValue);
+				return;
+			case CxGridSourcePackage.CX_GRID_PROPERTY__STYLE:
+				setStyle((CxGridPropStyle)newValue);
+				return;
+			case CxGridSourcePackage.CX_GRID_PROPERTY__DOT_PATH:
+				setDotPath((String)newValue);
+				return;
+			case CxGridSourcePackage.CX_GRID_PROPERTY__EDITABLE:
+				setEditable((Boolean)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case CxGridSourcePackage.CX_GRID_PROPERTY__PATH:
+				setPath((CxGridNestedField)null);
+				return;
+			case CxGridSourcePackage.CX_GRID_PROPERTY__STYLE:
+				setStyle((CxGridPropStyle)null);
+				return;
+			case CxGridSourcePackage.CX_GRID_PROPERTY__DOT_PATH:
+				setDotPath(DOT_PATH_EDEFAULT);
+				return;
+			case CxGridSourcePackage.CX_GRID_PROPERTY__EDITABLE:
+				setEditable(EDITABLE_EDEFAULT);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case CxGridSourcePackage.CX_GRID_PROPERTY__PATH:
+				return path != null;
+			case CxGridSourcePackage.CX_GRID_PROPERTY__STYLE:
+				return style != null;
+			case CxGridSourcePackage.CX_GRID_PROPERTY__DOT_PATH:
+				return DOT_PATH_EDEFAULT == null ? dotPath != null : !DOT_PATH_EDEFAULT.equals(dotPath);
+			case CxGridSourcePackage.CX_GRID_PROPERTY__EDITABLE:
+				return editable != EDITABLE_EDEFAULT;
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (dotPath: ");
+		result.append(dotPath);
+		result.append(", editable: ");
+		result.append(editable);
+		result.append(')');
+		return result.toString();
+	}
+
+} //CxGridPropertyImpl
diff --git a/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/impl/CxGridSourceEQFilterImpl.java b/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/impl/CxGridSourceEQFilterImpl.java
new file mode 100644
index 0000000..0e25dee
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/impl/CxGridSourceEQFilterImpl.java
@@ -0,0 +1,252 @@
+/**
+ *                                                                            
+ * 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.infogrid.model.gridsource.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.osbp.infogrid.model.gridsource.CxGridNestedField;
+import org.eclipse.osbp.infogrid.model.gridsource.CxGridSourceEQFilter;
+import org.eclipse.osbp.infogrid.model.gridsource.CxGridSourcePackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>EQ Filter</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.infogrid.model.gridsource.impl.CxGridSourceEQFilterImpl#getInputTypePropertyPath <em>Input Type Property Path</em>}</li>
+ *   <li>{@link org.eclipse.osbp.infogrid.model.gridsource.impl.CxGridSourceEQFilterImpl#getRootTypePropertyPath <em>Root Type Property Path</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class CxGridSourceEQFilterImpl extends MinimalEObjectImpl.Container implements CxGridSourceEQFilter {
+	/**
+	 * The cached value of the '{@link #getInputTypePropertyPath() <em>Input Type Property Path</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getInputTypePropertyPath()
+	 * @generated
+	 * @ordered
+	 */
+	protected CxGridNestedField inputTypePropertyPath;
+
+	/**
+	 * The cached value of the '{@link #getRootTypePropertyPath() <em>Root Type Property Path</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getRootTypePropertyPath()
+	 * @generated
+	 * @ordered
+	 */
+	protected CxGridNestedField rootTypePropertyPath;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected CxGridSourceEQFilterImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return CxGridSourcePackage.Literals.CX_GRID_SOURCE_EQ_FILTER;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CxGridNestedField getInputTypePropertyPath() {
+		return inputTypePropertyPath;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public NotificationChain basicSetInputTypePropertyPath(CxGridNestedField newInputTypePropertyPath, NotificationChain msgs) {
+		CxGridNestedField oldInputTypePropertyPath = inputTypePropertyPath;
+		inputTypePropertyPath = newInputTypePropertyPath;
+		if (eNotificationRequired()) {
+			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, CxGridSourcePackage.CX_GRID_SOURCE_EQ_FILTER__INPUT_TYPE_PROPERTY_PATH, oldInputTypePropertyPath, newInputTypePropertyPath);
+			if (msgs == null) msgs = notification; else msgs.add(notification);
+		}
+		return msgs;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setInputTypePropertyPath(CxGridNestedField newInputTypePropertyPath) {
+		if (newInputTypePropertyPath != inputTypePropertyPath) {
+			NotificationChain msgs = null;
+			if (inputTypePropertyPath != null)
+				msgs = ((InternalEObject)inputTypePropertyPath).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - CxGridSourcePackage.CX_GRID_SOURCE_EQ_FILTER__INPUT_TYPE_PROPERTY_PATH, null, msgs);
+			if (newInputTypePropertyPath != null)
+				msgs = ((InternalEObject)newInputTypePropertyPath).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - CxGridSourcePackage.CX_GRID_SOURCE_EQ_FILTER__INPUT_TYPE_PROPERTY_PATH, null, msgs);
+			msgs = basicSetInputTypePropertyPath(newInputTypePropertyPath, msgs);
+			if (msgs != null) msgs.dispatch();
+		}
+		else if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, CxGridSourcePackage.CX_GRID_SOURCE_EQ_FILTER__INPUT_TYPE_PROPERTY_PATH, newInputTypePropertyPath, newInputTypePropertyPath));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CxGridNestedField getRootTypePropertyPath() {
+		return rootTypePropertyPath;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public NotificationChain basicSetRootTypePropertyPath(CxGridNestedField newRootTypePropertyPath, NotificationChain msgs) {
+		CxGridNestedField oldRootTypePropertyPath = rootTypePropertyPath;
+		rootTypePropertyPath = newRootTypePropertyPath;
+		if (eNotificationRequired()) {
+			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, CxGridSourcePackage.CX_GRID_SOURCE_EQ_FILTER__ROOT_TYPE_PROPERTY_PATH, oldRootTypePropertyPath, newRootTypePropertyPath);
+			if (msgs == null) msgs = notification; else msgs.add(notification);
+		}
+		return msgs;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setRootTypePropertyPath(CxGridNestedField newRootTypePropertyPath) {
+		if (newRootTypePropertyPath != rootTypePropertyPath) {
+			NotificationChain msgs = null;
+			if (rootTypePropertyPath != null)
+				msgs = ((InternalEObject)rootTypePropertyPath).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - CxGridSourcePackage.CX_GRID_SOURCE_EQ_FILTER__ROOT_TYPE_PROPERTY_PATH, null, msgs);
+			if (newRootTypePropertyPath != null)
+				msgs = ((InternalEObject)newRootTypePropertyPath).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - CxGridSourcePackage.CX_GRID_SOURCE_EQ_FILTER__ROOT_TYPE_PROPERTY_PATH, null, msgs);
+			msgs = basicSetRootTypePropertyPath(newRootTypePropertyPath, msgs);
+			if (msgs != null) msgs.dispatch();
+		}
+		else if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, CxGridSourcePackage.CX_GRID_SOURCE_EQ_FILTER__ROOT_TYPE_PROPERTY_PATH, newRootTypePropertyPath, newRootTypePropertyPath));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+		switch (featureID) {
+			case CxGridSourcePackage.CX_GRID_SOURCE_EQ_FILTER__INPUT_TYPE_PROPERTY_PATH:
+				return basicSetInputTypePropertyPath(null, msgs);
+			case CxGridSourcePackage.CX_GRID_SOURCE_EQ_FILTER__ROOT_TYPE_PROPERTY_PATH:
+				return basicSetRootTypePropertyPath(null, msgs);
+		}
+		return super.eInverseRemove(otherEnd, featureID, msgs);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case CxGridSourcePackage.CX_GRID_SOURCE_EQ_FILTER__INPUT_TYPE_PROPERTY_PATH:
+				return getInputTypePropertyPath();
+			case CxGridSourcePackage.CX_GRID_SOURCE_EQ_FILTER__ROOT_TYPE_PROPERTY_PATH:
+				return getRootTypePropertyPath();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case CxGridSourcePackage.CX_GRID_SOURCE_EQ_FILTER__INPUT_TYPE_PROPERTY_PATH:
+				setInputTypePropertyPath((CxGridNestedField)newValue);
+				return;
+			case CxGridSourcePackage.CX_GRID_SOURCE_EQ_FILTER__ROOT_TYPE_PROPERTY_PATH:
+				setRootTypePropertyPath((CxGridNestedField)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case CxGridSourcePackage.CX_GRID_SOURCE_EQ_FILTER__INPUT_TYPE_PROPERTY_PATH:
+				setInputTypePropertyPath((CxGridNestedField)null);
+				return;
+			case CxGridSourcePackage.CX_GRID_SOURCE_EQ_FILTER__ROOT_TYPE_PROPERTY_PATH:
+				setRootTypePropertyPath((CxGridNestedField)null);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case CxGridSourcePackage.CX_GRID_SOURCE_EQ_FILTER__INPUT_TYPE_PROPERTY_PATH:
+				return inputTypePropertyPath != null;
+			case CxGridSourcePackage.CX_GRID_SOURCE_EQ_FILTER__ROOT_TYPE_PROPERTY_PATH:
+				return rootTypePropertyPath != null;
+		}
+		return super.eIsSet(featureID);
+	}
+
+} //CxGridSourceEQFilterImpl
diff --git a/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/impl/CxGridSourceFactoryImpl.java b/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/impl/CxGridSourceFactoryImpl.java
new file mode 100644
index 0000000..4e19b26
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/impl/CxGridSourceFactoryImpl.java
@@ -0,0 +1,160 @@
+/**
+ *                                                                            
+ * 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.infogrid.model.gridsource.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.impl.EFactoryImpl;
+
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+import org.eclipse.osbp.infogrid.model.gridsource.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class CxGridSourceFactoryImpl extends EFactoryImpl implements CxGridSourceFactory {
+	/**
+	 * Creates the default factory implementation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static CxGridSourceFactory init() {
+		try {
+			CxGridSourceFactory theCxGridSourceFactory = (CxGridSourceFactory)EPackage.Registry.INSTANCE.getEFactory(CxGridSourcePackage.eNS_URI);
+			if (theCxGridSourceFactory != null) {
+				return theCxGridSourceFactory;
+			}
+		}
+		catch (Exception exception) {
+			EcorePlugin.INSTANCE.log(exception);
+		}
+		return new CxGridSourceFactoryImpl();
+	}
+
+	/**
+	 * Creates an instance of the factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CxGridSourceFactoryImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EObject create(EClass eClass) {
+		switch (eClass.getClassifierID()) {
+			case CxGridSourcePackage.CX_GRID_SOURCE: return createCxGridSource();
+			case CxGridSourcePackage.CX_GRID_SOURCE_INPUT: return createCxGridSourceInput();
+			case CxGridSourcePackage.CX_GRID_PROPERTY: return createCxGridProperty();
+			case CxGridSourcePackage.CX_GRID_NESTED_FIELD: return createCxGridNestedField();
+			case CxGridSourcePackage.CX_GRID_NESTED_PATH: return createCxGridNestedPath();
+			case CxGridSourcePackage.CX_GRID_SOURCE_EQ_FILTER: return createCxGridSourceEQFilter();
+			default:
+				throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CxGridSource createCxGridSource() {
+		CxGridSourceImpl cxGridSource = new CxGridSourceImpl();
+		return cxGridSource;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CxGridSourceInput createCxGridSourceInput() {
+		CxGridSourceInputImpl cxGridSourceInput = new CxGridSourceInputImpl();
+		return cxGridSourceInput;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CxGridProperty createCxGridProperty() {
+		CxGridPropertyImpl cxGridProperty = new CxGridPropertyImpl();
+		return cxGridProperty;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CxGridNestedField createCxGridNestedField() {
+		CxGridNestedFieldImpl cxGridNestedField = new CxGridNestedFieldImpl();
+		return cxGridNestedField;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CxGridNestedPath createCxGridNestedPath() {
+		CxGridNestedPathImpl cxGridNestedPath = new CxGridNestedPathImpl();
+		return cxGridNestedPath;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CxGridSourceEQFilter createCxGridSourceEQFilter() {
+		CxGridSourceEQFilterImpl cxGridSourceEQFilter = new CxGridSourceEQFilterImpl();
+		return cxGridSourceEQFilter;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CxGridSourcePackage getCxGridSourcePackage() {
+		return (CxGridSourcePackage)getEPackage();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @deprecated
+	 * @generated
+	 */
+	@Deprecated
+	public static CxGridSourcePackage getPackage() {
+		return CxGridSourcePackage.eINSTANCE;
+	}
+
+} //CxGridSourceFactoryImpl
diff --git a/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/impl/CxGridSourceImpl.java b/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/impl/CxGridSourceImpl.java
new file mode 100644
index 0000000..3d29782
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/impl/CxGridSourceImpl.java
@@ -0,0 +1,529 @@
+/**
+ *                                                                            
+ * 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.infogrid.model.gridsource.impl;
+
+import java.util.Collection;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+import org.eclipse.emf.ecore.util.EDataTypeUniqueEList;
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.xtext.common.types.JvmTypeReference;
+import org.eclipse.osbp.infogrid.model.gridsource.CxGridProperty;
+import org.eclipse.osbp.infogrid.model.gridsource.CxGridSource;
+import org.eclipse.osbp.infogrid.model.gridsource.CxGridSourceInput;
+import org.eclipse.osbp.infogrid.model.gridsource.CxGridSourcePackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Cx Grid Source</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.infogrid.model.gridsource.impl.CxGridSourceImpl#getId <em>Id</em>}</li>
+ *   <li>{@link org.eclipse.osbp.infogrid.model.gridsource.impl.CxGridSourceImpl#getTags <em>Tags</em>}</li>
+ *   <li>{@link org.eclipse.osbp.infogrid.model.gridsource.impl.CxGridSourceImpl#getKind <em>Kind</em>}</li>
+ *   <li>{@link org.eclipse.osbp.infogrid.model.gridsource.impl.CxGridSourceImpl#getRootType <em>Root Type</em>}</li>
+ *   <li>{@link org.eclipse.osbp.infogrid.model.gridsource.impl.CxGridSourceImpl#getRootTypeFQN <em>Root Type FQN</em>}</li>
+ *   <li>{@link org.eclipse.osbp.infogrid.model.gridsource.impl.CxGridSourceImpl#getProperties <em>Properties</em>}</li>
+ *   <li>{@link org.eclipse.osbp.infogrid.model.gridsource.impl.CxGridSourceImpl#getInputs <em>Inputs</em>}</li>
+ *   <li>{@link org.eclipse.osbp.infogrid.model.gridsource.impl.CxGridSourceImpl#getSelectionEventTopic <em>Selection Event Topic</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class CxGridSourceImpl extends MinimalEObjectImpl.Container implements CxGridSource {
+	/**
+	 * The default value of the '{@link #getId() <em>Id</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getId()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String ID_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getId() <em>Id</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getId()
+	 * @generated
+	 * @ordered
+	 */
+	protected String id = ID_EDEFAULT;
+
+	/**
+	 * The cached value of the '{@link #getTags() <em>Tags</em>}' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getTags()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<String> tags;
+
+	/**
+	 * The default value of the '{@link #getKind() <em>Kind</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getKind()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String KIND_EDEFAULT = "ecview";
+
+	/**
+	 * The cached value of the '{@link #getKind() <em>Kind</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getKind()
+	 * @generated
+	 * @ordered
+	 */
+	protected String kind = KIND_EDEFAULT;
+
+	/**
+	 * The cached value of the '{@link #getRootType() <em>Root Type</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getRootType()
+	 * @generated
+	 * @ordered
+	 */
+	protected JvmTypeReference rootType;
+
+	/**
+	 * The default value of the '{@link #getRootTypeFQN() <em>Root Type FQN</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getRootTypeFQN()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String ROOT_TYPE_FQN_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getRootTypeFQN() <em>Root Type FQN</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getRootTypeFQN()
+	 * @generated
+	 * @ordered
+	 */
+	protected String rootTypeFQN = ROOT_TYPE_FQN_EDEFAULT;
+
+	/**
+	 * The cached value of the '{@link #getProperties() <em>Properties</em>}' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getProperties()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<CxGridProperty> properties;
+
+	/**
+	 * The cached value of the '{@link #getInputs() <em>Inputs</em>}' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getInputs()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<CxGridSourceInput> inputs;
+
+	/**
+	 * The default value of the '{@link #getSelectionEventTopic() <em>Selection Event Topic</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getSelectionEventTopic()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String SELECTION_EVENT_TOPIC_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getSelectionEventTopic() <em>Selection Event Topic</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getSelectionEventTopic()
+	 * @generated
+	 * @ordered
+	 */
+	protected String selectionEventTopic = SELECTION_EVENT_TOPIC_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected CxGridSourceImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return CxGridSourcePackage.Literals.CX_GRID_SOURCE;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getId() {
+		return id;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setId(String newId) {
+		String oldId = id;
+		id = newId;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, CxGridSourcePackage.CX_GRID_SOURCE__ID, oldId, id));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList<String> getTags() {
+		if (tags == null) {
+			tags = new EDataTypeUniqueEList<String>(String.class, this, CxGridSourcePackage.CX_GRID_SOURCE__TAGS);
+		}
+		return tags;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getKind() {
+		return kind;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setKind(String newKind) {
+		String oldKind = kind;
+		kind = newKind;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, CxGridSourcePackage.CX_GRID_SOURCE__KIND, oldKind, kind));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public JvmTypeReference getRootType() {
+		return rootType;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public NotificationChain basicSetRootType(JvmTypeReference newRootType, NotificationChain msgs) {
+		JvmTypeReference oldRootType = rootType;
+		rootType = newRootType;
+		if (eNotificationRequired()) {
+			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, CxGridSourcePackage.CX_GRID_SOURCE__ROOT_TYPE, oldRootType, newRootType);
+			if (msgs == null) msgs = notification; else msgs.add(notification);
+		}
+		return msgs;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setRootType(JvmTypeReference newRootType) {
+		if (newRootType != rootType) {
+			NotificationChain msgs = null;
+			if (rootType != null)
+				msgs = ((InternalEObject)rootType).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - CxGridSourcePackage.CX_GRID_SOURCE__ROOT_TYPE, null, msgs);
+			if (newRootType != null)
+				msgs = ((InternalEObject)newRootType).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - CxGridSourcePackage.CX_GRID_SOURCE__ROOT_TYPE, null, msgs);
+			msgs = basicSetRootType(newRootType, msgs);
+			if (msgs != null) msgs.dispatch();
+		}
+		else if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, CxGridSourcePackage.CX_GRID_SOURCE__ROOT_TYPE, newRootType, newRootType));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getRootTypeFQN() {
+		return rootTypeFQN;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setRootTypeFQN(String newRootTypeFQN) {
+		String oldRootTypeFQN = rootTypeFQN;
+		rootTypeFQN = newRootTypeFQN;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, CxGridSourcePackage.CX_GRID_SOURCE__ROOT_TYPE_FQN, oldRootTypeFQN, rootTypeFQN));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList<CxGridProperty> getProperties() {
+		if (properties == null) {
+			properties = new EObjectContainmentEList<CxGridProperty>(CxGridProperty.class, this, CxGridSourcePackage.CX_GRID_SOURCE__PROPERTIES);
+		}
+		return properties;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList<CxGridSourceInput> getInputs() {
+		if (inputs == null) {
+			inputs = new EObjectContainmentEList<CxGridSourceInput>(CxGridSourceInput.class, this, CxGridSourcePackage.CX_GRID_SOURCE__INPUTS);
+		}
+		return inputs;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getSelectionEventTopic() {
+		return selectionEventTopic;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setSelectionEventTopic(String newSelectionEventTopic) {
+		String oldSelectionEventTopic = selectionEventTopic;
+		selectionEventTopic = newSelectionEventTopic;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, CxGridSourcePackage.CX_GRID_SOURCE__SELECTION_EVENT_TOPIC, oldSelectionEventTopic, selectionEventTopic));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+		switch (featureID) {
+			case CxGridSourcePackage.CX_GRID_SOURCE__ROOT_TYPE:
+				return basicSetRootType(null, msgs);
+			case CxGridSourcePackage.CX_GRID_SOURCE__PROPERTIES:
+				return ((InternalEList<?>)getProperties()).basicRemove(otherEnd, msgs);
+			case CxGridSourcePackage.CX_GRID_SOURCE__INPUTS:
+				return ((InternalEList<?>)getInputs()).basicRemove(otherEnd, msgs);
+		}
+		return super.eInverseRemove(otherEnd, featureID, msgs);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case CxGridSourcePackage.CX_GRID_SOURCE__ID:
+				return getId();
+			case CxGridSourcePackage.CX_GRID_SOURCE__TAGS:
+				return getTags();
+			case CxGridSourcePackage.CX_GRID_SOURCE__KIND:
+				return getKind();
+			case CxGridSourcePackage.CX_GRID_SOURCE__ROOT_TYPE:
+				return getRootType();
+			case CxGridSourcePackage.CX_GRID_SOURCE__ROOT_TYPE_FQN:
+				return getRootTypeFQN();
+			case CxGridSourcePackage.CX_GRID_SOURCE__PROPERTIES:
+				return getProperties();
+			case CxGridSourcePackage.CX_GRID_SOURCE__INPUTS:
+				return getInputs();
+			case CxGridSourcePackage.CX_GRID_SOURCE__SELECTION_EVENT_TOPIC:
+				return getSelectionEventTopic();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@SuppressWarnings("unchecked")
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case CxGridSourcePackage.CX_GRID_SOURCE__ID:
+				setId((String)newValue);
+				return;
+			case CxGridSourcePackage.CX_GRID_SOURCE__TAGS:
+				getTags().clear();
+				getTags().addAll((Collection<? extends String>)newValue);
+				return;
+			case CxGridSourcePackage.CX_GRID_SOURCE__KIND:
+				setKind((String)newValue);
+				return;
+			case CxGridSourcePackage.CX_GRID_SOURCE__ROOT_TYPE:
+				setRootType((JvmTypeReference)newValue);
+				return;
+			case CxGridSourcePackage.CX_GRID_SOURCE__ROOT_TYPE_FQN:
+				setRootTypeFQN((String)newValue);
+				return;
+			case CxGridSourcePackage.CX_GRID_SOURCE__PROPERTIES:
+				getProperties().clear();
+				getProperties().addAll((Collection<? extends CxGridProperty>)newValue);
+				return;
+			case CxGridSourcePackage.CX_GRID_SOURCE__INPUTS:
+				getInputs().clear();
+				getInputs().addAll((Collection<? extends CxGridSourceInput>)newValue);
+				return;
+			case CxGridSourcePackage.CX_GRID_SOURCE__SELECTION_EVENT_TOPIC:
+				setSelectionEventTopic((String)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case CxGridSourcePackage.CX_GRID_SOURCE__ID:
+				setId(ID_EDEFAULT);
+				return;
+			case CxGridSourcePackage.CX_GRID_SOURCE__TAGS:
+				getTags().clear();
+				return;
+			case CxGridSourcePackage.CX_GRID_SOURCE__KIND:
+				setKind(KIND_EDEFAULT);
+				return;
+			case CxGridSourcePackage.CX_GRID_SOURCE__ROOT_TYPE:
+				setRootType((JvmTypeReference)null);
+				return;
+			case CxGridSourcePackage.CX_GRID_SOURCE__ROOT_TYPE_FQN:
+				setRootTypeFQN(ROOT_TYPE_FQN_EDEFAULT);
+				return;
+			case CxGridSourcePackage.CX_GRID_SOURCE__PROPERTIES:
+				getProperties().clear();
+				return;
+			case CxGridSourcePackage.CX_GRID_SOURCE__INPUTS:
+				getInputs().clear();
+				return;
+			case CxGridSourcePackage.CX_GRID_SOURCE__SELECTION_EVENT_TOPIC:
+				setSelectionEventTopic(SELECTION_EVENT_TOPIC_EDEFAULT);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case CxGridSourcePackage.CX_GRID_SOURCE__ID:
+				return ID_EDEFAULT == null ? id != null : !ID_EDEFAULT.equals(id);
+			case CxGridSourcePackage.CX_GRID_SOURCE__TAGS:
+				return tags != null && !tags.isEmpty();
+			case CxGridSourcePackage.CX_GRID_SOURCE__KIND:
+				return KIND_EDEFAULT == null ? kind != null : !KIND_EDEFAULT.equals(kind);
+			case CxGridSourcePackage.CX_GRID_SOURCE__ROOT_TYPE:
+				return rootType != null;
+			case CxGridSourcePackage.CX_GRID_SOURCE__ROOT_TYPE_FQN:
+				return ROOT_TYPE_FQN_EDEFAULT == null ? rootTypeFQN != null : !ROOT_TYPE_FQN_EDEFAULT.equals(rootTypeFQN);
+			case CxGridSourcePackage.CX_GRID_SOURCE__PROPERTIES:
+				return properties != null && !properties.isEmpty();
+			case CxGridSourcePackage.CX_GRID_SOURCE__INPUTS:
+				return inputs != null && !inputs.isEmpty();
+			case CxGridSourcePackage.CX_GRID_SOURCE__SELECTION_EVENT_TOPIC:
+				return SELECTION_EVENT_TOPIC_EDEFAULT == null ? selectionEventTopic != null : !SELECTION_EVENT_TOPIC_EDEFAULT.equals(selectionEventTopic);
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (id: ");
+		result.append(id);
+		result.append(", tags: ");
+		result.append(tags);
+		result.append(", kind: ");
+		result.append(kind);
+		result.append(", rootTypeFQN: ");
+		result.append(rootTypeFQN);
+		result.append(", selectionEventTopic: ");
+		result.append(selectionEventTopic);
+		result.append(')');
+		return result.toString();
+	}
+
+} //CxGridSourceImpl
diff --git a/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/impl/CxGridSourceInputImpl.java b/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/impl/CxGridSourceInputImpl.java
new file mode 100644
index 0000000..d6117aa
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/impl/CxGridSourceInputImpl.java
@@ -0,0 +1,300 @@
+/**
+ *                                                                            
+ * 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.infogrid.model.gridsource.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.xtext.common.types.JvmTypeReference;
+
+import org.eclipse.osbp.infogrid.model.gridsource.CxGridSourceEQFilter;
+import org.eclipse.osbp.infogrid.model.gridsource.CxGridSourceInput;
+import org.eclipse.osbp.infogrid.model.gridsource.CxGridSourcePackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Input</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.infogrid.model.gridsource.impl.CxGridSourceInputImpl#getInputType <em>Input Type</em>}</li>
+ *   <li>{@link org.eclipse.osbp.infogrid.model.gridsource.impl.CxGridSourceInputImpl#getInputTypeFQN <em>Input Type FQN</em>}</li>
+ *   <li>{@link org.eclipse.osbp.infogrid.model.gridsource.impl.CxGridSourceInputImpl#getFilters <em>Filters</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class CxGridSourceInputImpl extends MinimalEObjectImpl.Container implements CxGridSourceInput {
+	/**
+	 * The cached value of the '{@link #getInputType() <em>Input Type</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getInputType()
+	 * @generated
+	 * @ordered
+	 */
+	protected JvmTypeReference inputType;
+
+	/**
+	 * The default value of the '{@link #getInputTypeFQN() <em>Input Type FQN</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getInputTypeFQN()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String INPUT_TYPE_FQN_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getInputTypeFQN() <em>Input Type FQN</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getInputTypeFQN()
+	 * @generated
+	 * @ordered
+	 */
+	protected String inputTypeFQN = INPUT_TYPE_FQN_EDEFAULT;
+
+	/**
+	 * The cached value of the '{@link #getFilters() <em>Filters</em>}' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getFilters()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<CxGridSourceEQFilter> filters;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected CxGridSourceInputImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return CxGridSourcePackage.Literals.CX_GRID_SOURCE_INPUT;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public JvmTypeReference getInputType() {
+		return inputType;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public NotificationChain basicSetInputType(JvmTypeReference newInputType, NotificationChain msgs) {
+		JvmTypeReference oldInputType = inputType;
+		inputType = newInputType;
+		if (eNotificationRequired()) {
+			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, CxGridSourcePackage.CX_GRID_SOURCE_INPUT__INPUT_TYPE, oldInputType, newInputType);
+			if (msgs == null) msgs = notification; else msgs.add(notification);
+		}
+		return msgs;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setInputType(JvmTypeReference newInputType) {
+		if (newInputType != inputType) {
+			NotificationChain msgs = null;
+			if (inputType != null)
+				msgs = ((InternalEObject)inputType).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - CxGridSourcePackage.CX_GRID_SOURCE_INPUT__INPUT_TYPE, null, msgs);
+			if (newInputType != null)
+				msgs = ((InternalEObject)newInputType).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - CxGridSourcePackage.CX_GRID_SOURCE_INPUT__INPUT_TYPE, null, msgs);
+			msgs = basicSetInputType(newInputType, msgs);
+			if (msgs != null) msgs.dispatch();
+		}
+		else if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, CxGridSourcePackage.CX_GRID_SOURCE_INPUT__INPUT_TYPE, newInputType, newInputType));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getInputTypeFQN() {
+		return inputTypeFQN;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setInputTypeFQN(String newInputTypeFQN) {
+		String oldInputTypeFQN = inputTypeFQN;
+		inputTypeFQN = newInputTypeFQN;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, CxGridSourcePackage.CX_GRID_SOURCE_INPUT__INPUT_TYPE_FQN, oldInputTypeFQN, inputTypeFQN));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList<CxGridSourceEQFilter> getFilters() {
+		if (filters == null) {
+			filters = new EObjectContainmentEList<CxGridSourceEQFilter>(CxGridSourceEQFilter.class, this, CxGridSourcePackage.CX_GRID_SOURCE_INPUT__FILTERS);
+		}
+		return filters;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+		switch (featureID) {
+			case CxGridSourcePackage.CX_GRID_SOURCE_INPUT__INPUT_TYPE:
+				return basicSetInputType(null, msgs);
+			case CxGridSourcePackage.CX_GRID_SOURCE_INPUT__FILTERS:
+				return ((InternalEList<?>)getFilters()).basicRemove(otherEnd, msgs);
+		}
+		return super.eInverseRemove(otherEnd, featureID, msgs);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case CxGridSourcePackage.CX_GRID_SOURCE_INPUT__INPUT_TYPE:
+				return getInputType();
+			case CxGridSourcePackage.CX_GRID_SOURCE_INPUT__INPUT_TYPE_FQN:
+				return getInputTypeFQN();
+			case CxGridSourcePackage.CX_GRID_SOURCE_INPUT__FILTERS:
+				return getFilters();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@SuppressWarnings("unchecked")
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case CxGridSourcePackage.CX_GRID_SOURCE_INPUT__INPUT_TYPE:
+				setInputType((JvmTypeReference)newValue);
+				return;
+			case CxGridSourcePackage.CX_GRID_SOURCE_INPUT__INPUT_TYPE_FQN:
+				setInputTypeFQN((String)newValue);
+				return;
+			case CxGridSourcePackage.CX_GRID_SOURCE_INPUT__FILTERS:
+				getFilters().clear();
+				getFilters().addAll((Collection<? extends CxGridSourceEQFilter>)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case CxGridSourcePackage.CX_GRID_SOURCE_INPUT__INPUT_TYPE:
+				setInputType((JvmTypeReference)null);
+				return;
+			case CxGridSourcePackage.CX_GRID_SOURCE_INPUT__INPUT_TYPE_FQN:
+				setInputTypeFQN(INPUT_TYPE_FQN_EDEFAULT);
+				return;
+			case CxGridSourcePackage.CX_GRID_SOURCE_INPUT__FILTERS:
+				getFilters().clear();
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case CxGridSourcePackage.CX_GRID_SOURCE_INPUT__INPUT_TYPE:
+				return inputType != null;
+			case CxGridSourcePackage.CX_GRID_SOURCE_INPUT__INPUT_TYPE_FQN:
+				return INPUT_TYPE_FQN_EDEFAULT == null ? inputTypeFQN != null : !INPUT_TYPE_FQN_EDEFAULT.equals(inputTypeFQN);
+			case CxGridSourcePackage.CX_GRID_SOURCE_INPUT__FILTERS:
+				return filters != null && !filters.isEmpty();
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (inputTypeFQN: ");
+		result.append(inputTypeFQN);
+		result.append(')');
+		return result.toString();
+	}
+
+} //CxGridSourceInputImpl
diff --git a/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/impl/CxGridSourcePackageImpl.java b/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/impl/CxGridSourcePackageImpl.java
new file mode 100644
index 0000000..98ade1d
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/impl/CxGridSourcePackageImpl.java
@@ -0,0 +1,509 @@
+/**
+ *                                                                            
+ * 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.infogrid.model.gridsource.impl;
+
+import java.io.IOException;
+import java.net.URL;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.common.util.WrappedException;
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EClassifier;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.xmi.impl.EcoreResourceFactoryImpl;
+import org.eclipse.xtext.common.types.TypesPackage;
+import org.eclipse.osbp.infogrid.model.gridsource.CxGridSourceFactory;
+import org.eclipse.osbp.infogrid.model.gridsource.CxGridSourcePackage;
+import org.eclipse.osbp.infogrid.model.gridsource.style.CxGridStylePackage;
+import org.eclipse.osbp.infogrid.model.gridsource.style.impl.CxGridStylePackageImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class CxGridSourcePackageImpl extends EPackageImpl implements CxGridSourcePackage {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected String packageFilename = "gridsource.ecore";
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass cxGridSourceEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass cxGridSourceInputEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass cxGridPropertyEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass cxGridNestedFieldEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass cxGridNestedPathEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass cxGridSourceEQFilterEClass = null;
+
+	/**
+	 * Creates an instance of the model <b>Package</b>, registered with
+	 * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
+	 * package URI value.
+	 * <p>Note: the correct way to create the package is via the static
+	 * factory method {@link #init init()}, which also performs
+	 * initialization of the package, or returns the registered package,
+	 * if one already exists.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.emf.ecore.EPackage.Registry
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.CxGridSourcePackage#eNS_URI
+	 * @see #init()
+	 * @generated
+	 */
+	private CxGridSourcePackageImpl() {
+		super(eNS_URI, CxGridSourceFactory.eINSTANCE);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private static boolean isInited = false;
+
+	/**
+	 * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
+	 * 
+	 * <p>This method is used to initialize {@link CxGridSourcePackage#eINSTANCE} when that field is accessed.
+	 * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #eNS_URI
+	 * @generated
+	 */
+	public static CxGridSourcePackage init() {
+		if (isInited) return (CxGridSourcePackage)EPackage.Registry.INSTANCE.getEPackage(CxGridSourcePackage.eNS_URI);
+
+		// Obtain or create and register package
+		CxGridSourcePackageImpl theCxGridSourcePackage = (CxGridSourcePackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof CxGridSourcePackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new CxGridSourcePackageImpl());
+
+		isInited = true;
+
+		// Initialize simple dependencies
+		TypesPackage.eINSTANCE.eClass();
+
+		// Obtain or create and register interdependencies
+		CxGridStylePackageImpl theCxGridStylePackage = (CxGridStylePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(CxGridStylePackage.eNS_URI) instanceof CxGridStylePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(CxGridStylePackage.eNS_URI) : CxGridStylePackage.eINSTANCE);
+
+		// Load packages
+		theCxGridSourcePackage.loadPackage();
+
+		// Fix loaded packages
+		theCxGridSourcePackage.fixPackageContents();
+		theCxGridStylePackage.fixPackageContents();
+
+		// Mark meta-data to indicate it can't be changed
+		theCxGridSourcePackage.freeze();
+
+  
+		// Update the registry and return the package
+		EPackage.Registry.INSTANCE.put(CxGridSourcePackage.eNS_URI, theCxGridSourcePackage);
+		return theCxGridSourcePackage;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getCxGridSource() {
+		if (cxGridSourceEClass == null) {
+			cxGridSourceEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(CxGridSourcePackage.eNS_URI).getEClassifiers().get(0);
+		}
+		return cxGridSourceEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getCxGridSource_Id() {
+        return (EAttribute)getCxGridSource().getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getCxGridSource_Tags() {
+        return (EAttribute)getCxGridSource().getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getCxGridSource_Kind() {
+        return (EAttribute)getCxGridSource().getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getCxGridSource_RootType() {
+        return (EReference)getCxGridSource().getEStructuralFeatures().get(3);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getCxGridSource_RootTypeFQN() {
+        return (EAttribute)getCxGridSource().getEStructuralFeatures().get(4);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getCxGridSource_Properties() {
+        return (EReference)getCxGridSource().getEStructuralFeatures().get(5);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getCxGridSource_Inputs() {
+        return (EReference)getCxGridSource().getEStructuralFeatures().get(6);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getCxGridSource_SelectionEventTopic() {
+        return (EAttribute)getCxGridSource().getEStructuralFeatures().get(7);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getCxGridSourceInput() {
+		if (cxGridSourceInputEClass == null) {
+			cxGridSourceInputEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(CxGridSourcePackage.eNS_URI).getEClassifiers().get(1);
+		}
+		return cxGridSourceInputEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getCxGridSourceInput_InputType() {
+        return (EReference)getCxGridSourceInput().getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getCxGridSourceInput_InputTypeFQN() {
+        return (EAttribute)getCxGridSourceInput().getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getCxGridSourceInput_Filters() {
+        return (EReference)getCxGridSourceInput().getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getCxGridProperty() {
+		if (cxGridPropertyEClass == null) {
+			cxGridPropertyEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(CxGridSourcePackage.eNS_URI).getEClassifiers().get(2);
+		}
+		return cxGridPropertyEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getCxGridProperty_Path() {
+        return (EReference)getCxGridProperty().getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getCxGridProperty_Style() {
+        return (EReference)getCxGridProperty().getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getCxGridProperty_DotPath() {
+        return (EAttribute)getCxGridProperty().getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getCxGridProperty_Editable() {
+        return (EAttribute)getCxGridProperty().getEStructuralFeatures().get(3);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getCxGridNestedField() {
+		if (cxGridNestedFieldEClass == null) {
+			cxGridNestedFieldEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(CxGridSourcePackage.eNS_URI).getEClassifiers().get(3);
+		}
+		return cxGridNestedFieldEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getCxGridNestedField_Field() {
+        return (EReference)getCxGridNestedField().getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getCxGridNestedField_Path() {
+        return (EReference)getCxGridNestedField().getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getCxGridNestedField_DotPath() {
+        return (EAttribute)getCxGridNestedField().getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getCxGridNestedPath() {
+		if (cxGridNestedPathEClass == null) {
+			cxGridNestedPathEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(CxGridSourcePackage.eNS_URI).getEClassifiers().get(4);
+		}
+		return cxGridNestedPathEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getCxGridNestedPath_Field() {
+        return (EReference)getCxGridNestedPath().getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getCxGridNestedPath_Path() {
+        return (EReference)getCxGridNestedPath().getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getCxGridNestedPath_DotPath() {
+        return (EAttribute)getCxGridNestedPath().getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getCxGridSourceEQFilter() {
+		if (cxGridSourceEQFilterEClass == null) {
+			cxGridSourceEQFilterEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(CxGridSourcePackage.eNS_URI).getEClassifiers().get(5);
+		}
+		return cxGridSourceEQFilterEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getCxGridSourceEQFilter_InputTypePropertyPath() {
+        return (EReference)getCxGridSourceEQFilter().getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getCxGridSourceEQFilter_RootTypePropertyPath() {
+        return (EReference)getCxGridSourceEQFilter().getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CxGridSourceFactory getCxGridSourceFactory() {
+		return (CxGridSourceFactory)getEFactoryInstance();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private boolean isLoaded = false;
+
+	/**
+	 * Laods the package and any sub-packages from their serialized form.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void loadPackage() {
+		if (isLoaded) return;
+		isLoaded = true;
+
+		URL url = getClass().getResource(packageFilename);
+		if (url == null) {
+			throw new RuntimeException("Missing serialized package: " + packageFilename);
+		}
+		URI uri = URI.createURI(url.toString());
+		Resource resource = new EcoreResourceFactoryImpl().createResource(uri);
+		try {
+			resource.load(null);
+		}
+		catch (IOException exception) {
+			throw new WrappedException(exception);
+		}
+		initializeFromLoadedEPackage(this, (EPackage)resource.getContents().get(0));
+		createResource(eNS_URI);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private boolean isFixed = false;
+
+	/**
+	 * Fixes up the loaded package, to make it appear as if it had been programmatically built.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void fixPackageContents() {
+		if (isFixed) return;
+		isFixed = true;
+		fixEClassifiers();
+	}
+
+	/**
+	 * Sets the instance class on the given classifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void fixInstanceClass(EClassifier eClassifier) {
+		if (eClassifier.getInstanceClassName() == null) {
+			eClassifier.setInstanceClassName("org.eclipse.osbp.infogrid.model.gridsource." + eClassifier.getName());
+			setGeneratedClassName(eClassifier);
+		}
+	}
+
+} //CxGridSourcePackageImpl
diff --git a/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/impl/gridsource.ecore b/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/impl/gridsource.ecore
new file mode 100644
index 0000000..40c0c63
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/impl/gridsource.ecore
@@ -0,0 +1,131 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="gridsource" nsURI="http://osbp.eclipse.org/gridsource/v1/core"
+    nsPrefix="gridsource">
+  <eClassifiers xsi:type="ecore:EClass" name="CxGridSource">
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="id" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="tags" upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="kind" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
+        defaultValueLiteral="ecview"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="rootType" eType="ecore:EClass http://www.eclipse.org/xtext/common/JavaVMTypes#//JvmTypeReference"
+        containment="true"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="rootTypeFQN" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="properties" upperBound="-1"
+        eType="#//CxGridProperty" containment="true"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="inputs" upperBound="-1"
+        eType="#//CxGridSourceInput" containment="true"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="selectionEventTopic" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="CxGridSourceInput">
+    <eStructuralFeatures xsi:type="ecore:EReference" name="inputType" eType="ecore:EClass http://www.eclipse.org/xtext/common/JavaVMTypes#//JvmTypeReference"
+        containment="true"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="inputTypeFQN" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="filters" upperBound="-1"
+        eType="#//CxGridSourceEQFilter" containment="true"/>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="CxGridProperty">
+    <eStructuralFeatures xsi:type="ecore:EReference" name="path" eType="#//CxGridNestedField"
+        containment="true"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="style" eType="#//style/CxGridPropStyle"
+        containment="true"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="dotPath" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="editable" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="CxGridNestedField">
+    <eStructuralFeatures xsi:type="ecore:EReference" name="field" eType="ecore:EClass http://www.eclipse.org/xtext/common/JavaVMTypes#//JvmOperation"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="path" eType="#//CxGridNestedPath"
+        containment="true"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="dotPath" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="CxGridNestedPath">
+    <eStructuralFeatures xsi:type="ecore:EReference" name="field" eType="ecore:EClass http://www.eclipse.org/xtext/common/JavaVMTypes#//JvmOperation"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="path" eType="#//CxGridNestedPath"
+        containment="true"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="dotPath" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="CxGridSourceEQFilter">
+    <eStructuralFeatures xsi:type="ecore:EReference" name="inputTypePropertyPath"
+        eType="#//CxGridNestedField" containment="true"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="rootTypePropertyPath" eType="#//CxGridNestedField"
+        containment="true"/>
+  </eClassifiers>
+  <eSubpackages name="style" nsURI="http://osbp.eclipse.org/gridsource/v1/core/style"
+      nsPrefix="style">
+    <eClassifiers xsi:type="ecore:EClass" name="CxGridPropStyle" abstract="true"/>
+    <eClassifiers xsi:type="ecore:EClass" name="CxGridPropHtmlStyle" eSuperTypes="#//style/CxGridPropStyle"/>
+    <eClassifiers xsi:type="ecore:EClass" name="CxGridPropTextStyle" eSuperTypes="#//style/CxGridPropStyle"/>
+    <eClassifiers xsi:type="ecore:EClass" name="CxGridPropButtonStyle" eSuperTypes="#//style/CxGridPropStyle #//style/CxGridEventTopicAble"/>
+    <eClassifiers xsi:type="ecore:EClass" name="CxGridPropProgressbarStyle" eSuperTypes="#//style/CxGridPropStyle">
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="maxValue" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="CxGridPropSparklineStyle" eSuperTypes="#//style/CxGridPropStyle">
+      <eStructuralFeatures xsi:type="ecore:EReference" name="field" eType="#//CxGridNestedField"
+          containment="true"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="CxGridPropBooleanStyle" eSuperTypes="#//style/CxGridPropStyle"/>
+    <eClassifiers xsi:type="ecore:EClass" name="CxGridPropNumberStyle" eSuperTypes="#//style/CxGridPropStyle">
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="numberFormat" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="CxGridPropImageStyle" eSuperTypes="#//style/CxGridPropStyle #//style/CxGridEventTopicAble">
+      <eStructuralFeatures xsi:type="ecore:EReference" name="configs" upperBound="-1"
+          eType="#//style/CxGridStyleConfig" containment="true"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="CxGridPropIndicatorStyle" eSuperTypes="#//style/CxGridPropStyle #//style/CxGridEventTopicAble">
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="greenStarts" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="redEnds" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="CxGridPropDateStyle" eSuperTypes="#//style/CxGridPropStyle">
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="dateFormat" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="CxGridStyleConfig"/>
+    <eClassifiers xsi:type="ecore:EClass" name="CxGridStyleConfigStringToResource"
+        eSuperTypes="#//style/CxGridStyleConfig">
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="compare" eType="#//style/CxGridCompare"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="resourceThemePath" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="CxGridStyleConfigNumericToResource"
+        eSuperTypes="#//style/CxGridStyleConfig">
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="compare" eType="#//style/CxGridCompare"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="resourceThemePath" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EEnum" name="CxGridCompare">
+      <eLiterals name="Equal" literal="EQ"/>
+      <eLiterals name="GreaterThan" value="1" literal="GT"/>
+      <eLiterals name="GreaterEqual" value="2" literal="GE"/>
+      <eLiterals name="LowerThan" value="3" literal="LT"/>
+      <eLiterals name="LowerEqual" value="4" literal="LE"/>
+      <eLiterals name="NotEqual" value="5" literal="NEQ"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="CxGridEventTopicAble" abstract="true"
+        interface="true" eSuperTypes="#//style/CxGridPropStyle">
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="eventTopic" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="CxGridPropQuantityStyle" eSuperTypes="#//style/CxGridPropStyle">
+      <eStructuralFeatures xsi:type="ecore:EReference" name="valuePropertyPath" eType="#//CxGridNestedField"
+          containment="true"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="valuePropertyDotPath"
+          eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="valueNumberFormat" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="uomPropertyPath" eType="#//CxGridNestedField"
+          containment="true"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="uomPropertyDotPath" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="htmlPattern" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
+          defaultValueLiteral="&lt;b>{@value}&lt;/b> - &lt;i>{@uom}&lt;/i>"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="CxGridPropPriceStyle" eSuperTypes="#//style/CxGridPropStyle">
+      <eStructuralFeatures xsi:type="ecore:EReference" name="valuePropertyPath" eType="#//CxGridNestedField"
+          containment="true"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="valuePropertyDotPath"
+          eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="valueNumberFormat" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="currencyPropertyPath"
+          eType="#//CxGridNestedField" containment="true"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="currencyPropertyDotPath"
+          eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="htmlPattern" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
+          defaultValueLiteral="&lt;b>{@value}&lt;/b> - &lt;i>{@currency}&lt;/i>"/>
+    </eClassifiers>
+  </eSubpackages>
+</ecore:EPackage>
diff --git a/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/style/CxGridCompare.java b/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/style/CxGridCompare.java
new file mode 100644
index 0000000..d7fdf8f
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/style/CxGridCompare.java
@@ -0,0 +1,326 @@
+/**
+ *                                                                            
+ * 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.infogrid.model.gridsource.style;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.emf.common.util.Enumerator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the literals of the enumeration '<em><b>Cx Grid Compare</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.osbp.infogrid.model.gridsource.style.CxGridStylePackage#getCxGridCompare()
+ * @model
+ * @generated
+ */
+public enum CxGridCompare implements Enumerator {
+	/**
+	 * The '<em><b>Equal</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #EQUAL_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	EQUAL(0, "Equal", "EQ"),
+
+	/**
+	 * The '<em><b>Greater Than</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #GREATER_THAN_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	GREATER_THAN(1, "GreaterThan", "GT"),
+
+	/**
+	 * The '<em><b>Greater Equal</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #GREATER_EQUAL_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	GREATER_EQUAL(2, "GreaterEqual", "GE"),
+
+	/**
+	 * The '<em><b>Lower Than</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #LOWER_THAN_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	LOWER_THAN(3, "LowerThan", "LT"),
+
+	/**
+	 * The '<em><b>Lower Equal</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #LOWER_EQUAL_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	LOWER_EQUAL(4, "LowerEqual", "LE"),
+
+	/**
+	 * The '<em><b>Not Equal</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #NOT_EQUAL_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	NOT_EQUAL(5, "NotEqual", "NEQ");
+
+	/**
+	 * The '<em><b>Equal</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>Equal</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @see #EQUAL
+	 * @model name="Equal" literal="EQ"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int EQUAL_VALUE = 0;
+
+	/**
+	 * The '<em><b>Greater Than</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>Greater Than</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @see #GREATER_THAN
+	 * @model name="GreaterThan" literal="GT"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int GREATER_THAN_VALUE = 1;
+
+	/**
+	 * The '<em><b>Greater Equal</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>Greater Equal</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @see #GREATER_EQUAL
+	 * @model name="GreaterEqual" literal="GE"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int GREATER_EQUAL_VALUE = 2;
+
+	/**
+	 * The '<em><b>Lower Than</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>Lower Than</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @see #LOWER_THAN
+	 * @model name="LowerThan" literal="LT"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int LOWER_THAN_VALUE = 3;
+
+	/**
+	 * The '<em><b>Lower Equal</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>Lower Equal</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @see #LOWER_EQUAL
+	 * @model name="LowerEqual" literal="LE"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int LOWER_EQUAL_VALUE = 4;
+
+	/**
+	 * The '<em><b>Not Equal</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>Not Equal</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @see #NOT_EQUAL
+	 * @model name="NotEqual" literal="NEQ"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int NOT_EQUAL_VALUE = 5;
+
+	/**
+	 * An array of all the '<em><b>Cx Grid Compare</b></em>' enumerators.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private static final CxGridCompare[] VALUES_ARRAY =
+		new CxGridCompare[] {
+			EQUAL,
+			GREATER_THAN,
+			GREATER_EQUAL,
+			LOWER_THAN,
+			LOWER_EQUAL,
+			NOT_EQUAL,
+		};
+
+	/**
+	 * A public read-only list of all the '<em><b>Cx Grid Compare</b></em>' enumerators.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final List<CxGridCompare> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+	/**
+	 * Returns the '<em><b>Cx Grid Compare</b></em>' literal with the specified literal value.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static CxGridCompare get(String literal) {
+		for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+			CxGridCompare result = VALUES_ARRAY[i];
+			if (result.toString().equals(literal)) {
+				return result;
+			}
+		}
+		return null;
+	}
+
+	/**
+	 * Returns the '<em><b>Cx Grid Compare</b></em>' literal with the specified name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static CxGridCompare getByName(String name) {
+		for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+			CxGridCompare result = VALUES_ARRAY[i];
+			if (result.getName().equals(name)) {
+				return result;
+			}
+		}
+		return null;
+	}
+
+	/**
+	 * Returns the '<em><b>Cx Grid Compare</b></em>' literal with the specified integer value.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static CxGridCompare get(int value) {
+		switch (value) {
+			case EQUAL_VALUE: return EQUAL;
+			case GREATER_THAN_VALUE: return GREATER_THAN;
+			case GREATER_EQUAL_VALUE: return GREATER_EQUAL;
+			case LOWER_THAN_VALUE: return LOWER_THAN;
+			case LOWER_EQUAL_VALUE: return LOWER_EQUAL;
+			case NOT_EQUAL_VALUE: return NOT_EQUAL;
+		}
+		return null;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private final int value;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private final String name;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private final String literal;
+
+	/**
+	 * Only this class can construct instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private CxGridCompare(int value, String name, String literal) {
+		this.value = value;
+		this.name = name;
+		this.literal = literal;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public int getValue() {
+	  return value;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getName() {
+	  return name;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getLiteral() {
+	  return literal;
+	}
+
+	/**
+	 * Returns the literal value of the enumerator, which is its string representation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		return literal;
+	}
+	
+} //CxGridCompare
diff --git a/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/style/CxGridEventTopicAble.java b/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/style/CxGridEventTopicAble.java
new file mode 100644
index 0000000..b2a90cf
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/style/CxGridEventTopicAble.java
@@ -0,0 +1,59 @@
+/**
+ *                                                                            
+ * 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.infogrid.model.gridsource.style;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Cx Grid Event Topic Able</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridEventTopicAble#getEventTopic <em>Event Topic</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.osbp.infogrid.model.gridsource.style.CxGridStylePackage#getCxGridEventTopicAble()
+ * @model interface="true" abstract="true"
+ * @generated
+ */
+public interface CxGridEventTopicAble extends CxGridPropStyle {
+	/**
+	 * Returns the value of the '<em><b>Event Topic</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Event Topic</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Event Topic</em>' attribute.
+	 * @see #setEventTopic(String)
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.style.CxGridStylePackage#getCxGridEventTopicAble_EventTopic()
+	 * @model
+	 * @generated
+	 */
+	String getEventTopic();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridEventTopicAble#getEventTopic <em>Event Topic</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Event Topic</em>' attribute.
+	 * @see #getEventTopic()
+	 * @generated
+	 */
+	void setEventTopic(String value);
+
+} // CxGridEventTopicAble
diff --git a/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/style/CxGridPropBooleanStyle.java b/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/style/CxGridPropBooleanStyle.java
new file mode 100644
index 0000000..8190d0e
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/style/CxGridPropBooleanStyle.java
@@ -0,0 +1,27 @@
+/**
+ *                                                                            
+ * 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.infogrid.model.gridsource.style;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Cx Grid Prop Boolean Style</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.osbp.infogrid.model.gridsource.style.CxGridStylePackage#getCxGridPropBooleanStyle()
+ * @model
+ * @generated
+ */
+public interface CxGridPropBooleanStyle extends CxGridPropStyle {
+} // CxGridPropBooleanStyle
diff --git a/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/style/CxGridPropButtonStyle.java b/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/style/CxGridPropButtonStyle.java
new file mode 100644
index 0000000..6185c8d
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/style/CxGridPropButtonStyle.java
@@ -0,0 +1,27 @@
+/**
+ *                                                                            
+ * 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.infogrid.model.gridsource.style;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Cx Grid Prop Button Style</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.osbp.infogrid.model.gridsource.style.CxGridStylePackage#getCxGridPropButtonStyle()
+ * @model
+ * @generated
+ */
+public interface CxGridPropButtonStyle extends CxGridPropStyle, CxGridEventTopicAble {
+} // CxGridPropButtonStyle
diff --git a/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/style/CxGridPropDateStyle.java b/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/style/CxGridPropDateStyle.java
new file mode 100644
index 0000000..b5bf16e
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/style/CxGridPropDateStyle.java
@@ -0,0 +1,59 @@
+/**
+ *                                                                            
+ * 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.infogrid.model.gridsource.style;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Cx Grid Prop Date Style</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropDateStyle#getDateFormat <em>Date Format</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.osbp.infogrid.model.gridsource.style.CxGridStylePackage#getCxGridPropDateStyle()
+ * @model
+ * @generated
+ */
+public interface CxGridPropDateStyle extends CxGridPropStyle {
+	/**
+	 * Returns the value of the '<em><b>Date Format</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Date Format</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Date Format</em>' attribute.
+	 * @see #setDateFormat(String)
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.style.CxGridStylePackage#getCxGridPropDateStyle_DateFormat()
+	 * @model
+	 * @generated
+	 */
+	String getDateFormat();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropDateStyle#getDateFormat <em>Date Format</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Date Format</em>' attribute.
+	 * @see #getDateFormat()
+	 * @generated
+	 */
+	void setDateFormat(String value);
+
+} // CxGridPropDateStyle
diff --git a/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/style/CxGridPropHtmlStyle.java b/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/style/CxGridPropHtmlStyle.java
new file mode 100644
index 0000000..d78652a
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/style/CxGridPropHtmlStyle.java
@@ -0,0 +1,27 @@
+/**
+ *                                                                            
+ * 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.infogrid.model.gridsource.style;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Cx Grid Prop Html Style</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.osbp.infogrid.model.gridsource.style.CxGridStylePackage#getCxGridPropHtmlStyle()
+ * @model
+ * @generated
+ */
+public interface CxGridPropHtmlStyle extends CxGridPropStyle {
+} // CxGridPropHtmlStyle
diff --git a/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/style/CxGridPropImageStyle.java b/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/style/CxGridPropImageStyle.java
new file mode 100644
index 0000000..9017d5e
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/style/CxGridPropImageStyle.java
@@ -0,0 +1,51 @@
+/**
+ *                                                                            
+ * 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.infogrid.model.gridsource.style;
+
+import org.eclipse.emf.common.util.EList;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Cx Grid Prop Image Style</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropImageStyle#getConfigs <em>Configs</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.osbp.infogrid.model.gridsource.style.CxGridStylePackage#getCxGridPropImageStyle()
+ * @model
+ * @generated
+ */
+public interface CxGridPropImageStyle extends CxGridPropStyle, CxGridEventTopicAble {
+	/**
+	 * Returns the value of the '<em><b>Configs</b></em>' containment reference list.
+	 * The list contents are of type {@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridStyleConfig}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Configs</em>' containment reference list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Configs</em>' containment reference list.
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.style.CxGridStylePackage#getCxGridPropImageStyle_Configs()
+	 * @model containment="true"
+	 * @generated
+	 */
+	EList<CxGridStyleConfig> getConfigs();
+
+} // CxGridPropImageStyle
diff --git a/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/style/CxGridPropIndicatorStyle.java b/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/style/CxGridPropIndicatorStyle.java
new file mode 100644
index 0000000..c45aebc
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/style/CxGridPropIndicatorStyle.java
@@ -0,0 +1,86 @@
+/**
+ *                                                                            
+ * 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.infogrid.model.gridsource.style;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Cx Grid Prop Indicator Style</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropIndicatorStyle#getGreenStarts <em>Green Starts</em>}</li>
+ *   <li>{@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropIndicatorStyle#getRedEnds <em>Red Ends</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.osbp.infogrid.model.gridsource.style.CxGridStylePackage#getCxGridPropIndicatorStyle()
+ * @model
+ * @generated
+ */
+public interface CxGridPropIndicatorStyle extends CxGridPropStyle, CxGridEventTopicAble {
+	/**
+	 * Returns the value of the '<em><b>Green Starts</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Green Starts</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Green Starts</em>' attribute.
+	 * @see #setGreenStarts(double)
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.style.CxGridStylePackage#getCxGridPropIndicatorStyle_GreenStarts()
+	 * @model
+	 * @generated
+	 */
+	double getGreenStarts();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropIndicatorStyle#getGreenStarts <em>Green Starts</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Green Starts</em>' attribute.
+	 * @see #getGreenStarts()
+	 * @generated
+	 */
+	void setGreenStarts(double value);
+
+	/**
+	 * Returns the value of the '<em><b>Red Ends</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Red Ends</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Red Ends</em>' attribute.
+	 * @see #setRedEnds(double)
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.style.CxGridStylePackage#getCxGridPropIndicatorStyle_RedEnds()
+	 * @model
+	 * @generated
+	 */
+	double getRedEnds();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropIndicatorStyle#getRedEnds <em>Red Ends</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Red Ends</em>' attribute.
+	 * @see #getRedEnds()
+	 * @generated
+	 */
+	void setRedEnds(double value);
+
+} // CxGridPropIndicatorStyle
diff --git a/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/style/CxGridPropNumberStyle.java b/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/style/CxGridPropNumberStyle.java
new file mode 100644
index 0000000..77a3f72
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/style/CxGridPropNumberStyle.java
@@ -0,0 +1,59 @@
+/**
+ *                                                                            
+ * 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.infogrid.model.gridsource.style;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Cx Grid Prop Number Style</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropNumberStyle#getNumberFormat <em>Number Format</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.osbp.infogrid.model.gridsource.style.CxGridStylePackage#getCxGridPropNumberStyle()
+ * @model
+ * @generated
+ */
+public interface CxGridPropNumberStyle extends CxGridPropStyle {
+	/**
+	 * Returns the value of the '<em><b>Number Format</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Number Format</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Number Format</em>' attribute.
+	 * @see #setNumberFormat(String)
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.style.CxGridStylePackage#getCxGridPropNumberStyle_NumberFormat()
+	 * @model
+	 * @generated
+	 */
+	String getNumberFormat();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropNumberStyle#getNumberFormat <em>Number Format</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Number Format</em>' attribute.
+	 * @see #getNumberFormat()
+	 * @generated
+	 */
+	void setNumberFormat(String value);
+
+} // CxGridPropNumberStyle
diff --git a/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/style/CxGridPropPriceStyle.java b/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/style/CxGridPropPriceStyle.java
new file mode 100644
index 0000000..bd57123
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/style/CxGridPropPriceStyle.java
@@ -0,0 +1,197 @@
+/**
+ *                                                                            
+ * 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.infogrid.model.gridsource.style;
+
+import org.eclipse.osbp.infogrid.model.gridsource.CxGridNestedField;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Cx Grid Prop Price Style</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropPriceStyle#getValuePropertyPath <em>Value Property Path</em>}</li>
+ *   <li>{@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropPriceStyle#getValuePropertyDotPath <em>Value Property Dot Path</em>}</li>
+ *   <li>{@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropPriceStyle#getValueNumberFormat <em>Value Number Format</em>}</li>
+ *   <li>{@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropPriceStyle#getCurrencyPropertyPath <em>Currency Property Path</em>}</li>
+ *   <li>{@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropPriceStyle#getCurrencyPropertyDotPath <em>Currency Property Dot Path</em>}</li>
+ *   <li>{@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropPriceStyle#getHtmlPattern <em>Html Pattern</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.osbp.infogrid.model.gridsource.style.CxGridStylePackage#getCxGridPropPriceStyle()
+ * @model
+ * @generated
+ */
+public interface CxGridPropPriceStyle extends CxGridPropStyle {
+	/**
+	 * Returns the value of the '<em><b>Value Property Path</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Value Property Path</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Value Property Path</em>' containment reference.
+	 * @see #setValuePropertyPath(CxGridNestedField)
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.style.CxGridStylePackage#getCxGridPropPriceStyle_ValuePropertyPath()
+	 * @model containment="true"
+	 * @generated
+	 */
+	CxGridNestedField getValuePropertyPath();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropPriceStyle#getValuePropertyPath <em>Value Property Path</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Value Property Path</em>' containment reference.
+	 * @see #getValuePropertyPath()
+	 * @generated
+	 */
+	void setValuePropertyPath(CxGridNestedField value);
+
+	/**
+	 * Returns the value of the '<em><b>Value Property Dot Path</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Value Property Dot Path</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Value Property Dot Path</em>' attribute.
+	 * @see #setValuePropertyDotPath(String)
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.style.CxGridStylePackage#getCxGridPropPriceStyle_ValuePropertyDotPath()
+	 * @model
+	 * @generated
+	 */
+	String getValuePropertyDotPath();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropPriceStyle#getValuePropertyDotPath <em>Value Property Dot Path</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Value Property Dot Path</em>' attribute.
+	 * @see #getValuePropertyDotPath()
+	 * @generated
+	 */
+	void setValuePropertyDotPath(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Value Number Format</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Value Number Format</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Value Number Format</em>' attribute.
+	 * @see #setValueNumberFormat(String)
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.style.CxGridStylePackage#getCxGridPropPriceStyle_ValueNumberFormat()
+	 * @model
+	 * @generated
+	 */
+	String getValueNumberFormat();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropPriceStyle#getValueNumberFormat <em>Value Number Format</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Value Number Format</em>' attribute.
+	 * @see #getValueNumberFormat()
+	 * @generated
+	 */
+	void setValueNumberFormat(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Currency Property Path</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Currency Property Path</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Currency Property Path</em>' containment reference.
+	 * @see #setCurrencyPropertyPath(CxGridNestedField)
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.style.CxGridStylePackage#getCxGridPropPriceStyle_CurrencyPropertyPath()
+	 * @model containment="true"
+	 * @generated
+	 */
+	CxGridNestedField getCurrencyPropertyPath();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropPriceStyle#getCurrencyPropertyPath <em>Currency Property Path</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Currency Property Path</em>' containment reference.
+	 * @see #getCurrencyPropertyPath()
+	 * @generated
+	 */
+	void setCurrencyPropertyPath(CxGridNestedField value);
+
+	/**
+	 * Returns the value of the '<em><b>Currency Property Dot Path</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Currency Property Dot Path</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Currency Property Dot Path</em>' attribute.
+	 * @see #setCurrencyPropertyDotPath(String)
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.style.CxGridStylePackage#getCxGridPropPriceStyle_CurrencyPropertyDotPath()
+	 * @model
+	 * @generated
+	 */
+	String getCurrencyPropertyDotPath();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropPriceStyle#getCurrencyPropertyDotPath <em>Currency Property Dot Path</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Currency Property Dot Path</em>' attribute.
+	 * @see #getCurrencyPropertyDotPath()
+	 * @generated
+	 */
+	void setCurrencyPropertyDotPath(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Html Pattern</b></em>' attribute.
+	 * The default value is <code>"<b>{@value}</b> - <i>{@currency}</i>"</code>.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Html Pattern</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Html Pattern</em>' attribute.
+	 * @see #setHtmlPattern(String)
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.style.CxGridStylePackage#getCxGridPropPriceStyle_HtmlPattern()
+	 * @model default="<b>{@value}</b> - <i>{@currency}</i>"
+	 * @generated
+	 */
+	String getHtmlPattern();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropPriceStyle#getHtmlPattern <em>Html Pattern</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Html Pattern</em>' attribute.
+	 * @see #getHtmlPattern()
+	 * @generated
+	 */
+	void setHtmlPattern(String value);
+
+} // CxGridPropPriceStyle
diff --git a/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/style/CxGridPropProgressbarStyle.java b/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/style/CxGridPropProgressbarStyle.java
new file mode 100644
index 0000000..7eb7cd4
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/style/CxGridPropProgressbarStyle.java
@@ -0,0 +1,59 @@
+/**
+ *                                                                            
+ * 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.infogrid.model.gridsource.style;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Cx Grid Prop Progressbar Style</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropProgressbarStyle#getMaxValue <em>Max Value</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.osbp.infogrid.model.gridsource.style.CxGridStylePackage#getCxGridPropProgressbarStyle()
+ * @model
+ * @generated
+ */
+public interface CxGridPropProgressbarStyle extends CxGridPropStyle {
+
+	/**
+	 * Returns the value of the '<em><b>Max Value</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Max Value</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Max Value</em>' attribute.
+	 * @see #setMaxValue(double)
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.style.CxGridStylePackage#getCxGridPropProgressbarStyle_MaxValue()
+	 * @model
+	 * @generated
+	 */
+	double getMaxValue();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropProgressbarStyle#getMaxValue <em>Max Value</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Max Value</em>' attribute.
+	 * @see #getMaxValue()
+	 * @generated
+	 */
+	void setMaxValue(double value);
+} // CxGridPropProgressbarStyle
diff --git a/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/style/CxGridPropQuantityStyle.java b/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/style/CxGridPropQuantityStyle.java
new file mode 100644
index 0000000..e42bebc
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/style/CxGridPropQuantityStyle.java
@@ -0,0 +1,197 @@
+/**
+ *                                                                            
+ * 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.infogrid.model.gridsource.style;
+
+import org.eclipse.osbp.infogrid.model.gridsource.CxGridNestedField;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Cx Grid Prop Quantity Style</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropQuantityStyle#getValuePropertyPath <em>Value Property Path</em>}</li>
+ *   <li>{@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropQuantityStyle#getValuePropertyDotPath <em>Value Property Dot Path</em>}</li>
+ *   <li>{@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropQuantityStyle#getValueNumberFormat <em>Value Number Format</em>}</li>
+ *   <li>{@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropQuantityStyle#getUomPropertyPath <em>Uom Property Path</em>}</li>
+ *   <li>{@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropQuantityStyle#getUomPropertyDotPath <em>Uom Property Dot Path</em>}</li>
+ *   <li>{@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropQuantityStyle#getHtmlPattern <em>Html Pattern</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.osbp.infogrid.model.gridsource.style.CxGridStylePackage#getCxGridPropQuantityStyle()
+ * @model
+ * @generated
+ */
+public interface CxGridPropQuantityStyle extends CxGridPropStyle {
+	/**
+	 * Returns the value of the '<em><b>Value Property Path</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Value Property Path</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Value Property Path</em>' containment reference.
+	 * @see #setValuePropertyPath(CxGridNestedField)
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.style.CxGridStylePackage#getCxGridPropQuantityStyle_ValuePropertyPath()
+	 * @model containment="true"
+	 * @generated
+	 */
+	CxGridNestedField getValuePropertyPath();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropQuantityStyle#getValuePropertyPath <em>Value Property Path</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Value Property Path</em>' containment reference.
+	 * @see #getValuePropertyPath()
+	 * @generated
+	 */
+	void setValuePropertyPath(CxGridNestedField value);
+
+	/**
+	 * Returns the value of the '<em><b>Value Property Dot Path</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Value Property Dot Path</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Value Property Dot Path</em>' attribute.
+	 * @see #setValuePropertyDotPath(String)
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.style.CxGridStylePackage#getCxGridPropQuantityStyle_ValuePropertyDotPath()
+	 * @model
+	 * @generated
+	 */
+	String getValuePropertyDotPath();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropQuantityStyle#getValuePropertyDotPath <em>Value Property Dot Path</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Value Property Dot Path</em>' attribute.
+	 * @see #getValuePropertyDotPath()
+	 * @generated
+	 */
+	void setValuePropertyDotPath(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Value Number Format</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Value Number Format</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Value Number Format</em>' attribute.
+	 * @see #setValueNumberFormat(String)
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.style.CxGridStylePackage#getCxGridPropQuantityStyle_ValueNumberFormat()
+	 * @model
+	 * @generated
+	 */
+	String getValueNumberFormat();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropQuantityStyle#getValueNumberFormat <em>Value Number Format</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Value Number Format</em>' attribute.
+	 * @see #getValueNumberFormat()
+	 * @generated
+	 */
+	void setValueNumberFormat(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Uom Property Path</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Uom Property Path</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Uom Property Path</em>' containment reference.
+	 * @see #setUomPropertyPath(CxGridNestedField)
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.style.CxGridStylePackage#getCxGridPropQuantityStyle_UomPropertyPath()
+	 * @model containment="true"
+	 * @generated
+	 */
+	CxGridNestedField getUomPropertyPath();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropQuantityStyle#getUomPropertyPath <em>Uom Property Path</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Uom Property Path</em>' containment reference.
+	 * @see #getUomPropertyPath()
+	 * @generated
+	 */
+	void setUomPropertyPath(CxGridNestedField value);
+
+	/**
+	 * Returns the value of the '<em><b>Uom Property Dot Path</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Uom Property Dot Path</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Uom Property Dot Path</em>' attribute.
+	 * @see #setUomPropertyDotPath(String)
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.style.CxGridStylePackage#getCxGridPropQuantityStyle_UomPropertyDotPath()
+	 * @model
+	 * @generated
+	 */
+	String getUomPropertyDotPath();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropQuantityStyle#getUomPropertyDotPath <em>Uom Property Dot Path</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Uom Property Dot Path</em>' attribute.
+	 * @see #getUomPropertyDotPath()
+	 * @generated
+	 */
+	void setUomPropertyDotPath(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Html Pattern</b></em>' attribute.
+	 * The default value is <code>"<b>{@value}</b> - <i>{@uom}</i>"</code>.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Html Pattern</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Html Pattern</em>' attribute.
+	 * @see #setHtmlPattern(String)
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.style.CxGridStylePackage#getCxGridPropQuantityStyle_HtmlPattern()
+	 * @model default="<b>{@value}</b> - <i>{@uom}</i>"
+	 * @generated
+	 */
+	String getHtmlPattern();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropQuantityStyle#getHtmlPattern <em>Html Pattern</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Html Pattern</em>' attribute.
+	 * @see #getHtmlPattern()
+	 * @generated
+	 */
+	void setHtmlPattern(String value);
+
+} // CxGridPropQuantityStyle
diff --git a/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/style/CxGridPropSparklineStyle.java b/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/style/CxGridPropSparklineStyle.java
new file mode 100644
index 0000000..d30e966
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/style/CxGridPropSparklineStyle.java
@@ -0,0 +1,61 @@
+/**
+ *                                                                            
+ * 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.infogrid.model.gridsource.style;
+
+import org.eclipse.osbp.infogrid.model.gridsource.CxGridNestedField;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Cx Grid Prop Sparkline Style</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropSparklineStyle#getField <em>Field</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.osbp.infogrid.model.gridsource.style.CxGridStylePackage#getCxGridPropSparklineStyle()
+ * @model
+ * @generated
+ */
+public interface CxGridPropSparklineStyle extends CxGridPropStyle {
+
+	/**
+	 * Returns the value of the '<em><b>Field</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Field</em>' containment reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Field</em>' containment reference.
+	 * @see #setField(CxGridNestedField)
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.style.CxGridStylePackage#getCxGridPropSparklineStyle_Field()
+	 * @model containment="true"
+	 * @generated
+	 */
+	CxGridNestedField getField();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropSparklineStyle#getField <em>Field</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Field</em>' containment reference.
+	 * @see #getField()
+	 * @generated
+	 */
+	void setField(CxGridNestedField value);
+} // CxGridPropSparklineStyle
diff --git a/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/style/CxGridPropStyle.java b/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/style/CxGridPropStyle.java
new file mode 100644
index 0000000..e40a873
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/style/CxGridPropStyle.java
@@ -0,0 +1,28 @@
+/**
+ *                                                                            
+ * 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.infogrid.model.gridsource.style;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Cx Grid Prop Style</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.osbp.infogrid.model.gridsource.style.CxGridStylePackage#getCxGridPropStyle()
+ * @model abstract="true"
+ * @generated
+ */
+public interface CxGridPropStyle extends EObject {
+} // CxGridPropStyle
diff --git a/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/style/CxGridPropTextStyle.java b/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/style/CxGridPropTextStyle.java
new file mode 100644
index 0000000..66174f7
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/style/CxGridPropTextStyle.java
@@ -0,0 +1,27 @@
+/**
+ *                                                                            
+ * 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.infogrid.model.gridsource.style;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Cx Grid Prop Text Style</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.osbp.infogrid.model.gridsource.style.CxGridStylePackage#getCxGridPropTextStyle()
+ * @model
+ * @generated
+ */
+public interface CxGridPropTextStyle extends CxGridPropStyle {
+} // CxGridPropTextStyle
diff --git a/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/style/CxGridStyleConfig.java b/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/style/CxGridStyleConfig.java
new file mode 100644
index 0000000..f72ee2d
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/style/CxGridStyleConfig.java
@@ -0,0 +1,28 @@
+/**
+ *                                                                            
+ * 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.infogrid.model.gridsource.style;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Config</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.osbp.infogrid.model.gridsource.style.CxGridStylePackage#getCxGridStyleConfig()
+ * @model
+ * @generated
+ */
+public interface CxGridStyleConfig extends EObject {
+} // CxGridStyleConfig
diff --git a/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/style/CxGridStyleConfigNumericToResource.java b/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/style/CxGridStyleConfigNumericToResource.java
new file mode 100644
index 0000000..b354f82
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/style/CxGridStyleConfigNumericToResource.java
@@ -0,0 +1,116 @@
+/**
+ *                                                                            
+ * 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.infogrid.model.gridsource.style;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Config Numeric To Resource</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridStyleConfigNumericToResource#getValue <em>Value</em>}</li>
+ *   <li>{@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridStyleConfigNumericToResource#getCompare <em>Compare</em>}</li>
+ *   <li>{@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridStyleConfigNumericToResource#getResourceThemePath <em>Resource Theme Path</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.osbp.infogrid.model.gridsource.style.CxGridStylePackage#getCxGridStyleConfigNumericToResource()
+ * @model
+ * @generated
+ */
+public interface CxGridStyleConfigNumericToResource extends CxGridStyleConfig {
+	/**
+	 * Returns the value of the '<em><b>Value</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Value</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Value</em>' attribute.
+	 * @see #setValue(double)
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.style.CxGridStylePackage#getCxGridStyleConfigNumericToResource_Value()
+	 * @model
+	 * @generated
+	 */
+	double getValue();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridStyleConfigNumericToResource#getValue <em>Value</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Value</em>' attribute.
+	 * @see #getValue()
+	 * @generated
+	 */
+	void setValue(double value);
+
+	/**
+	 * Returns the value of the '<em><b>Compare</b></em>' attribute.
+	 * The literals are from the enumeration {@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridCompare}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Compare</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Compare</em>' attribute.
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.style.CxGridCompare
+	 * @see #setCompare(CxGridCompare)
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.style.CxGridStylePackage#getCxGridStyleConfigNumericToResource_Compare()
+	 * @model
+	 * @generated
+	 */
+	CxGridCompare getCompare();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridStyleConfigNumericToResource#getCompare <em>Compare</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Compare</em>' attribute.
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.style.CxGridCompare
+	 * @see #getCompare()
+	 * @generated
+	 */
+	void setCompare(CxGridCompare value);
+
+	/**
+	 * Returns the value of the '<em><b>Resource Theme Path</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Resource Theme Path</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Resource Theme Path</em>' attribute.
+	 * @see #setResourceThemePath(String)
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.style.CxGridStylePackage#getCxGridStyleConfigNumericToResource_ResourceThemePath()
+	 * @model
+	 * @generated
+	 */
+	String getResourceThemePath();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridStyleConfigNumericToResource#getResourceThemePath <em>Resource Theme Path</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Resource Theme Path</em>' attribute.
+	 * @see #getResourceThemePath()
+	 * @generated
+	 */
+	void setResourceThemePath(String value);
+
+} // CxGridStyleConfigNumericToResource
diff --git a/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/style/CxGridStyleConfigStringToResource.java b/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/style/CxGridStyleConfigStringToResource.java
new file mode 100644
index 0000000..bba56f4
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/style/CxGridStyleConfigStringToResource.java
@@ -0,0 +1,116 @@
+/**
+ *                                                                            
+ * 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.infogrid.model.gridsource.style;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Config String To Resource</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridStyleConfigStringToResource#getValue <em>Value</em>}</li>
+ *   <li>{@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridStyleConfigStringToResource#getCompare <em>Compare</em>}</li>
+ *   <li>{@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridStyleConfigStringToResource#getResourceThemePath <em>Resource Theme Path</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.osbp.infogrid.model.gridsource.style.CxGridStylePackage#getCxGridStyleConfigStringToResource()
+ * @model
+ * @generated
+ */
+public interface CxGridStyleConfigStringToResource extends CxGridStyleConfig {
+	/**
+	 * Returns the value of the '<em><b>Value</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Value</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Value</em>' attribute.
+	 * @see #setValue(String)
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.style.CxGridStylePackage#getCxGridStyleConfigStringToResource_Value()
+	 * @model
+	 * @generated
+	 */
+	String getValue();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridStyleConfigStringToResource#getValue <em>Value</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Value</em>' attribute.
+	 * @see #getValue()
+	 * @generated
+	 */
+	void setValue(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Compare</b></em>' attribute.
+	 * The literals are from the enumeration {@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridCompare}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Compare</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Compare</em>' attribute.
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.style.CxGridCompare
+	 * @see #setCompare(CxGridCompare)
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.style.CxGridStylePackage#getCxGridStyleConfigStringToResource_Compare()
+	 * @model
+	 * @generated
+	 */
+	CxGridCompare getCompare();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridStyleConfigStringToResource#getCompare <em>Compare</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Compare</em>' attribute.
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.style.CxGridCompare
+	 * @see #getCompare()
+	 * @generated
+	 */
+	void setCompare(CxGridCompare value);
+
+	/**
+	 * Returns the value of the '<em><b>Resource Theme Path</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Resource Theme Path</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Resource Theme Path</em>' attribute.
+	 * @see #setResourceThemePath(String)
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.style.CxGridStylePackage#getCxGridStyleConfigStringToResource_ResourceThemePath()
+	 * @model
+	 * @generated
+	 */
+	String getResourceThemePath();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridStyleConfigStringToResource#getResourceThemePath <em>Resource Theme Path</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Resource Theme Path</em>' attribute.
+	 * @see #getResourceThemePath()
+	 * @generated
+	 */
+	void setResourceThemePath(String value);
+
+} // CxGridStyleConfigStringToResource
diff --git a/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/style/CxGridStyleFactory.java b/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/style/CxGridStyleFactory.java
new file mode 100644
index 0000000..1430477
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/style/CxGridStyleFactory.java
@@ -0,0 +1,178 @@
+/**
+ *                                                                            
+ * 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.infogrid.model.gridsource.style;
+
+import org.eclipse.emf.ecore.EFactory;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Factory</b> for the model.
+ * It provides a create method for each non-abstract class of the model.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.osbp.infogrid.model.gridsource.style.CxGridStylePackage
+ * @generated
+ */
+public interface CxGridStyleFactory extends EFactory {
+	/**
+	 * The singleton instance of the factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	CxGridStyleFactory eINSTANCE = org.eclipse.osbp.infogrid.model.gridsource.style.impl.CxGridStyleFactoryImpl.init();
+
+	/**
+	 * Returns a new object of class '<em>Cx Grid Prop Html Style</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Cx Grid Prop Html Style</em>'.
+	 * @generated
+	 */
+	CxGridPropHtmlStyle createCxGridPropHtmlStyle();
+
+	/**
+	 * Returns a new object of class '<em>Cx Grid Prop Text Style</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Cx Grid Prop Text Style</em>'.
+	 * @generated
+	 */
+	CxGridPropTextStyle createCxGridPropTextStyle();
+
+	/**
+	 * Returns a new object of class '<em>Cx Grid Prop Button Style</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Cx Grid Prop Button Style</em>'.
+	 * @generated
+	 */
+	CxGridPropButtonStyle createCxGridPropButtonStyle();
+
+	/**
+	 * Returns a new object of class '<em>Cx Grid Prop Progressbar Style</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Cx Grid Prop Progressbar Style</em>'.
+	 * @generated
+	 */
+	CxGridPropProgressbarStyle createCxGridPropProgressbarStyle();
+
+	/**
+	 * Returns a new object of class '<em>Cx Grid Prop Sparkline Style</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Cx Grid Prop Sparkline Style</em>'.
+	 * @generated
+	 */
+	CxGridPropSparklineStyle createCxGridPropSparklineStyle();
+
+	/**
+	 * Returns a new object of class '<em>Cx Grid Prop Boolean Style</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Cx Grid Prop Boolean Style</em>'.
+	 * @generated
+	 */
+	CxGridPropBooleanStyle createCxGridPropBooleanStyle();
+
+	/**
+	 * Returns a new object of class '<em>Cx Grid Prop Number Style</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Cx Grid Prop Number Style</em>'.
+	 * @generated
+	 */
+	CxGridPropNumberStyle createCxGridPropNumberStyle();
+
+	/**
+	 * Returns a new object of class '<em>Cx Grid Prop Image Style</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Cx Grid Prop Image Style</em>'.
+	 * @generated
+	 */
+	CxGridPropImageStyle createCxGridPropImageStyle();
+
+	/**
+	 * Returns a new object of class '<em>Cx Grid Prop Indicator Style</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Cx Grid Prop Indicator Style</em>'.
+	 * @generated
+	 */
+	CxGridPropIndicatorStyle createCxGridPropIndicatorStyle();
+
+	/**
+	 * Returns a new object of class '<em>Cx Grid Prop Date Style</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Cx Grid Prop Date Style</em>'.
+	 * @generated
+	 */
+	CxGridPropDateStyle createCxGridPropDateStyle();
+
+	/**
+	 * Returns a new object of class '<em>Config</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Config</em>'.
+	 * @generated
+	 */
+	CxGridStyleConfig createCxGridStyleConfig();
+
+	/**
+	 * Returns a new object of class '<em>Config String To Resource</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Config String To Resource</em>'.
+	 * @generated
+	 */
+	CxGridStyleConfigStringToResource createCxGridStyleConfigStringToResource();
+
+	/**
+	 * Returns a new object of class '<em>Config Numeric To Resource</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Config Numeric To Resource</em>'.
+	 * @generated
+	 */
+	CxGridStyleConfigNumericToResource createCxGridStyleConfigNumericToResource();
+
+	/**
+	 * Returns a new object of class '<em>Cx Grid Prop Quantity Style</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Cx Grid Prop Quantity Style</em>'.
+	 * @generated
+	 */
+	CxGridPropQuantityStyle createCxGridPropQuantityStyle();
+
+	/**
+	 * Returns a new object of class '<em>Cx Grid Prop Price Style</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Cx Grid Prop Price Style</em>'.
+	 * @generated
+	 */
+	CxGridPropPriceStyle createCxGridPropPriceStyle();
+
+	/**
+	 * Returns the package supported by this factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the package supported by this factory.
+	 * @generated
+	 */
+	CxGridStylePackage getCxGridStylePackage();
+
+} //CxGridStyleFactory
diff --git a/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/style/CxGridStylePackage.java b/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/style/CxGridStylePackage.java
new file mode 100644
index 0000000..ada0763
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/style/CxGridStylePackage.java
@@ -0,0 +1,1546 @@
+/**
+ *                                                                            
+ * 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.infogrid.model.gridsource.style;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EEnum;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Package</b> for the model.
+ * It contains accessors for the meta objects to represent
+ * <ul>
+ *   <li>each class,</li>
+ *   <li>each feature of each class,</li>
+ *   <li>each enum,</li>
+ *   <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @see org.eclipse.osbp.infogrid.model.gridsource.style.CxGridStyleFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface CxGridStylePackage extends EPackage {
+	/**
+	 * The package name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNAME = "style";
+
+	/**
+	 * The package namespace URI.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNS_URI = "http://osbp.eclipse.org/gridsource/v1/core/style";
+
+	/**
+	 * The package namespace name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	String eNS_PREFIX = "style";
+
+	/**
+	 * The singleton instance of the package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	CxGridStylePackage eINSTANCE = org.eclipse.osbp.infogrid.model.gridsource.style.impl.CxGridStylePackageImpl.init();
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.osbp.infogrid.model.gridsource.style.impl.CxGridPropStyleImpl <em>Cx Grid Prop Style</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.style.impl.CxGridPropStyleImpl
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.style.impl.CxGridStylePackageImpl#getCxGridPropStyle()
+	 * @generated
+	 */
+	int CX_GRID_PROP_STYLE = 0;
+
+	/**
+	 * The number of structural features of the '<em>Cx Grid Prop Style</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CX_GRID_PROP_STYLE_FEATURE_COUNT = 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.osbp.infogrid.model.gridsource.style.impl.CxGridPropHtmlStyleImpl <em>Cx Grid Prop Html Style</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.style.impl.CxGridPropHtmlStyleImpl
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.style.impl.CxGridStylePackageImpl#getCxGridPropHtmlStyle()
+	 * @generated
+	 */
+	int CX_GRID_PROP_HTML_STYLE = 1;
+
+	/**
+	 * The number of structural features of the '<em>Cx Grid Prop Html Style</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CX_GRID_PROP_HTML_STYLE_FEATURE_COUNT = CX_GRID_PROP_STYLE_FEATURE_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.osbp.infogrid.model.gridsource.style.impl.CxGridPropTextStyleImpl <em>Cx Grid Prop Text Style</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.style.impl.CxGridPropTextStyleImpl
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.style.impl.CxGridStylePackageImpl#getCxGridPropTextStyle()
+	 * @generated
+	 */
+	int CX_GRID_PROP_TEXT_STYLE = 2;
+
+	/**
+	 * The number of structural features of the '<em>Cx Grid Prop Text Style</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CX_GRID_PROP_TEXT_STYLE_FEATURE_COUNT = CX_GRID_PROP_STYLE_FEATURE_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.osbp.infogrid.model.gridsource.style.impl.CxGridPropButtonStyleImpl <em>Cx Grid Prop Button Style</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.style.impl.CxGridPropButtonStyleImpl
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.style.impl.CxGridStylePackageImpl#getCxGridPropButtonStyle()
+	 * @generated
+	 */
+	int CX_GRID_PROP_BUTTON_STYLE = 3;
+
+	/**
+	 * The feature id for the '<em><b>Event Topic</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CX_GRID_PROP_BUTTON_STYLE__EVENT_TOPIC = CX_GRID_PROP_STYLE_FEATURE_COUNT + 0;
+
+	/**
+	 * The number of structural features of the '<em>Cx Grid Prop Button Style</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CX_GRID_PROP_BUTTON_STYLE_FEATURE_COUNT = CX_GRID_PROP_STYLE_FEATURE_COUNT + 1;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.osbp.infogrid.model.gridsource.style.impl.CxGridPropProgressbarStyleImpl <em>Cx Grid Prop Progressbar Style</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.style.impl.CxGridPropProgressbarStyleImpl
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.style.impl.CxGridStylePackageImpl#getCxGridPropProgressbarStyle()
+	 * @generated
+	 */
+	int CX_GRID_PROP_PROGRESSBAR_STYLE = 4;
+
+	/**
+	 * The feature id for the '<em><b>Max Value</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CX_GRID_PROP_PROGRESSBAR_STYLE__MAX_VALUE = CX_GRID_PROP_STYLE_FEATURE_COUNT + 0;
+
+	/**
+	 * The number of structural features of the '<em>Cx Grid Prop Progressbar Style</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CX_GRID_PROP_PROGRESSBAR_STYLE_FEATURE_COUNT = CX_GRID_PROP_STYLE_FEATURE_COUNT + 1;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.osbp.infogrid.model.gridsource.style.impl.CxGridPropSparklineStyleImpl <em>Cx Grid Prop Sparkline Style</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.style.impl.CxGridPropSparklineStyleImpl
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.style.impl.CxGridStylePackageImpl#getCxGridPropSparklineStyle()
+	 * @generated
+	 */
+	int CX_GRID_PROP_SPARKLINE_STYLE = 5;
+
+	/**
+	 * The feature id for the '<em><b>Field</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CX_GRID_PROP_SPARKLINE_STYLE__FIELD = CX_GRID_PROP_STYLE_FEATURE_COUNT + 0;
+
+	/**
+	 * The number of structural features of the '<em>Cx Grid Prop Sparkline Style</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CX_GRID_PROP_SPARKLINE_STYLE_FEATURE_COUNT = CX_GRID_PROP_STYLE_FEATURE_COUNT + 1;
+
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.osbp.infogrid.model.gridsource.style.impl.CxGridPropBooleanStyleImpl <em>Cx Grid Prop Boolean Style</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.style.impl.CxGridPropBooleanStyleImpl
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.style.impl.CxGridStylePackageImpl#getCxGridPropBooleanStyle()
+	 * @generated
+	 */
+	int CX_GRID_PROP_BOOLEAN_STYLE = 6;
+
+	/**
+	 * The number of structural features of the '<em>Cx Grid Prop Boolean Style</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CX_GRID_PROP_BOOLEAN_STYLE_FEATURE_COUNT = CX_GRID_PROP_STYLE_FEATURE_COUNT + 0;
+
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.osbp.infogrid.model.gridsource.style.impl.CxGridPropNumberStyleImpl <em>Cx Grid Prop Number Style</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.style.impl.CxGridPropNumberStyleImpl
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.style.impl.CxGridStylePackageImpl#getCxGridPropNumberStyle()
+	 * @generated
+	 */
+	int CX_GRID_PROP_NUMBER_STYLE = 7;
+
+	/**
+	 * The feature id for the '<em><b>Number Format</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CX_GRID_PROP_NUMBER_STYLE__NUMBER_FORMAT = CX_GRID_PROP_STYLE_FEATURE_COUNT + 0;
+
+	/**
+	 * The number of structural features of the '<em>Cx Grid Prop Number Style</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CX_GRID_PROP_NUMBER_STYLE_FEATURE_COUNT = CX_GRID_PROP_STYLE_FEATURE_COUNT + 1;
+
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.osbp.infogrid.model.gridsource.style.impl.CxGridPropImageStyleImpl <em>Cx Grid Prop Image Style</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.style.impl.CxGridPropImageStyleImpl
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.style.impl.CxGridStylePackageImpl#getCxGridPropImageStyle()
+	 * @generated
+	 */
+	int CX_GRID_PROP_IMAGE_STYLE = 8;
+
+	/**
+	 * The feature id for the '<em><b>Event Topic</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CX_GRID_PROP_IMAGE_STYLE__EVENT_TOPIC = CX_GRID_PROP_STYLE_FEATURE_COUNT + 0;
+
+	/**
+	 * The feature id for the '<em><b>Configs</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CX_GRID_PROP_IMAGE_STYLE__CONFIGS = CX_GRID_PROP_STYLE_FEATURE_COUNT + 1;
+
+	/**
+	 * The number of structural features of the '<em>Cx Grid Prop Image Style</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CX_GRID_PROP_IMAGE_STYLE_FEATURE_COUNT = CX_GRID_PROP_STYLE_FEATURE_COUNT + 2;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.osbp.infogrid.model.gridsource.style.impl.CxGridPropIndicatorStyleImpl <em>Cx Grid Prop Indicator Style</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.style.impl.CxGridPropIndicatorStyleImpl
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.style.impl.CxGridStylePackageImpl#getCxGridPropIndicatorStyle()
+	 * @generated
+	 */
+	int CX_GRID_PROP_INDICATOR_STYLE = 9;
+
+	/**
+	 * The feature id for the '<em><b>Event Topic</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CX_GRID_PROP_INDICATOR_STYLE__EVENT_TOPIC = CX_GRID_PROP_STYLE_FEATURE_COUNT + 0;
+
+	/**
+	 * The feature id for the '<em><b>Green Starts</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CX_GRID_PROP_INDICATOR_STYLE__GREEN_STARTS = CX_GRID_PROP_STYLE_FEATURE_COUNT + 1;
+
+	/**
+	 * The feature id for the '<em><b>Red Ends</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CX_GRID_PROP_INDICATOR_STYLE__RED_ENDS = CX_GRID_PROP_STYLE_FEATURE_COUNT + 2;
+
+	/**
+	 * The number of structural features of the '<em>Cx Grid Prop Indicator Style</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CX_GRID_PROP_INDICATOR_STYLE_FEATURE_COUNT = CX_GRID_PROP_STYLE_FEATURE_COUNT + 3;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.osbp.infogrid.model.gridsource.style.impl.CxGridPropDateStyleImpl <em>Cx Grid Prop Date Style</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.style.impl.CxGridPropDateStyleImpl
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.style.impl.CxGridStylePackageImpl#getCxGridPropDateStyle()
+	 * @generated
+	 */
+	int CX_GRID_PROP_DATE_STYLE = 10;
+
+	/**
+	 * The feature id for the '<em><b>Date Format</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CX_GRID_PROP_DATE_STYLE__DATE_FORMAT = CX_GRID_PROP_STYLE_FEATURE_COUNT + 0;
+
+	/**
+	 * The number of structural features of the '<em>Cx Grid Prop Date Style</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CX_GRID_PROP_DATE_STYLE_FEATURE_COUNT = CX_GRID_PROP_STYLE_FEATURE_COUNT + 1;
+
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.osbp.infogrid.model.gridsource.style.impl.CxGridStyleConfigImpl <em>Config</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.style.impl.CxGridStyleConfigImpl
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.style.impl.CxGridStylePackageImpl#getCxGridStyleConfig()
+	 * @generated
+	 */
+	int CX_GRID_STYLE_CONFIG = 11;
+
+	/**
+	 * The number of structural features of the '<em>Config</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CX_GRID_STYLE_CONFIG_FEATURE_COUNT = 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.osbp.infogrid.model.gridsource.style.impl.CxGridStyleConfigStringToResourceImpl <em>Config String To Resource</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.style.impl.CxGridStyleConfigStringToResourceImpl
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.style.impl.CxGridStylePackageImpl#getCxGridStyleConfigStringToResource()
+	 * @generated
+	 */
+	int CX_GRID_STYLE_CONFIG_STRING_TO_RESOURCE = 12;
+
+	/**
+	 * The feature id for the '<em><b>Value</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CX_GRID_STYLE_CONFIG_STRING_TO_RESOURCE__VALUE = CX_GRID_STYLE_CONFIG_FEATURE_COUNT + 0;
+
+	/**
+	 * The feature id for the '<em><b>Compare</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CX_GRID_STYLE_CONFIG_STRING_TO_RESOURCE__COMPARE = CX_GRID_STYLE_CONFIG_FEATURE_COUNT + 1;
+
+	/**
+	 * The feature id for the '<em><b>Resource Theme Path</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CX_GRID_STYLE_CONFIG_STRING_TO_RESOURCE__RESOURCE_THEME_PATH = CX_GRID_STYLE_CONFIG_FEATURE_COUNT + 2;
+
+	/**
+	 * The number of structural features of the '<em>Config String To Resource</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CX_GRID_STYLE_CONFIG_STRING_TO_RESOURCE_FEATURE_COUNT = CX_GRID_STYLE_CONFIG_FEATURE_COUNT + 3;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.osbp.infogrid.model.gridsource.style.impl.CxGridStyleConfigNumericToResourceImpl <em>Config Numeric To Resource</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.style.impl.CxGridStyleConfigNumericToResourceImpl
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.style.impl.CxGridStylePackageImpl#getCxGridStyleConfigNumericToResource()
+	 * @generated
+	 */
+	int CX_GRID_STYLE_CONFIG_NUMERIC_TO_RESOURCE = 13;
+
+	/**
+	 * The feature id for the '<em><b>Value</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CX_GRID_STYLE_CONFIG_NUMERIC_TO_RESOURCE__VALUE = CX_GRID_STYLE_CONFIG_FEATURE_COUNT + 0;
+
+	/**
+	 * The feature id for the '<em><b>Compare</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CX_GRID_STYLE_CONFIG_NUMERIC_TO_RESOURCE__COMPARE = CX_GRID_STYLE_CONFIG_FEATURE_COUNT + 1;
+
+	/**
+	 * The feature id for the '<em><b>Resource Theme Path</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CX_GRID_STYLE_CONFIG_NUMERIC_TO_RESOURCE__RESOURCE_THEME_PATH = CX_GRID_STYLE_CONFIG_FEATURE_COUNT + 2;
+
+	/**
+	 * The number of structural features of the '<em>Config Numeric To Resource</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CX_GRID_STYLE_CONFIG_NUMERIC_TO_RESOURCE_FEATURE_COUNT = CX_GRID_STYLE_CONFIG_FEATURE_COUNT + 3;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridEventTopicAble <em>Cx Grid Event Topic Able</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.style.CxGridEventTopicAble
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.style.impl.CxGridStylePackageImpl#getCxGridEventTopicAble()
+	 * @generated
+	 */
+	int CX_GRID_EVENT_TOPIC_ABLE = 14;
+
+	/**
+	 * The feature id for the '<em><b>Event Topic</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CX_GRID_EVENT_TOPIC_ABLE__EVENT_TOPIC = CX_GRID_PROP_STYLE_FEATURE_COUNT + 0;
+
+	/**
+	 * The number of structural features of the '<em>Cx Grid Event Topic Able</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CX_GRID_EVENT_TOPIC_ABLE_FEATURE_COUNT = CX_GRID_PROP_STYLE_FEATURE_COUNT + 1;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.osbp.infogrid.model.gridsource.style.impl.CxGridPropQuantityStyleImpl <em>Cx Grid Prop Quantity Style</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.style.impl.CxGridPropQuantityStyleImpl
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.style.impl.CxGridStylePackageImpl#getCxGridPropQuantityStyle()
+	 * @generated
+	 */
+	int CX_GRID_PROP_QUANTITY_STYLE = 15;
+
+	/**
+	 * The feature id for the '<em><b>Value Property Path</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CX_GRID_PROP_QUANTITY_STYLE__VALUE_PROPERTY_PATH = CX_GRID_PROP_STYLE_FEATURE_COUNT + 0;
+
+	/**
+	 * The feature id for the '<em><b>Value Property Dot Path</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CX_GRID_PROP_QUANTITY_STYLE__VALUE_PROPERTY_DOT_PATH = CX_GRID_PROP_STYLE_FEATURE_COUNT + 1;
+
+	/**
+	 * The feature id for the '<em><b>Value Number Format</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CX_GRID_PROP_QUANTITY_STYLE__VALUE_NUMBER_FORMAT = CX_GRID_PROP_STYLE_FEATURE_COUNT + 2;
+
+	/**
+	 * The feature id for the '<em><b>Uom Property Path</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CX_GRID_PROP_QUANTITY_STYLE__UOM_PROPERTY_PATH = CX_GRID_PROP_STYLE_FEATURE_COUNT + 3;
+
+	/**
+	 * The feature id for the '<em><b>Uom Property Dot Path</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CX_GRID_PROP_QUANTITY_STYLE__UOM_PROPERTY_DOT_PATH = CX_GRID_PROP_STYLE_FEATURE_COUNT + 4;
+
+	/**
+	 * The feature id for the '<em><b>Html Pattern</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CX_GRID_PROP_QUANTITY_STYLE__HTML_PATTERN = CX_GRID_PROP_STYLE_FEATURE_COUNT + 5;
+
+	/**
+	 * The number of structural features of the '<em>Cx Grid Prop Quantity Style</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CX_GRID_PROP_QUANTITY_STYLE_FEATURE_COUNT = CX_GRID_PROP_STYLE_FEATURE_COUNT + 6;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.osbp.infogrid.model.gridsource.style.impl.CxGridPropPriceStyleImpl <em>Cx Grid Prop Price Style</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.style.impl.CxGridPropPriceStyleImpl
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.style.impl.CxGridStylePackageImpl#getCxGridPropPriceStyle()
+	 * @generated
+	 */
+	int CX_GRID_PROP_PRICE_STYLE = 16;
+
+	/**
+	 * The feature id for the '<em><b>Value Property Path</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CX_GRID_PROP_PRICE_STYLE__VALUE_PROPERTY_PATH = CX_GRID_PROP_STYLE_FEATURE_COUNT + 0;
+
+	/**
+	 * The feature id for the '<em><b>Value Property Dot Path</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CX_GRID_PROP_PRICE_STYLE__VALUE_PROPERTY_DOT_PATH = CX_GRID_PROP_STYLE_FEATURE_COUNT + 1;
+
+	/**
+	 * The feature id for the '<em><b>Value Number Format</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CX_GRID_PROP_PRICE_STYLE__VALUE_NUMBER_FORMAT = CX_GRID_PROP_STYLE_FEATURE_COUNT + 2;
+
+	/**
+	 * The feature id for the '<em><b>Currency Property Path</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CX_GRID_PROP_PRICE_STYLE__CURRENCY_PROPERTY_PATH = CX_GRID_PROP_STYLE_FEATURE_COUNT + 3;
+
+	/**
+	 * The feature id for the '<em><b>Currency Property Dot Path</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CX_GRID_PROP_PRICE_STYLE__CURRENCY_PROPERTY_DOT_PATH = CX_GRID_PROP_STYLE_FEATURE_COUNT + 4;
+
+	/**
+	 * The feature id for the '<em><b>Html Pattern</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CX_GRID_PROP_PRICE_STYLE__HTML_PATTERN = CX_GRID_PROP_STYLE_FEATURE_COUNT + 5;
+
+	/**
+	 * The number of structural features of the '<em>Cx Grid Prop Price Style</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CX_GRID_PROP_PRICE_STYLE_FEATURE_COUNT = CX_GRID_PROP_STYLE_FEATURE_COUNT + 6;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridCompare <em>Cx Grid Compare</em>}' enum.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.style.CxGridCompare
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.style.impl.CxGridStylePackageImpl#getCxGridCompare()
+	 * @generated
+	 */
+	int CX_GRID_COMPARE = 17;
+
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropStyle <em>Cx Grid Prop Style</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Cx Grid Prop Style</em>'.
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropStyle
+	 * @generated
+	 */
+	EClass getCxGridPropStyle();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropHtmlStyle <em>Cx Grid Prop Html Style</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Cx Grid Prop Html Style</em>'.
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropHtmlStyle
+	 * @generated
+	 */
+	EClass getCxGridPropHtmlStyle();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropTextStyle <em>Cx Grid Prop Text Style</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Cx Grid Prop Text Style</em>'.
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropTextStyle
+	 * @generated
+	 */
+	EClass getCxGridPropTextStyle();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropButtonStyle <em>Cx Grid Prop Button Style</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Cx Grid Prop Button Style</em>'.
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropButtonStyle
+	 * @generated
+	 */
+	EClass getCxGridPropButtonStyle();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropProgressbarStyle <em>Cx Grid Prop Progressbar Style</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Cx Grid Prop Progressbar Style</em>'.
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropProgressbarStyle
+	 * @generated
+	 */
+	EClass getCxGridPropProgressbarStyle();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropProgressbarStyle#getMaxValue <em>Max Value</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Max Value</em>'.
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropProgressbarStyle#getMaxValue()
+	 * @see #getCxGridPropProgressbarStyle()
+	 * @generated
+	 */
+	EAttribute getCxGridPropProgressbarStyle_MaxValue();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropSparklineStyle <em>Cx Grid Prop Sparkline Style</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Cx Grid Prop Sparkline Style</em>'.
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropSparklineStyle
+	 * @generated
+	 */
+	EClass getCxGridPropSparklineStyle();
+
+	/**
+	 * Returns the meta object for the containment reference '{@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropSparklineStyle#getField <em>Field</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference '<em>Field</em>'.
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropSparklineStyle#getField()
+	 * @see #getCxGridPropSparklineStyle()
+	 * @generated
+	 */
+	EReference getCxGridPropSparklineStyle_Field();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropBooleanStyle <em>Cx Grid Prop Boolean Style</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Cx Grid Prop Boolean Style</em>'.
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropBooleanStyle
+	 * @generated
+	 */
+	EClass getCxGridPropBooleanStyle();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropNumberStyle <em>Cx Grid Prop Number Style</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Cx Grid Prop Number Style</em>'.
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropNumberStyle
+	 * @generated
+	 */
+	EClass getCxGridPropNumberStyle();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropNumberStyle#getNumberFormat <em>Number Format</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Number Format</em>'.
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropNumberStyle#getNumberFormat()
+	 * @see #getCxGridPropNumberStyle()
+	 * @generated
+	 */
+	EAttribute getCxGridPropNumberStyle_NumberFormat();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropImageStyle <em>Cx Grid Prop Image Style</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Cx Grid Prop Image Style</em>'.
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropImageStyle
+	 * @generated
+	 */
+	EClass getCxGridPropImageStyle();
+
+	/**
+	 * Returns the meta object for the containment reference list '{@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropImageStyle#getConfigs <em>Configs</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference list '<em>Configs</em>'.
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropImageStyle#getConfigs()
+	 * @see #getCxGridPropImageStyle()
+	 * @generated
+	 */
+	EReference getCxGridPropImageStyle_Configs();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropIndicatorStyle <em>Cx Grid Prop Indicator Style</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Cx Grid Prop Indicator Style</em>'.
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropIndicatorStyle
+	 * @generated
+	 */
+	EClass getCxGridPropIndicatorStyle();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropIndicatorStyle#getGreenStarts <em>Green Starts</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Green Starts</em>'.
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropIndicatorStyle#getGreenStarts()
+	 * @see #getCxGridPropIndicatorStyle()
+	 * @generated
+	 */
+	EAttribute getCxGridPropIndicatorStyle_GreenStarts();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropIndicatorStyle#getRedEnds <em>Red Ends</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Red Ends</em>'.
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropIndicatorStyle#getRedEnds()
+	 * @see #getCxGridPropIndicatorStyle()
+	 * @generated
+	 */
+	EAttribute getCxGridPropIndicatorStyle_RedEnds();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropDateStyle <em>Cx Grid Prop Date Style</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Cx Grid Prop Date Style</em>'.
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropDateStyle
+	 * @generated
+	 */
+	EClass getCxGridPropDateStyle();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropDateStyle#getDateFormat <em>Date Format</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Date Format</em>'.
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropDateStyle#getDateFormat()
+	 * @see #getCxGridPropDateStyle()
+	 * @generated
+	 */
+	EAttribute getCxGridPropDateStyle_DateFormat();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridStyleConfig <em>Config</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Config</em>'.
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.style.CxGridStyleConfig
+	 * @generated
+	 */
+	EClass getCxGridStyleConfig();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridStyleConfigStringToResource <em>Config String To Resource</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Config String To Resource</em>'.
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.style.CxGridStyleConfigStringToResource
+	 * @generated
+	 */
+	EClass getCxGridStyleConfigStringToResource();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridStyleConfigStringToResource#getValue <em>Value</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Value</em>'.
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.style.CxGridStyleConfigStringToResource#getValue()
+	 * @see #getCxGridStyleConfigStringToResource()
+	 * @generated
+	 */
+	EAttribute getCxGridStyleConfigStringToResource_Value();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridStyleConfigStringToResource#getCompare <em>Compare</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Compare</em>'.
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.style.CxGridStyleConfigStringToResource#getCompare()
+	 * @see #getCxGridStyleConfigStringToResource()
+	 * @generated
+	 */
+	EAttribute getCxGridStyleConfigStringToResource_Compare();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridStyleConfigStringToResource#getResourceThemePath <em>Resource Theme Path</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Resource Theme Path</em>'.
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.style.CxGridStyleConfigStringToResource#getResourceThemePath()
+	 * @see #getCxGridStyleConfigStringToResource()
+	 * @generated
+	 */
+	EAttribute getCxGridStyleConfigStringToResource_ResourceThemePath();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridStyleConfigNumericToResource <em>Config Numeric To Resource</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Config Numeric To Resource</em>'.
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.style.CxGridStyleConfigNumericToResource
+	 * @generated
+	 */
+	EClass getCxGridStyleConfigNumericToResource();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridStyleConfigNumericToResource#getValue <em>Value</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Value</em>'.
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.style.CxGridStyleConfigNumericToResource#getValue()
+	 * @see #getCxGridStyleConfigNumericToResource()
+	 * @generated
+	 */
+	EAttribute getCxGridStyleConfigNumericToResource_Value();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridStyleConfigNumericToResource#getCompare <em>Compare</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Compare</em>'.
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.style.CxGridStyleConfigNumericToResource#getCompare()
+	 * @see #getCxGridStyleConfigNumericToResource()
+	 * @generated
+	 */
+	EAttribute getCxGridStyleConfigNumericToResource_Compare();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridStyleConfigNumericToResource#getResourceThemePath <em>Resource Theme Path</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Resource Theme Path</em>'.
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.style.CxGridStyleConfigNumericToResource#getResourceThemePath()
+	 * @see #getCxGridStyleConfigNumericToResource()
+	 * @generated
+	 */
+	EAttribute getCxGridStyleConfigNumericToResource_ResourceThemePath();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridEventTopicAble <em>Cx Grid Event Topic Able</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Cx Grid Event Topic Able</em>'.
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.style.CxGridEventTopicAble
+	 * @generated
+	 */
+	EClass getCxGridEventTopicAble();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridEventTopicAble#getEventTopic <em>Event Topic</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Event Topic</em>'.
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.style.CxGridEventTopicAble#getEventTopic()
+	 * @see #getCxGridEventTopicAble()
+	 * @generated
+	 */
+	EAttribute getCxGridEventTopicAble_EventTopic();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropQuantityStyle <em>Cx Grid Prop Quantity Style</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Cx Grid Prop Quantity Style</em>'.
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropQuantityStyle
+	 * @generated
+	 */
+	EClass getCxGridPropQuantityStyle();
+
+	/**
+	 * Returns the meta object for the containment reference '{@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropQuantityStyle#getValuePropertyPath <em>Value Property Path</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference '<em>Value Property Path</em>'.
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropQuantityStyle#getValuePropertyPath()
+	 * @see #getCxGridPropQuantityStyle()
+	 * @generated
+	 */
+	EReference getCxGridPropQuantityStyle_ValuePropertyPath();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropQuantityStyle#getValuePropertyDotPath <em>Value Property Dot Path</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Value Property Dot Path</em>'.
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropQuantityStyle#getValuePropertyDotPath()
+	 * @see #getCxGridPropQuantityStyle()
+	 * @generated
+	 */
+	EAttribute getCxGridPropQuantityStyle_ValuePropertyDotPath();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropQuantityStyle#getValueNumberFormat <em>Value Number Format</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Value Number Format</em>'.
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropQuantityStyle#getValueNumberFormat()
+	 * @see #getCxGridPropQuantityStyle()
+	 * @generated
+	 */
+	EAttribute getCxGridPropQuantityStyle_ValueNumberFormat();
+
+	/**
+	 * Returns the meta object for the containment reference '{@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropQuantityStyle#getUomPropertyPath <em>Uom Property Path</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference '<em>Uom Property Path</em>'.
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropQuantityStyle#getUomPropertyPath()
+	 * @see #getCxGridPropQuantityStyle()
+	 * @generated
+	 */
+	EReference getCxGridPropQuantityStyle_UomPropertyPath();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropQuantityStyle#getUomPropertyDotPath <em>Uom Property Dot Path</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Uom Property Dot Path</em>'.
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropQuantityStyle#getUomPropertyDotPath()
+	 * @see #getCxGridPropQuantityStyle()
+	 * @generated
+	 */
+	EAttribute getCxGridPropQuantityStyle_UomPropertyDotPath();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropQuantityStyle#getHtmlPattern <em>Html Pattern</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Html Pattern</em>'.
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropQuantityStyle#getHtmlPattern()
+	 * @see #getCxGridPropQuantityStyle()
+	 * @generated
+	 */
+	EAttribute getCxGridPropQuantityStyle_HtmlPattern();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropPriceStyle <em>Cx Grid Prop Price Style</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Cx Grid Prop Price Style</em>'.
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropPriceStyle
+	 * @generated
+	 */
+	EClass getCxGridPropPriceStyle();
+
+	/**
+	 * Returns the meta object for the containment reference '{@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropPriceStyle#getValuePropertyPath <em>Value Property Path</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference '<em>Value Property Path</em>'.
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropPriceStyle#getValuePropertyPath()
+	 * @see #getCxGridPropPriceStyle()
+	 * @generated
+	 */
+	EReference getCxGridPropPriceStyle_ValuePropertyPath();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropPriceStyle#getValuePropertyDotPath <em>Value Property Dot Path</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Value Property Dot Path</em>'.
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropPriceStyle#getValuePropertyDotPath()
+	 * @see #getCxGridPropPriceStyle()
+	 * @generated
+	 */
+	EAttribute getCxGridPropPriceStyle_ValuePropertyDotPath();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropPriceStyle#getValueNumberFormat <em>Value Number Format</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Value Number Format</em>'.
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropPriceStyle#getValueNumberFormat()
+	 * @see #getCxGridPropPriceStyle()
+	 * @generated
+	 */
+	EAttribute getCxGridPropPriceStyle_ValueNumberFormat();
+
+	/**
+	 * Returns the meta object for the containment reference '{@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropPriceStyle#getCurrencyPropertyPath <em>Currency Property Path</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference '<em>Currency Property Path</em>'.
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropPriceStyle#getCurrencyPropertyPath()
+	 * @see #getCxGridPropPriceStyle()
+	 * @generated
+	 */
+	EReference getCxGridPropPriceStyle_CurrencyPropertyPath();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropPriceStyle#getCurrencyPropertyDotPath <em>Currency Property Dot Path</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Currency Property Dot Path</em>'.
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropPriceStyle#getCurrencyPropertyDotPath()
+	 * @see #getCxGridPropPriceStyle()
+	 * @generated
+	 */
+	EAttribute getCxGridPropPriceStyle_CurrencyPropertyDotPath();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropPriceStyle#getHtmlPattern <em>Html Pattern</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Html Pattern</em>'.
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropPriceStyle#getHtmlPattern()
+	 * @see #getCxGridPropPriceStyle()
+	 * @generated
+	 */
+	EAttribute getCxGridPropPriceStyle_HtmlPattern();
+
+	/**
+	 * Returns the meta object for enum '{@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridCompare <em>Cx Grid Compare</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for enum '<em>Cx Grid Compare</em>'.
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.style.CxGridCompare
+	 * @generated
+	 */
+	EEnum getCxGridCompare();
+
+	/**
+	 * Returns the factory that creates the instances of the model.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the factory that creates the instances of the model.
+	 * @generated
+	 */
+	CxGridStyleFactory getCxGridStyleFactory();
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * Defines literals for the meta objects that represent
+	 * <ul>
+	 *   <li>each class,</li>
+	 *   <li>each feature of each class,</li>
+	 *   <li>each enum,</li>
+	 *   <li>and each data type</li>
+	 * </ul>
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	interface Literals {
+		/**
+		 * The meta object literal for the '{@link org.eclipse.osbp.infogrid.model.gridsource.style.impl.CxGridPropStyleImpl <em>Cx Grid Prop Style</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.osbp.infogrid.model.gridsource.style.impl.CxGridPropStyleImpl
+		 * @see org.eclipse.osbp.infogrid.model.gridsource.style.impl.CxGridStylePackageImpl#getCxGridPropStyle()
+		 * @generated
+		 */
+		EClass CX_GRID_PROP_STYLE = eINSTANCE.getCxGridPropStyle();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.osbp.infogrid.model.gridsource.style.impl.CxGridPropHtmlStyleImpl <em>Cx Grid Prop Html Style</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.osbp.infogrid.model.gridsource.style.impl.CxGridPropHtmlStyleImpl
+		 * @see org.eclipse.osbp.infogrid.model.gridsource.style.impl.CxGridStylePackageImpl#getCxGridPropHtmlStyle()
+		 * @generated
+		 */
+		EClass CX_GRID_PROP_HTML_STYLE = eINSTANCE.getCxGridPropHtmlStyle();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.osbp.infogrid.model.gridsource.style.impl.CxGridPropTextStyleImpl <em>Cx Grid Prop Text Style</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.osbp.infogrid.model.gridsource.style.impl.CxGridPropTextStyleImpl
+		 * @see org.eclipse.osbp.infogrid.model.gridsource.style.impl.CxGridStylePackageImpl#getCxGridPropTextStyle()
+		 * @generated
+		 */
+		EClass CX_GRID_PROP_TEXT_STYLE = eINSTANCE.getCxGridPropTextStyle();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.osbp.infogrid.model.gridsource.style.impl.CxGridPropButtonStyleImpl <em>Cx Grid Prop Button Style</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.osbp.infogrid.model.gridsource.style.impl.CxGridPropButtonStyleImpl
+		 * @see org.eclipse.osbp.infogrid.model.gridsource.style.impl.CxGridStylePackageImpl#getCxGridPropButtonStyle()
+		 * @generated
+		 */
+		EClass CX_GRID_PROP_BUTTON_STYLE = eINSTANCE.getCxGridPropButtonStyle();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.osbp.infogrid.model.gridsource.style.impl.CxGridPropProgressbarStyleImpl <em>Cx Grid Prop Progressbar Style</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.osbp.infogrid.model.gridsource.style.impl.CxGridPropProgressbarStyleImpl
+		 * @see org.eclipse.osbp.infogrid.model.gridsource.style.impl.CxGridStylePackageImpl#getCxGridPropProgressbarStyle()
+		 * @generated
+		 */
+		EClass CX_GRID_PROP_PROGRESSBAR_STYLE = eINSTANCE.getCxGridPropProgressbarStyle();
+
+		/**
+		 * The meta object literal for the '<em><b>Max Value</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute CX_GRID_PROP_PROGRESSBAR_STYLE__MAX_VALUE = eINSTANCE.getCxGridPropProgressbarStyle_MaxValue();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.osbp.infogrid.model.gridsource.style.impl.CxGridPropSparklineStyleImpl <em>Cx Grid Prop Sparkline Style</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.osbp.infogrid.model.gridsource.style.impl.CxGridPropSparklineStyleImpl
+		 * @see org.eclipse.osbp.infogrid.model.gridsource.style.impl.CxGridStylePackageImpl#getCxGridPropSparklineStyle()
+		 * @generated
+		 */
+		EClass CX_GRID_PROP_SPARKLINE_STYLE = eINSTANCE.getCxGridPropSparklineStyle();
+
+		/**
+		 * The meta object literal for the '<em><b>Field</b></em>' containment reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference CX_GRID_PROP_SPARKLINE_STYLE__FIELD = eINSTANCE.getCxGridPropSparklineStyle_Field();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.osbp.infogrid.model.gridsource.style.impl.CxGridPropBooleanStyleImpl <em>Cx Grid Prop Boolean Style</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.osbp.infogrid.model.gridsource.style.impl.CxGridPropBooleanStyleImpl
+		 * @see org.eclipse.osbp.infogrid.model.gridsource.style.impl.CxGridStylePackageImpl#getCxGridPropBooleanStyle()
+		 * @generated
+		 */
+		EClass CX_GRID_PROP_BOOLEAN_STYLE = eINSTANCE.getCxGridPropBooleanStyle();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.osbp.infogrid.model.gridsource.style.impl.CxGridPropNumberStyleImpl <em>Cx Grid Prop Number Style</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.osbp.infogrid.model.gridsource.style.impl.CxGridPropNumberStyleImpl
+		 * @see org.eclipse.osbp.infogrid.model.gridsource.style.impl.CxGridStylePackageImpl#getCxGridPropNumberStyle()
+		 * @generated
+		 */
+		EClass CX_GRID_PROP_NUMBER_STYLE = eINSTANCE.getCxGridPropNumberStyle();
+
+		/**
+		 * The meta object literal for the '<em><b>Number Format</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute CX_GRID_PROP_NUMBER_STYLE__NUMBER_FORMAT = eINSTANCE.getCxGridPropNumberStyle_NumberFormat();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.osbp.infogrid.model.gridsource.style.impl.CxGridPropImageStyleImpl <em>Cx Grid Prop Image Style</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.osbp.infogrid.model.gridsource.style.impl.CxGridPropImageStyleImpl
+		 * @see org.eclipse.osbp.infogrid.model.gridsource.style.impl.CxGridStylePackageImpl#getCxGridPropImageStyle()
+		 * @generated
+		 */
+		EClass CX_GRID_PROP_IMAGE_STYLE = eINSTANCE.getCxGridPropImageStyle();
+
+		/**
+		 * The meta object literal for the '<em><b>Configs</b></em>' containment reference list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference CX_GRID_PROP_IMAGE_STYLE__CONFIGS = eINSTANCE.getCxGridPropImageStyle_Configs();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.osbp.infogrid.model.gridsource.style.impl.CxGridPropIndicatorStyleImpl <em>Cx Grid Prop Indicator Style</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.osbp.infogrid.model.gridsource.style.impl.CxGridPropIndicatorStyleImpl
+		 * @see org.eclipse.osbp.infogrid.model.gridsource.style.impl.CxGridStylePackageImpl#getCxGridPropIndicatorStyle()
+		 * @generated
+		 */
+		EClass CX_GRID_PROP_INDICATOR_STYLE = eINSTANCE.getCxGridPropIndicatorStyle();
+
+		/**
+		 * The meta object literal for the '<em><b>Green Starts</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute CX_GRID_PROP_INDICATOR_STYLE__GREEN_STARTS = eINSTANCE.getCxGridPropIndicatorStyle_GreenStarts();
+
+		/**
+		 * The meta object literal for the '<em><b>Red Ends</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute CX_GRID_PROP_INDICATOR_STYLE__RED_ENDS = eINSTANCE.getCxGridPropIndicatorStyle_RedEnds();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.osbp.infogrid.model.gridsource.style.impl.CxGridPropDateStyleImpl <em>Cx Grid Prop Date Style</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.osbp.infogrid.model.gridsource.style.impl.CxGridPropDateStyleImpl
+		 * @see org.eclipse.osbp.infogrid.model.gridsource.style.impl.CxGridStylePackageImpl#getCxGridPropDateStyle()
+		 * @generated
+		 */
+		EClass CX_GRID_PROP_DATE_STYLE = eINSTANCE.getCxGridPropDateStyle();
+
+		/**
+		 * The meta object literal for the '<em><b>Date Format</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute CX_GRID_PROP_DATE_STYLE__DATE_FORMAT = eINSTANCE.getCxGridPropDateStyle_DateFormat();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.osbp.infogrid.model.gridsource.style.impl.CxGridStyleConfigImpl <em>Config</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.osbp.infogrid.model.gridsource.style.impl.CxGridStyleConfigImpl
+		 * @see org.eclipse.osbp.infogrid.model.gridsource.style.impl.CxGridStylePackageImpl#getCxGridStyleConfig()
+		 * @generated
+		 */
+		EClass CX_GRID_STYLE_CONFIG = eINSTANCE.getCxGridStyleConfig();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.osbp.infogrid.model.gridsource.style.impl.CxGridStyleConfigStringToResourceImpl <em>Config String To Resource</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.osbp.infogrid.model.gridsource.style.impl.CxGridStyleConfigStringToResourceImpl
+		 * @see org.eclipse.osbp.infogrid.model.gridsource.style.impl.CxGridStylePackageImpl#getCxGridStyleConfigStringToResource()
+		 * @generated
+		 */
+		EClass CX_GRID_STYLE_CONFIG_STRING_TO_RESOURCE = eINSTANCE.getCxGridStyleConfigStringToResource();
+
+		/**
+		 * The meta object literal for the '<em><b>Value</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute CX_GRID_STYLE_CONFIG_STRING_TO_RESOURCE__VALUE = eINSTANCE.getCxGridStyleConfigStringToResource_Value();
+
+		/**
+		 * The meta object literal for the '<em><b>Compare</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute CX_GRID_STYLE_CONFIG_STRING_TO_RESOURCE__COMPARE = eINSTANCE.getCxGridStyleConfigStringToResource_Compare();
+
+		/**
+		 * The meta object literal for the '<em><b>Resource Theme Path</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute CX_GRID_STYLE_CONFIG_STRING_TO_RESOURCE__RESOURCE_THEME_PATH = eINSTANCE.getCxGridStyleConfigStringToResource_ResourceThemePath();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.osbp.infogrid.model.gridsource.style.impl.CxGridStyleConfigNumericToResourceImpl <em>Config Numeric To Resource</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.osbp.infogrid.model.gridsource.style.impl.CxGridStyleConfigNumericToResourceImpl
+		 * @see org.eclipse.osbp.infogrid.model.gridsource.style.impl.CxGridStylePackageImpl#getCxGridStyleConfigNumericToResource()
+		 * @generated
+		 */
+		EClass CX_GRID_STYLE_CONFIG_NUMERIC_TO_RESOURCE = eINSTANCE.getCxGridStyleConfigNumericToResource();
+
+		/**
+		 * The meta object literal for the '<em><b>Value</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute CX_GRID_STYLE_CONFIG_NUMERIC_TO_RESOURCE__VALUE = eINSTANCE.getCxGridStyleConfigNumericToResource_Value();
+
+		/**
+		 * The meta object literal for the '<em><b>Compare</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute CX_GRID_STYLE_CONFIG_NUMERIC_TO_RESOURCE__COMPARE = eINSTANCE.getCxGridStyleConfigNumericToResource_Compare();
+
+		/**
+		 * The meta object literal for the '<em><b>Resource Theme Path</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute CX_GRID_STYLE_CONFIG_NUMERIC_TO_RESOURCE__RESOURCE_THEME_PATH = eINSTANCE.getCxGridStyleConfigNumericToResource_ResourceThemePath();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridEventTopicAble <em>Cx Grid Event Topic Able</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.osbp.infogrid.model.gridsource.style.CxGridEventTopicAble
+		 * @see org.eclipse.osbp.infogrid.model.gridsource.style.impl.CxGridStylePackageImpl#getCxGridEventTopicAble()
+		 * @generated
+		 */
+		EClass CX_GRID_EVENT_TOPIC_ABLE = eINSTANCE.getCxGridEventTopicAble();
+
+		/**
+		 * The meta object literal for the '<em><b>Event Topic</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute CX_GRID_EVENT_TOPIC_ABLE__EVENT_TOPIC = eINSTANCE.getCxGridEventTopicAble_EventTopic();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.osbp.infogrid.model.gridsource.style.impl.CxGridPropQuantityStyleImpl <em>Cx Grid Prop Quantity Style</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.osbp.infogrid.model.gridsource.style.impl.CxGridPropQuantityStyleImpl
+		 * @see org.eclipse.osbp.infogrid.model.gridsource.style.impl.CxGridStylePackageImpl#getCxGridPropQuantityStyle()
+		 * @generated
+		 */
+		EClass CX_GRID_PROP_QUANTITY_STYLE = eINSTANCE.getCxGridPropQuantityStyle();
+
+		/**
+		 * The meta object literal for the '<em><b>Value Property Path</b></em>' containment reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference CX_GRID_PROP_QUANTITY_STYLE__VALUE_PROPERTY_PATH = eINSTANCE.getCxGridPropQuantityStyle_ValuePropertyPath();
+
+		/**
+		 * The meta object literal for the '<em><b>Value Property Dot Path</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute CX_GRID_PROP_QUANTITY_STYLE__VALUE_PROPERTY_DOT_PATH = eINSTANCE.getCxGridPropQuantityStyle_ValuePropertyDotPath();
+
+		/**
+		 * The meta object literal for the '<em><b>Value Number Format</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute CX_GRID_PROP_QUANTITY_STYLE__VALUE_NUMBER_FORMAT = eINSTANCE.getCxGridPropQuantityStyle_ValueNumberFormat();
+
+		/**
+		 * The meta object literal for the '<em><b>Uom Property Path</b></em>' containment reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference CX_GRID_PROP_QUANTITY_STYLE__UOM_PROPERTY_PATH = eINSTANCE.getCxGridPropQuantityStyle_UomPropertyPath();
+
+		/**
+		 * The meta object literal for the '<em><b>Uom Property Dot Path</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute CX_GRID_PROP_QUANTITY_STYLE__UOM_PROPERTY_DOT_PATH = eINSTANCE.getCxGridPropQuantityStyle_UomPropertyDotPath();
+
+		/**
+		 * The meta object literal for the '<em><b>Html Pattern</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute CX_GRID_PROP_QUANTITY_STYLE__HTML_PATTERN = eINSTANCE.getCxGridPropQuantityStyle_HtmlPattern();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.osbp.infogrid.model.gridsource.style.impl.CxGridPropPriceStyleImpl <em>Cx Grid Prop Price Style</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.osbp.infogrid.model.gridsource.style.impl.CxGridPropPriceStyleImpl
+		 * @see org.eclipse.osbp.infogrid.model.gridsource.style.impl.CxGridStylePackageImpl#getCxGridPropPriceStyle()
+		 * @generated
+		 */
+		EClass CX_GRID_PROP_PRICE_STYLE = eINSTANCE.getCxGridPropPriceStyle();
+
+		/**
+		 * The meta object literal for the '<em><b>Value Property Path</b></em>' containment reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference CX_GRID_PROP_PRICE_STYLE__VALUE_PROPERTY_PATH = eINSTANCE.getCxGridPropPriceStyle_ValuePropertyPath();
+
+		/**
+		 * The meta object literal for the '<em><b>Value Property Dot Path</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute CX_GRID_PROP_PRICE_STYLE__VALUE_PROPERTY_DOT_PATH = eINSTANCE.getCxGridPropPriceStyle_ValuePropertyDotPath();
+
+		/**
+		 * The meta object literal for the '<em><b>Value Number Format</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute CX_GRID_PROP_PRICE_STYLE__VALUE_NUMBER_FORMAT = eINSTANCE.getCxGridPropPriceStyle_ValueNumberFormat();
+
+		/**
+		 * The meta object literal for the '<em><b>Currency Property Path</b></em>' containment reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference CX_GRID_PROP_PRICE_STYLE__CURRENCY_PROPERTY_PATH = eINSTANCE.getCxGridPropPriceStyle_CurrencyPropertyPath();
+
+		/**
+		 * The meta object literal for the '<em><b>Currency Property Dot Path</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute CX_GRID_PROP_PRICE_STYLE__CURRENCY_PROPERTY_DOT_PATH = eINSTANCE.getCxGridPropPriceStyle_CurrencyPropertyDotPath();
+
+		/**
+		 * The meta object literal for the '<em><b>Html Pattern</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute CX_GRID_PROP_PRICE_STYLE__HTML_PATTERN = eINSTANCE.getCxGridPropPriceStyle_HtmlPattern();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridCompare <em>Cx Grid Compare</em>}' enum.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.osbp.infogrid.model.gridsource.style.CxGridCompare
+		 * @see org.eclipse.osbp.infogrid.model.gridsource.style.impl.CxGridStylePackageImpl#getCxGridCompare()
+		 * @generated
+		 */
+		EEnum CX_GRID_COMPARE = eINSTANCE.getCxGridCompare();
+
+	}
+
+} //CxGridStylePackage
diff --git a/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/style/impl/CxGridPropBooleanStyleImpl.java b/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/style/impl/CxGridPropBooleanStyleImpl.java
new file mode 100644
index 0000000..9590860
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/style/impl/CxGridPropBooleanStyleImpl.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:   
+ * Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation 
+ */
+ package org.eclipse.osbp.infogrid.model.gridsource.style.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropBooleanStyle;
+import org.eclipse.osbp.infogrid.model.gridsource.style.CxGridStylePackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Cx Grid Prop Boolean Style</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class CxGridPropBooleanStyleImpl extends CxGridPropStyleImpl implements CxGridPropBooleanStyle {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected CxGridPropBooleanStyleImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return CxGridStylePackage.Literals.CX_GRID_PROP_BOOLEAN_STYLE;
+	}
+
+} //CxGridPropBooleanStyleImpl
diff --git a/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/style/impl/CxGridPropButtonStyleImpl.java b/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/style/impl/CxGridPropButtonStyleImpl.java
new file mode 100644
index 0000000..6499fd6
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/style/impl/CxGridPropButtonStyleImpl.java
@@ -0,0 +1,202 @@
+/**
+ *                                                                            
+ * 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.infogrid.model.gridsource.style.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.osbp.infogrid.model.gridsource.style.CxGridEventTopicAble;
+import org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropButtonStyle;
+import org.eclipse.osbp.infogrid.model.gridsource.style.CxGridStylePackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Cx Grid Prop Button Style</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.infogrid.model.gridsource.style.impl.CxGridPropButtonStyleImpl#getEventTopic <em>Event Topic</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class CxGridPropButtonStyleImpl extends CxGridPropStyleImpl implements CxGridPropButtonStyle {
+	/**
+	 * The default value of the '{@link #getEventTopic() <em>Event Topic</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getEventTopic()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String EVENT_TOPIC_EDEFAULT = null;
+	/**
+	 * The cached value of the '{@link #getEventTopic() <em>Event Topic</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getEventTopic()
+	 * @generated
+	 * @ordered
+	 */
+	protected String eventTopic = EVENT_TOPIC_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected CxGridPropButtonStyleImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return CxGridStylePackage.Literals.CX_GRID_PROP_BUTTON_STYLE;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getEventTopic() {
+		return eventTopic;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setEventTopic(String newEventTopic) {
+		String oldEventTopic = eventTopic;
+		eventTopic = newEventTopic;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, CxGridStylePackage.CX_GRID_PROP_BUTTON_STYLE__EVENT_TOPIC, oldEventTopic, eventTopic));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case CxGridStylePackage.CX_GRID_PROP_BUTTON_STYLE__EVENT_TOPIC:
+				return getEventTopic();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case CxGridStylePackage.CX_GRID_PROP_BUTTON_STYLE__EVENT_TOPIC:
+				setEventTopic((String)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case CxGridStylePackage.CX_GRID_PROP_BUTTON_STYLE__EVENT_TOPIC:
+				setEventTopic(EVENT_TOPIC_EDEFAULT);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case CxGridStylePackage.CX_GRID_PROP_BUTTON_STYLE__EVENT_TOPIC:
+				return EVENT_TOPIC_EDEFAULT == null ? eventTopic != null : !EVENT_TOPIC_EDEFAULT.equals(eventTopic);
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) {
+		if (baseClass == CxGridEventTopicAble.class) {
+			switch (derivedFeatureID) {
+				case CxGridStylePackage.CX_GRID_PROP_BUTTON_STYLE__EVENT_TOPIC: return CxGridStylePackage.CX_GRID_EVENT_TOPIC_ABLE__EVENT_TOPIC;
+				default: return -1;
+			}
+		}
+		return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass) {
+		if (baseClass == CxGridEventTopicAble.class) {
+			switch (baseFeatureID) {
+				case CxGridStylePackage.CX_GRID_EVENT_TOPIC_ABLE__EVENT_TOPIC: return CxGridStylePackage.CX_GRID_PROP_BUTTON_STYLE__EVENT_TOPIC;
+				default: return -1;
+			}
+		}
+		return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (eventTopic: ");
+		result.append(eventTopic);
+		result.append(')');
+		return result.toString();
+	}
+
+} //CxGridPropButtonStyleImpl
diff --git a/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/style/impl/CxGridPropDateStyleImpl.java b/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/style/impl/CxGridPropDateStyleImpl.java
new file mode 100644
index 0000000..1d99dd0
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/style/impl/CxGridPropDateStyleImpl.java
@@ -0,0 +1,172 @@
+/**
+ *                                                                            
+ * 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.infogrid.model.gridsource.style.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropDateStyle;
+import org.eclipse.osbp.infogrid.model.gridsource.style.CxGridStylePackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Cx Grid Prop Date Style</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.infogrid.model.gridsource.style.impl.CxGridPropDateStyleImpl#getDateFormat <em>Date Format</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class CxGridPropDateStyleImpl extends CxGridPropStyleImpl implements CxGridPropDateStyle {
+	/**
+	 * The default value of the '{@link #getDateFormat() <em>Date Format</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getDateFormat()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String DATE_FORMAT_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getDateFormat() <em>Date Format</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getDateFormat()
+	 * @generated
+	 * @ordered
+	 */
+	protected String dateFormat = DATE_FORMAT_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected CxGridPropDateStyleImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return CxGridStylePackage.Literals.CX_GRID_PROP_DATE_STYLE;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getDateFormat() {
+		return dateFormat;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setDateFormat(String newDateFormat) {
+		String oldDateFormat = dateFormat;
+		dateFormat = newDateFormat;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, CxGridStylePackage.CX_GRID_PROP_DATE_STYLE__DATE_FORMAT, oldDateFormat, dateFormat));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case CxGridStylePackage.CX_GRID_PROP_DATE_STYLE__DATE_FORMAT:
+				return getDateFormat();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case CxGridStylePackage.CX_GRID_PROP_DATE_STYLE__DATE_FORMAT:
+				setDateFormat((String)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case CxGridStylePackage.CX_GRID_PROP_DATE_STYLE__DATE_FORMAT:
+				setDateFormat(DATE_FORMAT_EDEFAULT);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case CxGridStylePackage.CX_GRID_PROP_DATE_STYLE__DATE_FORMAT:
+				return DATE_FORMAT_EDEFAULT == null ? dateFormat != null : !DATE_FORMAT_EDEFAULT.equals(dateFormat);
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (dateFormat: ");
+		result.append(dateFormat);
+		result.append(')');
+		return result.toString();
+	}
+
+} //CxGridPropDateStyleImpl
diff --git a/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/style/impl/CxGridPropHtmlStyleImpl.java b/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/style/impl/CxGridPropHtmlStyleImpl.java
new file mode 100644
index 0000000..57a9855
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/style/impl/CxGridPropHtmlStyleImpl.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:   
+ * Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation 
+ */
+ package org.eclipse.osbp.infogrid.model.gridsource.style.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropHtmlStyle;
+import org.eclipse.osbp.infogrid.model.gridsource.style.CxGridStylePackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Cx Grid Prop Html Style</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class CxGridPropHtmlStyleImpl extends CxGridPropStyleImpl implements CxGridPropHtmlStyle {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected CxGridPropHtmlStyleImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return CxGridStylePackage.Literals.CX_GRID_PROP_HTML_STYLE;
+	}
+
+} //CxGridPropHtmlStyleImpl
diff --git a/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/style/impl/CxGridPropImageStyleImpl.java b/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/style/impl/CxGridPropImageStyleImpl.java
new file mode 100644
index 0000000..1367e0d
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/style/impl/CxGridPropImageStyleImpl.java
@@ -0,0 +1,261 @@
+/**
+ *                                                                            
+ * 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.infogrid.model.gridsource.style.impl;
+
+import java.util.Collection;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.osbp.infogrid.model.gridsource.style.CxGridEventTopicAble;
+import org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropImageStyle;
+import org.eclipse.osbp.infogrid.model.gridsource.style.CxGridStyleConfig;
+import org.eclipse.osbp.infogrid.model.gridsource.style.CxGridStylePackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Cx Grid Prop Image Style</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.infogrid.model.gridsource.style.impl.CxGridPropImageStyleImpl#getEventTopic <em>Event Topic</em>}</li>
+ *   <li>{@link org.eclipse.osbp.infogrid.model.gridsource.style.impl.CxGridPropImageStyleImpl#getConfigs <em>Configs</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class CxGridPropImageStyleImpl extends CxGridPropStyleImpl implements CxGridPropImageStyle {
+	/**
+	 * The default value of the '{@link #getEventTopic() <em>Event Topic</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getEventTopic()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String EVENT_TOPIC_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getEventTopic() <em>Event Topic</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getEventTopic()
+	 * @generated
+	 * @ordered
+	 */
+	protected String eventTopic = EVENT_TOPIC_EDEFAULT;
+
+	/**
+	 * The cached value of the '{@link #getConfigs() <em>Configs</em>}' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getConfigs()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<CxGridStyleConfig> configs;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected CxGridPropImageStyleImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return CxGridStylePackage.Literals.CX_GRID_PROP_IMAGE_STYLE;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getEventTopic() {
+		return eventTopic;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setEventTopic(String newEventTopic) {
+		String oldEventTopic = eventTopic;
+		eventTopic = newEventTopic;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, CxGridStylePackage.CX_GRID_PROP_IMAGE_STYLE__EVENT_TOPIC, oldEventTopic, eventTopic));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList<CxGridStyleConfig> getConfigs() {
+		if (configs == null) {
+			configs = new EObjectContainmentEList<CxGridStyleConfig>(CxGridStyleConfig.class, this, CxGridStylePackage.CX_GRID_PROP_IMAGE_STYLE__CONFIGS);
+		}
+		return configs;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+		switch (featureID) {
+			case CxGridStylePackage.CX_GRID_PROP_IMAGE_STYLE__CONFIGS:
+				return ((InternalEList<?>)getConfigs()).basicRemove(otherEnd, msgs);
+		}
+		return super.eInverseRemove(otherEnd, featureID, msgs);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case CxGridStylePackage.CX_GRID_PROP_IMAGE_STYLE__EVENT_TOPIC:
+				return getEventTopic();
+			case CxGridStylePackage.CX_GRID_PROP_IMAGE_STYLE__CONFIGS:
+				return getConfigs();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@SuppressWarnings("unchecked")
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case CxGridStylePackage.CX_GRID_PROP_IMAGE_STYLE__EVENT_TOPIC:
+				setEventTopic((String)newValue);
+				return;
+			case CxGridStylePackage.CX_GRID_PROP_IMAGE_STYLE__CONFIGS:
+				getConfigs().clear();
+				getConfigs().addAll((Collection<? extends CxGridStyleConfig>)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case CxGridStylePackage.CX_GRID_PROP_IMAGE_STYLE__EVENT_TOPIC:
+				setEventTopic(EVENT_TOPIC_EDEFAULT);
+				return;
+			case CxGridStylePackage.CX_GRID_PROP_IMAGE_STYLE__CONFIGS:
+				getConfigs().clear();
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case CxGridStylePackage.CX_GRID_PROP_IMAGE_STYLE__EVENT_TOPIC:
+				return EVENT_TOPIC_EDEFAULT == null ? eventTopic != null : !EVENT_TOPIC_EDEFAULT.equals(eventTopic);
+			case CxGridStylePackage.CX_GRID_PROP_IMAGE_STYLE__CONFIGS:
+				return configs != null && !configs.isEmpty();
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) {
+		if (baseClass == CxGridEventTopicAble.class) {
+			switch (derivedFeatureID) {
+				case CxGridStylePackage.CX_GRID_PROP_IMAGE_STYLE__EVENT_TOPIC: return CxGridStylePackage.CX_GRID_EVENT_TOPIC_ABLE__EVENT_TOPIC;
+				default: return -1;
+			}
+		}
+		return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass) {
+		if (baseClass == CxGridEventTopicAble.class) {
+			switch (baseFeatureID) {
+				case CxGridStylePackage.CX_GRID_EVENT_TOPIC_ABLE__EVENT_TOPIC: return CxGridStylePackage.CX_GRID_PROP_IMAGE_STYLE__EVENT_TOPIC;
+				default: return -1;
+			}
+		}
+		return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (eventTopic: ");
+		result.append(eventTopic);
+		result.append(')');
+		return result.toString();
+	}
+
+} //CxGridPropImageStyleImpl
diff --git a/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/style/impl/CxGridPropIndicatorStyleImpl.java b/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/style/impl/CxGridPropIndicatorStyleImpl.java
new file mode 100644
index 0000000..e868728
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/style/impl/CxGridPropIndicatorStyleImpl.java
@@ -0,0 +1,313 @@
+/**
+ *                                                                            
+ * 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.infogrid.model.gridsource.style.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.osbp.infogrid.model.gridsource.style.CxGridEventTopicAble;
+import org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropIndicatorStyle;
+import org.eclipse.osbp.infogrid.model.gridsource.style.CxGridStylePackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Cx Grid Prop Indicator Style</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.infogrid.model.gridsource.style.impl.CxGridPropIndicatorStyleImpl#getEventTopic <em>Event Topic</em>}</li>
+ *   <li>{@link org.eclipse.osbp.infogrid.model.gridsource.style.impl.CxGridPropIndicatorStyleImpl#getGreenStarts <em>Green Starts</em>}</li>
+ *   <li>{@link org.eclipse.osbp.infogrid.model.gridsource.style.impl.CxGridPropIndicatorStyleImpl#getRedEnds <em>Red Ends</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class CxGridPropIndicatorStyleImpl extends CxGridPropStyleImpl implements CxGridPropIndicatorStyle {
+	/**
+	 * The default value of the '{@link #getEventTopic() <em>Event Topic</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getEventTopic()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String EVENT_TOPIC_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getEventTopic() <em>Event Topic</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getEventTopic()
+	 * @generated
+	 * @ordered
+	 */
+	protected String eventTopic = EVENT_TOPIC_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getGreenStarts() <em>Green Starts</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getGreenStarts()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final double GREEN_STARTS_EDEFAULT = 0.0;
+
+	/**
+	 * The cached value of the '{@link #getGreenStarts() <em>Green Starts</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getGreenStarts()
+	 * @generated
+	 * @ordered
+	 */
+	protected double greenStarts = GREEN_STARTS_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getRedEnds() <em>Red Ends</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getRedEnds()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final double RED_ENDS_EDEFAULT = 0.0;
+
+	/**
+	 * The cached value of the '{@link #getRedEnds() <em>Red Ends</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getRedEnds()
+	 * @generated
+	 * @ordered
+	 */
+	protected double redEnds = RED_ENDS_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected CxGridPropIndicatorStyleImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return CxGridStylePackage.Literals.CX_GRID_PROP_INDICATOR_STYLE;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getEventTopic() {
+		return eventTopic;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setEventTopic(String newEventTopic) {
+		String oldEventTopic = eventTopic;
+		eventTopic = newEventTopic;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, CxGridStylePackage.CX_GRID_PROP_INDICATOR_STYLE__EVENT_TOPIC, oldEventTopic, eventTopic));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public double getGreenStarts() {
+		return greenStarts;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setGreenStarts(double newGreenStarts) {
+		double oldGreenStarts = greenStarts;
+		greenStarts = newGreenStarts;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, CxGridStylePackage.CX_GRID_PROP_INDICATOR_STYLE__GREEN_STARTS, oldGreenStarts, greenStarts));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public double getRedEnds() {
+		return redEnds;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setRedEnds(double newRedEnds) {
+		double oldRedEnds = redEnds;
+		redEnds = newRedEnds;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, CxGridStylePackage.CX_GRID_PROP_INDICATOR_STYLE__RED_ENDS, oldRedEnds, redEnds));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case CxGridStylePackage.CX_GRID_PROP_INDICATOR_STYLE__EVENT_TOPIC:
+				return getEventTopic();
+			case CxGridStylePackage.CX_GRID_PROP_INDICATOR_STYLE__GREEN_STARTS:
+				return getGreenStarts();
+			case CxGridStylePackage.CX_GRID_PROP_INDICATOR_STYLE__RED_ENDS:
+				return getRedEnds();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case CxGridStylePackage.CX_GRID_PROP_INDICATOR_STYLE__EVENT_TOPIC:
+				setEventTopic((String)newValue);
+				return;
+			case CxGridStylePackage.CX_GRID_PROP_INDICATOR_STYLE__GREEN_STARTS:
+				setGreenStarts((Double)newValue);
+				return;
+			case CxGridStylePackage.CX_GRID_PROP_INDICATOR_STYLE__RED_ENDS:
+				setRedEnds((Double)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case CxGridStylePackage.CX_GRID_PROP_INDICATOR_STYLE__EVENT_TOPIC:
+				setEventTopic(EVENT_TOPIC_EDEFAULT);
+				return;
+			case CxGridStylePackage.CX_GRID_PROP_INDICATOR_STYLE__GREEN_STARTS:
+				setGreenStarts(GREEN_STARTS_EDEFAULT);
+				return;
+			case CxGridStylePackage.CX_GRID_PROP_INDICATOR_STYLE__RED_ENDS:
+				setRedEnds(RED_ENDS_EDEFAULT);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case CxGridStylePackage.CX_GRID_PROP_INDICATOR_STYLE__EVENT_TOPIC:
+				return EVENT_TOPIC_EDEFAULT == null ? eventTopic != null : !EVENT_TOPIC_EDEFAULT.equals(eventTopic);
+			case CxGridStylePackage.CX_GRID_PROP_INDICATOR_STYLE__GREEN_STARTS:
+				return greenStarts != GREEN_STARTS_EDEFAULT;
+			case CxGridStylePackage.CX_GRID_PROP_INDICATOR_STYLE__RED_ENDS:
+				return redEnds != RED_ENDS_EDEFAULT;
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) {
+		if (baseClass == CxGridEventTopicAble.class) {
+			switch (derivedFeatureID) {
+				case CxGridStylePackage.CX_GRID_PROP_INDICATOR_STYLE__EVENT_TOPIC: return CxGridStylePackage.CX_GRID_EVENT_TOPIC_ABLE__EVENT_TOPIC;
+				default: return -1;
+			}
+		}
+		return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass) {
+		if (baseClass == CxGridEventTopicAble.class) {
+			switch (baseFeatureID) {
+				case CxGridStylePackage.CX_GRID_EVENT_TOPIC_ABLE__EVENT_TOPIC: return CxGridStylePackage.CX_GRID_PROP_INDICATOR_STYLE__EVENT_TOPIC;
+				default: return -1;
+			}
+		}
+		return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (eventTopic: ");
+		result.append(eventTopic);
+		result.append(", greenStarts: ");
+		result.append(greenStarts);
+		result.append(", redEnds: ");
+		result.append(redEnds);
+		result.append(')');
+		return result.toString();
+	}
+
+} //CxGridPropIndicatorStyleImpl
diff --git a/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/style/impl/CxGridPropNumberStyleImpl.java b/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/style/impl/CxGridPropNumberStyleImpl.java
new file mode 100644
index 0000000..9f04d3d
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/style/impl/CxGridPropNumberStyleImpl.java
@@ -0,0 +1,172 @@
+/**
+ *                                                                            
+ * 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.infogrid.model.gridsource.style.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropNumberStyle;
+import org.eclipse.osbp.infogrid.model.gridsource.style.CxGridStylePackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Cx Grid Prop Number Style</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.infogrid.model.gridsource.style.impl.CxGridPropNumberStyleImpl#getNumberFormat <em>Number Format</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class CxGridPropNumberStyleImpl extends CxGridPropStyleImpl implements CxGridPropNumberStyle {
+	/**
+	 * The default value of the '{@link #getNumberFormat() <em>Number Format</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getNumberFormat()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String NUMBER_FORMAT_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getNumberFormat() <em>Number Format</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getNumberFormat()
+	 * @generated
+	 * @ordered
+	 */
+	protected String numberFormat = NUMBER_FORMAT_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected CxGridPropNumberStyleImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return CxGridStylePackage.Literals.CX_GRID_PROP_NUMBER_STYLE;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getNumberFormat() {
+		return numberFormat;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setNumberFormat(String newNumberFormat) {
+		String oldNumberFormat = numberFormat;
+		numberFormat = newNumberFormat;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, CxGridStylePackage.CX_GRID_PROP_NUMBER_STYLE__NUMBER_FORMAT, oldNumberFormat, numberFormat));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case CxGridStylePackage.CX_GRID_PROP_NUMBER_STYLE__NUMBER_FORMAT:
+				return getNumberFormat();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case CxGridStylePackage.CX_GRID_PROP_NUMBER_STYLE__NUMBER_FORMAT:
+				setNumberFormat((String)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case CxGridStylePackage.CX_GRID_PROP_NUMBER_STYLE__NUMBER_FORMAT:
+				setNumberFormat(NUMBER_FORMAT_EDEFAULT);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case CxGridStylePackage.CX_GRID_PROP_NUMBER_STYLE__NUMBER_FORMAT:
+				return NUMBER_FORMAT_EDEFAULT == null ? numberFormat != null : !NUMBER_FORMAT_EDEFAULT.equals(numberFormat);
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (numberFormat: ");
+		result.append(numberFormat);
+		result.append(')');
+		return result.toString();
+	}
+
+} //CxGridPropNumberStyleImpl
diff --git a/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/style/impl/CxGridPropPriceStyleImpl.java b/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/style/impl/CxGridPropPriceStyleImpl.java
new file mode 100644
index 0000000..8963380
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/style/impl/CxGridPropPriceStyleImpl.java
@@ -0,0 +1,481 @@
+/**
+ *                                                                            
+ * 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.infogrid.model.gridsource.style.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.osbp.infogrid.model.gridsource.CxGridNestedField;
+import org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropPriceStyle;
+import org.eclipse.osbp.infogrid.model.gridsource.style.CxGridStylePackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Cx Grid Prop Price Style</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.infogrid.model.gridsource.style.impl.CxGridPropPriceStyleImpl#getValuePropertyPath <em>Value Property Path</em>}</li>
+ *   <li>{@link org.eclipse.osbp.infogrid.model.gridsource.style.impl.CxGridPropPriceStyleImpl#getValuePropertyDotPath <em>Value Property Dot Path</em>}</li>
+ *   <li>{@link org.eclipse.osbp.infogrid.model.gridsource.style.impl.CxGridPropPriceStyleImpl#getValueNumberFormat <em>Value Number Format</em>}</li>
+ *   <li>{@link org.eclipse.osbp.infogrid.model.gridsource.style.impl.CxGridPropPriceStyleImpl#getCurrencyPropertyPath <em>Currency Property Path</em>}</li>
+ *   <li>{@link org.eclipse.osbp.infogrid.model.gridsource.style.impl.CxGridPropPriceStyleImpl#getCurrencyPropertyDotPath <em>Currency Property Dot Path</em>}</li>
+ *   <li>{@link org.eclipse.osbp.infogrid.model.gridsource.style.impl.CxGridPropPriceStyleImpl#getHtmlPattern <em>Html Pattern</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class CxGridPropPriceStyleImpl extends CxGridPropStyleImpl implements CxGridPropPriceStyle {
+	/**
+	 * The cached value of the '{@link #getValuePropertyPath() <em>Value Property Path</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getValuePropertyPath()
+	 * @generated
+	 * @ordered
+	 */
+	protected CxGridNestedField valuePropertyPath;
+
+	/**
+	 * The default value of the '{@link #getValuePropertyDotPath() <em>Value Property Dot Path</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getValuePropertyDotPath()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String VALUE_PROPERTY_DOT_PATH_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getValuePropertyDotPath() <em>Value Property Dot Path</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getValuePropertyDotPath()
+	 * @generated
+	 * @ordered
+	 */
+	protected String valuePropertyDotPath = VALUE_PROPERTY_DOT_PATH_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getValueNumberFormat() <em>Value Number Format</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getValueNumberFormat()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String VALUE_NUMBER_FORMAT_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getValueNumberFormat() <em>Value Number Format</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getValueNumberFormat()
+	 * @generated
+	 * @ordered
+	 */
+	protected String valueNumberFormat = VALUE_NUMBER_FORMAT_EDEFAULT;
+
+	/**
+	 * The cached value of the '{@link #getCurrencyPropertyPath() <em>Currency Property Path</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getCurrencyPropertyPath()
+	 * @generated
+	 * @ordered
+	 */
+	protected CxGridNestedField currencyPropertyPath;
+
+	/**
+	 * The default value of the '{@link #getCurrencyPropertyDotPath() <em>Currency Property Dot Path</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getCurrencyPropertyDotPath()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String CURRENCY_PROPERTY_DOT_PATH_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getCurrencyPropertyDotPath() <em>Currency Property Dot Path</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getCurrencyPropertyDotPath()
+	 * @generated
+	 * @ordered
+	 */
+	protected String currencyPropertyDotPath = CURRENCY_PROPERTY_DOT_PATH_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getHtmlPattern() <em>Html Pattern</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getHtmlPattern()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String HTML_PATTERN_EDEFAULT = "<b>{@value}</b> - <i>{@currency}</i>";
+
+	/**
+	 * The cached value of the '{@link #getHtmlPattern() <em>Html Pattern</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getHtmlPattern()
+	 * @generated
+	 * @ordered
+	 */
+	protected String htmlPattern = HTML_PATTERN_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected CxGridPropPriceStyleImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return CxGridStylePackage.Literals.CX_GRID_PROP_PRICE_STYLE;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CxGridNestedField getValuePropertyPath() {
+		return valuePropertyPath;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public NotificationChain basicSetValuePropertyPath(CxGridNestedField newValuePropertyPath, NotificationChain msgs) {
+		CxGridNestedField oldValuePropertyPath = valuePropertyPath;
+		valuePropertyPath = newValuePropertyPath;
+		if (eNotificationRequired()) {
+			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, CxGridStylePackage.CX_GRID_PROP_PRICE_STYLE__VALUE_PROPERTY_PATH, oldValuePropertyPath, newValuePropertyPath);
+			if (msgs == null) msgs = notification; else msgs.add(notification);
+		}
+		return msgs;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setValuePropertyPath(CxGridNestedField newValuePropertyPath) {
+		if (newValuePropertyPath != valuePropertyPath) {
+			NotificationChain msgs = null;
+			if (valuePropertyPath != null)
+				msgs = ((InternalEObject)valuePropertyPath).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - CxGridStylePackage.CX_GRID_PROP_PRICE_STYLE__VALUE_PROPERTY_PATH, null, msgs);
+			if (newValuePropertyPath != null)
+				msgs = ((InternalEObject)newValuePropertyPath).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - CxGridStylePackage.CX_GRID_PROP_PRICE_STYLE__VALUE_PROPERTY_PATH, null, msgs);
+			msgs = basicSetValuePropertyPath(newValuePropertyPath, msgs);
+			if (msgs != null) msgs.dispatch();
+		}
+		else if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, CxGridStylePackage.CX_GRID_PROP_PRICE_STYLE__VALUE_PROPERTY_PATH, newValuePropertyPath, newValuePropertyPath));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getValuePropertyDotPath() {
+		return valuePropertyDotPath;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setValuePropertyDotPath(String newValuePropertyDotPath) {
+		String oldValuePropertyDotPath = valuePropertyDotPath;
+		valuePropertyDotPath = newValuePropertyDotPath;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, CxGridStylePackage.CX_GRID_PROP_PRICE_STYLE__VALUE_PROPERTY_DOT_PATH, oldValuePropertyDotPath, valuePropertyDotPath));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getValueNumberFormat() {
+		return valueNumberFormat;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setValueNumberFormat(String newValueNumberFormat) {
+		String oldValueNumberFormat = valueNumberFormat;
+		valueNumberFormat = newValueNumberFormat;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, CxGridStylePackage.CX_GRID_PROP_PRICE_STYLE__VALUE_NUMBER_FORMAT, oldValueNumberFormat, valueNumberFormat));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CxGridNestedField getCurrencyPropertyPath() {
+		return currencyPropertyPath;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public NotificationChain basicSetCurrencyPropertyPath(CxGridNestedField newCurrencyPropertyPath, NotificationChain msgs) {
+		CxGridNestedField oldCurrencyPropertyPath = currencyPropertyPath;
+		currencyPropertyPath = newCurrencyPropertyPath;
+		if (eNotificationRequired()) {
+			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, CxGridStylePackage.CX_GRID_PROP_PRICE_STYLE__CURRENCY_PROPERTY_PATH, oldCurrencyPropertyPath, newCurrencyPropertyPath);
+			if (msgs == null) msgs = notification; else msgs.add(notification);
+		}
+		return msgs;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setCurrencyPropertyPath(CxGridNestedField newCurrencyPropertyPath) {
+		if (newCurrencyPropertyPath != currencyPropertyPath) {
+			NotificationChain msgs = null;
+			if (currencyPropertyPath != null)
+				msgs = ((InternalEObject)currencyPropertyPath).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - CxGridStylePackage.CX_GRID_PROP_PRICE_STYLE__CURRENCY_PROPERTY_PATH, null, msgs);
+			if (newCurrencyPropertyPath != null)
+				msgs = ((InternalEObject)newCurrencyPropertyPath).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - CxGridStylePackage.CX_GRID_PROP_PRICE_STYLE__CURRENCY_PROPERTY_PATH, null, msgs);
+			msgs = basicSetCurrencyPropertyPath(newCurrencyPropertyPath, msgs);
+			if (msgs != null) msgs.dispatch();
+		}
+		else if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, CxGridStylePackage.CX_GRID_PROP_PRICE_STYLE__CURRENCY_PROPERTY_PATH, newCurrencyPropertyPath, newCurrencyPropertyPath));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getCurrencyPropertyDotPath() {
+		return currencyPropertyDotPath;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setCurrencyPropertyDotPath(String newCurrencyPropertyDotPath) {
+		String oldCurrencyPropertyDotPath = currencyPropertyDotPath;
+		currencyPropertyDotPath = newCurrencyPropertyDotPath;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, CxGridStylePackage.CX_GRID_PROP_PRICE_STYLE__CURRENCY_PROPERTY_DOT_PATH, oldCurrencyPropertyDotPath, currencyPropertyDotPath));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getHtmlPattern() {
+		return htmlPattern;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setHtmlPattern(String newHtmlPattern) {
+		String oldHtmlPattern = htmlPattern;
+		htmlPattern = newHtmlPattern;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, CxGridStylePackage.CX_GRID_PROP_PRICE_STYLE__HTML_PATTERN, oldHtmlPattern, htmlPattern));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+		switch (featureID) {
+			case CxGridStylePackage.CX_GRID_PROP_PRICE_STYLE__VALUE_PROPERTY_PATH:
+				return basicSetValuePropertyPath(null, msgs);
+			case CxGridStylePackage.CX_GRID_PROP_PRICE_STYLE__CURRENCY_PROPERTY_PATH:
+				return basicSetCurrencyPropertyPath(null, msgs);
+		}
+		return super.eInverseRemove(otherEnd, featureID, msgs);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case CxGridStylePackage.CX_GRID_PROP_PRICE_STYLE__VALUE_PROPERTY_PATH:
+				return getValuePropertyPath();
+			case CxGridStylePackage.CX_GRID_PROP_PRICE_STYLE__VALUE_PROPERTY_DOT_PATH:
+				return getValuePropertyDotPath();
+			case CxGridStylePackage.CX_GRID_PROP_PRICE_STYLE__VALUE_NUMBER_FORMAT:
+				return getValueNumberFormat();
+			case CxGridStylePackage.CX_GRID_PROP_PRICE_STYLE__CURRENCY_PROPERTY_PATH:
+				return getCurrencyPropertyPath();
+			case CxGridStylePackage.CX_GRID_PROP_PRICE_STYLE__CURRENCY_PROPERTY_DOT_PATH:
+				return getCurrencyPropertyDotPath();
+			case CxGridStylePackage.CX_GRID_PROP_PRICE_STYLE__HTML_PATTERN:
+				return getHtmlPattern();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case CxGridStylePackage.CX_GRID_PROP_PRICE_STYLE__VALUE_PROPERTY_PATH:
+				setValuePropertyPath((CxGridNestedField)newValue);
+				return;
+			case CxGridStylePackage.CX_GRID_PROP_PRICE_STYLE__VALUE_PROPERTY_DOT_PATH:
+				setValuePropertyDotPath((String)newValue);
+				return;
+			case CxGridStylePackage.CX_GRID_PROP_PRICE_STYLE__VALUE_NUMBER_FORMAT:
+				setValueNumberFormat((String)newValue);
+				return;
+			case CxGridStylePackage.CX_GRID_PROP_PRICE_STYLE__CURRENCY_PROPERTY_PATH:
+				setCurrencyPropertyPath((CxGridNestedField)newValue);
+				return;
+			case CxGridStylePackage.CX_GRID_PROP_PRICE_STYLE__CURRENCY_PROPERTY_DOT_PATH:
+				setCurrencyPropertyDotPath((String)newValue);
+				return;
+			case CxGridStylePackage.CX_GRID_PROP_PRICE_STYLE__HTML_PATTERN:
+				setHtmlPattern((String)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case CxGridStylePackage.CX_GRID_PROP_PRICE_STYLE__VALUE_PROPERTY_PATH:
+				setValuePropertyPath((CxGridNestedField)null);
+				return;
+			case CxGridStylePackage.CX_GRID_PROP_PRICE_STYLE__VALUE_PROPERTY_DOT_PATH:
+				setValuePropertyDotPath(VALUE_PROPERTY_DOT_PATH_EDEFAULT);
+				return;
+			case CxGridStylePackage.CX_GRID_PROP_PRICE_STYLE__VALUE_NUMBER_FORMAT:
+				setValueNumberFormat(VALUE_NUMBER_FORMAT_EDEFAULT);
+				return;
+			case CxGridStylePackage.CX_GRID_PROP_PRICE_STYLE__CURRENCY_PROPERTY_PATH:
+				setCurrencyPropertyPath((CxGridNestedField)null);
+				return;
+			case CxGridStylePackage.CX_GRID_PROP_PRICE_STYLE__CURRENCY_PROPERTY_DOT_PATH:
+				setCurrencyPropertyDotPath(CURRENCY_PROPERTY_DOT_PATH_EDEFAULT);
+				return;
+			case CxGridStylePackage.CX_GRID_PROP_PRICE_STYLE__HTML_PATTERN:
+				setHtmlPattern(HTML_PATTERN_EDEFAULT);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case CxGridStylePackage.CX_GRID_PROP_PRICE_STYLE__VALUE_PROPERTY_PATH:
+				return valuePropertyPath != null;
+			case CxGridStylePackage.CX_GRID_PROP_PRICE_STYLE__VALUE_PROPERTY_DOT_PATH:
+				return VALUE_PROPERTY_DOT_PATH_EDEFAULT == null ? valuePropertyDotPath != null : !VALUE_PROPERTY_DOT_PATH_EDEFAULT.equals(valuePropertyDotPath);
+			case CxGridStylePackage.CX_GRID_PROP_PRICE_STYLE__VALUE_NUMBER_FORMAT:
+				return VALUE_NUMBER_FORMAT_EDEFAULT == null ? valueNumberFormat != null : !VALUE_NUMBER_FORMAT_EDEFAULT.equals(valueNumberFormat);
+			case CxGridStylePackage.CX_GRID_PROP_PRICE_STYLE__CURRENCY_PROPERTY_PATH:
+				return currencyPropertyPath != null;
+			case CxGridStylePackage.CX_GRID_PROP_PRICE_STYLE__CURRENCY_PROPERTY_DOT_PATH:
+				return CURRENCY_PROPERTY_DOT_PATH_EDEFAULT == null ? currencyPropertyDotPath != null : !CURRENCY_PROPERTY_DOT_PATH_EDEFAULT.equals(currencyPropertyDotPath);
+			case CxGridStylePackage.CX_GRID_PROP_PRICE_STYLE__HTML_PATTERN:
+				return HTML_PATTERN_EDEFAULT == null ? htmlPattern != null : !HTML_PATTERN_EDEFAULT.equals(htmlPattern);
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (valuePropertyDotPath: ");
+		result.append(valuePropertyDotPath);
+		result.append(", valueNumberFormat: ");
+		result.append(valueNumberFormat);
+		result.append(", currencyPropertyDotPath: ");
+		result.append(currencyPropertyDotPath);
+		result.append(", htmlPattern: ");
+		result.append(htmlPattern);
+		result.append(')');
+		return result.toString();
+	}
+
+} //CxGridPropPriceStyleImpl
diff --git a/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/style/impl/CxGridPropProgressbarStyleImpl.java b/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/style/impl/CxGridPropProgressbarStyleImpl.java
new file mode 100644
index 0000000..01006a0
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/style/impl/CxGridPropProgressbarStyleImpl.java
@@ -0,0 +1,169 @@
+/**
+ *                                                                            
+ * 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.infogrid.model.gridsource.style.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropProgressbarStyle;
+import org.eclipse.osbp.infogrid.model.gridsource.style.CxGridStylePackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Cx Grid Prop Progressbar Style</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.infogrid.model.gridsource.style.impl.CxGridPropProgressbarStyleImpl#getMaxValue <em>Max Value</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class CxGridPropProgressbarStyleImpl extends CxGridPropStyleImpl implements CxGridPropProgressbarStyle {
+	/**
+	 * The default value of the '{@link #getMaxValue() <em>Max Value</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getMaxValue()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final double MAX_VALUE_EDEFAULT = 0.0;
+	/**
+	 * The cached value of the '{@link #getMaxValue() <em>Max Value</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getMaxValue()
+	 * @generated
+	 * @ordered
+	 */
+	protected double maxValue = MAX_VALUE_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected CxGridPropProgressbarStyleImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return CxGridStylePackage.Literals.CX_GRID_PROP_PROGRESSBAR_STYLE;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public double getMaxValue() {
+		return maxValue;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setMaxValue(double newMaxValue) {
+		double oldMaxValue = maxValue;
+		maxValue = newMaxValue;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, CxGridStylePackage.CX_GRID_PROP_PROGRESSBAR_STYLE__MAX_VALUE, oldMaxValue, maxValue));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case CxGridStylePackage.CX_GRID_PROP_PROGRESSBAR_STYLE__MAX_VALUE:
+				return getMaxValue();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case CxGridStylePackage.CX_GRID_PROP_PROGRESSBAR_STYLE__MAX_VALUE:
+				setMaxValue((Double)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case CxGridStylePackage.CX_GRID_PROP_PROGRESSBAR_STYLE__MAX_VALUE:
+				setMaxValue(MAX_VALUE_EDEFAULT);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case CxGridStylePackage.CX_GRID_PROP_PROGRESSBAR_STYLE__MAX_VALUE:
+				return maxValue != MAX_VALUE_EDEFAULT;
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (maxValue: ");
+		result.append(maxValue);
+		result.append(')');
+		return result.toString();
+	}
+
+} //CxGridPropProgressbarStyleImpl
diff --git a/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/style/impl/CxGridPropQuantityStyleImpl.java b/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/style/impl/CxGridPropQuantityStyleImpl.java
new file mode 100644
index 0000000..d17a773
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/style/impl/CxGridPropQuantityStyleImpl.java
@@ -0,0 +1,481 @@
+/**
+ *                                                                            
+ * 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.infogrid.model.gridsource.style.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.osbp.infogrid.model.gridsource.CxGridNestedField;
+import org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropQuantityStyle;
+import org.eclipse.osbp.infogrid.model.gridsource.style.CxGridStylePackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Cx Grid Prop Quantity Style</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.infogrid.model.gridsource.style.impl.CxGridPropQuantityStyleImpl#getValuePropertyPath <em>Value Property Path</em>}</li>
+ *   <li>{@link org.eclipse.osbp.infogrid.model.gridsource.style.impl.CxGridPropQuantityStyleImpl#getValuePropertyDotPath <em>Value Property Dot Path</em>}</li>
+ *   <li>{@link org.eclipse.osbp.infogrid.model.gridsource.style.impl.CxGridPropQuantityStyleImpl#getValueNumberFormat <em>Value Number Format</em>}</li>
+ *   <li>{@link org.eclipse.osbp.infogrid.model.gridsource.style.impl.CxGridPropQuantityStyleImpl#getUomPropertyPath <em>Uom Property Path</em>}</li>
+ *   <li>{@link org.eclipse.osbp.infogrid.model.gridsource.style.impl.CxGridPropQuantityStyleImpl#getUomPropertyDotPath <em>Uom Property Dot Path</em>}</li>
+ *   <li>{@link org.eclipse.osbp.infogrid.model.gridsource.style.impl.CxGridPropQuantityStyleImpl#getHtmlPattern <em>Html Pattern</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class CxGridPropQuantityStyleImpl extends CxGridPropStyleImpl implements CxGridPropQuantityStyle {
+	/**
+	 * The cached value of the '{@link #getValuePropertyPath() <em>Value Property Path</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getValuePropertyPath()
+	 * @generated
+	 * @ordered
+	 */
+	protected CxGridNestedField valuePropertyPath;
+
+	/**
+	 * The default value of the '{@link #getValuePropertyDotPath() <em>Value Property Dot Path</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getValuePropertyDotPath()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String VALUE_PROPERTY_DOT_PATH_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getValuePropertyDotPath() <em>Value Property Dot Path</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getValuePropertyDotPath()
+	 * @generated
+	 * @ordered
+	 */
+	protected String valuePropertyDotPath = VALUE_PROPERTY_DOT_PATH_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getValueNumberFormat() <em>Value Number Format</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getValueNumberFormat()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String VALUE_NUMBER_FORMAT_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getValueNumberFormat() <em>Value Number Format</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getValueNumberFormat()
+	 * @generated
+	 * @ordered
+	 */
+	protected String valueNumberFormat = VALUE_NUMBER_FORMAT_EDEFAULT;
+
+	/**
+	 * The cached value of the '{@link #getUomPropertyPath() <em>Uom Property Path</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getUomPropertyPath()
+	 * @generated
+	 * @ordered
+	 */
+	protected CxGridNestedField uomPropertyPath;
+
+	/**
+	 * The default value of the '{@link #getUomPropertyDotPath() <em>Uom Property Dot Path</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getUomPropertyDotPath()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String UOM_PROPERTY_DOT_PATH_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getUomPropertyDotPath() <em>Uom Property Dot Path</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getUomPropertyDotPath()
+	 * @generated
+	 * @ordered
+	 */
+	protected String uomPropertyDotPath = UOM_PROPERTY_DOT_PATH_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getHtmlPattern() <em>Html Pattern</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getHtmlPattern()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String HTML_PATTERN_EDEFAULT = "<b>{@value}</b> - <i>{@uom}</i>";
+
+	/**
+	 * The cached value of the '{@link #getHtmlPattern() <em>Html Pattern</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getHtmlPattern()
+	 * @generated
+	 * @ordered
+	 */
+	protected String htmlPattern = HTML_PATTERN_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected CxGridPropQuantityStyleImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return CxGridStylePackage.Literals.CX_GRID_PROP_QUANTITY_STYLE;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CxGridNestedField getValuePropertyPath() {
+		return valuePropertyPath;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public NotificationChain basicSetValuePropertyPath(CxGridNestedField newValuePropertyPath, NotificationChain msgs) {
+		CxGridNestedField oldValuePropertyPath = valuePropertyPath;
+		valuePropertyPath = newValuePropertyPath;
+		if (eNotificationRequired()) {
+			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, CxGridStylePackage.CX_GRID_PROP_QUANTITY_STYLE__VALUE_PROPERTY_PATH, oldValuePropertyPath, newValuePropertyPath);
+			if (msgs == null) msgs = notification; else msgs.add(notification);
+		}
+		return msgs;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setValuePropertyPath(CxGridNestedField newValuePropertyPath) {
+		if (newValuePropertyPath != valuePropertyPath) {
+			NotificationChain msgs = null;
+			if (valuePropertyPath != null)
+				msgs = ((InternalEObject)valuePropertyPath).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - CxGridStylePackage.CX_GRID_PROP_QUANTITY_STYLE__VALUE_PROPERTY_PATH, null, msgs);
+			if (newValuePropertyPath != null)
+				msgs = ((InternalEObject)newValuePropertyPath).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - CxGridStylePackage.CX_GRID_PROP_QUANTITY_STYLE__VALUE_PROPERTY_PATH, null, msgs);
+			msgs = basicSetValuePropertyPath(newValuePropertyPath, msgs);
+			if (msgs != null) msgs.dispatch();
+		}
+		else if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, CxGridStylePackage.CX_GRID_PROP_QUANTITY_STYLE__VALUE_PROPERTY_PATH, newValuePropertyPath, newValuePropertyPath));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getValuePropertyDotPath() {
+		return valuePropertyDotPath;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setValuePropertyDotPath(String newValuePropertyDotPath) {
+		String oldValuePropertyDotPath = valuePropertyDotPath;
+		valuePropertyDotPath = newValuePropertyDotPath;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, CxGridStylePackage.CX_GRID_PROP_QUANTITY_STYLE__VALUE_PROPERTY_DOT_PATH, oldValuePropertyDotPath, valuePropertyDotPath));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getValueNumberFormat() {
+		return valueNumberFormat;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setValueNumberFormat(String newValueNumberFormat) {
+		String oldValueNumberFormat = valueNumberFormat;
+		valueNumberFormat = newValueNumberFormat;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, CxGridStylePackage.CX_GRID_PROP_QUANTITY_STYLE__VALUE_NUMBER_FORMAT, oldValueNumberFormat, valueNumberFormat));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CxGridNestedField getUomPropertyPath() {
+		return uomPropertyPath;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public NotificationChain basicSetUomPropertyPath(CxGridNestedField newUomPropertyPath, NotificationChain msgs) {
+		CxGridNestedField oldUomPropertyPath = uomPropertyPath;
+		uomPropertyPath = newUomPropertyPath;
+		if (eNotificationRequired()) {
+			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, CxGridStylePackage.CX_GRID_PROP_QUANTITY_STYLE__UOM_PROPERTY_PATH, oldUomPropertyPath, newUomPropertyPath);
+			if (msgs == null) msgs = notification; else msgs.add(notification);
+		}
+		return msgs;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setUomPropertyPath(CxGridNestedField newUomPropertyPath) {
+		if (newUomPropertyPath != uomPropertyPath) {
+			NotificationChain msgs = null;
+			if (uomPropertyPath != null)
+				msgs = ((InternalEObject)uomPropertyPath).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - CxGridStylePackage.CX_GRID_PROP_QUANTITY_STYLE__UOM_PROPERTY_PATH, null, msgs);
+			if (newUomPropertyPath != null)
+				msgs = ((InternalEObject)newUomPropertyPath).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - CxGridStylePackage.CX_GRID_PROP_QUANTITY_STYLE__UOM_PROPERTY_PATH, null, msgs);
+			msgs = basicSetUomPropertyPath(newUomPropertyPath, msgs);
+			if (msgs != null) msgs.dispatch();
+		}
+		else if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, CxGridStylePackage.CX_GRID_PROP_QUANTITY_STYLE__UOM_PROPERTY_PATH, newUomPropertyPath, newUomPropertyPath));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getUomPropertyDotPath() {
+		return uomPropertyDotPath;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setUomPropertyDotPath(String newUomPropertyDotPath) {
+		String oldUomPropertyDotPath = uomPropertyDotPath;
+		uomPropertyDotPath = newUomPropertyDotPath;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, CxGridStylePackage.CX_GRID_PROP_QUANTITY_STYLE__UOM_PROPERTY_DOT_PATH, oldUomPropertyDotPath, uomPropertyDotPath));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getHtmlPattern() {
+		return htmlPattern;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setHtmlPattern(String newHtmlPattern) {
+		String oldHtmlPattern = htmlPattern;
+		htmlPattern = newHtmlPattern;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, CxGridStylePackage.CX_GRID_PROP_QUANTITY_STYLE__HTML_PATTERN, oldHtmlPattern, htmlPattern));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+		switch (featureID) {
+			case CxGridStylePackage.CX_GRID_PROP_QUANTITY_STYLE__VALUE_PROPERTY_PATH:
+				return basicSetValuePropertyPath(null, msgs);
+			case CxGridStylePackage.CX_GRID_PROP_QUANTITY_STYLE__UOM_PROPERTY_PATH:
+				return basicSetUomPropertyPath(null, msgs);
+		}
+		return super.eInverseRemove(otherEnd, featureID, msgs);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case CxGridStylePackage.CX_GRID_PROP_QUANTITY_STYLE__VALUE_PROPERTY_PATH:
+				return getValuePropertyPath();
+			case CxGridStylePackage.CX_GRID_PROP_QUANTITY_STYLE__VALUE_PROPERTY_DOT_PATH:
+				return getValuePropertyDotPath();
+			case CxGridStylePackage.CX_GRID_PROP_QUANTITY_STYLE__VALUE_NUMBER_FORMAT:
+				return getValueNumberFormat();
+			case CxGridStylePackage.CX_GRID_PROP_QUANTITY_STYLE__UOM_PROPERTY_PATH:
+				return getUomPropertyPath();
+			case CxGridStylePackage.CX_GRID_PROP_QUANTITY_STYLE__UOM_PROPERTY_DOT_PATH:
+				return getUomPropertyDotPath();
+			case CxGridStylePackage.CX_GRID_PROP_QUANTITY_STYLE__HTML_PATTERN:
+				return getHtmlPattern();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case CxGridStylePackage.CX_GRID_PROP_QUANTITY_STYLE__VALUE_PROPERTY_PATH:
+				setValuePropertyPath((CxGridNestedField)newValue);
+				return;
+			case CxGridStylePackage.CX_GRID_PROP_QUANTITY_STYLE__VALUE_PROPERTY_DOT_PATH:
+				setValuePropertyDotPath((String)newValue);
+				return;
+			case CxGridStylePackage.CX_GRID_PROP_QUANTITY_STYLE__VALUE_NUMBER_FORMAT:
+				setValueNumberFormat((String)newValue);
+				return;
+			case CxGridStylePackage.CX_GRID_PROP_QUANTITY_STYLE__UOM_PROPERTY_PATH:
+				setUomPropertyPath((CxGridNestedField)newValue);
+				return;
+			case CxGridStylePackage.CX_GRID_PROP_QUANTITY_STYLE__UOM_PROPERTY_DOT_PATH:
+				setUomPropertyDotPath((String)newValue);
+				return;
+			case CxGridStylePackage.CX_GRID_PROP_QUANTITY_STYLE__HTML_PATTERN:
+				setHtmlPattern((String)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case CxGridStylePackage.CX_GRID_PROP_QUANTITY_STYLE__VALUE_PROPERTY_PATH:
+				setValuePropertyPath((CxGridNestedField)null);
+				return;
+			case CxGridStylePackage.CX_GRID_PROP_QUANTITY_STYLE__VALUE_PROPERTY_DOT_PATH:
+				setValuePropertyDotPath(VALUE_PROPERTY_DOT_PATH_EDEFAULT);
+				return;
+			case CxGridStylePackage.CX_GRID_PROP_QUANTITY_STYLE__VALUE_NUMBER_FORMAT:
+				setValueNumberFormat(VALUE_NUMBER_FORMAT_EDEFAULT);
+				return;
+			case CxGridStylePackage.CX_GRID_PROP_QUANTITY_STYLE__UOM_PROPERTY_PATH:
+				setUomPropertyPath((CxGridNestedField)null);
+				return;
+			case CxGridStylePackage.CX_GRID_PROP_QUANTITY_STYLE__UOM_PROPERTY_DOT_PATH:
+				setUomPropertyDotPath(UOM_PROPERTY_DOT_PATH_EDEFAULT);
+				return;
+			case CxGridStylePackage.CX_GRID_PROP_QUANTITY_STYLE__HTML_PATTERN:
+				setHtmlPattern(HTML_PATTERN_EDEFAULT);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case CxGridStylePackage.CX_GRID_PROP_QUANTITY_STYLE__VALUE_PROPERTY_PATH:
+				return valuePropertyPath != null;
+			case CxGridStylePackage.CX_GRID_PROP_QUANTITY_STYLE__VALUE_PROPERTY_DOT_PATH:
+				return VALUE_PROPERTY_DOT_PATH_EDEFAULT == null ? valuePropertyDotPath != null : !VALUE_PROPERTY_DOT_PATH_EDEFAULT.equals(valuePropertyDotPath);
+			case CxGridStylePackage.CX_GRID_PROP_QUANTITY_STYLE__VALUE_NUMBER_FORMAT:
+				return VALUE_NUMBER_FORMAT_EDEFAULT == null ? valueNumberFormat != null : !VALUE_NUMBER_FORMAT_EDEFAULT.equals(valueNumberFormat);
+			case CxGridStylePackage.CX_GRID_PROP_QUANTITY_STYLE__UOM_PROPERTY_PATH:
+				return uomPropertyPath != null;
+			case CxGridStylePackage.CX_GRID_PROP_QUANTITY_STYLE__UOM_PROPERTY_DOT_PATH:
+				return UOM_PROPERTY_DOT_PATH_EDEFAULT == null ? uomPropertyDotPath != null : !UOM_PROPERTY_DOT_PATH_EDEFAULT.equals(uomPropertyDotPath);
+			case CxGridStylePackage.CX_GRID_PROP_QUANTITY_STYLE__HTML_PATTERN:
+				return HTML_PATTERN_EDEFAULT == null ? htmlPattern != null : !HTML_PATTERN_EDEFAULT.equals(htmlPattern);
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (valuePropertyDotPath: ");
+		result.append(valuePropertyDotPath);
+		result.append(", valueNumberFormat: ");
+		result.append(valueNumberFormat);
+		result.append(", uomPropertyDotPath: ");
+		result.append(uomPropertyDotPath);
+		result.append(", htmlPattern: ");
+		result.append(htmlPattern);
+		result.append(')');
+		return result.toString();
+	}
+
+} //CxGridPropQuantityStyleImpl
diff --git a/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/style/impl/CxGridPropSparklineStyleImpl.java b/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/style/impl/CxGridPropSparklineStyleImpl.java
new file mode 100644
index 0000000..44bc8c0
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/style/impl/CxGridPropSparklineStyleImpl.java
@@ -0,0 +1,182 @@
+/**
+ *                                                                            
+ * 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.infogrid.model.gridsource.style.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.osbp.infogrid.model.gridsource.CxGridNestedField;
+import org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropSparklineStyle;
+import org.eclipse.osbp.infogrid.model.gridsource.style.CxGridStylePackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Cx Grid Prop Sparkline Style</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.infogrid.model.gridsource.style.impl.CxGridPropSparklineStyleImpl#getField <em>Field</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class CxGridPropSparklineStyleImpl extends CxGridPropStyleImpl implements CxGridPropSparklineStyle {
+	/**
+	 * The cached value of the '{@link #getField() <em>Field</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getField()
+	 * @generated
+	 * @ordered
+	 */
+	protected CxGridNestedField field;
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected CxGridPropSparklineStyleImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return CxGridStylePackage.Literals.CX_GRID_PROP_SPARKLINE_STYLE;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CxGridNestedField getField() {
+		return field;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public NotificationChain basicSetField(CxGridNestedField newField, NotificationChain msgs) {
+		CxGridNestedField oldField = field;
+		field = newField;
+		if (eNotificationRequired()) {
+			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, CxGridStylePackage.CX_GRID_PROP_SPARKLINE_STYLE__FIELD, oldField, newField);
+			if (msgs == null) msgs = notification; else msgs.add(notification);
+		}
+		return msgs;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setField(CxGridNestedField newField) {
+		if (newField != field) {
+			NotificationChain msgs = null;
+			if (field != null)
+				msgs = ((InternalEObject)field).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - CxGridStylePackage.CX_GRID_PROP_SPARKLINE_STYLE__FIELD, null, msgs);
+			if (newField != null)
+				msgs = ((InternalEObject)newField).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - CxGridStylePackage.CX_GRID_PROP_SPARKLINE_STYLE__FIELD, null, msgs);
+			msgs = basicSetField(newField, msgs);
+			if (msgs != null) msgs.dispatch();
+		}
+		else if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, CxGridStylePackage.CX_GRID_PROP_SPARKLINE_STYLE__FIELD, newField, newField));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+		switch (featureID) {
+			case CxGridStylePackage.CX_GRID_PROP_SPARKLINE_STYLE__FIELD:
+				return basicSetField(null, msgs);
+		}
+		return super.eInverseRemove(otherEnd, featureID, msgs);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case CxGridStylePackage.CX_GRID_PROP_SPARKLINE_STYLE__FIELD:
+				return getField();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case CxGridStylePackage.CX_GRID_PROP_SPARKLINE_STYLE__FIELD:
+				setField((CxGridNestedField)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case CxGridStylePackage.CX_GRID_PROP_SPARKLINE_STYLE__FIELD:
+				setField((CxGridNestedField)null);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case CxGridStylePackage.CX_GRID_PROP_SPARKLINE_STYLE__FIELD:
+				return field != null;
+		}
+		return super.eIsSet(featureID);
+	}
+
+} //CxGridPropSparklineStyleImpl
diff --git a/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/style/impl/CxGridPropStyleImpl.java b/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/style/impl/CxGridPropStyleImpl.java
new file mode 100644
index 0000000..8938d03
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/style/impl/CxGridPropStyleImpl.java
@@ -0,0 +1,51 @@
+/**
+ *                                                                            
+ * 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.infogrid.model.gridsource.style.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropStyle;
+import org.eclipse.osbp.infogrid.model.gridsource.style.CxGridStylePackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Cx Grid Prop Style</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public abstract class CxGridPropStyleImpl extends MinimalEObjectImpl.Container implements CxGridPropStyle {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected CxGridPropStyleImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return CxGridStylePackage.Literals.CX_GRID_PROP_STYLE;
+	}
+
+} //CxGridPropStyleImpl
diff --git a/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/style/impl/CxGridPropTextStyleImpl.java b/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/style/impl/CxGridPropTextStyleImpl.java
new file mode 100644
index 0000000..122aa7e
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/style/impl/CxGridPropTextStyleImpl.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:   
+ * Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation 
+ */
+ package org.eclipse.osbp.infogrid.model.gridsource.style.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropTextStyle;
+import org.eclipse.osbp.infogrid.model.gridsource.style.CxGridStylePackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Cx Grid Prop Text Style</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class CxGridPropTextStyleImpl extends CxGridPropStyleImpl implements CxGridPropTextStyle {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected CxGridPropTextStyleImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return CxGridStylePackage.Literals.CX_GRID_PROP_TEXT_STYLE;
+	}
+
+} //CxGridPropTextStyleImpl
diff --git a/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/style/impl/CxGridStyleConfigImpl.java b/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/style/impl/CxGridStyleConfigImpl.java
new file mode 100644
index 0000000..8a65088
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/style/impl/CxGridStyleConfigImpl.java
@@ -0,0 +1,51 @@
+/**
+ *                                                                            
+ * 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.infogrid.model.gridsource.style.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.osbp.infogrid.model.gridsource.style.CxGridStyleConfig;
+import org.eclipse.osbp.infogrid.model.gridsource.style.CxGridStylePackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Config</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class CxGridStyleConfigImpl extends MinimalEObjectImpl.Container implements CxGridStyleConfig {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected CxGridStyleConfigImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return CxGridStylePackage.Literals.CX_GRID_STYLE_CONFIG;
+	}
+
+} //CxGridStyleConfigImpl
diff --git a/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/style/impl/CxGridStyleConfigNumericToResourceImpl.java b/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/style/impl/CxGridStyleConfigNumericToResourceImpl.java
new file mode 100644
index 0000000..54b2ae8
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/style/impl/CxGridStyleConfigNumericToResourceImpl.java
@@ -0,0 +1,281 @@
+/**
+ *                                                                            
+ * 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.infogrid.model.gridsource.style.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.osbp.infogrid.model.gridsource.style.CxGridCompare;
+import org.eclipse.osbp.infogrid.model.gridsource.style.CxGridStyleConfigNumericToResource;
+import org.eclipse.osbp.infogrid.model.gridsource.style.CxGridStylePackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Config Numeric To Resource</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.infogrid.model.gridsource.style.impl.CxGridStyleConfigNumericToResourceImpl#getValue <em>Value</em>}</li>
+ *   <li>{@link org.eclipse.osbp.infogrid.model.gridsource.style.impl.CxGridStyleConfigNumericToResourceImpl#getCompare <em>Compare</em>}</li>
+ *   <li>{@link org.eclipse.osbp.infogrid.model.gridsource.style.impl.CxGridStyleConfigNumericToResourceImpl#getResourceThemePath <em>Resource Theme Path</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class CxGridStyleConfigNumericToResourceImpl extends CxGridStyleConfigImpl implements CxGridStyleConfigNumericToResource {
+	/**
+	 * The default value of the '{@link #getValue() <em>Value</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getValue()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final double VALUE_EDEFAULT = 0.0;
+
+	/**
+	 * The cached value of the '{@link #getValue() <em>Value</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getValue()
+	 * @generated
+	 * @ordered
+	 */
+	protected double value = VALUE_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getCompare() <em>Compare</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getCompare()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final CxGridCompare COMPARE_EDEFAULT = CxGridCompare.EQUAL;
+
+	/**
+	 * The cached value of the '{@link #getCompare() <em>Compare</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getCompare()
+	 * @generated
+	 * @ordered
+	 */
+	protected CxGridCompare compare = COMPARE_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getResourceThemePath() <em>Resource Theme Path</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getResourceThemePath()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String RESOURCE_THEME_PATH_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getResourceThemePath() <em>Resource Theme Path</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getResourceThemePath()
+	 * @generated
+	 * @ordered
+	 */
+	protected String resourceThemePath = RESOURCE_THEME_PATH_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected CxGridStyleConfigNumericToResourceImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return CxGridStylePackage.Literals.CX_GRID_STYLE_CONFIG_NUMERIC_TO_RESOURCE;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public double getValue() {
+		return value;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setValue(double newValue) {
+		double oldValue = value;
+		value = newValue;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, CxGridStylePackage.CX_GRID_STYLE_CONFIG_NUMERIC_TO_RESOURCE__VALUE, oldValue, value));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CxGridCompare getCompare() {
+		return compare;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setCompare(CxGridCompare newCompare) {
+		CxGridCompare oldCompare = compare;
+		compare = newCompare == null ? COMPARE_EDEFAULT : newCompare;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, CxGridStylePackage.CX_GRID_STYLE_CONFIG_NUMERIC_TO_RESOURCE__COMPARE, oldCompare, compare));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getResourceThemePath() {
+		return resourceThemePath;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setResourceThemePath(String newResourceThemePath) {
+		String oldResourceThemePath = resourceThemePath;
+		resourceThemePath = newResourceThemePath;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, CxGridStylePackage.CX_GRID_STYLE_CONFIG_NUMERIC_TO_RESOURCE__RESOURCE_THEME_PATH, oldResourceThemePath, resourceThemePath));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case CxGridStylePackage.CX_GRID_STYLE_CONFIG_NUMERIC_TO_RESOURCE__VALUE:
+				return getValue();
+			case CxGridStylePackage.CX_GRID_STYLE_CONFIG_NUMERIC_TO_RESOURCE__COMPARE:
+				return getCompare();
+			case CxGridStylePackage.CX_GRID_STYLE_CONFIG_NUMERIC_TO_RESOURCE__RESOURCE_THEME_PATH:
+				return getResourceThemePath();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case CxGridStylePackage.CX_GRID_STYLE_CONFIG_NUMERIC_TO_RESOURCE__VALUE:
+				setValue((Double)newValue);
+				return;
+			case CxGridStylePackage.CX_GRID_STYLE_CONFIG_NUMERIC_TO_RESOURCE__COMPARE:
+				setCompare((CxGridCompare)newValue);
+				return;
+			case CxGridStylePackage.CX_GRID_STYLE_CONFIG_NUMERIC_TO_RESOURCE__RESOURCE_THEME_PATH:
+				setResourceThemePath((String)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case CxGridStylePackage.CX_GRID_STYLE_CONFIG_NUMERIC_TO_RESOURCE__VALUE:
+				setValue(VALUE_EDEFAULT);
+				return;
+			case CxGridStylePackage.CX_GRID_STYLE_CONFIG_NUMERIC_TO_RESOURCE__COMPARE:
+				setCompare(COMPARE_EDEFAULT);
+				return;
+			case CxGridStylePackage.CX_GRID_STYLE_CONFIG_NUMERIC_TO_RESOURCE__RESOURCE_THEME_PATH:
+				setResourceThemePath(RESOURCE_THEME_PATH_EDEFAULT);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case CxGridStylePackage.CX_GRID_STYLE_CONFIG_NUMERIC_TO_RESOURCE__VALUE:
+				return value != VALUE_EDEFAULT;
+			case CxGridStylePackage.CX_GRID_STYLE_CONFIG_NUMERIC_TO_RESOURCE__COMPARE:
+				return compare != COMPARE_EDEFAULT;
+			case CxGridStylePackage.CX_GRID_STYLE_CONFIG_NUMERIC_TO_RESOURCE__RESOURCE_THEME_PATH:
+				return RESOURCE_THEME_PATH_EDEFAULT == null ? resourceThemePath != null : !RESOURCE_THEME_PATH_EDEFAULT.equals(resourceThemePath);
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (value: ");
+		result.append(value);
+		result.append(", compare: ");
+		result.append(compare);
+		result.append(", resourceThemePath: ");
+		result.append(resourceThemePath);
+		result.append(')');
+		return result.toString();
+	}
+
+} //CxGridStyleConfigNumericToResourceImpl
diff --git a/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/style/impl/CxGridStyleConfigStringToResourceImpl.java b/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/style/impl/CxGridStyleConfigStringToResourceImpl.java
new file mode 100644
index 0000000..5e4206a
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/style/impl/CxGridStyleConfigStringToResourceImpl.java
@@ -0,0 +1,281 @@
+/**
+ *                                                                            
+ * 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.infogrid.model.gridsource.style.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.osbp.infogrid.model.gridsource.style.CxGridCompare;
+import org.eclipse.osbp.infogrid.model.gridsource.style.CxGridStyleConfigStringToResource;
+import org.eclipse.osbp.infogrid.model.gridsource.style.CxGridStylePackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Config String To Resource</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.infogrid.model.gridsource.style.impl.CxGridStyleConfigStringToResourceImpl#getValue <em>Value</em>}</li>
+ *   <li>{@link org.eclipse.osbp.infogrid.model.gridsource.style.impl.CxGridStyleConfigStringToResourceImpl#getCompare <em>Compare</em>}</li>
+ *   <li>{@link org.eclipse.osbp.infogrid.model.gridsource.style.impl.CxGridStyleConfigStringToResourceImpl#getResourceThemePath <em>Resource Theme Path</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class CxGridStyleConfigStringToResourceImpl extends CxGridStyleConfigImpl implements CxGridStyleConfigStringToResource {
+	/**
+	 * The default value of the '{@link #getValue() <em>Value</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getValue()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String VALUE_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getValue() <em>Value</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getValue()
+	 * @generated
+	 * @ordered
+	 */
+	protected String value = VALUE_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getCompare() <em>Compare</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getCompare()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final CxGridCompare COMPARE_EDEFAULT = CxGridCompare.EQUAL;
+
+	/**
+	 * The cached value of the '{@link #getCompare() <em>Compare</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getCompare()
+	 * @generated
+	 * @ordered
+	 */
+	protected CxGridCompare compare = COMPARE_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getResourceThemePath() <em>Resource Theme Path</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getResourceThemePath()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String RESOURCE_THEME_PATH_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getResourceThemePath() <em>Resource Theme Path</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getResourceThemePath()
+	 * @generated
+	 * @ordered
+	 */
+	protected String resourceThemePath = RESOURCE_THEME_PATH_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected CxGridStyleConfigStringToResourceImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return CxGridStylePackage.Literals.CX_GRID_STYLE_CONFIG_STRING_TO_RESOURCE;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getValue() {
+		return value;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setValue(String newValue) {
+		String oldValue = value;
+		value = newValue;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, CxGridStylePackage.CX_GRID_STYLE_CONFIG_STRING_TO_RESOURCE__VALUE, oldValue, value));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CxGridCompare getCompare() {
+		return compare;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setCompare(CxGridCompare newCompare) {
+		CxGridCompare oldCompare = compare;
+		compare = newCompare == null ? COMPARE_EDEFAULT : newCompare;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, CxGridStylePackage.CX_GRID_STYLE_CONFIG_STRING_TO_RESOURCE__COMPARE, oldCompare, compare));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getResourceThemePath() {
+		return resourceThemePath;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setResourceThemePath(String newResourceThemePath) {
+		String oldResourceThemePath = resourceThemePath;
+		resourceThemePath = newResourceThemePath;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, CxGridStylePackage.CX_GRID_STYLE_CONFIG_STRING_TO_RESOURCE__RESOURCE_THEME_PATH, oldResourceThemePath, resourceThemePath));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case CxGridStylePackage.CX_GRID_STYLE_CONFIG_STRING_TO_RESOURCE__VALUE:
+				return getValue();
+			case CxGridStylePackage.CX_GRID_STYLE_CONFIG_STRING_TO_RESOURCE__COMPARE:
+				return getCompare();
+			case CxGridStylePackage.CX_GRID_STYLE_CONFIG_STRING_TO_RESOURCE__RESOURCE_THEME_PATH:
+				return getResourceThemePath();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case CxGridStylePackage.CX_GRID_STYLE_CONFIG_STRING_TO_RESOURCE__VALUE:
+				setValue((String)newValue);
+				return;
+			case CxGridStylePackage.CX_GRID_STYLE_CONFIG_STRING_TO_RESOURCE__COMPARE:
+				setCompare((CxGridCompare)newValue);
+				return;
+			case CxGridStylePackage.CX_GRID_STYLE_CONFIG_STRING_TO_RESOURCE__RESOURCE_THEME_PATH:
+				setResourceThemePath((String)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case CxGridStylePackage.CX_GRID_STYLE_CONFIG_STRING_TO_RESOURCE__VALUE:
+				setValue(VALUE_EDEFAULT);
+				return;
+			case CxGridStylePackage.CX_GRID_STYLE_CONFIG_STRING_TO_RESOURCE__COMPARE:
+				setCompare(COMPARE_EDEFAULT);
+				return;
+			case CxGridStylePackage.CX_GRID_STYLE_CONFIG_STRING_TO_RESOURCE__RESOURCE_THEME_PATH:
+				setResourceThemePath(RESOURCE_THEME_PATH_EDEFAULT);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case CxGridStylePackage.CX_GRID_STYLE_CONFIG_STRING_TO_RESOURCE__VALUE:
+				return VALUE_EDEFAULT == null ? value != null : !VALUE_EDEFAULT.equals(value);
+			case CxGridStylePackage.CX_GRID_STYLE_CONFIG_STRING_TO_RESOURCE__COMPARE:
+				return compare != COMPARE_EDEFAULT;
+			case CxGridStylePackage.CX_GRID_STYLE_CONFIG_STRING_TO_RESOURCE__RESOURCE_THEME_PATH:
+				return RESOURCE_THEME_PATH_EDEFAULT == null ? resourceThemePath != null : !RESOURCE_THEME_PATH_EDEFAULT.equals(resourceThemePath);
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (value: ");
+		result.append(value);
+		result.append(", compare: ");
+		result.append(compare);
+		result.append(", resourceThemePath: ");
+		result.append(resourceThemePath);
+		result.append(')');
+		return result.toString();
+	}
+
+} //CxGridStyleConfigStringToResourceImpl
diff --git a/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/style/impl/CxGridStyleFactoryImpl.java b/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/style/impl/CxGridStyleFactoryImpl.java
new file mode 100644
index 0000000..24e07cc
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/style/impl/CxGridStyleFactoryImpl.java
@@ -0,0 +1,310 @@
+/**
+ *                                                                            
+ * 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.infogrid.model.gridsource.style.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EDataType;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.impl.EFactoryImpl;
+
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+import org.eclipse.osbp.infogrid.model.gridsource.style.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class CxGridStyleFactoryImpl extends EFactoryImpl implements CxGridStyleFactory {
+	/**
+	 * Creates the default factory implementation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static CxGridStyleFactory init() {
+		try {
+			CxGridStyleFactory theCxGridStyleFactory = (CxGridStyleFactory)EPackage.Registry.INSTANCE.getEFactory(CxGridStylePackage.eNS_URI);
+			if (theCxGridStyleFactory != null) {
+				return theCxGridStyleFactory;
+			}
+		}
+		catch (Exception exception) {
+			EcorePlugin.INSTANCE.log(exception);
+		}
+		return new CxGridStyleFactoryImpl();
+	}
+
+	/**
+	 * Creates an instance of the factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CxGridStyleFactoryImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EObject create(EClass eClass) {
+		switch (eClass.getClassifierID()) {
+			case CxGridStylePackage.CX_GRID_PROP_HTML_STYLE: return createCxGridPropHtmlStyle();
+			case CxGridStylePackage.CX_GRID_PROP_TEXT_STYLE: return createCxGridPropTextStyle();
+			case CxGridStylePackage.CX_GRID_PROP_BUTTON_STYLE: return createCxGridPropButtonStyle();
+			case CxGridStylePackage.CX_GRID_PROP_PROGRESSBAR_STYLE: return createCxGridPropProgressbarStyle();
+			case CxGridStylePackage.CX_GRID_PROP_SPARKLINE_STYLE: return createCxGridPropSparklineStyle();
+			case CxGridStylePackage.CX_GRID_PROP_BOOLEAN_STYLE: return createCxGridPropBooleanStyle();
+			case CxGridStylePackage.CX_GRID_PROP_NUMBER_STYLE: return createCxGridPropNumberStyle();
+			case CxGridStylePackage.CX_GRID_PROP_IMAGE_STYLE: return createCxGridPropImageStyle();
+			case CxGridStylePackage.CX_GRID_PROP_INDICATOR_STYLE: return createCxGridPropIndicatorStyle();
+			case CxGridStylePackage.CX_GRID_PROP_DATE_STYLE: return createCxGridPropDateStyle();
+			case CxGridStylePackage.CX_GRID_STYLE_CONFIG: return createCxGridStyleConfig();
+			case CxGridStylePackage.CX_GRID_STYLE_CONFIG_STRING_TO_RESOURCE: return createCxGridStyleConfigStringToResource();
+			case CxGridStylePackage.CX_GRID_STYLE_CONFIG_NUMERIC_TO_RESOURCE: return createCxGridStyleConfigNumericToResource();
+			case CxGridStylePackage.CX_GRID_PROP_QUANTITY_STYLE: return createCxGridPropQuantityStyle();
+			case CxGridStylePackage.CX_GRID_PROP_PRICE_STYLE: return createCxGridPropPriceStyle();
+			default:
+				throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object createFromString(EDataType eDataType, String initialValue) {
+		switch (eDataType.getClassifierID()) {
+			case CxGridStylePackage.CX_GRID_COMPARE:
+				return createCxGridCompareFromString(eDataType, initialValue);
+			default:
+				throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String convertToString(EDataType eDataType, Object instanceValue) {
+		switch (eDataType.getClassifierID()) {
+			case CxGridStylePackage.CX_GRID_COMPARE:
+				return convertCxGridCompareToString(eDataType, instanceValue);
+			default:
+				throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CxGridPropHtmlStyle createCxGridPropHtmlStyle() {
+		CxGridPropHtmlStyleImpl cxGridPropHtmlStyle = new CxGridPropHtmlStyleImpl();
+		return cxGridPropHtmlStyle;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CxGridPropTextStyle createCxGridPropTextStyle() {
+		CxGridPropTextStyleImpl cxGridPropTextStyle = new CxGridPropTextStyleImpl();
+		return cxGridPropTextStyle;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CxGridPropButtonStyle createCxGridPropButtonStyle() {
+		CxGridPropButtonStyleImpl cxGridPropButtonStyle = new CxGridPropButtonStyleImpl();
+		return cxGridPropButtonStyle;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CxGridPropProgressbarStyle createCxGridPropProgressbarStyle() {
+		CxGridPropProgressbarStyleImpl cxGridPropProgressbarStyle = new CxGridPropProgressbarStyleImpl();
+		return cxGridPropProgressbarStyle;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CxGridPropSparklineStyle createCxGridPropSparklineStyle() {
+		CxGridPropSparklineStyleImpl cxGridPropSparklineStyle = new CxGridPropSparklineStyleImpl();
+		return cxGridPropSparklineStyle;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CxGridPropBooleanStyle createCxGridPropBooleanStyle() {
+		CxGridPropBooleanStyleImpl cxGridPropBooleanStyle = new CxGridPropBooleanStyleImpl();
+		return cxGridPropBooleanStyle;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CxGridPropNumberStyle createCxGridPropNumberStyle() {
+		CxGridPropNumberStyleImpl cxGridPropNumberStyle = new CxGridPropNumberStyleImpl();
+		return cxGridPropNumberStyle;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CxGridPropImageStyle createCxGridPropImageStyle() {
+		CxGridPropImageStyleImpl cxGridPropImageStyle = new CxGridPropImageStyleImpl();
+		return cxGridPropImageStyle;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CxGridPropIndicatorStyle createCxGridPropIndicatorStyle() {
+		CxGridPropIndicatorStyleImpl cxGridPropIndicatorStyle = new CxGridPropIndicatorStyleImpl();
+		return cxGridPropIndicatorStyle;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CxGridPropDateStyle createCxGridPropDateStyle() {
+		CxGridPropDateStyleImpl cxGridPropDateStyle = new CxGridPropDateStyleImpl();
+		return cxGridPropDateStyle;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CxGridStyleConfig createCxGridStyleConfig() {
+		CxGridStyleConfigImpl cxGridStyleConfig = new CxGridStyleConfigImpl();
+		return cxGridStyleConfig;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CxGridStyleConfigStringToResource createCxGridStyleConfigStringToResource() {
+		CxGridStyleConfigStringToResourceImpl cxGridStyleConfigStringToResource = new CxGridStyleConfigStringToResourceImpl();
+		return cxGridStyleConfigStringToResource;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CxGridStyleConfigNumericToResource createCxGridStyleConfigNumericToResource() {
+		CxGridStyleConfigNumericToResourceImpl cxGridStyleConfigNumericToResource = new CxGridStyleConfigNumericToResourceImpl();
+		return cxGridStyleConfigNumericToResource;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CxGridPropQuantityStyle createCxGridPropQuantityStyle() {
+		CxGridPropQuantityStyleImpl cxGridPropQuantityStyle = new CxGridPropQuantityStyleImpl();
+		return cxGridPropQuantityStyle;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CxGridPropPriceStyle createCxGridPropPriceStyle() {
+		CxGridPropPriceStyleImpl cxGridPropPriceStyle = new CxGridPropPriceStyleImpl();
+		return cxGridPropPriceStyle;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CxGridCompare createCxGridCompareFromString(EDataType eDataType, String initialValue) {
+		CxGridCompare result = CxGridCompare.get(initialValue);
+		if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
+		return result;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String convertCxGridCompareToString(EDataType eDataType, Object instanceValue) {
+		return instanceValue == null ? null : instanceValue.toString();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CxGridStylePackage getCxGridStylePackage() {
+		return (CxGridStylePackage)getEPackage();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @deprecated
+	 * @generated
+	 */
+	@Deprecated
+	public static CxGridStylePackage getPackage() {
+		return CxGridStylePackage.eINSTANCE;
+	}
+
+} //CxGridStyleFactoryImpl
diff --git a/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/style/impl/CxGridStylePackageImpl.java b/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/style/impl/CxGridStylePackageImpl.java
new file mode 100644
index 0000000..59e3770
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/style/impl/CxGridStylePackageImpl.java
@@ -0,0 +1,719 @@
+/**
+ *                                                                            
+ * 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.infogrid.model.gridsource.style.impl;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EClassifier;
+import org.eclipse.emf.ecore.EEnum;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+import org.eclipse.xtext.common.types.TypesPackage;
+import org.eclipse.osbp.infogrid.model.gridsource.CxGridSourcePackage;
+import org.eclipse.osbp.infogrid.model.gridsource.impl.CxGridSourcePackageImpl;
+import org.eclipse.osbp.infogrid.model.gridsource.style.CxGridStyleFactory;
+import org.eclipse.osbp.infogrid.model.gridsource.style.CxGridStylePackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class CxGridStylePackageImpl extends EPackageImpl implements CxGridStylePackage {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass cxGridPropStyleEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass cxGridPropHtmlStyleEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass cxGridPropTextStyleEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass cxGridPropButtonStyleEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass cxGridPropProgressbarStyleEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass cxGridPropSparklineStyleEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass cxGridPropBooleanStyleEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass cxGridPropNumberStyleEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass cxGridPropImageStyleEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass cxGridPropIndicatorStyleEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass cxGridPropDateStyleEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass cxGridStyleConfigEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass cxGridStyleConfigStringToResourceEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass cxGridStyleConfigNumericToResourceEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass cxGridEventTopicAbleEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass cxGridPropQuantityStyleEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass cxGridPropPriceStyleEClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EEnum cxGridCompareEEnum = null;
+
+	/**
+	 * Creates an instance of the model <b>Package</b>, registered with
+	 * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
+	 * package URI value.
+	 * <p>Note: the correct way to create the package is via the static
+	 * factory method {@link #init init()}, which also performs
+	 * initialization of the package, or returns the registered package,
+	 * if one already exists.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.emf.ecore.EPackage.Registry
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.style.CxGridStylePackage#eNS_URI
+	 * @see #init()
+	 * @generated
+	 */
+	private CxGridStylePackageImpl() {
+		super(eNS_URI, CxGridStyleFactory.eINSTANCE);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private static boolean isInited = false;
+
+	/**
+	 * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
+	 * 
+	 * <p>This method is used to initialize {@link CxGridStylePackage#eINSTANCE} when that field is accessed.
+	 * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #eNS_URI
+	 * @generated
+	 */
+	public static CxGridStylePackage init() {
+		if (isInited) return (CxGridStylePackage)EPackage.Registry.INSTANCE.getEPackage(CxGridStylePackage.eNS_URI);
+
+		// Obtain or create and register package
+		CxGridStylePackageImpl theCxGridStylePackage = (CxGridStylePackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof CxGridStylePackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new CxGridStylePackageImpl());
+
+		isInited = true;
+
+		// Initialize simple dependencies
+		TypesPackage.eINSTANCE.eClass();
+
+		// Obtain or create and register interdependencies
+		CxGridSourcePackageImpl theCxGridSourcePackage = (CxGridSourcePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(CxGridSourcePackage.eNS_URI) instanceof CxGridSourcePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(CxGridSourcePackage.eNS_URI) : CxGridSourcePackage.eINSTANCE);
+
+		// Load packages
+		theCxGridSourcePackage.loadPackage();
+
+		// Fix loaded packages
+		theCxGridStylePackage.fixPackageContents();
+		theCxGridSourcePackage.fixPackageContents();
+
+		// Mark meta-data to indicate it can't be changed
+		theCxGridStylePackage.freeze();
+
+  
+		// Update the registry and return the package
+		EPackage.Registry.INSTANCE.put(CxGridStylePackage.eNS_URI, theCxGridStylePackage);
+		return theCxGridStylePackage;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getCxGridPropStyle() {
+		if (cxGridPropStyleEClass == null) {
+			cxGridPropStyleEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(CxGridStylePackage.eNS_URI).getEClassifiers().get(0);
+		}
+		return cxGridPropStyleEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getCxGridPropHtmlStyle() {
+		if (cxGridPropHtmlStyleEClass == null) {
+			cxGridPropHtmlStyleEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(CxGridStylePackage.eNS_URI).getEClassifiers().get(1);
+		}
+		return cxGridPropHtmlStyleEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getCxGridPropTextStyle() {
+		if (cxGridPropTextStyleEClass == null) {
+			cxGridPropTextStyleEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(CxGridStylePackage.eNS_URI).getEClassifiers().get(2);
+		}
+		return cxGridPropTextStyleEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getCxGridPropButtonStyle() {
+		if (cxGridPropButtonStyleEClass == null) {
+			cxGridPropButtonStyleEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(CxGridStylePackage.eNS_URI).getEClassifiers().get(3);
+		}
+		return cxGridPropButtonStyleEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getCxGridPropProgressbarStyle() {
+		if (cxGridPropProgressbarStyleEClass == null) {
+			cxGridPropProgressbarStyleEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(CxGridStylePackage.eNS_URI).getEClassifiers().get(4);
+		}
+		return cxGridPropProgressbarStyleEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getCxGridPropProgressbarStyle_MaxValue() {
+        return (EAttribute)getCxGridPropProgressbarStyle().getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getCxGridPropSparklineStyle() {
+		if (cxGridPropSparklineStyleEClass == null) {
+			cxGridPropSparklineStyleEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(CxGridStylePackage.eNS_URI).getEClassifiers().get(5);
+		}
+		return cxGridPropSparklineStyleEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getCxGridPropSparklineStyle_Field() {
+        return (EReference)getCxGridPropSparklineStyle().getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getCxGridPropBooleanStyle() {
+		if (cxGridPropBooleanStyleEClass == null) {
+			cxGridPropBooleanStyleEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(CxGridStylePackage.eNS_URI).getEClassifiers().get(6);
+		}
+		return cxGridPropBooleanStyleEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getCxGridPropNumberStyle() {
+		if (cxGridPropNumberStyleEClass == null) {
+			cxGridPropNumberStyleEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(CxGridStylePackage.eNS_URI).getEClassifiers().get(7);
+		}
+		return cxGridPropNumberStyleEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getCxGridPropNumberStyle_NumberFormat() {
+        return (EAttribute)getCxGridPropNumberStyle().getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getCxGridPropImageStyle() {
+		if (cxGridPropImageStyleEClass == null) {
+			cxGridPropImageStyleEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(CxGridStylePackage.eNS_URI).getEClassifiers().get(8);
+		}
+		return cxGridPropImageStyleEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getCxGridPropImageStyle_Configs() {
+        return (EReference)getCxGridPropImageStyle().getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getCxGridPropIndicatorStyle() {
+		if (cxGridPropIndicatorStyleEClass == null) {
+			cxGridPropIndicatorStyleEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(CxGridStylePackage.eNS_URI).getEClassifiers().get(9);
+		}
+		return cxGridPropIndicatorStyleEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getCxGridPropIndicatorStyle_GreenStarts() {
+        return (EAttribute)getCxGridPropIndicatorStyle().getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getCxGridPropIndicatorStyle_RedEnds() {
+        return (EAttribute)getCxGridPropIndicatorStyle().getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getCxGridPropDateStyle() {
+		if (cxGridPropDateStyleEClass == null) {
+			cxGridPropDateStyleEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(CxGridStylePackage.eNS_URI).getEClassifiers().get(10);
+		}
+		return cxGridPropDateStyleEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getCxGridPropDateStyle_DateFormat() {
+        return (EAttribute)getCxGridPropDateStyle().getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getCxGridStyleConfig() {
+		if (cxGridStyleConfigEClass == null) {
+			cxGridStyleConfigEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(CxGridStylePackage.eNS_URI).getEClassifiers().get(11);
+		}
+		return cxGridStyleConfigEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getCxGridStyleConfigStringToResource() {
+		if (cxGridStyleConfigStringToResourceEClass == null) {
+			cxGridStyleConfigStringToResourceEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(CxGridStylePackage.eNS_URI).getEClassifiers().get(12);
+		}
+		return cxGridStyleConfigStringToResourceEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getCxGridStyleConfigStringToResource_Value() {
+        return (EAttribute)getCxGridStyleConfigStringToResource().getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getCxGridStyleConfigStringToResource_Compare() {
+        return (EAttribute)getCxGridStyleConfigStringToResource().getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getCxGridStyleConfigStringToResource_ResourceThemePath() {
+        return (EAttribute)getCxGridStyleConfigStringToResource().getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getCxGridStyleConfigNumericToResource() {
+		if (cxGridStyleConfigNumericToResourceEClass == null) {
+			cxGridStyleConfigNumericToResourceEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(CxGridStylePackage.eNS_URI).getEClassifiers().get(13);
+		}
+		return cxGridStyleConfigNumericToResourceEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getCxGridStyleConfigNumericToResource_Value() {
+        return (EAttribute)getCxGridStyleConfigNumericToResource().getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getCxGridStyleConfigNumericToResource_Compare() {
+        return (EAttribute)getCxGridStyleConfigNumericToResource().getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getCxGridStyleConfigNumericToResource_ResourceThemePath() {
+        return (EAttribute)getCxGridStyleConfigNumericToResource().getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getCxGridEventTopicAble() {
+		if (cxGridEventTopicAbleEClass == null) {
+			cxGridEventTopicAbleEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(CxGridStylePackage.eNS_URI).getEClassifiers().get(15);
+		}
+		return cxGridEventTopicAbleEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getCxGridEventTopicAble_EventTopic() {
+        return (EAttribute)getCxGridEventTopicAble().getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getCxGridPropQuantityStyle() {
+		if (cxGridPropQuantityStyleEClass == null) {
+			cxGridPropQuantityStyleEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(CxGridStylePackage.eNS_URI).getEClassifiers().get(16);
+		}
+		return cxGridPropQuantityStyleEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getCxGridPropQuantityStyle_ValuePropertyPath() {
+        return (EReference)getCxGridPropQuantityStyle().getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getCxGridPropQuantityStyle_ValuePropertyDotPath() {
+        return (EAttribute)getCxGridPropQuantityStyle().getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getCxGridPropQuantityStyle_ValueNumberFormat() {
+        return (EAttribute)getCxGridPropQuantityStyle().getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getCxGridPropQuantityStyle_UomPropertyPath() {
+        return (EReference)getCxGridPropQuantityStyle().getEStructuralFeatures().get(3);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getCxGridPropQuantityStyle_UomPropertyDotPath() {
+        return (EAttribute)getCxGridPropQuantityStyle().getEStructuralFeatures().get(4);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getCxGridPropQuantityStyle_HtmlPattern() {
+        return (EAttribute)getCxGridPropQuantityStyle().getEStructuralFeatures().get(5);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getCxGridPropPriceStyle() {
+		if (cxGridPropPriceStyleEClass == null) {
+			cxGridPropPriceStyleEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(CxGridStylePackage.eNS_URI).getEClassifiers().get(17);
+		}
+		return cxGridPropPriceStyleEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getCxGridPropPriceStyle_ValuePropertyPath() {
+        return (EReference)getCxGridPropPriceStyle().getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getCxGridPropPriceStyle_ValuePropertyDotPath() {
+        return (EAttribute)getCxGridPropPriceStyle().getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getCxGridPropPriceStyle_ValueNumberFormat() {
+        return (EAttribute)getCxGridPropPriceStyle().getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getCxGridPropPriceStyle_CurrencyPropertyPath() {
+        return (EReference)getCxGridPropPriceStyle().getEStructuralFeatures().get(3);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getCxGridPropPriceStyle_CurrencyPropertyDotPath() {
+        return (EAttribute)getCxGridPropPriceStyle().getEStructuralFeatures().get(4);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getCxGridPropPriceStyle_HtmlPattern() {
+        return (EAttribute)getCxGridPropPriceStyle().getEStructuralFeatures().get(5);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EEnum getCxGridCompare() {
+		if (cxGridCompareEEnum == null) {
+			cxGridCompareEEnum = (EEnum)EPackage.Registry.INSTANCE.getEPackage(CxGridStylePackage.eNS_URI).getEClassifiers().get(14);
+		}
+		return cxGridCompareEEnum;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CxGridStyleFactory getCxGridStyleFactory() {
+		return (CxGridStyleFactory)getEFactoryInstance();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private boolean isFixed = false;
+
+	/**
+	 * Fixes up the loaded package, to make it appear as if it had been programmatically built.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void fixPackageContents() {
+		if (isFixed) return;
+		isFixed = true;
+		fixEClassifiers();
+	}
+
+	/**
+	 * Sets the instance class on the given classifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void fixInstanceClass(EClassifier eClassifier) {
+		if (eClassifier.getInstanceClassName() == null) {
+			eClassifier.setInstanceClassName("org.eclipse.osbp.infogrid.model.gridsource.style." + eClassifier.getName());
+			setGeneratedClassName(eClassifier);
+		}
+	}
+
+} //CxGridStylePackageImpl
diff --git a/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/style/util/CxGridStyleAdapterFactory.java b/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/style/util/CxGridStyleAdapterFactory.java
new file mode 100644
index 0000000..09d02a1
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/style/util/CxGridStyleAdapterFactory.java
@@ -0,0 +1,418 @@
+/**
+ *                                                                            
+ * 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.infogrid.model.gridsource.style.util;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notifier;
+
+import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.osbp.infogrid.model.gridsource.style.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Adapter Factory</b> for the model.
+ * It provides an adapter <code>createXXX</code> method for each class of the model.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.osbp.infogrid.model.gridsource.style.CxGridStylePackage
+ * @generated
+ */
+public class CxGridStyleAdapterFactory extends AdapterFactoryImpl {
+	/**
+	 * The cached model package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected static CxGridStylePackage modelPackage;
+
+	/**
+	 * Creates an instance of the adapter factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CxGridStyleAdapterFactory() {
+		if (modelPackage == null) {
+			modelPackage = CxGridStylePackage.eINSTANCE;
+		}
+	}
+
+	/**
+	 * Returns whether this factory is applicable for the type of the object.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
+	 * <!-- end-user-doc -->
+	 * @return whether this factory is applicable for the type of the object.
+	 * @generated
+	 */
+	@Override
+	public boolean isFactoryForType(Object object) {
+		if (object == modelPackage) {
+			return true;
+		}
+		if (object instanceof EObject) {
+			return ((EObject)object).eClass().getEPackage() == modelPackage;
+		}
+		return false;
+	}
+
+	/**
+	 * The switch that delegates to the <code>createXXX</code> methods.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected CxGridStyleSwitch<Adapter> modelSwitch =
+		new CxGridStyleSwitch<Adapter>() {
+			@Override
+			public Adapter caseCxGridPropStyle(CxGridPropStyle object) {
+				return createCxGridPropStyleAdapter();
+			}
+			@Override
+			public Adapter caseCxGridPropHtmlStyle(CxGridPropHtmlStyle object) {
+				return createCxGridPropHtmlStyleAdapter();
+			}
+			@Override
+			public Adapter caseCxGridPropTextStyle(CxGridPropTextStyle object) {
+				return createCxGridPropTextStyleAdapter();
+			}
+			@Override
+			public Adapter caseCxGridPropButtonStyle(CxGridPropButtonStyle object) {
+				return createCxGridPropButtonStyleAdapter();
+			}
+			@Override
+			public Adapter caseCxGridPropProgressbarStyle(CxGridPropProgressbarStyle object) {
+				return createCxGridPropProgressbarStyleAdapter();
+			}
+			@Override
+			public Adapter caseCxGridPropSparklineStyle(CxGridPropSparklineStyle object) {
+				return createCxGridPropSparklineStyleAdapter();
+			}
+			@Override
+			public Adapter caseCxGridPropBooleanStyle(CxGridPropBooleanStyle object) {
+				return createCxGridPropBooleanStyleAdapter();
+			}
+			@Override
+			public Adapter caseCxGridPropNumberStyle(CxGridPropNumberStyle object) {
+				return createCxGridPropNumberStyleAdapter();
+			}
+			@Override
+			public Adapter caseCxGridPropImageStyle(CxGridPropImageStyle object) {
+				return createCxGridPropImageStyleAdapter();
+			}
+			@Override
+			public Adapter caseCxGridPropIndicatorStyle(CxGridPropIndicatorStyle object) {
+				return createCxGridPropIndicatorStyleAdapter();
+			}
+			@Override
+			public Adapter caseCxGridPropDateStyle(CxGridPropDateStyle object) {
+				return createCxGridPropDateStyleAdapter();
+			}
+			@Override
+			public Adapter caseCxGridStyleConfig(CxGridStyleConfig object) {
+				return createCxGridStyleConfigAdapter();
+			}
+			@Override
+			public Adapter caseCxGridStyleConfigStringToResource(CxGridStyleConfigStringToResource object) {
+				return createCxGridStyleConfigStringToResourceAdapter();
+			}
+			@Override
+			public Adapter caseCxGridStyleConfigNumericToResource(CxGridStyleConfigNumericToResource object) {
+				return createCxGridStyleConfigNumericToResourceAdapter();
+			}
+			@Override
+			public Adapter caseCxGridEventTopicAble(CxGridEventTopicAble object) {
+				return createCxGridEventTopicAbleAdapter();
+			}
+			@Override
+			public Adapter caseCxGridPropQuantityStyle(CxGridPropQuantityStyle object) {
+				return createCxGridPropQuantityStyleAdapter();
+			}
+			@Override
+			public Adapter caseCxGridPropPriceStyle(CxGridPropPriceStyle object) {
+				return createCxGridPropPriceStyleAdapter();
+			}
+			@Override
+			public Adapter defaultCase(EObject object) {
+				return createEObjectAdapter();
+			}
+		};
+
+	/**
+	 * Creates an adapter for the <code>target</code>.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param target the object to adapt.
+	 * @return the adapter for the <code>target</code>.
+	 * @generated
+	 */
+	@Override
+	public Adapter createAdapter(Notifier target) {
+		return modelSwitch.doSwitch((EObject)target);
+	}
+
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropStyle <em>Cx Grid Prop Style</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropStyle
+	 * @generated
+	 */
+	public Adapter createCxGridPropStyleAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropHtmlStyle <em>Cx Grid Prop Html Style</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropHtmlStyle
+	 * @generated
+	 */
+	public Adapter createCxGridPropHtmlStyleAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropTextStyle <em>Cx Grid Prop Text Style</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropTextStyle
+	 * @generated
+	 */
+	public Adapter createCxGridPropTextStyleAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropButtonStyle <em>Cx Grid Prop Button Style</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropButtonStyle
+	 * @generated
+	 */
+	public Adapter createCxGridPropButtonStyleAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropProgressbarStyle <em>Cx Grid Prop Progressbar Style</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropProgressbarStyle
+	 * @generated
+	 */
+	public Adapter createCxGridPropProgressbarStyleAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropSparklineStyle <em>Cx Grid Prop Sparkline Style</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropSparklineStyle
+	 * @generated
+	 */
+	public Adapter createCxGridPropSparklineStyleAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropBooleanStyle <em>Cx Grid Prop Boolean Style</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropBooleanStyle
+	 * @generated
+	 */
+	public Adapter createCxGridPropBooleanStyleAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropNumberStyle <em>Cx Grid Prop Number Style</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropNumberStyle
+	 * @generated
+	 */
+	public Adapter createCxGridPropNumberStyleAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropImageStyle <em>Cx Grid Prop Image Style</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropImageStyle
+	 * @generated
+	 */
+	public Adapter createCxGridPropImageStyleAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropIndicatorStyle <em>Cx Grid Prop Indicator Style</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropIndicatorStyle
+	 * @generated
+	 */
+	public Adapter createCxGridPropIndicatorStyleAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropDateStyle <em>Cx Grid Prop Date Style</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropDateStyle
+	 * @generated
+	 */
+	public Adapter createCxGridPropDateStyleAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridStyleConfig <em>Config</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.style.CxGridStyleConfig
+	 * @generated
+	 */
+	public Adapter createCxGridStyleConfigAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridStyleConfigStringToResource <em>Config String To Resource</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.style.CxGridStyleConfigStringToResource
+	 * @generated
+	 */
+	public Adapter createCxGridStyleConfigStringToResourceAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridStyleConfigNumericToResource <em>Config Numeric To Resource</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.style.CxGridStyleConfigNumericToResource
+	 * @generated
+	 */
+	public Adapter createCxGridStyleConfigNumericToResourceAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridEventTopicAble <em>Cx Grid Event Topic Able</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.style.CxGridEventTopicAble
+	 * @generated
+	 */
+	public Adapter createCxGridEventTopicAbleAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropQuantityStyle <em>Cx Grid Prop Quantity Style</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropQuantityStyle
+	 * @generated
+	 */
+	public Adapter createCxGridPropQuantityStyleAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropPriceStyle <em>Cx Grid Prop Price Style</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.style.CxGridPropPriceStyle
+	 * @generated
+	 */
+	public Adapter createCxGridPropPriceStyleAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for the default case.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @generated
+	 */
+	public Adapter createEObjectAdapter() {
+		return null;
+	}
+
+} //CxGridStyleAdapterFactory
diff --git a/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/style/util/CxGridStyleSwitch.java b/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/style/util/CxGridStyleSwitch.java
new file mode 100644
index 0000000..1228921
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/style/util/CxGridStyleSwitch.java
@@ -0,0 +1,474 @@
+/**
+ *                                                                            
+ * 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.infogrid.model.gridsource.style.util;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.util.Switch;
+
+import org.eclipse.osbp.infogrid.model.gridsource.style.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Switch</b> for the model's inheritance hierarchy.
+ * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
+ * to invoke the <code>caseXXX</code> method for each class of the model,
+ * starting with the actual class of the object
+ * and proceeding up the inheritance hierarchy
+ * until a non-null result is returned,
+ * which is the result of the switch.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.osbp.infogrid.model.gridsource.style.CxGridStylePackage
+ * @generated
+ */
+public class CxGridStyleSwitch<T> extends Switch<T> {
+	/**
+	 * The cached model package
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected static CxGridStylePackage modelPackage;
+
+	/**
+	 * Creates an instance of the switch.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CxGridStyleSwitch() {
+		if (modelPackage == null) {
+			modelPackage = CxGridStylePackage.eINSTANCE;
+		}
+	}
+
+	/**
+	 * Checks whether this is a switch for the given package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @parameter ePackage the package in question.
+	 * @return whether this is a switch for the given package.
+	 * @generated
+	 */
+	@Override
+	protected boolean isSwitchFor(EPackage ePackage) {
+		return ePackage == modelPackage;
+	}
+
+	/**
+	 * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the first non-null result returned by a <code>caseXXX</code> call.
+	 * @generated
+	 */
+	@Override
+	protected T doSwitch(int classifierID, EObject theEObject) {
+		switch (classifierID) {
+			case CxGridStylePackage.CX_GRID_PROP_STYLE: {
+				CxGridPropStyle cxGridPropStyle = (CxGridPropStyle)theEObject;
+				T result = caseCxGridPropStyle(cxGridPropStyle);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case CxGridStylePackage.CX_GRID_PROP_HTML_STYLE: {
+				CxGridPropHtmlStyle cxGridPropHtmlStyle = (CxGridPropHtmlStyle)theEObject;
+				T result = caseCxGridPropHtmlStyle(cxGridPropHtmlStyle);
+				if (result == null) result = caseCxGridPropStyle(cxGridPropHtmlStyle);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case CxGridStylePackage.CX_GRID_PROP_TEXT_STYLE: {
+				CxGridPropTextStyle cxGridPropTextStyle = (CxGridPropTextStyle)theEObject;
+				T result = caseCxGridPropTextStyle(cxGridPropTextStyle);
+				if (result == null) result = caseCxGridPropStyle(cxGridPropTextStyle);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case CxGridStylePackage.CX_GRID_PROP_BUTTON_STYLE: {
+				CxGridPropButtonStyle cxGridPropButtonStyle = (CxGridPropButtonStyle)theEObject;
+				T result = caseCxGridPropButtonStyle(cxGridPropButtonStyle);
+				if (result == null) result = caseCxGridEventTopicAble(cxGridPropButtonStyle);
+				if (result == null) result = caseCxGridPropStyle(cxGridPropButtonStyle);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case CxGridStylePackage.CX_GRID_PROP_PROGRESSBAR_STYLE: {
+				CxGridPropProgressbarStyle cxGridPropProgressbarStyle = (CxGridPropProgressbarStyle)theEObject;
+				T result = caseCxGridPropProgressbarStyle(cxGridPropProgressbarStyle);
+				if (result == null) result = caseCxGridPropStyle(cxGridPropProgressbarStyle);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case CxGridStylePackage.CX_GRID_PROP_SPARKLINE_STYLE: {
+				CxGridPropSparklineStyle cxGridPropSparklineStyle = (CxGridPropSparklineStyle)theEObject;
+				T result = caseCxGridPropSparklineStyle(cxGridPropSparklineStyle);
+				if (result == null) result = caseCxGridPropStyle(cxGridPropSparklineStyle);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case CxGridStylePackage.CX_GRID_PROP_BOOLEAN_STYLE: {
+				CxGridPropBooleanStyle cxGridPropBooleanStyle = (CxGridPropBooleanStyle)theEObject;
+				T result = caseCxGridPropBooleanStyle(cxGridPropBooleanStyle);
+				if (result == null) result = caseCxGridPropStyle(cxGridPropBooleanStyle);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case CxGridStylePackage.CX_GRID_PROP_NUMBER_STYLE: {
+				CxGridPropNumberStyle cxGridPropNumberStyle = (CxGridPropNumberStyle)theEObject;
+				T result = caseCxGridPropNumberStyle(cxGridPropNumberStyle);
+				if (result == null) result = caseCxGridPropStyle(cxGridPropNumberStyle);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case CxGridStylePackage.CX_GRID_PROP_IMAGE_STYLE: {
+				CxGridPropImageStyle cxGridPropImageStyle = (CxGridPropImageStyle)theEObject;
+				T result = caseCxGridPropImageStyle(cxGridPropImageStyle);
+				if (result == null) result = caseCxGridEventTopicAble(cxGridPropImageStyle);
+				if (result == null) result = caseCxGridPropStyle(cxGridPropImageStyle);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case CxGridStylePackage.CX_GRID_PROP_INDICATOR_STYLE: {
+				CxGridPropIndicatorStyle cxGridPropIndicatorStyle = (CxGridPropIndicatorStyle)theEObject;
+				T result = caseCxGridPropIndicatorStyle(cxGridPropIndicatorStyle);
+				if (result == null) result = caseCxGridEventTopicAble(cxGridPropIndicatorStyle);
+				if (result == null) result = caseCxGridPropStyle(cxGridPropIndicatorStyle);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case CxGridStylePackage.CX_GRID_PROP_DATE_STYLE: {
+				CxGridPropDateStyle cxGridPropDateStyle = (CxGridPropDateStyle)theEObject;
+				T result = caseCxGridPropDateStyle(cxGridPropDateStyle);
+				if (result == null) result = caseCxGridPropStyle(cxGridPropDateStyle);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case CxGridStylePackage.CX_GRID_STYLE_CONFIG: {
+				CxGridStyleConfig cxGridStyleConfig = (CxGridStyleConfig)theEObject;
+				T result = caseCxGridStyleConfig(cxGridStyleConfig);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case CxGridStylePackage.CX_GRID_STYLE_CONFIG_STRING_TO_RESOURCE: {
+				CxGridStyleConfigStringToResource cxGridStyleConfigStringToResource = (CxGridStyleConfigStringToResource)theEObject;
+				T result = caseCxGridStyleConfigStringToResource(cxGridStyleConfigStringToResource);
+				if (result == null) result = caseCxGridStyleConfig(cxGridStyleConfigStringToResource);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case CxGridStylePackage.CX_GRID_STYLE_CONFIG_NUMERIC_TO_RESOURCE: {
+				CxGridStyleConfigNumericToResource cxGridStyleConfigNumericToResource = (CxGridStyleConfigNumericToResource)theEObject;
+				T result = caseCxGridStyleConfigNumericToResource(cxGridStyleConfigNumericToResource);
+				if (result == null) result = caseCxGridStyleConfig(cxGridStyleConfigNumericToResource);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case CxGridStylePackage.CX_GRID_EVENT_TOPIC_ABLE: {
+				CxGridEventTopicAble cxGridEventTopicAble = (CxGridEventTopicAble)theEObject;
+				T result = caseCxGridEventTopicAble(cxGridEventTopicAble);
+				if (result == null) result = caseCxGridPropStyle(cxGridEventTopicAble);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case CxGridStylePackage.CX_GRID_PROP_QUANTITY_STYLE: {
+				CxGridPropQuantityStyle cxGridPropQuantityStyle = (CxGridPropQuantityStyle)theEObject;
+				T result = caseCxGridPropQuantityStyle(cxGridPropQuantityStyle);
+				if (result == null) result = caseCxGridPropStyle(cxGridPropQuantityStyle);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case CxGridStylePackage.CX_GRID_PROP_PRICE_STYLE: {
+				CxGridPropPriceStyle cxGridPropPriceStyle = (CxGridPropPriceStyle)theEObject;
+				T result = caseCxGridPropPriceStyle(cxGridPropPriceStyle);
+				if (result == null) result = caseCxGridPropStyle(cxGridPropPriceStyle);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			default: return defaultCase(theEObject);
+		}
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Cx Grid Prop Style</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Cx Grid Prop Style</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseCxGridPropStyle(CxGridPropStyle object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Cx Grid Prop Html Style</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Cx Grid Prop Html Style</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseCxGridPropHtmlStyle(CxGridPropHtmlStyle object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Cx Grid Prop Text Style</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Cx Grid Prop Text Style</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseCxGridPropTextStyle(CxGridPropTextStyle object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Cx Grid Prop Button Style</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Cx Grid Prop Button Style</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseCxGridPropButtonStyle(CxGridPropButtonStyle object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Cx Grid Prop Progressbar Style</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Cx Grid Prop Progressbar Style</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseCxGridPropProgressbarStyle(CxGridPropProgressbarStyle object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Cx Grid Prop Sparkline Style</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Cx Grid Prop Sparkline Style</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseCxGridPropSparklineStyle(CxGridPropSparklineStyle object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Cx Grid Prop Boolean Style</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Cx Grid Prop Boolean Style</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseCxGridPropBooleanStyle(CxGridPropBooleanStyle object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Cx Grid Prop Number Style</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Cx Grid Prop Number Style</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseCxGridPropNumberStyle(CxGridPropNumberStyle object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Cx Grid Prop Image Style</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Cx Grid Prop Image Style</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseCxGridPropImageStyle(CxGridPropImageStyle object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Cx Grid Prop Indicator Style</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Cx Grid Prop Indicator Style</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseCxGridPropIndicatorStyle(CxGridPropIndicatorStyle object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Cx Grid Prop Date Style</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Cx Grid Prop Date Style</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseCxGridPropDateStyle(CxGridPropDateStyle object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Config</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Config</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseCxGridStyleConfig(CxGridStyleConfig object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Config String To Resource</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Config String To Resource</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseCxGridStyleConfigStringToResource(CxGridStyleConfigStringToResource object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Config Numeric To Resource</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Config Numeric To Resource</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseCxGridStyleConfigNumericToResource(CxGridStyleConfigNumericToResource object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Cx Grid Event Topic Able</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Cx Grid Event Topic Able</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseCxGridEventTopicAble(CxGridEventTopicAble object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Cx Grid Prop Quantity Style</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Cx Grid Prop Quantity Style</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseCxGridPropQuantityStyle(CxGridPropQuantityStyle object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Cx Grid Prop Price Style</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Cx Grid Prop Price Style</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseCxGridPropPriceStyle(CxGridPropPriceStyle object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch, but this is the last case anyway.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject)
+	 * @generated
+	 */
+	@Override
+	public T defaultCase(EObject object) {
+		return null;
+	}
+
+} //CxGridStyleSwitch
diff --git a/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/util/CxGridSourceAdapterFactory.java b/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/util/CxGridSourceAdapterFactory.java
new file mode 100644
index 0000000..810039c
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/util/CxGridSourceAdapterFactory.java
@@ -0,0 +1,220 @@
+/**
+ *                                                                            
+ * 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.infogrid.model.gridsource.util;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notifier;
+
+import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.osbp.infogrid.model.gridsource.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Adapter Factory</b> for the model.
+ * It provides an adapter <code>createXXX</code> method for each class of the model.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.osbp.infogrid.model.gridsource.CxGridSourcePackage
+ * @generated
+ */
+public class CxGridSourceAdapterFactory extends AdapterFactoryImpl {
+	/**
+	 * The cached model package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected static CxGridSourcePackage modelPackage;
+
+	/**
+	 * Creates an instance of the adapter factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CxGridSourceAdapterFactory() {
+		if (modelPackage == null) {
+			modelPackage = CxGridSourcePackage.eINSTANCE;
+		}
+	}
+
+	/**
+	 * Returns whether this factory is applicable for the type of the object.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
+	 * <!-- end-user-doc -->
+	 * @return whether this factory is applicable for the type of the object.
+	 * @generated
+	 */
+	@Override
+	public boolean isFactoryForType(Object object) {
+		if (object == modelPackage) {
+			return true;
+		}
+		if (object instanceof EObject) {
+			return ((EObject)object).eClass().getEPackage() == modelPackage;
+		}
+		return false;
+	}
+
+	/**
+	 * The switch that delegates to the <code>createXXX</code> methods.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected CxGridSourceSwitch<Adapter> modelSwitch =
+		new CxGridSourceSwitch<Adapter>() {
+			@Override
+			public Adapter caseCxGridSource(CxGridSource object) {
+				return createCxGridSourceAdapter();
+			}
+			@Override
+			public Adapter caseCxGridSourceInput(CxGridSourceInput object) {
+				return createCxGridSourceInputAdapter();
+			}
+			@Override
+			public Adapter caseCxGridProperty(CxGridProperty object) {
+				return createCxGridPropertyAdapter();
+			}
+			@Override
+			public Adapter caseCxGridNestedField(CxGridNestedField object) {
+				return createCxGridNestedFieldAdapter();
+			}
+			@Override
+			public Adapter caseCxGridNestedPath(CxGridNestedPath object) {
+				return createCxGridNestedPathAdapter();
+			}
+			@Override
+			public Adapter caseCxGridSourceEQFilter(CxGridSourceEQFilter object) {
+				return createCxGridSourceEQFilterAdapter();
+			}
+			@Override
+			public Adapter defaultCase(EObject object) {
+				return createEObjectAdapter();
+			}
+		};
+
+	/**
+	 * Creates an adapter for the <code>target</code>.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param target the object to adapt.
+	 * @return the adapter for the <code>target</code>.
+	 * @generated
+	 */
+	@Override
+	public Adapter createAdapter(Notifier target) {
+		return modelSwitch.doSwitch((EObject)target);
+	}
+
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.osbp.infogrid.model.gridsource.CxGridSource <em>Cx Grid Source</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.CxGridSource
+	 * @generated
+	 */
+	public Adapter createCxGridSourceAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.osbp.infogrid.model.gridsource.CxGridSourceInput <em>Input</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.CxGridSourceInput
+	 * @generated
+	 */
+	public Adapter createCxGridSourceInputAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.osbp.infogrid.model.gridsource.CxGridProperty <em>Cx Grid Property</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.CxGridProperty
+	 * @generated
+	 */
+	public Adapter createCxGridPropertyAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.osbp.infogrid.model.gridsource.CxGridNestedField <em>Cx Grid Nested Field</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.CxGridNestedField
+	 * @generated
+	 */
+	public Adapter createCxGridNestedFieldAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.osbp.infogrid.model.gridsource.CxGridNestedPath <em>Cx Grid Nested Path</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.CxGridNestedPath
+	 * @generated
+	 */
+	public Adapter createCxGridNestedPathAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.osbp.infogrid.model.gridsource.CxGridSourceEQFilter <em>EQ Filter</em>}'.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @see org.eclipse.osbp.infogrid.model.gridsource.CxGridSourceEQFilter
+	 * @generated
+	 */
+	public Adapter createCxGridSourceEQFilterAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for the default case.
+	 * <!-- begin-user-doc -->
+	 * This default implementation returns null.
+	 * <!-- end-user-doc -->
+	 * @return the new adapter.
+	 * @generated
+	 */
+	public Adapter createEObjectAdapter() {
+		return null;
+	}
+
+} //CxGridSourceAdapterFactory
diff --git a/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/util/CxGridSourceSwitch.java b/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/util/CxGridSourceSwitch.java
new file mode 100644
index 0000000..4ab1f92
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/util/CxGridSourceSwitch.java
@@ -0,0 +1,225 @@
+/**
+ *                                                                            
+ * 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.infogrid.model.gridsource.util;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.util.Switch;
+
+import org.eclipse.osbp.infogrid.model.gridsource.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Switch</b> for the model's inheritance hierarchy.
+ * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
+ * to invoke the <code>caseXXX</code> method for each class of the model,
+ * starting with the actual class of the object
+ * and proceeding up the inheritance hierarchy
+ * until a non-null result is returned,
+ * which is the result of the switch.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.osbp.infogrid.model.gridsource.CxGridSourcePackage
+ * @generated
+ */
+public class CxGridSourceSwitch<T> extends Switch<T> {
+	/**
+	 * The cached model package
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected static CxGridSourcePackage modelPackage;
+
+	/**
+	 * Creates an instance of the switch.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CxGridSourceSwitch() {
+		if (modelPackage == null) {
+			modelPackage = CxGridSourcePackage.eINSTANCE;
+		}
+	}
+
+	/**
+	 * Checks whether this is a switch for the given package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @parameter ePackage the package in question.
+	 * @return whether this is a switch for the given package.
+	 * @generated
+	 */
+	@Override
+	protected boolean isSwitchFor(EPackage ePackage) {
+		return ePackage == modelPackage;
+	}
+
+	/**
+	 * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the first non-null result returned by a <code>caseXXX</code> call.
+	 * @generated
+	 */
+	@Override
+	protected T doSwitch(int classifierID, EObject theEObject) {
+		switch (classifierID) {
+			case CxGridSourcePackage.CX_GRID_SOURCE: {
+				CxGridSource cxGridSource = (CxGridSource)theEObject;
+				T result = caseCxGridSource(cxGridSource);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case CxGridSourcePackage.CX_GRID_SOURCE_INPUT: {
+				CxGridSourceInput cxGridSourceInput = (CxGridSourceInput)theEObject;
+				T result = caseCxGridSourceInput(cxGridSourceInput);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case CxGridSourcePackage.CX_GRID_PROPERTY: {
+				CxGridProperty cxGridProperty = (CxGridProperty)theEObject;
+				T result = caseCxGridProperty(cxGridProperty);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case CxGridSourcePackage.CX_GRID_NESTED_FIELD: {
+				CxGridNestedField cxGridNestedField = (CxGridNestedField)theEObject;
+				T result = caseCxGridNestedField(cxGridNestedField);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case CxGridSourcePackage.CX_GRID_NESTED_PATH: {
+				CxGridNestedPath cxGridNestedPath = (CxGridNestedPath)theEObject;
+				T result = caseCxGridNestedPath(cxGridNestedPath);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			case CxGridSourcePackage.CX_GRID_SOURCE_EQ_FILTER: {
+				CxGridSourceEQFilter cxGridSourceEQFilter = (CxGridSourceEQFilter)theEObject;
+				T result = caseCxGridSourceEQFilter(cxGridSourceEQFilter);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
+			default: return defaultCase(theEObject);
+		}
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Cx Grid Source</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Cx Grid Source</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseCxGridSource(CxGridSource object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Input</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Input</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseCxGridSourceInput(CxGridSourceInput object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Cx Grid Property</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Cx Grid Property</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseCxGridProperty(CxGridProperty object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Cx Grid Nested Field</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Cx Grid Nested Field</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseCxGridNestedField(CxGridNestedField object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Cx Grid Nested Path</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Cx Grid Nested Path</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseCxGridNestedPath(CxGridNestedPath object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>EQ Filter</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>EQ Filter</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseCxGridSourceEQFilter(CxGridSourceEQFilter object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch, but this is the last case anyway.
+	 * <!-- end-user-doc -->
+	 * @param object the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject)
+	 * @generated
+	 */
+	@Override
+	public T defaultCase(EObject object) {
+		return null;
+	}
+
+} //CxGridSourceSwitch
diff --git a/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/util/Util.xtend b/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/util/Util.xtend
new file mode 100644
index 0000000..f6a3421
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model/src/org/eclipse/osbp/infogrid/model/gridsource/util/Util.xtend
@@ -0,0 +1,124 @@
+/**
+ *                                                                            
+ * 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 
+ * 
+ * 
+ *  This copyright notice shows up in the generated Java code
+ *
+ */
+ 
+package org.eclipse.osbp.infogrid.model.gridsource.util
+
+import org.eclipse.xtext.common.types.JvmType
+import org.eclipse.osbp.infogrid.model.gridsource.CxGridNestedField
+import org.eclipse.osbp.infogrid.model.gridsource.CxGridNestedPath
+import org.eclipse.osbp.infogrid.model.gridsource.CxGridProperty
+
+class Util {
+
+	def static String calcDotPath(CxGridProperty property) {
+		if (property.path == null) {
+			return "";
+		}
+
+		return property.path.calcDotPath
+	}
+
+	def static String calcDotPath(CxGridNestedField field) {
+		if (field == null || field.field == null) {
+			return "";
+		}
+
+		val String fieldName = field.field.simpleName.toPropertyName
+		val String tail = field.path?.calcDotPath
+		return if(!tail.nullOrEmpty) fieldName + "." + tail else fieldName
+	}
+
+	def static String calcDotPath(CxGridNestedPath path) {
+		if (path == null || path.field == null) {
+			return "";
+		}
+
+		val String fieldName = path.field.simpleName.toPropertyName
+		val String tail = path.path?.calcDotPath
+
+		return if(!tail.nullOrEmpty) fieldName + "." + tail else fieldName
+	}
+
+	def static JvmType calcLeafType(CxGridProperty property) {
+		if (property.path == null) {
+			return null;
+		}
+
+		return property.path.calcLeafType
+	}
+
+	def static JvmType calcLeafType(CxGridNestedField field) {
+		if (field == null || field.field == null) {
+			return null;
+		}
+
+		if (field.path != null) {
+			return field.path.calcLeafType
+		} else {
+			return field.field.returnType.type
+		}
+	}
+
+	def static JvmType calcLeafType(CxGridNestedPath path) {
+		if (path == null || path.field == null) {
+			return null;
+		}
+
+		if (path.path != null) {
+			return path.path.calcLeafType
+		} else {
+			return path.field.returnType.type
+		}
+	}
+	
+		/**
+	 * Normalizes the method name.
+	 * 
+	 * @param simpleName
+	 * @return
+	 */
+	def static String toPropertyName(String simpleName) {
+		if (simpleName == null) {
+			return null;
+		}
+		var String tempName = null;
+		if (isSetter(simpleName)) {
+			tempName = StringExtensions.toFirstLower(simpleName.replaceFirst(
+					"set", ""));
+		} else if (isGetter(simpleName)) {
+			if (simpleName.startsWith("get")) {
+				tempName = StringExtensions.toFirstLower(simpleName
+						.replaceFirst("get", ""));
+			} else {
+				tempName = StringExtensions.toFirstLower(simpleName
+						.replaceFirst("is", ""));
+			}
+		}
+		return tempName;
+	}
+
+	def static boolean isGetter(String simpleName) {
+		if (simpleName == null) {
+			return false;
+		}
+		return simpleName.startsWith("get") || simpleName.startsWith("is");
+	}
+
+	def static boolean isSetter(String simpleName) {
+		return simpleName != null && simpleName.startsWith("set");
+	}
+}
diff --git a/org.eclipse.osbp.infogrid.model/xtend-gen/org/eclipse/osbp/infogrid/model/gridsource/util/Util.java b/org.eclipse.osbp.infogrid.model/xtend-gen/org/eclipse/osbp/infogrid/model/gridsource/util/Util.java
new file mode 100644
index 0000000..066bd48
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.model/xtend-gen/org/eclipse/osbp/infogrid/model/gridsource/util/Util.java
@@ -0,0 +1,227 @@
+/**
+ * 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
+ * 
+ * 
+ *  This copyright notice shows up in the generated Java code
+ */
+package org.eclipse.osbp.infogrid.model.gridsource.util;
+
+import com.google.common.base.Objects;
+import org.eclipse.osbp.infogrid.model.gridsource.CxGridNestedField;
+import org.eclipse.osbp.infogrid.model.gridsource.CxGridNestedPath;
+import org.eclipse.osbp.infogrid.model.gridsource.CxGridProperty;
+import org.eclipse.xtext.common.types.JvmOperation;
+import org.eclipse.xtext.common.types.JvmType;
+import org.eclipse.xtext.common.types.JvmTypeReference;
+import org.eclipse.xtext.xbase.lib.StringExtensions;
+
+@SuppressWarnings("all")
+public class Util {
+  public static String calcDotPath(final CxGridProperty property) {
+    CxGridNestedField _path = property.getPath();
+    boolean _equals = Objects.equal(_path, null);
+    if (_equals) {
+      return "";
+    }
+    CxGridNestedField _path_1 = property.getPath();
+    return Util.calcDotPath(_path_1);
+  }
+  
+  public static String calcDotPath(final CxGridNestedField field) {
+    boolean _or = false;
+    boolean _equals = Objects.equal(field, null);
+    if (_equals) {
+      _or = true;
+    } else {
+      JvmOperation _field = field.getField();
+      boolean _equals_1 = Objects.equal(_field, null);
+      _or = _equals_1;
+    }
+    if (_or) {
+      return "";
+    }
+    JvmOperation _field_1 = field.getField();
+    String _simpleName = _field_1.getSimpleName();
+    final String fieldName = Util.toPropertyName(_simpleName);
+    CxGridNestedPath _path = field.getPath();
+    String _calcDotPath = null;
+    if (_path!=null) {
+      _calcDotPath=Util.calcDotPath(_path);
+    }
+    final String tail = _calcDotPath;
+    String _xifexpression = null;
+    boolean _isNullOrEmpty = StringExtensions.isNullOrEmpty(tail);
+    boolean _not = (!_isNullOrEmpty);
+    if (_not) {
+      _xifexpression = ((fieldName + ".") + tail);
+    } else {
+      _xifexpression = fieldName;
+    }
+    return _xifexpression;
+  }
+  
+  public static String calcDotPath(final CxGridNestedPath path) {
+    boolean _or = false;
+    boolean _equals = Objects.equal(path, null);
+    if (_equals) {
+      _or = true;
+    } else {
+      JvmOperation _field = path.getField();
+      boolean _equals_1 = Objects.equal(_field, null);
+      _or = _equals_1;
+    }
+    if (_or) {
+      return "";
+    }
+    JvmOperation _field_1 = path.getField();
+    String _simpleName = _field_1.getSimpleName();
+    final String fieldName = Util.toPropertyName(_simpleName);
+    CxGridNestedPath _path = path.getPath();
+    String _calcDotPath = null;
+    if (_path!=null) {
+      _calcDotPath=Util.calcDotPath(_path);
+    }
+    final String tail = _calcDotPath;
+    String _xifexpression = null;
+    boolean _isNullOrEmpty = StringExtensions.isNullOrEmpty(tail);
+    boolean _not = (!_isNullOrEmpty);
+    if (_not) {
+      _xifexpression = ((fieldName + ".") + tail);
+    } else {
+      _xifexpression = fieldName;
+    }
+    return _xifexpression;
+  }
+  
+  public static JvmType calcLeafType(final CxGridProperty property) {
+    CxGridNestedField _path = property.getPath();
+    boolean _equals = Objects.equal(_path, null);
+    if (_equals) {
+      return null;
+    }
+    CxGridNestedField _path_1 = property.getPath();
+    return Util.calcLeafType(_path_1);
+  }
+  
+  public static JvmType calcLeafType(final CxGridNestedField field) {
+    boolean _or = false;
+    boolean _equals = Objects.equal(field, null);
+    if (_equals) {
+      _or = true;
+    } else {
+      JvmOperation _field = field.getField();
+      boolean _equals_1 = Objects.equal(_field, null);
+      _or = _equals_1;
+    }
+    if (_or) {
+      return null;
+    }
+    CxGridNestedPath _path = field.getPath();
+    boolean _notEquals = (!Objects.equal(_path, null));
+    if (_notEquals) {
+      CxGridNestedPath _path_1 = field.getPath();
+      return Util.calcLeafType(_path_1);
+    } else {
+      JvmOperation _field_1 = field.getField();
+      JvmTypeReference _returnType = _field_1.getReturnType();
+      return _returnType.getType();
+    }
+  }
+  
+  public static JvmType calcLeafType(final CxGridNestedPath path) {
+    boolean _or = false;
+    boolean _equals = Objects.equal(path, null);
+    if (_equals) {
+      _or = true;
+    } else {
+      JvmOperation _field = path.getField();
+      boolean _equals_1 = Objects.equal(_field, null);
+      _or = _equals_1;
+    }
+    if (_or) {
+      return null;
+    }
+    CxGridNestedPath _path = path.getPath();
+    boolean _notEquals = (!Objects.equal(_path, null));
+    if (_notEquals) {
+      CxGridNestedPath _path_1 = path.getPath();
+      return Util.calcLeafType(_path_1);
+    } else {
+      JvmOperation _field_1 = path.getField();
+      JvmTypeReference _returnType = _field_1.getReturnType();
+      return _returnType.getType();
+    }
+  }
+  
+  /**
+   * Normalizes the method name.
+   * 
+   * @param simpleName
+   * @return
+   */
+  public static String toPropertyName(final String simpleName) {
+    boolean _equals = Objects.equal(simpleName, null);
+    if (_equals) {
+      return null;
+    }
+    String tempName = null;
+    boolean _isSetter = Util.isSetter(simpleName);
+    if (_isSetter) {
+      String _replaceFirst = simpleName.replaceFirst(
+        "set", "");
+      String _firstLower = StringExtensions.toFirstLower(_replaceFirst);
+      tempName = _firstLower;
+    } else {
+      boolean _isGetter = Util.isGetter(simpleName);
+      if (_isGetter) {
+        boolean _startsWith = simpleName.startsWith("get");
+        if (_startsWith) {
+          String _replaceFirst_1 = simpleName.replaceFirst("get", "");
+          String _firstLower_1 = StringExtensions.toFirstLower(_replaceFirst_1);
+          tempName = _firstLower_1;
+        } else {
+          String _replaceFirst_2 = simpleName.replaceFirst("is", "");
+          String _firstLower_2 = StringExtensions.toFirstLower(_replaceFirst_2);
+          tempName = _firstLower_2;
+        }
+      }
+    }
+    return tempName;
+  }
+  
+  public static boolean isGetter(final String simpleName) {
+    boolean _equals = Objects.equal(simpleName, null);
+    if (_equals) {
+      return false;
+    }
+    boolean _or = false;
+    boolean _startsWith = simpleName.startsWith("get");
+    if (_startsWith) {
+      _or = true;
+    } else {
+      boolean _startsWith_1 = simpleName.startsWith("is");
+      _or = _startsWith_1;
+    }
+    return _or;
+  }
+  
+  public static boolean isSetter(final String simpleName) {
+    boolean _and = false;
+    boolean _notEquals = (!Objects.equal(simpleName, null));
+    if (!_notEquals) {
+      _and = false;
+    } else {
+      boolean _startsWith = simpleName.startsWith("set");
+      _and = _startsWith;
+    }
+    return _and;
+  }
+}
diff --git a/org.eclipse.osbp.infogrid.services.tests/.project b/org.eclipse.osbp.infogrid.services.tests/.project
new file mode 100644
index 0000000..b3ab9a5
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.services.tests/.project
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.osbp.infogrid.services.tests</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.babel.editor.rbeBuilder</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.infogrid.services.tests/LICENSE.txt b/org.eclipse.osbp.infogrid.services.tests/LICENSE.txt
new file mode 100644
index 0000000..ff42ad4
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.services.tests/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.infogrid.services.tests/META-INF/MANIFEST.MF b/org.eclipse.osbp.infogrid.services.tests/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..2284277
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.services.tests/META-INF/MANIFEST.MF
@@ -0,0 +1,25 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: org.eclipse.osbp.infogrid.services.tests
+Bundle-SymbolicName: org.eclipse.osbp.infogrid.services.tests
+Bundle-Vendor: Eclipse OSBP
+Bundle-Version: 0.9.0.qualifier
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Require-Bundle: org.junit;bundle-version="4.11.0",
+ org.eclipse.equinox.ds;bundle-version="1.4.200",
+ org.eclipse.equinox.event;bundle-version="1.3.100",
+ org.eclipse.equinox.util;bundle-version="1.0.500",
+ org.knowhowlab.osgi.testing.assertions;bundle-version="[1.3.0,1.3.1)",
+ org.knowhowlab.osgi.testing.utils;bundle-version="[1.2.2,1.2.3)",
+ org.eclipse.osbp.infogrid.api;bundle-version="[0.9.0,0.10.0)",
+ org.eclipse.osbp.infogrid.model;bundle-version="[0.9.0,0.10.0)",
+ org.eclipse.osbp.infogrid.services;bundle-version="[0.9.0,0.10.0)",
+ org.eclipse.osbp.infogrid.ecview;bundle-version="[0.9.0,0.10.0)",
+ org.eclipse.osbp.runtime.common;bundle-version="[0.9.0,0.10.0)",
+ com.vaadin.server;bundle-version="7.5.7",
+ com.vaadin.shared;bundle-version="7.5.7",
+ org.eclipse.osbp.ecview.core.common;bundle-version="[0.9.0,0.10.0)"
+Import-Package: org.osgi.framework;version="1.8.0",
+ org.osgi.service.component;version="1.2.2"
+OSbee-Models: 
+Bundle-ActivationPolicy: lazy
diff --git a/org.eclipse.osbp.infogrid.services.tests/about.html b/org.eclipse.osbp.infogrid.services.tests/about.html
new file mode 100644
index 0000000..64c0598
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.services.tests/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.infogrid.services.tests/about.ini b/org.eclipse.osbp.infogrid.services.tests/about.ini
new file mode 100644
index 0000000..7df671f
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.services.tests/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.infogrid.services.tests/about.mappings b/org.eclipse.osbp.infogrid.services.tests/about.mappings
new file mode 100644
index 0000000..4511a0a
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.services.tests/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.infogrid.services.tests/about.properties b/org.eclipse.osbp.infogrid.services.tests/about.properties
new file mode 100644
index 0000000..f855411
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.services.tests/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:
+#    Christophe Loetz (Loetz GmbH&Co.KG) - initial API and implementation
+#
+
+# NLS_MESSAGEFORMAT_VAR
+
+featureName=org.eclipse.osbp.infogrid.services.tests
+
+################ 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\
+    Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation\n
+################ end of blurb property ####################################
diff --git a/org.eclipse.osbp.infogrid.services.tests/build.properties b/org.eclipse.osbp.infogrid.services.tests/build.properties
new file mode 100644
index 0000000..c13e5be
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.services.tests/build.properties
@@ -0,0 +1,10 @@
+source.. = src/
+output.. = target/classes/
+bin.includes = about.properties,  about.mappings,  about.ini,  about.html,  META-INF/,\
+               .,\
+               LICENSE.txt,\
+               epl-v10.html,\
+               license.html
+src.includes = about.properties,  about.mappings,  about.ini,  about.html,  epl-v10.html,\
+               license.html,\
+               LICENSE.txt
diff --git a/org.eclipse.osbp.infogrid.services.tests/epl-v10.html b/org.eclipse.osbp.infogrid.services.tests/epl-v10.html
new file mode 100644
index 0000000..b398acc
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.services.tests/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.infogrid.services.tests/license.html b/org.eclipse.osbp.infogrid.services.tests/license.html
new file mode 100644
index 0000000..6e579a5
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.services.tests/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.infogrid.services.tests/models/my.gridsource.gridsource_xmi b/org.eclipse.osbp.infogrid.services.tests/models/my.gridsource.gridsource_xmi
new file mode 100644
index 0000000..001bcbd
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.services.tests/models/my.gridsource.gridsource_xmi
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="ASCII"?>
+<gridsource:CxGridSource xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:gridsource="http://osbp.eclipse.org/gridsource/v1/core" xmlns:style="http://osbp.eclipse.org/gridsource/v1/core/style" xmlns:types="http://www.eclipse.org/xtext/common/JavaVMTypes" id="org.my" rootTypeFQN="org.eclipse.osbp.infogrid.services.tests.data.MyDto">
+  <rootType xsi:type="types:JvmParameterizedTypeReference">
+    <type xsi:type="types:JvmGenericType" href="java:/Objects/org.eclipse.osbp.infogrid.services.tests.data.MyDto#org.eclipse.osbp.infogrid.services.tests.data.MyDto"/>
+  </rootType>
+  <properties dotPath="child.value">
+    <path>
+      <field href="java:/Objects/org.eclipse.osbp.infogrid.services.tests.data.MyDto#org.eclipse.osbp.infogrid.services.tests.data.MyDto.getChild()"/>
+      <path>
+        <field href="java:/Objects/org.eclipse.osbp.infogrid.services.tests.data.MyDto#org.eclipse.osbp.infogrid.services.tests.data.MyDto.getValue()"/>
+      </path>
+    </path>
+    <style xsi:type="style:CxGridPropButtonStyle"/>
+  </properties>
+</gridsource:CxGridSource>
diff --git a/org.eclipse.osbp.infogrid.services.tests/pom.xml b/org.eclipse.osbp.infogrid.services.tests/pom.xml
new file mode 100644
index 0000000..3474da0
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.services.tests/pom.xml
@@ -0,0 +1,29 @@
+<?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.infogrid</groupId>
+		<artifactId>org.eclipse.osbp.infogrid.aggregator</artifactId>
+		<version>0.9.0-SNAPSHOT</version>
+		<relativePath>..</relativePath>
+	</parent>
+	<artifactId>org.eclipse.osbp.infogrid.services.tests</artifactId>
+	<build>
+		<sourceDirectory>src</sourceDirectory>
+		<plugins>
+		</plugins>
+	</build>
+	<packaging>eclipse-plugin</packaging>
+	
+</project>
diff --git a/org.eclipse.osbp.infogrid.services.tests/src/org/eclipse/osbp/infogrid/services/tests/ECViewGridSourceDescriptorTest.java b/org.eclipse.osbp.infogrid.services.tests/src/org/eclipse/osbp/infogrid/services/tests/ECViewGridSourceDescriptorTest.java
new file mode 100644
index 0000000..7e6cfb9
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.services.tests/src/org/eclipse/osbp/infogrid/services/tests/ECViewGridSourceDescriptorTest.java
@@ -0,0 +1,126 @@
+/**
+ *                                                                            
+ * 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.infogrid.services.tests;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+
+import java.lang.reflect.Field;
+import java.util.HashMap;
+import java.util.Locale;
+import java.util.Map;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.knowhowlab.osgi.testing.utils.BundleUtils;
+import org.knowhowlab.osgi.testing.utils.ServiceUtils;
+import org.eclipse.osbp.ecview.core.common.context.IViewContext;
+import org.eclipse.osbp.infogrid.api.IGridSourceDescriptor;
+import org.eclipse.osbp.infogrid.api.IGridSourceFacade;
+import org.eclipse.osbp.infogrid.ecview.ECViewGridSourceDescriptor;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.FrameworkUtil;
+
+import com.vaadin.ui.ComponentContainer;
+
+@SuppressWarnings("restriction")
+public class ECViewGridSourceDescriptorTest {
+
+	private BundleContext bc;
+	private IGridSourceFacade facade;
+	private IGridSourceDescriptor descriptor;
+
+	@Before
+	public void setup() throws Exception {
+		bc = getBundleContext();
+		BundleUtils.startBundleAsync(bc, "org.eclipse.osbp.infogrid.model");
+		BundleUtils.startBundleAsync(bc, "org.eclipse.osbp.infogrid.services");
+		BundleUtils.startBundleAsync(bc, "org.eclipse.osbp.infogrid.ecview");
+
+		facade = ServiceUtils.getService(getBundleContext(),
+				IGridSourceFacade.class);
+		assertNotNull(facade);
+		descriptor = facade.getDescriptor("org.my",
+				new IGridSourceDescriptor.ConfigCallback() {
+					@Override
+					public Map<String, Object> getProperties(
+							IGridSourceDescriptor descriptor) {
+						Map<String, Object> properties = new HashMap<String, Object>();
+						properties.put("locale", Locale.GERMANY);
+						properties.put("userId", "Admin");
+						return properties;
+					}
+				});
+	}
+
+	private BundleContext getBundleContext() {
+		return FrameworkUtil.getBundle(getClass()).getBundleContext();
+	}
+
+	@Test
+	public void test_general() {
+		assertEquals("org.my", descriptor.getId());
+		assertNotNull(descriptor.getSource());
+	}
+
+	@Test
+	public void test_dispose() {
+		assertFalse(descriptor.isDisposed());
+
+		descriptor.dispose();
+
+		// check the access
+		descriptor.getId();
+
+		try {
+			descriptor.getComponent();
+			fail();
+		} catch (Exception ex) {
+		}
+
+		try {
+			descriptor.getLabel();
+			fail();
+		} catch (Exception ex) {
+		}
+
+		try {
+			descriptor.getSource();
+			fail();
+		} catch (Exception ex) {
+		}
+	}
+
+	@Test
+	public void test_getComponent() throws IllegalArgumentException,
+			IllegalAccessException, NoSuchFieldException, SecurityException {
+		ComponentContainer component = (ComponentContainer) descriptor
+				.getComponent();
+		assertNotNull(component);
+		assertEquals(1, component.getComponentCount());
+
+		Field field = ECViewGridSourceDescriptor.class
+				.getDeclaredField("viewContext");
+		field.setAccessible(true);
+		IViewContext viewContext = (IViewContext) field.get(descriptor);
+		assertFalse(viewContext.isDisposed());
+
+		// dispose
+		descriptor.dispose();
+		assertTrue(viewContext.isDisposed());
+		assertEquals(0, component.getComponentCount());
+	}
+}
diff --git a/org.eclipse.osbp.infogrid.services.tests/src/org/eclipse/osbp/infogrid/services/tests/GridSourceCacheBuilderTest.java b/org.eclipse.osbp.infogrid.services.tests/src/org/eclipse/osbp/infogrid/services/tests/GridSourceCacheBuilderTest.java
new file mode 100644
index 0000000..ac9df05
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.services.tests/src/org/eclipse/osbp/infogrid/services/tests/GridSourceCacheBuilderTest.java
@@ -0,0 +1,74 @@
+/**
+ *                                                                            
+ * 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.infogrid.services.tests;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+
+import java.util.List;
+
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.xtext.common.types.JvmGenericType;
+import org.eclipse.xtext.common.types.JvmParameterizedTypeReference;
+import org.eclipse.xtext.common.types.TypesFactory;
+import org.junit.Before;
+import org.junit.Test;
+import org.knowhowlab.osgi.testing.utils.BundleUtils;
+import org.knowhowlab.osgi.testing.utils.ServiceUtils;
+import org.eclipse.osbp.infogrid.api.IGridSourceCache;
+import org.eclipse.osbp.infogrid.model.gridsource.CxGridSource;
+import org.eclipse.osbp.infogrid.model.gridsource.CxGridSourceFactory;
+import org.eclipse.osbp.infogrid.services.tests.data.MyDto;
+import org.eclipse.osbp.infogrid.services.tests.data.TestClass1;
+import org.eclipse.osbp.infogrid.services.tests.data.TestClass2;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.FrameworkUtil;
+
+public class GridSourceCacheBuilderTest {
+
+	private BundleContext bc;
+	private IGridSourceCache cache;
+
+	@Before
+	public void setup() throws Exception {
+		bc = getBundleContext();
+		BundleUtils.startBundleAsync(bc, "org.eclipse.osbp.infogrid.model");
+		BundleUtils.startBundleAsync(bc, "org.eclipse.osbp.infogrid.services");
+
+		cache = ServiceUtils.getService(getBundleContext(),
+				IGridSourceCache.class);
+		assertNotNull(cache);
+	}
+
+	private BundleContext getBundleContext() {
+		return FrameworkUtil.getBundle(getClass()).getBundleContext();
+	}
+
+	@Test
+	public void test_getById() {
+
+		CxGridSource result = cache.getSource("org.my");
+		assertNotNull(result);
+		assertEquals("org.my", result.getId());
+	}
+
+	@Test
+	public void test_getByClass() {
+
+		List<CxGridSource> result = cache.getSources(MyDto.class);
+		assertEquals(1, result.size());
+		assertEquals("org.my", result.get(0).getId());
+	}
+
+}
diff --git a/org.eclipse.osbp.infogrid.services.tests/src/org/eclipse/osbp/infogrid/services/tests/GridSourceCacheTest.java b/org.eclipse.osbp.infogrid.services.tests/src/org/eclipse/osbp/infogrid/services/tests/GridSourceCacheTest.java
new file mode 100644
index 0000000..5745a51
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.services.tests/src/org/eclipse/osbp/infogrid/services/tests/GridSourceCacheTest.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:   
+ * Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation 
+ */
+ package org.eclipse.osbp.infogrid.services.tests;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+
+import java.util.List;
+
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.xtext.common.types.JvmGenericType;
+import org.eclipse.xtext.common.types.JvmParameterizedTypeReference;
+import org.eclipse.xtext.common.types.TypesFactory;
+import org.junit.Before;
+import org.junit.Test;
+import org.knowhowlab.osgi.testing.utils.BundleUtils;
+import org.knowhowlab.osgi.testing.utils.ServiceUtils;
+import org.eclipse.osbp.infogrid.api.IGridSourceCache;
+import org.eclipse.osbp.infogrid.model.gridsource.CxGridSource;
+import org.eclipse.osbp.infogrid.model.gridsource.CxGridSourceFactory;
+import org.eclipse.osbp.infogrid.services.tests.data.TestClass1;
+import org.eclipse.osbp.infogrid.services.tests.data.TestClass2;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.FrameworkUtil;
+
+public class GridSourceCacheTest {
+
+	private BundleContext bc;
+	private IGridSourceCache cache;
+
+	@Before
+	public void setup() throws Exception {
+		bc = getBundleContext();
+		BundleUtils.startBundleAsync(bc, "org.eclipse.osbp.infogrid.model");
+		BundleUtils.startBundleAsync(bc, "org.eclipse.osbp.infogrid.services");
+
+		cache = ServiceUtils.getService(getBundleContext(),
+				IGridSourceCache.class);
+		assertNotNull(cache);
+	}
+
+	private BundleContext getBundleContext() {
+		return FrameworkUtil.getBundle(getClass()).getBundleContext();
+	}
+
+	@Test
+	public void test_IdNull() {
+		assertNull(cache.getSource(null));
+	}
+
+	@Test
+	public void test_ClassNull() {
+		List<CxGridSource> result = cache.getSources(null);
+		assertEquals(0, result.size());
+	}
+
+	@Test
+	public void test_AddRemoveModel_getById() {
+
+		CxGridSource cxSource = CxGridSourceFactory.eINSTANCE
+				.createCxGridSource();
+		CxGridSource cxSource2 = CxGridSourceFactory.eINSTANCE
+				.createCxGridSource();
+		cxSource2.setId("test2");
+
+		// add remove with empty id
+		cache.registerSource(cxSource);
+		cache.unregisterSource(cxSource);
+
+		// add test1
+		cxSource.setId("test1");
+		cache.registerSource(cxSource);
+
+		CxGridSource result = cache.getSource("test1");
+		assertNotNull(result);
+		assertEquals("test1", result.getId());
+
+		cache.unregisterSource(cxSource);
+		result = cache.getSource("test1");
+		assertNull(result);
+
+		cache.registerSource(cxSource);
+		cache.registerSource(cxSource2);
+
+		assertEquals("test1", cache.getSource("test1").getId());
+		assertEquals("test2", cache.getSource("test2").getId());
+
+		cache.unregisterSource(cxSource);
+	}
+
+	@Test
+	public void test_AddRemoveModel_getByClass() {
+
+		JvmGenericType jvmType1 = TypesFactory.eINSTANCE.createJvmGenericType();
+		jvmType1.setSimpleName("TestClass1");
+		jvmType1.setPackageName("org.eclipse.osbp.infogrid.services.tests.data");
+
+		JvmParameterizedTypeReference jvmType1Ref = TypesFactory.eINSTANCE
+				.createJvmParameterizedTypeReference();
+		jvmType1Ref.setType(jvmType1);
+
+		JvmGenericType jvmType2 = TypesFactory.eINSTANCE.createJvmGenericType();
+		jvmType2.setSimpleName("TestClass2");
+		jvmType2.setPackageName("org.eclipse.osbp.infogrid.services.tests.data");
+
+		JvmParameterizedTypeReference jvmType2Ref = TypesFactory.eINSTANCE
+				.createJvmParameterizedTypeReference();
+		jvmType2Ref.setType(jvmType2);
+
+		CxGridSource cxSource = CxGridSourceFactory.eINSTANCE
+				.createCxGridSource();
+		cxSource.setId("test1");
+		cxSource.setRootType(jvmType1Ref);
+		cxSource.setRootTypeFQN(jvmType1Ref.getQualifiedName());
+		CxGridSource cxSource2 = CxGridSourceFactory.eINSTANCE
+				.createCxGridSource();
+		cxSource2.setId("test2");
+		cxSource2.setRootType(jvmType2Ref);
+		cxSource2.setRootTypeFQN(jvmType2Ref.getQualifiedName());
+		CxGridSource cxSource3 = CxGridSourceFactory.eINSTANCE
+				.createCxGridSource();
+		cxSource3.setId("test3");
+		cxSource3.setRootType(EcoreUtil.copy(jvmType1Ref));
+		cxSource3.setRootTypeFQN(jvmType1Ref.getQualifiedName());
+
+		// only register source1
+		cache.registerSource(cxSource);
+
+		List<CxGridSource> result = cache.getSources(TestClass1.class);
+		assertEquals(1, result.size());
+		assertEquals("test1", result.get(0).getId());
+
+		result = cache.getSources(TestClass2.class);
+		assertEquals(0, result.size());
+
+		// unregister source1
+		cache.unregisterSource(cxSource);
+		result = cache.getSources(TestClass1.class);
+		assertEquals(0, result.size());
+
+		// register all sources
+		cache.registerSource(cxSource);
+		cache.registerSource(cxSource2);
+		cache.registerSource(cxSource3);
+
+		// 2 descriptors are available
+		result = cache.getSources(TestClass1.class);
+		assertEquals(2, result.size());
+		assertEquals("test1", result.get(0).getId());
+		assertEquals("test3", result.get(1).getId());
+
+	}
+
+}
diff --git a/org.eclipse.osbp.infogrid.services.tests/src/org/eclipse/osbp/infogrid/services/tests/GridSourceFacadeTest.java b/org.eclipse.osbp.infogrid.services.tests/src/org/eclipse/osbp/infogrid/services/tests/GridSourceFacadeTest.java
new file mode 100644
index 0000000..dfce30f
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.services.tests/src/org/eclipse/osbp/infogrid/services/tests/GridSourceFacadeTest.java
@@ -0,0 +1,125 @@
+/**
+ *                                                                            
+ * 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.infogrid.services.tests;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNotSame;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
+
+import java.util.List;
+import java.util.Map;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.knowhowlab.osgi.testing.utils.BundleUtils;
+import org.knowhowlab.osgi.testing.utils.ServiceUtils;
+import org.eclipse.osbp.infogrid.api.IGridSourceDescriptor;
+import org.eclipse.osbp.infogrid.api.IGridSourceFacade;
+import org.eclipse.osbp.infogrid.ecview.ECViewGridSourceDescriptor;
+import org.eclipse.osbp.infogrid.model.gridsource.CxGridSource;
+import org.eclipse.osbp.infogrid.services.tests.data.MyDto;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.FrameworkUtil;
+
+public class GridSourceFacadeTest {
+
+	private BundleContext bc;
+	private IGridSourceFacade facade;
+
+	@Before
+	public void setup() throws Exception {
+		bc = getBundleContext();
+		BundleUtils.startBundleAsync(bc, "org.eclipse.osbp.infogrid.model");
+		BundleUtils.startBundleAsync(bc, "org.eclipse.osbp.infogrid.services");
+		BundleUtils.startBundleAsync(bc, "org.eclipse.osbp.infogrid.ecview");
+
+		facade = ServiceUtils.getService(getBundleContext(),
+				IGridSourceFacade.class);
+		assertNotNull(facade);
+	}
+
+	private BundleContext getBundleContext() {
+		return FrameworkUtil.getBundle(getClass()).getBundleContext();
+	}
+
+	@Test
+	public void test_getById() {
+		CxGridSource result = facade.getSource("org.my");
+		assertNotNull(result);
+		assertEquals("org.my", result.getId());
+
+		CxGridSource result2 = facade.getSource("org.my");
+		assertNotSame(result, result2);
+	}
+
+	@Test
+	public void test_getByClass() {
+		List<CxGridSource> result = facade.getSources(MyDto.class);
+		assertEquals(1, result.size());
+		assertEquals("org.my", result.get(0).getId());
+
+		List<CxGridSource> result2 = facade.getSources(MyDto.class);
+		assertNotSame(result.get(0), result2.get(0));
+	}
+
+	@SuppressWarnings("restriction")
+	@Test
+	public void test_getDescriptorById() {
+		IGridSourceDescriptor result = facade.getDescriptor("org.my", null);
+		assertNotNull(result);
+		assertTrue(result instanceof ECViewGridSourceDescriptor);
+	}
+
+	@SuppressWarnings("restriction")
+	@Test
+	public void test_getDescriptorBySource() {
+		CxGridSource source = facade.getSource("org.my");
+		source.setKind(IGridSourceDescriptor.KIND_ECVIEW);
+		IGridSourceDescriptor result = facade.getDescriptor(source,
+				new IGridSourceDescriptor.ConfigCallback() {
+					@Override
+					public Map<String, Object> getProperties(
+							IGridSourceDescriptor descriptor) {
+						return null;
+					}
+				});
+		assertNotNull(result);
+		assertTrue(result instanceof ECViewGridSourceDescriptor);
+
+		// try different kind
+		source.setKind("NoKind");
+		result = facade.getDescriptor(source, null);
+		assertNull(result);
+	}
+
+	@SuppressWarnings("restriction")
+	@Test
+	public void test_getDescriptorsByClass() {
+		List<IGridSourceDescriptor> result = facade.getDescriptors(MyDto.class,
+				new IGridSourceDescriptor.ConfigCallback() {
+					@Override
+					public Map<String, Object> getProperties(
+							IGridSourceDescriptor descriptor) {
+						return null;
+					}
+				});
+		assertEquals(1, result.size());
+		assertTrue(result.get(0) instanceof ECViewGridSourceDescriptor);
+
+		result = facade.getDescriptors(List.class, null);
+		assertEquals(0, result.size());
+	}
+
+}
diff --git a/org.eclipse.osbp.infogrid.services.tests/src/org/eclipse/osbp/infogrid/services/tests/data/MyDto.java b/org.eclipse.osbp.infogrid.services.tests/src/org/eclipse/osbp/infogrid/services/tests/data/MyDto.java
new file mode 100644
index 0000000..5d7a4cd
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.services.tests/src/org/eclipse/osbp/infogrid/services/tests/data/MyDto.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:   
+ * Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation 
+ */
+ package org.eclipse.osbp.infogrid.services.tests.data;
+
+public class MyDto {
+
+	private String name;
+	private String name2;
+	private double value;
+	private MyDto child;
+
+	public String getName() {
+		return name;
+	}
+
+	public void setName(String name) {
+		this.name = name;
+	}
+
+	public String getName2() {
+		return name2;
+	}
+
+	public void setName2(String name2) {
+		this.name2 = name2;
+	}
+
+	public double getValue() {
+		return value;
+	}
+
+	public void setValue(double value) {
+		this.value = value;
+	}
+
+	public MyDto getChild() {
+		return child;
+	}
+
+	public void setChild(MyDto child) {
+		this.child = child;
+	}
+
+}
diff --git a/org.eclipse.osbp.infogrid.services.tests/src/org/eclipse/osbp/infogrid/services/tests/data/TestClass1.java b/org.eclipse.osbp.infogrid.services.tests/src/org/eclipse/osbp/infogrid/services/tests/data/TestClass1.java
new file mode 100644
index 0000000..9f4d907
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.services.tests/src/org/eclipse/osbp/infogrid/services/tests/data/TestClass1.java
@@ -0,0 +1,17 @@
+/**
+ *                                                                            
+ * 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.infogrid.services.tests.data;
+
+public class TestClass1 {
+
+}
diff --git a/org.eclipse.osbp.infogrid.services.tests/src/org/eclipse/osbp/infogrid/services/tests/data/TestClass2.java b/org.eclipse.osbp.infogrid.services.tests/src/org/eclipse/osbp/infogrid/services/tests/data/TestClass2.java
new file mode 100644
index 0000000..d31d396
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.services.tests/src/org/eclipse/osbp/infogrid/services/tests/data/TestClass2.java
@@ -0,0 +1,17 @@
+/**
+ *                                                                            
+ * 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.infogrid.services.tests.data;
+
+public class TestClass2 {
+
+}
diff --git a/org.eclipse.osbp.infogrid.services/.project b/org.eclipse.osbp.infogrid.services/.project
new file mode 100644
index 0000000..6a6c547
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.services/.project
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.osbp.infogrid.services</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.infogrid.services/LICENSE.txt b/org.eclipse.osbp.infogrid.services/LICENSE.txt
new file mode 100644
index 0000000..ff42ad4
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.services/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.infogrid.services/META-INF/MANIFEST.MF b/org.eclipse.osbp.infogrid.services/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..037c0d7
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.services/META-INF/MANIFEST.MF
@@ -0,0 +1,18 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: org.eclipse.osbp.infogrid.services
+Bundle-SymbolicName: org.eclipse.osbp.infogrid.services
+Bundle-Vendor: Eclipse OSBP
+Bundle-Version: 0.9.0.qualifier
+Require-Bundle: org.eclipse.core.runtime,
+ org.eclipse.osbp.ecview.extension.grid.model,
+ org.eclipse.osbp.infogrid.model;bundle-version="[0.9.0,0.10.0)",
+ org.eclipse.osbp.runtime.common;bundle-version="[0.9.0,0.10.0)",
+ org.eclipse.osbp.infogrid.api;bundle-version="[0.9.0,0.10.0)",
+ org.eclipse.emf.ecore.xmi
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Import-Package: org.osgi.service.component;version="1.2.2",
+ org.osgi.service.component.annotations,
+ org.slf4j;version="1.7.2"
+Service-Component: OSGI-INF/*.xml
+Bundle-ActivationPolicy: lazy
diff --git a/org.eclipse.osbp.infogrid.services/OSGI-INF/org.eclipse.osbp.infogrid.services.GridSourceCache.xml b/org.eclipse.osbp.infogrid.services/OSGI-INF/org.eclipse.osbp.infogrid.services.GridSourceCache.xml
new file mode 100644
index 0000000..09366c6
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.services/OSGI-INF/org.eclipse.osbp.infogrid.services.GridSourceCache.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" activate="activate" deactivate="deactivate" immediate="true" name="org.eclipse.osbp.infogrid.services.GridSourceCache">
+   <implementation class="org.eclipse.osbp.infogrid.services.GridSourceCache"/>
+   <service>
+      <provide interface="org.eclipse.osbp.infogrid.api.IGridSourceCache"/>
+   </service>
+</scr:component>
\ No newline at end of file
diff --git a/org.eclipse.osbp.infogrid.services/OSGI-INF/org.eclipse.osbp.infogrid.services.GridSourceCacheBuilder.xml b/org.eclipse.osbp.infogrid.services/OSGI-INF/org.eclipse.osbp.infogrid.services.GridSourceCacheBuilder.xml
new file mode 100644
index 0000000..959217b
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.services/OSGI-INF/org.eclipse.osbp.infogrid.services.GridSourceCacheBuilder.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" activate="activate" deactivate="deactivate" immediate="true" name="org.eclipse.osbp.infogrid.services.GridSourceCacheBuilder">
+   <implementation class="org.eclipse.osbp.infogrid.services.GridSourceCacheBuilder"/>
+   <reference bind="bindGridSourceCache" cardinality="1..1" interface="org.eclipse.osbp.infogrid.api.IGridSourceCache" name="GridSourceCache" policy="static" unbind="unbindGridSourceCache"/>
+</scr:component>
\ No newline at end of file
diff --git a/org.eclipse.osbp.infogrid.services/OSGI-INF/org.eclipse.osbp.infogrid.services.GridSourceFacadeImpl.xml b/org.eclipse.osbp.infogrid.services/OSGI-INF/org.eclipse.osbp.infogrid.services.GridSourceFacadeImpl.xml
new file mode 100644
index 0000000..6ae25e4
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.services/OSGI-INF/org.eclipse.osbp.infogrid.services.GridSourceFacadeImpl.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" activate="activate" deactivate="deactivate" immediate="true" name="org.eclipse.osbp.infogrid.services.GridSourceFacadeImpl">
+   <implementation class="org.eclipse.osbp.infogrid.services.GridSourceFacadeImpl"/>
+   <service>
+      <provide interface="org.eclipse.osbp.infogrid.api.IGridSourceFacade"/>
+   </service>
+   <reference bind="addDescriptorProvider" cardinality="0..n" interface="org.eclipse.osbp.infogrid.api.IGridSourceDescriptorProvider" name="DescriptorProvider" policy="dynamic" unbind="removeDescriptorProvider"/>
+   <reference bind="bindGridSourceCache" cardinality="1..1" interface="org.eclipse.osbp.infogrid.api.IGridSourceCache" name="GridSourceCache" policy="static" unbind="unbindGridSourceCache"/>
+</scr:component>
\ No newline at end of file
diff --git a/org.eclipse.osbp.infogrid.services/about.html b/org.eclipse.osbp.infogrid.services/about.html
new file mode 100644
index 0000000..64c0598
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.services/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.infogrid.services/about.ini b/org.eclipse.osbp.infogrid.services/about.ini
new file mode 100644
index 0000000..7df671f
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.services/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.infogrid.services/about.mappings b/org.eclipse.osbp.infogrid.services/about.mappings
new file mode 100644
index 0000000..4511a0a
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.services/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.infogrid.services/about.properties b/org.eclipse.osbp.infogrid.services/about.properties
new file mode 100644
index 0000000..512b00e
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.services/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:
+#    Christophe Loetz (Loetz GmbH&Co.KG) - initial API and implementation
+#
+
+# NLS_MESSAGEFORMAT_VAR
+
+featureName=org.eclipse.osbp.infogrid.services
+
+################ 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\
+    Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation\n
+################ end of blurb property ####################################
diff --git a/org.eclipse.osbp.infogrid.services/build.properties b/org.eclipse.osbp.infogrid.services/build.properties
new file mode 100644
index 0000000..17ab242
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.services/build.properties
@@ -0,0 +1,11 @@
+source.. = src/
+output.. = target/classes/
+bin.includes = about.properties,  about.mappings,  about.ini,  about.html,  META-INF/,\
+               .,\
+               LICENSE.txt,\
+               OSGI-INF/,\
+               epl-v10.html,\
+               license.html
+src.includes = about.properties,  about.mappings,  about.ini,  about.html,  license.html,\
+               epl-v10.html,\
+               LICENSE.txt
diff --git a/org.eclipse.osbp.infogrid.services/epl-v10.html b/org.eclipse.osbp.infogrid.services/epl-v10.html
new file mode 100644
index 0000000..b398acc
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.services/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.infogrid.services/license.html b/org.eclipse.osbp.infogrid.services/license.html
new file mode 100644
index 0000000..6e579a5
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.services/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.infogrid.services/pom.xml b/org.eclipse.osbp.infogrid.services/pom.xml
new file mode 100644
index 0000000..ecc0303
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.services/pom.xml
@@ -0,0 +1,29 @@
+<?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.infogrid</groupId>
+		<artifactId>org.eclipse.osbp.infogrid.aggregator</artifactId>
+		<version>0.9.0-SNAPSHOT</version>
+		<relativePath>..</relativePath>
+	</parent>
+	<artifactId>org.eclipse.osbp.infogrid.services</artifactId>
+	<build>
+		<sourceDirectory>src</sourceDirectory>
+		<plugins>
+		</plugins>
+	</build>
+	<packaging>eclipse-plugin</packaging>
+	
+</project>
diff --git a/org.eclipse.osbp.infogrid.services/src/org/eclipse/osbp/infogrid/services/GridSourceCache.java b/org.eclipse.osbp.infogrid.services/src/org/eclipse/osbp/infogrid/services/GridSourceCache.java
new file mode 100644
index 0000000..95b2abd
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.services/src/org/eclipse/osbp/infogrid/services/GridSourceCache.java
@@ -0,0 +1,210 @@
+/**
+ *                                                                            
+ * 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.infogrid.services;
+
+import java.io.IOException;
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.EPackage;
+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.util.EcoreUtil;
+import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl;
+import org.eclipse.osbp.infogrid.api.IGridSourceCache;
+import org.eclipse.osbp.infogrid.model.gridsource.CxGridSource;
+import org.eclipse.osbp.infogrid.model.gridsource.CxGridSourceInput;
+import org.eclipse.osbp.infogrid.model.gridsource.CxGridSourcePackage;
+import org.osgi.service.component.ComponentContext;
+import org.osgi.service.component.annotations.Activate;
+import org.osgi.service.component.annotations.Component;
+import org.osgi.service.component.annotations.Deactivate;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+@Component(immediate = true)
+public class GridSourceCache implements IGridSourceCache {
+
+	private static final Logger LOGGER = LoggerFactory
+			.getLogger(GridSourceCache.class);
+
+	private ResourceSet resourceSet;
+	private static final String URI_PATTERN = "local://%s";
+
+	@Activate
+	protected void activate(ComponentContext context) {
+		resourceSet = new ResourceSetImpl();
+
+		// do EMF registration
+		EPackage.Registry.INSTANCE.put(
+				CxGridSourcePackage.eINSTANCE.getNsURI(),
+				CxGridSourcePackage.eINSTANCE);
+		if (!Resource.Factory.Registry.INSTANCE.getExtensionToFactoryMap()
+				.containsKey("gridsource_xmi")) {
+			Resource.Factory.Registry.INSTANCE.getExtensionToFactoryMap().put(
+					"gridsource_xmi", new XMIResourceFactoryImpl());
+		}
+
+	}
+
+	@Deactivate
+	protected void deactivate(ComponentContext context) {
+		resourceSet.getResources().clear();
+		resourceSet = null;
+	}
+
+	@Override
+	public List<CxGridSource> getAllSources() {
+		List<CxGridSource> result = new ArrayList<>();
+		for (Resource resource : new ArrayList<>(resourceSet.getResources())) {
+			if (resource.getContents().isEmpty()) {
+				continue;
+			}
+			CxGridSource source = (CxGridSource) resource.getContents().get(0);
+			if (source == null) {
+				continue;
+			}
+
+			result.add(EcoreUtil.copy(source));
+		}
+		return result;
+	}
+
+	@Override
+	public CxGridSource getSource(String id) {
+		if (id == null) {
+			return null;
+		}
+		CxGridSource cxSource = resourceSet.getResources().stream()
+				.filter(r -> r.getContents().size() > 0)
+				.map(r -> (CxGridSource) r.getContents().get(0)).filter(g -> {
+					return id.equals(g.getId());
+				}).findFirst().orElse(null);
+
+		return cxSource != null ? EcoreUtil.copy(cxSource) : null;
+	}
+
+	@Override
+	public List<CxGridSource> getSources(Class<?> inputType) {
+		if (inputType == null) {
+			return Collections.emptyList();
+		}
+
+		List<CxGridSource> result = new ArrayList<>();
+		for (Resource resource : new ArrayList<>(resourceSet.getResources())) {
+			if (resource.getContents().isEmpty()) {
+				continue;
+			}
+			CxGridSource source = (CxGridSource) resource.getContents().get(0);
+			if (source == null) {
+				continue;
+			}
+
+			if (isFor(source, inputType)) {
+				result.add(EcoreUtil.copy(source));
+			}
+		}
+
+		return result;
+	}
+
+	private boolean isFor(CxGridSource source, Class<?> inputType) {
+		for (CxGridSourceInput input : source.getInputs()) {
+			if (input.getInputTypeFQN() != null
+					&& inputType.getCanonicalName().equals(
+							input.getInputTypeFQN())) {
+				return true;
+			}
+		}
+		return false;
+	}
+
+	@Override
+	public void registerSources(List<URL> urls) {
+		registerModels(urls);
+	}
+
+	@Override
+	public void unregisterSources(List<URL> urls) {
+		unregisterModels(urls);
+	}
+
+	@Override
+	public void registerSource(CxGridSource source) {
+		if (source == null) {
+			return;
+		}
+
+		if (source.getId() == null) {
+			LOGGER.warn("CxGridSource does not contain id. Is skipped!");
+			return;
+		}
+
+		Resource resource = resourceSet.getResource(
+				URI.createURI(createLocalURI(source)), false);
+		if (resource == null) {
+			resource = resourceSet.createResource(URI
+					.createURI(createLocalURI(source)));
+			resource.getContents().add(source);
+		}
+	}
+
+	@Override
+	public void unregisterSource(CxGridSource source) {
+		if (source == null) {
+			return;
+		}
+
+		if (source.getId() == null) {
+			LOGGER.warn("CxGridSource does not contain id. Is skipped!");
+			return;
+		}
+
+		Resource resource = resourceSet.getResource(
+				URI.createURI(createLocalURI(source)), false);
+		if (resource != null) {
+			resourceSet.getResources().remove(resource);
+		}
+	}
+
+	private static String createLocalURI(CxGridSource source) {
+		return String.format(URI_PATTERN, source.getId());
+	}
+
+	private void registerModels(List<URL> urls) {
+		for (URL url : urls) {
+			Resource resource = resourceSet.getResource(
+					URI.createURI(url.toString()), true);
+			try {
+				resource.load(null);
+			} catch (IOException e) {
+				LOGGER.error("{}", e);
+			}
+		}
+	}
+
+	private void unregisterModels(List<URL> urls) {
+		for (URL url : urls) {
+			Resource resource = resourceSet.getResource(
+					URI.createURI(url.toString()), false);
+			if (resource != null) {
+				resource.unload();
+				resourceSet.getResources().remove(resource);
+			}
+		}
+	}
+}
diff --git a/org.eclipse.osbp.infogrid.services/src/org/eclipse/osbp/infogrid/services/GridSourceCacheBuilder.java b/org.eclipse.osbp.infogrid.services/src/org/eclipse/osbp/infogrid/services/GridSourceCacheBuilder.java
new file mode 100644
index 0000000..1cd5111
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.services/src/org/eclipse/osbp/infogrid/services/GridSourceCacheBuilder.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:   
+ * Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation 
+ */
+package org.eclipse.osbp.infogrid.services;
+
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.Dictionary;
+import java.util.Enumeration;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Set;
+
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.osbp.infogrid.api.IGridSourceCache;
+import org.osgi.framework.Bundle;
+import org.osgi.framework.BundleEvent;
+import org.osgi.framework.wiring.BundleWiring;
+import org.osgi.service.component.ComponentContext;
+import org.osgi.service.component.annotations.Activate;
+import org.osgi.service.component.annotations.Component;
+import org.osgi.service.component.annotations.Deactivate;
+import org.osgi.service.component.annotations.Reference;
+import org.osgi.service.component.annotations.ReferenceCardinality;
+import org.osgi.service.component.annotations.ReferencePolicy;
+import org.osgi.util.tracker.BundleTracker;
+import org.osgi.util.tracker.BundleTrackerCustomizer;
+
+/**
+ * OSBP uses ECView files directly and does not derive them from the
+ * UiDSL-Model. If you have interest using this feature, just provide that class
+ * as an OSGi service.
+ */
+@Component(immediate = true)
+public class GridSourceCacheBuilder {
+
+	private static final String OSBP_MODEL_EXTENDER = "Factory-Model";
+	@SuppressWarnings("unused")
+	private ComponentContext context;
+
+	private BundleTracker<List<URL>> tracker;
+	private IGridSourceCache cache;
+
+	public GridSourceCacheBuilder() {
+
+	}
+
+	@Activate
+	protected void activate(ComponentContext context) {
+		this.context = context;
+		tracker = new BundleTracker<>(context.getBundleContext(),
+				stateCreteria(), new Customizer());
+		tracker.open();
+	}
+
+	protected int stateCreteria() {
+		return Bundle.RESOLVED | Bundle.STARTING | Bundle.ACTIVE
+				| Bundle.STOPPING;
+	}
+
+	@Deactivate
+	protected void deactivate(ComponentContext context) {
+		tracker.close();
+		this.context = null;
+	}
+
+	/**
+	 * Returns true, if the bundle contains the header.
+	 * 
+	 * @param bundle
+	 * @param header
+	 * @return
+	 */
+	private boolean containsHeader(Bundle bundle, String header) {
+		Dictionary<String, String> headers = bundle.getHeaders();
+		Enumeration<String> keys = headers.keys();
+		while (keys.hasMoreElements()) {
+			String key = keys.nextElement();
+			if (key.equals(header)) {
+				return true;
+			}
+		}
+		return false;
+	}
+
+	/**
+	 * Searches for all ECView translations in the given bundle.
+	 * 
+	 * @param bundle
+	 * @return
+	 */
+	private List<URL> internalFindURLs(Bundle bundle) {
+		List<URL> results = new ArrayList<URL>();
+		BundleWiring wiring = bundle.adapt(BundleWiring.class);
+		results.addAll(wiring.findEntries("/", "*.gridsource_xmi",
+				BundleWiring.LISTRESOURCES_RECURSE));
+
+		Set<String> fragments = new HashSet<String>();
+		for (Iterator<URL> iterator = results.iterator(); iterator.hasNext();) {
+			URL url = iterator.next();
+			URI uri = URI.createURI(url.toString());
+			if (fragments.contains(uri.lastSegment())) {
+				iterator.remove();
+			}
+			fragments.add(uri.lastSegment());
+		}
+		return results;
+	}
+
+	@Reference(cardinality = ReferenceCardinality.MANDATORY, policy = ReferencePolicy.STATIC, unbind = "unbindGridSourceCache")
+	protected void bindGridSourceCache(IGridSourceCache cache) {
+		this.cache = cache;
+	}
+
+	protected void unbindGridSourceCache(IGridSourceCache cache) {
+		this.cache = null;
+		tracker.close();
+		tracker = null;
+	}
+
+	private class Customizer implements BundleTrackerCustomizer<List<URL>> {
+
+		@Override
+		public List<URL> addingBundle(Bundle bundle, BundleEvent event) {
+			if (!containsHeader(bundle, OSBP_MODEL_EXTENDER)) {
+				return null;
+			}
+
+			List<URL> urls = internalFindURLs(bundle);
+			cache.registerSources(urls);
+			return urls;
+		}
+
+		@Override
+		public void modifiedBundle(Bundle bundle, BundleEvent event,
+				List<URL> object) {
+
+		}
+
+		@Override
+		public void removedBundle(Bundle bundle, BundleEvent event,
+				List<URL> urls) {
+			cache.unregisterSources(urls);
+		}
+	}
+
+}
diff --git a/org.eclipse.osbp.infogrid.services/src/org/eclipse/osbp/infogrid/services/GridSourceFacadeImpl.java b/org.eclipse.osbp.infogrid.services/src/org/eclipse/osbp/infogrid/services/GridSourceFacadeImpl.java
new file mode 100644
index 0000000..8f85c36
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.services/src/org/eclipse/osbp/infogrid/services/GridSourceFacadeImpl.java
@@ -0,0 +1,160 @@
+/**
+ *                                                                            
+ * 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.infogrid.services;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.osbp.infogrid.api.IGridSourceCache;
+import org.eclipse.osbp.infogrid.api.IGridSourceDescriptor;
+import org.eclipse.osbp.infogrid.api.IGridSourceDescriptor.ConfigCallback;
+import org.eclipse.osbp.infogrid.api.IGridSourceDescriptorProvider;
+import org.eclipse.osbp.infogrid.api.IGridSourceFacade;
+import org.eclipse.osbp.infogrid.model.gridsource.CxGridSource;
+import org.osgi.framework.ServiceReference;
+import org.osgi.service.component.ComponentContext;
+import org.osgi.service.component.annotations.Activate;
+import org.osgi.service.component.annotations.Component;
+import org.osgi.service.component.annotations.Deactivate;
+import org.osgi.service.component.annotations.Reference;
+import org.osgi.service.component.annotations.ReferenceCardinality;
+import org.osgi.service.component.annotations.ReferencePolicy;
+
+@Component(immediate = true)
+public class GridSourceFacadeImpl implements IGridSourceFacade {
+
+	private ComponentContext context;
+	private List<ServiceReference<IGridSourceDescriptorProvider>> descriptorFactories = new ArrayList<>();
+
+	private IGridSourceCache cache;
+
+	@Activate
+	protected void activate(ComponentContext context) {
+		this.context = context;
+	}
+
+	@Deactivate
+	protected void deactivate(ComponentContext context) {
+		this.context = null;
+	}
+
+	@Override
+	public CxGridSource getSource(String id) {
+		CxGridSource source = cache.getSource(id);
+		return source != null ? EcoreUtil.copy(source) : null;
+	}
+
+	@Override
+	public List<CxGridSource> getSources(Class<?> inputType) {
+		List<CxGridSource> sources = cache.getSources(inputType);
+		if (sources == null) {
+			return Collections.emptyList();
+		}
+
+		List<CxGridSource> copies = new ArrayList<CxGridSource>(sources.size());
+		for (CxGridSource source : sources) {
+			copies.add(EcoreUtil.copy(source));
+		}
+
+		return copies;
+	}
+
+	@Override
+	public IGridSourceDescriptor getDescriptor(Class<?> inputType, String sourceId,
+			IGridSourceDescriptor.ConfigCallback callback) {
+		CxGridSource cxSource = getSource(sourceId);
+		if (cxSource == null) {
+			return null;
+		}
+
+		return getDescriptor(inputType, cxSource, null);
+	}
+
+	public IGridSourceDescriptor getDescriptor(Class<?> inputType,
+			CxGridSource cxSource, IGridSourceDescriptor.ConfigCallback callback) {
+		List<ServiceReference<IGridSourceDescriptorProvider>> temp = new ArrayList<>(
+				descriptorFactories);
+
+		// try to find a descriptor provider that handles the gridSourceId
+		// directly
+		for (ServiceReference<IGridSourceDescriptorProvider> ref : temp) {
+			String prop = (String) ref
+					.getProperty(IGridSourceDescriptorProvider.PROP_KIND);
+			if (prop != null && prop.equals(cxSource.getId())) {
+				return createDescriptor(ref, inputType, cxSource, callback);
+			}
+		}
+
+		// try to find a descriptor provider that handles the type
+		for (ServiceReference<IGridSourceDescriptorProvider> ref : temp) {
+			String prop = (String) ref
+					.getProperty(IGridSourceDescriptorProvider.PROP_KIND);
+			if (prop != null && prop.equals(cxSource.getKind())) {
+				return createDescriptor(ref, inputType, cxSource, callback);
+			}
+		}
+
+		return null;
+	}
+
+	private IGridSourceDescriptor createDescriptor(
+			ServiceReference<IGridSourceDescriptorProvider> ref,
+			Class<?> inputType, CxGridSource cxSource, IGridSourceDescriptor.ConfigCallback callback) {
+		IGridSourceDescriptorProvider provider = context.getBundleContext()
+				.getService(ref);
+		return provider.createDescriptor(inputType, cxSource, callback);
+	}
+
+	@Override
+	public List<IGridSourceDescriptor> getDescriptors(Class<?> inputType,
+			IGridSourceDescriptor.ConfigCallback callback) {
+		List<CxGridSource> sources = getSources(inputType);
+		if (sources.isEmpty()) {
+			return Collections.emptyList();
+		}
+
+		List<IGridSourceDescriptor> result = new ArrayList<>(sources.size());
+		for (CxGridSource source : sources) {
+			IGridSourceDescriptor descriptor = getDescriptor(inputType, source,
+					callback);
+			if (descriptor != null) {
+				result.add(descriptor);
+			}
+		}
+
+		return result;
+	}
+
+	@Reference(service = IGridSourceDescriptorProvider.class, cardinality = ReferenceCardinality.MULTIPLE, policy = ReferencePolicy.DYNAMIC, unbind = "removeDescriptorProvider")
+	protected void addDescriptorProvider(
+			ServiceReference<IGridSourceDescriptorProvider> ref) {
+		descriptorFactories.add(ref);
+	}
+
+	protected void removeDescriptorProvider(
+			ServiceReference<IGridSourceDescriptorProvider> ref) {
+		descriptorFactories.remove(ref);
+	}
+
+	@Reference(cardinality = ReferenceCardinality.MANDATORY, policy = ReferencePolicy.STATIC, unbind = "unbindGridSourceCache")
+	protected void bindGridSourceCache(IGridSourceCache cache) {
+		this.cache = cache;
+	}
+
+	protected void unbindGridSourceCache(IGridSourceCache cache) {
+		this.cache = null;
+	}
+
+}
diff --git a/org.eclipse.osbp.infogrid.vaaclipse/.project b/org.eclipse.osbp.infogrid.vaaclipse/.project
new file mode 100644
index 0000000..f23801f
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.vaaclipse/.project
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.osbp.infogrid.vaaclipse</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.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.infogrid.vaaclipse/LICENSE.txt b/org.eclipse.osbp.infogrid.vaaclipse/LICENSE.txt
new file mode 100644
index 0000000..ff42ad4
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.vaaclipse/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.infogrid.vaaclipse/META-INF/MANIFEST.MF b/org.eclipse.osbp.infogrid.vaaclipse/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..831e2b9
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.vaaclipse/META-INF/MANIFEST.MF
@@ -0,0 +1,35 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: org.eclipse.osbp.infogrid.vaaclipse
+Bundle-SymbolicName: org.eclipse.osbp.infogrid.vaaclipse
+Bundle-Vendor: Eclipse OSBP
+Bundle-Version: 0.9.0.qualifier
+Require-Bundle: javax.annotation;bundle-version="[1.1.0,1.2.0)",
+ javax.inject,
+ org.eclipse.e4.core.contexts,
+ org.eclipse.e4.ui.model.workbench,
+ org.eclipse.e4.core.di,
+ com.vaadin.server;bundle-version="7.5.7",
+ com.vaadin.shared;bundle-version="7.5.7",
+ org.jsoup;bundle-version="1.7.2",
+ org.eclipse.e4.core.services,
+ org.eclipse.osbp.runtime.web.vaadin.common;bundle-version="[0.9.0,0.10.0)",
+ org.eclipse.e4.ui.workbench,
+ org.eclipse.osbp.runtime.common;bundle-version="[0.9.0,0.10.0)",
+ org.eclipse.osbp.infogrid.vaadin;bundle-version="[0.9.0,0.10.0)",
+ org.eclipse.osbp.infogrid.api;bundle-version="[0.9.0,0.10.0)",
+ org.eclipse.osbp.infogrid.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.vaaclipse.common.ecview;bundle-version="[0.9.0,0.10.0)",
+ org.eclipse.osbp.vaaclipse.common.ecview.api;bundle-version="[0.9.0,0.10.0)",
+ org.eclipse.osbp.dsl.dto.lib;bundle-version="[0.9.0,0.10.0)",
+ org.eclipse.osbp.eventbroker,
+ org.eclipse.osbp.ecview.extension.grid.model,
+ org.eclipse.osbp.ecview.core.util.emf;bundle-version="[0.9.0,0.10.0)",
+ org.eclipse.osbp.dsl.datatype.lib;bundle-version="[0.9.0,0.10.0)"
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Import-Package: org.eclipse.osbp.ui.api.user;version="0.9.0",
+ org.osgi.framework;version="1.8.0",
+ org.osgi.service.event;version="1.2.0",
+ org.slf4j;resolution:=optional
+Export-Package: org.eclipse.osbp.infogrid.vaaclipse;version="0.9.0"
diff --git a/org.eclipse.osbp.infogrid.vaaclipse/about.html b/org.eclipse.osbp.infogrid.vaaclipse/about.html
new file mode 100644
index 0000000..64c0598
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.vaaclipse/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.infogrid.vaaclipse/about.ini b/org.eclipse.osbp.infogrid.vaaclipse/about.ini
new file mode 100644
index 0000000..7df671f
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.vaaclipse/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.infogrid.vaaclipse/about.mappings b/org.eclipse.osbp.infogrid.vaaclipse/about.mappings
new file mode 100644
index 0000000..4511a0a
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.vaaclipse/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.infogrid.vaaclipse/about.properties b/org.eclipse.osbp.infogrid.vaaclipse/about.properties
new file mode 100644
index 0000000..51eda0d
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.vaaclipse/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:
+#    Christophe Loetz (Loetz GmbH&Co.KG) - initial API and implementation
+#
+
+# NLS_MESSAGEFORMAT_VAR
+
+featureName=org.eclipse.osbp.infogrid.vaaclipse
+
+################ 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\
+    Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation\n
+################ end of blurb property ####################################
diff --git a/org.eclipse.osbp.infogrid.vaaclipse/build.properties b/org.eclipse.osbp.infogrid.vaaclipse/build.properties
new file mode 100644
index 0000000..c13e5be
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.vaaclipse/build.properties
@@ -0,0 +1,10 @@
+source.. = src/
+output.. = target/classes/
+bin.includes = about.properties,  about.mappings,  about.ini,  about.html,  META-INF/,\
+               .,\
+               LICENSE.txt,\
+               epl-v10.html,\
+               license.html
+src.includes = about.properties,  about.mappings,  about.ini,  about.html,  epl-v10.html,\
+               license.html,\
+               LICENSE.txt
diff --git a/org.eclipse.osbp.infogrid.vaaclipse/epl-v10.html b/org.eclipse.osbp.infogrid.vaaclipse/epl-v10.html
new file mode 100644
index 0000000..b398acc
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.vaaclipse/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.infogrid.vaaclipse/license.html b/org.eclipse.osbp.infogrid.vaaclipse/license.html
new file mode 100644
index 0000000..6e579a5
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.vaaclipse/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.infogrid.vaaclipse/pom.xml b/org.eclipse.osbp.infogrid.vaaclipse/pom.xml
new file mode 100644
index 0000000..9743c9f
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.vaaclipse/pom.xml
@@ -0,0 +1,29 @@
+<?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.infogrid</groupId>
+		<artifactId>org.eclipse.osbp.infogrid.aggregator</artifactId>
+		<version>0.9.0-SNAPSHOT</version>
+		<relativePath>..</relativePath>
+	</parent>
+	<artifactId>org.eclipse.osbp.infogrid.vaaclipse</artifactId>
+	<build>
+		<sourceDirectory>src</sourceDirectory>
+		<plugins>
+		</plugins>
+	</build>
+	<packaging>eclipse-plugin</packaging>
+	
+</project>
diff --git a/org.eclipse.osbp.infogrid.vaaclipse/src/org/eclipse/osbp/infogrid/vaaclipse/ContentCache.java b/org.eclipse.osbp.infogrid.vaaclipse/src/org/eclipse/osbp/infogrid/vaaclipse/ContentCache.java
new file mode 100644
index 0000000..de8934f
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.vaaclipse/src/org/eclipse/osbp/infogrid/vaaclipse/ContentCache.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:   
+ * Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation 
+ */
+ package org.eclipse.osbp.infogrid.vaaclipse;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import org.eclipse.osbp.runtime.common.dispose.AbstractDisposable;
+import org.eclipse.osbp.infogrid.vaadin.GridComponent;
+
+public class ContentCache extends AbstractDisposable {
+
+	private Map<Class<?>, GridComponent> cache = new HashMap<>();
+
+	public GridComponent getActiveContent(Class<?> rootClass) {
+		checkDisposed();
+		return cache.get(rootClass);
+	}
+
+	public void putActiveContent(Class<?> rootClass, GridComponent content) {
+		checkDisposed();
+		cache.put(rootClass, content);
+	}
+
+	public boolean containsContent(Class<?> rootClass) {
+		return cache.containsKey(rootClass);
+	}
+
+	@Override
+	protected void internalDispose() {
+		for (GridComponent comp : cache.values()) {
+			comp.dispose();
+		}
+
+		cache.clear();
+		cache = null;
+	}
+
+}
diff --git a/org.eclipse.osbp.infogrid.vaaclipse/src/org/eclipse/osbp/infogrid/vaaclipse/InfoGridView.java b/org.eclipse.osbp.infogrid.vaaclipse/src/org/eclipse/osbp/infogrid/vaaclipse/InfoGridView.java
new file mode 100644
index 0000000..4bbb763
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.vaaclipse/src/org/eclipse/osbp/infogrid/vaaclipse/InfoGridView.java
@@ -0,0 +1,411 @@
+/**
+ *                                                                            
+ * 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.infogrid.vaaclipse;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import javax.annotation.PostConstruct;
+import javax.annotation.PreDestroy;
+import javax.inject.Inject;
+
+import org.eclipse.e4.core.contexts.Active;
+import org.eclipse.e4.core.contexts.IEclipseContext;
+import org.eclipse.e4.core.di.annotations.Optional;
+import org.eclipse.e4.core.services.events.IEventBroker;
+import org.eclipse.e4.ui.model.application.ui.advanced.MPerspective;
+import org.eclipse.e4.ui.model.application.ui.basic.MPart;
+import org.eclipse.e4.ui.model.application.ui.basic.MWindow;
+import org.eclipse.e4.ui.workbench.modeling.EModelService;
+import org.eclipse.osbp.dsl.common.datatypes.IDto;
+import org.eclipse.osbp.dsl.dto.lib.impl.DtoServiceAccess;
+import org.eclipse.osbp.dsl.dto.lib.services.IDTOService;
+import org.eclipse.osbp.runtime.common.types.ITypeProviderService;
+import org.eclipse.osbp.infogrid.api.IGridSourceDescriptor;
+import org.eclipse.osbp.infogrid.api.IGridSourceFacade;
+import org.eclipse.osbp.infogrid.model.gridsource.CxGridSource;
+import org.eclipse.osbp.infogrid.vaadin.GridComponent;
+import org.eclipse.osbp.vaaclipse.common.ecview.api.IECViewSessionHelper;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.FrameworkUtil;
+import org.osgi.service.event.Event;
+import org.osgi.service.event.EventHandler;
+
+import com.vaadin.ui.Component;
+import com.vaadin.ui.CssLayout;
+import com.vaadin.ui.VerticalLayout;
+
+import org.eclipse.osbp.eventbroker.EventBrokerMsg;
+
+public class InfoGridView {
+
+	@Inject
+	private IEventBroker eventBroker;
+	@Inject
+	IEclipseContext context;
+	@Inject
+	private VerticalLayout parentLayout;
+	@Inject
+	private org.eclipse.e4.core.services.events.IEventBroker e4EventBroker;
+	@Inject
+	private IGridSourceFacade gridSourceService;
+	@Inject
+	private IECViewSessionHelper ecviewPropsProvider;
+	@Inject
+	private EModelService modelService;
+	@Inject
+	private ITypeProviderService bundleSpaceTypeProvider;
+
+	private ContentCache cache;
+
+	protected CssLayout layout;
+	protected MPart activeMPart;
+	protected String activeContentID;
+	protected Component activeContent;
+	private EventHandler inputEventHandler;
+	private Class<?> inputClass;
+	private GridComponent currentComponent;
+
+	// snapshots of perspectives state to reset
+	private Map<MPerspective, StateSnapshot> stateSnapshots = new HashMap<MPerspective, InfoGridView.StateSnapshot>();
+
+	@PostConstruct
+	protected void setup() {
+		cache = new ContentCache();
+
+		layout = new CssLayout();
+		layout.setSizeFull();
+		parentLayout.setMargin(true);
+		parentLayout.setSpacing(true);
+		parentLayout.addComponent(layout);
+
+		inputEventHandler = new EventHandler() {
+			@Override
+			public void handleEvent(Event event) {
+				Object data = event.getProperty(IEventBroker.DATA);
+				if (data instanceof EventBrokerMsg) {
+					EventBrokerMsg msg = (EventBrokerMsg) data;
+					String dtoClassFqn = getDtoName(msg.getName());
+					if (dtoClassFqn.isEmpty()) {
+						return;
+					} else {
+
+						Class<?> dtoClass = bundleSpaceTypeProvider.forName(
+								null, dtoClassFqn);
+						setInput(dtoClass, msg.getId());
+					}
+				} else if (data instanceof IDto) {
+					String id = event.getTopic().split("/")[0];
+					setInput(data.getClass(), id);
+				}
+			}
+		};
+		e4EventBroker.subscribe(EventBrokerMsg.AUTOWIRED_ENTITY_PREFIX + "*",
+				inputEventHandler);
+	}
+
+	/**
+	 * Converts the entity name to the dto name.
+	 * 
+	 * @param entityName
+	 * @return TODO NamingConventions replace me later!
+	 */
+	private String getDtoName(String entityName) {
+		String dtoName = null;
+		if (entityName == null) {
+			return "";
+		}
+		if (entityName.contains("entities")) {
+			dtoName = entityName.replace("entities", "dtos");
+		} else {
+			dtoName = entityName + ".dtos";
+		}
+
+		dtoName = dtoName.concat("Dto");
+
+		return dtoName;
+	}
+
+	/**
+	 * Perspective was switches. Return to last state of perspective.
+	 * 
+	 * @param perspective
+	 */
+	@Inject
+	protected void activatePerspective(
+			@Optional @Active MPerspective perspective) {
+		restoreForSnapshot(perspective);
+	}
+
+	/**
+	 * Sets the new input value.
+	 * 
+	 * @param dtoClass
+	 * @param id
+	 */
+	private void setInput(Class<?> dtoClass, Object id) {
+		Class<?> oldInputClass = this.inputClass;
+		inputClass = dtoClass;
+
+		if (oldInputClass != inputClass) {
+
+			// reset layout
+			layout.removeAllComponents();
+			currentComponent = null;
+
+			if (inputClass != null) {
+				currentComponent = getGridComponent(inputClass);
+				if (currentComponent != null) {
+					layout.addComponent(currentComponent);
+				}
+			}
+		}
+
+		if (currentComponent != null) {
+			Object dtoInstance = getDTO(dtoClass, (String) id);
+			currentComponent.setValue(dtoInstance);
+
+			// create a snapshot for later use on perspective switch
+			MPerspective activePerspective = findActivePerspective();
+			// update snapshot info for restore on perspective switch
+			updateSnapshot(dtoClass, id, activePerspective, currentComponent);
+		} else {
+			MPerspective activePerspective = findActivePerspective();
+			resetSnapshot(activePerspective);
+		}
+	}
+
+	/**
+	 * Returns the dto for the given class and id.
+	 * 
+	 * @param dtoClass
+	 * @param id
+	 * @return
+	 */
+	@SuppressWarnings("restriction")
+	private Object getDTO(Class<?> dtoClass, String id) {
+		IDTOService<?> dtoService = DtoServiceAccess.getService(dtoClass);
+		Object dtoInstance = null;
+		if (id != null) {
+			try {
+				dtoInstance = dtoService.get((int) Double.parseDouble(id));
+			} catch (NumberFormatException e) {
+				dtoInstance = dtoService.get(id);
+			}
+		}
+		// Object dtoInstance = id != null ? dtoService.get(id) : null;
+		return dtoInstance;
+	}
+
+	private MPerspective findActivePerspective() {
+		// EObject part = (EObject) partService.getActivePart();
+		// if (part == null) {
+		// return null;
+		// }
+		// EObject current = part;
+		// while (current.eContainer() != null) {
+		// current = current.eContainer();
+		// if (current instanceof MPerspective) {
+		// return (MPerspective) current;
+		// }
+		// }
+		return modelService.getActivePerspective(context.get(MWindow.class));
+	}
+
+	/**
+	 * Updates the snapshot info.
+	 * 
+	 * @param dtoClass
+	 * @param id
+	 * @param activePerspective
+	 * @param currentComponent
+	 */
+	private void updateSnapshot(Class<?> dtoClass, Object id,
+			MPerspective activePerspective, GridComponent currentComponent) {
+		// update the snapshot
+		stateSnapshots.put(activePerspective, new StateSnapshot(
+				activePerspective, dtoClass, id, currentComponent));
+	}
+
+	/**
+	 * Restores UI for the given activePerspective.
+	 * 
+	 * @param activePerspective
+	 */
+	private void restoreForSnapshot(MPerspective activePerspective) {
+		StateSnapshot snapshot = stateSnapshots.get(activePerspective);
+		if (snapshot != null) {
+
+			inputClass = snapshot.dtoClass;
+			currentComponent = snapshot.component;
+			layout.removeAllComponents();
+			layout.addComponent(currentComponent);
+			currentComponent.setValue(getDTO(snapshot.dtoClass,
+					(String) snapshot.id));
+			setInput(snapshot.dtoClass, snapshot.id);
+
+		} else {
+			if (layout != null) {
+				layout.removeAllComponents();
+			}
+			inputClass = null;
+			currentComponent = null;
+		}
+	}
+
+	/**
+	 * Removes the snapshot information.
+	 * 
+	 * @param activePerspective
+	 */
+	private void resetSnapshot(MPerspective activePerspective) {
+		stateSnapshots.remove(activePerspective);
+	}
+
+	/**
+	 * Returns the grid component for the given inputclass.
+	 * 
+	 * @param inputClass
+	 * @return
+	 */
+	protected GridComponent getGridComponent(Class<?> inputClass) {
+		if (inputClass == null) {
+			return null;
+		}
+
+		GridComponent component;
+		if (cache.containsContent(inputClass)) {
+			component = cache.getActiveContent(inputClass);
+		} else {
+			component = createComponent(inputClass);
+		}
+		return component;
+	}
+
+	private GridComponent createComponent(Class<?> inputClass) {
+		// create the component and register it at the cache
+		//
+		GridComponent component = new GridComponent();
+		component.setSizeFull();
+		cache.putActiveContent(inputClass, component);
+
+		// set the descriptors to the component
+		//
+		List<IGridSourceDescriptor> descriptors = createGridSourceDescriptors(inputClass);
+		component.setSourceDescriptors(descriptors);
+
+		return component;
+	}
+
+	/**
+	 * Uses the IGridSourceService to create the descriptors that should be used
+	 * for the input class.
+	 * 
+	 * @param inputClass
+	 * @return
+	 */
+	protected List<IGridSourceDescriptor> createGridSourceDescriptors(
+			Class<?> inputClass) {
+		List<IGridSourceDescriptor> descriptors = gridSourceService
+				.getDescriptors(inputClass,
+						new IGridSourceDescriptor.ConfigCallback() {
+							@Override
+							public Map<String, Object> getProperties(
+									IGridSourceDescriptor descriptor) {
+								CxGridSource cxSource = descriptor.getSource();
+								if (cxSource.getKind().equals(
+										IGridSourceDescriptor.KIND_ECVIEW)) {
+									return createECViewProperties(descriptor);
+								}
+								return null;
+							}
+						});
+		return descriptors;
+	}
+
+	/**
+	 * Creates the ecview properties to properly config the descriptor.
+	 * 
+	 * @param descriptor
+	 * @return
+	 */
+	protected Map<String, Object> createECViewProperties(
+			IGridSourceDescriptor descriptor) {
+		return ecviewPropsProvider.createBasicProperties();
+	}
+
+	@PreDestroy
+	protected void destroy() {
+
+		eventBroker.unsubscribe(inputEventHandler);
+		inputEventHandler = null;
+
+		stateSnapshots.clear();
+		stateSnapshots = null;
+
+		if (cache != null) {
+			cache.dispose();
+			cache = null;
+		}
+
+	}
+
+	protected BundleContext getBundleContext() {
+		return FrameworkUtil.getBundle(getClass()).getBundleContext();
+	}
+
+	private static class StateSnapshot {
+		private final MPerspective perspective;
+		private final Class<?> dtoClass;
+		private final Object id;
+		private final GridComponent component;
+
+		public StateSnapshot(MPerspective perspective, Class<?> dtoClass,
+				Object id, GridComponent component) {
+			super();
+			this.perspective = perspective;
+			this.dtoClass = dtoClass;
+			this.id = id;
+			this.component = component;
+		}
+
+		@Override
+		public int hashCode() {
+			final int prime = 31;
+			int result = 1;
+			result = prime * result
+					+ ((perspective == null) ? 0 : perspective.hashCode());
+			return result;
+		}
+
+		@Override
+		public boolean equals(Object obj) {
+			if (this == obj)
+				return true;
+			if (obj == null)
+				return false;
+			if (getClass() != obj.getClass())
+				return false;
+			StateSnapshot other = (StateSnapshot) obj;
+			if (perspective == null) {
+				if (other.perspective != null)
+					return false;
+			} else if (!perspective.equals(other.perspective))
+				return false;
+			return true;
+		}
+
+	}
+
+}
diff --git a/org.eclipse.osbp.infogrid.vaaclipse/src/org/eclipse/osbp/infogrid/vaaclipse/SingleInfoGridComponent.java b/org.eclipse.osbp.infogrid.vaaclipse/src/org/eclipse/osbp/infogrid/vaaclipse/SingleInfoGridComponent.java
new file mode 100644
index 0000000..a419a9f
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.vaaclipse/src/org/eclipse/osbp/infogrid/vaaclipse/SingleInfoGridComponent.java
@@ -0,0 +1,234 @@
+/**
+ *                                                                            
+ * 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.infogrid.vaaclipse;
+
+import java.util.List;
+import java.util.Locale;
+import java.util.Map;
+
+import javax.annotation.PostConstruct;
+import javax.annotation.PreDestroy;
+import javax.inject.Inject;
+import javax.inject.Named;
+
+import org.eclipse.e4.core.contexts.IEclipseContext;
+import org.eclipse.e4.core.di.annotations.Optional;
+import org.eclipse.e4.core.services.events.IEventBroker;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.impl.AdapterImpl;
+import org.eclipse.osbp.dsl.dto.lib.impl.DtoServiceAccess;
+import org.eclipse.osbp.dsl.dto.lib.services.IDTOService;
+import org.eclipse.osbp.ecview.extension.grid.CxGrid;
+import org.eclipse.osbp.ecview.extension.grid.CxGridPackage;
+import org.eclipse.osbp.eventbroker.EventBrokerMsg;
+import org.eclipse.osbp.infogrid.api.IECViewGridSourceDescriptor;
+import org.eclipse.osbp.infogrid.api.IECViewGridSourceDescriptor.EditorSavedStrategy;
+import org.eclipse.osbp.infogrid.api.IGridSourceDescriptor;
+import org.eclipse.osbp.infogrid.api.IGridSourceFacade;
+import org.eclipse.osbp.infogrid.model.gridsource.CxGridSource;
+import org.eclipse.osbp.runtime.common.types.ITypeProviderService;
+import org.eclipse.osbp.vaaclipse.common.ecview.api.IECViewSessionHelper;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.FrameworkUtil;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import com.vaadin.ui.Component;
+import com.vaadin.ui.CssLayout;
+import com.vaadin.ui.CustomComponent;
+
+@SuppressWarnings({ "restriction", "serial" })
+public class SingleInfoGridComponent extends CustomComponent implements
+		EditorSavedStrategy {
+
+	final static Logger LOGGER = LoggerFactory
+			.getLogger(SingleInfoGridComponent.class);
+
+	@Inject
+	IEventBroker eventBroker;
+	@Inject
+	IEclipseContext context;
+	@Inject
+	IGridSourceFacade gridSourceService;
+	@Inject
+	IECViewSessionHelper ecviewPropsProvider;
+	@Inject
+	ITypeProviderService bundleSpaceTypeProvider;
+	@Inject
+	Locale locale;
+	@Inject
+	@Optional
+	@Named("gridSourceId")
+	String gridSourceId;
+	@Inject
+	@Optional
+	@Named("inputdata")
+	private List<?> inputdata;
+
+	protected CssLayout layout;
+	protected Component activeContent;
+	private IECViewGridSourceDescriptor descriptor;
+	private Class<?> rootType;
+	private IDTOService<Object> dtoService;
+
+	// public Component createGrid(String gridSourceId,
+	// IGridSourceFacade gridSourceService,
+	// IECViewSessionHelper ecviewPropsProvider,
+	// ITypeProviderService bundleSpaceTypeProvider, IUser user) {
+	// this.gridSourceService = gridSourceService;
+	// this.ecviewPropsProvider = ecviewPropsProvider;
+	// this.bundleSpaceTypeProvider = bundleSpaceTypeProvider;
+	//
+	// descriptor = createGridSourceDescriptor(gridSourceId);
+	// descriptor.setLocale(user.getLocale());
+	// descriptor.setInput(inputdata);
+	// if (descriptor != null) {
+	// return createComponent(gridSourceId);
+	// } else {
+	// log.error("gridsource not available:" + gridSourceId);
+	// }
+	// return null;
+	// }
+
+	@PostConstruct
+	protected void setup() {
+
+		if (gridSourceId != null) {
+			descriptor = createGridSourceDescriptor(gridSourceId);
+			if (descriptor != null) {
+				layout = new CssLayout();
+				layout.setSizeFull();
+				Component grid = createComponent(gridSourceId);
+				layout.addComponent(grid);
+				setCompositionRoot(layout);
+			} else {
+				LOGGER.error("gridsource not available:" + gridSourceId);
+			}
+		}
+	}
+
+	protected Component createComponent(String gridSourceId) {
+		Component component = null;
+		if (descriptor != null) {
+			setupSaveStrategy();
+
+			component = (Component) descriptor.getComponent();
+			component.setSizeFull();
+			String topic = createTopic();
+			CxGrid grid = descriptor.getGrid();
+
+			// if there is inputdata, just put it into the grids collection
+			if (inputdata != null) {
+				grid.getCollection().addAll(inputdata);
+			}
+			grid.eAdapters().add(new AdapterImpl() {
+				@Override
+				public void notifyChanged(Notification msg) {
+					if (msg.getFeature() == CxGridPackage.Literals.CX_GRID__SELECTION) {
+						eventBroker.send(topic, msg.getNewValue());
+					}
+				}
+			});
+		}
+		return component;
+	}
+
+	@SuppressWarnings("unchecked")
+	protected void setupSaveStrategy() {
+		descriptor.setEditorSavedStrategy(this);
+		dtoService = (IDTOService<Object>) DtoServiceAccess
+				.getService(rootType);
+	}
+
+	@Override
+	public void editorSaved(Object value) {
+		if (dtoService != null) {
+			dtoService.update(value);
+		}
+	}
+
+	protected String createTopic() {
+		String fqn = descriptor.getSource().getRootTypeFQN();
+		fqn = fqn.substring(fqn.lastIndexOf(".") + 1, fqn.length()).replaceAll(
+				"Dto", "");
+		return EventBrokerMsg.AUTOWIRED_ENTITY_PREFIX + fqn;
+	}
+
+	/**
+	 * Uses the IGridSourceService to create the descriptor that should be used
+	 * for the given id.
+	 * 
+	 * @param sourceId
+	 * @return
+	 */
+	protected IECViewGridSourceDescriptor createGridSourceDescriptor(
+			String sourceId) {
+
+		CxGridSource gridSource = gridSourceService.getSource(sourceId);
+		gridSource.getTags().add(IGridSourceDescriptor.TAG__SINGLE_GRID);
+		rootType = bundleSpaceTypeProvider.forName(null,
+				gridSource.getRootTypeFQN());
+		IGridSourceDescriptor descriptor = gridSourceService.getDescriptor(
+				rootType, gridSource,
+				new IGridSourceDescriptor.ConfigCallback() {
+					@Override
+					public Map<String, Object> getProperties(
+							IGridSourceDescriptor descriptor) {
+						CxGridSource cxSource = descriptor.getSource();
+						if (cxSource.getKind().equals(
+								IGridSourceDescriptor.KIND_ECVIEW)) {
+							return createECViewProperties(descriptor);
+						}
+						return null;
+					}
+				});
+		descriptor.setLocale(locale);
+		return (IECViewGridSourceDescriptor) descriptor;
+	}
+
+	/**
+	 * Creates the ecview properties to properly config the descriptor.
+	 * 
+	 * @param descriptor
+	 * @return
+	 */
+	protected Map<String, Object> createECViewProperties(
+			IGridSourceDescriptor descriptor) {
+		Map<String, Object> props = ecviewPropsProvider.createBasicProperties();
+		if (inputdata != null) {
+			props.put(IECViewGridSourceDescriptor.PROP_MANUAL_BEANS, true);
+		}
+		return props;
+	}
+
+	@PreDestroy
+	protected void destroy() {
+		if (descriptor != null) {
+			descriptor.dispose();
+			descriptor = null;
+		}
+	}
+
+	public List<?> getInputData() {
+		return inputdata;
+	}
+
+	public void setInputData(List<?> inputData) {
+		this.inputdata = inputData;
+	}
+
+	protected BundleContext getBundleContext() {
+		return FrameworkUtil.getBundle(getClass()).getBundleContext();
+	}
+
+}
diff --git a/org.eclipse.osbp.infogrid.vaaclipse/src/org/eclipse/osbp/infogrid/vaaclipse/SingleInfoGridView.java b/org.eclipse.osbp.infogrid.vaaclipse/src/org/eclipse/osbp/infogrid/vaaclipse/SingleInfoGridView.java
new file mode 100644
index 0000000..5a0e2db
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.vaaclipse/src/org/eclipse/osbp/infogrid/vaaclipse/SingleInfoGridView.java
@@ -0,0 +1,242 @@
+/**
+ *                                                                            
+ * 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.infogrid.vaaclipse;
+
+import java.util.List;
+import java.util.Map;
+
+import javax.annotation.PostConstruct;
+import javax.annotation.PreDestroy;
+import javax.inject.Inject;
+import javax.inject.Named;
+
+import org.eclipse.e4.core.contexts.IEclipseContext;
+import org.eclipse.e4.core.di.annotations.Optional;
+import org.eclipse.e4.core.services.events.IEventBroker;
+import org.eclipse.e4.ui.model.application.ui.basic.MPart;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.impl.AdapterImpl;
+import org.eclipse.osbp.dsl.dto.lib.impl.DtoServiceAccess;
+import org.eclipse.osbp.dsl.dto.lib.services.IDTOService;
+import org.eclipse.osbp.ecview.extension.grid.CxGrid;
+import org.eclipse.osbp.ecview.extension.grid.CxGridPackage;
+import org.eclipse.osbp.eventbroker.EventBrokerMsg;
+import org.eclipse.osbp.infogrid.api.IECViewGridSourceDescriptor;
+import org.eclipse.osbp.infogrid.api.IECViewGridSourceDescriptor.EditorSavedStrategy;
+import org.eclipse.osbp.infogrid.api.IGridSourceDescriptor;
+import org.eclipse.osbp.infogrid.api.IGridSourceFacade;
+import org.eclipse.osbp.infogrid.model.gridsource.CxGridSource;
+import org.eclipse.osbp.runtime.common.types.ITypeProviderService;
+import org.eclipse.osbp.ui.api.user.IUser;
+import org.eclipse.osbp.vaaclipse.common.ecview.api.IECViewSessionHelper;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.FrameworkUtil;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import com.vaadin.ui.Component;
+import com.vaadin.ui.CssLayout;
+import com.vaadin.ui.VerticalLayout;
+
+@SuppressWarnings("restriction")
+public class SingleInfoGridView implements EditorSavedStrategy {
+
+	final static Logger LOGGER = LoggerFactory
+			.getLogger(SingleInfoGridView.class);
+
+	@Inject
+	IEventBroker eventBroker;
+	@Inject
+	IEclipseContext context;
+	@Inject
+	VerticalLayout parentLayout;
+	@Inject
+	IGridSourceFacade gridSourceService;
+	@Inject
+	IECViewSessionHelper ecviewPropsProvider;
+	@Inject
+	MPart mPart;
+	@Inject
+	ITypeProviderService bundleSpaceTypeProvider;
+	@Inject
+	IUser user;
+	@Inject
+	@Optional
+	@Named("gridSourceId")
+	String gridSourceId;
+	@Inject
+	@Optional
+	@Named("inputdata")
+	private List<?> inputdata;
+
+	protected CssLayout layout;
+	protected Component activeContent;
+	private IECViewGridSourceDescriptor descriptor;
+	private Class<?> rootType;
+	private IDTOService<Object> dtoService;
+
+	public Component createGrid(String gridSourceId,
+			IGridSourceFacade gridSourceService,
+			IECViewSessionHelper ecviewPropsProvider,
+			ITypeProviderService bundleSpaceTypeProvider, IUser user) {
+		this.gridSourceService = gridSourceService;
+		this.ecviewPropsProvider = ecviewPropsProvider;
+		this.bundleSpaceTypeProvider = bundleSpaceTypeProvider;
+
+		descriptor = createGridSourceDescriptor(gridSourceId);
+		descriptor.setLocale(user.getLocale());
+		descriptor.setInput(inputdata);
+		if (descriptor != null) {
+			return createComponent(gridSourceId);
+		} else {
+			LOGGER.error("gridsource not available:" + gridSourceId);
+		}
+		return null;
+	}
+
+	@PostConstruct
+	protected void setup() {
+
+		// first we check the context, whether a gridSourceId was injected
+		if (gridSourceId == null || gridSourceId.isEmpty()) {
+			// if we could not find an injected gridSourceId, then lets check
+			// the mPart for it.
+			gridSourceId = mPart.getPersistedState().get("gridSourceId");
+		}
+
+		if (gridSourceId != null) {
+			descriptor = createGridSourceDescriptor(gridSourceId);
+			if (descriptor != null) {
+				layout = new CssLayout();
+				layout.setSizeFull();
+				parentLayout.setMargin(true);
+				parentLayout.setSpacing(true);
+				parentLayout.addComponent(layout);
+				Component grid = createComponent(gridSourceId);
+				layout.addComponent(grid);
+			} else {
+				LOGGER.error("gridsource not available:" + gridSourceId);
+			}
+		}
+	}
+
+	protected Component createComponent(String gridSourceId) {
+		Component component = null;
+		if (descriptor != null) {
+			setupSaveStrategy();
+
+			component = (Component) descriptor.getComponent();
+			component.setSizeFull();
+			String topic = createTopic();
+			CxGrid grid = descriptor.getGrid();
+			grid.eAdapters().add(new AdapterImpl() {
+				@Override
+				public void notifyChanged(Notification msg) {
+					if (msg.getFeature() == CxGridPackage.Literals.CX_GRID__SELECTION) {
+						eventBroker.send(topic, msg.getNewValue());
+					}
+				}
+			});
+		}
+		return component;
+	}
+
+	@SuppressWarnings("unchecked")
+	protected void setupSaveStrategy() {
+		descriptor.setEditorSavedStrategy(this);
+		dtoService = (IDTOService<Object>) DtoServiceAccess
+				.getService(rootType);
+	}
+
+	@Override
+	public void editorSaved(Object value) {
+		if (dtoService != null) {
+			dtoService.update(value);
+		}
+	}
+
+	protected String createTopic() {
+		String fqn = descriptor.getSource().getRootTypeFQN();
+		fqn = fqn.substring(fqn.lastIndexOf(".") + 1, fqn.length()).replaceAll(
+				"Dto", "");
+		return EventBrokerMsg.AUTOWIRED_ENTITY_PREFIX + fqn;
+	}
+
+	/**
+	 * Uses the IGridSourceService to create the descriptor that should be used
+	 * for the given id.
+	 * 
+	 * @param sourceId
+	 * @return
+	 */
+	protected IECViewGridSourceDescriptor createGridSourceDescriptor(
+			String sourceId) {
+
+		CxGridSource gridSource = gridSourceService.getSource(sourceId);
+		gridSource.getTags().add(IGridSourceDescriptor.TAG__SINGLE_GRID);
+		rootType = bundleSpaceTypeProvider.forName(null,
+				gridSource.getRootTypeFQN());
+		IGridSourceDescriptor descriptor = gridSourceService.getDescriptor(
+				rootType, gridSource,
+				new IGridSourceDescriptor.ConfigCallback() {
+					@Override
+					public Map<String, Object> getProperties(
+							IGridSourceDescriptor descriptor) {
+						CxGridSource cxSource = descriptor.getSource();
+						if (cxSource.getKind().equals(
+								IGridSourceDescriptor.KIND_ECVIEW)) {
+							return createECViewProperties(descriptor);
+						}
+						return null;
+					}
+				});
+
+		return (IECViewGridSourceDescriptor) descriptor;
+	}
+
+	/**
+	 * Creates the ecview properties to properly config the descriptor.
+	 * 
+	 * @param descriptor
+	 * @return
+	 */
+	protected Map<String, Object> createECViewProperties(
+			IGridSourceDescriptor descriptor) {
+		Map<String, Object> props = ecviewPropsProvider.createBasicProperties();
+		if (inputdata != null) {
+			props.put(IECViewGridSourceDescriptor.PROP_MANUAL_BEANS, true);
+		}
+		return props;
+	}
+
+	@PreDestroy
+	protected void destroy() {
+		if (descriptor != null) {
+			descriptor.dispose();
+			descriptor = null;
+		}
+	}
+
+	public List<?> getInputData() {
+		return inputdata;
+	}
+
+	public void setInputData(List<?> inputData) {
+		this.inputdata = inputData;
+	}
+
+	protected BundleContext getBundleContext() {
+		return FrameworkUtil.getBundle(getClass()).getBundleContext();
+	}
+
+}
diff --git a/org.eclipse.osbp.infogrid.vaadin/.project b/org.eclipse.osbp.infogrid.vaadin/.project
new file mode 100644
index 0000000..48e70c1
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.vaadin/.project
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.osbp.infogrid.vaadin</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.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.infogrid.vaadin/LICENSE.txt b/org.eclipse.osbp.infogrid.vaadin/LICENSE.txt
new file mode 100644
index 0000000..ff42ad4
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.vaadin/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.infogrid.vaadin/META-INF/MANIFEST.MF b/org.eclipse.osbp.infogrid.vaadin/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..b7a4d51
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.vaadin/META-INF/MANIFEST.MF
@@ -0,0 +1,16 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: org.eclipse.osbp.infogrid.vaadin
+Bundle-SymbolicName: org.eclipse.osbp.infogrid.vaadin
+Bundle-Vendor: Eclipse OSBP
+Bundle-Version: 0.9.0.qualifier
+Require-Bundle: org.eclipse.core.runtime,
+ com.vaadin.server;bundle-version="7.5.7",
+ com.vaadin.shared;bundle-version="7.5.7",
+ org.jsoup;bundle-version="1.7.2",
+ org.eclipse.osbp.infogrid.api;bundle-version="[0.9.0,0.10.0)",
+ org.eclipse.osbp.runtime.common;bundle-version="[0.9.0,0.10.0)",
+ org.eclipse.osbp.ecview.extension.grid.model,
+ org.eclipse.osbp.infogrid.model;bundle-version="[0.9.0,0.10.0)"
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Export-Package: org.eclipse.osbp.infogrid.vaadin;version="0.9.0"
diff --git a/org.eclipse.osbp.infogrid.vaadin/about.html b/org.eclipse.osbp.infogrid.vaadin/about.html
new file mode 100644
index 0000000..64c0598
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.vaadin/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.infogrid.vaadin/about.ini b/org.eclipse.osbp.infogrid.vaadin/about.ini
new file mode 100644
index 0000000..7df671f
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.vaadin/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.infogrid.vaadin/about.mappings b/org.eclipse.osbp.infogrid.vaadin/about.mappings
new file mode 100644
index 0000000..4511a0a
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.vaadin/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.infogrid.vaadin/about.properties b/org.eclipse.osbp.infogrid.vaadin/about.properties
new file mode 100644
index 0000000..0854cb1
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.vaadin/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:
+#    Christophe Loetz (Loetz GmbH&Co.KG) - initial API and implementation
+#
+
+# NLS_MESSAGEFORMAT_VAR
+
+featureName=org.eclipse.osbp.infogrid.vaadin
+
+################ 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\
+    Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation\n
+################ end of blurb property ####################################
diff --git a/org.eclipse.osbp.infogrid.vaadin/build.properties b/org.eclipse.osbp.infogrid.vaadin/build.properties
new file mode 100644
index 0000000..f15906e
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.vaadin/build.properties
@@ -0,0 +1,10 @@
+source.. = src/
+output.. = target/classes/
+bin.includes = about.properties,  about.mappings,  about.ini,  about.html,  META-INF/,\
+               .,\
+               license.html,\
+               LICENSE.txt,\
+               epl-v10.html
+src.includes = about.properties,  about.mappings,  about.ini,  about.html,  license.html,\
+               LICENSE.txt,\
+               epl-v10.html	
diff --git a/org.eclipse.osbp.infogrid.vaadin/epl-v10.html b/org.eclipse.osbp.infogrid.vaadin/epl-v10.html
new file mode 100644
index 0000000..b398acc
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.vaadin/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.infogrid.vaadin/license.html b/org.eclipse.osbp.infogrid.vaadin/license.html
new file mode 100644
index 0000000..6e579a5
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.vaadin/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.infogrid.vaadin/pom.xml b/org.eclipse.osbp.infogrid.vaadin/pom.xml
new file mode 100644
index 0000000..fa45b0d
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.vaadin/pom.xml
@@ -0,0 +1,29 @@
+<?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.infogrid</groupId>
+		<artifactId>org.eclipse.osbp.infogrid.aggregator</artifactId>
+		<version>0.9.0-SNAPSHOT</version>
+		<relativePath>..</relativePath>
+	</parent>
+	<artifactId>org.eclipse.osbp.infogrid.vaadin</artifactId>
+	<build>
+		<sourceDirectory>src</sourceDirectory>
+		<plugins>
+		</plugins>
+	</build>
+	<packaging>eclipse-plugin</packaging>
+	
+</project>
diff --git a/org.eclipse.osbp.infogrid.vaadin/src/org/eclipse/osbp/infogrid/vaadin/GridComponent.java b/org.eclipse.osbp.infogrid.vaadin/src/org/eclipse/osbp/infogrid/vaadin/GridComponent.java
new file mode 100644
index 0000000..524c1fe
--- /dev/null
+++ b/org.eclipse.osbp.infogrid.vaadin/src/org/eclipse/osbp/infogrid/vaadin/GridComponent.java
@@ -0,0 +1,158 @@
+/**
+ *                                                                            
+ * 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.infogrid.vaadin;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.osbp.infogrid.api.IGridSourceDescriptor;
+
+import com.vaadin.data.Item;
+import com.vaadin.ui.AbstractSelect.ItemCaptionMode;
+import com.vaadin.ui.ComboBox;
+import com.vaadin.ui.Component;
+import com.vaadin.ui.CssLayout;
+import com.vaadin.ui.CustomComponent;
+import com.vaadin.ui.VerticalLayout;
+
+/**
+ * This component needs configuration by IGridSourceDescriptor. They need to be
+ * added from outside logic.
+ */
+@SuppressWarnings("serial")
+public class GridComponent extends CustomComponent {
+
+	private ComboBox sourceSelector;
+	private CssLayout gridArea;
+
+	private List<IGridSourceDescriptor> sources;
+	private IGridSourceDescriptor currentSource;
+
+	private VerticalLayout layout;
+	private Object currentInput;
+
+	public GridComponent() {
+		initUI();
+	}
+
+	/**
+	 * Initializes the UI.
+	 */
+	protected void initUI() {
+
+		sourceSelector = new ComboBox();
+		sourceSelector.addContainerProperty("caption", String.class,
+				"undefined ID");
+		sourceSelector.addContainerProperty("gridSource",
+				IGridSourceDescriptor.class, null);
+
+		sourceSelector.setItemCaptionMode(ItemCaptionMode.PROPERTY);
+		sourceSelector.setItemCaptionPropertyId("caption");
+
+		sourceSelector.addValueChangeListener(e -> sourceChanged());
+
+		gridArea = new CssLayout();
+		gridArea.setSizeFull();
+
+		layout = new VerticalLayout(sourceSelector, gridArea);
+		layout.setExpandRatio(gridArea, 1.0f);
+		setCompositionRoot(layout);
+	}
+
+	/**
+	 * Is called if the source became changed.
+	 */
+	protected void sourceChanged() {
+		Item item = sourceSelector.getItem(sourceSelector.getValue());
+		if (item == null) {
+			setSelectedSource(null);
+		} else {
+			setSelectedSource((IGridSourceDescriptor) item.getItemProperty(
+					"gridSource").getValue());
+		}
+	}
+
+	/**
+	 * Sets the selected source descriptor.
+	 * 
+	 * @param source
+	 */
+	public void setSelectedSource(IGridSourceDescriptor source) {
+		// TODO
+		// if (currentSource == source) {
+		// return;
+		// }
+
+		if (source != null && !sources.contains(source)) {
+			return;
+		}
+
+		currentSource = source;
+		gridArea.removeAllComponents();
+		if (currentSource != null) {
+			Component component = (Component) currentSource.getComponent();
+			component.setSizeFull();
+			gridArea.addComponent(component);
+			currentSource.setInput(currentInput);
+		}
+	}
+
+	/**
+	 * Returns all descriptors.
+	 * 
+	 * @return
+	 */
+	public List<IGridSourceDescriptor> getSourceDescriptors() {
+		return Collections.unmodifiableList(sources);
+	}
+
+	/**
+	 * Sets all available descriptors to this component. The descriptors are
+	 * responsible to create the UI content.
+	 * 
+	 * @param sources
+	 */
+	@SuppressWarnings("unchecked")
+	public void setSourceDescriptors(List<IGridSourceDescriptor> sources) {
+		sourceSelector.removeAllItems();
+		for (IGridSourceDescriptor source : sources) {
+			Item item = sourceSelector.getItem(sourceSelector.addItem());
+			item.getItemProperty("caption").setValue(source.getId());
+			item.getItemProperty("gridSource").setValue(source);
+		}
+
+		this.sources = new ArrayList<>(sources);
+	}
+
+	/**
+	 * Sets the value of the component.
+	 * 
+	 * @param input
+	 */
+	public void setValue(Object input) {
+		if (currentInput == input) {
+			return;
+		}
+		currentInput = input;
+
+		if (currentSource != null) {
+			currentSource.setInput(currentInput);
+		}
+	}
+
+	public void dispose() {
+
+	}
+
+}
diff --git a/pom.xml b/pom.xml
new file mode 100644
index 0000000..cefb0b7
--- /dev/null
+++ b/pom.xml
@@ -0,0 +1,126 @@
+<?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 implementation 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>
+
+	<groupId>org.eclipse.osbp.infogrid</groupId>
+	<artifactId>org.eclipse.osbp.infogrid.aggregator</artifactId>
+	<packaging>pom</packaging>
+
+	<parent>
+		<groupId>org.eclipse.osbp.releng.maven</groupId>
+		<artifactId>org.eclipse.osbp.releng.maven.parent.tycho</artifactId>
+		<version>0.9.0-SNAPSHOT</version>
+	</parent>
+
+	<url>${osbp.site.repository.url}</url>
+	<scm>
+		<url>${osbp.scm.url}</url>
+		<connection>${osbp.scm.connection}</connection>
+		<developerConnection>${osbp.scm.connection.dev}</developerConnection>
+		<tag>HEAD</tag>
+	</scm>
+	<distributionManagement>
+		<site>
+			<id>gh-pages</id>
+			<name>OSBP GitHub Pages</name>
+			<url>${distribution.site.url}</url>
+		</site>
+	</distributionManagement>
+
+	<properties>
+		<osbp.gitrepo.name>${project.groupId}</osbp.gitrepo.name>
+	</properties>
+
+		<modules>
+		<module>org.eclipse.osbp.infogrid.api</module>
+		<module>org.eclipse.osbp.infogrid.ecview</module>
+		<module>org.eclipse.osbp.infogrid.model</module>
+		<module>org.eclipse.osbp.infogrid.model.edit</module>
+		<module>org.eclipse.osbp.infogrid.model.editor</module>
+		<module>org.eclipse.osbp.infogrid.services</module>
+<!-- 		<module>org.eclipse.osbp.infogrid.services.tests</module> -->
+		<module>org.eclipse.osbp.infogrid.vaaclipse</module>
+		<module>org.eclipse.osbp.infogrid.vaadin</module>
+		
+		<module>org.eclipse.osbp.infogrid.feature</module>
+	</modules>
+	
+	<build>
+		<pluginManagement>
+			<plugins>
+				<plugin>
+					<groupId>org.eclipse.tycho</groupId>
+					<artifactId>target-platform-configuration</artifactId>
+					<version>${tycho-version}</version>
+					<configuration>
+						<resolver>p2</resolver>
+						<pomDependencies>consider</pomDependencies>
+						<environments>
+							<environment>
+								<os>win32</os>
+								<ws>win32</ws>
+								<arch>x86_64</arch>
+							</environment>
+							<environment>
+								<os>linux</os>
+								<ws>gtk</ws>
+								<arch>x86</arch>
+							</environment>
+							<environment>
+								<os>linux</os>
+								<ws>gtk</ws>
+								<arch>x86_64</arch>
+							</environment>
+							<environment>
+								<os>macosx</os>
+								<ws>cocoa</ws>
+								<arch>x86_64</arch>
+							</environment>
+						</environments>
+					</configuration>
+				</plugin>
+			</plugins>
+		</pluginManagement>
+		<plugins>
+			<plugin>
+				<artifactId>maven-clean-plugin</artifactId>
+				<configuration>
+					<filesets>
+						<fileset>
+							<directory>xtend-gen</directory>
+							<includes>
+								<include>**</include>
+							</includes>
+						</fileset>
+					</filesets>
+				</configuration>
+			</plugin>
+			<plugin>
+				<groupId>org.eclipse.xtend</groupId>
+				<artifactId>xtend-maven-plugin</artifactId>
+				<executions>
+					<execution>
+						<goals>
+							<goal>compile</goal>
+							<goal>testCompile</goal>
+						</goals>
+						<configuration>
+							<outputDirectory>xtend-gen</outputDirectory>
+						</configuration>
+					</execution>
+				</executions>
+			</plugin>
+		</plugins>
+	</build>
+	<version>0.9.0-SNAPSHOT</version>
+</project>
diff --git a/stuff b/stuff
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/stuff