catch up with branch daily

Signed-off-by: Ralf Mollik <ramollik@compex-commerce.com>
diff --git a/org.eclipse.osbp.ecview.extension.api/src/org/eclipse/osbp/ecview/extension/api/ILayoutingStrategy.java b/org.eclipse.osbp.ecview.extension.api/src/org/eclipse/osbp/ecview/extension/api/ILayoutingStrategy.java
index 8a3a96a..6791afb 100644
--- a/org.eclipse.osbp.ecview.extension.api/src/org/eclipse/osbp/ecview/extension/api/ILayoutingStrategy.java
+++ b/org.eclipse.osbp.ecview.extension.api/src/org/eclipse/osbp/ecview/extension/api/ILayoutingStrategy.java
@@ -123,6 +123,12 @@
 	/** The Constant TAG__GROUP. */
 	public static final String TAG__GROUP = "group";
 
+	/** The Constant TAG__BEAN. */
+	public static final String TAG__BEAN = "bean";
+	
+	/** The Constant TAG__BEANONTAB. */
+	public static final String TAG__BEANONTAB = "beanOnTab";
+	
 	/** The Constant TAG__CONSTRAINT. */
 	public static final String TAG__CONSTRAINT = "constraint";
 
@@ -155,9 +161,27 @@
 	 */
 	public static final String TAG__TO_BE_CLEANED = "strategylayout__toBeCleaned";
 
-	/** The Constant TAG__IMAGE_PICKER. */
+	/** The Constant TAG__IMAGE_PICKER. 
+	 * a combobox presentation with images is rendered*/
 	public static final String TAG__IMAGE_PICKER = "imagePicker";
 
+	/** The Constant TAG__READONLY. 
+	 * the tagged item is read only. */
+	public static final String TAG__READONLY = "readonly";
+
+	/** The Constant TAG__ONKANBANCARD. 
+	 * the tagged item is displayed on a kanban card*/
+	public static final String TAG__ONKANBANCARD = "onKanbanCard";
+
+	/** The Constant TAG__NUMBER_TO_UOMO. 
+	 * the tagged item has Units Of Measurement functionality */
+	public static final String TAG__NUMBER_TO_UOMO = "NumberToUomo";
+	
+	/**
+	 * The possibility to create owners for bean references 
+	 */
+	public static final String TAG__SIDEKICK = "sideKick";
+
 	/**
 	 * Does the layouting for model.
 	 *
diff --git a/org.eclipse.osbp.ecview.extension.grid.model.edit/icons/full/ctool16/CreateCxGridBlobImageRenderer_lastClickEvent_CxGridRendererClickEvent.gif b/org.eclipse.osbp.ecview.extension.grid.model.edit/icons/full/ctool16/CreateCxGridBlobImageRenderer_lastClickEvent_CxGridRendererClickEvent.gif
new file mode 100644
index 0000000..f3fb35e
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.grid.model.edit/icons/full/ctool16/CreateCxGridBlobImageRenderer_lastClickEvent_CxGridRendererClickEvent.gif
Binary files differ
diff --git a/org.eclipse.osbp.ecview.extension.grid.model.edit/icons/full/obj16/CxGridBlobImageRenderer.gif b/org.eclipse.osbp.ecview.extension.grid.model.edit/icons/full/obj16/CxGridBlobImageRenderer.gif
new file mode 100644
index 0000000..d3dc5a9
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.grid.model.edit/icons/full/obj16/CxGridBlobImageRenderer.gif
Binary files differ
diff --git a/org.eclipse.osbp.ecview.extension.grid.model.edit/icons/full/obj16/GridMementoFooterRow.gif b/org.eclipse.osbp.ecview.extension.grid.model.edit/icons/full/obj16/GridMementoFooterRow.gif
new file mode 100644
index 0000000..c673a52
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.grid.model.edit/icons/full/obj16/GridMementoFooterRow.gif
Binary files differ
diff --git a/org.eclipse.osbp.ecview.extension.grid.model.edit/icons/full/obj16/GridMementoHeaderRow.gif b/org.eclipse.osbp.ecview.extension.grid.model.edit/icons/full/obj16/GridMementoHeaderRow.gif
new file mode 100644
index 0000000..be22463
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.grid.model.edit/icons/full/obj16/GridMementoHeaderRow.gif
Binary files differ
diff --git a/org.eclipse.osbp.ecview.extension.grid.model.edit/plugin.properties b/org.eclipse.osbp.ecview.extension.grid.model.edit/plugin.properties
index bd277f4..ae50a0d 100644
--- a/org.eclipse.osbp.ecview.extension.grid.model.edit/plugin.properties
+++ b/org.eclipse.osbp.ecview.extension.grid.model.edit/plugin.properties
@@ -162,3 +162,9 @@
 _UI_CxGridNestedConverter_nestedType_feature = Nested Type
 _UI_CxGridNestedConverter_nestedTypeQualifiedName_feature = Nested Type Qualified Name
 _UI_CxGridNestedConverter_nestedTypeConverter_feature = Nested Type Converter
+_UI_CxGridBlobImageRenderer_type = Cx Grid Blob Image Renderer
+_UI_CxGridColumn_editsDto_feature = Edits Dto
+_UI_CxGridColumn_filterPropertyPathForEditsDto_feature = Filter Property Path For Edits Dto
+_UI_CxGridColumn_sourceType_feature = Source Type
+_UI_CxGridBlobImageRenderer_lastClickEvent_feature = Last Click Event
+_UI_CxGridBlobImageRenderer_eventTopic_feature = Event Topic
diff --git a/org.eclipse.osbp.ecview.extension.grid.model.edit/src/org/eclipse/osbp/ecview/extension/grid/provider/CxGridColumnItemProvider.java b/org.eclipse.osbp.ecview.extension.grid.model.edit/src/org/eclipse/osbp/ecview/extension/grid/provider/CxGridColumnItemProvider.java
index 100e15f..717c897 100644
--- a/org.eclipse.osbp.ecview.extension.grid.model.edit/src/org/eclipse/osbp/ecview/extension/grid/provider/CxGridColumnItemProvider.java
+++ b/org.eclipse.osbp.ecview.extension.grid.model.edit/src/org/eclipse/osbp/ecview/extension/grid/provider/CxGridColumnItemProvider.java
@@ -88,6 +88,9 @@
 			addUsedInMetaCellsPropertyDescriptor(object);
 			addTypePropertyDescriptor(object);
 			addTypeQualifiedNamePropertyDescriptor(object);
+			addEditsDtoPropertyDescriptor(object);
+			addFilterPropertyPathForEditsDtoPropertyDescriptor(object);
+			addSourceTypePropertyDescriptor(object);
 		}
 		return itemPropertyDescriptors;
 	}
@@ -568,6 +571,72 @@
 	}
 
 	/**
+	 * This adds a property descriptor for the Edits Dto feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addEditsDtoPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_CxGridColumn_editsDto_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_CxGridColumn_editsDto_feature", "_UI_CxGridColumn_type"),
+				 CxGridPackage.Literals.CX_GRID_COLUMN__EDITS_DTO,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Filter Property Path For Edits Dto feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addFilterPropertyPathForEditsDtoPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_CxGridColumn_filterPropertyPathForEditsDto_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_CxGridColumn_filterPropertyPathForEditsDto_feature", "_UI_CxGridColumn_type"),
+				 CxGridPackage.Literals.CX_GRID_COLUMN__FILTER_PROPERTY_PATH_FOR_EDITS_DTO,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Source Type feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addSourceTypePropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_CxGridColumn_sourceType_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_CxGridColumn_sourceType_feature", "_UI_CxGridColumn_type"),
+				 CxGridPackage.Literals.CX_GRID_COLUMN__SOURCE_TYPE,
+				 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}.
@@ -658,6 +727,9 @@
 			case CxGridPackage.CX_GRID_COLUMN__MAX_WIDTH_PIXELS:
 			case CxGridPackage.CX_GRID_COLUMN__TYPE:
 			case CxGridPackage.CX_GRID_COLUMN__TYPE_QUALIFIED_NAME:
+			case CxGridPackage.CX_GRID_COLUMN__EDITS_DTO:
+			case CxGridPackage.CX_GRID_COLUMN__FILTER_PROPERTY_PATH_FOR_EDITS_DTO:
+			case CxGridPackage.CX_GRID_COLUMN__SOURCE_TYPE:
 				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
 				return;
 			case CxGridPackage.CX_GRID_COLUMN__SEARCH_FIELD:
diff --git a/org.eclipse.osbp.ecview.extension.grid.model.edit/src/org/eclipse/osbp/ecview/extension/grid/provider/CxGridMetaCellItemProvider.java b/org.eclipse.osbp.ecview.extension.grid.model.edit/src/org/eclipse/osbp/ecview/extension/grid/provider/CxGridMetaCellItemProvider.java
index b72d5fd..b608f90 100644
--- a/org.eclipse.osbp.ecview.extension.grid.model.edit/src/org/eclipse/osbp/ecview/extension/grid/provider/CxGridMetaCellItemProvider.java
+++ b/org.eclipse.osbp.ecview.extension.grid.model.edit/src/org/eclipse/osbp/ecview/extension/grid/provider/CxGridMetaCellItemProvider.java
@@ -563,12 +563,12 @@
 		newChildDescriptors.add
 			(createChildParameter
 				(CxGridPackage.Literals.CX_GRID_META_CELL__ELEMENT,
-				 ExtensionModelFactory.eINSTANCE.createYEnumList()));
+				 ExtensionModelFactory.eINSTANCE.createYEnumComboBox()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(CxGridPackage.Literals.CX_GRID_META_CELL__ELEMENT,
-				 ExtensionModelFactory.eINSTANCE.createYEnumComboBox()));
+				 ExtensionModelFactory.eINSTANCE.createYEnumList()));
 
 		newChildDescriptors.add
 			(createChildParameter
diff --git a/org.eclipse.osbp.ecview.extension.grid.model.edit/src/org/eclipse/osbp/ecview/extension/grid/renderer/provider/CxGridBlobImageRendererItemProvider.java b/org.eclipse.osbp.ecview.extension.grid.model.edit/src/org/eclipse/osbp/ecview/extension/grid/renderer/provider/CxGridBlobImageRendererItemProvider.java
new file mode 100644
index 0000000..dfb83e8
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.grid.model.edit/src/org/eclipse/osbp/ecview/extension/grid/renderer/provider/CxGridBlobImageRendererItemProvider.java
@@ -0,0 +1,173 @@
+/**
+ */
+package org.eclipse.osbp.ecview.extension.grid.renderer.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.ecview.extension.grid.renderer.CxGridBlobImageRenderer;
+import org.eclipse.osbp.ecview.extension.grid.renderer.CxGridRendererFactory;
+import org.eclipse.osbp.ecview.extension.grid.renderer.CxGridRendererPackage;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.osbp.ecview.extension.grid.renderer.CxGridBlobImageRenderer} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class CxGridBlobImageRendererItemProvider extends CxGridRendererItemProvider {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CxGridBlobImageRendererItemProvider(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_CxGridBlobImageRenderer_eventTopic_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_CxGridBlobImageRenderer_eventTopic_feature", "_UI_CxGridBlobImageRenderer_type"),
+				 CxGridRendererPackage.Literals.CX_GRID_BLOB_IMAGE_RENDERER__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(CxGridRendererPackage.Literals.CX_GRID_BLOB_IMAGE_RENDERER__LAST_CLICK_EVENT);
+		}
+		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 CxGridBlobImageRenderer.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/CxGridBlobImageRenderer"));
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		String label = ((CxGridBlobImageRenderer)object).getName();
+		return label == null || label.length() == 0 ?
+			getString("_UI_CxGridBlobImageRenderer_type") :
+			getString("_UI_CxGridBlobImageRenderer_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(CxGridBlobImageRenderer.class)) {
+			case CxGridRendererPackage.CX_GRID_BLOB_IMAGE_RENDERER__EVENT_TOPIC:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+				return;
+			case CxGridRendererPackage.CX_GRID_BLOB_IMAGE_RENDERER__LAST_CLICK_EVENT:
+				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
+				(CxGridRendererPackage.Literals.CX_GRID_BLOB_IMAGE_RENDERER__LAST_CLICK_EVENT,
+				 CxGridRendererFactory.eINSTANCE.createCxGridRendererClickEvent()));
+	}
+
+}
diff --git a/org.eclipse.osbp.ecview.extension.grid.model.edit/src/org/eclipse/osbp/ecview/extension/grid/renderer/provider/CxGridRendererItemProviderAdapterFactory.java b/org.eclipse.osbp.ecview.extension.grid.model.edit/src/org/eclipse/osbp/ecview/extension/grid/renderer/provider/CxGridRendererItemProviderAdapterFactory.java
index 5cab01f..16fb3e4 100644
--- a/org.eclipse.osbp.ecview.extension.grid.model.edit/src/org/eclipse/osbp/ecview/extension/grid/renderer/provider/CxGridRendererItemProviderAdapterFactory.java
+++ b/org.eclipse.osbp.ecview.extension.grid.model.edit/src/org/eclipse/osbp/ecview/extension/grid/renderer/provider/CxGridRendererItemProviderAdapterFactory.java
@@ -240,6 +240,29 @@
 	}
 
 	/**
+	 * This keeps track of the one adapter used for all {@link org.eclipse.osbp.ecview.extension.grid.renderer.CxGridBlobImageRenderer} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected CxGridBlobImageRendererItemProvider cxGridBlobImageRendererItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link org.eclipse.osbp.ecview.extension.grid.renderer.CxGridBlobImageRenderer}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createCxGridBlobImageRendererAdapter() {
+		if (cxGridBlobImageRendererItemProvider == null) {
+			cxGridBlobImageRendererItemProvider = new CxGridBlobImageRendererItemProvider(this);
+		}
+
+		return cxGridBlobImageRendererItemProvider;
+	}
+
+	/**
 	 * This keeps track of the one adapter used for all {@link org.eclipse.osbp.ecview.extension.grid.renderer.CxGridImageRenderer} instances.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -512,6 +535,7 @@
 		if (cxGridProgressBarRendererItemProvider != null) cxGridProgressBarRendererItemProvider.dispose();
 		if (cxGridTextRendererItemProvider != null) cxGridTextRendererItemProvider.dispose();
 		if (cxGridButtonRendererItemProvider != null) cxGridButtonRendererItemProvider.dispose();
+		if (cxGridBlobImageRendererItemProvider != null) cxGridBlobImageRendererItemProvider.dispose();
 		if (cxGridImageRendererItemProvider != null) cxGridImageRendererItemProvider.dispose();
 		if (cxGridRendererClickEventItemProvider != null) cxGridRendererClickEventItemProvider.dispose();
 		if (cxGridBooleanRendererItemProvider != null) cxGridBooleanRendererItemProvider.dispose();
diff --git a/org.eclipse.osbp.ecview.extension.grid.model.tests/src/org/eclipse/osbp/ecview/extension/grid/renderer/tests/CxGridBlobImageRendererTest.java b/org.eclipse.osbp.ecview.extension.grid.model.tests/src/org/eclipse/osbp/ecview/extension/grid/renderer/tests/CxGridBlobImageRendererTest.java
new file mode 100644
index 0000000..6fc2cc4
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.grid.model.tests/src/org/eclipse/osbp/ecview/extension/grid/renderer/tests/CxGridBlobImageRendererTest.java
@@ -0,0 +1,89 @@
+/**
+ */
+package org.eclipse.osbp.ecview.extension.grid.renderer.tests;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.extension.grid.renderer.CxGridBlobImageRenderer;
+import org.eclipse.osbp.ecview.extension.grid.renderer.CxGridRendererFactory;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>Cx Grid Blob Image Renderer</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following operations are tested:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.ecview.extension.grid.renderer.CxGridBlobImageRenderer#createLastClickEventEndpoint() <em>Create Last Click Event Endpoint</em>}</li>
+ * </ul>
+ * </p>
+ * @generated
+ */
+public class CxGridBlobImageRendererTest extends CxGridRendererTest {
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(CxGridBlobImageRendererTest.class);
+	}
+
+	/**
+	 * Constructs a new Cx Grid Blob Image Renderer test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CxGridBlobImageRendererTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Returns the fixture for this Cx Grid Blob Image Renderer test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected CxGridBlobImageRenderer getFixture() {
+		return (CxGridBlobImageRenderer)fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(CxGridRendererFactory.eINSTANCE.createCxGridBlobImageRenderer());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#tearDown()
+	 * @generated
+	 */
+	@Override
+	protected void tearDown() throws Exception {
+		setFixture(null);
+	}
+
+	/**
+	 * Tests the '{@link org.eclipse.osbp.ecview.extension.grid.renderer.CxGridBlobImageRenderer#createLastClickEventEndpoint() <em>Create Last Click Event Endpoint</em>}' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.ecview.extension.grid.renderer.CxGridBlobImageRenderer#createLastClickEventEndpoint()
+	 * @generated
+	 */
+	public void testCreateLastClickEventEndpoint() {
+		// TODO: implement this operation test method
+		// Ensure that you remove @generated or mark it @generated NOT
+		fail();
+	}
+
+} //CxGridBlobImageRendererTest
diff --git a/org.eclipse.osbp.ecview.extension.grid.model.tests/src/org/eclipse/osbp/ecview/extension/grid/renderer/tests/CxGridNestedConverterTest.java b/org.eclipse.osbp.ecview.extension.grid.model.tests/src/org/eclipse/osbp/ecview/extension/grid/renderer/tests/CxGridNestedConverterTest.java
new file mode 100644
index 0000000..2fe726e
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.grid.model.tests/src/org/eclipse/osbp/ecview/extension/grid/renderer/tests/CxGridNestedConverterTest.java
@@ -0,0 +1,89 @@
+/**
+ */
+package org.eclipse.osbp.ecview.extension.grid.renderer.tests;
+
+import junit.framework.TestCase;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.extension.grid.renderer.CxGridNestedConverter;
+import org.eclipse.osbp.ecview.extension.grid.renderer.CxGridRendererFactory;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>Cx Grid Nested Converter</b></em>'.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class CxGridNestedConverterTest extends TestCase {
+
+	/**
+	 * The fixture for this Cx Grid Nested Converter test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected CxGridNestedConverter fixture = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(CxGridNestedConverterTest.class);
+	}
+
+	/**
+	 * Constructs a new Cx Grid Nested Converter test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CxGridNestedConverterTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this Cx Grid Nested Converter test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(CxGridNestedConverter fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this Cx Grid Nested Converter test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected CxGridNestedConverter getFixture() {
+		return fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(CxGridRendererFactory.eINSTANCE.createCxGridNestedConverter());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#tearDown()
+	 * @generated
+	 */
+	@Override
+	protected void tearDown() throws Exception {
+		setFixture(null);
+	}
+
+} //CxGridNestedConverterTest
diff --git a/org.eclipse.osbp.ecview.extension.grid.model.tests/src/org/eclipse/osbp/ecview/extension/grid/renderer/tests/CxGridRendererTests.java b/org.eclipse.osbp.ecview.extension.grid.model.tests/src/org/eclipse/osbp/ecview/extension/grid/renderer/tests/CxGridRendererTests.java
index 91260b5..8b44813 100644
--- a/org.eclipse.osbp.ecview.extension.grid.model.tests/src/org/eclipse/osbp/ecview/extension/grid/renderer/tests/CxGridRendererTests.java
+++ b/org.eclipse.osbp.ecview.extension.grid.model.tests/src/org/eclipse/osbp/ecview/extension/grid/renderer/tests/CxGridRendererTests.java
@@ -32,6 +32,7 @@
 	public static Test suite() {
 		TestSuite suite = new CxGridRendererTests("renderer Tests");
 		suite.addTestSuite(CxGridButtonRendererTest.class);
+		suite.addTestSuite(CxGridBlobImageRendererTest.class);
 		suite.addTestSuite(CxGridImageRendererTest.class);
 		return suite;
 	}
diff --git a/org.eclipse.osbp.ecview.extension.grid.model/model/cxgrid.ecore b/org.eclipse.osbp.ecview.extension.grid.model/model/cxgrid.ecore
index 2c7dc5d..165ed2f 100644
--- a/org.eclipse.osbp.ecview.extension.grid.model/model/cxgrid.ecore
+++ b/org.eclipse.osbp.ecview.extension.grid.model/model/cxgrid.ecore
@@ -117,6 +117,11 @@
     <eStructuralFeatures xsi:type="ecore:EAttribute" name="editsDto" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
     <eStructuralFeatures xsi:type="ecore:EAttribute" name="filterPropertyPathForEditsDto"
         eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="sourceType">
+      <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaClass">
+        <eTypeArguments/>
+      </eGenericType>
+    </eStructuralFeatures>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="CxGridCellStyleGenerator" abstract="true"
       eSuperTypes="../../org.eclipse.osbp.ecview.core.common.model/model/core.ecore#//YElement #//CxGridProvider"/>
diff --git a/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/CxGridColumn.java b/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/CxGridColumn.java
index 142970b..a97fd4e 100644
--- a/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/CxGridColumn.java
+++ b/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/CxGridColumn.java
@@ -55,6 +55,7 @@
  *   <li>{@link org.eclipse.osbp.ecview.extension.grid.CxGridColumn#getTypeQualifiedName <em>Type Qualified Name</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.grid.CxGridColumn#isEditsDto <em>Edits Dto</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.grid.CxGridColumn#getFilterPropertyPathForEditsDto <em>Filter Property Path For Edits Dto</em>}</li>
+ *   <li>{@link org.eclipse.osbp.ecview.extension.grid.CxGridColumn#getSourceType <em>Source Type</em>}</li>
  * </ul>
  *
  * @see org.eclipse.osbp.ecview.extension.grid.CxGridPackage#getCxGridColumn()
@@ -660,4 +661,30 @@
 	 */
 	void setFilterPropertyPathForEditsDto(String value);
 
+	/**
+	 * Returns the value of the '<em><b>Source Type</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Source Type</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Source Type</em>' attribute.
+	 * @see #setSourceType(Class)
+	 * @see org.eclipse.osbp.ecview.extension.grid.CxGridPackage#getCxGridColumn_SourceType()
+	 * @model
+	 * @generated
+	 */
+	Class<?> getSourceType();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.ecview.extension.grid.CxGridColumn#getSourceType <em>Source Type</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Source Type</em>' attribute.
+	 * @see #getSourceType()
+	 * @generated
+	 */
+	void setSourceType(Class<?> value);
+
 }
\ No newline at end of file
diff --git a/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/CxGridPackage.java b/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/CxGridPackage.java
index dd80947..1fefb2c 100644
--- a/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/CxGridPackage.java
+++ b/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/CxGridPackage.java
@@ -236,6 +236,15 @@
 	int CX_GRID__LAST_CONTEXT_CLICK = ExtensionModelPackage.YINPUT__LAST_CONTEXT_CLICK;
 
 	/**
+	 * The feature id for the '<em><b>Readonly</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CX_GRID__READONLY = ExtensionModelPackage.YINPUT__READONLY;
+
+	/**
 	 * The feature id for the '<em><b>Initial Editable</b></em>' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -1388,13 +1397,22 @@
 	int CX_GRID_COLUMN__FILTER_PROPERTY_PATH_FOR_EDITS_DTO = CX_GRID_GROUPABLE_FEATURE_COUNT + 22;
 
 	/**
+	 * The feature id for the '<em><b>Source Type</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CX_GRID_COLUMN__SOURCE_TYPE = CX_GRID_GROUPABLE_FEATURE_COUNT + 23;
+
+	/**
 	 * The number of structural features of the '<em>Column</em>' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int CX_GRID_COLUMN_FEATURE_COUNT = CX_GRID_GROUPABLE_FEATURE_COUNT + 23;
+	int CX_GRID_COLUMN_FEATURE_COUNT = CX_GRID_GROUPABLE_FEATURE_COUNT + 24;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.osbp.ecview.extension.grid.impl.CxGridCellStyleGeneratorImpl <em>Cell Style Generator</em>}' class.
@@ -2316,6 +2334,17 @@
 	EAttribute getCxGridColumn_FilterPropertyPathForEditsDto();
 
 	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.osbp.ecview.extension.grid.CxGridColumn#getSourceType <em>Source Type</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Source Type</em>'.
+	 * @see org.eclipse.osbp.ecview.extension.grid.CxGridColumn#getSourceType()
+	 * @see #getCxGridColumn()
+	 * @generated
+	 */
+	EAttribute getCxGridColumn_SourceType();
+
+	/**
 	 * Returns the meta object for class '{@link org.eclipse.osbp.ecview.extension.grid.CxGridCellStyleGenerator <em>Cell Style Generator</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -2958,6 +2987,14 @@
 		EAttribute CX_GRID_COLUMN__FILTER_PROPERTY_PATH_FOR_EDITS_DTO = eINSTANCE.getCxGridColumn_FilterPropertyPathForEditsDto();
 
 		/**
+		 * The meta object literal for the '<em><b>Source Type</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute CX_GRID_COLUMN__SOURCE_TYPE = eINSTANCE.getCxGridColumn_SourceType();
+
+		/**
 		 * The meta object literal for the '{@link org.eclipse.osbp.ecview.extension.grid.impl.CxGridCellStyleGeneratorImpl <em>Cell Style Generator</em>}' class.
 		 * <!-- begin-user-doc -->
 		 * <!-- end-user-doc -->
diff --git a/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/impl/CxGridColumnImpl.java b/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/impl/CxGridColumnImpl.java
index 32c0e33..3b6844b 100644
--- a/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/impl/CxGridColumnImpl.java
+++ b/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/impl/CxGridColumnImpl.java
@@ -66,6 +66,7 @@
  *   <li>{@link org.eclipse.osbp.ecview.extension.grid.impl.CxGridColumnImpl#getTypeQualifiedName <em>Type Qualified Name</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.grid.impl.CxGridColumnImpl#isEditsDto <em>Edits Dto</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.grid.impl.CxGridColumnImpl#getFilterPropertyPathForEditsDto <em>Filter Property Path For Edits Dto</em>}</li>
+ *   <li>{@link org.eclipse.osbp.ecview.extension.grid.impl.CxGridColumnImpl#getSourceType <em>Source Type</em>}</li>
  * </ul>
  *
  * @generated
@@ -453,6 +454,16 @@
 	protected String filterPropertyPathForEditsDto = FILTER_PROPERTY_PATH_FOR_EDITS_DTO_EDEFAULT;
 
 	/**
+	 * The cached value of the '{@link #getSourceType() <em>Source Type</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getSourceType()
+	 * @generated
+	 * @ordered
+	 */
+	protected Class<?> sourceType;
+
+	/**
 	 * <!-- begin-user-doc --> <!-- end-user-doc -->.
 	 *
 	 * @generated
@@ -1162,6 +1173,27 @@
 	}
 
 	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Class<?> getSourceType() {
+		return sourceType;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setSourceType(Class<?> newSourceType) {
+		Class<?> oldSourceType = sourceType;
+		sourceType = newSourceType;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, CxGridPackage.CX_GRID_COLUMN__SOURCE_TYPE, oldSourceType, sourceType));
+	}
+
+	/**
 	 * <!-- begin-user-doc --> Returns the layout which contains the editor
 	 * fields. <!-- end-user-doc -->
 	 *
@@ -1285,6 +1317,8 @@
 				return isEditsDto();
 			case CxGridPackage.CX_GRID_COLUMN__FILTER_PROPERTY_PATH_FOR_EDITS_DTO:
 				return getFilterPropertyPathForEditsDto();
+			case CxGridPackage.CX_GRID_COLUMN__SOURCE_TYPE:
+				return getSourceType();
 		}
 		return super.eGet(featureID, resolve, coreType);
 	}
@@ -1372,6 +1406,9 @@
 			case CxGridPackage.CX_GRID_COLUMN__FILTER_PROPERTY_PATH_FOR_EDITS_DTO:
 				setFilterPropertyPathForEditsDto((String)newValue);
 				return;
+			case CxGridPackage.CX_GRID_COLUMN__SOURCE_TYPE:
+				setSourceType((Class<?>)newValue);
+				return;
 		}
 		super.eSet(featureID, newValue);
 	}
@@ -1455,6 +1492,9 @@
 			case CxGridPackage.CX_GRID_COLUMN__FILTER_PROPERTY_PATH_FOR_EDITS_DTO:
 				setFilterPropertyPathForEditsDto(FILTER_PROPERTY_PATH_FOR_EDITS_DTO_EDEFAULT);
 				return;
+			case CxGridPackage.CX_GRID_COLUMN__SOURCE_TYPE:
+				setSourceType((Class<?>)null);
+				return;
 		}
 		super.eUnset(featureID);
 	}
@@ -1516,6 +1556,8 @@
 				return editsDto != EDITS_DTO_EDEFAULT;
 			case CxGridPackage.CX_GRID_COLUMN__FILTER_PROPERTY_PATH_FOR_EDITS_DTO:
 				return FILTER_PROPERTY_PATH_FOR_EDITS_DTO_EDEFAULT == null ? filterPropertyPathForEditsDto != null : !FILTER_PROPERTY_PATH_FOR_EDITS_DTO_EDEFAULT.equals(filterPropertyPathForEditsDto);
+			case CxGridPackage.CX_GRID_COLUMN__SOURCE_TYPE:
+				return sourceType != null;
 		}
 		return super.eIsSet(featureID);
 	}
@@ -1567,6 +1609,8 @@
 		result.append(editsDto);
 		result.append(", filterPropertyPathForEditsDto: ");
 		result.append(filterPropertyPathForEditsDto);
+		result.append(", sourceType: ");
+		result.append(sourceType);
 		result.append(')');
 		return result.toString();
 	}
diff --git a/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/impl/CxGridPackageImpl.java b/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/impl/CxGridPackageImpl.java
index ed81bad..2ed9fc3 100644
--- a/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/impl/CxGridPackageImpl.java
+++ b/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/impl/CxGridPackageImpl.java
@@ -889,6 +889,15 @@
 	}
 
 	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getCxGridColumn_SourceType() {
+		return (EAttribute)cxGridColumnEClass.getEStructuralFeatures().get(23);
+	}
+
+	/**
 	 * <!-- begin-user-doc --> <!-- end-user-doc -->.
 	 *
 	 * @return the cx grid cell style generator
@@ -1053,6 +1062,7 @@
 		createEAttribute(cxGridColumnEClass, CX_GRID_COLUMN__TYPE_QUALIFIED_NAME);
 		createEAttribute(cxGridColumnEClass, CX_GRID_COLUMN__EDITS_DTO);
 		createEAttribute(cxGridColumnEClass, CX_GRID_COLUMN__FILTER_PROPERTY_PATH_FOR_EDITS_DTO);
+		createEAttribute(cxGridColumnEClass, CX_GRID_COLUMN__SOURCE_TYPE);
 
 		cxGridCellStyleGeneratorEClass = createEClass(CX_GRID_CELL_STYLE_GENERATOR);
 
@@ -1209,6 +1219,10 @@
 		initEAttribute(getCxGridColumn_TypeQualifiedName(), ecorePackage.getEString(), "typeQualifiedName", null, 0, 1, CxGridColumn.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 		initEAttribute(getCxGridColumn_EditsDto(), ecorePackage.getEBoolean(), "editsDto", null, 0, 1, CxGridColumn.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 		initEAttribute(getCxGridColumn_FilterPropertyPathForEditsDto(), ecorePackage.getEString(), "filterPropertyPathForEditsDto", null, 0, 1, CxGridColumn.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		g1 = createEGenericType(ecorePackage.getEJavaClass());
+		g2 = createEGenericType();
+		g1.getETypeArguments().add(g2);
+		initEAttribute(getCxGridColumn_SourceType(), g1, "sourceType", null, 0, 1, CxGridColumn.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 
 		initEClass(cxGridCellStyleGeneratorEClass, CxGridCellStyleGenerator.class, "CxGridCellStyleGenerator", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
 
diff --git a/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/util/CxGridUtil.java b/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/util/CxGridUtil.java
index d3839f2..5aab933 100644
--- a/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/util/CxGridUtil.java
+++ b/org.eclipse.osbp.ecview.extension.grid.model/src/org/eclipse/osbp/ecview/extension/grid/util/CxGridUtil.java
@@ -64,6 +64,9 @@
 			Class<?> dtoObjectClass = grid.getType();
 			for (CxGridColumn column : grid.getColumns()) {
 				String dtoProperty = column.getPropertyId();
+				if (column.getSourceType() != null) {
+					dtoObjectClass = column.getSourceType();
+				}
 				columnPermission(userAccessService, dtoObjectClass, column, dtoProperty);
 			}
 		}
@@ -75,6 +78,7 @@
 		if (dtoProperty.split("\\.").length > 1) {
 			String refName = dtoProperty.split("\\.")[0];
 			String newDtoProperty = dtoProperty.substring(dtoProperty.indexOf(".") + 1);
+			columnPermission(userAccessService, dtoObjectClass, column, newDtoProperty);
 			for (Field ref : DtoUtils.getOwnerDomainReferences(dtoObjectClass)){
 				if (refName.equals(ref.getName())){
 					Class<?> newDtoObjectClass = ref.getType();
@@ -99,6 +103,8 @@
 						column.setHidden(columnHidden);
 					}
 				}
+			} else {
+				column.setHidden(true);
 			}
 		}
 	}
diff --git a/org.eclipse.osbp.ecview.extension.model.edit/icons/full/ctool16/CreateYLayoutingInfo_content_YDialogComponent.gif b/org.eclipse.osbp.ecview.extension.model.edit/icons/full/ctool16/CreateYLayoutingInfo_content_YDialogComponent.gif
new file mode 100644
index 0000000..63e7a6f
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.model.edit/icons/full/ctool16/CreateYLayoutingInfo_content_YDialogComponent.gif
Binary files differ
diff --git a/org.eclipse.osbp.ecview.extension.model.edit/icons/full/obj16/YStringToByteArrayConverter.gif b/org.eclipse.osbp.ecview.extension.model.edit/icons/full/obj16/YStringToByteArrayConverter.gif
new file mode 100644
index 0000000..1e5345f
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.model.edit/icons/full/obj16/YStringToByteArrayConverter.gif
Binary files differ
diff --git a/org.eclipse.osbp.ecview.extension.model.edit/plugin.properties b/org.eclipse.osbp.ecview.extension.model.edit/plugin.properties
index 0fc21ca..84dd696 100644
--- a/org.eclipse.osbp.ecview.extension.model.edit/plugin.properties
+++ b/org.eclipse.osbp.ecview.extension.model.edit/plugin.properties
@@ -198,3 +198,6 @@
 _UI_YStrategyLayout_layoutColumns_feature = Layout Columns
 _UI_YStrategyLayout_numberColumns_feature = Number Columns
 _UI_YSuspect_groupName_feature = Group Name
+_UI_YStringToByteArrayConverter_type = YString To Byte Array Converter
+_UI_YTypedCompoundSuspect_onTab_feature = On Tab
+_UI_YColumnInfo_sourceType_feature = Source Type
diff --git a/org.eclipse.osbp.ecview.extension.model.edit/src/org/eclipse/osbp/ecview/extension/model/converter/provider/YConverterItemProviderAdapterFactory.java b/org.eclipse.osbp.ecview.extension.model.edit/src/org/eclipse/osbp/ecview/extension/model/converter/provider/YConverterItemProviderAdapterFactory.java
index e7551b8..d8807ac 100644
--- a/org.eclipse.osbp.ecview.extension.model.edit/src/org/eclipse/osbp/ecview/extension/model/converter/provider/YConverterItemProviderAdapterFactory.java
+++ b/org.eclipse.osbp.ecview.extension.model.edit/src/org/eclipse/osbp/ecview/extension/model/converter/provider/YConverterItemProviderAdapterFactory.java
@@ -116,6 +116,29 @@
 	}
 
 	/**
+	 * This keeps track of the one adapter used for all {@link org.eclipse.osbp.ecview.extension.model.converter.YStringToByteArrayConverter} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YStringToByteArrayConverterItemProvider yStringToByteArrayConverterItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link org.eclipse.osbp.ecview.extension.model.converter.YStringToByteArrayConverter}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createYStringToByteArrayConverterAdapter() {
+		if (yStringToByteArrayConverterItemProvider == null) {
+			yStringToByteArrayConverterItemProvider = new YStringToByteArrayConverterItemProvider(this);
+		}
+
+		return yStringToByteArrayConverterItemProvider;
+	}
+
+	/**
 	 * This keeps track of the one adapter used for all {@link org.eclipse.osbp.ecview.extension.model.converter.YCustomDecimalConverter} instances.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -470,6 +493,7 @@
 	 */
 	public void dispose() {
 		if (yObjectToStringConverterItemProvider != null) yObjectToStringConverterItemProvider.dispose();
+		if (yStringToByteArrayConverterItemProvider != null) yStringToByteArrayConverterItemProvider.dispose();
 		if (yCustomDecimalConverterItemProvider != null) yCustomDecimalConverterItemProvider.dispose();
 		if (yNumericToResourceConverterItemProvider != null) yNumericToResourceConverterItemProvider.dispose();
 		if (yStringToResourceConverterItemProvider != null) yStringToResourceConverterItemProvider.dispose();
diff --git a/org.eclipse.osbp.ecview.extension.model.edit/src/org/eclipse/osbp/ecview/extension/model/converter/provider/YStringToByteArrayConverterItemProvider.java b/org.eclipse.osbp.ecview.extension.model.edit/src/org/eclipse/osbp/ecview/extension/model/converter/provider/YStringToByteArrayConverterItemProvider.java
new file mode 100644
index 0000000..c42416a
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.model.edit/src/org/eclipse/osbp/ecview/extension/model/converter/provider/YStringToByteArrayConverterItemProvider.java
@@ -0,0 +1,262 @@
+/**
+ * All rights reserved by Loetz GmbH und CoKG Heidelberg 2015.
+ * 
+ * Contributors:
+ *       Florian Pirchner - initial API and implementation
+ */
+package org.eclipse.osbp.ecview.extension.model.converter.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.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.ecview.core.common.model.core.CoreModelFactory;
+import org.eclipse.osbp.ecview.core.common.model.core.CoreModelPackage;
+
+import org.eclipse.osbp.ecview.extension.model.converter.YConverterPackage;
+import org.eclipse.osbp.ecview.extension.model.converter.YStringToByteArrayConverter;
+
+import org.eclipse.osbp.ecview.extension.model.provider.ecviewEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.osbp.ecview.extension.model.converter.YStringToByteArrayConverter} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class YStringToByteArrayConverterItemProvider 
+	extends ItemProviderAdapter
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final String copyright = "All rights reserved by Loetz GmbH und CoKG Heidelberg 2015.\n\nContributors:\n      Florian Pirchner - initial API and implementation";
+
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YStringToByteArrayConverterItemProvider(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);
+
+			addTagsPropertyDescriptor(object);
+			addIdPropertyDescriptor(object);
+			addNamePropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * 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_YTaggable_tags_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_YTaggable_tags_feature", "_UI_YTaggable_type"),
+				 CoreModelPackage.Literals.YTAGGABLE__TAGS,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
+	/**
+	 * 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_YElement_id_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_YElement_id_feature", "_UI_YElement_type"),
+				 CoreModelPackage.Literals.YELEMENT__ID,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Name feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addNamePropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_YElement_name_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_YElement_name_feature", "_UI_YElement_type"),
+				 CoreModelPackage.Literals.YELEMENT__NAME,
+				 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(CoreModelPackage.Literals.YELEMENT__PROPERTIES);
+		}
+		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 YStringToByteArrayConverter.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/YStringToByteArrayConverter"));
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		String label = ((YStringToByteArrayConverter)object).getName();
+		return label == null || label.length() == 0 ?
+			getString("_UI_YStringToByteArrayConverter_type") :
+			getString("_UI_YStringToByteArrayConverter_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(YStringToByteArrayConverter.class)) {
+			case YConverterPackage.YSTRING_TO_BYTE_ARRAY_CONVERTER__TAGS:
+			case YConverterPackage.YSTRING_TO_BYTE_ARRAY_CONVERTER__ID:
+			case YConverterPackage.YSTRING_TO_BYTE_ARRAY_CONVERTER__NAME:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+				return;
+			case YConverterPackage.YSTRING_TO_BYTE_ARRAY_CONVERTER__PROPERTIES:
+				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
+				(CoreModelPackage.Literals.YELEMENT__PROPERTIES,
+				 CoreModelFactory.eINSTANCE.create(CoreModelPackage.Literals.YSTRING_TO_STRING_MAP)));
+	}
+
+	/**
+	 * Return the resource locator for this item provider's resources.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public ResourceLocator getResourceLocator() {
+		return ecviewEditPlugin.INSTANCE;
+	}
+
+}
diff --git a/org.eclipse.osbp.ecview.extension.model.edit/src/org/eclipse/osbp/ecview/extension/model/provider/YBlobUploadComponentItemProvider.java b/org.eclipse.osbp.ecview.extension.model.edit/src/org/eclipse/osbp/ecview/extension/model/provider/YBlobUploadComponentItemProvider.java
index 6377920..69d09a4 100644
--- a/org.eclipse.osbp.ecview.extension.model.edit/src/org/eclipse/osbp/ecview/extension/model/provider/YBlobUploadComponentItemProvider.java
+++ b/org.eclipse.osbp.ecview.extension.model.edit/src/org/eclipse/osbp/ecview/extension/model/provider/YBlobUploadComponentItemProvider.java
@@ -264,6 +264,11 @@
 		newChildDescriptors.add
 			(createChildParameter
 				(CoreModelPackage.Literals.YFIELD__CONVERTER,
+				 YConverterFactory.eINSTANCE.createYStringToByteArrayConverter()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(CoreModelPackage.Literals.YFIELD__CONVERTER,
 				 YConverterFactory.eINSTANCE.createYCustomDecimalConverter()));
 
 		newChildDescriptors.add
diff --git a/org.eclipse.osbp.ecview.extension.model.edit/src/org/eclipse/osbp/ecview/extension/model/provider/YColumnInfoItemProvider.java b/org.eclipse.osbp.ecview.extension.model.edit/src/org/eclipse/osbp/ecview/extension/model/provider/YColumnInfoItemProvider.java
index 0d263b9..1fd3b6b 100644
--- a/org.eclipse.osbp.ecview.extension.model.edit/src/org/eclipse/osbp/ecview/extension/model/provider/YColumnInfoItemProvider.java
+++ b/org.eclipse.osbp.ecview.extension.model.edit/src/org/eclipse/osbp/ecview/extension/model/provider/YColumnInfoItemProvider.java
@@ -99,6 +99,7 @@
 			addTypePropertyDescriptor(object);
 			addTypeQualifiedNamePropertyDescriptor(object);
 			addLabelI18nKeyPropertyDescriptor(object);
+			addSourceTypePropertyDescriptor(object);
 		}
 		return itemPropertyDescriptors;
 	}
@@ -196,6 +197,28 @@
 	}
 
 	/**
+	 * This adds a property descriptor for the Source Type feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addSourceTypePropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_YColumnInfo_sourceType_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_YColumnInfo_sourceType_feature", "_UI_YColumnInfo_type"),
+				 YECviewPackage.Literals.YCOLUMN_INFO__SOURCE_TYPE,
+				 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}.
@@ -274,6 +297,7 @@
 			case YECviewPackage.YCOLUMN_INFO__TYPE:
 			case YECviewPackage.YCOLUMN_INFO__TYPE_QUALIFIED_NAME:
 			case YECviewPackage.YCOLUMN_INFO__LABEL_I1_8N_KEY:
+			case YECviewPackage.YCOLUMN_INFO__SOURCE_TYPE:
 				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
 				return;
 			case YECviewPackage.YCOLUMN_INFO__PROPERTIES:
diff --git a/org.eclipse.osbp.ecview.extension.model.edit/src/org/eclipse/osbp/ecview/extension/model/provider/YCustomDecimalFieldItemProvider.java b/org.eclipse.osbp.ecview.extension.model.edit/src/org/eclipse/osbp/ecview/extension/model/provider/YCustomDecimalFieldItemProvider.java
index 74a1f38..b1aa18e 100644
--- a/org.eclipse.osbp.ecview.extension.model.edit/src/org/eclipse/osbp/ecview/extension/model/provider/YCustomDecimalFieldItemProvider.java
+++ b/org.eclipse.osbp.ecview.extension.model.edit/src/org/eclipse/osbp/ecview/extension/model/provider/YCustomDecimalFieldItemProvider.java
@@ -243,6 +243,11 @@
 		newChildDescriptors.add
 			(createChildParameter
 				(CoreModelPackage.Literals.YFIELD__CONVERTER,
+				 YConverterFactory.eINSTANCE.createYStringToByteArrayConverter()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(CoreModelPackage.Literals.YFIELD__CONVERTER,
 				 YConverterFactory.eINSTANCE.createYCustomDecimalConverter()));
 
 		newChildDescriptors.add
diff --git a/org.eclipse.osbp.ecview.extension.model.edit/src/org/eclipse/osbp/ecview/extension/model/provider/YI18nComboBoxItemProvider.java b/org.eclipse.osbp.ecview.extension.model.edit/src/org/eclipse/osbp/ecview/extension/model/provider/YI18nComboBoxItemProvider.java
index 3ab52f0..546ee75 100644
--- a/org.eclipse.osbp.ecview.extension.model.edit/src/org/eclipse/osbp/ecview/extension/model/provider/YI18nComboBoxItemProvider.java
+++ b/org.eclipse.osbp.ecview.extension.model.edit/src/org/eclipse/osbp/ecview/extension/model/provider/YI18nComboBoxItemProvider.java
@@ -326,6 +326,11 @@
 		newChildDescriptors.add
 			(createChildParameter
 				(CoreModelPackage.Literals.YFIELD__CONVERTER,
+				 YConverterFactory.eINSTANCE.createYStringToByteArrayConverter()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(CoreModelPackage.Literals.YFIELD__CONVERTER,
 				 YConverterFactory.eINSTANCE.createYCustomDecimalConverter()));
 
 		newChildDescriptors.add
diff --git a/org.eclipse.osbp.ecview.extension.model.edit/src/org/eclipse/osbp/ecview/extension/model/provider/YIconComboBoxItemProvider.java b/org.eclipse.osbp.ecview.extension.model.edit/src/org/eclipse/osbp/ecview/extension/model/provider/YIconComboBoxItemProvider.java
index fa09a59..2534fa7 100644
--- a/org.eclipse.osbp.ecview.extension.model.edit/src/org/eclipse/osbp/ecview/extension/model/provider/YIconComboBoxItemProvider.java
+++ b/org.eclipse.osbp.ecview.extension.model.edit/src/org/eclipse/osbp/ecview/extension/model/provider/YIconComboBoxItemProvider.java
@@ -479,6 +479,11 @@
 		newChildDescriptors.add
 			(createChildParameter
 				(CoreModelPackage.Literals.YFIELD__CONVERTER,
+				 YConverterFactory.eINSTANCE.createYStringToByteArrayConverter()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(CoreModelPackage.Literals.YFIELD__CONVERTER,
 				 YConverterFactory.eINSTANCE.createYCustomDecimalConverter()));
 
 		newChildDescriptors.add
diff --git a/org.eclipse.osbp.ecview.extension.model.edit/src/org/eclipse/osbp/ecview/extension/model/provider/YMaskedDecimalFieldItemProvider.java b/org.eclipse.osbp.ecview.extension.model.edit/src/org/eclipse/osbp/ecview/extension/model/provider/YMaskedDecimalFieldItemProvider.java
index f2c2286..d637d30 100644
--- a/org.eclipse.osbp.ecview.extension.model.edit/src/org/eclipse/osbp/ecview/extension/model/provider/YMaskedDecimalFieldItemProvider.java
+++ b/org.eclipse.osbp.ecview.extension.model.edit/src/org/eclipse/osbp/ecview/extension/model/provider/YMaskedDecimalFieldItemProvider.java
@@ -280,6 +280,11 @@
 		newChildDescriptors.add
 			(createChildParameter
 				(CoreModelPackage.Literals.YFIELD__CONVERTER,
+				 YConverterFactory.eINSTANCE.createYStringToByteArrayConverter()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(CoreModelPackage.Literals.YFIELD__CONVERTER,
 				 YConverterFactory.eINSTANCE.createYCustomDecimalConverter()));
 
 		newChildDescriptors.add
diff --git a/org.eclipse.osbp.ecview.extension.model.edit/src/org/eclipse/osbp/ecview/extension/model/provider/YMaskedNumericFieldItemProvider.java b/org.eclipse.osbp.ecview.extension.model.edit/src/org/eclipse/osbp/ecview/extension/model/provider/YMaskedNumericFieldItemProvider.java
index eeb0fff..ca82190 100644
--- a/org.eclipse.osbp.ecview.extension.model.edit/src/org/eclipse/osbp/ecview/extension/model/provider/YMaskedNumericFieldItemProvider.java
+++ b/org.eclipse.osbp.ecview.extension.model.edit/src/org/eclipse/osbp/ecview/extension/model/provider/YMaskedNumericFieldItemProvider.java
@@ -232,6 +232,11 @@
 		newChildDescriptors.add
 			(createChildParameter
 				(CoreModelPackage.Literals.YFIELD__CONVERTER,
+				 YConverterFactory.eINSTANCE.createYStringToByteArrayConverter()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(CoreModelPackage.Literals.YFIELD__CONVERTER,
 				 YConverterFactory.eINSTANCE.createYCustomDecimalConverter()));
 
 		newChildDescriptors.add
diff --git a/org.eclipse.osbp.ecview.extension.model.edit/src/org/eclipse/osbp/ecview/extension/model/provider/YMaskedTextFieldItemProvider.java b/org.eclipse.osbp.ecview.extension.model.edit/src/org/eclipse/osbp/ecview/extension/model/provider/YMaskedTextFieldItemProvider.java
index b929a3f..682bd3d 100644
--- a/org.eclipse.osbp.ecview.extension.model.edit/src/org/eclipse/osbp/ecview/extension/model/provider/YMaskedTextFieldItemProvider.java
+++ b/org.eclipse.osbp.ecview.extension.model.edit/src/org/eclipse/osbp/ecview/extension/model/provider/YMaskedTextFieldItemProvider.java
@@ -232,6 +232,11 @@
 		newChildDescriptors.add
 			(createChildParameter
 				(CoreModelPackage.Literals.YFIELD__CONVERTER,
+				 YConverterFactory.eINSTANCE.createYStringToByteArrayConverter()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(CoreModelPackage.Literals.YFIELD__CONVERTER,
 				 YConverterFactory.eINSTANCE.createYCustomDecimalConverter()));
 
 		newChildDescriptors.add
diff --git a/org.eclipse.osbp.ecview.extension.model.edit/src/org/eclipse/osbp/ecview/extension/model/provider/YPairComboBoxItemProvider.java b/org.eclipse.osbp.ecview.extension.model.edit/src/org/eclipse/osbp/ecview/extension/model/provider/YPairComboBoxItemProvider.java
index 2534dbc..a1d06d3 100644
--- a/org.eclipse.osbp.ecview.extension.model.edit/src/org/eclipse/osbp/ecview/extension/model/provider/YPairComboBoxItemProvider.java
+++ b/org.eclipse.osbp.ecview.extension.model.edit/src/org/eclipse/osbp/ecview/extension/model/provider/YPairComboBoxItemProvider.java
@@ -472,6 +472,11 @@
 		newChildDescriptors.add
 			(createChildParameter
 				(CoreModelPackage.Literals.YFIELD__CONVERTER,
+				 YConverterFactory.eINSTANCE.createYStringToByteArrayConverter()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(CoreModelPackage.Literals.YFIELD__CONVERTER,
 				 YConverterFactory.eINSTANCE.createYCustomDecimalConverter()));
 
 		newChildDescriptors.add
diff --git a/org.eclipse.osbp.ecview.extension.model.edit/src/org/eclipse/osbp/ecview/extension/model/provider/YPrefixedMaskedTextFieldItemProvider.java b/org.eclipse.osbp.ecview.extension.model.edit/src/org/eclipse/osbp/ecview/extension/model/provider/YPrefixedMaskedTextFieldItemProvider.java
index 9485d7a..feb96a6 100644
--- a/org.eclipse.osbp.ecview.extension.model.edit/src/org/eclipse/osbp/ecview/extension/model/provider/YPrefixedMaskedTextFieldItemProvider.java
+++ b/org.eclipse.osbp.ecview.extension.model.edit/src/org/eclipse/osbp/ecview/extension/model/provider/YPrefixedMaskedTextFieldItemProvider.java
@@ -268,6 +268,11 @@
 		newChildDescriptors.add
 			(createChildParameter
 				(CoreModelPackage.Literals.YFIELD__CONVERTER,
+				 YConverterFactory.eINSTANCE.createYStringToByteArrayConverter()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(CoreModelPackage.Literals.YFIELD__CONVERTER,
 				 YConverterFactory.eINSTANCE.createYCustomDecimalConverter()));
 
 		newChildDescriptors.add
diff --git a/org.eclipse.osbp.ecview.extension.model.edit/src/org/eclipse/osbp/ecview/extension/model/provider/YQuantityTextFieldItemProvider.java b/org.eclipse.osbp.ecview.extension.model.edit/src/org/eclipse/osbp/ecview/extension/model/provider/YQuantityTextFieldItemProvider.java
index 225a256..a6daa8e 100644
--- a/org.eclipse.osbp.ecview.extension.model.edit/src/org/eclipse/osbp/ecview/extension/model/provider/YQuantityTextFieldItemProvider.java
+++ b/org.eclipse.osbp.ecview.extension.model.edit/src/org/eclipse/osbp/ecview/extension/model/provider/YQuantityTextFieldItemProvider.java
@@ -218,6 +218,11 @@
 		newChildDescriptors.add
 			(createChildParameter
 				(CoreModelPackage.Literals.YFIELD__CONVERTER,
+				 YConverterFactory.eINSTANCE.createYStringToByteArrayConverter()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(CoreModelPackage.Literals.YFIELD__CONVERTER,
 				 YConverterFactory.eINSTANCE.createYCustomDecimalConverter()));
 
 		newChildDescriptors.add
diff --git a/org.eclipse.osbp.ecview.extension.model.edit/src/org/eclipse/osbp/ecview/extension/model/provider/YRichTextAreaItemProvider.java b/org.eclipse.osbp.ecview.extension.model.edit/src/org/eclipse/osbp/ecview/extension/model/provider/YRichTextAreaItemProvider.java
index 85f7877..fbbd31c 100644
--- a/org.eclipse.osbp.ecview.extension.model.edit/src/org/eclipse/osbp/ecview/extension/model/provider/YRichTextAreaItemProvider.java
+++ b/org.eclipse.osbp.ecview.extension.model.edit/src/org/eclipse/osbp/ecview/extension/model/provider/YRichTextAreaItemProvider.java
@@ -256,6 +256,11 @@
 		newChildDescriptors.add
 			(createChildParameter
 				(CoreModelPackage.Literals.YFIELD__CONVERTER,
+				 YConverterFactory.eINSTANCE.createYStringToByteArrayConverter()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(CoreModelPackage.Literals.YFIELD__CONVERTER,
 				 YConverterFactory.eINSTANCE.createYCustomDecimalConverter()));
 
 		newChildDescriptors.add
diff --git a/org.eclipse.osbp.ecview.extension.model.edit/src/org/eclipse/osbp/ecview/extension/model/provider/YTypedCompoundSuspectItemProvider.java b/org.eclipse.osbp.ecview.extension.model.edit/src/org/eclipse/osbp/ecview/extension/model/provider/YTypedCompoundSuspectItemProvider.java
index 79c8e79..42eb703 100644
--- a/org.eclipse.osbp.ecview.extension.model.edit/src/org/eclipse/osbp/ecview/extension/model/provider/YTypedCompoundSuspectItemProvider.java
+++ b/org.eclipse.osbp.ecview.extension.model.edit/src/org/eclipse/osbp/ecview/extension/model/provider/YTypedCompoundSuspectItemProvider.java
@@ -27,7 +27,6 @@
 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;
 
diff --git a/org.eclipse.osbp.ecview.extension.model.tests/src/org/eclipse/osbp/ecview/extension/model/converter/tests/YStringToByteArrayConverterTest.java b/org.eclipse.osbp.ecview.extension.model.tests/src/org/eclipse/osbp/ecview/extension/model/converter/tests/YStringToByteArrayConverterTest.java
new file mode 100644
index 0000000..8404cc5
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.model.tests/src/org/eclipse/osbp/ecview/extension/model/converter/tests/YStringToByteArrayConverterTest.java
@@ -0,0 +1,100 @@
+/**
+ * All rights reserved by Loetz GmbH und CoKG Heidelberg 2015.
+ * 
+ * Contributors:
+ *       Florian Pirchner - initial API and implementation
+ */
+package org.eclipse.osbp.ecview.extension.model.converter.tests;
+
+import junit.framework.TestCase;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.extension.model.converter.YConverterFactory;
+import org.eclipse.osbp.ecview.extension.model.converter.YStringToByteArrayConverter;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YString To Byte Array Converter</b></em>'.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class YStringToByteArrayConverterTest extends TestCase {
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final String copyright = "All rights reserved by Loetz GmbH und CoKG Heidelberg 2015.\n\nContributors:\n      Florian Pirchner - initial API and implementation";
+
+	/**
+	 * The fixture for this YString To Byte Array Converter test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YStringToByteArrayConverter fixture = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YStringToByteArrayConverterTest.class);
+	}
+
+	/**
+	 * Constructs a new YString To Byte Array Converter test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YStringToByteArrayConverterTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this YString To Byte Array Converter test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(YStringToByteArrayConverter fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this YString To Byte Array Converter test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YStringToByteArrayConverter getFixture() {
+		return fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(YConverterFactory.eINSTANCE.createYStringToByteArrayConverter());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#tearDown()
+	 * @generated
+	 */
+	@Override
+	protected void tearDown() throws Exception {
+		setFixture(null);
+	}
+
+} //YStringToByteArrayConverterTest
diff --git a/org.eclipse.osbp.ecview.extension.model.tests/src/org/eclipse/osbp/ecview/extension/model/converter/tests/YVaaclipseUiThemeToStringConverterTest.java b/org.eclipse.osbp.ecview.extension.model.tests/src/org/eclipse/osbp/ecview/extension/model/converter/tests/YVaaclipseUiThemeToStringConverterTest.java
new file mode 100644
index 0000000..577f5ee
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.model.tests/src/org/eclipse/osbp/ecview/extension/model/converter/tests/YVaaclipseUiThemeToStringConverterTest.java
@@ -0,0 +1,100 @@
+/**
+ * All rights reserved by Loetz GmbH und CoKG Heidelberg 2015.
+ * 
+ * Contributors:
+ *       Florian Pirchner - initial API and implementation
+ */
+package org.eclipse.osbp.ecview.extension.model.converter.tests;
+
+import junit.framework.TestCase;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.extension.model.converter.YConverterFactory;
+import org.eclipse.osbp.ecview.extension.model.converter.YVaaclipseUiThemeToStringConverter;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YVaaclipse Ui Theme To String Converter</b></em>'.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class YVaaclipseUiThemeToStringConverterTest extends TestCase {
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final String copyright = "All rights reserved by Loetz GmbH und CoKG Heidelberg 2015.\n\nContributors:\n      Florian Pirchner - initial API and implementation";
+
+	/**
+	 * The fixture for this YVaaclipse Ui Theme To String Converter test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YVaaclipseUiThemeToStringConverter fixture = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YVaaclipseUiThemeToStringConverterTest.class);
+	}
+
+	/**
+	 * Constructs a new YVaaclipse Ui Theme To String Converter test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YVaaclipseUiThemeToStringConverterTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this YVaaclipse Ui Theme To String Converter test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(YVaaclipseUiThemeToStringConverter fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this YVaaclipse Ui Theme To String Converter test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YVaaclipseUiThemeToStringConverter getFixture() {
+		return fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(YConverterFactory.eINSTANCE.createYVaaclipseUiThemeToStringConverter());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#tearDown()
+	 * @generated
+	 */
+	@Override
+	protected void tearDown() throws Exception {
+		setFixture(null);
+	}
+
+} //YVaaclipseUiThemeToStringConverterTest
diff --git a/org.eclipse.osbp.ecview.extension.model.tests/src/org/eclipse/osbp/ecview/extension/model/tests/YECviewTests.java b/org.eclipse.osbp.ecview.extension.model.tests/src/org/eclipse/osbp/ecview/extension/model/tests/YECviewTests.java
index f787001..43b058b 100644
--- a/org.eclipse.osbp.ecview.extension.model.tests/src/org/eclipse/osbp/ecview/extension/model/tests/YECviewTests.java
+++ b/org.eclipse.osbp.ecview.extension.model.tests/src/org/eclipse/osbp/ecview/extension/model/tests/YECviewTests.java
@@ -59,6 +59,7 @@
 		suite.addTestSuite(YDelegatingFocusingStrategyTest.class);
 		suite.addTestSuite(YBlobUploadComponentTest.class);
 		suite.addTestSuite(YCustomDecimalFieldTest.class);
+		suite.addTestSuite(YI18nComboBoxTest.class);
 		suite.addTestSuite(YIconComboBoxTest.class);
 		suite.addTestSuite(YQuantityTextFieldTest.class);
 		suite.addTestSuite(YContentSensitiveLayoutTest.class);
diff --git a/org.eclipse.osbp.ecview.extension.model.tests/src/org/eclipse/osbp/ecview/extension/model/tests/YI18nComboBoxTest.java b/org.eclipse.osbp.ecview.extension.model.tests/src/org/eclipse/osbp/ecview/extension/model/tests/YI18nComboBoxTest.java
new file mode 100644
index 0000000..8e9f219
--- /dev/null
+++ b/org.eclipse.osbp.ecview.extension.model.tests/src/org/eclipse/osbp/ecview/extension/model/tests/YI18nComboBoxTest.java
@@ -0,0 +1,133 @@
+/**
+ * All rights reserved by Loetz GmbH und CoKG Heidelberg 2015.
+ * 
+ * Contributors:
+ *       Florian Pirchner - initial API and implementation
+ */
+package org.eclipse.osbp.ecview.extension.model.tests;
+
+import junit.framework.TestCase;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.extension.model.YECviewFactory;
+import org.eclipse.osbp.ecview.extension.model.YI18nComboBox;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YI1 8n Combo Box</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following operations are tested:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.ecview.core.common.model.core.YSelectionBindable#createSelectionEndpoint() <em>Create Selection Endpoint</em>}</li>
+ *   <li>{@link org.eclipse.osbp.ecview.core.common.model.core.YCollectionBindable#createCollectionEndpoint() <em>Create Collection Endpoint</em>}</li>
+ * </ul>
+ * </p>
+ * @generated
+ */
+public class YI18nComboBoxTest extends TestCase {
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final String copyright = "All rights reserved by Loetz GmbH und CoKG Heidelberg 2015.\n\nContributors:\n      Florian Pirchner - initial API and implementation";
+
+	/**
+	 * The fixture for this YI1 8n Combo Box test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YI18nComboBox fixture = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YI18nComboBoxTest.class);
+	}
+
+	/**
+	 * Constructs a new YI1 8n Combo Box test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YI18nComboBoxTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this YI1 8n Combo Box test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(YI18nComboBox fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this YI1 8n Combo Box test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YI18nComboBox getFixture() {
+		return fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(YECviewFactory.eINSTANCE.createYI18nComboBox());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#tearDown()
+	 * @generated
+	 */
+	@Override
+	protected void tearDown() throws Exception {
+		setFixture(null);
+	}
+
+	/**
+	 * Tests the '{@link org.eclipse.osbp.ecview.core.common.model.core.YSelectionBindable#createSelectionEndpoint() <em>Create Selection Endpoint</em>}' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.ecview.core.common.model.core.YSelectionBindable#createSelectionEndpoint()
+	 * @generated
+	 */
+	public void testCreateSelectionEndpoint() {
+		// TODO: implement this operation test method
+		// Ensure that you remove @generated or mark it @generated NOT
+		fail();
+	}
+
+	/**
+	 * Tests the '{@link org.eclipse.osbp.ecview.core.common.model.core.YCollectionBindable#createCollectionEndpoint() <em>Create Collection Endpoint</em>}' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.ecview.core.common.model.core.YCollectionBindable#createCollectionEndpoint()
+	 * @generated
+	 */
+	public void testCreateCollectionEndpoint() {
+		// TODO: implement this operation test method
+		// Ensure that you remove @generated or mark it @generated NOT
+		fail();
+	}
+
+} //YI18nComboBoxTest
diff --git a/org.eclipse.osbp.ecview.extension.model/model/ecview.ecore b/org.eclipse.osbp.ecview.extension.model/model/ecview.ecore
index fba4790..0da26ef 100644
--- a/org.eclipse.osbp.ecview.extension.model/model/ecview.ecore
+++ b/org.eclipse.osbp.ecview.extension.model/model/ecview.ecore
@@ -161,6 +161,11 @@
         eType="ecore:EClass ../../org.eclipse.osbp.ecview.core.common.model/model/core.ecore#//YStringToStringMap"
         containment="true"/>
     <eStructuralFeatures xsi:type="ecore:EAttribute" name="labelI18nKey" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="sourceType">
+      <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaClass">
+        <eTypeArguments/>
+      </eGenericType>
+    </eStructuralFeatures>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="YContentSensitiveLayout" eSuperTypes="../../org.eclipse.osbp.ecview.core.common.model/model/core.ecore#//YLayout ../../org.eclipse.osbp.ecview.core.common.model/model/core.ecore#//YSpacingable ../../org.eclipse.osbp.ecview.core.common.model/model/core.ecore#//YMarginable"/>
   <eClassifiers xsi:type="ecore:EClass" name="YRichTextArea" eSuperTypes="../../org.eclipse.osbp.ecview.core.extension.model/model/extension.ecore#//YInput ../../org.eclipse.osbp.ecview.core.common.model/model/core.ecore#//YValueBindable">
diff --git a/org.eclipse.osbp.ecview.extension.model/model/ecview.genmodel b/org.eclipse.osbp.ecview.extension.model/model/ecview.genmodel
index 32d71ec..05bac38 100644
--- a/org.eclipse.osbp.ecview.extension.model/model/ecview.genmodel
+++ b/org.eclipse.osbp.ecview.extension.model/model/ecview.genmodel
@@ -115,6 +115,7 @@
       <genFeatures createChild="false" ecoreFeature="ecore:EAttribute ecview.ecore#//YColumnInfo/typeQualifiedName"/>
       <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference ecview.ecore#//YColumnInfo/properties"/>
       <genFeatures createChild="false" ecoreFeature="ecore:EAttribute ecview.ecore#//YColumnInfo/labelI18nKey"/>
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute ecview.ecore#//YColumnInfo/sourceType"/>
     </genClasses>
     <genClasses ecoreClass="ecview.ecore#//YContentSensitiveLayout"/>
     <genClasses ecoreClass="ecview.ecore#//YRichTextArea">
@@ -162,6 +163,7 @@
     <nestedGenPackages prefix="YConverter" basePackage="org.eclipse.osbp.ecview.extension.model"
         disposableProviderFactory="true" ecorePackage="ecview.ecore#//converter">
       <genClasses ecoreClass="ecview.ecore#//converter/YObjectToStringConverter"/>
+      <genClasses ecoreClass="ecview.ecore#//converter/YStringToByteArrayConverter"/>
       <genClasses ecoreClass="ecview.ecore#//converter/YCustomDecimalConverter">
         <genFeatures createChild="false" ecoreFeature="ecore:EAttribute ecview.ecore#//converter/YCustomDecimalConverter/baseUnit"/>
       </genClasses>
diff --git a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/YColumnInfo.java b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/YColumnInfo.java
index 27d8370..cfac86b 100644
--- a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/YColumnInfo.java
+++ b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/YColumnInfo.java
@@ -32,6 +32,7 @@
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.YColumnInfo#getTypeQualifiedName <em>Type Qualified Name</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.YColumnInfo#getProperties <em>Properties</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.YColumnInfo#getLabelI18nKey <em>Label I1 8n Key</em>}</li>
+ *   <li>{@link org.eclipse.osbp.ecview.extension.model.YColumnInfo#getSourceType <em>Source Type</em>}</li>
  * </ul>
  *
  * @see org.eclipse.osbp.ecview.extension.model.YECviewPackage#getYColumnInfo()
@@ -168,4 +169,30 @@
 	 */
 	void setLabelI18nKey(String value);
 
+	/**
+	 * Returns the value of the '<em><b>Source Type</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Source Type</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Source Type</em>' attribute.
+	 * @see #setSourceType(Class)
+	 * @see org.eclipse.osbp.ecview.extension.model.YECviewPackage#getYColumnInfo_SourceType()
+	 * @model
+	 * @generated
+	 */
+	Class<?> getSourceType();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.ecview.extension.model.YColumnInfo#getSourceType <em>Source Type</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Source Type</em>' attribute.
+	 * @see #getSourceType()
+	 * @generated
+	 */
+	void setSourceType(Class<?> value);
+
 }
diff --git a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/YECviewPackage.java b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/YECviewPackage.java
index 03c7f04..9d10141 100644
--- a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/YECviewPackage.java
+++ b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/YECviewPackage.java
@@ -243,6 +243,15 @@
 	int YSTRATEGY_LAYOUT__LAST_CONTEXT_CLICK = CoreModelPackage.YEMBEDDABLE__LAST_CONTEXT_CLICK;
 
 	/**
+	 * The feature id for the '<em><b>Readonly</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int YSTRATEGY_LAYOUT__READONLY = CoreModelPackage.YEMBEDDABLE__READONLY;
+
+	/**
 	 * The feature id for the '<em><b>Layouting Strategy</b></em>' containment reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -1948,6 +1957,15 @@
 	int YBLOB_UPLOAD_COMPONENT__LAST_CONTEXT_CLICK = ExtensionModelPackage.YINPUT__LAST_CONTEXT_CLICK;
 
 	/**
+	 * The feature id for the '<em><b>Readonly</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int YBLOB_UPLOAD_COMPONENT__READONLY = ExtensionModelPackage.YINPUT__READONLY;
+
+	/**
 	 * The feature id for the '<em><b>Initial Editable</b></em>' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -2255,6 +2273,15 @@
 	int YCUSTOM_DECIMAL_FIELD__LAST_CONTEXT_CLICK = ExtensionModelPackage.YINPUT__LAST_CONTEXT_CLICK;
 
 	/**
+	 * The feature id for the '<em><b>Readonly</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int YCUSTOM_DECIMAL_FIELD__READONLY = ExtensionModelPackage.YINPUT__READONLY;
+
+	/**
 	 * The feature id for the '<em><b>Initial Editable</b></em>' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -2554,6 +2581,15 @@
 	int YI1_8N_COMBO_BOX__LAST_CONTEXT_CLICK = ExtensionModelPackage.YINPUT__LAST_CONTEXT_CLICK;
 
 	/**
+	 * The feature id for the '<em><b>Readonly</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int YI1_8N_COMBO_BOX__READONLY = ExtensionModelPackage.YINPUT__READONLY;
+
+	/**
 	 * The feature id for the '<em><b>Initial Editable</b></em>' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -2888,6 +2924,15 @@
 	int YICON_COMBO_BOX__LAST_CONTEXT_CLICK = ExtensionModelPackage.YINPUT__LAST_CONTEXT_CLICK;
 
 	/**
+	 * The feature id for the '<em><b>Readonly</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int YICON_COMBO_BOX__READONLY = ExtensionModelPackage.YINPUT__READONLY;
+
+	/**
 	 * The feature id for the '<em><b>Initial Editable</b></em>' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -3267,6 +3312,15 @@
 	int YQUANTITY_TEXT_FIELD__LAST_CONTEXT_CLICK = ExtensionModelPackage.YINPUT__LAST_CONTEXT_CLICK;
 
 	/**
+	 * The feature id for the '<em><b>Readonly</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int YQUANTITY_TEXT_FIELD__READONLY = ExtensionModelPackage.YINPUT__READONLY;
+
+	/**
 	 * The feature id for the '<em><b>Initial Editable</b></em>' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -3638,13 +3692,22 @@
 	int YCOLUMN_INFO__LABEL_I1_8N_KEY = 4;
 
 	/**
+	 * The feature id for the '<em><b>Source Type</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int YCOLUMN_INFO__SOURCE_TYPE = 5;
+
+	/**
 	 * The number of structural features of the '<em>YColumn Info</em>' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int YCOLUMN_INFO_FEATURE_COUNT = 5;
+	int YCOLUMN_INFO_FEATURE_COUNT = 6;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.osbp.ecview.extension.model.impl.YContentSensitiveLayoutImpl <em>YContent Sensitive Layout</em>}' class.
@@ -3810,6 +3873,15 @@
 	int YCONTENT_SENSITIVE_LAYOUT__LAST_CONTEXT_CLICK = CoreModelPackage.YLAYOUT__LAST_CONTEXT_CLICK;
 
 	/**
+	 * The feature id for the '<em><b>Readonly</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int YCONTENT_SENSITIVE_LAYOUT__READONLY = CoreModelPackage.YLAYOUT__READONLY;
+
+	/**
 	 * The feature id for the '<em><b>Initial Editable</b></em>' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -4072,6 +4144,15 @@
 	int YRICH_TEXT_AREA__LAST_CONTEXT_CLICK = ExtensionModelPackage.YINPUT__LAST_CONTEXT_CLICK;
 
 	/**
+	 * The feature id for the '<em><b>Readonly</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int YRICH_TEXT_AREA__READONLY = ExtensionModelPackage.YINPUT__READONLY;
+
+	/**
 	 * The feature id for the '<em><b>Initial Editable</b></em>' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -4389,6 +4470,15 @@
 	int YMASKED_TEXT_FIELD__LAST_CONTEXT_CLICK = ExtensionModelPackage.YINPUT__LAST_CONTEXT_CLICK;
 
 	/**
+	 * The feature id for the '<em><b>Readonly</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int YMASKED_TEXT_FIELD__READONLY = ExtensionModelPackage.YINPUT__READONLY;
+
+	/**
 	 * The feature id for the '<em><b>Initial Editable</b></em>' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -4687,6 +4777,15 @@
 	int YPREFIXED_MASKED_TEXT_FIELD__LAST_CONTEXT_CLICK = ExtensionModelPackage.YINPUT__LAST_CONTEXT_CLICK;
 
 	/**
+	 * The feature id for the '<em><b>Readonly</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int YPREFIXED_MASKED_TEXT_FIELD__READONLY = ExtensionModelPackage.YINPUT__READONLY;
+
+	/**
 	 * The feature id for the '<em><b>Initial Editable</b></em>' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -4994,6 +5093,15 @@
 	int YMASKED_NUMERIC_FIELD__LAST_CONTEXT_CLICK = ExtensionModelPackage.YINPUT__LAST_CONTEXT_CLICK;
 
 	/**
+	 * The feature id for the '<em><b>Readonly</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int YMASKED_NUMERIC_FIELD__READONLY = ExtensionModelPackage.YINPUT__READONLY;
+
+	/**
 	 * The feature id for the '<em><b>Initial Editable</b></em>' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -5292,6 +5400,15 @@
 	int YMASKED_DECIMAL_FIELD__LAST_CONTEXT_CLICK = ExtensionModelPackage.YINPUT__LAST_CONTEXT_CLICK;
 
 	/**
+	 * The feature id for the '<em><b>Readonly</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int YMASKED_DECIMAL_FIELD__READONLY = ExtensionModelPackage.YINPUT__READONLY;
+
+	/**
 	 * The feature id for the '<em><b>Initial Editable</b></em>' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -5598,6 +5715,15 @@
 	int YPAIR_COMBO_BOX__LAST_CONTEXT_CLICK = ExtensionModelPackage.YINPUT__LAST_CONTEXT_CLICK;
 
 	/**
+	 * The feature id for the '<em><b>Readonly</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int YPAIR_COMBO_BOX__READONLY = ExtensionModelPackage.YINPUT__READONLY;
+
+	/**
 	 * The feature id for the '<em><b>Initial Editable</b></em>' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -6759,6 +6885,17 @@
 	EAttribute getYColumnInfo_LabelI18nKey();
 
 	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.osbp.ecview.extension.model.YColumnInfo#getSourceType <em>Source Type</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Source Type</em>'.
+	 * @see org.eclipse.osbp.ecview.extension.model.YColumnInfo#getSourceType()
+	 * @see #getYColumnInfo()
+	 * @generated
+	 */
+	EAttribute getYColumnInfo_SourceType();
+
+	/**
 	 * Returns the meta object for class '{@link org.eclipse.osbp.ecview.extension.model.YContentSensitiveLayout <em>YContent Sensitive Layout</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -7920,6 +8057,14 @@
 		EAttribute YCOLUMN_INFO__LABEL_I1_8N_KEY = eINSTANCE.getYColumnInfo_LabelI18nKey();
 
 		/**
+		 * The meta object literal for the '<em><b>Source Type</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute YCOLUMN_INFO__SOURCE_TYPE = eINSTANCE.getYColumnInfo_SourceType();
+
+		/**
 		 * The meta object literal for the '{@link org.eclipse.osbp.ecview.extension.model.impl.YContentSensitiveLayoutImpl <em>YContent Sensitive Layout</em>}' class.
 		 * <!-- begin-user-doc -->
 		 * <!-- end-user-doc -->
diff --git a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/impl/YColumnInfoImpl.java b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/impl/YColumnInfoImpl.java
index 77fd5ae..d569bb6 100644
--- a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/impl/YColumnInfoImpl.java
+++ b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/impl/YColumnInfoImpl.java
@@ -43,6 +43,7 @@
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.impl.YColumnInfoImpl#getTypeQualifiedName <em>Type Qualified Name</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.impl.YColumnInfoImpl#getProperties <em>Properties</em>}</li>
  *   <li>{@link org.eclipse.osbp.ecview.extension.model.impl.YColumnInfoImpl#getLabelI18nKey <em>Label I1 8n Key</em>}</li>
+ *   <li>{@link org.eclipse.osbp.ecview.extension.model.impl.YColumnInfoImpl#getSourceType <em>Source Type</em>}</li>
  * </ul>
  *
  * @generated
@@ -137,6 +138,16 @@
 	protected String labelI18nKey = LABEL_I1_8N_KEY_EDEFAULT;
 
 	/**
+	 * The cached value of the '{@link #getSourceType() <em>Source Type</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getSourceType()
+	 * @generated
+	 * @ordered
+	 */
+	protected Class<?> sourceType;
+
+	/**
 	 * <!-- begin-user-doc --> <!-- end-user-doc -->.
 	 *
 	 * @generated
@@ -275,6 +286,27 @@
 	}
 
 	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Class<?> getSourceType() {
+		return sourceType;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setSourceType(Class<?> newSourceType) {
+		Class<?> oldSourceType = sourceType;
+		sourceType = newSourceType;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, YECviewPackage.YCOLUMN_INFO__SOURCE_TYPE, oldSourceType, sourceType));
+	}
+
+	/**
 	 * <!-- begin-user-doc --> <!-- end-user-doc -->.
 	 *
 	 * @param otherEnd
@@ -321,6 +353,8 @@
 				else return getProperties().map();
 			case YECviewPackage.YCOLUMN_INFO__LABEL_I1_8N_KEY:
 				return getLabelI18nKey();
+			case YECviewPackage.YCOLUMN_INFO__SOURCE_TYPE:
+				return getSourceType();
 		}
 		return super.eGet(featureID, resolve, coreType);
 	}
@@ -353,6 +387,9 @@
 			case YECviewPackage.YCOLUMN_INFO__LABEL_I1_8N_KEY:
 				setLabelI18nKey((String)newValue);
 				return;
+			case YECviewPackage.YCOLUMN_INFO__SOURCE_TYPE:
+				setSourceType((Class<?>)newValue);
+				return;
 		}
 		super.eSet(featureID, newValue);
 	}
@@ -382,6 +419,9 @@
 			case YECviewPackage.YCOLUMN_INFO__LABEL_I1_8N_KEY:
 				setLabelI18nKey(LABEL_I1_8N_KEY_EDEFAULT);
 				return;
+			case YECviewPackage.YCOLUMN_INFO__SOURCE_TYPE:
+				setSourceType((Class<?>)null);
+				return;
 		}
 		super.eUnset(featureID);
 	}
@@ -407,6 +447,8 @@
 				return properties != null && !properties.isEmpty();
 			case YECviewPackage.YCOLUMN_INFO__LABEL_I1_8N_KEY:
 				return LABEL_I1_8N_KEY_EDEFAULT == null ? labelI18nKey != null : !LABEL_I1_8N_KEY_EDEFAULT.equals(labelI18nKey);
+			case YECviewPackage.YCOLUMN_INFO__SOURCE_TYPE:
+				return sourceType != null;
 		}
 		return super.eIsSet(featureID);
 	}
@@ -430,6 +472,8 @@
 		result.append(typeQualifiedName);
 		result.append(", labelI18nKey: ");
 		result.append(labelI18nKey);
+		result.append(", sourceType: ");
+		result.append(sourceType);
 		result.append(')');
 		return result.toString();
 	}
diff --git a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/impl/YECviewPackageImpl.java b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/impl/YECviewPackageImpl.java
index 85e1d59..d82347a 100644
--- a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/impl/YECviewPackageImpl.java
+++ b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/impl/YECviewPackageImpl.java
@@ -1201,6 +1201,15 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	public EAttribute getYColumnInfo_SourceType() {
+		return (EAttribute)yColumnInfoEClass.getEStructuralFeatures().get(5);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
 	public EClass getYContentSensitiveLayout() {
 		return yContentSensitiveLayoutEClass;
 	}
@@ -1672,6 +1681,7 @@
 		createEAttribute(yColumnInfoEClass, YCOLUMN_INFO__TYPE_QUALIFIED_NAME);
 		createEReference(yColumnInfoEClass, YCOLUMN_INFO__PROPERTIES);
 		createEAttribute(yColumnInfoEClass, YCOLUMN_INFO__LABEL_I1_8N_KEY);
+		createEAttribute(yColumnInfoEClass, YCOLUMN_INFO__SOURCE_TYPE);
 
 		yContentSensitiveLayoutEClass = createEClass(YCONTENT_SENSITIVE_LAYOUT);
 
@@ -1931,6 +1941,10 @@
 		initEAttribute(getYColumnInfo_TypeQualifiedName(), ecorePackage.getEString(), "typeQualifiedName", null, 0, 1, YColumnInfo.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 		initEReference(getYColumnInfo_Properties(), theCoreModelPackage.getYStringToStringMap(), null, "properties", null, 0, -1, YColumnInfo.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 		initEAttribute(getYColumnInfo_LabelI18nKey(), ecorePackage.getEString(), "labelI18nKey", null, 0, 1, YColumnInfo.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		g1 = createEGenericType(ecorePackage.getEJavaClass());
+		g2 = createEGenericType();
+		g1.getETypeArguments().add(g2);
+		initEAttribute(getYColumnInfo_SourceType(), g1, "sourceType", null, 0, 1, YColumnInfo.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 
 		initEClass(yContentSensitiveLayoutEClass, YContentSensitiveLayout.class, "YContentSensitiveLayout", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
 
diff --git a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/impl/YTypedCompoundSuspectImpl.java b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/impl/YTypedCompoundSuspectImpl.java
index fb3454f..70d8f9f 100644
--- a/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/impl/YTypedCompoundSuspectImpl.java
+++ b/org.eclipse.osbp.ecview.extension.model/src/org/eclipse/osbp/ecview/extension/model/impl/YTypedCompoundSuspectImpl.java
@@ -16,7 +16,6 @@
 package org.eclipse.osbp.ecview.extension.model.impl;
 
 import java.util.Collection;
-
 import org.eclipse.emf.common.notify.NotificationChain;
 import org.eclipse.emf.common.util.EList;
 import org.eclipse.emf.ecore.EClass;