add new elements
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..94132ab
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,52 @@
+*.class
+
+# Mobile Tools for Java (J2ME)
+.mtj.tmp/
+
+# Package Files #
+*.jar
+*.war
+*.ear
+
+# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
+hs_err_pid*
+bin/
+target
+/target/
+target/
+**/git.properties
+git.properties
+
+**/target/
+**/.metadata/
+
+**/emf-gen/**/.gitignore
+**/src-gen/**/.gitignore
+**/git.properties
+**/*.java._trace
+**/*.log
+**/*.log.properties
+
+**/bin/
+**/build/
+*.class
+*.ctrl
+**/Debug/
+.DS_Store
+*.ear
+*.war
+
+**/*.actionbin
+**/*.blipbin
+**/*.chartbin
+**/*.cubebin
+**/*.datatypebin
+**/*.dtobin
+**/*.entitybin
+**/*.servicebin
+**/*.tablebin
+**/*.uibin
+**/*.uisemanticbin
+**/*.xtendbin
+**/*.xtextbin
+
diff --git a/.settings/org.eclipse.core.resources.prefs b/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..99f26c0
--- /dev/null
+++ b/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
diff --git a/.settings/org.eclipse.m2e.core.prefs b/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/org.eclipse.osbp.ecview.core.common.editparts.emf/.classpath b/org.eclipse.osbp.ecview.core.common.editparts.emf/.classpath
new file mode 100644
index 0000000..46cec6e
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.editparts.emf/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="src" path="src/"/>
+	<classpathentry kind="output" path="target/classes"/>
+</classpath>
diff --git a/org.eclipse.osbp.ecview.core.common.editparts.emf/.settings/org.eclipse.core.resources.prefs b/org.eclipse.osbp.ecview.core.common.editparts.emf/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..99f26c0
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.editparts.emf/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
diff --git a/org.eclipse.osbp.ecview.core.common.editparts.emf/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.osbp.ecview.core.common.editparts.emf/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..f42de36
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.editparts.emf/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,7 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
+org.eclipse.jdt.core.compiler.compliance=1.7
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.7
diff --git a/org.eclipse.osbp.ecview.core.common.editparts.emf/.settings/org.eclipse.m2e.core.prefs b/org.eclipse.osbp.ecview.core.common.editparts.emf/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.editparts.emf/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/org.eclipse.osbp.ecview.core.common.editparts.emf/.settings/org.eclipse.xtend.core.Xtend.prefs b/org.eclipse.osbp.ecview.core.common.editparts.emf/.settings/org.eclipse.xtend.core.Xtend.prefs
new file mode 100644
index 0000000..19e3115
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.editparts.emf/.settings/org.eclipse.xtend.core.Xtend.prefs
@@ -0,0 +1,11 @@
+//outlet.DEFAULT_OUTPUT.sourceFolder.src/test/java.directory=src/test/generated-sources/xtend
+BuilderConfiguration.is_project_specific=true
+eclipse.preferences.version=1
+is_project_specific=true
+outlet.DEFAULT_OUTPUT.hideLocalSyntheticVariables=true
+outlet.DEFAULT_OUTPUT.installDslAsPrimarySource=false
+outlet.DEFAULT_OUTPUT.sourceFolder.emf-gen.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.sourceFolder.src-gen.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.sourceFolder.src.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.sourceFolder.xtend-gen.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.userOutputPerSourceFolder=true
diff --git a/org.eclipse.osbp.ecview.core.common.editparts.emf/src/org/eclipse/osbp/ecview/core/common/editpart/emf/validation/UniqueAttributeValidatorEditpart.java b/org.eclipse.osbp.ecview.core.common.editparts.emf/src/org/eclipse/osbp/ecview/core/common/editpart/emf/validation/UniqueAttributeValidatorEditpart.java
new file mode 100644
index 0000000..a2268f9
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.editparts.emf/src/org/eclipse/osbp/ecview/core/common/editpart/emf/validation/UniqueAttributeValidatorEditpart.java
@@ -0,0 +1,154 @@
+/**
+ * Copyright (c) 2011, 2015 - Lunifera GmbH (Gross Enzersdorf, Austria), Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *         Florian Pirchner - Initial implementation
+ */
+package org.eclipse.osbp.ecview.core.common.editpart.emf.validation;
+
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.Map;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.osbp.ecview.core.common.context.IViewContext;
+import org.eclipse.osbp.ecview.core.common.editpart.binding.IBindableValueEndpointEditpart;
+import org.eclipse.osbp.ecview.core.common.editpart.emf.ElementEditpart;
+import org.eclipse.osbp.ecview.core.common.editpart.emf.validation.validator.UniqueAttributeValidator;
+import org.eclipse.osbp.ecview.core.common.editpart.validation.IUniqueAttributeValidatorEditpart;
+import org.eclipse.osbp.ecview.core.common.model.core.YField;
+import org.eclipse.osbp.ecview.core.common.model.validation.ValidationPackage;
+import org.eclipse.osbp.ecview.core.common.model.validation.YUniqueAttributeValidator;
+import org.eclipse.osbp.ecview.core.common.model.validation.YUniqueAttributeValidatorConfig;
+import org.eclipse.osbp.ecview.core.common.validation.IValidationConfig;
+import org.eclipse.osbp.ecview.core.common.validation.IValidator;
+import org.eclipse.osbp.runtime.common.annotations.DtoUtils;
+import org.eclipse.osbp.runtime.common.filter.IDTOService;
+import org.eclipse.osbp.runtime.common.filter.ILFilterService;
+import org.eclipse.osbp.runtime.common.i18n.II18nService;
+import org.eclipse.osbp.runtime.common.types.ITypeProviderService;
+import org.osgi.framework.Bundle;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.FrameworkUtil;
+import org.osgi.framework.InvalidSyntaxException;
+import org.osgi.framework.ServiceReference;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * The Class RegexpValidatorEditpart.
+ */
+public class UniqueAttributeValidatorEditpart extends ValidatorEditpart<YUniqueAttributeValidator>
+		implements IUniqueAttributeValidatorEditpart {
+
+	private static final Logger LOGGER = LoggerFactory.getLogger(UniqueAttributeValidatorEditpart.class);
+
+	/** The bridge observer. */
+	private ValidationConfigToValidatorBridge bridgeObserver;
+
+	private IBindableValueEndpointEditpart boundBeanEP;
+
+	public UniqueAttributeValidatorEditpart() {
+		super(ValidationPackage.Literals.YUNIQUE_ATTRIBUTE_VALIDATOR_CONFIG__VAL_TYPE,
+				ValidationPackage.Literals.YUNIQUE_ATTRIBUTE_VALIDATOR_CONFIG__VAL_TYPE_FULLY_QUALIFIED_NAME,
+				ValidationPackage.Literals.YUNIQUE_ATTRIBUTE_VALIDATOR_CONFIG__PROPERTY_PATH);
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see org.eclipse.osbp.ecview.core.common.editpart.emf.validation.
+	 * ValidatorEditpart#createValidator()
+	 */
+	@Override
+	protected IValidator createValidator() {
+		YUniqueAttributeValidator yModel = getModel();
+
+		Class<?> beanClass = yModel.getValType();
+		if (beanClass == null) {
+			ITypeProviderService service = getViewContext(getModel()).getService(ITypeProviderService.class.getName());
+			beanClass = service.forName(null, getModel().getValTypeFullyQualifiedName());
+		}
+
+		ILFilterService filterService = getViewContext(getModel()).getService(ILFilterService.class.getName());
+
+		// this ep gains access to the bound row
+		boundBeanEP = ElementEditpart.getEditpart(viewContext, yModel.getContainerValueBindingEndpoint());
+
+		YField yField = (YField) yModel.eContainer();
+		UniqueAttributeValidator validator = new UniqueAttributeValidator(beanClass, yModel.getPropertyPath(), boundBeanEP,
+				DtoUtils.getIdField(beanClass).getName(), getDtoService(beanClass.getCanonicalName()), filterService,
+				yField.getId(), yField.getLabelI18nKey());
+		IViewContext context = getViewContext(getModel());
+		validator.setI18nService((II18nService) context.getService(II18nService.class.getName()));
+		validator.setLocale(context.getLocale());
+		return validator;
+	}
+
+	@SuppressWarnings({ "unchecked", "rawtypes" })
+	public <D> IDTOService<D> getDtoService(String dtoName) {
+		Bundle bundle = FrameworkUtil.getBundle(getClass());
+
+		String filterString = String.format("(&(objectClass=%s)(dto=%s))", IDTOService.class.getCanonicalName(),
+				dtoName);
+		try {
+			BundleContext context = bundle.getBundleContext();
+			Collection<ServiceReference<IDTOService>> references = context.getServiceReferences(IDTOService.class,
+					filterString);
+			if (!references.isEmpty()) {
+				ServiceReference<IDTOService> reference = references.iterator().next();
+				return context.getService(reference);
+			}
+		} catch (InvalidSyntaxException e) {
+			LOGGER.error("{}", e);
+		}
+
+		LOGGER.error("No dtoService available for dto: {}", dtoName);
+
+		return null;
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see org.eclipse.osbp.ecview.core.common.editpart.validation.
+	 * IValidatorEditpart#setConfig(org.eclipse.osbp.ecview.core.common.
+	 * validation.IValidationConfig)
+	 */
+	@Override
+	public void setConfig(IValidationConfig config) {
+		YUniqueAttributeValidatorConfig validatable = (YUniqueAttributeValidatorConfig) config.getValidationSettings();
+		// create an observer that transfers the changes at the validatable to
+		// the validator
+		Map<EStructuralFeature, EStructuralFeature> mapping = new HashMap<>();
+		mapping.put(ValidationPackage.Literals.YUNIQUE_ATTRIBUTE_VALIDATOR_CONFIG__VAL_TYPE,
+				ValidationPackage.Literals.YUNIQUE_ATTRIBUTE_VALIDATOR_CONFIG__VAL_TYPE);
+		mapping.put(ValidationPackage.Literals.YUNIQUE_ATTRIBUTE_VALIDATOR_CONFIG__VAL_TYPE_FULLY_QUALIFIED_NAME,
+				ValidationPackage.Literals.YUNIQUE_ATTRIBUTE_VALIDATOR_CONFIG__VAL_TYPE_FULLY_QUALIFIED_NAME);
+		mapping.put(ValidationPackage.Literals.YUNIQUE_ATTRIBUTE_VALIDATOR_CONFIG__PROPERTY_PATH,
+				ValidationPackage.Literals.YUNIQUE_ATTRIBUTE_VALIDATOR_CONFIG__PROPERTY_PATH);
+
+		bridgeObserver = new ValidationConfigToValidatorBridge(validatable, getModel(), mapping);
+	}
+
+	@Override
+	protected void internalDispose() {
+		try {
+			if (bridgeObserver != null) {
+				bridgeObserver.dispose();
+				bridgeObserver = null;
+			}
+			if(boundBeanEP != null) {
+				boundBeanEP.dispose();
+				boundBeanEP = null;
+			}
+		} finally {
+			super.internalDispose();
+		}
+	}
+
+}
diff --git a/org.eclipse.osbp.ecview.core.common.editparts.emf/src/org/eclipse/osbp/ecview/core/common/editpart/emf/validation/validator/UniqueAttributeValidator.java b/org.eclipse.osbp.ecview.core.common.editparts.emf/src/org/eclipse/osbp/ecview/core/common/editpart/emf/validation/validator/UniqueAttributeValidator.java
new file mode 100644
index 0000000..5376268
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.editparts.emf/src/org/eclipse/osbp/ecview/core/common/editpart/emf/validation/validator/UniqueAttributeValidator.java
@@ -0,0 +1,231 @@
+/*
+ * Copyright 2000-2014 Vaadin Ltd.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not
+ * use this file except in compliance with the License. You may obtain a copy of
+ * the License at
+ * 
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ * 
+ * Contribution:
+ * Florian Pirchner - OSGi support
+ */
+package org.eclipse.osbp.ecview.core.common.editpart.emf.validation.validator;
+
+import java.beans.PropertyDescriptor;
+import java.io.PrintWriter;
+import java.io.StringWriter;
+import java.util.Collections;
+import java.util.Locale;
+import java.util.Set;
+
+import org.apache.commons.beanutils.PropertyUtils;
+import org.eclipse.osbp.ecview.core.common.editpart.binding.IBindableValueEndpointEditpart;
+import org.eclipse.osbp.ecview.core.common.validation.IValidator;
+import org.eclipse.osbp.runtime.common.annotations.DtoUtils;
+import org.eclipse.osbp.runtime.common.dispose.AbstractDisposable;
+import org.eclipse.osbp.runtime.common.filter.IDTOService;
+import org.eclipse.osbp.runtime.common.filter.ILFilter;
+import org.eclipse.osbp.runtime.common.filter.ILFilterService;
+import org.eclipse.osbp.runtime.common.i18n.II18nService;
+import org.eclipse.osbp.runtime.common.validation.IStatus;
+import org.eclipse.osbp.runtime.common.validation.Status;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class UniqueAttributeValidator extends AbstractDisposable implements IValidator {
+
+	/** The Constant LOGGER. */
+	private static final Logger LOGGER = LoggerFactory.getLogger(UniqueAttributeValidator.class);
+
+	/** The bean class. */
+	private final Class<?> dtoClass;
+
+	/** The property name. */
+	private final String propertyName;
+
+	private final String idPropertyName;
+
+	/** The property class. */
+	private final Class<?> propertyClass;
+
+	/** The locale. */
+	private Locale locale;
+
+	/** The i18n service. */
+	@SuppressWarnings("unused")
+	private II18nService i18nService;
+
+	private final IDTOService<?> dtoService;
+
+	/** The field id. */
+	private final String fieldId;
+
+	/** The field i18n key. */
+	private final String fieldI18nKey;
+
+	private final ILFilterService filterService;
+
+	private final IBindableValueEndpointEditpart boundBeanEP;
+
+	private IStatus currentStatus;
+
+	public UniqueAttributeValidator(Class<?> dtoClass, String propertyName, IBindableValueEndpointEditpart boundBeanEP,		// NOSONAR
+			String idPropertyName, IDTOService<?> dtoService, ILFilterService filterService, String fieldId,
+			String fieldI18nKey) {
+		this.dtoClass = dtoClass;
+		this.dtoService = dtoService;
+		this.filterService = filterService;
+		this.propertyClass = getPropertyType(dtoClass, propertyName);
+		this.propertyName = propertyName;
+		this.boundBeanEP = boundBeanEP;
+		this.idPropertyName = idPropertyName;
+		this.locale = Locale.getDefault();
+		this.fieldId = fieldId;
+		this.fieldI18nKey = fieldI18nKey;
+	}
+
+	/**
+	 * Gets the property type.
+	 *
+	 * @param beanClass
+	 *            the bean class
+	 * @param propertyName
+	 *            the property name
+	 * @return the property type
+	 */
+	protected Class<?> getPropertyType(Class<?> beanClass, String propertyName) {
+		for (PropertyDescriptor desc : PropertyUtils.getPropertyDescriptors(beanClass)) {
+			if (desc.getName().equals(propertyName)) {
+				return desc.getPropertyType();
+			}
+		}
+		throw new IllegalStateException("Property " + propertyName + " not available in class " + beanClass.getName());
+	}
+
+	@Override
+	public Class<?> getType() {
+		return propertyClass;
+	}
+
+	@Override
+	public boolean isCheckValidType() {
+		return false;
+	}
+
+	@Override
+	public IStatus validateValue(Object value) {
+
+		Object bean = boundBeanEP.getObservable().getValue();
+		if (value == null || bean == null) {
+			return IStatus.OK;
+
+		}
+		
+		try {
+			if(!DtoUtils.isDirty(bean)) {
+				return IStatus.OK;
+			}
+		} catch (IllegalAccessException e1) {
+			// nothing to do
+		}
+
+		Object rowId = DtoUtils.getIdValue(bean);
+		if(rowId == null) {
+			// bean has no id
+			return IStatus.OK;
+		}
+		
+		currentStatus = null;
+
+		try {
+			ILFilter filter = filterService.createUniqueEntryFilter(value, propertyName, rowId, idPropertyName);
+			if (dtoService.contains(filterService.createQuery(filter))) {
+				currentStatus = Status.createStatus("UniqueAttributeValidator", UniqueAttributeValidator.class,
+						IStatus.Severity.ERROR, getMessage());
+				currentStatus.putProperty(IStatus.PROP_FIELD_ID, fieldId);
+				currentStatus.putProperty(IStatus.PROP_FIELD_I18N_KEY, fieldI18nKey);
+			} else {
+				return IStatus.OK;
+			}
+		} catch (Exception e) {
+			StringWriter sw = new StringWriter();
+			e.printStackTrace(new PrintWriter(sw));
+			LOGGER.error("{}", sw.toString());
+		}
+		return currentStatus != null ? currentStatus : IStatus.OK;
+	}
+
+	protected String getMessage() {
+		return i18nService.getValue("unique_attribute_validator_error", locale);
+	}
+
+	@Override
+	public Set<IStatus> getCurrentStatus() {
+		return currentStatus != null ? Collections.singleton(currentStatus) : Collections.<IStatus>emptySet();
+	}
+
+	/**
+	 * Sets the locale used for validation error messages.
+	 * 
+	 * Revalidation is not automatically triggered by setting the locale.
+	 *
+	 * @param locale
+	 *            the new locale
+	 */
+	public void setLocale(Locale locale) {
+		this.locale = locale;
+	}
+
+	/**
+	 * Gets the locale used for validation error messages.
+	 * 
+	 * @return locale used for validation
+	 */
+	public Locale getLocale() {
+		return locale;
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see
+	 * org.eclipse.osbp.ecview.core.common.validation.IValidator#updateParameter
+	 * (java.lang.Object)
+	 */
+	@Override
+	public void updateParameter(Object model) {
+		// not supported yet
+		LOGGER.error("Update parameter for BeanValidationValidator not allowed yet!");
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see org.eclipse.osbp.ecview.core.common.validation.
+	 * AbstractCollectingValidator#internalDispose()
+	 */
+	@Override
+	protected void internalDispose() {
+		// nothing to dispose
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see
+	 * org.eclipse.osbp.ecview.core.common.validation.IValidator#setI18nService(
+	 * org.eclipse.osbp.runtime.common.i18n.II18nService)
+	 */
+	@Override
+	public void setI18nService(II18nService i18nService) {
+		this.i18nService = i18nService;
+	}
+
+}
diff --git a/org.eclipse.osbp.ecview.core.common.model.edit/.classpath b/org.eclipse.osbp.ecview.core.common.model.edit/.classpath
new file mode 100644
index 0000000..121e527
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.model.edit/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/org.eclipse.osbp.ecview.core.common.model.edit/.settings/org.eclipse.core.resources.prefs b/org.eclipse.osbp.ecview.core.common.model.edit/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..99f26c0
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.model.edit/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
diff --git a/org.eclipse.osbp.ecview.core.common.model.edit/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.osbp.ecview.core.common.model.edit/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..c537b63
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.model.edit/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,7 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.6
diff --git a/org.eclipse.osbp.ecview.core.common.model.edit/.settings/org.eclipse.m2e.core.prefs b/org.eclipse.osbp.ecview.core.common.model.edit/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.model.edit/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/org.eclipse.osbp.ecview.core.common.model.edit/.settings/org.eclipse.xtend.core.Xtend.prefs b/org.eclipse.osbp.ecview.core.common.model.edit/.settings/org.eclipse.xtend.core.Xtend.prefs
new file mode 100644
index 0000000..19e3115
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.model.edit/.settings/org.eclipse.xtend.core.Xtend.prefs
@@ -0,0 +1,11 @@
+//outlet.DEFAULT_OUTPUT.sourceFolder.src/test/java.directory=src/test/generated-sources/xtend
+BuilderConfiguration.is_project_specific=true
+eclipse.preferences.version=1
+is_project_specific=true
+outlet.DEFAULT_OUTPUT.hideLocalSyntheticVariables=true
+outlet.DEFAULT_OUTPUT.installDslAsPrimarySource=false
+outlet.DEFAULT_OUTPUT.sourceFolder.emf-gen.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.sourceFolder.src-gen.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.sourceFolder.src.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.sourceFolder.xtend-gen.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.userOutputPerSourceFolder=true
diff --git a/org.eclipse.osbp.ecview.core.common.model.edit/icons/full/ctool16/CreateYField_internalValidators_YUniqueAttributeValidator.gif b/org.eclipse.osbp.ecview.core.common.model.edit/icons/full/ctool16/CreateYField_internalValidators_YUniqueAttributeValidator.gif
new file mode 100644
index 0000000..b822374
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.model.edit/icons/full/ctool16/CreateYField_internalValidators_YUniqueAttributeValidator.gif
Binary files differ
diff --git a/org.eclipse.osbp.ecview.core.common.model.edit/icons/full/ctool16/CreateYField_validators_YUniqueAttributeValidator.gif b/org.eclipse.osbp.ecview.core.common.model.edit/icons/full/ctool16/CreateYField_validators_YUniqueAttributeValidator.gif
new file mode 100644
index 0000000..b822374
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.model.edit/icons/full/ctool16/CreateYField_validators_YUniqueAttributeValidator.gif
Binary files differ
diff --git a/org.eclipse.osbp.ecview.core.common.model.edit/icons/full/obj16/YContextClickEvent.gif b/org.eclipse.osbp.ecview.core.common.model.edit/icons/full/obj16/YContextClickEvent.gif
new file mode 100644
index 0000000..5a9bc75
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.model.edit/icons/full/obj16/YContextClickEvent.gif
Binary files differ
diff --git a/org.eclipse.osbp.ecview.core.common.model.edit/icons/full/obj16/YEmbeddableEvent.gif b/org.eclipse.osbp.ecview.core.common.model.edit/icons/full/obj16/YEmbeddableEvent.gif
new file mode 100644
index 0000000..338fb8d
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.model.edit/icons/full/obj16/YEmbeddableEvent.gif
Binary files differ
diff --git a/org.eclipse.osbp.ecview.core.common.model.edit/icons/full/obj16/YUniqueAttributeValidator.gif b/org.eclipse.osbp.ecview.core.common.model.edit/icons/full/obj16/YUniqueAttributeValidator.gif
new file mode 100644
index 0000000..c00aedf
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.model.edit/icons/full/obj16/YUniqueAttributeValidator.gif
Binary files differ
diff --git a/org.eclipse.osbp.ecview.core.common.model.edit/src/org/eclipse/osbp/ecview/core/common/model/core/provider/YContextClickEventItemProvider.java b/org.eclipse.osbp.ecview.core.common.model.edit/src/org/eclipse/osbp/ecview/core/common/model/core/provider/YContextClickEventItemProvider.java
new file mode 100644
index 0000000..05cc5cc
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.model.edit/src/org/eclipse/osbp/ecview/core/common/model/core/provider/YContextClickEventItemProvider.java
@@ -0,0 +1,101 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.common.model.core.provider;
+
+
+import java.util.Collection;
+import java.util.Date;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+
+import org.eclipse.osbp.ecview.core.common.model.core.YContextClickEvent;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.osbp.ecview.core.common.model.core.YContextClickEvent} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class YContextClickEventItemProvider extends YEmbeddableEventItemProvider {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YContextClickEventItemProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+	}
+
+	/**
+	 * This returns the property descriptors for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
+
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This returns YContextClickEvent.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/YContextClickEvent"));
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		Date labelValue = ((YContextClickEvent)object).getTime();
+		String label = labelValue == null ? null : labelValue.toString();
+		return label == null || label.length() == 0 ?
+			getString("_UI_YContextClickEvent_type") :
+			getString("_UI_YContextClickEvent_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);
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+	}
+
+}
diff --git a/org.eclipse.osbp.ecview.core.common.model.edit/src/org/eclipse/osbp/ecview/core/common/model/core/provider/YEmbeddableEventItemProvider.java b/org.eclipse.osbp.ecview.core.common.model.edit/src/org/eclipse/osbp/ecview/core/common/model/core/provider/YEmbeddableEventItemProvider.java
new file mode 100644
index 0000000..fc03a21
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.model.edit/src/org/eclipse/osbp/ecview/core/common/model/core/provider/YEmbeddableEventItemProvider.java
@@ -0,0 +1,208 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.common.model.core.provider;
+
+
+import java.util.Collection;
+import java.util.Date;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IChildCreationExtender;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.osbp.ecview.core.common.model.core.CoreModelPackage;
+import org.eclipse.osbp.ecview.core.common.model.core.YEmbeddableEvent;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.osbp.ecview.core.common.model.core.YEmbeddableEvent} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class YEmbeddableEventItemProvider 
+	extends ItemProviderAdapter
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YEmbeddableEventItemProvider(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);
+
+			addTimePropertyDescriptor(object);
+			addEmbeddablePropertyDescriptor(object);
+			addRawEventPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Time feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addTimePropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_YEmbeddableEvent_time_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_YEmbeddableEvent_time_feature", "_UI_YEmbeddableEvent_type"),
+				 CoreModelPackage.Literals.YEMBEDDABLE_EVENT__TIME,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Embeddable feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addEmbeddablePropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_YEmbeddableEvent_embeddable_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_YEmbeddableEvent_embeddable_feature", "_UI_YEmbeddableEvent_type"),
+				 CoreModelPackage.Literals.YEMBEDDABLE_EVENT__EMBEDDABLE,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Raw Event feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addRawEventPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_YEmbeddableEvent_rawEvent_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_YEmbeddableEvent_rawEvent_feature", "_UI_YEmbeddableEvent_type"),
+				 CoreModelPackage.Literals.YEMBEDDABLE_EVENT__RAW_EVENT,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This returns YEmbeddableEvent.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/YEmbeddableEvent"));
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		Date labelValue = ((YEmbeddableEvent)object).getTime();
+		String label = labelValue == null ? null : labelValue.toString();
+		return label == null || label.length() == 0 ?
+			getString("_UI_YEmbeddableEvent_type") :
+			getString("_UI_YEmbeddableEvent_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(YEmbeddableEvent.class)) {
+			case CoreModelPackage.YEMBEDDABLE_EVENT__TIME:
+			case CoreModelPackage.YEMBEDDABLE_EVENT__RAW_EVENT:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+				return;
+		}
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+	}
+
+	/**
+	 * Return the resource locator for this item provider's resources.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public ResourceLocator getResourceLocator() {
+		return ((IChildCreationExtender)adapterFactory).getResourceLocator();
+	}
+
+}
diff --git a/org.eclipse.osbp.ecview.core.common.model.edit/src/org/eclipse/osbp/ecview/core/common/model/validation/provider/YUniqueAttributeValidatorItemProvider.java b/org.eclipse.osbp.ecview.core.common.model.edit/src/org/eclipse/osbp/ecview/core/common/model/validation/provider/YUniqueAttributeValidatorItemProvider.java
new file mode 100644
index 0000000..7bed8e7
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.model.edit/src/org/eclipse/osbp/ecview/core/common/model/validation/provider/YUniqueAttributeValidatorItemProvider.java
@@ -0,0 +1,317 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.common.model.validation.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.core.common.model.binding.BindingFactory;
+
+import org.eclipse.osbp.ecview.core.common.model.core.CoreModelFactory;
+
+import org.eclipse.osbp.ecview.core.common.model.validation.ValidationPackage;
+import org.eclipse.osbp.ecview.core.common.model.validation.YUniqueAttributeValidator;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.osbp.ecview.core.common.model.validation.YUniqueAttributeValidator} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class YUniqueAttributeValidatorItemProvider extends YValidatorItemProvider {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YUniqueAttributeValidatorItemProvider(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);
+
+			addErrorCodePropertyDescriptor(object);
+			addDefaultErrorMessagePropertyDescriptor(object);
+			addValTypePropertyDescriptor(object);
+			addValTypeFullyQualifiedNamePropertyDescriptor(object);
+			addPropertyPathPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Error Code feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addErrorCodePropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_YValidationConfig_errorCode_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_YValidationConfig_errorCode_feature", "_UI_YValidationConfig_type"),
+				 ValidationPackage.Literals.YVALIDATION_CONFIG__ERROR_CODE,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Default Error Message feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addDefaultErrorMessagePropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_YValidationConfig_defaultErrorMessage_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_YValidationConfig_defaultErrorMessage_feature", "_UI_YValidationConfig_type"),
+				 ValidationPackage.Literals.YVALIDATION_CONFIG__DEFAULT_ERROR_MESSAGE,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Val Type feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addValTypePropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_YUniqueAttributeValidatorConfig_valType_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_YUniqueAttributeValidatorConfig_valType_feature", "_UI_YUniqueAttributeValidatorConfig_type"),
+				 ValidationPackage.Literals.YUNIQUE_ATTRIBUTE_VALIDATOR_CONFIG__VAL_TYPE,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Val Type Fully Qualified Name feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addValTypeFullyQualifiedNamePropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_YUniqueAttributeValidatorConfig_valTypeFullyQualifiedName_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_YUniqueAttributeValidatorConfig_valTypeFullyQualifiedName_feature", "_UI_YUniqueAttributeValidatorConfig_type"),
+				 ValidationPackage.Literals.YUNIQUE_ATTRIBUTE_VALIDATOR_CONFIG__VAL_TYPE_FULLY_QUALIFIED_NAME,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Property Path feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addPropertyPathPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_YUniqueAttributeValidatorConfig_propertyPath_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_YUniqueAttributeValidatorConfig_propertyPath_feature", "_UI_YUniqueAttributeValidatorConfig_type"),
+				 ValidationPackage.Literals.YUNIQUE_ATTRIBUTE_VALIDATOR_CONFIG__PROPERTY_PATH,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+	 * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+	 * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Collection<? extends EStructuralFeature> getChildrenFeatures(Object object) {
+		if (childrenFeatures == null) {
+			super.getChildrenFeatures(object);
+			childrenFeatures.add(ValidationPackage.Literals.YUNIQUE_ATTRIBUTE_VALIDATOR_CONFIG__CONTAINER_VALUE_BINDING_ENDPOINT);
+		}
+		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 YUniqueAttributeValidator.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/YUniqueAttributeValidator"));
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		String label = ((YUniqueAttributeValidator)object).getName();
+		return label == null || label.length() == 0 ?
+			getString("_UI_YUniqueAttributeValidator_type") :
+			getString("_UI_YUniqueAttributeValidator_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(YUniqueAttributeValidator.class)) {
+			case ValidationPackage.YUNIQUE_ATTRIBUTE_VALIDATOR__ERROR_CODE:
+			case ValidationPackage.YUNIQUE_ATTRIBUTE_VALIDATOR__DEFAULT_ERROR_MESSAGE:
+			case ValidationPackage.YUNIQUE_ATTRIBUTE_VALIDATOR__VAL_TYPE:
+			case ValidationPackage.YUNIQUE_ATTRIBUTE_VALIDATOR__VAL_TYPE_FULLY_QUALIFIED_NAME:
+			case ValidationPackage.YUNIQUE_ATTRIBUTE_VALIDATOR__PROPERTY_PATH:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+				return;
+			case ValidationPackage.YUNIQUE_ATTRIBUTE_VALIDATOR__CONTAINER_VALUE_BINDING_ENDPOINT:
+				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
+				(ValidationPackage.Literals.YUNIQUE_ATTRIBUTE_VALIDATOR_CONFIG__CONTAINER_VALUE_BINDING_ENDPOINT,
+				 BindingFactory.eINSTANCE.createYBeanValueBindingEndpoint()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(ValidationPackage.Literals.YUNIQUE_ATTRIBUTE_VALIDATOR_CONFIG__CONTAINER_VALUE_BINDING_ENDPOINT,
+				 BindingFactory.eINSTANCE.createYDetailValueBindingEndpoint()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(ValidationPackage.Literals.YUNIQUE_ATTRIBUTE_VALIDATOR_CONFIG__CONTAINER_VALUE_BINDING_ENDPOINT,
+				 BindingFactory.eINSTANCE.createYECViewModelValueBindingEndpoint()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(ValidationPackage.Literals.YUNIQUE_ATTRIBUTE_VALIDATOR_CONFIG__CONTAINER_VALUE_BINDING_ENDPOINT,
+				 BindingFactory.eINSTANCE.createYVisibilityProcessorValueBindingEndpoint()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(ValidationPackage.Literals.YUNIQUE_ATTRIBUTE_VALIDATOR_CONFIG__CONTAINER_VALUE_BINDING_ENDPOINT,
+				 BindingFactory.eINSTANCE.createYNoOpValueBindingEndpoint()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(ValidationPackage.Literals.YUNIQUE_ATTRIBUTE_VALIDATOR_CONFIG__CONTAINER_VALUE_BINDING_ENDPOINT,
+				 CoreModelFactory.eINSTANCE.createYContextValueBindingEndpoint()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(ValidationPackage.Literals.YUNIQUE_ATTRIBUTE_VALIDATOR_CONFIG__CONTAINER_VALUE_BINDING_ENDPOINT,
+				 CoreModelFactory.eINSTANCE.createYBeanSlotValueBindingEndpoint()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(ValidationPackage.Literals.YUNIQUE_ATTRIBUTE_VALIDATOR_CONFIG__CONTAINER_VALUE_BINDING_ENDPOINT,
+				 CoreModelFactory.eINSTANCE.createYEmbeddableValueEndpoint()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(ValidationPackage.Literals.YUNIQUE_ATTRIBUTE_VALIDATOR_CONFIG__CONTAINER_VALUE_BINDING_ENDPOINT,
+				 CoreModelFactory.eINSTANCE.createYEmbeddableSelectionEndpoint()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(ValidationPackage.Literals.YUNIQUE_ATTRIBUTE_VALIDATOR_CONFIG__CONTAINER_VALUE_BINDING_ENDPOINT,
+				 CoreModelFactory.eINSTANCE.createYActivatedEndpoint()));
+	}
+
+}
diff --git a/org.eclipse.osbp.ecview.core.common.model.editor/.classpath b/org.eclipse.osbp.ecview.core.common.model.editor/.classpath
new file mode 100644
index 0000000..22f3064
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.model.editor/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/org.eclipse.osbp.ecview.core.common.model.editor/icons/full/obj16/AuthorizationModelFile.gif b/org.eclipse.osbp.ecview.core.common.model.editor/icons/full/obj16/AuthorizationModelFile.gif
new file mode 100644
index 0000000..a28ab58
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.model.editor/icons/full/obj16/AuthorizationModelFile.gif
Binary files differ
diff --git a/org.eclipse.osbp.ecview.core.common.model.editor/icons/full/wizban/NewAuthorization.gif b/org.eclipse.osbp.ecview.core.common.model.editor/icons/full/wizban/NewAuthorization.gif
new file mode 100644
index 0000000..738d68d
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.model.editor/icons/full/wizban/NewAuthorization.gif
Binary files differ
diff --git a/org.eclipse.osbp.ecview.core.common.model.editor/src/org/eclipse/osbp/ecview/core/common/model/core/authorization/presentation/AuthorizationActionBarContributor.java b/org.eclipse.osbp.ecview.core.common.model.editor/src/org/eclipse/osbp/ecview/core/common/model/core/authorization/presentation/AuthorizationActionBarContributor.java
new file mode 100644
index 0000000..4b0a328
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.model.editor/src/org/eclipse/osbp/ecview/core/common/model/core/authorization/presentation/AuthorizationActionBarContributor.java
@@ -0,0 +1,425 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.common.model.core.authorization.presentation;
+
+import java.util.ArrayList;
+import java.util.Collection;
+
+import org.eclipse.emf.common.ui.viewer.IViewerProvider;
+
+import org.eclipse.emf.edit.domain.EditingDomain;
+import org.eclipse.emf.edit.domain.IEditingDomainProvider;
+
+import org.eclipse.emf.edit.ui.action.ControlAction;
+import org.eclipse.emf.edit.ui.action.CreateChildAction;
+import org.eclipse.emf.edit.ui.action.CreateSiblingAction;
+import org.eclipse.emf.edit.ui.action.EditingDomainActionBarContributor;
+import org.eclipse.emf.edit.ui.action.LoadResourceAction;
+import org.eclipse.emf.edit.ui.action.ValidateAction;
+
+import org.eclipse.jface.action.Action;
+import org.eclipse.jface.action.ActionContributionItem;
+import org.eclipse.jface.action.IAction;
+import org.eclipse.jface.action.IContributionItem;
+import org.eclipse.jface.action.IContributionManager;
+import org.eclipse.jface.action.IMenuListener;
+import org.eclipse.jface.action.IMenuManager;
+import org.eclipse.jface.action.IToolBarManager;
+import org.eclipse.jface.action.MenuManager;
+import org.eclipse.jface.action.Separator;
+import org.eclipse.jface.action.SubContributionItem;
+
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.ISelectionChangedListener;
+import org.eclipse.jface.viewers.ISelectionProvider;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.viewers.SelectionChangedEvent;
+import org.eclipse.jface.viewers.Viewer;
+
+import org.eclipse.osbp.ecview.core.common.model.binding.presentation.ECViewCoreEditorPlugin;
+
+import org.eclipse.ui.IEditorPart;
+import org.eclipse.ui.PartInitException;
+
+/**
+ * This is the action bar contributor for the Authorization model editor.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class AuthorizationActionBarContributor
+	extends EditingDomainActionBarContributor
+	implements ISelectionChangedListener {
+	/**
+	 * This keeps track of the active editor.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected IEditorPart activeEditorPart;
+
+	/**
+	 * This keeps track of the current selection provider.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ISelectionProvider selectionProvider;
+
+	/**
+	 * This action opens the Properties view.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected IAction showPropertiesViewAction =
+		new Action(ECViewCoreEditorPlugin.INSTANCE.getString("_UI_ShowPropertiesView_menu_item")) {
+			@Override
+			public void run() {
+				try {
+					getPage().showView("org.eclipse.ui.views.PropertySheet");
+				}
+				catch (PartInitException exception) {
+					ECViewCoreEditorPlugin.INSTANCE.log(exception);
+				}
+			}
+		};
+
+	/**
+	 * This action refreshes the viewer of the current editor if the editor
+	 * implements {@link org.eclipse.emf.common.ui.viewer.IViewerProvider}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected IAction refreshViewerAction =
+		new Action(ECViewCoreEditorPlugin.INSTANCE.getString("_UI_RefreshViewer_menu_item")) {
+			@Override
+			public boolean isEnabled() {
+				return activeEditorPart instanceof IViewerProvider;
+			}
+
+			@Override
+			public void run() {
+				if (activeEditorPart instanceof IViewerProvider) {
+					Viewer viewer = ((IViewerProvider)activeEditorPart).getViewer();
+					if (viewer != null) {
+						viewer.refresh();
+					}
+				}
+			}
+		};
+
+	/**
+	 * This will contain one {@link org.eclipse.emf.edit.ui.action.CreateChildAction} corresponding to each descriptor
+	 * generated for the current selection by the item provider.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected Collection<IAction> createChildActions;
+
+	/**
+	 * This is the menu manager into which menu contribution items should be added for CreateChild actions.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected IMenuManager createChildMenuManager;
+
+	/**
+	 * This will contain one {@link org.eclipse.emf.edit.ui.action.CreateSiblingAction} corresponding to each descriptor
+	 * generated for the current selection by the item provider.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected Collection<IAction> createSiblingActions;
+
+	/**
+	 * This is the menu manager into which menu contribution items should be added for CreateSibling actions.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected IMenuManager createSiblingMenuManager;
+
+	/**
+	 * This creates an instance of the contributor.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public AuthorizationActionBarContributor() {
+		super(ADDITIONS_LAST_STYLE);
+		loadResourceAction = new LoadResourceAction();
+		validateAction = new ValidateAction();
+		controlAction = new ControlAction();
+	}
+
+	/**
+	 * This adds Separators for editor additions to the tool bar.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void contributeToToolBar(IToolBarManager toolBarManager) {
+		toolBarManager.add(new Separator("authorization-settings"));
+		toolBarManager.add(new Separator("authorization-additions"));
+	}
+
+	/**
+	 * This adds to the menu bar a menu and some separators for editor additions,
+	 * as well as the sub-menus for object creation items.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void contributeToMenu(IMenuManager menuManager) {
+		super.contributeToMenu(menuManager);
+
+		IMenuManager submenuManager = new MenuManager(ECViewCoreEditorPlugin.INSTANCE.getString("_UI_AuthorizationEditor_menu"), "org.eclipse.osbp.ecview.core.common.model.core.authorizationMenuID");
+		menuManager.insertAfter("additions", submenuManager);
+		submenuManager.add(new Separator("settings"));
+		submenuManager.add(new Separator("actions"));
+		submenuManager.add(new Separator("additions"));
+		submenuManager.add(new Separator("additions-end"));
+
+		// Prepare for CreateChild item addition or removal.
+		//
+		createChildMenuManager = new MenuManager(ECViewCoreEditorPlugin.INSTANCE.getString("_UI_CreateChild_menu_item"));
+		submenuManager.insertBefore("additions", createChildMenuManager);
+
+		// Prepare for CreateSibling item addition or removal.
+		//
+		createSiblingMenuManager = new MenuManager(ECViewCoreEditorPlugin.INSTANCE.getString("_UI_CreateSibling_menu_item"));
+		submenuManager.insertBefore("additions", createSiblingMenuManager);
+
+		// Force an update because Eclipse hides empty menus now.
+		//
+		submenuManager.addMenuListener
+			(new IMenuListener() {
+				 public void menuAboutToShow(IMenuManager menuManager) {
+					 menuManager.updateAll(true);
+				 }
+			 });
+
+		addGlobalActions(submenuManager);
+	}
+
+	/**
+	 * When the active editor changes, this remembers the change and registers with it as a selection provider.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setActiveEditor(IEditorPart part) {
+		super.setActiveEditor(part);
+		activeEditorPart = part;
+
+		// Switch to the new selection provider.
+		//
+		if (selectionProvider != null) {
+			selectionProvider.removeSelectionChangedListener(this);
+		}
+		if (part == null) {
+			selectionProvider = null;
+		}
+		else {
+			selectionProvider = part.getSite().getSelectionProvider();
+			selectionProvider.addSelectionChangedListener(this);
+
+			// Fake a selection changed event to update the menus.
+			//
+			if (selectionProvider.getSelection() != null) {
+				selectionChanged(new SelectionChangedEvent(selectionProvider, selectionProvider.getSelection()));
+			}
+		}
+	}
+
+	/**
+	 * This implements {@link org.eclipse.jface.viewers.ISelectionChangedListener},
+	 * handling {@link org.eclipse.jface.viewers.SelectionChangedEvent}s by querying for the children and siblings
+	 * that can be added to the selected object and updating the menus accordingly.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void selectionChanged(SelectionChangedEvent event) {
+		// Remove any menu items for old selection.
+		//
+		if (createChildMenuManager != null) {
+			depopulateManager(createChildMenuManager, createChildActions);
+		}
+		if (createSiblingMenuManager != null) {
+			depopulateManager(createSiblingMenuManager, createSiblingActions);
+		}
+
+		// Query the new selection for appropriate new child/sibling descriptors
+		//
+		Collection<?> newChildDescriptors = null;
+		Collection<?> newSiblingDescriptors = null;
+
+		ISelection selection = event.getSelection();
+		if (selection instanceof IStructuredSelection && ((IStructuredSelection)selection).size() == 1) {
+			Object object = ((IStructuredSelection)selection).getFirstElement();
+
+			EditingDomain domain = ((IEditingDomainProvider)activeEditorPart).getEditingDomain();
+
+			newChildDescriptors = domain.getNewChildDescriptors(object, null);
+			newSiblingDescriptors = domain.getNewChildDescriptors(null, object);
+		}
+
+		// Generate actions for selection; populate and redraw the menus.
+		//
+		createChildActions = generateCreateChildActions(newChildDescriptors, selection);
+		createSiblingActions = generateCreateSiblingActions(newSiblingDescriptors, selection);
+
+		if (createChildMenuManager != null) {
+			populateManager(createChildMenuManager, createChildActions, null);
+			createChildMenuManager.update(true);
+		}
+		if (createSiblingMenuManager != null) {
+			populateManager(createSiblingMenuManager, createSiblingActions, null);
+			createSiblingMenuManager.update(true);
+		}
+	}
+
+	/**
+	 * This generates a {@link org.eclipse.emf.edit.ui.action.CreateChildAction} for each object in <code>descriptors</code>,
+	 * and returns the collection of these actions.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected Collection<IAction> generateCreateChildActions(Collection<?> descriptors, ISelection selection) {
+		Collection<IAction> actions = new ArrayList<IAction>();
+		if (descriptors != null) {
+			for (Object descriptor : descriptors) {
+				actions.add(new CreateChildAction(activeEditorPart, selection, descriptor));
+			}
+		}
+		return actions;
+	}
+
+	/**
+	 * This generates a {@link org.eclipse.emf.edit.ui.action.CreateSiblingAction} for each object in <code>descriptors</code>,
+	 * and returns the collection of these actions.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected Collection<IAction> generateCreateSiblingActions(Collection<?> descriptors, ISelection selection) {
+		Collection<IAction> actions = new ArrayList<IAction>();
+		if (descriptors != null) {
+			for (Object descriptor : descriptors) {
+				actions.add(new CreateSiblingAction(activeEditorPart, selection, descriptor));
+			}
+		}
+		return actions;
+	}
+
+	/**
+	 * This populates the specified <code>manager</code> with {@link org.eclipse.jface.action.ActionContributionItem}s
+	 * based on the {@link org.eclipse.jface.action.IAction}s contained in the <code>actions</code> collection,
+	 * by inserting them before the specified contribution item <code>contributionID</code>.
+	 * If <code>contributionID</code> is <code>null</code>, they are simply added.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void populateManager(IContributionManager manager, Collection<? extends IAction> actions, String contributionID) {
+		if (actions != null) {
+			for (IAction action : actions) {
+				if (contributionID != null) {
+					manager.insertBefore(contributionID, action);
+				}
+				else {
+					manager.add(action);
+				}
+			}
+		}
+	}
+		
+	/**
+	 * This removes from the specified <code>manager</code> all {@link org.eclipse.jface.action.ActionContributionItem}s
+	 * based on the {@link org.eclipse.jface.action.IAction}s contained in the <code>actions</code> collection.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void depopulateManager(IContributionManager manager, Collection<? extends IAction> actions) {
+		if (actions != null) {
+			IContributionItem[] items = manager.getItems();
+			for (int i = 0; i < items.length; i++) {
+				// Look into SubContributionItems
+				//
+				IContributionItem contributionItem = items[i];
+				while (contributionItem instanceof SubContributionItem) {
+					contributionItem = ((SubContributionItem)contributionItem).getInnerItem();
+				}
+
+				// Delete the ActionContributionItems with matching action.
+				//
+				if (contributionItem instanceof ActionContributionItem) {
+					IAction action = ((ActionContributionItem)contributionItem).getAction();
+					if (actions.contains(action)) {
+						manager.remove(contributionItem);
+					}
+				}
+			}
+		}
+	}
+
+	/**
+	 * This populates the pop-up menu before it appears.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void menuAboutToShow(IMenuManager menuManager) {
+		super.menuAboutToShow(menuManager);
+		MenuManager submenuManager = null;
+
+		submenuManager = new MenuManager(ECViewCoreEditorPlugin.INSTANCE.getString("_UI_CreateChild_menu_item"));
+		populateManager(submenuManager, createChildActions, null);
+		menuManager.insertBefore("edit", submenuManager);
+
+		submenuManager = new MenuManager(ECViewCoreEditorPlugin.INSTANCE.getString("_UI_CreateSibling_menu_item"));
+		populateManager(submenuManager, createSiblingActions, null);
+		menuManager.insertBefore("edit", submenuManager);
+	}
+
+	/**
+	 * This inserts global actions before the "additions-end" separator.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void addGlobalActions(IMenuManager menuManager) {
+		menuManager.insertAfter("additions-end", new Separator("ui-actions"));
+		menuManager.insertAfter("ui-actions", showPropertiesViewAction);
+
+		refreshViewerAction.setEnabled(refreshViewerAction.isEnabled());		
+		menuManager.insertAfter("ui-actions", refreshViewerAction);
+
+		super.addGlobalActions(menuManager);
+	}
+
+	/**
+	 * This ensures that a delete action will clean up all references to deleted objects.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected boolean removeAllReferencesOnDelete() {
+		return true;
+	}
+
+}
diff --git a/org.eclipse.osbp.ecview.core.common.model.editor/src/org/eclipse/osbp/ecview/core/common/model/core/authorization/presentation/AuthorizationEditor.java b/org.eclipse.osbp.ecview.core.common.model.editor/src/org/eclipse/osbp/ecview/core/common/model/core/authorization/presentation/AuthorizationEditor.java
new file mode 100644
index 0000000..6aafe6e
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.model.editor/src/org/eclipse/osbp/ecview/core/common/model/core/authorization/presentation/AuthorizationEditor.java
@@ -0,0 +1,1836 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.common.model.core.authorization.presentation;
+
+
+import java.io.IOException;
+import java.io.InputStream;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.EventObject;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IMarker;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.resources.IResourceChangeEvent;
+import org.eclipse.core.resources.IResourceChangeListener;
+import org.eclipse.core.resources.IResourceDelta;
+import org.eclipse.core.resources.IResourceDeltaVisitor;
+import org.eclipse.core.resources.ResourcesPlugin;
+
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.NullProgressMonitor;
+
+import org.eclipse.jface.action.IMenuListener;
+import org.eclipse.jface.action.IMenuManager;
+import org.eclipse.jface.action.IStatusLineManager;
+import org.eclipse.jface.action.IToolBarManager;
+import org.eclipse.jface.action.MenuManager;
+import org.eclipse.jface.action.Separator;
+
+import org.eclipse.jface.dialogs.MessageDialog;
+import org.eclipse.jface.dialogs.ProgressMonitorDialog;
+
+import org.eclipse.jface.util.LocalSelectionTransfer;
+
+import org.eclipse.jface.viewers.ColumnWeightData;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.ISelectionChangedListener;
+import org.eclipse.jface.viewers.ISelectionProvider;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.viewers.ListViewer;
+import org.eclipse.jface.viewers.SelectionChangedEvent;
+import org.eclipse.jface.viewers.StructuredSelection;
+import org.eclipse.jface.viewers.StructuredViewer;
+import org.eclipse.jface.viewers.TableLayout;
+import org.eclipse.jface.viewers.TableViewer;
+import org.eclipse.jface.viewers.TreeViewer;
+import org.eclipse.jface.viewers.Viewer;
+
+import org.eclipse.swt.SWT;
+
+import org.eclipse.swt.custom.CTabFolder;
+
+import org.eclipse.swt.dnd.DND;
+import org.eclipse.swt.dnd.FileTransfer;
+import org.eclipse.swt.dnd.Transfer;
+
+import org.eclipse.swt.events.ControlAdapter;
+import org.eclipse.swt.events.ControlEvent;
+
+import org.eclipse.swt.graphics.Point;
+
+import org.eclipse.swt.layout.FillLayout;
+
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Menu;
+import org.eclipse.swt.widgets.Table;
+import org.eclipse.swt.widgets.TableColumn;
+import org.eclipse.swt.widgets.Tree;
+import org.eclipse.swt.widgets.TreeColumn;
+
+import org.eclipse.ui.IActionBars;
+import org.eclipse.ui.IEditorInput;
+import org.eclipse.ui.IEditorPart;
+import org.eclipse.ui.IEditorSite;
+import org.eclipse.ui.IPartListener;
+import org.eclipse.ui.IWorkbenchPart;
+import org.eclipse.ui.PartInitException;
+
+import org.eclipse.ui.dialogs.SaveAsDialog;
+
+import org.eclipse.ui.ide.IGotoMarker;
+
+import org.eclipse.ui.part.FileEditorInput;
+import org.eclipse.ui.part.MultiPageEditorPart;
+
+import org.eclipse.ui.views.contentoutline.ContentOutline;
+import org.eclipse.ui.views.contentoutline.ContentOutlinePage;
+import org.eclipse.ui.views.contentoutline.IContentOutlinePage;
+
+import org.eclipse.ui.views.properties.IPropertySheetPage;
+import org.eclipse.ui.views.properties.PropertySheet;
+import org.eclipse.ui.views.properties.PropertySheetPage;
+
+import org.eclipse.emf.common.command.BasicCommandStack;
+import org.eclipse.emf.common.command.Command;
+import org.eclipse.emf.common.command.CommandStack;
+import org.eclipse.emf.common.command.CommandStackListener;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.ui.MarkerHelper;
+import org.eclipse.emf.common.ui.ViewerPane;
+
+import org.eclipse.emf.common.ui.editor.ProblemEditorPart;
+
+import org.eclipse.emf.common.ui.viewer.IViewerProvider;
+
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.URI;
+
+
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.ResourceSet;
+
+import org.eclipse.emf.ecore.util.EContentAdapter;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+
+import org.eclipse.emf.edit.domain.AdapterFactoryEditingDomain;
+import org.eclipse.emf.edit.domain.EditingDomain;
+import org.eclipse.emf.edit.domain.IEditingDomainProvider;
+
+import org.eclipse.emf.edit.provider.AdapterFactoryItemDelegator;
+import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
+import org.eclipse.emf.edit.provider.ReflectiveItemProviderAdapterFactory;
+
+import org.eclipse.emf.edit.provider.resource.ResourceItemProviderAdapterFactory;
+
+import org.eclipse.emf.edit.ui.action.EditingDomainActionBarContributor;
+
+import org.eclipse.emf.edit.ui.celleditor.AdapterFactoryTreeEditor;
+
+import org.eclipse.emf.edit.ui.dnd.EditingDomainViewerDropAdapter;
+import org.eclipse.emf.edit.ui.dnd.LocalTransfer;
+import org.eclipse.emf.edit.ui.dnd.ViewerDragAdapter;
+
+import org.eclipse.emf.edit.ui.provider.AdapterFactoryContentProvider;
+import org.eclipse.emf.edit.ui.provider.AdapterFactoryLabelProvider;
+import org.eclipse.emf.edit.ui.provider.UnwrappingSelectionProvider;
+
+import org.eclipse.emf.edit.ui.util.EditUIMarkerHelper;
+import org.eclipse.emf.edit.ui.util.EditUIUtil;
+
+import org.eclipse.emf.edit.ui.view.ExtendedPropertySheetPage;
+
+import org.eclipse.osbp.ecview.core.common.model.core.authorization.provider.AuthorizationItemProviderAdapterFactory;
+
+import org.eclipse.osbp.ecview.core.common.model.binding.presentation.ECViewCoreEditorPlugin;
+
+import org.eclipse.osbp.ecview.core.common.model.binding.provider.BindingItemProviderAdapterFactory;
+
+import org.eclipse.osbp.ecview.core.common.model.core.provider.CoreModelItemProviderAdapterFactory;
+
+import org.eclipse.osbp.ecview.core.common.model.datatypes.provider.DatatypesItemProviderAdapterFactory;
+
+import org.eclipse.osbp.ecview.core.common.model.validation.provider.ValidationItemProviderAdapterFactory;
+
+import org.eclipse.osbp.ecview.core.common.model.visibility.provider.VisibilityItemProviderAdapterFactory;
+
+import org.eclipse.ui.actions.WorkspaceModifyOperation;
+
+
+/**
+ * This is an example of a Authorization model editor.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class AuthorizationEditor
+	extends MultiPageEditorPart
+	implements IEditingDomainProvider, ISelectionProvider, IMenuListener, IViewerProvider, IGotoMarker {
+	/**
+	 * This keeps track of the editing domain that is used to track all changes to the model.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected AdapterFactoryEditingDomain editingDomain;
+
+	/**
+	 * This is the one adapter factory used for providing views of the model.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ComposedAdapterFactory adapterFactory;
+
+	/**
+	 * This is the content outline page.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected IContentOutlinePage contentOutlinePage;
+
+	/**
+	 * This is a kludge...
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected IStatusLineManager contentOutlineStatusLineManager;
+
+	/**
+	 * This is the content outline page's viewer.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected TreeViewer contentOutlineViewer;
+
+	/**
+	 * This is the property sheet page.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected List<PropertySheetPage> propertySheetPages = new ArrayList<PropertySheetPage>();
+
+	/**
+	 * This is the viewer that shadows the selection in the content outline.
+	 * The parent relation must be correctly defined for this to work.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected TreeViewer selectionViewer;
+
+	/**
+	 * This inverts the roll of parent and child in the content provider and show parents as a tree.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected TreeViewer parentViewer;
+
+	/**
+	 * This shows how a tree view works.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected TreeViewer treeViewer;
+
+	/**
+	 * This shows how a list view works.
+	 * A list viewer doesn't support icons.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ListViewer listViewer;
+
+	/**
+	 * This shows how a table view works.
+	 * A table can be used as a list with icons.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected TableViewer tableViewer;
+
+	/**
+	 * This shows how a tree view with columns works.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected TreeViewer treeViewerWithColumns;
+
+	/**
+	 * This keeps track of the active viewer pane, in the book.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ViewerPane currentViewerPane;
+
+	/**
+	 * This keeps track of the active content viewer, which may be either one of the viewers in the pages or the content outline viewer.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected Viewer currentViewer;
+
+	/**
+	 * This listens to which ever viewer is active.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ISelectionChangedListener selectionChangedListener;
+
+	/**
+	 * This keeps track of all the {@link org.eclipse.jface.viewers.ISelectionChangedListener}s that are listening to this editor.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected Collection<ISelectionChangedListener> selectionChangedListeners = new ArrayList<ISelectionChangedListener>();
+
+	/**
+	 * This keeps track of the selection of the editor as a whole.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ISelection editorSelection = StructuredSelection.EMPTY;
+
+	/**
+	 * The MarkerHelper is responsible for creating workspace resource markers presented
+	 * in Eclipse's Problems View.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected MarkerHelper markerHelper = new EditUIMarkerHelper();
+
+	/**
+	 * This listens for when the outline becomes active
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected IPartListener partListener =
+		new IPartListener() {
+			public void partActivated(IWorkbenchPart p) {
+				if (p instanceof ContentOutline) {
+					if (((ContentOutline)p).getCurrentPage() == contentOutlinePage) {
+						getActionBarContributor().setActiveEditor(AuthorizationEditor.this);
+
+						setCurrentViewer(contentOutlineViewer);
+					}
+				}
+				else if (p instanceof PropertySheet) {
+					if (propertySheetPages.contains(((PropertySheet)p).getCurrentPage())) {
+						getActionBarContributor().setActiveEditor(AuthorizationEditor.this);
+						handleActivate();
+					}
+				}
+				else if (p == AuthorizationEditor.this) {
+					handleActivate();
+				}
+			}
+			public void partBroughtToTop(IWorkbenchPart p) {
+				// Ignore.
+			}
+			public void partClosed(IWorkbenchPart p) {
+				// Ignore.
+			}
+			public void partDeactivated(IWorkbenchPart p) {
+				// Ignore.
+			}
+			public void partOpened(IWorkbenchPart p) {
+				// Ignore.
+			}
+		};
+
+	/**
+	 * Resources that have been removed since last activation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected Collection<Resource> removedResources = new ArrayList<Resource>();
+
+	/**
+	 * Resources that have been changed since last activation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected Collection<Resource> changedResources = new ArrayList<Resource>();
+
+	/**
+	 * Resources that have been saved.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected Collection<Resource> savedResources = new ArrayList<Resource>();
+
+	/**
+	 * Map to store the diagnostic associated with a resource.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected Map<Resource, Diagnostic> resourceToDiagnosticMap = new LinkedHashMap<Resource, Diagnostic>();
+
+	/**
+	 * Controls whether the problem indication should be updated.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected boolean updateProblemIndication = true;
+
+	/**
+	 * Adapter used to update the problem indication when resources are demanded loaded.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected EContentAdapter problemIndicationAdapter =
+		new EContentAdapter() {
+			@Override
+			public void notifyChanged(Notification notification) {
+				if (notification.getNotifier() instanceof Resource) {
+					switch (notification.getFeatureID(Resource.class)) {
+						case Resource.RESOURCE__IS_LOADED:
+						case Resource.RESOURCE__ERRORS:
+						case Resource.RESOURCE__WARNINGS: {
+							Resource resource = (Resource)notification.getNotifier();
+							Diagnostic diagnostic = analyzeResourceProblems(resource, null);
+							if (diagnostic.getSeverity() != Diagnostic.OK) {
+								resourceToDiagnosticMap.put(resource, diagnostic);
+							}
+							else {
+								resourceToDiagnosticMap.remove(resource);
+							}
+
+							if (updateProblemIndication) {
+								getSite().getShell().getDisplay().asyncExec
+									(new Runnable() {
+										 public void run() {
+											 updateProblemIndication();
+										 }
+									 });
+							}
+							break;
+						}
+					}
+				}
+				else {
+					super.notifyChanged(notification);
+				}
+			}
+
+			@Override
+			protected void setTarget(Resource target) {
+				basicSetTarget(target);
+			}
+
+			@Override
+			protected void unsetTarget(Resource target) {
+				basicUnsetTarget(target);
+				resourceToDiagnosticMap.remove(target);
+				if (updateProblemIndication) {
+					getSite().getShell().getDisplay().asyncExec
+						(new Runnable() {
+							 public void run() {
+								 updateProblemIndication();
+							 }
+						 });
+				}
+			}
+		};
+
+	/**
+	 * This listens for workspace changes.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected IResourceChangeListener resourceChangeListener =
+		new IResourceChangeListener() {
+			public void resourceChanged(IResourceChangeEvent event) {
+				IResourceDelta delta = event.getDelta();
+				try {
+					class ResourceDeltaVisitor implements IResourceDeltaVisitor {
+						protected ResourceSet resourceSet = editingDomain.getResourceSet();
+						protected Collection<Resource> changedResources = new ArrayList<Resource>();
+						protected Collection<Resource> removedResources = new ArrayList<Resource>();
+
+						public boolean visit(IResourceDelta delta) {
+							if (delta.getResource().getType() == IResource.FILE) {
+								if (delta.getKind() == IResourceDelta.REMOVED ||
+								    delta.getKind() == IResourceDelta.CHANGED && delta.getFlags() != IResourceDelta.MARKERS) {
+									Resource resource = resourceSet.getResource(URI.createPlatformResourceURI(delta.getFullPath().toString(), true), false);
+									if (resource != null) {
+										if (delta.getKind() == IResourceDelta.REMOVED) {
+											removedResources.add(resource);
+										}
+										else if (!savedResources.remove(resource)) {
+											changedResources.add(resource);
+										}
+									}
+								}
+								return false;
+							}
+
+							return true;
+						}
+
+						public Collection<Resource> getChangedResources() {
+							return changedResources;
+						}
+
+						public Collection<Resource> getRemovedResources() {
+							return removedResources;
+						}
+					}
+
+					final ResourceDeltaVisitor visitor = new ResourceDeltaVisitor();
+					delta.accept(visitor);
+
+					if (!visitor.getRemovedResources().isEmpty()) {
+						getSite().getShell().getDisplay().asyncExec
+							(new Runnable() {
+								 public void run() {
+									 removedResources.addAll(visitor.getRemovedResources());
+									 if (!isDirty()) {
+										 getSite().getPage().closeEditor(AuthorizationEditor.this, false);
+									 }
+								 }
+							 });
+					}
+
+					if (!visitor.getChangedResources().isEmpty()) {
+						getSite().getShell().getDisplay().asyncExec
+							(new Runnable() {
+								 public void run() {
+									 changedResources.addAll(visitor.getChangedResources());
+									 if (getSite().getPage().getActiveEditor() == AuthorizationEditor.this) {
+										 handleActivate();
+									 }
+								 }
+							 });
+					}
+				}
+				catch (CoreException exception) {
+					ECViewCoreEditorPlugin.INSTANCE.log(exception);
+				}
+			}
+		};
+
+	/**
+	 * Handles activation of the editor or it's associated views.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void handleActivate() {
+		// Recompute the read only state.
+		//
+		if (editingDomain.getResourceToReadOnlyMap() != null) {
+		  editingDomain.getResourceToReadOnlyMap().clear();
+
+		  // Refresh any actions that may become enabled or disabled.
+		  //
+		  setSelection(getSelection());
+		}
+
+		if (!removedResources.isEmpty()) {
+			if (handleDirtyConflict()) {
+				getSite().getPage().closeEditor(AuthorizationEditor.this, false);
+			}
+			else {
+				removedResources.clear();
+				changedResources.clear();
+				savedResources.clear();
+			}
+		}
+		else if (!changedResources.isEmpty()) {
+			changedResources.removeAll(savedResources);
+			handleChangedResources();
+			changedResources.clear();
+			savedResources.clear();
+		}
+	}
+
+	/**
+	 * Handles what to do with changed resources on activation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void handleChangedResources() {
+		if (!changedResources.isEmpty() && (!isDirty() || handleDirtyConflict())) {
+			if (isDirty()) {
+				changedResources.addAll(editingDomain.getResourceSet().getResources());
+			}
+			editingDomain.getCommandStack().flush();
+
+			updateProblemIndication = false;
+			for (Resource resource : changedResources) {
+				if (resource.isLoaded()) {
+					resource.unload();
+					try {
+						resource.load(Collections.EMPTY_MAP);
+					}
+					catch (IOException exception) {
+						if (!resourceToDiagnosticMap.containsKey(resource)) {
+							resourceToDiagnosticMap.put(resource, analyzeResourceProblems(resource, exception));
+						}
+					}
+				}
+			}
+
+			if (AdapterFactoryEditingDomain.isStale(editorSelection)) {
+				setSelection(StructuredSelection.EMPTY);
+			}
+
+			updateProblemIndication = true;
+			updateProblemIndication();
+		}
+	}
+
+	/**
+	 * Updates the problems indication with the information described in the specified diagnostic.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void updateProblemIndication() {
+		if (updateProblemIndication) {
+			BasicDiagnostic diagnostic =
+				new BasicDiagnostic
+					(Diagnostic.OK,
+					 "org.eclipse.osbp.ecview.core.common.model.editor",
+					 0,
+					 null,
+					 new Object [] { editingDomain.getResourceSet() });
+			for (Diagnostic childDiagnostic : resourceToDiagnosticMap.values()) {
+				if (childDiagnostic.getSeverity() != Diagnostic.OK) {
+					diagnostic.add(childDiagnostic);
+				}
+			}
+
+			int lastEditorPage = getPageCount() - 1;
+			if (lastEditorPage >= 0 && getEditor(lastEditorPage) instanceof ProblemEditorPart) {
+				((ProblemEditorPart)getEditor(lastEditorPage)).setDiagnostic(diagnostic);
+				if (diagnostic.getSeverity() != Diagnostic.OK) {
+					setActivePage(lastEditorPage);
+				}
+			}
+			else if (diagnostic.getSeverity() != Diagnostic.OK) {
+				ProblemEditorPart problemEditorPart = new ProblemEditorPart();
+				problemEditorPart.setDiagnostic(diagnostic);
+				problemEditorPart.setMarkerHelper(markerHelper);
+				try {
+					addPage(++lastEditorPage, problemEditorPart, getEditorInput());
+					setPageText(lastEditorPage, problemEditorPart.getPartName());
+					setActivePage(lastEditorPage);
+					showTabs();
+				}
+				catch (PartInitException exception) {
+					ECViewCoreEditorPlugin.INSTANCE.log(exception);
+				}
+			}
+
+			if (markerHelper.hasMarkers(editingDomain.getResourceSet())) {
+				markerHelper.deleteMarkers(editingDomain.getResourceSet());
+				if (diagnostic.getSeverity() != Diagnostic.OK) {
+					try {
+						markerHelper.createMarkers(diagnostic);
+					}
+					catch (CoreException exception) {
+						ECViewCoreEditorPlugin.INSTANCE.log(exception);
+					}
+				}
+			}
+		}
+	}
+
+	/**
+	 * Shows a dialog that asks if conflicting changes should be discarded.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected boolean handleDirtyConflict() {
+		return
+			MessageDialog.openQuestion
+				(getSite().getShell(),
+				 getString("_UI_FileConflict_label"),
+				 getString("_WARN_FileConflict"));
+	}
+
+	/**
+	 * This creates a model editor.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public AuthorizationEditor() {
+		super();
+		initializeEditingDomain();
+	}
+
+	/**
+	 * This sets up the editing domain for the model editor.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void initializeEditingDomain() {
+		// Create an adapter factory that yields item providers.
+		//
+		adapterFactory = new ComposedAdapterFactory(ComposedAdapterFactory.Descriptor.Registry.INSTANCE);
+
+		adapterFactory.addAdapterFactory(new ResourceItemProviderAdapterFactory());
+		adapterFactory.addAdapterFactory(new BindingItemProviderAdapterFactory());
+		adapterFactory.addAdapterFactory(new CoreModelItemProviderAdapterFactory());
+		adapterFactory.addAdapterFactory(new AuthorizationItemProviderAdapterFactory());
+		adapterFactory.addAdapterFactory(new ValidationItemProviderAdapterFactory());
+		adapterFactory.addAdapterFactory(new DatatypesItemProviderAdapterFactory());
+		adapterFactory.addAdapterFactory(new VisibilityItemProviderAdapterFactory());
+		adapterFactory.addAdapterFactory(new ReflectiveItemProviderAdapterFactory());
+
+		// Create the command stack that will notify this editor as commands are executed.
+		//
+		BasicCommandStack commandStack = new BasicCommandStack();
+
+		// Add a listener to set the most recent command's affected objects to be the selection of the viewer with focus.
+		//
+		commandStack.addCommandStackListener
+			(new CommandStackListener() {
+				 public void commandStackChanged(final EventObject event) {
+					 getContainer().getDisplay().asyncExec
+						 (new Runnable() {
+							  public void run() {
+								  firePropertyChange(IEditorPart.PROP_DIRTY);
+
+								  // Try to select the affected objects.
+								  //
+								  Command mostRecentCommand = ((CommandStack)event.getSource()).getMostRecentCommand();
+								  if (mostRecentCommand != null) {
+									  setSelectionToViewer(mostRecentCommand.getAffectedObjects());
+								  }
+								  for (Iterator<PropertySheetPage> i = propertySheetPages.iterator(); i.hasNext(); ) {
+									  PropertySheetPage propertySheetPage = i.next();
+									  if (propertySheetPage.getControl().isDisposed()) {
+										  i.remove();
+									  }
+									  else {
+										  propertySheetPage.refresh();
+									  }
+								  }
+							  }
+						  });
+				 }
+			 });
+
+		// Create the editing domain with a special command stack.
+		//
+		editingDomain = new AdapterFactoryEditingDomain(adapterFactory, commandStack, new HashMap<Resource, Boolean>());
+	}
+
+	/**
+	 * This is here for the listener to be able to call it.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+			@Override
+	protected void firePropertyChange(int action) {
+		super.firePropertyChange(action);
+	}
+
+	/**
+	 * This sets the selection into whichever viewer is active.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setSelectionToViewer(Collection<?> collection) {
+		final Collection<?> theSelection = collection;
+		// Make sure it's okay.
+		//
+		if (theSelection != null && !theSelection.isEmpty()) {
+			Runnable runnable =
+				new Runnable() {
+					public void run() {
+						// Try to select the items in the current content viewer of the editor.
+						//
+						if (currentViewer != null) {
+							currentViewer.setSelection(new StructuredSelection(theSelection.toArray()), true);
+						}
+					}
+				};
+			getSite().getShell().getDisplay().asyncExec(runnable);
+		}
+	}
+
+	/**
+	 * This returns the editing domain as required by the {@link IEditingDomainProvider} interface.
+	 * This is important for implementing the static methods of {@link AdapterFactoryEditingDomain}
+	 * and for supporting {@link org.eclipse.emf.edit.ui.action.CommandAction}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EditingDomain getEditingDomain() {
+		return editingDomain;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public class ReverseAdapterFactoryContentProvider extends AdapterFactoryContentProvider {
+		/**
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		public ReverseAdapterFactoryContentProvider(AdapterFactory adapterFactory) {
+			super(adapterFactory);
+		}
+
+		/**
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		@Override
+		public Object [] getElements(Object object) {
+			Object parent = super.getParent(object);
+			return (parent == null ? Collections.EMPTY_SET : Collections.singleton(parent)).toArray();
+		}
+
+		/**
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		@Override
+		public Object [] getChildren(Object object) {
+			Object parent = super.getParent(object);
+			return (parent == null ? Collections.EMPTY_SET : Collections.singleton(parent)).toArray();
+		}
+
+		/**
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		@Override
+		public boolean hasChildren(Object object) {
+			Object parent = super.getParent(object);
+			return parent != null;
+		}
+
+		/**
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		@Override
+		public Object getParent(Object object) {
+			return null;
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setCurrentViewerPane(ViewerPane viewerPane) {
+		if (currentViewerPane != viewerPane) {
+			if (currentViewerPane != null) {
+				currentViewerPane.showFocus(false);
+			}
+			currentViewerPane = viewerPane;
+		}
+		setCurrentViewer(currentViewerPane.getViewer());
+	}
+
+	/**
+	 * This makes sure that one content viewer, either for the current page or the outline view, if it has focus,
+	 * is the current one.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setCurrentViewer(Viewer viewer) {
+		// If it is changing...
+		//
+		if (currentViewer != viewer) {
+			if (selectionChangedListener == null) {
+				// Create the listener on demand.
+				//
+				selectionChangedListener =
+					new ISelectionChangedListener() {
+						// This just notifies those things that are affected by the section.
+						//
+						public void selectionChanged(SelectionChangedEvent selectionChangedEvent) {
+							setSelection(selectionChangedEvent.getSelection());
+						}
+					};
+			}
+
+			// Stop listening to the old one.
+			//
+			if (currentViewer != null) {
+				currentViewer.removeSelectionChangedListener(selectionChangedListener);
+			}
+
+			// Start listening to the new one.
+			//
+			if (viewer != null) {
+				viewer.addSelectionChangedListener(selectionChangedListener);
+			}
+
+			// Remember it.
+			//
+			currentViewer = viewer;
+
+			// Set the editors selection based on the current viewer's selection.
+			//
+			setSelection(currentViewer == null ? StructuredSelection.EMPTY : currentViewer.getSelection());
+		}
+	}
+
+	/**
+	 * This returns the viewer as required by the {@link IViewerProvider} interface.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Viewer getViewer() {
+		return currentViewer;
+	}
+
+	/**
+	 * This creates a context menu for the viewer and adds a listener as well registering the menu for extension.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void createContextMenuFor(StructuredViewer viewer) {
+		MenuManager contextMenu = new MenuManager("#PopUp");
+		contextMenu.add(new Separator("additions"));
+		contextMenu.setRemoveAllWhenShown(true);
+		contextMenu.addMenuListener(this);
+		Menu menu= contextMenu.createContextMenu(viewer.getControl());
+		viewer.getControl().setMenu(menu);
+		getSite().registerContextMenu(contextMenu, new UnwrappingSelectionProvider(viewer));
+
+		int dndOperations = DND.DROP_COPY | DND.DROP_MOVE | DND.DROP_LINK;
+		Transfer[] transfers = new Transfer[] { LocalTransfer.getInstance(), LocalSelectionTransfer.getTransfer(), FileTransfer.getInstance() };
+		viewer.addDragSupport(dndOperations, transfers, new ViewerDragAdapter(viewer));
+		viewer.addDropSupport(dndOperations, transfers, new EditingDomainViewerDropAdapter(editingDomain, viewer));
+	}
+
+	/**
+	 * This is the method called to load a resource into the editing domain's resource set based on the editor's input.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void createModel() {
+		URI resourceURI = EditUIUtil.getURI(getEditorInput(), editingDomain.getResourceSet().getURIConverter());
+		Exception exception = null;
+		Resource resource = null;
+		try {
+			// Load the resource through the editing domain.
+			//
+			resource = editingDomain.getResourceSet().getResource(resourceURI, true);
+		}
+		catch (Exception e) {
+			exception = e;
+			resource = editingDomain.getResourceSet().getResource(resourceURI, false);
+		}
+
+		Diagnostic diagnostic = analyzeResourceProblems(resource, exception);
+		if (diagnostic.getSeverity() != Diagnostic.OK) {
+			resourceToDiagnosticMap.put(resource,  analyzeResourceProblems(resource, exception));
+		}
+		editingDomain.getResourceSet().eAdapters().add(problemIndicationAdapter);
+	}
+
+	/**
+	 * Returns a diagnostic describing the errors and warnings listed in the resource
+	 * and the specified exception (if any).
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Diagnostic analyzeResourceProblems(Resource resource, Exception exception) {
+		boolean hasErrors = !resource.getErrors().isEmpty();
+		if (hasErrors || !resource.getWarnings().isEmpty()) {
+			BasicDiagnostic basicDiagnostic =
+				new BasicDiagnostic
+					(hasErrors ? Diagnostic.ERROR : Diagnostic.WARNING,
+					 "org.eclipse.osbp.ecview.core.common.model.editor",
+					 0,
+					 getString("_UI_CreateModelError_message", resource.getURI()),
+					 new Object [] { exception == null ? (Object)resource : exception });
+			basicDiagnostic.merge(EcoreUtil.computeDiagnostic(resource, true));
+			return basicDiagnostic;
+		}
+		else if (exception != null) {
+			return
+				new BasicDiagnostic
+					(Diagnostic.ERROR,
+					 "org.eclipse.osbp.ecview.core.common.model.editor",
+					 0,
+					 getString("_UI_CreateModelError_message", resource.getURI()),
+					 new Object[] { exception });
+		}
+		else {
+			return Diagnostic.OK_INSTANCE;
+		}
+	}
+
+	/**
+	 * This is the method used by the framework to install your own controls.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void createPages() {
+		// Creates the model from the editor input
+		//
+		createModel();
+
+		// Only creates the other pages if there is something that can be edited
+		//
+		if (!getEditingDomain().getResourceSet().getResources().isEmpty()) {
+			// Create a page for the selection tree view.
+			//
+			{
+				ViewerPane viewerPane =
+					new ViewerPane(getSite().getPage(), AuthorizationEditor.this) {
+						@Override
+						public Viewer createViewer(Composite composite) {
+							Tree tree = new Tree(composite, SWT.MULTI);
+							TreeViewer newTreeViewer = new TreeViewer(tree);
+							return newTreeViewer;
+						}
+						@Override
+						public void requestActivation() {
+							super.requestActivation();
+							setCurrentViewerPane(this);
+						}
+					};
+				viewerPane.createControl(getContainer());
+
+				selectionViewer = (TreeViewer)viewerPane.getViewer();
+				selectionViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
+
+				selectionViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));
+				selectionViewer.setInput(editingDomain.getResourceSet());
+				selectionViewer.setSelection(new StructuredSelection(editingDomain.getResourceSet().getResources().get(0)), true);
+				viewerPane.setTitle(editingDomain.getResourceSet());
+
+				new AdapterFactoryTreeEditor(selectionViewer.getTree(), adapterFactory);
+
+				createContextMenuFor(selectionViewer);
+				int pageIndex = addPage(viewerPane.getControl());
+				setPageText(pageIndex, getString("_UI_SelectionPage_label"));
+			}
+
+			// Create a page for the parent tree view.
+			//
+			{
+				ViewerPane viewerPane =
+					new ViewerPane(getSite().getPage(), AuthorizationEditor.this) {
+						@Override
+						public Viewer createViewer(Composite composite) {
+							Tree tree = new Tree(composite, SWT.MULTI);
+							TreeViewer newTreeViewer = new TreeViewer(tree);
+							return newTreeViewer;
+						}
+						@Override
+						public void requestActivation() {
+							super.requestActivation();
+							setCurrentViewerPane(this);
+						}
+					};
+				viewerPane.createControl(getContainer());
+
+				parentViewer = (TreeViewer)viewerPane.getViewer();
+				parentViewer.setAutoExpandLevel(30);
+				parentViewer.setContentProvider(new ReverseAdapterFactoryContentProvider(adapterFactory));
+				parentViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));
+
+				createContextMenuFor(parentViewer);
+				int pageIndex = addPage(viewerPane.getControl());
+				setPageText(pageIndex, getString("_UI_ParentPage_label"));
+			}
+
+			// This is the page for the list viewer
+			//
+			{
+				ViewerPane viewerPane =
+					new ViewerPane(getSite().getPage(), AuthorizationEditor.this) {
+						@Override
+						public Viewer createViewer(Composite composite) {
+							return new ListViewer(composite);
+						}
+						@Override
+						public void requestActivation() {
+							super.requestActivation();
+							setCurrentViewerPane(this);
+						}
+					};
+				viewerPane.createControl(getContainer());
+				listViewer = (ListViewer)viewerPane.getViewer();
+				listViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
+				listViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));
+
+				createContextMenuFor(listViewer);
+				int pageIndex = addPage(viewerPane.getControl());
+				setPageText(pageIndex, getString("_UI_ListPage_label"));
+			}
+
+			// This is the page for the tree viewer
+			//
+			{
+				ViewerPane viewerPane =
+					new ViewerPane(getSite().getPage(), AuthorizationEditor.this) {
+						@Override
+						public Viewer createViewer(Composite composite) {
+							return new TreeViewer(composite);
+						}
+						@Override
+						public void requestActivation() {
+							super.requestActivation();
+							setCurrentViewerPane(this);
+						}
+					};
+				viewerPane.createControl(getContainer());
+				treeViewer = (TreeViewer)viewerPane.getViewer();
+				treeViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
+				treeViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));
+
+				new AdapterFactoryTreeEditor(treeViewer.getTree(), adapterFactory);
+
+				createContextMenuFor(treeViewer);
+				int pageIndex = addPage(viewerPane.getControl());
+				setPageText(pageIndex, getString("_UI_TreePage_label"));
+			}
+
+			// This is the page for the table viewer.
+			//
+			{
+				ViewerPane viewerPane =
+					new ViewerPane(getSite().getPage(), AuthorizationEditor.this) {
+						@Override
+						public Viewer createViewer(Composite composite) {
+							return new TableViewer(composite);
+						}
+						@Override
+						public void requestActivation() {
+							super.requestActivation();
+							setCurrentViewerPane(this);
+						}
+					};
+				viewerPane.createControl(getContainer());
+				tableViewer = (TableViewer)viewerPane.getViewer();
+
+				Table table = tableViewer.getTable();
+				TableLayout layout = new TableLayout();
+				table.setLayout(layout);
+				table.setHeaderVisible(true);
+				table.setLinesVisible(true);
+
+				TableColumn objectColumn = new TableColumn(table, SWT.NONE);
+				layout.addColumnData(new ColumnWeightData(3, 100, true));
+				objectColumn.setText(getString("_UI_ObjectColumn_label"));
+				objectColumn.setResizable(true);
+
+				TableColumn selfColumn = new TableColumn(table, SWT.NONE);
+				layout.addColumnData(new ColumnWeightData(2, 100, true));
+				selfColumn.setText(getString("_UI_SelfColumn_label"));
+				selfColumn.setResizable(true);
+
+				tableViewer.setColumnProperties(new String [] {"a", "b"});
+				tableViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
+				tableViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));
+
+				createContextMenuFor(tableViewer);
+				int pageIndex = addPage(viewerPane.getControl());
+				setPageText(pageIndex, getString("_UI_TablePage_label"));
+			}
+
+			// This is the page for the table tree viewer.
+			//
+			{
+				ViewerPane viewerPane =
+					new ViewerPane(getSite().getPage(), AuthorizationEditor.this) {
+						@Override
+						public Viewer createViewer(Composite composite) {
+							return new TreeViewer(composite);
+						}
+						@Override
+						public void requestActivation() {
+							super.requestActivation();
+							setCurrentViewerPane(this);
+						}
+					};
+				viewerPane.createControl(getContainer());
+
+				treeViewerWithColumns = (TreeViewer)viewerPane.getViewer();
+
+				Tree tree = treeViewerWithColumns.getTree();
+				tree.setLayoutData(new FillLayout());
+				tree.setHeaderVisible(true);
+				tree.setLinesVisible(true);
+
+				TreeColumn objectColumn = new TreeColumn(tree, SWT.NONE);
+				objectColumn.setText(getString("_UI_ObjectColumn_label"));
+				objectColumn.setResizable(true);
+				objectColumn.setWidth(250);
+
+				TreeColumn selfColumn = new TreeColumn(tree, SWT.NONE);
+				selfColumn.setText(getString("_UI_SelfColumn_label"));
+				selfColumn.setResizable(true);
+				selfColumn.setWidth(200);
+
+				treeViewerWithColumns.setColumnProperties(new String [] {"a", "b"});
+				treeViewerWithColumns.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
+				treeViewerWithColumns.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));
+
+				createContextMenuFor(treeViewerWithColumns);
+				int pageIndex = addPage(viewerPane.getControl());
+				setPageText(pageIndex, getString("_UI_TreeWithColumnsPage_label"));
+			}
+
+			getSite().getShell().getDisplay().asyncExec
+				(new Runnable() {
+					 public void run() {
+						 setActivePage(0);
+					 }
+				 });
+		}
+
+		// Ensures that this editor will only display the page's tab
+		// area if there are more than one page
+		//
+		getContainer().addControlListener
+			(new ControlAdapter() {
+				boolean guard = false;
+				@Override
+				public void controlResized(ControlEvent event) {
+					if (!guard) {
+						guard = true;
+						hideTabs();
+						guard = false;
+					}
+				}
+			 });
+
+		getSite().getShell().getDisplay().asyncExec
+			(new Runnable() {
+				 public void run() {
+					 updateProblemIndication();
+				 }
+			 });
+	}
+
+	/**
+	 * If there is just one page in the multi-page editor part,
+	 * this hides the single tab at the bottom.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void hideTabs() {
+		if (getPageCount() <= 1) {
+			setPageText(0, "");
+			if (getContainer() instanceof CTabFolder) {
+				((CTabFolder)getContainer()).setTabHeight(1);
+				Point point = getContainer().getSize();
+				getContainer().setSize(point.x, point.y + 6);
+			}
+		}
+	}
+
+	/**
+	 * If there is more than one page in the multi-page editor part,
+	 * this shows the tabs at the bottom.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void showTabs() {
+		if (getPageCount() > 1) {
+			setPageText(0, getString("_UI_SelectionPage_label"));
+			if (getContainer() instanceof CTabFolder) {
+				((CTabFolder)getContainer()).setTabHeight(SWT.DEFAULT);
+				Point point = getContainer().getSize();
+				getContainer().setSize(point.x, point.y - 6);
+			}
+		}
+	}
+
+	/**
+	 * This is used to track the active viewer.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void pageChange(int pageIndex) {
+		super.pageChange(pageIndex);
+
+		if (contentOutlinePage != null) {
+			handleContentOutlineSelection(contentOutlinePage.getSelection());
+		}
+	}
+
+	/**
+	 * This is how the framework determines which interfaces we implement.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@SuppressWarnings("rawtypes")
+	@Override
+	public Object getAdapter(Class key) {
+		if (key.equals(IContentOutlinePage.class)) {
+			return showOutlineView() ? getContentOutlinePage() : null;
+		}
+		else if (key.equals(IPropertySheetPage.class)) {
+			return getPropertySheetPage();
+		}
+		else if (key.equals(IGotoMarker.class)) {
+			return this;
+		}
+		else {
+			return super.getAdapter(key);
+		}
+	}
+
+	/**
+	 * This accesses a cached version of the content outliner.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public IContentOutlinePage getContentOutlinePage() {
+		if (contentOutlinePage == null) {
+			// The content outline is just a tree.
+			//
+			class MyContentOutlinePage extends ContentOutlinePage {
+				@Override
+				public void createControl(Composite parent) {
+					super.createControl(parent);
+					contentOutlineViewer = getTreeViewer();
+					contentOutlineViewer.addSelectionChangedListener(this);
+
+					// Set up the tree viewer.
+					//
+					contentOutlineViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
+					contentOutlineViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));
+					contentOutlineViewer.setInput(editingDomain.getResourceSet());
+
+					// Make sure our popups work.
+					//
+					createContextMenuFor(contentOutlineViewer);
+
+					if (!editingDomain.getResourceSet().getResources().isEmpty()) {
+					  // Select the root object in the view.
+					  //
+					  contentOutlineViewer.setSelection(new StructuredSelection(editingDomain.getResourceSet().getResources().get(0)), true);
+					}
+				}
+
+				@Override
+				public void makeContributions(IMenuManager menuManager, IToolBarManager toolBarManager, IStatusLineManager statusLineManager) {
+					super.makeContributions(menuManager, toolBarManager, statusLineManager);
+					contentOutlineStatusLineManager = statusLineManager;
+				}
+
+				@Override
+				public void setActionBars(IActionBars actionBars) {
+					super.setActionBars(actionBars);
+					getActionBarContributor().shareGlobalActions(this, actionBars);
+				}
+			}
+
+			contentOutlinePage = new MyContentOutlinePage();
+
+			// Listen to selection so that we can handle it is a special way.
+			//
+			contentOutlinePage.addSelectionChangedListener
+				(new ISelectionChangedListener() {
+					 // This ensures that we handle selections correctly.
+					 //
+					 public void selectionChanged(SelectionChangedEvent event) {
+						 handleContentOutlineSelection(event.getSelection());
+					 }
+				 });
+		}
+
+		return contentOutlinePage;
+	}
+
+	/**
+	 * This accesses a cached version of the property sheet.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public IPropertySheetPage getPropertySheetPage() {
+		PropertySheetPage propertySheetPage =
+			new ExtendedPropertySheetPage(editingDomain) {
+				@Override
+				public void setSelectionToViewer(List<?> selection) {
+					AuthorizationEditor.this.setSelectionToViewer(selection);
+					AuthorizationEditor.this.setFocus();
+				}
+
+				@Override
+				public void setActionBars(IActionBars actionBars) {
+					super.setActionBars(actionBars);
+					getActionBarContributor().shareGlobalActions(this, actionBars);
+				}
+			};
+		propertySheetPage.setPropertySourceProvider(new AdapterFactoryContentProvider(adapterFactory));
+		propertySheetPages.add(propertySheetPage);
+
+		return propertySheetPage;
+	}
+
+	/**
+	 * This deals with how we want selection in the outliner to affect the other views.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void handleContentOutlineSelection(ISelection selection) {
+		if (currentViewerPane != null && !selection.isEmpty() && selection instanceof IStructuredSelection) {
+			Iterator<?> selectedElements = ((IStructuredSelection)selection).iterator();
+			if (selectedElements.hasNext()) {
+				// Get the first selected element.
+				//
+				Object selectedElement = selectedElements.next();
+
+				// If it's the selection viewer, then we want it to select the same selection as this selection.
+				//
+				if (currentViewerPane.getViewer() == selectionViewer) {
+					ArrayList<Object> selectionList = new ArrayList<Object>();
+					selectionList.add(selectedElement);
+					while (selectedElements.hasNext()) {
+						selectionList.add(selectedElements.next());
+					}
+
+					// Set the selection to the widget.
+					//
+					selectionViewer.setSelection(new StructuredSelection(selectionList));
+				}
+				else {
+					// Set the input to the widget.
+					//
+					if (currentViewerPane.getViewer().getInput() != selectedElement) {
+						currentViewerPane.getViewer().setInput(selectedElement);
+						currentViewerPane.setTitle(selectedElement);
+					}
+				}
+			}
+		}
+	}
+
+	/**
+	 * This is for implementing {@link IEditorPart} and simply tests the command stack.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean isDirty() {
+		return ((BasicCommandStack)editingDomain.getCommandStack()).isSaveNeeded();
+	}
+
+	/**
+	 * This is for implementing {@link IEditorPart} and simply saves the model file.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void doSave(IProgressMonitor progressMonitor) {
+		// Save only resources that have actually changed.
+		//
+		final Map<Object, Object> saveOptions = new HashMap<Object, Object>();
+		saveOptions.put(Resource.OPTION_SAVE_ONLY_IF_CHANGED, Resource.OPTION_SAVE_ONLY_IF_CHANGED_MEMORY_BUFFER);
+		saveOptions.put(Resource.OPTION_LINE_DELIMITER, Resource.OPTION_LINE_DELIMITER_UNSPECIFIED);
+
+		// Do the work within an operation because this is a long running activity that modifies the workbench.
+		//
+		WorkspaceModifyOperation operation =
+			new WorkspaceModifyOperation() {
+				// This is the method that gets invoked when the operation runs.
+				//
+				@Override
+				public void execute(IProgressMonitor monitor) {
+					// Save the resources to the file system.
+					//
+					boolean first = true;
+					for (Resource resource : editingDomain.getResourceSet().getResources()) {
+						if ((first || !resource.getContents().isEmpty() || isPersisted(resource)) && !editingDomain.isReadOnly(resource)) {
+							try {
+								long timeStamp = resource.getTimeStamp();
+								resource.save(saveOptions);
+								if (resource.getTimeStamp() != timeStamp) {
+									savedResources.add(resource);
+								}
+							}
+							catch (Exception exception) {
+								resourceToDiagnosticMap.put(resource, analyzeResourceProblems(resource, exception));
+							}
+							first = false;
+						}
+					}
+				}
+			};
+
+		updateProblemIndication = false;
+		try {
+			// This runs the options, and shows progress.
+			//
+			new ProgressMonitorDialog(getSite().getShell()).run(true, false, operation);
+
+			// Refresh the necessary state.
+			//
+			((BasicCommandStack)editingDomain.getCommandStack()).saveIsDone();
+			firePropertyChange(IEditorPart.PROP_DIRTY);
+		}
+		catch (Exception exception) {
+			// Something went wrong that shouldn't.
+			//
+			ECViewCoreEditorPlugin.INSTANCE.log(exception);
+		}
+		updateProblemIndication = true;
+		updateProblemIndication();
+	}
+
+	/**
+	 * This returns whether something has been persisted to the URI of the specified resource.
+	 * The implementation uses the URI converter from the editor's resource set to try to open an input stream.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected boolean isPersisted(Resource resource) {
+		boolean result = false;
+		try {
+			InputStream stream = editingDomain.getResourceSet().getURIConverter().createInputStream(resource.getURI());
+			if (stream != null) {
+				result = true;
+				stream.close();
+			}
+		}
+		catch (IOException e) {
+			// Ignore
+		}
+		return result;
+	}
+
+	/**
+	 * This always returns true because it is not currently supported.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean isSaveAsAllowed() {
+		return true;
+	}
+
+	/**
+	 * This also changes the editor's input.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void doSaveAs() {
+		SaveAsDialog saveAsDialog = new SaveAsDialog(getSite().getShell());
+		saveAsDialog.open();
+		IPath path = saveAsDialog.getResult();
+		if (path != null) {
+			IFile file = ResourcesPlugin.getWorkspace().getRoot().getFile(path);
+			if (file != null) {
+				doSaveAs(URI.createPlatformResourceURI(file.getFullPath().toString(), true), new FileEditorInput(file));
+			}
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void doSaveAs(URI uri, IEditorInput editorInput) {
+		(editingDomain.getResourceSet().getResources().get(0)).setURI(uri);
+		setInputWithNotify(editorInput);
+		setPartName(editorInput.getName());
+		IProgressMonitor progressMonitor =
+			getActionBars().getStatusLineManager() != null ?
+				getActionBars().getStatusLineManager().getProgressMonitor() :
+				new NullProgressMonitor();
+		doSave(progressMonitor);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void gotoMarker(IMarker marker) {
+		List<?> targetObjects = markerHelper.getTargetObjects(editingDomain, marker);
+		if (!targetObjects.isEmpty()) {
+			setSelectionToViewer(targetObjects);
+		}
+	}
+
+	/**
+	 * This is called during startup.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void init(IEditorSite site, IEditorInput editorInput) {
+		setSite(site);
+		setInputWithNotify(editorInput);
+		setPartName(editorInput.getName());
+		site.setSelectionProvider(this);
+		site.getPage().addPartListener(partListener);
+		ResourcesPlugin.getWorkspace().addResourceChangeListener(resourceChangeListener, IResourceChangeEvent.POST_CHANGE);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setFocus() {
+		if (currentViewerPane != null) {
+			currentViewerPane.setFocus();
+		}
+		else {
+			getControl(getActivePage()).setFocus();
+		}
+	}
+
+	/**
+	 * This implements {@link org.eclipse.jface.viewers.ISelectionProvider}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void addSelectionChangedListener(ISelectionChangedListener listener) {
+		selectionChangedListeners.add(listener);
+	}
+
+	/**
+	 * This implements {@link org.eclipse.jface.viewers.ISelectionProvider}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void removeSelectionChangedListener(ISelectionChangedListener listener) {
+		selectionChangedListeners.remove(listener);
+	}
+
+	/**
+	 * This implements {@link org.eclipse.jface.viewers.ISelectionProvider} to return this editor's overall selection.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ISelection getSelection() {
+		return editorSelection;
+	}
+
+	/**
+	 * This implements {@link org.eclipse.jface.viewers.ISelectionProvider} to set this editor's overall selection.
+	 * Calling this result will notify the listeners.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setSelection(ISelection selection) {
+		editorSelection = selection;
+
+		for (ISelectionChangedListener listener : selectionChangedListeners) {
+			listener.selectionChanged(new SelectionChangedEvent(this, selection));
+		}
+		setStatusLineManager(selection);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setStatusLineManager(ISelection selection) {
+		IStatusLineManager statusLineManager = currentViewer != null && currentViewer == contentOutlineViewer ?
+			contentOutlineStatusLineManager : getActionBars().getStatusLineManager();
+
+		if (statusLineManager != null) {
+			if (selection instanceof IStructuredSelection) {
+				Collection<?> collection = ((IStructuredSelection)selection).toList();
+				switch (collection.size()) {
+					case 0: {
+						statusLineManager.setMessage(getString("_UI_NoObjectSelected"));
+						break;
+					}
+					case 1: {
+						String text = new AdapterFactoryItemDelegator(adapterFactory).getText(collection.iterator().next());
+						statusLineManager.setMessage(getString("_UI_SingleObjectSelected", text));
+						break;
+					}
+					default: {
+						statusLineManager.setMessage(getString("_UI_MultiObjectSelected", Integer.toString(collection.size())));
+						break;
+					}
+				}
+			}
+			else {
+				statusLineManager.setMessage("");
+			}
+		}
+	}
+
+	/**
+	 * This looks up a string in the plugin's plugin.properties file.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private static String getString(String key) {
+		return ECViewCoreEditorPlugin.INSTANCE.getString(key);
+	}
+
+	/**
+	 * This looks up a string in plugin.properties, making a substitution.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private static String getString(String key, Object s1) {
+		return ECViewCoreEditorPlugin.INSTANCE.getString(key, new Object [] { s1 });
+	}
+
+	/**
+	 * This implements {@link org.eclipse.jface.action.IMenuListener} to help fill the context menus with contributions from the Edit menu.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void menuAboutToShow(IMenuManager menuManager) {
+		((IMenuListener)getEditorSite().getActionBarContributor()).menuAboutToShow(menuManager);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EditingDomainActionBarContributor getActionBarContributor() {
+		return (EditingDomainActionBarContributor)getEditorSite().getActionBarContributor();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public IActionBars getActionBars() {
+		return getActionBarContributor().getActionBars();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public AdapterFactory getAdapterFactory() {
+		return adapterFactory;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void dispose() {
+		updateProblemIndication = false;
+
+		ResourcesPlugin.getWorkspace().removeResourceChangeListener(resourceChangeListener);
+
+		getSite().getPage().removePartListener(partListener);
+
+		adapterFactory.dispose();
+
+		if (getActionBarContributor().getActiveEditor() == this) {
+			getActionBarContributor().setActiveEditor(null);
+		}
+
+		for (PropertySheetPage propertySheetPage : propertySheetPages) {
+			propertySheetPage.dispose();
+		}
+
+		if (contentOutlinePage != null) {
+			contentOutlinePage.dispose();
+		}
+
+		super.dispose();
+	}
+
+	/**
+	 * Returns whether the outline view should be presented to the user.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected boolean showOutlineView() {
+		return true;
+	}
+}
diff --git a/org.eclipse.osbp.ecview.core.common.model.editor/src/org/eclipse/osbp/ecview/core/common/model/core/authorization/presentation/AuthorizationModelWizard.java b/org.eclipse.osbp.ecview.core.common.model.editor/src/org/eclipse/osbp/ecview/core/common/model/core/authorization/presentation/AuthorizationModelWizard.java
new file mode 100644
index 0000000..9f9148f
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.model.editor/src/org/eclipse/osbp/ecview/core/common/model/core/authorization/presentation/AuthorizationModelWizard.java
@@ -0,0 +1,629 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.common.model.core.authorization.presentation;
+
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.MissingResourceException;
+import java.util.StringTokenizer;
+
+import org.eclipse.emf.common.CommonPlugin;
+
+import org.eclipse.emf.common.util.URI;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EClassifier;
+
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.ResourceSet;
+
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.emf.ecore.xmi.XMLResource;
+
+import org.eclipse.emf.edit.ui.provider.ExtendedImageRegistry;
+
+import org.eclipse.core.resources.IContainer;
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IFolder;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.resources.ResourcesPlugin;
+
+import org.eclipse.core.runtime.IProgressMonitor;
+
+import org.eclipse.jface.dialogs.MessageDialog;
+
+import org.eclipse.jface.viewers.IStructuredSelection;
+
+import org.eclipse.jface.wizard.Wizard;
+import org.eclipse.jface.wizard.WizardPage;
+
+import org.eclipse.swt.SWT;
+
+import org.eclipse.swt.events.ModifyListener;
+import org.eclipse.swt.events.ModifyEvent;
+
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+
+import org.eclipse.swt.widgets.Combo;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Label;
+
+import org.eclipse.ui.INewWizard;
+import org.eclipse.ui.IWorkbench;
+
+import org.eclipse.ui.actions.WorkspaceModifyOperation;
+
+import org.eclipse.ui.dialogs.WizardNewFileCreationPage;
+
+import org.eclipse.ui.part.FileEditorInput;
+import org.eclipse.ui.part.ISetSelectionTarget;
+
+import org.eclipse.osbp.ecview.core.common.model.core.authorization.AuthorizationFactory;
+import org.eclipse.osbp.ecview.core.common.model.core.authorization.AuthorizationPackage;
+import org.eclipse.osbp.ecview.core.common.model.binding.provider.ECViewCoreEditPlugin;
+
+
+import org.eclipse.core.runtime.Path;
+
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.StructuredSelection;
+
+import org.eclipse.osbp.ecview.core.common.model.binding.presentation.ECViewCoreEditorPlugin;
+
+import org.eclipse.ui.IWorkbenchPage;
+import org.eclipse.ui.IWorkbenchPart;
+import org.eclipse.ui.IWorkbenchWindow;
+import org.eclipse.ui.PartInitException;
+
+
+/**
+ * This is a simple wizard for creating a new model file.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class AuthorizationModelWizard extends Wizard implements INewWizard {
+	/**
+	 * The supported extensions for created files.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final List<String> FILE_EXTENSIONS =
+		Collections.unmodifiableList(Arrays.asList(ECViewCoreEditorPlugin.INSTANCE.getString("_UI_AuthorizationEditorFilenameExtensions").split("\\s*,\\s*")));
+
+	/**
+	 * A formatted list of supported file extensions, suitable for display.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final String FORMATTED_FILE_EXTENSIONS =
+		ECViewCoreEditorPlugin.INSTANCE.getString("_UI_AuthorizationEditorFilenameExtensions").replaceAll("\\s*,\\s*", ", ");
+
+	/**
+	 * This caches an instance of the model package.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected AuthorizationPackage authorizationPackage = AuthorizationPackage.eINSTANCE;
+
+	/**
+	 * This caches an instance of the model factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected AuthorizationFactory authorizationFactory = authorizationPackage.getAuthorizationFactory();
+
+	/**
+	 * This is the file creation page.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected AuthorizationModelWizardNewFileCreationPage newFileCreationPage;
+
+	/**
+	 * This is the initial object creation page.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected AuthorizationModelWizardInitialObjectCreationPage initialObjectCreationPage;
+
+	/**
+	 * Remember the selection during initialization for populating the default container.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected IStructuredSelection selection;
+
+	/**
+	 * Remember the workbench during initialization.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected IWorkbench workbench;
+
+	/**
+	 * Caches the names of the types that can be created as the root object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected List<String> initialObjectNames;
+
+	/**
+	 * This just records the information.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void init(IWorkbench workbench, IStructuredSelection selection) {
+		this.workbench = workbench;
+		this.selection = selection;
+		setWindowTitle(ECViewCoreEditorPlugin.INSTANCE.getString("_UI_Wizard_label"));
+		setDefaultPageImageDescriptor(ExtendedImageRegistry.INSTANCE.getImageDescriptor(ECViewCoreEditorPlugin.INSTANCE.getImage("full/wizban/NewAuthorization")));
+	}
+
+	/**
+	 * Returns the names of the types that can be created as the root object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected Collection<String> getInitialObjectNames() {
+		if (initialObjectNames == null) {
+			initialObjectNames = new ArrayList<String>();
+			for (EClassifier eClassifier : authorizationPackage.getEClassifiers()) {
+				if (eClassifier instanceof EClass) {
+					EClass eClass = (EClass)eClassifier;
+					if (!eClass.isAbstract()) {
+						initialObjectNames.add(eClass.getName());
+					}
+				}
+			}
+			Collections.sort(initialObjectNames, CommonPlugin.INSTANCE.getComparator());
+		}
+		return initialObjectNames;
+	}
+
+	/**
+	 * Create a new model.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected EObject createInitialModel() {
+		EClass eClass = (EClass)authorizationPackage.getEClassifier(initialObjectCreationPage.getInitialObjectName());
+		EObject rootObject = authorizationFactory.create(eClass);
+		return rootObject;
+	}
+
+	/**
+	 * Do the work after everything is specified.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean performFinish() {
+		try {
+			// Remember the file.
+			//
+			final IFile modelFile = getModelFile();
+
+			// Do the work within an operation.
+			//
+			WorkspaceModifyOperation operation =
+				new WorkspaceModifyOperation() {
+					@Override
+					protected void execute(IProgressMonitor progressMonitor) {
+						try {
+							// Create a resource set
+							//
+							ResourceSet resourceSet = new ResourceSetImpl();
+
+							// Get the URI of the model file.
+							//
+							URI fileURI = URI.createPlatformResourceURI(modelFile.getFullPath().toString(), true);
+
+							// Create a resource for this file.
+							//
+							Resource resource = resourceSet.createResource(fileURI);
+
+							// Add the initial model object to the contents.
+							//
+							EObject rootObject = createInitialModel();
+							if (rootObject != null) {
+								resource.getContents().add(rootObject);
+							}
+
+							// Save the contents of the resource to the file system.
+							//
+							Map<Object, Object> options = new HashMap<Object, Object>();
+							options.put(XMLResource.OPTION_ENCODING, initialObjectCreationPage.getEncoding());
+							resource.save(options);
+						}
+						catch (Exception exception) {
+							ECViewCoreEditorPlugin.INSTANCE.log(exception);
+						}
+						finally {
+							progressMonitor.done();
+						}
+					}
+				};
+
+			getContainer().run(false, false, operation);
+
+			// Select the new file resource in the current view.
+			//
+			IWorkbenchWindow workbenchWindow = workbench.getActiveWorkbenchWindow();
+			IWorkbenchPage page = workbenchWindow.getActivePage();
+			final IWorkbenchPart activePart = page.getActivePart();
+			if (activePart instanceof ISetSelectionTarget) {
+				final ISelection targetSelection = new StructuredSelection(modelFile);
+				getShell().getDisplay().asyncExec
+					(new Runnable() {
+						 public void run() {
+							 ((ISetSelectionTarget)activePart).selectReveal(targetSelection);
+						 }
+					 });
+			}
+
+			// Open an editor on the new file.
+			//
+			try {
+				page.openEditor
+					(new FileEditorInput(modelFile),
+					 workbench.getEditorRegistry().getDefaultEditor(modelFile.getFullPath().toString()).getId());					 	 
+			}
+			catch (PartInitException exception) {
+				MessageDialog.openError(workbenchWindow.getShell(), ECViewCoreEditorPlugin.INSTANCE.getString("_UI_OpenEditorError_label"), exception.getMessage());
+				return false;
+			}
+
+			return true;
+		}
+		catch (Exception exception) {
+			ECViewCoreEditorPlugin.INSTANCE.log(exception);
+			return false;
+		}
+	}
+
+	/**
+	 * This is the one page of the wizard.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public class AuthorizationModelWizardNewFileCreationPage extends WizardNewFileCreationPage {
+		/**
+		 * Pass in the selection.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		public AuthorizationModelWizardNewFileCreationPage(String pageId, IStructuredSelection selection) {
+			super(pageId, selection);
+		}
+
+		/**
+		 * The framework calls this to see if the file is correct.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		@Override
+		protected boolean validatePage() {
+			if (super.validatePage()) {
+				String extension = new Path(getFileName()).getFileExtension();
+				if (extension == null || !FILE_EXTENSIONS.contains(extension)) {
+					String key = FILE_EXTENSIONS.size() > 1 ? "_WARN_FilenameExtensions" : "_WARN_FilenameExtension";
+					setErrorMessage(ECViewCoreEditorPlugin.INSTANCE.getString(key, new Object [] { FORMATTED_FILE_EXTENSIONS }));
+					return false;
+				}
+				return true;
+			}
+			return false;
+		}
+
+		/**
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		public IFile getModelFile() {
+			return ResourcesPlugin.getWorkspace().getRoot().getFile(getContainerFullPath().append(getFileName()));
+		}
+	}
+
+	/**
+	 * This is the page where the type of object to create is selected.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public class AuthorizationModelWizardInitialObjectCreationPage extends WizardPage {
+		/**
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		protected Combo initialObjectField;
+
+		/**
+		 * @generated
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 */
+		protected List<String> encodings;
+
+		/**
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		protected Combo encodingField;
+
+		/**
+		 * Pass in the selection.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		public AuthorizationModelWizardInitialObjectCreationPage(String pageId) {
+			super(pageId);
+		}
+
+		/**
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		public void createControl(Composite parent) {
+			Composite composite = new Composite(parent, SWT.NONE); {
+				GridLayout layout = new GridLayout();
+				layout.numColumns = 1;
+				layout.verticalSpacing = 12;
+				composite.setLayout(layout);
+
+				GridData data = new GridData();
+				data.verticalAlignment = GridData.FILL;
+				data.grabExcessVerticalSpace = true;
+				data.horizontalAlignment = GridData.FILL;
+				composite.setLayoutData(data);
+			}
+
+			Label containerLabel = new Label(composite, SWT.LEFT);
+			{
+				containerLabel.setText(ECViewCoreEditorPlugin.INSTANCE.getString("_UI_ModelObject"));
+
+				GridData data = new GridData();
+				data.horizontalAlignment = GridData.FILL;
+				containerLabel.setLayoutData(data);
+			}
+
+			initialObjectField = new Combo(composite, SWT.BORDER);
+			{
+				GridData data = new GridData();
+				data.horizontalAlignment = GridData.FILL;
+				data.grabExcessHorizontalSpace = true;
+				initialObjectField.setLayoutData(data);
+			}
+
+			for (String objectName : getInitialObjectNames()) {
+				initialObjectField.add(getLabel(objectName));
+			}
+
+			if (initialObjectField.getItemCount() == 1) {
+				initialObjectField.select(0);
+			}
+			initialObjectField.addModifyListener(validator);
+
+			Label encodingLabel = new Label(composite, SWT.LEFT);
+			{
+				encodingLabel.setText(ECViewCoreEditorPlugin.INSTANCE.getString("_UI_XMLEncoding"));
+
+				GridData data = new GridData();
+				data.horizontalAlignment = GridData.FILL;
+				encodingLabel.setLayoutData(data);
+			}
+			encodingField = new Combo(composite, SWT.BORDER);
+			{
+				GridData data = new GridData();
+				data.horizontalAlignment = GridData.FILL;
+				data.grabExcessHorizontalSpace = true;
+				encodingField.setLayoutData(data);
+			}
+
+			for (String encoding : getEncodings()) {
+				encodingField.add(encoding);
+			}
+
+			encodingField.select(0);
+			encodingField.addModifyListener(validator);
+
+			setPageComplete(validatePage());
+			setControl(composite);
+		}
+
+		/**
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		protected ModifyListener validator =
+			new ModifyListener() {
+				public void modifyText(ModifyEvent e) {
+					setPageComplete(validatePage());
+				}
+			};
+
+		/**
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		protected boolean validatePage() {
+			return getInitialObjectName() != null && getEncodings().contains(encodingField.getText());
+		}
+
+		/**
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		@Override
+		public void setVisible(boolean visible) {
+			super.setVisible(visible);
+			if (visible) {
+				if (initialObjectField.getItemCount() == 1) {
+					initialObjectField.clearSelection();
+					encodingField.setFocus();
+				}
+				else {
+					encodingField.clearSelection();
+					initialObjectField.setFocus();
+				}
+			}
+		}
+
+		/**
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		public String getInitialObjectName() {
+			String label = initialObjectField.getText();
+
+			for (String name : getInitialObjectNames()) {
+				if (getLabel(name).equals(label)) {
+					return name;
+				}
+			}
+			return null;
+		}
+
+		/**
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		public String getEncoding() {
+			return encodingField.getText();
+		}
+
+		/**
+		 * Returns the label for the specified type name.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		protected String getLabel(String typeName) {
+			try {
+				return ECViewCoreEditPlugin.INSTANCE.getString("_UI_" + typeName + "_type");
+			}
+			catch(MissingResourceException mre) {
+				ECViewCoreEditorPlugin.INSTANCE.log(mre);
+			}
+			return typeName;
+		}
+
+		/**
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		protected Collection<String> getEncodings() {
+			if (encodings == null) {
+				encodings = new ArrayList<String>();
+				for (StringTokenizer stringTokenizer = new StringTokenizer(ECViewCoreEditorPlugin.INSTANCE.getString("_UI_XMLEncodingChoices")); stringTokenizer.hasMoreTokens(); ) {
+					encodings.add(stringTokenizer.nextToken());
+				}
+			}
+			return encodings;
+		}
+	}
+
+	/**
+	 * The framework calls this to create the contents of the wizard.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+		@Override
+	public void addPages() {
+		// Create a page, set the title, and the initial model file name.
+		//
+		newFileCreationPage = new AuthorizationModelWizardNewFileCreationPage("Whatever", selection);
+		newFileCreationPage.setTitle(ECViewCoreEditorPlugin.INSTANCE.getString("_UI_AuthorizationModelWizard_label"));
+		newFileCreationPage.setDescription(ECViewCoreEditorPlugin.INSTANCE.getString("_UI_AuthorizationModelWizard_description"));
+		newFileCreationPage.setFileName(ECViewCoreEditorPlugin.INSTANCE.getString("_UI_AuthorizationEditorFilenameDefaultBase") + "." + FILE_EXTENSIONS.get(0));
+		addPage(newFileCreationPage);
+
+		// Try and get the resource selection to determine a current directory for the file dialog.
+		//
+		if (selection != null && !selection.isEmpty()) {
+			// Get the resource...
+			//
+			Object selectedElement = selection.iterator().next();
+			if (selectedElement instanceof IResource) {
+				// Get the resource parent, if its a file.
+				//
+				IResource selectedResource = (IResource)selectedElement;
+				if (selectedResource.getType() == IResource.FILE) {
+					selectedResource = selectedResource.getParent();
+				}
+
+				// This gives us a directory...
+				//
+				if (selectedResource instanceof IFolder || selectedResource instanceof IProject) {
+					// Set this for the container.
+					//
+					newFileCreationPage.setContainerFullPath(selectedResource.getFullPath());
+
+					// Make up a unique new name here.
+					//
+					String defaultModelBaseFilename = ECViewCoreEditorPlugin.INSTANCE.getString("_UI_AuthorizationEditorFilenameDefaultBase");
+					String defaultModelFilenameExtension = FILE_EXTENSIONS.get(0);
+					String modelFilename = defaultModelBaseFilename + "." + defaultModelFilenameExtension;
+					for (int i = 1; ((IContainer)selectedResource).findMember(modelFilename) != null; ++i) {
+						modelFilename = defaultModelBaseFilename + i + "." + defaultModelFilenameExtension;
+					}
+					newFileCreationPage.setFileName(modelFilename);
+				}
+			}
+		}
+		initialObjectCreationPage = new AuthorizationModelWizardInitialObjectCreationPage("Whatever2");
+		initialObjectCreationPage.setTitle(ECViewCoreEditorPlugin.INSTANCE.getString("_UI_AuthorizationModelWizard_label"));
+		initialObjectCreationPage.setDescription(ECViewCoreEditorPlugin.INSTANCE.getString("_UI_Wizard_initial_object_description"));
+		addPage(initialObjectCreationPage);
+	}
+
+	/**
+	 * Get the file from the page.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public IFile getModelFile() {
+		return newFileCreationPage.getModelFile();
+	}
+
+}
diff --git a/org.eclipse.osbp.ecview.core.common.model.tests/.classpath b/org.eclipse.osbp.ecview.core.common.model.tests/.classpath
new file mode 100644
index 0000000..121e527
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.model.tests/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/org.eclipse.osbp.ecview.core.common.model.tests/.gitignore b/org.eclipse.osbp.ecview.core.common.model.tests/.gitignore
new file mode 100644
index 0000000..b83d222
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.model.tests/.gitignore
@@ -0,0 +1 @@
+/target/
diff --git a/org.eclipse.osbp.ecview.core.common.model.tests/.settings/org.eclipse.core.resources.prefs b/org.eclipse.osbp.ecview.core.common.model.tests/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..99f26c0
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.model.tests/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
diff --git a/org.eclipse.osbp.ecview.core.common.model.tests/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.osbp.ecview.core.common.model.tests/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..c537b63
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.model.tests/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,7 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.6
diff --git a/org.eclipse.osbp.ecview.core.common.model.tests/.settings/org.eclipse.m2e.core.prefs b/org.eclipse.osbp.ecview.core.common.model.tests/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.model.tests/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/org.eclipse.osbp.ecview.core.common.model.tests/.settings/org.eclipse.xtend.core.Xtend.prefs b/org.eclipse.osbp.ecview.core.common.model.tests/.settings/org.eclipse.xtend.core.Xtend.prefs
new file mode 100644
index 0000000..19e3115
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.model.tests/.settings/org.eclipse.xtend.core.Xtend.prefs
@@ -0,0 +1,11 @@
+//outlet.DEFAULT_OUTPUT.sourceFolder.src/test/java.directory=src/test/generated-sources/xtend
+BuilderConfiguration.is_project_specific=true
+eclipse.preferences.version=1
+is_project_specific=true
+outlet.DEFAULT_OUTPUT.hideLocalSyntheticVariables=true
+outlet.DEFAULT_OUTPUT.installDslAsPrimarySource=false
+outlet.DEFAULT_OUTPUT.sourceFolder.emf-gen.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.sourceFolder.src-gen.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.sourceFolder.src.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.sourceFolder.xtend-gen.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.userOutputPerSourceFolder=true
diff --git a/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/binding/tests/BindingExample.java b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/binding/tests/BindingExample.java
new file mode 100644
index 0000000..76349d0
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/binding/tests/BindingExample.java
@@ -0,0 +1,121 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.common.model.binding.tests;
+
+import java.io.File;
+import java.io.IOException;
+
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.URI;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.ResourceSet;
+
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+
+import org.eclipse.emf.ecore.util.Diagnostician;
+
+import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl;
+
+import org.eclipse.osbp.ecview.core.common.model.binding.BindingFactory;
+import org.eclipse.osbp.ecview.core.common.model.binding.BindingPackage;
+import org.eclipse.osbp.ecview.core.common.model.binding.YBindingSet;
+
+/**
+ * <!-- begin-user-doc -->
+ * A sample utility for the '<em><b>binding</b></em>' package.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class BindingExample {
+	/**
+	 * <!-- begin-user-doc -->
+	 * Load all the argument file paths or URIs as instances of the model.
+	 * <!-- end-user-doc -->
+	 * @param args the file paths or URIs.
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		// Create a resource set to hold the resources.
+		//
+		ResourceSet resourceSet = new ResourceSetImpl();
+		
+		// Register the appropriate resource factory to handle all file extensions.
+		//
+		resourceSet.getResourceFactoryRegistry().getExtensionToFactoryMap().put
+			(Resource.Factory.Registry.DEFAULT_EXTENSION, 
+			 new XMIResourceFactoryImpl());
+
+		// Register the package to ensure it is available during loading.
+		//
+		resourceSet.getPackageRegistry().put
+			(BindingPackage.eNS_URI, 
+			 BindingPackage.eINSTANCE);
+        
+		// If there are no arguments, emit an appropriate usage message.
+		//
+		if (args.length == 0) {
+			System.out.println("Enter a list of file paths or URIs that have content like this:");
+			try {
+				Resource resource = resourceSet.createResource(URI.createURI("http:///My.binding"));
+				YBindingSet root = BindingFactory.eINSTANCE.createYBindingSet();
+				resource.getContents().add(root);
+				resource.save(System.out, null);
+			}
+			catch (IOException exception) {
+				exception.printStackTrace();
+			}
+		}
+		else {
+			// Iterate over all the arguments.
+			//
+			for (int i = 0; i < args.length; ++i) {
+				// Construct the URI for the instance file.
+				// The argument is treated as a file path only if it denotes an existing file.
+				// Otherwise, it's directly treated as a URL.
+				//
+				File file = new File(args[i]);
+				URI uri = file.isFile() ? URI.createFileURI(file.getAbsolutePath()): URI.createURI(args[i]);
+
+				try {
+					// Demand load resource for this file.
+					//
+					Resource resource = resourceSet.getResource(uri, true);
+					System.out.println("Loaded " + uri);
+
+					// Validate the contents of the loaded resource.
+					//
+					for (EObject eObject : resource.getContents()) {
+						Diagnostic diagnostic = Diagnostician.INSTANCE.validate(eObject);
+						if (diagnostic.getSeverity() != Diagnostic.OK) {
+							printDiagnostic(diagnostic, "");
+						}
+					}
+				}
+				catch (RuntimeException exception) {
+					System.out.println("Problem loading " + uri);
+					exception.printStackTrace();
+				}
+			}
+		}
+	}
+	
+	/**
+	 * <!-- begin-user-doc -->
+	 * Prints diagnostics with indentation.
+	 * <!-- end-user-doc -->
+	 * @param diagnostic the diagnostic to print.
+	 * @param indent the indentation for printing.
+	 * @generated
+	 */
+	protected static void printDiagnostic(Diagnostic diagnostic, String indent) {
+		System.out.print(indent);
+		System.out.println(diagnostic.getMessage());
+		for (Diagnostic child : diagnostic.getChildren()) {
+			printDiagnostic(child, indent + "  ");
+		}
+	}
+
+} //BindingExample
diff --git a/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/binding/tests/BindingTests.java b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/binding/tests/BindingTests.java
new file mode 100644
index 0000000..3b2b835
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/binding/tests/BindingTests.java
@@ -0,0 +1,57 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.common.model.binding.tests;
+
+import junit.framework.Test;
+import junit.framework.TestSuite;
+
+import junit.textui.TestRunner;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test suite for the '<em><b>binding</b></em>' package.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class BindingTests extends TestSuite {
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(suite());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static Test suite() {
+		TestSuite suite = new BindingTests("binding Tests");
+		suite.addTestSuite(YBindingSetTest.class);
+		suite.addTestSuite(YBeanValueBindingEndpointTest.class);
+		suite.addTestSuite(YDetailValueBindingEndpointTest.class);
+		suite.addTestSuite(YValueBindingTest.class);
+		suite.addTestSuite(YListBindingTest.class);
+		suite.addTestSuite(YEnumListBindingEndpointTest.class);
+		suite.addTestSuite(YECViewModelValueBindingEndpointTest.class);
+		suite.addTestSuite(YECViewModelListBindingEndpointTest.class);
+		suite.addTestSuite(YVisibilityProcessorValueBindingEndpointTest.class);
+		suite.addTestSuite(YNoOpValueBindingEndpointTest.class);
+		suite.addTestSuite(YNoOpListBindingEndpointTest.class);
+		return suite;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public BindingTests(String name) {
+		super(name);
+	}
+
+} //BindingTests
diff --git a/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/binding/tests/ECViewCoreAllTests.java b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/binding/tests/ECViewCoreAllTests.java
new file mode 100644
index 0000000..484afc3
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/binding/tests/ECViewCoreAllTests.java
@@ -0,0 +1,50 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.common.model.binding.tests;
+
+import junit.framework.Test;
+import junit.framework.TestSuite;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.core.common.model.core.tests.CoreModelTests;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test suite for the '<em><b>ECViewCore</b></em>' model.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ECViewCoreAllTests extends TestSuite {
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(suite());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static Test suite() {
+		TestSuite suite = new ECViewCoreAllTests("ECViewCore Tests");
+		suite.addTest(BindingTests.suite());
+		suite.addTest(CoreModelTests.suite());
+		return suite;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ECViewCoreAllTests(String name) {
+		super(name);
+	}
+
+} //ECViewCoreAllTests
diff --git a/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/binding/tests/YBeanValueBindingEndpointTest.java b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/binding/tests/YBeanValueBindingEndpointTest.java
new file mode 100644
index 0000000..20fb10c
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/binding/tests/YBeanValueBindingEndpointTest.java
@@ -0,0 +1,70 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.common.model.binding.tests;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.core.common.model.binding.BindingFactory;
+import org.eclipse.osbp.ecview.core.common.model.binding.YBeanValueBindingEndpoint;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YBean Value Binding Endpoint</b></em>'.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class YBeanValueBindingEndpointTest extends YValueBindingEndpointTest {
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YBeanValueBindingEndpointTest.class);
+	}
+
+	/**
+	 * Constructs a new YBean Value Binding Endpoint test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YBeanValueBindingEndpointTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Returns the fixture for this YBean Value Binding Endpoint test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected YBeanValueBindingEndpoint getFixture() {
+		return (YBeanValueBindingEndpoint)fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(BindingFactory.eINSTANCE.createYBeanValueBindingEndpoint());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#tearDown()
+	 * @generated
+	 */
+	@Override
+	protected void tearDown() throws Exception {
+		setFixture(null);
+	}
+
+} //YBeanValueBindingEndpointTest
diff --git a/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/binding/tests/YBindingEndpointTest.java b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/binding/tests/YBindingEndpointTest.java
new file mode 100644
index 0000000..41da54f
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/binding/tests/YBindingEndpointTest.java
@@ -0,0 +1,88 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.common.model.binding.tests;
+
+import junit.framework.TestCase;
+
+import org.eclipse.osbp.ecview.core.common.model.binding.YBindingEndpoint;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YBinding Endpoint</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following operations are tested:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.ecview.core.common.model.binding.YBindingEndpoint#getBinding() <em>Get Binding</em>}</li>
+ *   <li>{@link org.eclipse.osbp.ecview.core.common.model.binding.YBindingEndpoint#isBindsElement(org.eclipse.osbp.ecview.core.common.model.core.YElement) <em>Is Binds Element</em>}</li>
+ * </ul>
+ * </p>
+ * @generated
+ */
+public abstract class YBindingEndpointTest extends TestCase {
+
+	/**
+	 * The fixture for this YBinding Endpoint test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YBindingEndpoint fixture = null;
+
+	/**
+	 * Constructs a new YBinding Endpoint test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YBindingEndpointTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this YBinding Endpoint test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(YBindingEndpoint fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this YBinding Endpoint test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YBindingEndpoint getFixture() {
+		return fixture;
+	}
+
+	/**
+	 * Tests the '{@link org.eclipse.osbp.ecview.core.common.model.binding.YBindingEndpoint#getBinding() <em>Get Binding</em>}' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.ecview.core.common.model.binding.YBindingEndpoint#getBinding()
+	 * @generated
+	 */
+	public void testGetBinding() {
+		// 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.binding.YBindingEndpoint#isBindsElement(org.eclipse.osbp.ecview.core.common.model.core.YElement) <em>Is Binds Element</em>}' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.ecview.core.common.model.binding.YBindingEndpoint#isBindsElement(org.eclipse.osbp.ecview.core.common.model.core.YElement)
+	 * @generated
+	 */
+	public void testIsBindsElement__YElement() {
+		// TODO: implement this operation test method
+		// Ensure that you remove @generated or mark it @generated NOT
+		fail();
+	}
+
+} //YBindingEndpointTest
diff --git a/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/binding/tests/YBindingSetTest.java b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/binding/tests/YBindingSetTest.java
new file mode 100644
index 0000000..6c9509c
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/binding/tests/YBindingSetTest.java
@@ -0,0 +1,192 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.common.model.binding.tests;
+
+import junit.framework.TestCase;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.core.common.model.binding.BindingFactory;
+import org.eclipse.osbp.ecview.core.common.model.binding.YBindingSet;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YBinding Set</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following operations are tested:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.ecview.core.common.model.binding.YBindingSet#addBinding(org.eclipse.osbp.ecview.core.common.model.binding.YValueBindingEndpoint, org.eclipse.osbp.ecview.core.common.model.binding.YValueBindingEndpoint) <em>Add Binding</em>}</li>
+ *   <li>{@link org.eclipse.osbp.ecview.core.common.model.binding.YBindingSet#addBinding(org.eclipse.osbp.ecview.core.common.model.binding.YListBindingEndpoint, org.eclipse.osbp.ecview.core.common.model.binding.YListBindingEndpoint) <em>Add Binding</em>}</li>
+ *   <li>{@link org.eclipse.osbp.ecview.core.common.model.binding.YBindingSet#addBinding(org.eclipse.osbp.ecview.core.common.model.binding.YValueBindingEndpoint, org.eclipse.osbp.ecview.core.common.model.binding.YValueBindingEndpoint, org.eclipse.osbp.ecview.core.common.model.binding.YBindingUpdateStrategy, org.eclipse.osbp.ecview.core.common.model.binding.YBindingUpdateStrategy) <em>Add Binding</em>}</li>
+ *   <li>{@link org.eclipse.osbp.ecview.core.common.model.binding.YBindingSet#addBinding(org.eclipse.osbp.ecview.core.common.model.binding.YListBindingEndpoint, org.eclipse.osbp.ecview.core.common.model.binding.YListBindingEndpoint, org.eclipse.osbp.ecview.core.common.model.binding.YBindingUpdateStrategy, org.eclipse.osbp.ecview.core.common.model.binding.YBindingUpdateStrategy) <em>Add Binding</em>}</li>
+ *   <li>{@link org.eclipse.osbp.ecview.core.common.model.binding.YBindingSet#getView() <em>Get View</em>}</li>
+ *   <li>{@link org.eclipse.osbp.ecview.core.common.model.binding.YBindingSet#addBinding(org.eclipse.osbp.ecview.core.common.model.binding.YBinding) <em>Add Binding</em>}</li>
+ *   <li>{@link org.eclipse.osbp.ecview.core.common.model.binding.YBindingSet#removeBinding(org.eclipse.osbp.ecview.core.common.model.binding.YBinding) <em>Remove Binding</em>}</li>
+ * </ul>
+ * </p>
+ * @generated
+ */
+public class YBindingSetTest extends TestCase {
+
+	/**
+	 * The fixture for this YBinding Set test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YBindingSet fixture = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YBindingSetTest.class);
+	}
+
+	/**
+	 * Constructs a new YBinding Set test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YBindingSetTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this YBinding Set test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(YBindingSet fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this YBinding Set test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YBindingSet getFixture() {
+		return fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(BindingFactory.eINSTANCE.createYBindingSet());
+	}
+
+	/**
+	 * <!-- 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.binding.YBindingSet#addBinding(org.eclipse.osbp.ecview.core.common.model.binding.YValueBindingEndpoint, org.eclipse.osbp.ecview.core.common.model.binding.YValueBindingEndpoint) <em>Add Binding</em>}' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.ecview.core.common.model.binding.YBindingSet#addBinding(org.eclipse.osbp.ecview.core.common.model.binding.YValueBindingEndpoint, org.eclipse.osbp.ecview.core.common.model.binding.YValueBindingEndpoint)
+	 * @generated
+	 */
+	public void testAddBinding__YValueBindingEndpoint_YValueBindingEndpoint() {
+		// 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.binding.YBindingSet#addBinding(org.eclipse.osbp.ecview.core.common.model.binding.YListBindingEndpoint, org.eclipse.osbp.ecview.core.common.model.binding.YListBindingEndpoint) <em>Add Binding</em>}' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.ecview.core.common.model.binding.YBindingSet#addBinding(org.eclipse.osbp.ecview.core.common.model.binding.YListBindingEndpoint, org.eclipse.osbp.ecview.core.common.model.binding.YListBindingEndpoint)
+	 * @generated
+	 */
+	public void testAddBinding__YListBindingEndpoint_YListBindingEndpoint() {
+		// 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.binding.YBindingSet#addBinding(org.eclipse.osbp.ecview.core.common.model.binding.YValueBindingEndpoint, org.eclipse.osbp.ecview.core.common.model.binding.YValueBindingEndpoint, org.eclipse.osbp.ecview.core.common.model.binding.YBindingUpdateStrategy, org.eclipse.osbp.ecview.core.common.model.binding.YBindingUpdateStrategy) <em>Add Binding</em>}' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.ecview.core.common.model.binding.YBindingSet#addBinding(org.eclipse.osbp.ecview.core.common.model.binding.YValueBindingEndpoint, org.eclipse.osbp.ecview.core.common.model.binding.YValueBindingEndpoint, org.eclipse.osbp.ecview.core.common.model.binding.YBindingUpdateStrategy, org.eclipse.osbp.ecview.core.common.model.binding.YBindingUpdateStrategy)
+	 * @generated
+	 */
+	public void testAddBinding__YValueBindingEndpoint_YValueBindingEndpoint_YBindingUpdateStrategy_YBindingUpdateStrategy() {
+		// 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.binding.YBindingSet#addBinding(org.eclipse.osbp.ecview.core.common.model.binding.YListBindingEndpoint, org.eclipse.osbp.ecview.core.common.model.binding.YListBindingEndpoint, org.eclipse.osbp.ecview.core.common.model.binding.YBindingUpdateStrategy, org.eclipse.osbp.ecview.core.common.model.binding.YBindingUpdateStrategy) <em>Add Binding</em>}' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.ecview.core.common.model.binding.YBindingSet#addBinding(org.eclipse.osbp.ecview.core.common.model.binding.YListBindingEndpoint, org.eclipse.osbp.ecview.core.common.model.binding.YListBindingEndpoint, org.eclipse.osbp.ecview.core.common.model.binding.YBindingUpdateStrategy, org.eclipse.osbp.ecview.core.common.model.binding.YBindingUpdateStrategy)
+	 * @generated
+	 */
+	public void testAddBinding__YListBindingEndpoint_YListBindingEndpoint_YBindingUpdateStrategy_YBindingUpdateStrategy() {
+		// 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.binding.YBindingSet#getView() <em>Get View</em>}' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.ecview.core.common.model.binding.YBindingSet#getView()
+	 * @generated
+	 */
+	public void testGetView() {
+		// 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.binding.YBindingSet#addBinding(org.eclipse.osbp.ecview.core.common.model.binding.YBinding) <em>Add Binding</em>}' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.ecview.core.common.model.binding.YBindingSet#addBinding(org.eclipse.osbp.ecview.core.common.model.binding.YBinding)
+	 * @generated
+	 */
+	public void testAddBinding__YBinding() {
+		// 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.binding.YBindingSet#removeBinding(org.eclipse.osbp.ecview.core.common.model.binding.YBinding) <em>Remove Binding</em>}' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.ecview.core.common.model.binding.YBindingSet#removeBinding(org.eclipse.osbp.ecview.core.common.model.binding.YBinding)
+	 * @generated
+	 */
+	public void testRemoveBinding__YBinding() {
+		// TODO: implement this operation test method
+		// Ensure that you remove @generated or mark it @generated NOT
+		fail();
+	}
+
+} //YBindingSetTest
diff --git a/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/binding/tests/YBindingTest.java b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/binding/tests/YBindingTest.java
new file mode 100644
index 0000000..a6fedfc
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/binding/tests/YBindingTest.java
@@ -0,0 +1,116 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.common.model.binding.tests;
+
+import junit.framework.TestCase;
+
+import org.eclipse.osbp.ecview.core.common.model.binding.YBinding;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YBinding</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following operations are tested:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.ecview.core.common.model.binding.YBinding#getBindingSet() <em>Get Binding Set</em>}</li>
+ *   <li>{@link org.eclipse.osbp.ecview.core.common.model.binding.YBinding#isBindsElement(org.eclipse.osbp.ecview.core.common.model.core.YElement) <em>Is Binds Element</em>}</li>
+ *   <li>{@link org.eclipse.osbp.ecview.core.common.model.binding.YBinding#getTargetEndpoint() <em>Get Target Endpoint</em>}</li>
+ *   <li>{@link org.eclipse.osbp.ecview.core.common.model.binding.YBinding#getModelEndpoint() <em>Get Model Endpoint</em>}</li>
+ * </ul>
+ * </p>
+ * @generated
+ */
+public abstract class YBindingTest extends TestCase {
+
+	/**
+	 * The fixture for this YBinding test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YBinding fixture = null;
+
+	/**
+	 * Constructs a new YBinding test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YBindingTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this YBinding test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(YBinding fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this YBinding test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YBinding getFixture() {
+		return fixture;
+	}
+
+	/**
+	 * Tests the '{@link org.eclipse.osbp.ecview.core.common.model.binding.YBinding#getBindingSet() <em>Get Binding Set</em>}' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.ecview.core.common.model.binding.YBinding#getBindingSet()
+	 * @generated
+	 */
+	public void testGetBindingSet() {
+		// 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.binding.YBinding#isBindsElement(org.eclipse.osbp.ecview.core.common.model.core.YElement) <em>Is Binds Element</em>}' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.ecview.core.common.model.binding.YBinding#isBindsElement(org.eclipse.osbp.ecview.core.common.model.core.YElement)
+	 * @generated
+	 */
+	public void testIsBindsElement__YElement() {
+		// 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.binding.YBinding#getTargetEndpoint() <em>Get Target Endpoint</em>}' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.ecview.core.common.model.binding.YBinding#getTargetEndpoint()
+	 * @generated
+	 */
+	public void testGetTargetEndpoint() {
+		// 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.binding.YBinding#getModelEndpoint() <em>Get Model Endpoint</em>}' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.ecview.core.common.model.binding.YBinding#getModelEndpoint()
+	 * @generated
+	 */
+	public void testGetModelEndpoint() {
+		// TODO: implement this operation test method
+		// Ensure that you remove @generated or mark it @generated NOT
+		fail();
+	}
+
+} //YBindingTest
diff --git a/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/binding/tests/YDetailValueBindingEndpointTest.java b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/binding/tests/YDetailValueBindingEndpointTest.java
new file mode 100644
index 0000000..e3db73f
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/binding/tests/YDetailValueBindingEndpointTest.java
@@ -0,0 +1,70 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.common.model.binding.tests;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.core.common.model.binding.BindingFactory;
+import org.eclipse.osbp.ecview.core.common.model.binding.YDetailValueBindingEndpoint;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YDetail Value Binding Endpoint</b></em>'.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class YDetailValueBindingEndpointTest extends YValueBindingEndpointTest {
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YDetailValueBindingEndpointTest.class);
+	}
+
+	/**
+	 * Constructs a new YDetail Value Binding Endpoint test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YDetailValueBindingEndpointTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Returns the fixture for this YDetail Value Binding Endpoint test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected YDetailValueBindingEndpoint getFixture() {
+		return (YDetailValueBindingEndpoint)fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(BindingFactory.eINSTANCE.createYDetailValueBindingEndpoint());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#tearDown()
+	 * @generated
+	 */
+	@Override
+	protected void tearDown() throws Exception {
+		setFixture(null);
+	}
+
+} //YDetailValueBindingEndpointTest
diff --git a/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/binding/tests/YECViewModelListBindingEndpointTest.java b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/binding/tests/YECViewModelListBindingEndpointTest.java
new file mode 100644
index 0000000..bc4362c
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/binding/tests/YECViewModelListBindingEndpointTest.java
@@ -0,0 +1,70 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.common.model.binding.tests;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.core.common.model.binding.BindingFactory;
+import org.eclipse.osbp.ecview.core.common.model.binding.YECViewModelListBindingEndpoint;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YEC View Model List Binding Endpoint</b></em>'.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class YECViewModelListBindingEndpointTest extends YListBindingEndpointTest {
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YECViewModelListBindingEndpointTest.class);
+	}
+
+	/**
+	 * Constructs a new YEC View Model List Binding Endpoint test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YECViewModelListBindingEndpointTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Returns the fixture for this YEC View Model List Binding Endpoint test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected YECViewModelListBindingEndpoint getFixture() {
+		return (YECViewModelListBindingEndpoint)fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(BindingFactory.eINSTANCE.createYECViewModelListBindingEndpoint());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#tearDown()
+	 * @generated
+	 */
+	@Override
+	protected void tearDown() throws Exception {
+		setFixture(null);
+	}
+
+} //YECViewModelListBindingEndpointTest
diff --git a/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/binding/tests/YECViewModelValueBindingEndpointTest.java b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/binding/tests/YECViewModelValueBindingEndpointTest.java
new file mode 100644
index 0000000..4ffbeac
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/binding/tests/YECViewModelValueBindingEndpointTest.java
@@ -0,0 +1,70 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.common.model.binding.tests;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.core.common.model.binding.BindingFactory;
+import org.eclipse.osbp.ecview.core.common.model.binding.YECViewModelValueBindingEndpoint;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YEC View Model Value Binding Endpoint</b></em>'.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class YECViewModelValueBindingEndpointTest extends YValueBindingEndpointTest {
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YECViewModelValueBindingEndpointTest.class);
+	}
+
+	/**
+	 * Constructs a new YEC View Model Value Binding Endpoint test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YECViewModelValueBindingEndpointTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Returns the fixture for this YEC View Model Value Binding Endpoint test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected YECViewModelValueBindingEndpoint getFixture() {
+		return (YECViewModelValueBindingEndpoint)fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(BindingFactory.eINSTANCE.createYECViewModelValueBindingEndpoint());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#tearDown()
+	 * @generated
+	 */
+	@Override
+	protected void tearDown() throws Exception {
+		setFixture(null);
+	}
+
+} //YECViewModelValueBindingEndpointTest
diff --git a/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/binding/tests/YEnumListBindingEndpointTest.java b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/binding/tests/YEnumListBindingEndpointTest.java
new file mode 100644
index 0000000..19a1291
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/binding/tests/YEnumListBindingEndpointTest.java
@@ -0,0 +1,70 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.common.model.binding.tests;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.core.common.model.binding.BindingFactory;
+import org.eclipse.osbp.ecview.core.common.model.binding.YEnumListBindingEndpoint;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YEnum List Binding Endpoint</b></em>'.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class YEnumListBindingEndpointTest extends YListBindingEndpointTest {
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YEnumListBindingEndpointTest.class);
+	}
+
+	/**
+	 * Constructs a new YEnum List Binding Endpoint test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YEnumListBindingEndpointTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Returns the fixture for this YEnum List Binding Endpoint test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected YEnumListBindingEndpoint getFixture() {
+		return (YEnumListBindingEndpoint)fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(BindingFactory.eINSTANCE.createYEnumListBindingEndpoint());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#tearDown()
+	 * @generated
+	 */
+	@Override
+	protected void tearDown() throws Exception {
+		setFixture(null);
+	}
+
+} //YEnumListBindingEndpointTest
diff --git a/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/binding/tests/YListBindingEndpointTest.java b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/binding/tests/YListBindingEndpointTest.java
new file mode 100644
index 0000000..c8d6654
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/binding/tests/YListBindingEndpointTest.java
@@ -0,0 +1,36 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.common.model.binding.tests;
+
+import org.eclipse.osbp.ecview.core.common.model.binding.YListBindingEndpoint;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YList Binding Endpoint</b></em>'.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public abstract class YListBindingEndpointTest extends YBindingEndpointTest {
+
+	/**
+	 * Constructs a new YList Binding Endpoint test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YListBindingEndpointTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Returns the fixture for this YList Binding Endpoint test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected YListBindingEndpoint getFixture() {
+		return (YListBindingEndpoint)fixture;
+	}
+
+} //YListBindingEndpointTest
diff --git a/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/binding/tests/YListBindingTest.java b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/binding/tests/YListBindingTest.java
new file mode 100644
index 0000000..358e37e
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/binding/tests/YListBindingTest.java
@@ -0,0 +1,70 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.common.model.binding.tests;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.core.common.model.binding.BindingFactory;
+import org.eclipse.osbp.ecview.core.common.model.binding.YListBinding;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YList Binding</b></em>'.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class YListBindingTest extends YBindingTest {
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YListBindingTest.class);
+	}
+
+	/**
+	 * Constructs a new YList Binding test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YListBindingTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Returns the fixture for this YList Binding test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected YListBinding getFixture() {
+		return (YListBinding)fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(BindingFactory.eINSTANCE.createYListBinding());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#tearDown()
+	 * @generated
+	 */
+	@Override
+	protected void tearDown() throws Exception {
+		setFixture(null);
+	}
+
+} //YListBindingTest
diff --git a/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/binding/tests/YNoOpListBindingEndpointTest.java b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/binding/tests/YNoOpListBindingEndpointTest.java
new file mode 100644
index 0000000..6052a08
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/binding/tests/YNoOpListBindingEndpointTest.java
@@ -0,0 +1,70 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.common.model.binding.tests;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.core.common.model.binding.BindingFactory;
+import org.eclipse.osbp.ecview.core.common.model.binding.YNoOpListBindingEndpoint;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YNo Op List Binding Endpoint</b></em>'.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class YNoOpListBindingEndpointTest extends YListBindingEndpointTest {
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YNoOpListBindingEndpointTest.class);
+	}
+
+	/**
+	 * Constructs a new YNo Op List Binding Endpoint test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YNoOpListBindingEndpointTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Returns the fixture for this YNo Op List Binding Endpoint test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected YNoOpListBindingEndpoint getFixture() {
+		return (YNoOpListBindingEndpoint)fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(BindingFactory.eINSTANCE.createYNoOpListBindingEndpoint());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#tearDown()
+	 * @generated
+	 */
+	@Override
+	protected void tearDown() throws Exception {
+		setFixture(null);
+	}
+
+} //YNoOpListBindingEndpointTest
diff --git a/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/binding/tests/YNoOpValueBindingEndpointTest.java b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/binding/tests/YNoOpValueBindingEndpointTest.java
new file mode 100644
index 0000000..34df123
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/binding/tests/YNoOpValueBindingEndpointTest.java
@@ -0,0 +1,70 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.common.model.binding.tests;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.core.common.model.binding.BindingFactory;
+import org.eclipse.osbp.ecview.core.common.model.binding.YNoOpValueBindingEndpoint;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YNo Op Value Binding Endpoint</b></em>'.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class YNoOpValueBindingEndpointTest extends YValueBindingEndpointTest {
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YNoOpValueBindingEndpointTest.class);
+	}
+
+	/**
+	 * Constructs a new YNo Op Value Binding Endpoint test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YNoOpValueBindingEndpointTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Returns the fixture for this YNo Op Value Binding Endpoint test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected YNoOpValueBindingEndpoint getFixture() {
+		return (YNoOpValueBindingEndpoint)fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(BindingFactory.eINSTANCE.createYNoOpValueBindingEndpoint());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#tearDown()
+	 * @generated
+	 */
+	@Override
+	protected void tearDown() throws Exception {
+		setFixture(null);
+	}
+
+} //YNoOpValueBindingEndpointTest
diff --git a/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/binding/tests/YValueBindingEndpointTest.java b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/binding/tests/YValueBindingEndpointTest.java
new file mode 100644
index 0000000..1d19689
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/binding/tests/YValueBindingEndpointTest.java
@@ -0,0 +1,55 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.common.model.binding.tests;
+
+import org.eclipse.osbp.ecview.core.common.model.binding.YValueBindingEndpoint;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YValue Binding Endpoint</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following operations are tested:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.ecview.core.common.model.binding.YValueBindingEndpoint#createDetailValueEndpoint() <em>Create Detail Value Endpoint</em>}</li>
+ * </ul>
+ * </p>
+ * @generated
+ */
+public abstract class YValueBindingEndpointTest extends YBindingEndpointTest {
+
+	/**
+	 * Constructs a new YValue Binding Endpoint test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YValueBindingEndpointTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Returns the fixture for this YValue Binding Endpoint test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected YValueBindingEndpoint getFixture() {
+		return (YValueBindingEndpoint)fixture;
+	}
+
+	/**
+	 * Tests the '{@link org.eclipse.osbp.ecview.core.common.model.binding.YValueBindingEndpoint#createDetailValueEndpoint() <em>Create Detail Value Endpoint</em>}' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.ecview.core.common.model.binding.YValueBindingEndpoint#createDetailValueEndpoint()
+	 * @generated
+	 */
+	public void testCreateDetailValueEndpoint() {
+		// TODO: implement this operation test method
+		// Ensure that you remove @generated or mark it @generated NOT
+		fail();
+	}
+
+} //YValueBindingEndpointTest
diff --git a/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/binding/tests/YValueBindingTest.java b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/binding/tests/YValueBindingTest.java
new file mode 100644
index 0000000..766c7d1
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/binding/tests/YValueBindingTest.java
@@ -0,0 +1,70 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.common.model.binding.tests;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.core.common.model.binding.BindingFactory;
+import org.eclipse.osbp.ecview.core.common.model.binding.YValueBinding;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YValue Binding</b></em>'.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class YValueBindingTest extends YBindingTest {
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YValueBindingTest.class);
+	}
+
+	/**
+	 * Constructs a new YValue Binding test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YValueBindingTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Returns the fixture for this YValue Binding test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected YValueBinding getFixture() {
+		return (YValueBinding)fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(BindingFactory.eINSTANCE.createYValueBinding());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#tearDown()
+	 * @generated
+	 */
+	@Override
+	protected void tearDown() throws Exception {
+		setFixture(null);
+	}
+
+} //YValueBindingTest
diff --git a/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/binding/tests/YVisibilityProcessorValueBindingEndpointTest.java b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/binding/tests/YVisibilityProcessorValueBindingEndpointTest.java
new file mode 100644
index 0000000..22b5954
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/binding/tests/YVisibilityProcessorValueBindingEndpointTest.java
@@ -0,0 +1,70 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.common.model.binding.tests;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.core.common.model.binding.BindingFactory;
+import org.eclipse.osbp.ecview.core.common.model.binding.YVisibilityProcessorValueBindingEndpoint;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YVisibility Processor Value Binding Endpoint</b></em>'.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class YVisibilityProcessorValueBindingEndpointTest extends YValueBindingEndpointTest {
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YVisibilityProcessorValueBindingEndpointTest.class);
+	}
+
+	/**
+	 * Constructs a new YVisibility Processor Value Binding Endpoint test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YVisibilityProcessorValueBindingEndpointTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Returns the fixture for this YVisibility Processor Value Binding Endpoint test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected YVisibilityProcessorValueBindingEndpoint getFixture() {
+		return (YVisibilityProcessorValueBindingEndpoint)fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(BindingFactory.eINSTANCE.createYVisibilityProcessorValueBindingEndpoint());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#tearDown()
+	 * @generated
+	 */
+	@Override
+	protected void tearDown() throws Exception {
+		setFixture(null);
+	}
+
+} //YVisibilityProcessorValueBindingEndpointTest
diff --git a/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/authorization/tests/AuthorizationExample.java b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/authorization/tests/AuthorizationExample.java
new file mode 100644
index 0000000..a235f30
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/authorization/tests/AuthorizationExample.java
@@ -0,0 +1,121 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.common.model.core.authorization.tests;
+
+import java.io.File;
+import java.io.IOException;
+
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.URI;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.ResourceSet;
+
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+
+import org.eclipse.emf.ecore.util.Diagnostician;
+
+import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl;
+
+import org.eclipse.osbp.ecview.core.common.model.core.authorization.AuthorizationFactory;
+import org.eclipse.osbp.ecview.core.common.model.core.authorization.AuthorizationPackage;
+import org.eclipse.osbp.ecview.core.common.model.core.authorization.YAuthorizationStore;
+
+/**
+ * <!-- begin-user-doc -->
+ * A sample utility for the '<em><b>authorization</b></em>' package.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class AuthorizationExample {
+	/**
+	 * <!-- begin-user-doc -->
+	 * Load all the argument file paths or URIs as instances of the model.
+	 * <!-- end-user-doc -->
+	 * @param args the file paths or URIs.
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		// Create a resource set to hold the resources.
+		//
+		ResourceSet resourceSet = new ResourceSetImpl();
+		
+		// Register the appropriate resource factory to handle all file extensions.
+		//
+		resourceSet.getResourceFactoryRegistry().getExtensionToFactoryMap().put
+			(Resource.Factory.Registry.DEFAULT_EXTENSION, 
+			 new XMIResourceFactoryImpl());
+
+		// Register the package to ensure it is available during loading.
+		//
+		resourceSet.getPackageRegistry().put
+			(AuthorizationPackage.eNS_URI, 
+			 AuthorizationPackage.eINSTANCE);
+        
+		// If there are no arguments, emit an appropriate usage message.
+		//
+		if (args.length == 0) {
+			System.out.println("Enter a list of file paths or URIs that have content like this:");
+			try {
+				Resource resource = resourceSet.createResource(URI.createURI("http:///My.authorization"));
+				YAuthorizationStore root = AuthorizationFactory.eINSTANCE.createYAuthorizationStore();
+				resource.getContents().add(root);
+				resource.save(System.out, null);
+			}
+			catch (IOException exception) {
+				exception.printStackTrace();
+			}
+		}
+		else {
+			// Iterate over all the arguments.
+			//
+			for (int i = 0; i < args.length; ++i) {
+				// Construct the URI for the instance file.
+				// The argument is treated as a file path only if it denotes an existing file.
+				// Otherwise, it's directly treated as a URL.
+				//
+				File file = new File(args[i]);
+				URI uri = file.isFile() ? URI.createFileURI(file.getAbsolutePath()): URI.createURI(args[i]);
+
+				try {
+					// Demand load resource for this file.
+					//
+					Resource resource = resourceSet.getResource(uri, true);
+					System.out.println("Loaded " + uri);
+
+					// Validate the contents of the loaded resource.
+					//
+					for (EObject eObject : resource.getContents()) {
+						Diagnostic diagnostic = Diagnostician.INSTANCE.validate(eObject);
+						if (diagnostic.getSeverity() != Diagnostic.OK) {
+							printDiagnostic(diagnostic, "");
+						}
+					}
+				}
+				catch (RuntimeException exception) {
+					System.out.println("Problem loading " + uri);
+					exception.printStackTrace();
+				}
+			}
+		}
+	}
+	
+	/**
+	 * <!-- begin-user-doc -->
+	 * Prints diagnostics with indentation.
+	 * <!-- end-user-doc -->
+	 * @param diagnostic the diagnostic to print.
+	 * @param indent the indentation for printing.
+	 * @generated
+	 */
+	protected static void printDiagnostic(Diagnostic diagnostic, String indent) {
+		System.out.print(indent);
+		System.out.println(diagnostic.getMessage());
+		for (Diagnostic child : diagnostic.getChildren()) {
+			printDiagnostic(child, indent + "  ");
+		}
+	}
+
+} //AuthorizationExample
diff --git a/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/authorization/tests/AuthorizationTests.java b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/authorization/tests/AuthorizationTests.java
new file mode 100644
index 0000000..da66e53
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/authorization/tests/AuthorizationTests.java
@@ -0,0 +1,46 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.common.model.core.authorization.tests;
+
+import junit.framework.Test;
+import junit.framework.TestSuite;
+
+import junit.textui.TestRunner;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test suite for the '<em><b>authorization</b></em>' package.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class AuthorizationTests extends TestSuite {
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(suite());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static Test suite() {
+		TestSuite suite = new AuthorizationTests("authorization Tests");
+		return suite;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public AuthorizationTests(String name) {
+		super(name);
+	}
+
+} //AuthorizationTests
diff --git a/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/authorization/tests/YAuthorizationStoreTest.java b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/authorization/tests/YAuthorizationStoreTest.java
new file mode 100644
index 0000000..6b8cc39
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/authorization/tests/YAuthorizationStoreTest.java
@@ -0,0 +1,89 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.common.model.core.authorization.tests;
+
+import junit.framework.TestCase;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.core.common.model.core.authorization.AuthorizationFactory;
+import org.eclipse.osbp.ecview.core.common.model.core.authorization.YAuthorizationStore;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YAuthorization Store</b></em>'.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class YAuthorizationStoreTest extends TestCase {
+
+	/**
+	 * The fixture for this YAuthorization Store test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YAuthorizationStore fixture = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YAuthorizationStoreTest.class);
+	}
+
+	/**
+	 * Constructs a new YAuthorization Store test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YAuthorizationStoreTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this YAuthorization Store test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(YAuthorizationStore fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this YAuthorization Store test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YAuthorizationStore getFixture() {
+		return fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(AuthorizationFactory.eINSTANCE.createYAuthorizationStore());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#tearDown()
+	 * @generated
+	 */
+	@Override
+	protected void tearDown() throws Exception {
+		setFixture(null);
+	}
+
+} //YAuthorizationStoreTest
diff --git a/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/authorization/tests/YAuthorizationTest.java b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/authorization/tests/YAuthorizationTest.java
new file mode 100644
index 0000000..ffbc887
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/authorization/tests/YAuthorizationTest.java
@@ -0,0 +1,55 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.common.model.core.authorization.tests;
+
+import junit.framework.TestCase;
+
+import org.eclipse.osbp.ecview.core.common.model.core.authorization.YAuthorization;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YAuthorization</b></em>'.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public abstract class YAuthorizationTest extends TestCase {
+
+	/**
+	 * The fixture for this YAuthorization test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YAuthorization fixture = null;
+
+	/**
+	 * Constructs a new YAuthorization test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YAuthorizationTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this YAuthorization test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(YAuthorization fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this YAuthorization test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YAuthorization getFixture() {
+		return fixture;
+	}
+
+} //YAuthorizationTest
diff --git a/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/authorization/tests/YFieldAuthorizationTest.java b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/authorization/tests/YFieldAuthorizationTest.java
new file mode 100644
index 0000000..3108be6
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/authorization/tests/YFieldAuthorizationTest.java
@@ -0,0 +1,89 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.common.model.core.authorization.tests;
+
+import junit.framework.TestCase;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.core.common.model.core.authorization.AuthorizationFactory;
+import org.eclipse.osbp.ecview.core.common.model.core.authorization.YFieldAuthorization;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YField Authorization</b></em>'.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class YFieldAuthorizationTest extends TestCase {
+
+	/**
+	 * The fixture for this YField Authorization test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YFieldAuthorization fixture = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YFieldAuthorizationTest.class);
+	}
+
+	/**
+	 * Constructs a new YField Authorization test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YFieldAuthorizationTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this YField Authorization test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(YFieldAuthorization fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this YField Authorization test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YFieldAuthorization getFixture() {
+		return fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(AuthorizationFactory.eINSTANCE.createYFieldAuthorization());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#tearDown()
+	 * @generated
+	 */
+	@Override
+	protected void tearDown() throws Exception {
+		setFixture(null);
+	}
+
+} //YFieldAuthorizationTest
diff --git a/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/CoreModelExample.java b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/CoreModelExample.java
new file mode 100644
index 0000000..23929b0
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/CoreModelExample.java
@@ -0,0 +1,121 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.common.model.core.tests;
+
+import java.io.File;
+import java.io.IOException;
+
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.URI;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.ResourceSet;
+
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+
+import org.eclipse.emf.ecore.util.Diagnostician;
+
+import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl;
+
+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.core.common.model.core.YLayout;
+
+/**
+ * <!-- begin-user-doc -->
+ * A sample utility for the '<em><b>core</b></em>' package.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class CoreModelExample {
+	/**
+	 * <!-- begin-user-doc -->
+	 * Load all the argument file paths or URIs as instances of the model.
+	 * <!-- end-user-doc -->
+	 * @param args the file paths or URIs.
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		// Create a resource set to hold the resources.
+		//
+		ResourceSet resourceSet = new ResourceSetImpl();
+		
+		// Register the appropriate resource factory to handle all file extensions.
+		//
+		resourceSet.getResourceFactoryRegistry().getExtensionToFactoryMap().put
+			(Resource.Factory.Registry.DEFAULT_EXTENSION, 
+			 new XMIResourceFactoryImpl());
+
+		// Register the package to ensure it is available during loading.
+		//
+		resourceSet.getPackageRegistry().put
+			(CoreModelPackage.eNS_URI, 
+			 CoreModelPackage.eINSTANCE);
+        
+		// If there are no arguments, emit an appropriate usage message.
+		//
+		if (args.length == 0) {
+			System.out.println("Enter a list of file paths or URIs that have content like this:");
+			try {
+				Resource resource = resourceSet.createResource(URI.createURI("http:///My.coremodel"));
+				YLayout root = CoreModelFactory.eINSTANCE.createYLayout();
+				resource.getContents().add(root);
+				resource.save(System.out, null);
+			}
+			catch (IOException exception) {
+				exception.printStackTrace();
+			}
+		}
+		else {
+			// Iterate over all the arguments.
+			//
+			for (int i = 0; i < args.length; ++i) {
+				// Construct the URI for the instance file.
+				// The argument is treated as a file path only if it denotes an existing file.
+				// Otherwise, it's directly treated as a URL.
+				//
+				File file = new File(args[i]);
+				URI uri = file.isFile() ? URI.createFileURI(file.getAbsolutePath()): URI.createURI(args[i]);
+
+				try {
+					// Demand load resource for this file.
+					//
+					Resource resource = resourceSet.getResource(uri, true);
+					System.out.println("Loaded " + uri);
+
+					// Validate the contents of the loaded resource.
+					//
+					for (EObject eObject : resource.getContents()) {
+						Diagnostic diagnostic = Diagnostician.INSTANCE.validate(eObject);
+						if (diagnostic.getSeverity() != Diagnostic.OK) {
+							printDiagnostic(diagnostic, "");
+						}
+					}
+				}
+				catch (RuntimeException exception) {
+					System.out.println("Problem loading " + uri);
+					exception.printStackTrace();
+				}
+			}
+		}
+	}
+	
+	/**
+	 * <!-- begin-user-doc -->
+	 * Prints diagnostics with indentation.
+	 * <!-- end-user-doc -->
+	 * @param diagnostic the diagnostic to print.
+	 * @param indent the indentation for printing.
+	 * @generated
+	 */
+	protected static void printDiagnostic(Diagnostic diagnostic, String indent) {
+		System.out.print(indent);
+		System.out.println(diagnostic.getMessage());
+		for (Diagnostic child : diagnostic.getChildren()) {
+			printDiagnostic(child, indent + "  ");
+		}
+	}
+
+} //CoreModelExample
diff --git a/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/CoreModelTests.java b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/CoreModelTests.java
new file mode 100644
index 0000000..d053e9e
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/CoreModelTests.java
@@ -0,0 +1,65 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.common.model.core.tests;
+
+import junit.framework.Test;
+import junit.framework.TestSuite;
+
+import junit.textui.TestRunner;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test suite for the '<em><b>core</b></em>' package.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class CoreModelTests extends TestSuite {
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(suite());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static Test suite() {
+		TestSuite suite = new CoreModelTests("core Tests");
+		suite.addTestSuite(YLayoutTest.class);
+		suite.addTestSuite(YHelperLayoutTest.class);
+		suite.addTestSuite(YFieldTest.class);
+		suite.addTestSuite(YViewTest.class);
+		suite.addTestSuite(YDialogTest.class);
+		suite.addTestSuite(YActionTest.class);
+		suite.addTestSuite(YContextValueBindingEndpointTest.class);
+		suite.addTestSuite(YBeanSlotValueBindingEndpointTest.class);
+		suite.addTestSuite(YBeanSlotListBindingEndpointTest.class);
+		suite.addTestSuite(YEmbeddableValueEndpointTest.class);
+		suite.addTestSuite(YEmbeddableSelectionEndpointTest.class);
+		suite.addTestSuite(YEmbeddableMultiSelectionEndpointTest.class);
+		suite.addTestSuite(YEmbeddableCollectionEndpointTest.class);
+		suite.addTestSuite(YActivatedEndpointTest.class);
+		suite.addTestSuite(YCommandSetTest.class);
+		suite.addTestSuite(YOpenDialogCommandTest.class);
+		suite.addTestSuite(YExposedActionTest.class);
+		suite.addTestSuite(YSendEventCommandTest.class);
+		suite.addTestSuite(YKeyStrokeDefinitionTest.class);
+		return suite;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CoreModelTests(String name) {
+		super(name);
+	}
+
+} //CoreModelTests
diff --git a/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YActionTest.java b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YActionTest.java
new file mode 100644
index 0000000..9a66d9d
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YActionTest.java
@@ -0,0 +1,102 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.common.model.core.tests;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.core.common.model.core.CoreModelFactory;
+import org.eclipse.osbp.ecview.core.common.model.core.YAction;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YAction</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are tested:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.ecview.core.common.model.core.YEnable#isEnabled() <em>Enabled</em>}</li>
+ * </ul>
+ * </p>
+ * @generated
+ */
+public class YActionTest extends YEmbeddableTest {
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YActionTest.class);
+	}
+
+	/**
+	 * Constructs a new YAction test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YActionTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Returns the fixture for this YAction test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected YAction getFixture() {
+		return (YAction)fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(CoreModelFactory.eINSTANCE.createYAction());
+	}
+
+	/**
+	 * <!-- 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.YEnable#isEnabled() <em>Enabled</em>}' feature getter.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.ecview.core.common.model.core.YEnable#isEnabled()
+	 * @generated
+	 */
+	public void testIsEnabled() {
+		// TODO: implement this feature getter test method
+		// Ensure that you remove @generated or mark it @generated NOT
+		fail();
+	}
+
+	/**
+	 * Tests the '{@link org.eclipse.osbp.ecview.core.common.model.core.YEnable#setEnabled(boolean) <em>Enabled</em>}' feature setter.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.ecview.core.common.model.core.YEnable#setEnabled(boolean)
+	 * @generated
+	 */
+	public void testSetEnabled() {
+		// TODO: implement this feature setter test method
+		// Ensure that you remove @generated or mark it @generated NOT
+		fail();
+	}
+
+} //YActionTest
diff --git a/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YActivateableTest.java b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YActivateableTest.java
new file mode 100644
index 0000000..65ea07d
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YActivateableTest.java
@@ -0,0 +1,87 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.common.model.core.tests;
+
+import junit.framework.TestCase;
+
+import org.eclipse.osbp.ecview.core.common.model.core.YActivateable;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YActivateable</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are tested:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.ecview.core.common.model.core.YActivateable#isActivated() <em>Activated</em>}</li>
+ * </ul>
+ * </p>
+ * @generated
+ */
+public abstract class YActivateableTest extends TestCase {
+
+	/**
+	 * The fixture for this YActivateable test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YActivateable fixture = null;
+
+	/**
+	 * Constructs a new YActivateable test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YActivateableTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this YActivateable test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(YActivateable fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this YActivateable test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YActivateable getFixture() {
+		return fixture;
+	}
+
+	/**
+	 * Tests the '{@link org.eclipse.osbp.ecview.core.common.model.core.YActivateable#isActivated() <em>Activated</em>}' feature getter.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.ecview.core.common.model.core.YActivateable#isActivated()
+	 * @generated
+	 */
+	public void testIsActivated() {
+		// TODO: implement this feature getter test method
+		// Ensure that you remove @generated or mark it @generated NOT
+		fail();
+	}
+
+	/**
+	 * Tests the '{@link org.eclipse.osbp.ecview.core.common.model.core.YActivateable#setActivated(boolean) <em>Activated</em>}' feature setter.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.ecview.core.common.model.core.YActivateable#setActivated(boolean)
+	 * @generated
+	 */
+	public void testSetActivated() {
+		// TODO: implement this feature setter test method
+		// Ensure that you remove @generated or mark it @generated NOT
+		fail();
+	}
+
+} //YActivateableTest
diff --git a/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YActivatedEndpointTest.java b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YActivatedEndpointTest.java
new file mode 100644
index 0000000..9835491
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YActivatedEndpointTest.java
@@ -0,0 +1,72 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.common.model.core.tests;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.core.common.model.binding.tests.YValueBindingEndpointTest;
+
+import org.eclipse.osbp.ecview.core.common.model.core.CoreModelFactory;
+import org.eclipse.osbp.ecview.core.common.model.core.YActivatedEndpoint;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YActivated Endpoint</b></em>'.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class YActivatedEndpointTest extends YValueBindingEndpointTest {
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YActivatedEndpointTest.class);
+	}
+
+	/**
+	 * Constructs a new YActivated Endpoint test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YActivatedEndpointTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Returns the fixture for this YActivated Endpoint test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected YActivatedEndpoint getFixture() {
+		return (YActivatedEndpoint)fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(CoreModelFactory.eINSTANCE.createYActivatedEndpoint());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#tearDown()
+	 * @generated
+	 */
+	@Override
+	protected void tearDown() throws Exception {
+		setFixture(null);
+	}
+
+} //YActivatedEndpointTest
diff --git a/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YAlignmentContainerTest.java b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YAlignmentContainerTest.java
new file mode 100644
index 0000000..dc7f5e8
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YAlignmentContainerTest.java
@@ -0,0 +1,74 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.common.model.core.tests;
+
+import junit.framework.TestCase;
+
+import org.eclipse.osbp.ecview.core.common.model.core.YAlignmentContainer;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YAlignment Container</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following operations are tested:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.ecview.core.common.model.core.YAlignmentContainer#applyAlignment(org.eclipse.osbp.ecview.core.common.model.core.YEmbeddable, org.eclipse.osbp.ecview.core.common.model.core.YAlignment) <em>Apply Alignment</em>}</li>
+ * </ul>
+ * </p>
+ * @generated
+ */
+public abstract class YAlignmentContainerTest extends TestCase {
+
+	/**
+	 * The fixture for this YAlignment Container test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YAlignmentContainer fixture = null;
+
+	/**
+	 * Constructs a new YAlignment Container test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YAlignmentContainerTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this YAlignment Container test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(YAlignmentContainer fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this YAlignment Container test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YAlignmentContainer getFixture() {
+		return fixture;
+	}
+
+	/**
+	 * Tests the '{@link org.eclipse.osbp.ecview.core.common.model.core.YAlignmentContainer#applyAlignment(org.eclipse.osbp.ecview.core.common.model.core.YEmbeddable, org.eclipse.osbp.ecview.core.common.model.core.YAlignment) <em>Apply Alignment</em>}' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.ecview.core.common.model.core.YAlignmentContainer#applyAlignment(org.eclipse.osbp.ecview.core.common.model.core.YEmbeddable, org.eclipse.osbp.ecview.core.common.model.core.YAlignment)
+	 * @generated
+	 */
+	public void testApplyAlignment__YEmbeddable_YAlignment() {
+		// TODO: implement this operation test method
+		// Ensure that you remove @generated or mark it @generated NOT
+		fail();
+	}
+
+} //YAlignmentContainerTest
diff --git a/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YAuthorizationableTest.java b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YAuthorizationableTest.java
new file mode 100644
index 0000000..f0deadd
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YAuthorizationableTest.java
@@ -0,0 +1,55 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.common.model.core.tests;
+
+import junit.framework.TestCase;
+
+import org.eclipse.osbp.ecview.core.common.model.core.YAuthorizationable;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YAuthorizationable</b></em>'.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public abstract class YAuthorizationableTest extends TestCase {
+
+	/**
+	 * The fixture for this YAuthorizationable test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YAuthorizationable fixture = null;
+
+	/**
+	 * Constructs a new YAuthorizationable test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YAuthorizationableTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this YAuthorizationable test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(YAuthorizationable fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this YAuthorizationable test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YAuthorizationable getFixture() {
+		return fixture;
+	}
+
+} //YAuthorizationableTest
diff --git a/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YBeanSlotListBindingEndpointTest.java b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YBeanSlotListBindingEndpointTest.java
new file mode 100644
index 0000000..1112fb4
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YBeanSlotListBindingEndpointTest.java
@@ -0,0 +1,72 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.common.model.core.tests;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.core.common.model.binding.tests.YListBindingEndpointTest;
+
+import org.eclipse.osbp.ecview.core.common.model.core.CoreModelFactory;
+import org.eclipse.osbp.ecview.core.common.model.core.YBeanSlotListBindingEndpoint;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YBean Slot List Binding Endpoint</b></em>'.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class YBeanSlotListBindingEndpointTest extends YListBindingEndpointTest {
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YBeanSlotListBindingEndpointTest.class);
+	}
+
+	/**
+	 * Constructs a new YBean Slot List Binding Endpoint test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YBeanSlotListBindingEndpointTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Returns the fixture for this YBean Slot List Binding Endpoint test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected YBeanSlotListBindingEndpoint getFixture() {
+		return (YBeanSlotListBindingEndpoint)fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(CoreModelFactory.eINSTANCE.createYBeanSlotListBindingEndpoint());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#tearDown()
+	 * @generated
+	 */
+	@Override
+	protected void tearDown() throws Exception {
+		setFixture(null);
+	}
+
+} //YBeanSlotListBindingEndpointTest
diff --git a/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YBeanSlotTest.java b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YBeanSlotTest.java
new file mode 100644
index 0000000..8ac7d7b
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YBeanSlotTest.java
@@ -0,0 +1,89 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.common.model.core.tests;
+
+import junit.framework.TestCase;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.core.common.model.core.CoreModelFactory;
+import org.eclipse.osbp.ecview.core.common.model.core.YBeanSlot;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YBean Slot</b></em>'.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class YBeanSlotTest extends TestCase {
+
+	/**
+	 * The fixture for this YBean Slot test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YBeanSlot fixture = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YBeanSlotTest.class);
+	}
+
+	/**
+	 * Constructs a new YBean Slot test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YBeanSlotTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this YBean Slot test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(YBeanSlot fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this YBean Slot test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YBeanSlot getFixture() {
+		return fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(CoreModelFactory.eINSTANCE.createYBeanSlot());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#tearDown()
+	 * @generated
+	 */
+	@Override
+	protected void tearDown() throws Exception {
+		setFixture(null);
+	}
+
+} //YBeanSlotTest
diff --git a/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YBeanSlotValueBindingEndpointTest.java b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YBeanSlotValueBindingEndpointTest.java
new file mode 100644
index 0000000..bcecec5
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YBeanSlotValueBindingEndpointTest.java
@@ -0,0 +1,72 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.common.model.core.tests;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.core.common.model.binding.tests.YValueBindingEndpointTest;
+
+import org.eclipse.osbp.ecview.core.common.model.core.CoreModelFactory;
+import org.eclipse.osbp.ecview.core.common.model.core.YBeanSlotValueBindingEndpoint;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YBean Slot Value Binding Endpoint</b></em>'.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class YBeanSlotValueBindingEndpointTest extends YValueBindingEndpointTest {
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YBeanSlotValueBindingEndpointTest.class);
+	}
+
+	/**
+	 * Constructs a new YBean Slot Value Binding Endpoint test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YBeanSlotValueBindingEndpointTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Returns the fixture for this YBean Slot Value Binding Endpoint test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected YBeanSlotValueBindingEndpoint getFixture() {
+		return (YBeanSlotValueBindingEndpoint)fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(CoreModelFactory.eINSTANCE.createYBeanSlotValueBindingEndpoint());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#tearDown()
+	 * @generated
+	 */
+	@Override
+	protected void tearDown() throws Exception {
+		setFixture(null);
+	}
+
+} //YBeanSlotValueBindingEndpointTest
diff --git a/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YBindableTest.java b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YBindableTest.java
new file mode 100644
index 0000000..85fb0b6
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YBindableTest.java
@@ -0,0 +1,55 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.common.model.core.tests;
+
+import junit.framework.TestCase;
+
+import org.eclipse.osbp.ecview.core.common.model.core.YBindable;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YBindable</b></em>'.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public abstract class YBindableTest extends TestCase {
+
+	/**
+	 * The fixture for this YBindable test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YBindable fixture = null;
+
+	/**
+	 * Constructs a new YBindable test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YBindableTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this YBindable test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(YBindable fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this YBindable test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YBindable getFixture() {
+		return fixture;
+	}
+
+} //YBindableTest
diff --git a/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YBlurNotifierTest.java b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YBlurNotifierTest.java
new file mode 100644
index 0000000..857a593
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YBlurNotifierTest.java
@@ -0,0 +1,55 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.common.model.core.tests;
+
+import junit.framework.TestCase;
+
+import org.eclipse.osbp.ecview.core.common.model.core.YBlurNotifier;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YBlur Notifier</b></em>'.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public abstract class YBlurNotifierTest extends TestCase {
+
+	/**
+	 * The fixture for this YBlur Notifier test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YBlurNotifier fixture = null;
+
+	/**
+	 * Constructs a new YBlur Notifier test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YBlurNotifierTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this YBlur Notifier test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(YBlurNotifier fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this YBlur Notifier test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YBlurNotifier getFixture() {
+		return fixture;
+	}
+
+} //YBlurNotifierTest
diff --git a/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YCollectionBindableTest.java b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YCollectionBindableTest.java
new file mode 100644
index 0000000..b757e94
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YCollectionBindableTest.java
@@ -0,0 +1,74 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.common.model.core.tests;
+
+import junit.framework.TestCase;
+
+import org.eclipse.osbp.ecview.core.common.model.core.YCollectionBindable;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YCollection Bindable</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following operations are tested:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.ecview.core.common.model.core.YCollectionBindable#createCollectionEndpoint() <em>Create Collection Endpoint</em>}</li>
+ * </ul>
+ * </p>
+ * @generated
+ */
+public abstract class YCollectionBindableTest extends TestCase {
+
+	/**
+	 * The fixture for this YCollection Bindable test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YCollectionBindable fixture = null;
+
+	/**
+	 * Constructs a new YCollection Bindable test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YCollectionBindableTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this YCollection Bindable test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(YCollectionBindable fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this YCollection Bindable test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YCollectionBindable getFixture() {
+		return fixture;
+	}
+
+	/**
+	 * 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();
+	}
+
+} //YCollectionBindableTest
diff --git a/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YCommandSetTest.java b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YCommandSetTest.java
new file mode 100644
index 0000000..b9003e1
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YCommandSetTest.java
@@ -0,0 +1,136 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.common.model.core.tests;
+
+import junit.framework.TestCase;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.core.common.model.core.CoreModelFactory;
+import org.eclipse.osbp.ecview.core.common.model.core.YCommandSet;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YCommand Set</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following operations are tested:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.ecview.core.common.model.core.YCommandSet#getView() <em>Get View</em>}</li>
+ *   <li>{@link org.eclipse.osbp.ecview.core.common.model.core.YCommandSet#addCommand(org.eclipse.osbp.ecview.core.common.model.core.YCommand) <em>Add Command</em>}</li>
+ *   <li>{@link org.eclipse.osbp.ecview.core.common.model.core.YCommandSet#removeCommand(org.eclipse.osbp.ecview.core.common.model.core.YCommand) <em>Remove Command</em>}</li>
+ * </ul>
+ * </p>
+ * @generated
+ */
+public class YCommandSetTest extends TestCase {
+
+	/**
+	 * The fixture for this YCommand Set test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YCommandSet fixture = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YCommandSetTest.class);
+	}
+
+	/**
+	 * Constructs a new YCommand Set test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YCommandSetTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this YCommand Set test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(YCommandSet fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this YCommand Set test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YCommandSet getFixture() {
+		return fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(CoreModelFactory.eINSTANCE.createYCommandSet());
+	}
+
+	/**
+	 * <!-- 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.YCommandSet#getView() <em>Get View</em>}' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.ecview.core.common.model.core.YCommandSet#getView()
+	 * @generated
+	 */
+	public void testGetView() {
+		// 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.YCommandSet#addCommand(org.eclipse.osbp.ecview.core.common.model.core.YCommand) <em>Add Command</em>}' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.ecview.core.common.model.core.YCommandSet#addCommand(org.eclipse.osbp.ecview.core.common.model.core.YCommand)
+	 * @generated
+	 */
+	public void testAddCommand__YCommand() {
+		// 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.YCommandSet#removeCommand(org.eclipse.osbp.ecview.core.common.model.core.YCommand) <em>Remove Command</em>}' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.ecview.core.common.model.core.YCommandSet#removeCommand(org.eclipse.osbp.ecview.core.common.model.core.YCommand)
+	 * @generated
+	 */
+	public void testRemoveCommand__YCommand() {
+		// TODO: implement this operation test method
+		// Ensure that you remove @generated or mark it @generated NOT
+		fail();
+	}
+
+} //YCommandSetTest
diff --git a/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YCommandTest.java b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YCommandTest.java
new file mode 100644
index 0000000..9fca3c3
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YCommandTest.java
@@ -0,0 +1,74 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.common.model.core.tests;
+
+import junit.framework.TestCase;
+
+import org.eclipse.osbp.ecview.core.common.model.core.YCommand;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YCommand</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following operations are tested:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.ecview.core.common.model.core.YCommand#getView() <em>Get View</em>}</li>
+ * </ul>
+ * </p>
+ * @generated
+ */
+public abstract class YCommandTest extends TestCase {
+
+	/**
+	 * The fixture for this YCommand test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YCommand fixture = null;
+
+	/**
+	 * Constructs a new YCommand test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YCommandTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this YCommand test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(YCommand fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this YCommand test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YCommand getFixture() {
+		return fixture;
+	}
+
+	/**
+	 * Tests the '{@link org.eclipse.osbp.ecview.core.common.model.core.YCommand#getView() <em>Get View</em>}' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.ecview.core.common.model.core.YCommand#getView()
+	 * @generated
+	 */
+	public void testGetView() {
+		// TODO: implement this operation test method
+		// Ensure that you remove @generated or mark it @generated NOT
+		fail();
+	}
+
+} //YCommandTest
diff --git a/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YContextClickEventTest.java b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YContextClickEventTest.java
new file mode 100644
index 0000000..0425638
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YContextClickEventTest.java
@@ -0,0 +1,70 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.common.model.core.tests;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.core.common.model.core.CoreModelFactory;
+import org.eclipse.osbp.ecview.core.common.model.core.YContextClickEvent;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YContext Click Event</b></em>'.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class YContextClickEventTest extends YEmbeddableEventTest {
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YContextClickEventTest.class);
+	}
+
+	/**
+	 * Constructs a new YContext Click Event test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YContextClickEventTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Returns the fixture for this YContext Click Event test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected YContextClickEvent getFixture() {
+		return (YContextClickEvent)fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(CoreModelFactory.eINSTANCE.createYContextClickEvent());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#tearDown()
+	 * @generated
+	 */
+	@Override
+	protected void tearDown() throws Exception {
+		setFixture(null);
+	}
+
+} //YContextClickEventTest
diff --git a/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YContextValueBindingEndpointTest.java b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YContextValueBindingEndpointTest.java
new file mode 100644
index 0000000..b5a5a62
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YContextValueBindingEndpointTest.java
@@ -0,0 +1,72 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.common.model.core.tests;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.core.common.model.binding.tests.YValueBindingEndpointTest;
+
+import org.eclipse.osbp.ecview.core.common.model.core.CoreModelFactory;
+import org.eclipse.osbp.ecview.core.common.model.core.YContextValueBindingEndpoint;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YContext Value Binding Endpoint</b></em>'.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class YContextValueBindingEndpointTest extends YValueBindingEndpointTest {
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YContextValueBindingEndpointTest.class);
+	}
+
+	/**
+	 * Constructs a new YContext Value Binding Endpoint test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YContextValueBindingEndpointTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Returns the fixture for this YContext Value Binding Endpoint test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected YContextValueBindingEndpoint getFixture() {
+		return (YContextValueBindingEndpoint)fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(CoreModelFactory.eINSTANCE.createYContextValueBindingEndpoint());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#tearDown()
+	 * @generated
+	 */
+	@Override
+	protected void tearDown() throws Exception {
+		setFixture(null);
+	}
+
+} //YContextValueBindingEndpointTest
diff --git a/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YConverterTest.java b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YConverterTest.java
new file mode 100644
index 0000000..7843882
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YConverterTest.java
@@ -0,0 +1,55 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.common.model.core.tests;
+
+import junit.framework.TestCase;
+
+import org.eclipse.osbp.ecview.core.common.model.core.YConverter;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YConverter</b></em>'.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public abstract class YConverterTest extends TestCase {
+
+	/**
+	 * The fixture for this YConverter test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YConverter fixture = null;
+
+	/**
+	 * Constructs a new YConverter test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YConverterTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this YConverter test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(YConverter fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this YConverter test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YConverter getFixture() {
+		return fixture;
+	}
+
+} //YConverterTest
diff --git a/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YCssAbleTest.java b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YCssAbleTest.java
new file mode 100644
index 0000000..f685e47
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YCssAbleTest.java
@@ -0,0 +1,55 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.common.model.core.tests;
+
+import junit.framework.TestCase;
+
+import org.eclipse.osbp.ecview.core.common.model.core.YCssAble;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YCss Able</b></em>'.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public abstract class YCssAbleTest extends TestCase {
+
+	/**
+	 * The fixture for this YCss Able test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YCssAble fixture = null;
+
+	/**
+	 * Constructs a new YCss Able test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YCssAbleTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this YCss Able test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(YCssAble fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this YCss Able test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YCssAble getFixture() {
+		return fixture;
+	}
+
+} //YCssAbleTest
diff --git a/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YDelegateConverterTest.java b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YDelegateConverterTest.java
new file mode 100644
index 0000000..939f139
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YDelegateConverterTest.java
@@ -0,0 +1,89 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.common.model.core.tests;
+
+import junit.framework.TestCase;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.core.common.model.core.CoreModelFactory;
+import org.eclipse.osbp.ecview.core.common.model.core.YDelegateConverter;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YDelegate Converter</b></em>'.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class YDelegateConverterTest extends TestCase {
+
+	/**
+	 * The fixture for this YDelegate Converter test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YDelegateConverter fixture = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YDelegateConverterTest.class);
+	}
+
+	/**
+	 * Constructs a new YDelegate Converter test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YDelegateConverterTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this YDelegate Converter test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(YDelegateConverter fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this YDelegate Converter test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YDelegateConverter getFixture() {
+		return fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(CoreModelFactory.eINSTANCE.createYDelegateConverter());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#tearDown()
+	 * @generated
+	 */
+	@Override
+	protected void tearDown() throws Exception {
+		setFixture(null);
+	}
+
+} //YDelegateConverterTest
diff --git a/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YDetailBeanSlotTest.java b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YDetailBeanSlotTest.java
new file mode 100644
index 0000000..cd58aa2
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YDetailBeanSlotTest.java
@@ -0,0 +1,70 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.common.model.core.tests;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.core.common.model.core.CoreModelFactory;
+import org.eclipse.osbp.ecview.core.common.model.core.YDetailBeanSlot;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YDetail Bean Slot</b></em>'.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class YDetailBeanSlotTest extends YBeanSlotTest {
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YDetailBeanSlotTest.class);
+	}
+
+	/**
+	 * Constructs a new YDetail Bean Slot test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YDetailBeanSlotTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Returns the fixture for this YDetail Bean Slot test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected YDetailBeanSlot getFixture() {
+		return (YDetailBeanSlot)fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(CoreModelFactory.eINSTANCE.createYDetailBeanSlot());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#tearDown()
+	 * @generated
+	 */
+	@Override
+	protected void tearDown() throws Exception {
+		setFixture(null);
+	}
+
+} //YDetailBeanSlotTest
diff --git a/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YDialogTest.java b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YDialogTest.java
new file mode 100644
index 0000000..e81d292
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YDialogTest.java
@@ -0,0 +1,108 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.common.model.core.tests;
+
+import junit.framework.TestCase;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.core.common.model.core.CoreModelFactory;
+import org.eclipse.osbp.ecview.core.common.model.core.YDialog;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YDialog</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following operations are tested:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.ecview.core.common.model.core.YValueBindable#createValueEndpoint() <em>Create Value Endpoint</em>}</li>
+ * </ul>
+ * </p>
+ * @generated
+ */
+public class YDialogTest extends TestCase {
+
+	/**
+	 * The fixture for this YDialog test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YDialog fixture = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YDialogTest.class);
+	}
+
+	/**
+	 * Constructs a new YDialog test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YDialogTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this YDialog test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(YDialog fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this YDialog test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YDialog getFixture() {
+		return fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(CoreModelFactory.eINSTANCE.createYDialog());
+	}
+
+	/**
+	 * <!-- 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.YValueBindable#createValueEndpoint() <em>Create Value Endpoint</em>}' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.ecview.core.common.model.core.YValueBindable#createValueEndpoint()
+	 * @generated
+	 */
+	public void testCreateValueEndpoint() {
+		// TODO: implement this operation test method
+		// Ensure that you remove @generated or mark it @generated NOT
+		fail();
+	}
+
+} //YDialogTest
diff --git a/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YDtWrapperTest.java b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YDtWrapperTest.java
new file mode 100644
index 0000000..c8ae745
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YDtWrapperTest.java
@@ -0,0 +1,89 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.common.model.core.tests;
+
+import junit.framework.TestCase;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.core.common.model.core.CoreModelFactory;
+import org.eclipse.osbp.ecview.core.common.model.core.YDtWrapper;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YDt Wrapper</b></em>'.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class YDtWrapperTest extends TestCase {
+
+	/**
+	 * The fixture for this YDt Wrapper test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YDtWrapper fixture = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YDtWrapperTest.class);
+	}
+
+	/**
+	 * Constructs a new YDt Wrapper test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YDtWrapperTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this YDt Wrapper test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(YDtWrapper fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this YDt Wrapper test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YDtWrapper getFixture() {
+		return fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(CoreModelFactory.eINSTANCE.createYDtWrapper());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#tearDown()
+	 * @generated
+	 */
+	@Override
+	protected void tearDown() throws Exception {
+		setFixture(null);
+	}
+
+} //YDtWrapperTest
diff --git a/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YEditableTest.java b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YEditableTest.java
new file mode 100644
index 0000000..9a6807a
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YEditableTest.java
@@ -0,0 +1,87 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.common.model.core.tests;
+
+import junit.framework.TestCase;
+
+import org.eclipse.osbp.ecview.core.common.model.core.YEditable;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YEditable</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are tested:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.ecview.core.common.model.core.YEditable#isEditable() <em>Editable</em>}</li>
+ * </ul>
+ * </p>
+ * @generated
+ */
+public abstract class YEditableTest extends TestCase {
+
+	/**
+	 * The fixture for this YEditable test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YEditable fixture = null;
+
+	/**
+	 * Constructs a new YEditable test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YEditableTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this YEditable test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(YEditable fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this YEditable test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YEditable getFixture() {
+		return fixture;
+	}
+
+	/**
+	 * Tests the '{@link org.eclipse.osbp.ecview.core.common.model.core.YEditable#isEditable() <em>Editable</em>}' feature getter.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.ecview.core.common.model.core.YEditable#isEditable()
+	 * @generated
+	 */
+	public void testIsEditable() {
+		// TODO: implement this feature getter test method
+		// Ensure that you remove @generated or mark it @generated NOT
+		fail();
+	}
+
+	/**
+	 * Tests the '{@link org.eclipse.osbp.ecview.core.common.model.core.YEditable#setEditable(boolean) <em>Editable</em>}' feature setter.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.ecview.core.common.model.core.YEditable#setEditable(boolean)
+	 * @generated
+	 */
+	public void testSetEditable() {
+		// TODO: implement this feature setter test method
+		// Ensure that you remove @generated or mark it @generated NOT
+		fail();
+	}
+
+} //YEditableTest
diff --git a/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YElementTest.java b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YElementTest.java
new file mode 100644
index 0000000..d11a50c
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YElementTest.java
@@ -0,0 +1,55 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.common.model.core.tests;
+
+import junit.framework.TestCase;
+
+import org.eclipse.osbp.ecview.core.common.model.core.YElement;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YElement</b></em>'.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public abstract class YElementTest extends TestCase {
+
+	/**
+	 * The fixture for this YElement test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YElement fixture = null;
+
+	/**
+	 * Constructs a new YElement test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YElementTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this YElement test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(YElement fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this YElement test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YElement getFixture() {
+		return fixture;
+	}
+
+} //YElementTest
diff --git a/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YEmbeddableBindingEndpointTest.java b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YEmbeddableBindingEndpointTest.java
new file mode 100644
index 0000000..7d6ff3f
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YEmbeddableBindingEndpointTest.java
@@ -0,0 +1,74 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.common.model.core.tests;
+
+import junit.framework.TestCase;
+
+import org.eclipse.osbp.ecview.core.common.model.core.YEmbeddableBindingEndpoint;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YEmbeddable Binding Endpoint</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following operations are tested:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.ecview.core.common.model.core.YEmbeddableBindingEndpoint#getElement() <em>Get Element</em>}</li>
+ * </ul>
+ * </p>
+ * @generated
+ */
+public abstract class YEmbeddableBindingEndpointTest extends TestCase {
+
+	/**
+	 * The fixture for this YEmbeddable Binding Endpoint test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YEmbeddableBindingEndpoint fixture = null;
+
+	/**
+	 * Constructs a new YEmbeddable Binding Endpoint test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YEmbeddableBindingEndpointTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this YEmbeddable Binding Endpoint test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(YEmbeddableBindingEndpoint fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this YEmbeddable Binding Endpoint test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YEmbeddableBindingEndpoint getFixture() {
+		return fixture;
+	}
+
+	/**
+	 * Tests the '{@link org.eclipse.osbp.ecview.core.common.model.core.YEmbeddableBindingEndpoint#getElement() <em>Get Element</em>}' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.ecview.core.common.model.core.YEmbeddableBindingEndpoint#getElement()
+	 * @generated
+	 */
+	public void testGetElement() {
+		// TODO: implement this operation test method
+		// Ensure that you remove @generated or mark it @generated NOT
+		fail();
+	}
+
+} //YEmbeddableBindingEndpointTest
diff --git a/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YEmbeddableCollectionEndpointTest.java b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YEmbeddableCollectionEndpointTest.java
new file mode 100644
index 0000000..e08cda5
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YEmbeddableCollectionEndpointTest.java
@@ -0,0 +1,72 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.common.model.core.tests;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.core.common.model.binding.tests.YListBindingEndpointTest;
+
+import org.eclipse.osbp.ecview.core.common.model.core.CoreModelFactory;
+import org.eclipse.osbp.ecview.core.common.model.core.YEmbeddableCollectionEndpoint;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YEmbeddable Collection Endpoint</b></em>'.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class YEmbeddableCollectionEndpointTest extends YListBindingEndpointTest {
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YEmbeddableCollectionEndpointTest.class);
+	}
+
+	/**
+	 * Constructs a new YEmbeddable Collection Endpoint test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YEmbeddableCollectionEndpointTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Returns the fixture for this YEmbeddable Collection Endpoint test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected YEmbeddableCollectionEndpoint getFixture() {
+		return (YEmbeddableCollectionEndpoint)fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(CoreModelFactory.eINSTANCE.createYEmbeddableCollectionEndpoint());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#tearDown()
+	 * @generated
+	 */
+	@Override
+	protected void tearDown() throws Exception {
+		setFixture(null);
+	}
+
+} //YEmbeddableCollectionEndpointTest
diff --git a/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YEmbeddableEventTest.java b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YEmbeddableEventTest.java
new file mode 100644
index 0000000..f544e56
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YEmbeddableEventTest.java
@@ -0,0 +1,89 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.common.model.core.tests;
+
+import junit.framework.TestCase;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.core.common.model.core.CoreModelFactory;
+import org.eclipse.osbp.ecview.core.common.model.core.YEmbeddableEvent;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YEmbeddable Event</b></em>'.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class YEmbeddableEventTest extends TestCase {
+
+	/**
+	 * The fixture for this YEmbeddable Event test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YEmbeddableEvent fixture = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YEmbeddableEventTest.class);
+	}
+
+	/**
+	 * Constructs a new YEmbeddable Event test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YEmbeddableEventTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this YEmbeddable Event test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(YEmbeddableEvent fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this YEmbeddable Event test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YEmbeddableEvent getFixture() {
+		return fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(CoreModelFactory.eINSTANCE.createYEmbeddableEvent());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#tearDown()
+	 * @generated
+	 */
+	@Override
+	protected void tearDown() throws Exception {
+		setFixture(null);
+	}
+
+} //YEmbeddableEventTest
diff --git a/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YEmbeddableMultiSelectionEndpointTest.java b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YEmbeddableMultiSelectionEndpointTest.java
new file mode 100644
index 0000000..50857a5
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YEmbeddableMultiSelectionEndpointTest.java
@@ -0,0 +1,72 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.common.model.core.tests;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.core.common.model.binding.tests.YListBindingEndpointTest;
+
+import org.eclipse.osbp.ecview.core.common.model.core.CoreModelFactory;
+import org.eclipse.osbp.ecview.core.common.model.core.YEmbeddableMultiSelectionEndpoint;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YEmbeddable Multi Selection Endpoint</b></em>'.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class YEmbeddableMultiSelectionEndpointTest extends YListBindingEndpointTest {
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YEmbeddableMultiSelectionEndpointTest.class);
+	}
+
+	/**
+	 * Constructs a new YEmbeddable Multi Selection Endpoint test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YEmbeddableMultiSelectionEndpointTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Returns the fixture for this YEmbeddable Multi Selection Endpoint test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected YEmbeddableMultiSelectionEndpoint getFixture() {
+		return (YEmbeddableMultiSelectionEndpoint)fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(CoreModelFactory.eINSTANCE.createYEmbeddableMultiSelectionEndpoint());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#tearDown()
+	 * @generated
+	 */
+	@Override
+	protected void tearDown() throws Exception {
+		setFixture(null);
+	}
+
+} //YEmbeddableMultiSelectionEndpointTest
diff --git a/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YEmbeddableSelectionEndpointTest.java b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YEmbeddableSelectionEndpointTest.java
new file mode 100644
index 0000000..ab09bca
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YEmbeddableSelectionEndpointTest.java
@@ -0,0 +1,72 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.common.model.core.tests;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.core.common.model.binding.tests.YValueBindingEndpointTest;
+
+import org.eclipse.osbp.ecview.core.common.model.core.CoreModelFactory;
+import org.eclipse.osbp.ecview.core.common.model.core.YEmbeddableSelectionEndpoint;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YEmbeddable Selection Endpoint</b></em>'.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class YEmbeddableSelectionEndpointTest extends YValueBindingEndpointTest {
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YEmbeddableSelectionEndpointTest.class);
+	}
+
+	/**
+	 * Constructs a new YEmbeddable Selection Endpoint test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YEmbeddableSelectionEndpointTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Returns the fixture for this YEmbeddable Selection Endpoint test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected YEmbeddableSelectionEndpoint getFixture() {
+		return (YEmbeddableSelectionEndpoint)fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(CoreModelFactory.eINSTANCE.createYEmbeddableSelectionEndpoint());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#tearDown()
+	 * @generated
+	 */
+	@Override
+	protected void tearDown() throws Exception {
+		setFixture(null);
+	}
+
+} //YEmbeddableSelectionEndpointTest
diff --git a/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YEmbeddableTest.java b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YEmbeddableTest.java
new file mode 100644
index 0000000..1f0b5a5
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YEmbeddableTest.java
@@ -0,0 +1,174 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.common.model.core.tests;
+
+import junit.framework.TestCase;
+
+import org.eclipse.osbp.ecview.core.common.model.core.YEmbeddable;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YEmbeddable</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are tested:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.ecview.core.common.model.core.YVisibleable#isVisible() <em>Visible</em>}</li>
+ *   <li>{@link org.eclipse.osbp.ecview.core.common.model.core.YEmbeddable#getLabel() <em>Label</em>}</li>
+ *   <li>{@link org.eclipse.osbp.ecview.core.common.model.core.YEmbeddable#getLabelI18nKey() <em>Label I1 8n Key</em>}</li>
+ * </ul>
+ * </p>
+ * <p>
+ * The following operations are tested:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.ecview.core.common.model.core.YEmbeddable#getView() <em>Get View</em>}</li>
+ *   <li>{@link org.eclipse.osbp.ecview.core.common.model.core.YEmbeddable#getParent() <em>Get Parent</em>}</li>
+ * </ul>
+ * </p>
+ * @generated
+ */
+public abstract class YEmbeddableTest extends TestCase {
+
+	/**
+	 * The fixture for this YEmbeddable test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YEmbeddable fixture = null;
+
+	/**
+	 * Constructs a new YEmbeddable test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YEmbeddableTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this YEmbeddable test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(YEmbeddable fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this YEmbeddable test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YEmbeddable getFixture() {
+		return fixture;
+	}
+
+	/**
+	 * Tests the '{@link org.eclipse.osbp.ecview.core.common.model.core.YVisibleable#isVisible() <em>Visible</em>}' feature getter.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.ecview.core.common.model.core.YVisibleable#isVisible()
+	 * @generated
+	 */
+	public void testIsVisible() {
+		// TODO: implement this feature getter test method
+		// Ensure that you remove @generated or mark it @generated NOT
+		fail();
+	}
+
+	/**
+	 * Tests the '{@link org.eclipse.osbp.ecview.core.common.model.core.YVisibleable#setVisible(boolean) <em>Visible</em>}' feature setter.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.ecview.core.common.model.core.YVisibleable#setVisible(boolean)
+	 * @generated
+	 */
+	public void testSetVisible() {
+		// TODO: implement this feature setter test method
+		// Ensure that you remove @generated or mark it @generated NOT
+		fail();
+	}
+
+	/**
+	 * Tests the '{@link org.eclipse.osbp.ecview.core.common.model.core.YEmbeddable#getLabel() <em>Label</em>}' feature getter.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.ecview.core.common.model.core.YEmbeddable#getLabel()
+	 * @generated
+	 */
+	public void testGetLabel() {
+		// TODO: implement this feature getter test method
+		// Ensure that you remove @generated or mark it @generated NOT
+		fail();
+	}
+
+	/**
+	 * Tests the '{@link org.eclipse.osbp.ecview.core.common.model.core.YEmbeddable#setLabel(java.lang.String) <em>Label</em>}' feature setter.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.ecview.core.common.model.core.YEmbeddable#setLabel(java.lang.String)
+	 * @generated
+	 */
+	public void testSetLabel() {
+		// TODO: implement this feature setter test method
+		// Ensure that you remove @generated or mark it @generated NOT
+		fail();
+	}
+
+	/**
+	 * Tests the '{@link org.eclipse.osbp.ecview.core.common.model.core.YEmbeddable#getLabelI18nKey() <em>Label I1 8n Key</em>}' feature getter.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.ecview.core.common.model.core.YEmbeddable#getLabelI18nKey()
+	 * @generated
+	 */
+	public void testGetLabelI18nKey() {
+		// TODO: implement this feature getter test method
+		// Ensure that you remove @generated or mark it @generated NOT
+		fail();
+	}
+
+	/**
+	 * Tests the '{@link org.eclipse.osbp.ecview.core.common.model.core.YEmbeddable#setLabelI18nKey(java.lang.String) <em>Label I1 8n Key</em>}' feature setter.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.ecview.core.common.model.core.YEmbeddable#setLabelI18nKey(java.lang.String)
+	 * @generated
+	 */
+	public void testSetLabelI18nKey() {
+		// TODO: implement this feature setter test method
+		// Ensure that you remove @generated or mark it @generated NOT
+		fail();
+	}
+
+	/**
+	 * Tests the '{@link org.eclipse.osbp.ecview.core.common.model.core.YEmbeddable#getView() <em>Get View</em>}' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.ecview.core.common.model.core.YEmbeddable#getView()
+	 * @generated
+	 */
+	public void testGetView() {
+		// 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.YEmbeddable#getParent() <em>Get Parent</em>}' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.ecview.core.common.model.core.YEmbeddable#getParent()
+	 * @generated
+	 */
+	public void testGetParent() {
+		// TODO: implement this operation test method
+		// Ensure that you remove @generated or mark it @generated NOT
+		fail();
+	}
+
+} //YEmbeddableTest
diff --git a/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YEmbeddableValueEndpointTest.java b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YEmbeddableValueEndpointTest.java
new file mode 100644
index 0000000..951b221
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YEmbeddableValueEndpointTest.java
@@ -0,0 +1,72 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.common.model.core.tests;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.core.common.model.binding.tests.YValueBindingEndpointTest;
+
+import org.eclipse.osbp.ecview.core.common.model.core.CoreModelFactory;
+import org.eclipse.osbp.ecview.core.common.model.core.YEmbeddableValueEndpoint;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YEmbeddable Value Endpoint</b></em>'.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class YEmbeddableValueEndpointTest extends YValueBindingEndpointTest {
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YEmbeddableValueEndpointTest.class);
+	}
+
+	/**
+	 * Constructs a new YEmbeddable Value Endpoint test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YEmbeddableValueEndpointTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Returns the fixture for this YEmbeddable Value Endpoint test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected YEmbeddableValueEndpoint getFixture() {
+		return (YEmbeddableValueEndpoint)fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(CoreModelFactory.eINSTANCE.createYEmbeddableValueEndpoint());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#tearDown()
+	 * @generated
+	 */
+	@Override
+	protected void tearDown() throws Exception {
+		setFixture(null);
+	}
+
+} //YEmbeddableValueEndpointTest
diff --git a/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YEnableTest.java b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YEnableTest.java
new file mode 100644
index 0000000..bcd027f
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YEnableTest.java
@@ -0,0 +1,87 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.common.model.core.tests;
+
+import junit.framework.TestCase;
+
+import org.eclipse.osbp.ecview.core.common.model.core.YEnable;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YEnable</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are tested:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.ecview.core.common.model.core.YEnable#isEnabled() <em>Enabled</em>}</li>
+ * </ul>
+ * </p>
+ * @generated
+ */
+public abstract class YEnableTest extends TestCase {
+
+	/**
+	 * The fixture for this YEnable test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YEnable fixture = null;
+
+	/**
+	 * Constructs a new YEnable test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YEnableTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this YEnable test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(YEnable fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this YEnable test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YEnable getFixture() {
+		return fixture;
+	}
+
+	/**
+	 * Tests the '{@link org.eclipse.osbp.ecview.core.common.model.core.YEnable#isEnabled() <em>Enabled</em>}' feature getter.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.ecview.core.common.model.core.YEnable#isEnabled()
+	 * @generated
+	 */
+	public void testIsEnabled() {
+		// TODO: implement this feature getter test method
+		// Ensure that you remove @generated or mark it @generated NOT
+		fail();
+	}
+
+	/**
+	 * Tests the '{@link org.eclipse.osbp.ecview.core.common.model.core.YEnable#setEnabled(boolean) <em>Enabled</em>}' feature setter.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.ecview.core.common.model.core.YEnable#setEnabled(boolean)
+	 * @generated
+	 */
+	public void testSetEnabled() {
+		// TODO: implement this feature setter test method
+		// Ensure that you remove @generated or mark it @generated NOT
+		fail();
+	}
+
+} //YEnableTest
diff --git a/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YExposedActionTest.java b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YExposedActionTest.java
new file mode 100644
index 0000000..32d9952
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YExposedActionTest.java
@@ -0,0 +1,140 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.common.model.core.tests;
+
+import junit.framework.TestCase;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.core.common.model.core.CoreModelFactory;
+import org.eclipse.osbp.ecview.core.common.model.core.YExposedAction;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YExposed Action</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are tested:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.ecview.core.common.model.core.YEnable#isEnabled() <em>Enabled</em>}</li>
+ * </ul>
+ * </p>
+ * <p>
+ * The following operations are tested:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.ecview.core.common.model.core.YExposedAction#getView() <em>Get View</em>}</li>
+ * </ul>
+ * </p>
+ * @generated
+ */
+public class YExposedActionTest extends TestCase {
+
+	/**
+	 * The fixture for this YExposed Action test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YExposedAction fixture = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YExposedActionTest.class);
+	}
+
+	/**
+	 * Constructs a new YExposed Action test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YExposedActionTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this YExposed Action test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(YExposedAction fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this YExposed Action test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YExposedAction getFixture() {
+		return fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(CoreModelFactory.eINSTANCE.createYExposedAction());
+	}
+
+	/**
+	 * <!-- 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.YEnable#isEnabled() <em>Enabled</em>}' feature getter.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.ecview.core.common.model.core.YEnable#isEnabled()
+	 * @generated
+	 */
+	public void testIsEnabled() {
+		// TODO: implement this feature getter test method
+		// Ensure that you remove @generated or mark it @generated NOT
+		fail();
+	}
+
+	/**
+	 * Tests the '{@link org.eclipse.osbp.ecview.core.common.model.core.YEnable#setEnabled(boolean) <em>Enabled</em>}' feature setter.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.ecview.core.common.model.core.YEnable#setEnabled(boolean)
+	 * @generated
+	 */
+	public void testSetEnabled() {
+		// TODO: implement this feature setter test method
+		// Ensure that you remove @generated or mark it @generated NOT
+		fail();
+	}
+
+	/**
+	 * Tests the '{@link org.eclipse.osbp.ecview.core.common.model.core.YExposedAction#getView() <em>Get View</em>}' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.ecview.core.common.model.core.YExposedAction#getView()
+	 * @generated
+	 */
+	public void testGetView() {
+		// TODO: implement this operation test method
+		// Ensure that you remove @generated or mark it @generated NOT
+		fail();
+	}
+
+} //YExposedActionTest
diff --git a/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YFieldTest.java b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YFieldTest.java
new file mode 100644
index 0000000..1715928
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YFieldTest.java
@@ -0,0 +1,176 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.common.model.core.tests;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.core.common.model.core.CoreModelFactory;
+import org.eclipse.osbp.ecview.core.common.model.core.YField;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YField</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are tested:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.ecview.core.common.model.core.YEditable#isEditable() <em>Editable</em>}</li>
+ *   <li>{@link org.eclipse.osbp.ecview.core.common.model.core.YEnable#isEnabled() <em>Enabled</em>}</li>
+ * </ul>
+ * </p>
+ * <p>
+ * The following operations are tested:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.ecview.core.common.model.core.YField#addValueChangeListener(org.eclipse.osbp.ecview.core.common.model.core.listeners.YValueChangeListener) <em>Add Value Change Listener</em>}</li>
+ *   <li>{@link org.eclipse.osbp.ecview.core.common.model.core.YField#removeValueChangeListener(org.eclipse.osbp.ecview.core.common.model.core.listeners.YValueChangeListener) <em>Remove Value Change Listener</em>}</li>
+ *   <li>{@link org.eclipse.osbp.ecview.core.common.model.core.YField#removeAllValueChangListeners() <em>Remove All Value Chang Listeners</em>}</li>
+ * </ul>
+ * </p>
+ * @generated
+ */
+public class YFieldTest extends YEmbeddableTest {
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YFieldTest.class);
+	}
+
+	/**
+	 * Constructs a new YField test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YFieldTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Returns the fixture for this YField test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected YField getFixture() {
+		return (YField)fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(CoreModelFactory.eINSTANCE.createYField());
+	}
+
+	/**
+	 * <!-- 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.YEditable#isEditable() <em>Editable</em>}' feature getter.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.ecview.core.common.model.core.YEditable#isEditable()
+	 * @generated
+	 */
+	public void testIsEditable() {
+		// TODO: implement this feature getter test method
+		// Ensure that you remove @generated or mark it @generated NOT
+		fail();
+	}
+
+	/**
+	 * Tests the '{@link org.eclipse.osbp.ecview.core.common.model.core.YEditable#setEditable(boolean) <em>Editable</em>}' feature setter.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.ecview.core.common.model.core.YEditable#setEditable(boolean)
+	 * @generated
+	 */
+	public void testSetEditable() {
+		// TODO: implement this feature setter test method
+		// Ensure that you remove @generated or mark it @generated NOT
+		fail();
+	}
+
+	/**
+	 * Tests the '{@link org.eclipse.osbp.ecview.core.common.model.core.YEnable#isEnabled() <em>Enabled</em>}' feature getter.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.ecview.core.common.model.core.YEnable#isEnabled()
+	 * @generated
+	 */
+	public void testIsEnabled() {
+		// TODO: implement this feature getter test method
+		// Ensure that you remove @generated or mark it @generated NOT
+		fail();
+	}
+
+	/**
+	 * Tests the '{@link org.eclipse.osbp.ecview.core.common.model.core.YEnable#setEnabled(boolean) <em>Enabled</em>}' feature setter.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.ecview.core.common.model.core.YEnable#setEnabled(boolean)
+	 * @generated
+	 */
+	public void testSetEnabled() {
+		// TODO: implement this feature setter test method
+		// Ensure that you remove @generated or mark it @generated NOT
+		fail();
+	}
+
+	/**
+	 * Tests the '{@link org.eclipse.osbp.ecview.core.common.model.core.YField#addValueChangeListener(org.eclipse.osbp.ecview.core.common.model.core.listeners.YValueChangeListener) <em>Add Value Change Listener</em>}' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.ecview.core.common.model.core.YField#addValueChangeListener(org.eclipse.osbp.ecview.core.common.model.core.listeners.YValueChangeListener)
+	 * @generated
+	 */
+	public void testAddValueChangeListener__YValueChangeListener() {
+		// 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.YField#removeValueChangeListener(org.eclipse.osbp.ecview.core.common.model.core.listeners.YValueChangeListener) <em>Remove Value Change Listener</em>}' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.ecview.core.common.model.core.YField#removeValueChangeListener(org.eclipse.osbp.ecview.core.common.model.core.listeners.YValueChangeListener)
+	 * @generated
+	 */
+	public void testRemoveValueChangeListener__YValueChangeListener() {
+		// 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.YField#removeAllValueChangListeners() <em>Remove All Value Chang Listeners</em>}' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.ecview.core.common.model.core.YField#removeAllValueChangListeners()
+	 * @generated
+	 */
+	public void testRemoveAllValueChangListeners() {
+		// TODO: implement this operation test method
+		// Ensure that you remove @generated or mark it @generated NOT
+		fail();
+	}
+
+} //YFieldTest
diff --git a/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YFocusNotifierTest.java b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YFocusNotifierTest.java
new file mode 100644
index 0000000..2c7c4d7
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YFocusNotifierTest.java
@@ -0,0 +1,55 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.common.model.core.tests;
+
+import junit.framework.TestCase;
+
+import org.eclipse.osbp.ecview.core.common.model.core.YFocusNotifier;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YFocus Notifier</b></em>'.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public abstract class YFocusNotifierTest extends TestCase {
+
+	/**
+	 * The fixture for this YFocus Notifier test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YFocusNotifier fixture = null;
+
+	/**
+	 * Constructs a new YFocus Notifier test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YFocusNotifierTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this YFocus Notifier test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(YFocusNotifier fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this YFocus Notifier test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YFocusNotifier getFixture() {
+		return fixture;
+	}
+
+} //YFocusNotifierTest
diff --git a/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YFocusableTest.java b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YFocusableTest.java
new file mode 100644
index 0000000..81b0235
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YFocusableTest.java
@@ -0,0 +1,55 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.common.model.core.tests;
+
+import junit.framework.TestCase;
+
+import org.eclipse.osbp.ecview.core.common.model.core.YFocusable;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YFocusable</b></em>'.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public abstract class YFocusableTest extends TestCase {
+
+	/**
+	 * The fixture for this YFocusable test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YFocusable fixture = null;
+
+	/**
+	 * Constructs a new YFocusable test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YFocusableTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this YFocusable test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(YFocusable fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this YFocusable test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YFocusable getFixture() {
+		return fixture;
+	}
+
+} //YFocusableTest
diff --git a/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YHeightableTest.java b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YHeightableTest.java
new file mode 100644
index 0000000..a3dd963
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YHeightableTest.java
@@ -0,0 +1,55 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.common.model.core.tests;
+
+import junit.framework.TestCase;
+
+import org.eclipse.osbp.ecview.core.common.model.core.YHeightable;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YHeightable</b></em>'.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public abstract class YHeightableTest extends TestCase {
+
+	/**
+	 * The fixture for this YHeightable test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YHeightable fixture = null;
+
+	/**
+	 * Constructs a new YHeightable test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YHeightableTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this YHeightable test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(YHeightable fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this YHeightable test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YHeightable getFixture() {
+		return fixture;
+	}
+
+} //YHeightableTest
diff --git a/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YHelperLayoutProviderTest.java b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YHelperLayoutProviderTest.java
new file mode 100644
index 0000000..0eb8340
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YHelperLayoutProviderTest.java
@@ -0,0 +1,74 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.common.model.core.tests;
+
+import junit.framework.TestCase;
+
+import org.eclipse.osbp.ecview.core.common.model.core.YHelperLayoutProvider;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YHelper Layout Provider</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following operations are tested:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.ecview.core.common.model.core.YHelperLayoutProvider#getHelperLayout() <em>Get Helper Layout</em>}</li>
+ * </ul>
+ * </p>
+ * @generated
+ */
+public abstract class YHelperLayoutProviderTest extends TestCase {
+
+	/**
+	 * The fixture for this YHelper Layout Provider test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YHelperLayoutProvider fixture = null;
+
+	/**
+	 * Constructs a new YHelper Layout Provider test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YHelperLayoutProviderTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this YHelper Layout Provider test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(YHelperLayoutProvider fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this YHelper Layout Provider test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YHelperLayoutProvider getFixture() {
+		return fixture;
+	}
+
+	/**
+	 * Tests the '{@link org.eclipse.osbp.ecview.core.common.model.core.YHelperLayoutProvider#getHelperLayout() <em>Get Helper Layout</em>}' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.ecview.core.common.model.core.YHelperLayoutProvider#getHelperLayout()
+	 * @generated
+	 */
+	public void testGetHelperLayout() {
+		// TODO: implement this operation test method
+		// Ensure that you remove @generated or mark it @generated NOT
+		fail();
+	}
+
+} //YHelperLayoutProviderTest
diff --git a/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YHelperLayoutTest.java b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YHelperLayoutTest.java
new file mode 100644
index 0000000..f990d22
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YHelperLayoutTest.java
@@ -0,0 +1,70 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.common.model.core.tests;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.core.common.model.core.CoreModelFactory;
+import org.eclipse.osbp.ecview.core.common.model.core.YHelperLayout;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YHelper Layout</b></em>'.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class YHelperLayoutTest extends YLayoutTest {
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YHelperLayoutTest.class);
+	}
+
+	/**
+	 * Constructs a new YHelper Layout test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YHelperLayoutTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Returns the fixture for this YHelper Layout test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected YHelperLayout getFixture() {
+		return (YHelperLayout)fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(CoreModelFactory.eINSTANCE.createYHelperLayout());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#tearDown()
+	 * @generated
+	 */
+	@Override
+	protected void tearDown() throws Exception {
+		setFixture(null);
+	}
+
+} //YHelperLayoutTest
diff --git a/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YKeyStrokeDefinitionTest.java b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YKeyStrokeDefinitionTest.java
new file mode 100644
index 0000000..148941b
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YKeyStrokeDefinitionTest.java
@@ -0,0 +1,108 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.common.model.core.tests;
+
+import junit.framework.TestCase;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.core.common.model.core.CoreModelFactory;
+import org.eclipse.osbp.ecview.core.common.model.core.YKeyStrokeDefinition;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YKey Stroke Definition</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following operations are tested:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.ecview.core.common.model.core.YKeyStrokeDefinition#getView() <em>Get View</em>}</li>
+ * </ul>
+ * </p>
+ * @generated
+ */
+public class YKeyStrokeDefinitionTest extends TestCase {
+
+	/**
+	 * The fixture for this YKey Stroke Definition test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YKeyStrokeDefinition fixture = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YKeyStrokeDefinitionTest.class);
+	}
+
+	/**
+	 * Constructs a new YKey Stroke Definition test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YKeyStrokeDefinitionTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this YKey Stroke Definition test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(YKeyStrokeDefinition fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this YKey Stroke Definition test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YKeyStrokeDefinition getFixture() {
+		return fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(CoreModelFactory.eINSTANCE.createYKeyStrokeDefinition());
+	}
+
+	/**
+	 * <!-- 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.YKeyStrokeDefinition#getView() <em>Get View</em>}' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.ecview.core.common.model.core.YKeyStrokeDefinition#getView()
+	 * @generated
+	 */
+	public void testGetView() {
+		// TODO: implement this operation test method
+		// Ensure that you remove @generated or mark it @generated NOT
+		fail();
+	}
+
+} //YKeyStrokeDefinitionTest
diff --git a/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YLayoutTest.java b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YLayoutTest.java
new file mode 100644
index 0000000..c10274f
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YLayoutTest.java
@@ -0,0 +1,129 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.common.model.core.tests;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.core.common.model.core.CoreModelFactory;
+import org.eclipse.osbp.ecview.core.common.model.core.YLayout;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YLayout</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are tested:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.ecview.core.common.model.core.YEditable#isEditable() <em>Editable</em>}</li>
+ *   <li>{@link org.eclipse.osbp.ecview.core.common.model.core.YEnable#isEnabled() <em>Enabled</em>}</li>
+ * </ul>
+ * </p>
+ * @generated
+ */
+public class YLayoutTest extends YEmbeddableTest {
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YLayoutTest.class);
+	}
+
+	/**
+	 * Constructs a new YLayout test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YLayoutTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Returns the fixture for this YLayout test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected YLayout getFixture() {
+		return (YLayout)fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(CoreModelFactory.eINSTANCE.createYLayout());
+	}
+
+	/**
+	 * <!-- 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.YEditable#isEditable() <em>Editable</em>}' feature getter.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.ecview.core.common.model.core.YEditable#isEditable()
+	 * @generated
+	 */
+	public void testIsEditable() {
+		// TODO: implement this feature getter test method
+		// Ensure that you remove @generated or mark it @generated NOT
+		fail();
+	}
+
+	/**
+	 * Tests the '{@link org.eclipse.osbp.ecview.core.common.model.core.YEditable#setEditable(boolean) <em>Editable</em>}' feature setter.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.ecview.core.common.model.core.YEditable#setEditable(boolean)
+	 * @generated
+	 */
+	public void testSetEditable() {
+		// TODO: implement this feature setter test method
+		// Ensure that you remove @generated or mark it @generated NOT
+		fail();
+	}
+
+	/**
+	 * Tests the '{@link org.eclipse.osbp.ecview.core.common.model.core.YEnable#isEnabled() <em>Enabled</em>}' feature getter.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.ecview.core.common.model.core.YEnable#isEnabled()
+	 * @generated
+	 */
+	public void testIsEnabled() {
+		// TODO: implement this feature getter test method
+		// Ensure that you remove @generated or mark it @generated NOT
+		fail();
+	}
+
+	/**
+	 * Tests the '{@link org.eclipse.osbp.ecview.core.common.model.core.YEnable#setEnabled(boolean) <em>Enabled</em>}' feature setter.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.ecview.core.common.model.core.YEnable#setEnabled(boolean)
+	 * @generated
+	 */
+	public void testSetEnabled() {
+		// TODO: implement this feature setter test method
+		// Ensure that you remove @generated or mark it @generated NOT
+		fail();
+	}
+
+} //YLayoutTest
diff --git a/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YMarginableTest.java b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YMarginableTest.java
new file mode 100644
index 0000000..7a7a485
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YMarginableTest.java
@@ -0,0 +1,55 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.common.model.core.tests;
+
+import junit.framework.TestCase;
+
+import org.eclipse.osbp.ecview.core.common.model.core.YMarginable;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YMarginable</b></em>'.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public abstract class YMarginableTest extends TestCase {
+
+	/**
+	 * The fixture for this YMarginable test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YMarginable fixture = null;
+
+	/**
+	 * Constructs a new YMarginable test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YMarginableTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this YMarginable test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(YMarginable fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this YMarginable test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YMarginable getFixture() {
+		return fixture;
+	}
+
+} //YMarginableTest
diff --git a/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YMementoTest.java b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YMementoTest.java
new file mode 100644
index 0000000..c1325e1
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YMementoTest.java
@@ -0,0 +1,55 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.common.model.core.tests;
+
+import junit.framework.TestCase;
+
+import org.eclipse.osbp.ecview.core.common.model.core.YMemento;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YMemento</b></em>'.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public abstract class YMementoTest extends TestCase {
+
+	/**
+	 * The fixture for this YMemento test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YMemento fixture = null;
+
+	/**
+	 * Constructs a new YMemento test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YMementoTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this YMemento test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(YMemento fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this YMemento test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YMemento getFixture() {
+		return fixture;
+	}
+
+} //YMementoTest
diff --git a/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YMultiSelectionBindableTest.java b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YMultiSelectionBindableTest.java
new file mode 100644
index 0000000..bc31b54
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YMultiSelectionBindableTest.java
@@ -0,0 +1,74 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.common.model.core.tests;
+
+import junit.framework.TestCase;
+
+import org.eclipse.osbp.ecview.core.common.model.core.YMultiSelectionBindable;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YMulti Selection Bindable</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following operations are tested:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.ecview.core.common.model.core.YMultiSelectionBindable#createMultiSelectionEndpoint() <em>Create Multi Selection Endpoint</em>}</li>
+ * </ul>
+ * </p>
+ * @generated
+ */
+public abstract class YMultiSelectionBindableTest extends TestCase {
+
+	/**
+	 * The fixture for this YMulti Selection Bindable test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YMultiSelectionBindable fixture = null;
+
+	/**
+	 * Constructs a new YMulti Selection Bindable test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YMultiSelectionBindableTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this YMulti Selection Bindable test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(YMultiSelectionBindable fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this YMulti Selection Bindable test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YMultiSelectionBindable getFixture() {
+		return fixture;
+	}
+
+	/**
+	 * Tests the '{@link org.eclipse.osbp.ecview.core.common.model.core.YMultiSelectionBindable#createMultiSelectionEndpoint() <em>Create Multi Selection Endpoint</em>}' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.ecview.core.common.model.core.YMultiSelectionBindable#createMultiSelectionEndpoint()
+	 * @generated
+	 */
+	public void testCreateMultiSelectionEndpoint() {
+		// TODO: implement this operation test method
+		// Ensure that you remove @generated or mark it @generated NOT
+		fail();
+	}
+
+} //YMultiSelectionBindableTest
diff --git a/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YOpenDialogCommandTest.java b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YOpenDialogCommandTest.java
new file mode 100644
index 0000000..c9e4763
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YOpenDialogCommandTest.java
@@ -0,0 +1,122 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.common.model.core.tests;
+
+import junit.framework.TestCase;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.core.common.model.core.CoreModelFactory;
+import org.eclipse.osbp.ecview.core.common.model.core.YOpenDialogCommand;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YOpen Dialog Command</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following operations are tested:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.ecview.core.common.model.core.YOpenDialogCommand#getView() <em>Get View</em>}</li>
+ *   <li>{@link org.eclipse.osbp.ecview.core.common.model.core.YOpenDialogCommand#createTriggerDialogEndpoint() <em>Create Trigger Dialog Endpoint</em>}</li>
+ * </ul>
+ * </p>
+ * @generated
+ */
+public class YOpenDialogCommandTest extends TestCase {
+
+	/**
+	 * The fixture for this YOpen Dialog Command test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YOpenDialogCommand fixture = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YOpenDialogCommandTest.class);
+	}
+
+	/**
+	 * Constructs a new YOpen Dialog Command test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YOpenDialogCommandTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this YOpen Dialog Command test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(YOpenDialogCommand fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this YOpen Dialog Command test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YOpenDialogCommand getFixture() {
+		return fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(CoreModelFactory.eINSTANCE.createYOpenDialogCommand());
+	}
+
+	/**
+	 * <!-- 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.YOpenDialogCommand#getView() <em>Get View</em>}' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.ecview.core.common.model.core.YOpenDialogCommand#getView()
+	 * @generated
+	 */
+	public void testGetView() {
+		// 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.YOpenDialogCommand#createTriggerDialogEndpoint() <em>Create Trigger Dialog Endpoint</em>}' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.ecview.core.common.model.core.YOpenDialogCommand#createTriggerDialogEndpoint()
+	 * @generated
+	 */
+	public void testCreateTriggerDialogEndpoint() {
+		// TODO: implement this operation test method
+		// Ensure that you remove @generated or mark it @generated NOT
+		fail();
+	}
+
+} //YOpenDialogCommandTest
diff --git a/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YSelectionBindableTest.java b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YSelectionBindableTest.java
new file mode 100644
index 0000000..7db453d
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YSelectionBindableTest.java
@@ -0,0 +1,74 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.common.model.core.tests;
+
+import junit.framework.TestCase;
+
+import org.eclipse.osbp.ecview.core.common.model.core.YSelectionBindable;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YSelection Bindable</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>
+ * </ul>
+ * </p>
+ * @generated
+ */
+public abstract class YSelectionBindableTest extends TestCase {
+
+	/**
+	 * The fixture for this YSelection Bindable test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YSelectionBindable fixture = null;
+
+	/**
+	 * Constructs a new YSelection Bindable test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YSelectionBindableTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this YSelection Bindable test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(YSelectionBindable fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this YSelection Bindable test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YSelectionBindable getFixture() {
+		return fixture;
+	}
+
+	/**
+	 * 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();
+	}
+
+} //YSelectionBindableTest
diff --git a/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YSendEventCommandTest.java b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YSendEventCommandTest.java
new file mode 100644
index 0000000..065fb8f
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YSendEventCommandTest.java
@@ -0,0 +1,164 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.common.model.core.tests;
+
+import junit.framework.TestCase;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.core.common.model.core.CoreModelFactory;
+import org.eclipse.osbp.ecview.core.common.model.core.YSendEventCommand;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YSend Event Command</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following operations are tested:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.ecview.core.common.model.core.YSendEventCommand#getView() <em>Get View</em>}</li>
+ *   <li>{@link org.eclipse.osbp.ecview.core.common.model.core.YSendEventCommand#createTriggerEndpoint() <em>Create Trigger Endpoint</em>}</li>
+ *   <li>{@link org.eclipse.osbp.ecview.core.common.model.core.YSendEventCommand#createMessageEndpoint() <em>Create Message Endpoint</em>}</li>
+ *   <li>{@link org.eclipse.osbp.ecview.core.common.model.core.YSendEventCommand#createAutoTriggerEndpoint() <em>Create Auto Trigger Endpoint</em>}</li>
+ *   <li>{@link org.eclipse.osbp.ecview.core.common.model.core.YSendEventCommand#createEventTopicEndpoint() <em>Create Event Topic Endpoint</em>}</li>
+ * </ul>
+ * </p>
+ * @generated
+ */
+public class YSendEventCommandTest extends TestCase {
+
+	/**
+	 * The fixture for this YSend Event Command test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YSendEventCommand fixture = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YSendEventCommandTest.class);
+	}
+
+	/**
+	 * Constructs a new YSend Event Command test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YSendEventCommandTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this YSend Event Command test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(YSendEventCommand fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this YSend Event Command test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YSendEventCommand getFixture() {
+		return fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(CoreModelFactory.eINSTANCE.createYSendEventCommand());
+	}
+
+	/**
+	 * <!-- 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.YSendEventCommand#getView() <em>Get View</em>}' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.ecview.core.common.model.core.YSendEventCommand#getView()
+	 * @generated
+	 */
+	public void testGetView() {
+		// 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.YSendEventCommand#createTriggerEndpoint() <em>Create Trigger Endpoint</em>}' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.ecview.core.common.model.core.YSendEventCommand#createTriggerEndpoint()
+	 * @generated
+	 */
+	public void testCreateTriggerEndpoint() {
+		// 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.YSendEventCommand#createMessageEndpoint() <em>Create Message Endpoint</em>}' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.ecview.core.common.model.core.YSendEventCommand#createMessageEndpoint()
+	 * @generated
+	 */
+	public void testCreateMessageEndpoint() {
+		// 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.YSendEventCommand#createAutoTriggerEndpoint() <em>Create Auto Trigger Endpoint</em>}' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.ecview.core.common.model.core.YSendEventCommand#createAutoTriggerEndpoint()
+	 * @generated
+	 */
+	public void testCreateAutoTriggerEndpoint() {
+		// 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.YSendEventCommand#createEventTopicEndpoint() <em>Create Event Topic Endpoint</em>}' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.ecview.core.common.model.core.YSendEventCommand#createEventTopicEndpoint()
+	 * @generated
+	 */
+	public void testCreateEventTopicEndpoint() {
+		// TODO: implement this operation test method
+		// Ensure that you remove @generated or mark it @generated NOT
+		fail();
+	}
+
+} //YSendEventCommandTest
diff --git a/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YSpacingableTest.java b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YSpacingableTest.java
new file mode 100644
index 0000000..04bb9c3
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YSpacingableTest.java
@@ -0,0 +1,55 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.common.model.core.tests;
+
+import junit.framework.TestCase;
+
+import org.eclipse.osbp.ecview.core.common.model.core.YSpacingable;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YSpacingable</b></em>'.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public abstract class YSpacingableTest extends TestCase {
+
+	/**
+	 * The fixture for this YSpacingable test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YSpacingable fixture = null;
+
+	/**
+	 * Constructs a new YSpacingable test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YSpacingableTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this YSpacingable test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(YSpacingable fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this YSpacingable test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YSpacingable getFixture() {
+		return fixture;
+	}
+
+} //YSpacingableTest
diff --git a/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YStringToStringMapTest.java b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YStringToStringMapTest.java
new file mode 100644
index 0000000..01823da
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YStringToStringMapTest.java
@@ -0,0 +1,92 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.common.model.core.tests;
+
+import java.util.Map;
+
+import junit.framework.TestCase;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.core.common.model.core.CoreModelFactory;
+import org.eclipse.osbp.ecview.core.common.model.core.CoreModelPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YString To String Map</b></em>'.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class YStringToStringMapTest extends TestCase {
+
+	/**
+	 * The fixture for this YString To String Map test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected Map.Entry<String, String> fixture = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YStringToStringMapTest.class);
+	}
+
+	/**
+	 * Constructs a new YString To String Map test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YStringToStringMapTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this YString To String Map test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(Map.Entry<String, String> fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this YString To String Map test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected Map.Entry<String, String> getFixture() {
+		return fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	@SuppressWarnings("unchecked")
+	protected void setUp() throws Exception {
+		setFixture((Map.Entry<String, String>)CoreModelFactory.eINSTANCE.create(CoreModelPackage.Literals.YSTRING_TO_STRING_MAP));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#tearDown()
+	 * @generated
+	 */
+	@Override
+	protected void tearDown() throws Exception {
+		setFixture(null);
+	}
+
+} //YStringToStringMapTest
diff --git a/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YTaggableTest.java b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YTaggableTest.java
new file mode 100644
index 0000000..d3a1dfa
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YTaggableTest.java
@@ -0,0 +1,55 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.common.model.core.tests;
+
+import junit.framework.TestCase;
+
+import org.eclipse.osbp.ecview.core.common.model.core.YTaggable;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YTaggable</b></em>'.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public abstract class YTaggableTest extends TestCase {
+
+	/**
+	 * The fixture for this YTaggable test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YTaggable fixture = null;
+
+	/**
+	 * Constructs a new YTaggable test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YTaggableTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this YTaggable test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(YTaggable fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this YTaggable test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YTaggable getFixture() {
+		return fixture;
+	}
+
+} //YTaggableTest
diff --git a/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YTextChangeNotifierTest.java b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YTextChangeNotifierTest.java
new file mode 100644
index 0000000..925e524
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YTextChangeNotifierTest.java
@@ -0,0 +1,55 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.common.model.core.tests;
+
+import junit.framework.TestCase;
+
+import org.eclipse.osbp.ecview.core.common.model.core.YTextChangeNotifier;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YText Change Notifier</b></em>'.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public abstract class YTextChangeNotifierTest extends TestCase {
+
+	/**
+	 * The fixture for this YText Change Notifier test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YTextChangeNotifier fixture = null;
+
+	/**
+	 * Constructs a new YText Change Notifier test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YTextChangeNotifierTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this YText Change Notifier test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(YTextChangeNotifier fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this YText Change Notifier test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YTextChangeNotifier getFixture() {
+		return fixture;
+	}
+
+} //YTextChangeNotifierTest
diff --git a/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YValueBindableTest.java b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YValueBindableTest.java
new file mode 100644
index 0000000..64844b6
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YValueBindableTest.java
@@ -0,0 +1,74 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.common.model.core.tests;
+
+import junit.framework.TestCase;
+
+import org.eclipse.osbp.ecview.core.common.model.core.YValueBindable;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YValue Bindable</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following operations are tested:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.ecview.core.common.model.core.YValueBindable#createValueEndpoint() <em>Create Value Endpoint</em>}</li>
+ * </ul>
+ * </p>
+ * @generated
+ */
+public abstract class YValueBindableTest extends TestCase {
+
+	/**
+	 * The fixture for this YValue Bindable test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YValueBindable fixture = null;
+
+	/**
+	 * Constructs a new YValue Bindable test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YValueBindableTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this YValue Bindable test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(YValueBindable fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this YValue Bindable test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YValueBindable getFixture() {
+		return fixture;
+	}
+
+	/**
+	 * Tests the '{@link org.eclipse.osbp.ecview.core.common.model.core.YValueBindable#createValueEndpoint() <em>Create Value Endpoint</em>}' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.ecview.core.common.model.core.YValueBindable#createValueEndpoint()
+	 * @generated
+	 */
+	public void testCreateValueEndpoint() {
+		// TODO: implement this operation test method
+		// Ensure that you remove @generated or mark it @generated NOT
+		fail();
+	}
+
+} //YValueBindableTest
diff --git a/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YViewSetTest.java b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YViewSetTest.java
new file mode 100644
index 0000000..847323b
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YViewSetTest.java
@@ -0,0 +1,89 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.common.model.core.tests;
+
+import junit.framework.TestCase;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.core.common.model.core.CoreModelFactory;
+import org.eclipse.osbp.ecview.core.common.model.core.YViewSet;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YView Set</b></em>'.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class YViewSetTest extends TestCase {
+
+	/**
+	 * The fixture for this YView Set test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YViewSet fixture = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YViewSetTest.class);
+	}
+
+	/**
+	 * Constructs a new YView Set test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YViewSetTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this YView Set test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(YViewSet fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this YView Set test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YViewSet getFixture() {
+		return fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(CoreModelFactory.eINSTANCE.createYViewSet());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#tearDown()
+	 * @generated
+	 */
+	@Override
+	protected void tearDown() throws Exception {
+		setFixture(null);
+	}
+
+} //YViewSetTest
diff --git a/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YViewTest.java b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YViewTest.java
new file mode 100644
index 0000000..6e75c5a
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YViewTest.java
@@ -0,0 +1,122 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.common.model.core.tests;
+
+import junit.framework.TestCase;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.core.common.model.core.CoreModelFactory;
+import org.eclipse.osbp.ecview.core.common.model.core.YView;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YView</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following operations are tested:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.ecview.core.common.model.core.YView#getOrCreateBindingSet() <em>Get Or Create Binding Set</em>}</li>
+ *   <li>{@link org.eclipse.osbp.ecview.core.common.model.core.YAlignmentContainer#applyAlignment(org.eclipse.osbp.ecview.core.common.model.core.YEmbeddable, org.eclipse.osbp.ecview.core.common.model.core.YAlignment) <em>Apply Alignment</em>}</li>
+ * </ul>
+ * </p>
+ * @generated
+ */
+public class YViewTest extends TestCase {
+
+	/**
+	 * The fixture for this YView test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YView fixture = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YViewTest.class);
+	}
+
+	/**
+	 * Constructs a new YView test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YViewTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this YView test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(YView fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this YView test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YView getFixture() {
+		return fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(CoreModelFactory.eINSTANCE.createYView());
+	}
+
+	/**
+	 * <!-- 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.YView#getOrCreateBindingSet() <em>Get Or Create Binding Set</em>}' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.ecview.core.common.model.core.YView#getOrCreateBindingSet()
+	 * @generated
+	 */
+	public void testGetOrCreateBindingSet() {
+		// 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.YAlignmentContainer#applyAlignment(org.eclipse.osbp.ecview.core.common.model.core.YEmbeddable, org.eclipse.osbp.ecview.core.common.model.core.YAlignment) <em>Apply Alignment</em>}' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.ecview.core.common.model.core.YAlignmentContainer#applyAlignment(org.eclipse.osbp.ecview.core.common.model.core.YEmbeddable, org.eclipse.osbp.ecview.core.common.model.core.YAlignment)
+	 * @generated
+	 */
+	public void testApplyAlignment__YEmbeddable_YAlignment() {
+		// TODO: implement this operation test method
+		// Ensure that you remove @generated or mark it @generated NOT
+		fail();
+	}
+
+} //YViewTest
diff --git a/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YVisibleableTest.java b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YVisibleableTest.java
new file mode 100644
index 0000000..bd253e3
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YVisibleableTest.java
@@ -0,0 +1,87 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.common.model.core.tests;
+
+import junit.framework.TestCase;
+
+import org.eclipse.osbp.ecview.core.common.model.core.YVisibleable;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YVisibleable</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are tested:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.ecview.core.common.model.core.YVisibleable#isVisible() <em>Visible</em>}</li>
+ * </ul>
+ * </p>
+ * @generated
+ */
+public abstract class YVisibleableTest extends TestCase {
+
+	/**
+	 * The fixture for this YVisibleable test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YVisibleable fixture = null;
+
+	/**
+	 * Constructs a new YVisibleable test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YVisibleableTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this YVisibleable test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(YVisibleable fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this YVisibleable test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YVisibleable getFixture() {
+		return fixture;
+	}
+
+	/**
+	 * Tests the '{@link org.eclipse.osbp.ecview.core.common.model.core.YVisibleable#isVisible() <em>Visible</em>}' feature getter.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.ecview.core.common.model.core.YVisibleable#isVisible()
+	 * @generated
+	 */
+	public void testIsVisible() {
+		// TODO: implement this feature getter test method
+		// Ensure that you remove @generated or mark it @generated NOT
+		fail();
+	}
+
+	/**
+	 * Tests the '{@link org.eclipse.osbp.ecview.core.common.model.core.YVisibleable#setVisible(boolean) <em>Visible</em>}' feature setter.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.ecview.core.common.model.core.YVisibleable#setVisible(boolean)
+	 * @generated
+	 */
+	public void testSetVisible() {
+		// TODO: implement this feature setter test method
+		// Ensure that you remove @generated or mark it @generated NOT
+		fail();
+	}
+
+} //YVisibleableTest
diff --git a/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YWidthableTest.java b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YWidthableTest.java
new file mode 100644
index 0000000..7d1fe0a
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/core/tests/YWidthableTest.java
@@ -0,0 +1,55 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.common.model.core.tests;
+
+import junit.framework.TestCase;
+
+import org.eclipse.osbp.ecview.core.common.model.core.YWidthable;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YWidthable</b></em>'.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public abstract class YWidthableTest extends TestCase {
+
+	/**
+	 * The fixture for this YWidthable test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YWidthable fixture = null;
+
+	/**
+	 * Constructs a new YWidthable test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YWidthableTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this YWidthable test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(YWidthable fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this YWidthable test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YWidthable getFixture() {
+		return fixture;
+	}
+
+} //YWidthableTest
diff --git a/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/datatypes/tests/DatatypesExample.java b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/datatypes/tests/DatatypesExample.java
new file mode 100644
index 0000000..f91eab3
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/datatypes/tests/DatatypesExample.java
@@ -0,0 +1,121 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.common.model.datatypes.tests;
+
+import java.io.File;
+import java.io.IOException;
+
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.URI;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.ResourceSet;
+
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+
+import org.eclipse.emf.ecore.util.Diagnostician;
+
+import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl;
+
+import org.eclipse.osbp.ecview.core.common.model.datatypes.DatatypesFactory;
+import org.eclipse.osbp.ecview.core.common.model.datatypes.DatatypesPackage;
+import org.eclipse.osbp.ecview.core.common.model.datatypes.YDatadescription;
+
+/**
+ * <!-- begin-user-doc -->
+ * A sample utility for the '<em><b>datatypes</b></em>' package.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class DatatypesExample {
+	/**
+	 * <!-- begin-user-doc -->
+	 * Load all the argument file paths or URIs as instances of the model.
+	 * <!-- end-user-doc -->
+	 * @param args the file paths or URIs.
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		// Create a resource set to hold the resources.
+		//
+		ResourceSet resourceSet = new ResourceSetImpl();
+		
+		// Register the appropriate resource factory to handle all file extensions.
+		//
+		resourceSet.getResourceFactoryRegistry().getExtensionToFactoryMap().put
+			(Resource.Factory.Registry.DEFAULT_EXTENSION, 
+			 new XMIResourceFactoryImpl());
+
+		// Register the package to ensure it is available during loading.
+		//
+		resourceSet.getPackageRegistry().put
+			(DatatypesPackage.eNS_URI, 
+			 DatatypesPackage.eINSTANCE);
+        
+		// If there are no arguments, emit an appropriate usage message.
+		//
+		if (args.length == 0) {
+			System.out.println("Enter a list of file paths or URIs that have content like this:");
+			try {
+				Resource resource = resourceSet.createResource(URI.createURI("http:///My.datatypes"));
+				YDatadescription root = DatatypesFactory.eINSTANCE.createYDatadescription();
+				resource.getContents().add(root);
+				resource.save(System.out, null);
+			}
+			catch (IOException exception) {
+				exception.printStackTrace();
+			}
+		}
+		else {
+			// Iterate over all the arguments.
+			//
+			for (int i = 0; i < args.length; ++i) {
+				// Construct the URI for the instance file.
+				// The argument is treated as a file path only if it denotes an existing file.
+				// Otherwise, it's directly treated as a URL.
+				//
+				File file = new File(args[i]);
+				URI uri = file.isFile() ? URI.createFileURI(file.getAbsolutePath()): URI.createURI(args[i]);
+
+				try {
+					// Demand load resource for this file.
+					//
+					Resource resource = resourceSet.getResource(uri, true);
+					System.out.println("Loaded " + uri);
+
+					// Validate the contents of the loaded resource.
+					//
+					for (EObject eObject : resource.getContents()) {
+						Diagnostic diagnostic = Diagnostician.INSTANCE.validate(eObject);
+						if (diagnostic.getSeverity() != Diagnostic.OK) {
+							printDiagnostic(diagnostic, "");
+						}
+					}
+				}
+				catch (RuntimeException exception) {
+					System.out.println("Problem loading " + uri);
+					exception.printStackTrace();
+				}
+			}
+		}
+	}
+	
+	/**
+	 * <!-- begin-user-doc -->
+	 * Prints diagnostics with indentation.
+	 * <!-- end-user-doc -->
+	 * @param diagnostic the diagnostic to print.
+	 * @param indent the indentation for printing.
+	 * @generated
+	 */
+	protected static void printDiagnostic(Diagnostic diagnostic, String indent) {
+		System.out.print(indent);
+		System.out.println(diagnostic.getMessage());
+		for (Diagnostic child : diagnostic.getChildren()) {
+			printDiagnostic(child, indent + "  ");
+		}
+	}
+
+} //DatatypesExample
diff --git a/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/datatypes/tests/DatatypesTests.java b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/datatypes/tests/DatatypesTests.java
new file mode 100644
index 0000000..b6aa1dc
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/datatypes/tests/DatatypesTests.java
@@ -0,0 +1,46 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.common.model.datatypes.tests;
+
+import junit.framework.Test;
+import junit.framework.TestSuite;
+
+import junit.textui.TestRunner;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test suite for the '<em><b>datatypes</b></em>' package.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class DatatypesTests extends TestSuite {
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(suite());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static Test suite() {
+		TestSuite suite = new DatatypesTests("datatypes Tests");
+		return suite;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public DatatypesTests(String name) {
+		super(name);
+	}
+
+} //DatatypesTests
diff --git a/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/datatypes/tests/YDatadescriptionTest.java b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/datatypes/tests/YDatadescriptionTest.java
new file mode 100644
index 0000000..87ee2cf
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/datatypes/tests/YDatadescriptionTest.java
@@ -0,0 +1,89 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.common.model.datatypes.tests;
+
+import junit.framework.TestCase;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.core.common.model.datatypes.DatatypesFactory;
+import org.eclipse.osbp.ecview.core.common.model.datatypes.YDatadescription;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YDatadescription</b></em>'.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class YDatadescriptionTest extends TestCase {
+
+	/**
+	 * The fixture for this YDatadescription test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YDatadescription fixture = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YDatadescriptionTest.class);
+	}
+
+	/**
+	 * Constructs a new YDatadescription test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YDatadescriptionTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this YDatadescription test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(YDatadescription fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this YDatadescription test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YDatadescription getFixture() {
+		return fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(DatatypesFactory.eINSTANCE.createYDatadescription());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#tearDown()
+	 * @generated
+	 */
+	@Override
+	protected void tearDown() throws Exception {
+		setFixture(null);
+	}
+
+} //YDatadescriptionTest
diff --git a/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/datatypes/tests/YDatatypeTest.java b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/datatypes/tests/YDatatypeTest.java
new file mode 100644
index 0000000..307f7c8
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/datatypes/tests/YDatatypeTest.java
@@ -0,0 +1,55 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.common.model.datatypes.tests;
+
+import junit.framework.TestCase;
+
+import org.eclipse.osbp.ecview.core.common.model.datatypes.YDatatype;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YDatatype</b></em>'.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public abstract class YDatatypeTest extends TestCase {
+
+	/**
+	 * The fixture for this YDatatype test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YDatatype fixture = null;
+
+	/**
+	 * Constructs a new YDatatype test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YDatatypeTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this YDatatype test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(YDatatype fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this YDatatype test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YDatatype getFixture() {
+		return fixture;
+	}
+
+} //YDatatypeTest
diff --git a/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/datatypes/tests/YDtBaseTest.java b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/datatypes/tests/YDtBaseTest.java
new file mode 100644
index 0000000..888e4f1
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/datatypes/tests/YDtBaseTest.java
@@ -0,0 +1,55 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.common.model.datatypes.tests;
+
+import junit.framework.TestCase;
+
+import org.eclipse.osbp.ecview.core.common.model.datatypes.YDtBase;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YDt Base</b></em>'.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public abstract class YDtBaseTest extends TestCase {
+
+	/**
+	 * The fixture for this YDt Base test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YDtBase fixture = null;
+
+	/**
+	 * Constructs a new YDt Base test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YDtBaseTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this YDt Base test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(YDtBase fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this YDt Base test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YDtBase getFixture() {
+		return fixture;
+	}
+
+} //YDtBaseTest
diff --git a/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/validation/tests/ValidationExample.java b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/validation/tests/ValidationExample.java
new file mode 100644
index 0000000..6a69418
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/validation/tests/ValidationExample.java
@@ -0,0 +1,121 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.common.model.validation.tests;
+
+import java.io.File;
+import java.io.IOException;
+
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.URI;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.ResourceSet;
+
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+
+import org.eclipse.emf.ecore.util.Diagnostician;
+
+import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl;
+
+import org.eclipse.osbp.ecview.core.common.model.validation.ValidationFactory;
+import org.eclipse.osbp.ecview.core.common.model.validation.ValidationPackage;
+import org.eclipse.osbp.ecview.core.common.model.validation.YMinLengthValidator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A sample utility for the '<em><b>validation</b></em>' package.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ValidationExample {
+	/**
+	 * <!-- begin-user-doc -->
+	 * Load all the argument file paths or URIs as instances of the model.
+	 * <!-- end-user-doc -->
+	 * @param args the file paths or URIs.
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		// Create a resource set to hold the resources.
+		//
+		ResourceSet resourceSet = new ResourceSetImpl();
+		
+		// Register the appropriate resource factory to handle all file extensions.
+		//
+		resourceSet.getResourceFactoryRegistry().getExtensionToFactoryMap().put
+			(Resource.Factory.Registry.DEFAULT_EXTENSION, 
+			 new XMIResourceFactoryImpl());
+
+		// Register the package to ensure it is available during loading.
+		//
+		resourceSet.getPackageRegistry().put
+			(ValidationPackage.eNS_URI, 
+			 ValidationPackage.eINSTANCE);
+        
+		// If there are no arguments, emit an appropriate usage message.
+		//
+		if (args.length == 0) {
+			System.out.println("Enter a list of file paths or URIs that have content like this:");
+			try {
+				Resource resource = resourceSet.createResource(URI.createURI("http:///My.validation"));
+				YMinLengthValidator root = ValidationFactory.eINSTANCE.createYMinLengthValidator();
+				resource.getContents().add(root);
+				resource.save(System.out, null);
+			}
+			catch (IOException exception) {
+				exception.printStackTrace();
+			}
+		}
+		else {
+			// Iterate over all the arguments.
+			//
+			for (int i = 0; i < args.length; ++i) {
+				// Construct the URI for the instance file.
+				// The argument is treated as a file path only if it denotes an existing file.
+				// Otherwise, it's directly treated as a URL.
+				//
+				File file = new File(args[i]);
+				URI uri = file.isFile() ? URI.createFileURI(file.getAbsolutePath()): URI.createURI(args[i]);
+
+				try {
+					// Demand load resource for this file.
+					//
+					Resource resource = resourceSet.getResource(uri, true);
+					System.out.println("Loaded " + uri);
+
+					// Validate the contents of the loaded resource.
+					//
+					for (EObject eObject : resource.getContents()) {
+						Diagnostic diagnostic = Diagnostician.INSTANCE.validate(eObject);
+						if (diagnostic.getSeverity() != Diagnostic.OK) {
+							printDiagnostic(diagnostic, "");
+						}
+					}
+				}
+				catch (RuntimeException exception) {
+					System.out.println("Problem loading " + uri);
+					exception.printStackTrace();
+				}
+			}
+		}
+	}
+	
+	/**
+	 * <!-- begin-user-doc -->
+	 * Prints diagnostics with indentation.
+	 * <!-- end-user-doc -->
+	 * @param diagnostic the diagnostic to print.
+	 * @param indent the indentation for printing.
+	 * @generated
+	 */
+	protected static void printDiagnostic(Diagnostic diagnostic, String indent) {
+		System.out.print(indent);
+		System.out.println(diagnostic.getMessage());
+		for (Diagnostic child : diagnostic.getChildren()) {
+			printDiagnostic(child, indent + "  ");
+		}
+	}
+
+} //ValidationExample
diff --git a/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/validation/tests/ValidationTests.java b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/validation/tests/ValidationTests.java
new file mode 100644
index 0000000..e913980
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/validation/tests/ValidationTests.java
@@ -0,0 +1,46 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.common.model.validation.tests;
+
+import junit.framework.Test;
+import junit.framework.TestSuite;
+
+import junit.textui.TestRunner;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test suite for the '<em><b>validation</b></em>' package.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ValidationTests extends TestSuite {
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(suite());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static Test suite() {
+		TestSuite suite = new ValidationTests("validation Tests");
+		return suite;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ValidationTests(String name) {
+		super(name);
+	}
+
+} //ValidationTests
diff --git a/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/validation/tests/YBeanValidationValidatorConfigTest.java b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/validation/tests/YBeanValidationValidatorConfigTest.java
new file mode 100644
index 0000000..30fda26
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/validation/tests/YBeanValidationValidatorConfigTest.java
@@ -0,0 +1,55 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.common.model.validation.tests;
+
+import junit.framework.TestCase;
+
+import org.eclipse.osbp.ecview.core.common.model.validation.YBeanValidationValidatorConfig;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YBean Validation Validator Config</b></em>'.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public abstract class YBeanValidationValidatorConfigTest extends TestCase {
+
+	/**
+	 * The fixture for this YBean Validation Validator Config test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YBeanValidationValidatorConfig fixture = null;
+
+	/**
+	 * Constructs a new YBean Validation Validator Config test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YBeanValidationValidatorConfigTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this YBean Validation Validator Config test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(YBeanValidationValidatorConfig fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this YBean Validation Validator Config test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YBeanValidationValidatorConfig getFixture() {
+		return fixture;
+	}
+
+} //YBeanValidationValidatorConfigTest
diff --git a/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/validation/tests/YBeanValidationValidatorTest.java b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/validation/tests/YBeanValidationValidatorTest.java
new file mode 100644
index 0000000..57abcef
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/validation/tests/YBeanValidationValidatorTest.java
@@ -0,0 +1,70 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.common.model.validation.tests;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.core.common.model.validation.ValidationFactory;
+import org.eclipse.osbp.ecview.core.common.model.validation.YBeanValidationValidator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YBean Validation Validator</b></em>'.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class YBeanValidationValidatorTest extends YValidatorTest {
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YBeanValidationValidatorTest.class);
+	}
+
+	/**
+	 * Constructs a new YBean Validation Validator test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YBeanValidationValidatorTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Returns the fixture for this YBean Validation Validator test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected YBeanValidationValidator getFixture() {
+		return (YBeanValidationValidator)fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(ValidationFactory.eINSTANCE.createYBeanValidationValidator());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#tearDown()
+	 * @generated
+	 */
+	@Override
+	protected void tearDown() throws Exception {
+		setFixture(null);
+	}
+
+} //YBeanValidationValidatorTest
diff --git a/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/validation/tests/YClassDelegateValidationConfigTest.java b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/validation/tests/YClassDelegateValidationConfigTest.java
new file mode 100644
index 0000000..da28cb1
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/validation/tests/YClassDelegateValidationConfigTest.java
@@ -0,0 +1,55 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.common.model.validation.tests;
+
+import junit.framework.TestCase;
+
+import org.eclipse.osbp.ecview.core.common.model.validation.YClassDelegateValidationConfig;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YClass Delegate Validation Config</b></em>'.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public abstract class YClassDelegateValidationConfigTest extends TestCase {
+
+	/**
+	 * The fixture for this YClass Delegate Validation Config test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YClassDelegateValidationConfig fixture = null;
+
+	/**
+	 * Constructs a new YClass Delegate Validation Config test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YClassDelegateValidationConfigTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this YClass Delegate Validation Config test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(YClassDelegateValidationConfig fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this YClass Delegate Validation Config test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YClassDelegateValidationConfig getFixture() {
+		return fixture;
+	}
+
+} //YClassDelegateValidationConfigTest
diff --git a/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/validation/tests/YClassDelegateValidatorTest.java b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/validation/tests/YClassDelegateValidatorTest.java
new file mode 100644
index 0000000..a28c076
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/validation/tests/YClassDelegateValidatorTest.java
@@ -0,0 +1,70 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.common.model.validation.tests;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.core.common.model.validation.ValidationFactory;
+import org.eclipse.osbp.ecview.core.common.model.validation.YClassDelegateValidator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YClass Delegate Validator</b></em>'.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class YClassDelegateValidatorTest extends YValidatorTest {
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YClassDelegateValidatorTest.class);
+	}
+
+	/**
+	 * Constructs a new YClass Delegate Validator test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YClassDelegateValidatorTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Returns the fixture for this YClass Delegate Validator test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected YClassDelegateValidator getFixture() {
+		return (YClassDelegateValidator)fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(ValidationFactory.eINSTANCE.createYClassDelegateValidator());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#tearDown()
+	 * @generated
+	 */
+	@Override
+	protected void tearDown() throws Exception {
+		setFixture(null);
+	}
+
+} //YClassDelegateValidatorTest
diff --git a/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/validation/tests/YMaxLengthValidationConfigTest.java b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/validation/tests/YMaxLengthValidationConfigTest.java
new file mode 100644
index 0000000..e42bf0d
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/validation/tests/YMaxLengthValidationConfigTest.java
@@ -0,0 +1,55 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.common.model.validation.tests;
+
+import junit.framework.TestCase;
+
+import org.eclipse.osbp.ecview.core.common.model.validation.YMaxLengthValidationConfig;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YMax Length Validation Config</b></em>'.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public abstract class YMaxLengthValidationConfigTest extends TestCase {
+
+	/**
+	 * The fixture for this YMax Length Validation Config test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YMaxLengthValidationConfig fixture = null;
+
+	/**
+	 * Constructs a new YMax Length Validation Config test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YMaxLengthValidationConfigTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this YMax Length Validation Config test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(YMaxLengthValidationConfig fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this YMax Length Validation Config test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YMaxLengthValidationConfig getFixture() {
+		return fixture;
+	}
+
+} //YMaxLengthValidationConfigTest
diff --git a/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/validation/tests/YMaxLengthValidatorTest.java b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/validation/tests/YMaxLengthValidatorTest.java
new file mode 100644
index 0000000..08b1ab9
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/validation/tests/YMaxLengthValidatorTest.java
@@ -0,0 +1,70 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.common.model.validation.tests;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.core.common.model.validation.ValidationFactory;
+import org.eclipse.osbp.ecview.core.common.model.validation.YMaxLengthValidator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YMax Length Validator</b></em>'.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class YMaxLengthValidatorTest extends YValidatorTest {
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YMaxLengthValidatorTest.class);
+	}
+
+	/**
+	 * Constructs a new YMax Length Validator test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YMaxLengthValidatorTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Returns the fixture for this YMax Length Validator test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected YMaxLengthValidator getFixture() {
+		return (YMaxLengthValidator)fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(ValidationFactory.eINSTANCE.createYMaxLengthValidator());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#tearDown()
+	 * @generated
+	 */
+	@Override
+	protected void tearDown() throws Exception {
+		setFixture(null);
+	}
+
+} //YMaxLengthValidatorTest
diff --git a/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/validation/tests/YMinLengthValidationConfigTest.java b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/validation/tests/YMinLengthValidationConfigTest.java
new file mode 100644
index 0000000..143a56a
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/validation/tests/YMinLengthValidationConfigTest.java
@@ -0,0 +1,55 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.common.model.validation.tests;
+
+import junit.framework.TestCase;
+
+import org.eclipse.osbp.ecview.core.common.model.validation.YMinLengthValidationConfig;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YMin Length Validation Config</b></em>'.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public abstract class YMinLengthValidationConfigTest extends TestCase {
+
+	/**
+	 * The fixture for this YMin Length Validation Config test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YMinLengthValidationConfig fixture = null;
+
+	/**
+	 * Constructs a new YMin Length Validation Config test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YMinLengthValidationConfigTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this YMin Length Validation Config test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(YMinLengthValidationConfig fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this YMin Length Validation Config test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YMinLengthValidationConfig getFixture() {
+		return fixture;
+	}
+
+} //YMinLengthValidationConfigTest
diff --git a/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/validation/tests/YMinLengthValidatorTest.java b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/validation/tests/YMinLengthValidatorTest.java
new file mode 100644
index 0000000..d517537
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/validation/tests/YMinLengthValidatorTest.java
@@ -0,0 +1,70 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.common.model.validation.tests;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.core.common.model.validation.ValidationFactory;
+import org.eclipse.osbp.ecview.core.common.model.validation.YMinLengthValidator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YMin Length Validator</b></em>'.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class YMinLengthValidatorTest extends YValidatorTest {
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YMinLengthValidatorTest.class);
+	}
+
+	/**
+	 * Constructs a new YMin Length Validator test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YMinLengthValidatorTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Returns the fixture for this YMin Length Validator test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected YMinLengthValidator getFixture() {
+		return (YMinLengthValidator)fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(ValidationFactory.eINSTANCE.createYMinLengthValidator());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#tearDown()
+	 * @generated
+	 */
+	@Override
+	protected void tearDown() throws Exception {
+		setFixture(null);
+	}
+
+} //YMinLengthValidatorTest
diff --git a/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/validation/tests/YRegexpValidationConfigTest.java b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/validation/tests/YRegexpValidationConfigTest.java
new file mode 100644
index 0000000..756e597
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/validation/tests/YRegexpValidationConfigTest.java
@@ -0,0 +1,55 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.common.model.validation.tests;
+
+import junit.framework.TestCase;
+
+import org.eclipse.osbp.ecview.core.common.model.validation.YRegexpValidationConfig;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YRegexp Validation Config</b></em>'.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public abstract class YRegexpValidationConfigTest extends TestCase {
+
+	/**
+	 * The fixture for this YRegexp Validation Config test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YRegexpValidationConfig fixture = null;
+
+	/**
+	 * Constructs a new YRegexp Validation Config test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YRegexpValidationConfigTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this YRegexp Validation Config test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(YRegexpValidationConfig fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this YRegexp Validation Config test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YRegexpValidationConfig getFixture() {
+		return fixture;
+	}
+
+} //YRegexpValidationConfigTest
diff --git a/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/validation/tests/YRegexpValidatorTest.java b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/validation/tests/YRegexpValidatorTest.java
new file mode 100644
index 0000000..4ab8182
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/validation/tests/YRegexpValidatorTest.java
@@ -0,0 +1,70 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.common.model.validation.tests;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.core.common.model.validation.ValidationFactory;
+import org.eclipse.osbp.ecview.core.common.model.validation.YRegexpValidator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YRegexp Validator</b></em>'.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class YRegexpValidatorTest extends YValidatorTest {
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YRegexpValidatorTest.class);
+	}
+
+	/**
+	 * Constructs a new YRegexp Validator test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YRegexpValidatorTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Returns the fixture for this YRegexp Validator test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected YRegexpValidator getFixture() {
+		return (YRegexpValidator)fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(ValidationFactory.eINSTANCE.createYRegexpValidator());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#tearDown()
+	 * @generated
+	 */
+	@Override
+	protected void tearDown() throws Exception {
+		setFixture(null);
+	}
+
+} //YRegexpValidatorTest
diff --git a/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/validation/tests/YUniqueAttributeValidatorConfigTest.java b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/validation/tests/YUniqueAttributeValidatorConfigTest.java
new file mode 100644
index 0000000..030bbfb
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/validation/tests/YUniqueAttributeValidatorConfigTest.java
@@ -0,0 +1,55 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.common.model.validation.tests;
+
+import junit.framework.TestCase;
+
+import org.eclipse.osbp.ecview.core.common.model.validation.YUniqueAttributeValidatorConfig;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YUnique Attribute Validator Config</b></em>'.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public abstract class YUniqueAttributeValidatorConfigTest extends TestCase {
+
+	/**
+	 * The fixture for this YUnique Attribute Validator Config test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YUniqueAttributeValidatorConfig fixture = null;
+
+	/**
+	 * Constructs a new YUnique Attribute Validator Config test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YUniqueAttributeValidatorConfigTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this YUnique Attribute Validator Config test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(YUniqueAttributeValidatorConfig fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this YUnique Attribute Validator Config test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YUniqueAttributeValidatorConfig getFixture() {
+		return fixture;
+	}
+
+} //YUniqueAttributeValidatorConfigTest
diff --git a/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/validation/tests/YUniqueAttributeValidatorTest.java b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/validation/tests/YUniqueAttributeValidatorTest.java
new file mode 100644
index 0000000..9ec5d24
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/validation/tests/YUniqueAttributeValidatorTest.java
@@ -0,0 +1,70 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.common.model.validation.tests;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.core.common.model.validation.ValidationFactory;
+import org.eclipse.osbp.ecview.core.common.model.validation.YUniqueAttributeValidator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YUnique Attribute Validator</b></em>'.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class YUniqueAttributeValidatorTest extends YValidatorTest {
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YUniqueAttributeValidatorTest.class);
+	}
+
+	/**
+	 * Constructs a new YUnique Attribute Validator test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YUniqueAttributeValidatorTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Returns the fixture for this YUnique Attribute Validator test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected YUniqueAttributeValidator getFixture() {
+		return (YUniqueAttributeValidator)fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(ValidationFactory.eINSTANCE.createYUniqueAttributeValidator());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#tearDown()
+	 * @generated
+	 */
+	@Override
+	protected void tearDown() throws Exception {
+		setFixture(null);
+	}
+
+} //YUniqueAttributeValidatorTest
diff --git a/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/validation/tests/YValidationConfigTest.java b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/validation/tests/YValidationConfigTest.java
new file mode 100644
index 0000000..f5893be
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/validation/tests/YValidationConfigTest.java
@@ -0,0 +1,55 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.common.model.validation.tests;
+
+import junit.framework.TestCase;
+
+import org.eclipse.osbp.ecview.core.common.model.validation.YValidationConfig;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YValidation Config</b></em>'.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public abstract class YValidationConfigTest extends TestCase {
+
+	/**
+	 * The fixture for this YValidation Config test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YValidationConfig fixture = null;
+
+	/**
+	 * Constructs a new YValidation Config test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YValidationConfigTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this YValidation Config test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(YValidationConfig fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this YValidation Config test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YValidationConfig getFixture() {
+		return fixture;
+	}
+
+} //YValidationConfigTest
diff --git a/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/validation/tests/YValidatorTest.java b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/validation/tests/YValidatorTest.java
new file mode 100644
index 0000000..a61b55d
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/validation/tests/YValidatorTest.java
@@ -0,0 +1,55 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.common.model.validation.tests;
+
+import junit.framework.TestCase;
+
+import org.eclipse.osbp.ecview.core.common.model.validation.YValidator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YValidator</b></em>'.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public abstract class YValidatorTest extends TestCase {
+
+	/**
+	 * The fixture for this YValidator test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YValidator fixture = null;
+
+	/**
+	 * Constructs a new YValidator test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YValidatorTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this YValidator test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(YValidator fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this YValidator test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YValidator getFixture() {
+		return fixture;
+	}
+
+} //YValidatorTest
diff --git a/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/visibility/tests/VisibilityExample.java b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/visibility/tests/VisibilityExample.java
new file mode 100644
index 0000000..5eb2ec4
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/visibility/tests/VisibilityExample.java
@@ -0,0 +1,121 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.common.model.visibility.tests;
+
+import java.io.File;
+import java.io.IOException;
+
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.URI;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.ResourceSet;
+
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+
+import org.eclipse.emf.ecore.util.Diagnostician;
+
+import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl;
+
+import org.eclipse.osbp.ecview.core.common.model.visibility.VisibilityFactory;
+import org.eclipse.osbp.ecview.core.common.model.visibility.VisibilityPackage;
+import org.eclipse.osbp.ecview.core.common.model.visibility.YVisibilityProcessor;
+
+/**
+ * <!-- begin-user-doc -->
+ * A sample utility for the '<em><b>visibility</b></em>' package.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class VisibilityExample {
+	/**
+	 * <!-- begin-user-doc -->
+	 * Load all the argument file paths or URIs as instances of the model.
+	 * <!-- end-user-doc -->
+	 * @param args the file paths or URIs.
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		// Create a resource set to hold the resources.
+		//
+		ResourceSet resourceSet = new ResourceSetImpl();
+		
+		// Register the appropriate resource factory to handle all file extensions.
+		//
+		resourceSet.getResourceFactoryRegistry().getExtensionToFactoryMap().put
+			(Resource.Factory.Registry.DEFAULT_EXTENSION, 
+			 new XMIResourceFactoryImpl());
+
+		// Register the package to ensure it is available during loading.
+		//
+		resourceSet.getPackageRegistry().put
+			(VisibilityPackage.eNS_URI, 
+			 VisibilityPackage.eINSTANCE);
+        
+		// If there are no arguments, emit an appropriate usage message.
+		//
+		if (args.length == 0) {
+			System.out.println("Enter a list of file paths or URIs that have content like this:");
+			try {
+				Resource resource = resourceSet.createResource(URI.createURI("http:///My.visibility"));
+				YVisibilityProcessor root = VisibilityFactory.eINSTANCE.createYVisibilityProcessor();
+				resource.getContents().add(root);
+				resource.save(System.out, null);
+			}
+			catch (IOException exception) {
+				exception.printStackTrace();
+			}
+		}
+		else {
+			// Iterate over all the arguments.
+			//
+			for (int i = 0; i < args.length; ++i) {
+				// Construct the URI for the instance file.
+				// The argument is treated as a file path only if it denotes an existing file.
+				// Otherwise, it's directly treated as a URL.
+				//
+				File file = new File(args[i]);
+				URI uri = file.isFile() ? URI.createFileURI(file.getAbsolutePath()): URI.createURI(args[i]);
+
+				try {
+					// Demand load resource for this file.
+					//
+					Resource resource = resourceSet.getResource(uri, true);
+					System.out.println("Loaded " + uri);
+
+					// Validate the contents of the loaded resource.
+					//
+					for (EObject eObject : resource.getContents()) {
+						Diagnostic diagnostic = Diagnostician.INSTANCE.validate(eObject);
+						if (diagnostic.getSeverity() != Diagnostic.OK) {
+							printDiagnostic(diagnostic, "");
+						}
+					}
+				}
+				catch (RuntimeException exception) {
+					System.out.println("Problem loading " + uri);
+					exception.printStackTrace();
+				}
+			}
+		}
+	}
+	
+	/**
+	 * <!-- begin-user-doc -->
+	 * Prints diagnostics with indentation.
+	 * <!-- end-user-doc -->
+	 * @param diagnostic the diagnostic to print.
+	 * @param indent the indentation for printing.
+	 * @generated
+	 */
+	protected static void printDiagnostic(Diagnostic diagnostic, String indent) {
+		System.out.print(indent);
+		System.out.println(diagnostic.getMessage());
+		for (Diagnostic child : diagnostic.getChildren()) {
+			printDiagnostic(child, indent + "  ");
+		}
+	}
+
+} //VisibilityExample
diff --git a/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/visibility/tests/VisibilityTests.java b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/visibility/tests/VisibilityTests.java
new file mode 100644
index 0000000..74415a6
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/visibility/tests/VisibilityTests.java
@@ -0,0 +1,46 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.common.model.visibility.tests;
+
+import junit.framework.Test;
+import junit.framework.TestSuite;
+
+import junit.textui.TestRunner;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test suite for the '<em><b>visibility</b></em>' package.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class VisibilityTests extends TestSuite {
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(suite());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static Test suite() {
+		TestSuite suite = new VisibilityTests("visibility Tests");
+		return suite;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public VisibilityTests(String name) {
+		super(name);
+	}
+
+} //VisibilityTests
diff --git a/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/visibility/tests/YVisibilityProcessorTest.java b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/visibility/tests/YVisibilityProcessorTest.java
new file mode 100644
index 0000000..3b6796a
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/visibility/tests/YVisibilityProcessorTest.java
@@ -0,0 +1,89 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.common.model.visibility.tests;
+
+import junit.framework.TestCase;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.core.common.model.visibility.VisibilityFactory;
+import org.eclipse.osbp.ecview.core.common.model.visibility.YVisibilityProcessor;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YVisibility Processor</b></em>'.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class YVisibilityProcessorTest extends TestCase {
+
+	/**
+	 * The fixture for this YVisibility Processor test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YVisibilityProcessor fixture = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YVisibilityProcessorTest.class);
+	}
+
+	/**
+	 * Constructs a new YVisibility Processor test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YVisibilityProcessorTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this YVisibility Processor test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(YVisibilityProcessor fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this YVisibility Processor test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YVisibilityProcessor getFixture() {
+		return fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(VisibilityFactory.eINSTANCE.createYVisibilityProcessor());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#tearDown()
+	 * @generated
+	 */
+	@Override
+	protected void tearDown() throws Exception {
+		setFixture(null);
+	}
+
+} //YVisibilityProcessorTest
diff --git a/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/visibility/tests/YVisibilityPropertiesTest.java b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/visibility/tests/YVisibilityPropertiesTest.java
new file mode 100644
index 0000000..bfaaca4
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.model.tests/src/org/eclipse/osbp/ecview/core/common/model/visibility/tests/YVisibilityPropertiesTest.java
@@ -0,0 +1,89 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.common.model.visibility.tests;
+
+import junit.framework.TestCase;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.core.common.model.visibility.VisibilityFactory;
+import org.eclipse.osbp.ecview.core.common.model.visibility.YVisibilityProperties;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YVisibility Properties</b></em>'.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class YVisibilityPropertiesTest extends TestCase {
+
+	/**
+	 * The fixture for this YVisibility Properties test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YVisibilityProperties fixture = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YVisibilityPropertiesTest.class);
+	}
+
+	/**
+	 * Constructs a new YVisibility Properties test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YVisibilityPropertiesTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this YVisibility Properties test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(YVisibilityProperties fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this YVisibility Properties test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YVisibilityProperties getFixture() {
+		return fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(VisibilityFactory.eINSTANCE.createYVisibilityProperties());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#tearDown()
+	 * @generated
+	 */
+	@Override
+	protected void tearDown() throws Exception {
+		setFixture(null);
+	}
+
+} //YVisibilityPropertiesTest
diff --git a/org.eclipse.osbp.ecview.core.common.model/.classpath b/org.eclipse.osbp.ecview.core.common.model/.classpath
new file mode 100644
index 0000000..43b9862
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.model/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="output" path="target/classes"/>
+</classpath>
diff --git a/org.eclipse.osbp.ecview.core.common.model/.settings/org.eclipse.core.resources.prefs b/org.eclipse.osbp.ecview.core.common.model/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..99f26c0
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.model/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
diff --git a/org.eclipse.osbp.ecview.core.common.model/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.osbp.ecview.core.common.model/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..0c68a61
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.model/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,7 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.8
diff --git a/org.eclipse.osbp.ecview.core.common.model/.settings/org.eclipse.m2e.core.prefs b/org.eclipse.osbp.ecview.core.common.model/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.model/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/org.eclipse.osbp.ecview.core.common.model/.settings/org.eclipse.xtend.core.Xtend.prefs b/org.eclipse.osbp.ecview.core.common.model/.settings/org.eclipse.xtend.core.Xtend.prefs
new file mode 100644
index 0000000..19e3115
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.model/.settings/org.eclipse.xtend.core.Xtend.prefs
@@ -0,0 +1,11 @@
+//outlet.DEFAULT_OUTPUT.sourceFolder.src/test/java.directory=src/test/generated-sources/xtend
+BuilderConfiguration.is_project_specific=true
+eclipse.preferences.version=1
+is_project_specific=true
+outlet.DEFAULT_OUTPUT.hideLocalSyntheticVariables=true
+outlet.DEFAULT_OUTPUT.installDslAsPrimarySource=false
+outlet.DEFAULT_OUTPUT.sourceFolder.emf-gen.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.sourceFolder.src-gen.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.sourceFolder.src.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.sourceFolder.xtend-gen.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.userOutputPerSourceFolder=true
diff --git a/org.eclipse.osbp.ecview.core.common.model/src/org/eclipse/osbp/ecview/core/common/model/core/YBlurNotifier.java b/org.eclipse.osbp.ecview.core.common.model/src/org/eclipse/osbp/ecview/core/common/model/core/YBlurNotifier.java
new file mode 100644
index 0000000..1800876
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.model/src/org/eclipse/osbp/ecview/core/common/model/core/YBlurNotifier.java
@@ -0,0 +1,50 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.common.model.core;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>YBlur Notifier</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.ecview.core.common.model.core.YBlurNotifier#getLastBlurEvent <em>Last Blur Event</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.osbp.ecview.core.common.model.core.CoreModelPackage#getYBlurNotifier()
+ * @model interface="true" abstract="true"
+ * @generated
+ */
+public interface YBlurNotifier extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Last Blur Event</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Last Blur Event</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Last Blur Event</em>' reference.
+	 * @see #setLastBlurEvent(YEmbeddableEvent)
+	 * @see org.eclipse.osbp.ecview.core.common.model.core.CoreModelPackage#getYBlurNotifier_LastBlurEvent()
+	 * @model
+	 * @generated
+	 */
+	YEmbeddableEvent getLastBlurEvent();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.ecview.core.common.model.core.YBlurNotifier#getLastBlurEvent <em>Last Blur Event</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Last Blur Event</em>' reference.
+	 * @see #getLastBlurEvent()
+	 * @generated
+	 */
+	void setLastBlurEvent(YEmbeddableEvent value);
+
+} // YBlurNotifier
diff --git a/org.eclipse.osbp.ecview.core.common.model/src/org/eclipse/osbp/ecview/core/common/model/core/YContextClickEvent.java b/org.eclipse.osbp.ecview.core.common.model/src/org/eclipse/osbp/ecview/core/common/model/core/YContextClickEvent.java
new file mode 100644
index 0000000..0ffd902
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.model/src/org/eclipse/osbp/ecview/core/common/model/core/YContextClickEvent.java
@@ -0,0 +1,18 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.common.model.core;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>YContext Click Event</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.osbp.ecview.core.common.model.core.CoreModelPackage#getYContextClickEvent()
+ * @model
+ * @generated
+ */
+public interface YContextClickEvent extends YEmbeddableEvent {
+
+} // YContextClickEvent
diff --git a/org.eclipse.osbp.ecview.core.common.model/src/org/eclipse/osbp/ecview/core/common/model/core/YEmbeddableEvent.java b/org.eclipse.osbp.ecview.core.common.model/src/org/eclipse/osbp/ecview/core/common/model/core/YEmbeddableEvent.java
new file mode 100644
index 0000000..b2ccc59
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.model/src/org/eclipse/osbp/ecview/core/common/model/core/YEmbeddableEvent.java
@@ -0,0 +1,106 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.common.model.core;
+
+import java.util.Date;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>YEmbeddable Event</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.ecview.core.common.model.core.YEmbeddableEvent#getTime <em>Time</em>}</li>
+ *   <li>{@link org.eclipse.osbp.ecview.core.common.model.core.YEmbeddableEvent#getEmbeddable <em>Embeddable</em>}</li>
+ *   <li>{@link org.eclipse.osbp.ecview.core.common.model.core.YEmbeddableEvent#getRawEvent <em>Raw Event</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.osbp.ecview.core.common.model.core.CoreModelPackage#getYEmbeddableEvent()
+ * @model
+ * @generated
+ */
+public interface YEmbeddableEvent extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Time</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Time</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Time</em>' attribute.
+	 * @see #setTime(Date)
+	 * @see org.eclipse.osbp.ecview.core.common.model.core.CoreModelPackage#getYEmbeddableEvent_Time()
+	 * @model transient="true"
+	 * @generated
+	 */
+	Date getTime();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.ecview.core.common.model.core.YEmbeddableEvent#getTime <em>Time</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Time</em>' attribute.
+	 * @see #getTime()
+	 * @generated
+	 */
+	void setTime(Date value);
+
+	/**
+	 * Returns the value of the '<em><b>Embeddable</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Embeddable</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Embeddable</em>' reference.
+	 * @see #setEmbeddable(YEmbeddable)
+	 * @see org.eclipse.osbp.ecview.core.common.model.core.CoreModelPackage#getYEmbeddableEvent_Embeddable()
+	 * @model transient="true"
+	 * @generated
+	 */
+	YEmbeddable getEmbeddable();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.ecview.core.common.model.core.YEmbeddableEvent#getEmbeddable <em>Embeddable</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Embeddable</em>' reference.
+	 * @see #getEmbeddable()
+	 * @generated
+	 */
+	void setEmbeddable(YEmbeddable value);
+
+	/**
+	 * Returns the value of the '<em><b>Raw Event</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Raw Event</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Raw Event</em>' attribute.
+	 * @see #setRawEvent(Object)
+	 * @see org.eclipse.osbp.ecview.core.common.model.core.CoreModelPackage#getYEmbeddableEvent_RawEvent()
+	 * @model transient="true"
+	 * @generated
+	 */
+	Object getRawEvent();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.ecview.core.common.model.core.YEmbeddableEvent#getRawEvent <em>Raw Event</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Raw Event</em>' attribute.
+	 * @see #getRawEvent()
+	 * @generated
+	 */
+	void setRawEvent(Object value);
+
+} // YEmbeddableEvent
diff --git a/org.eclipse.osbp.ecview.core.common.model/src/org/eclipse/osbp/ecview/core/common/model/core/YFocusNotifier.java b/org.eclipse.osbp.ecview.core.common.model/src/org/eclipse/osbp/ecview/core/common/model/core/YFocusNotifier.java
new file mode 100644
index 0000000..8eb4c70
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.model/src/org/eclipse/osbp/ecview/core/common/model/core/YFocusNotifier.java
@@ -0,0 +1,50 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.common.model.core;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>YFocus Notifier</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.ecview.core.common.model.core.YFocusNotifier#getLastFocusEvent <em>Last Focus Event</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.osbp.ecview.core.common.model.core.CoreModelPackage#getYFocusNotifier()
+ * @model interface="true" abstract="true"
+ * @generated
+ */
+public interface YFocusNotifier extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Last Focus Event</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Last Focus Event</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Last Focus Event</em>' reference.
+	 * @see #setLastFocusEvent(YEmbeddableEvent)
+	 * @see org.eclipse.osbp.ecview.core.common.model.core.CoreModelPackage#getYFocusNotifier_LastFocusEvent()
+	 * @model
+	 * @generated
+	 */
+	YEmbeddableEvent getLastFocusEvent();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.ecview.core.common.model.core.YFocusNotifier#getLastFocusEvent <em>Last Focus Event</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Last Focus Event</em>' reference.
+	 * @see #getLastFocusEvent()
+	 * @generated
+	 */
+	void setLastFocusEvent(YEmbeddableEvent value);
+
+} // YFocusNotifier
diff --git a/org.eclipse.osbp.ecview.core.common.model/src/org/eclipse/osbp/ecview/core/common/model/core/YTextChangeNotifier.java b/org.eclipse.osbp.ecview.core.common.model/src/org/eclipse/osbp/ecview/core/common/model/core/YTextChangeNotifier.java
new file mode 100644
index 0000000..00d371a
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.model/src/org/eclipse/osbp/ecview/core/common/model/core/YTextChangeNotifier.java
@@ -0,0 +1,50 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.common.model.core;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>YText Change Notifier</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.ecview.core.common.model.core.YTextChangeNotifier#getLastTextChange <em>Last Text Change</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.osbp.ecview.core.common.model.core.CoreModelPackage#getYTextChangeNotifier()
+ * @model interface="true" abstract="true"
+ * @generated
+ */
+public interface YTextChangeNotifier extends EObject {
+	/**
+	 * Returns the value of the '<em><b>Last Text Change</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Last Text Change</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Last Text Change</em>' attribute.
+	 * @see #setLastTextChange(String)
+	 * @see org.eclipse.osbp.ecview.core.common.model.core.CoreModelPackage#getYTextChangeNotifier_LastTextChange()
+	 * @model transient="true"
+	 * @generated
+	 */
+	String getLastTextChange();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.ecview.core.common.model.core.YTextChangeNotifier#getLastTextChange <em>Last Text Change</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Last Text Change</em>' attribute.
+	 * @see #getLastTextChange()
+	 * @generated
+	 */
+	void setLastTextChange(String value);
+
+} // YTextChangeNotifier
diff --git a/org.eclipse.osbp.ecview.core.common.model/src/org/eclipse/osbp/ecview/core/common/model/core/impl/YContextClickEventImpl.java b/org.eclipse.osbp.ecview.core.common.model/src/org/eclipse/osbp/ecview/core/common/model/core/impl/YContextClickEventImpl.java
new file mode 100644
index 0000000..1423901
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.model/src/org/eclipse/osbp/ecview/core/common/model/core/impl/YContextClickEventImpl.java
@@ -0,0 +1,36 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.common.model.core.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.osbp.ecview.core.common.model.core.CoreModelPackage;
+import org.eclipse.osbp.ecview.core.common.model.core.YContextClickEvent;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>YContext Click Event</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class YContextClickEventImpl extends YEmbeddableEventImpl implements YContextClickEvent {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YContextClickEventImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return CoreModelPackage.Literals.YCONTEXT_CLICK_EVENT;
+	}
+
+} //YContextClickEventImpl
diff --git a/org.eclipse.osbp.ecview.core.common.model/src/org/eclipse/osbp/ecview/core/common/model/core/impl/YEmbeddableEventImpl.java b/org.eclipse.osbp.ecview.core.common.model/src/org/eclipse/osbp/ecview/core/common/model/core/impl/YEmbeddableEventImpl.java
new file mode 100644
index 0000000..8758af5
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.model/src/org/eclipse/osbp/ecview/core/common/model/core/impl/YEmbeddableEventImpl.java
@@ -0,0 +1,281 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.common.model.core.impl;
+
+import java.util.Date;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.osbp.ecview.core.common.model.core.CoreModelPackage;
+import org.eclipse.osbp.ecview.core.common.model.core.YEmbeddable;
+import org.eclipse.osbp.ecview.core.common.model.core.YEmbeddableEvent;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>YEmbeddable Event</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.ecview.core.common.model.core.impl.YEmbeddableEventImpl#getTime <em>Time</em>}</li>
+ *   <li>{@link org.eclipse.osbp.ecview.core.common.model.core.impl.YEmbeddableEventImpl#getEmbeddable <em>Embeddable</em>}</li>
+ *   <li>{@link org.eclipse.osbp.ecview.core.common.model.core.impl.YEmbeddableEventImpl#getRawEvent <em>Raw Event</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class YEmbeddableEventImpl extends MinimalEObjectImpl.Container implements YEmbeddableEvent {
+	/**
+	 * The default value of the '{@link #getTime() <em>Time</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getTime()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final Date TIME_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getTime() <em>Time</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getTime()
+	 * @generated
+	 * @ordered
+	 */
+	protected Date time = TIME_EDEFAULT;
+
+	/**
+	 * The cached value of the '{@link #getEmbeddable() <em>Embeddable</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getEmbeddable()
+	 * @generated
+	 * @ordered
+	 */
+	protected YEmbeddable embeddable;
+
+	/**
+	 * The default value of the '{@link #getRawEvent() <em>Raw Event</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getRawEvent()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final Object RAW_EVENT_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getRawEvent() <em>Raw Event</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getRawEvent()
+	 * @generated
+	 * @ordered
+	 */
+	protected Object rawEvent = RAW_EVENT_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YEmbeddableEventImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return CoreModelPackage.Literals.YEMBEDDABLE_EVENT;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Date getTime() {
+		return time;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setTime(Date newTime) {
+		Date oldTime = time;
+		time = newTime;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, CoreModelPackage.YEMBEDDABLE_EVENT__TIME, oldTime, time));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YEmbeddable getEmbeddable() {
+		if (embeddable != null && embeddable.eIsProxy()) {
+			InternalEObject oldEmbeddable = (InternalEObject)embeddable;
+			embeddable = (YEmbeddable)eResolveProxy(oldEmbeddable);
+			if (embeddable != oldEmbeddable) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, CoreModelPackage.YEMBEDDABLE_EVENT__EMBEDDABLE, oldEmbeddable, embeddable));
+			}
+		}
+		return embeddable;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YEmbeddable basicGetEmbeddable() {
+		return embeddable;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setEmbeddable(YEmbeddable newEmbeddable) {
+		YEmbeddable oldEmbeddable = embeddable;
+		embeddable = newEmbeddable;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, CoreModelPackage.YEMBEDDABLE_EVENT__EMBEDDABLE, oldEmbeddable, embeddable));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Object getRawEvent() {
+		return rawEvent;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setRawEvent(Object newRawEvent) {
+		Object oldRawEvent = rawEvent;
+		rawEvent = newRawEvent;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, CoreModelPackage.YEMBEDDABLE_EVENT__RAW_EVENT, oldRawEvent, rawEvent));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case CoreModelPackage.YEMBEDDABLE_EVENT__TIME:
+				return getTime();
+			case CoreModelPackage.YEMBEDDABLE_EVENT__EMBEDDABLE:
+				if (resolve) return getEmbeddable();
+				return basicGetEmbeddable();
+			case CoreModelPackage.YEMBEDDABLE_EVENT__RAW_EVENT:
+				return getRawEvent();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case CoreModelPackage.YEMBEDDABLE_EVENT__TIME:
+				setTime((Date)newValue);
+				return;
+			case CoreModelPackage.YEMBEDDABLE_EVENT__EMBEDDABLE:
+				setEmbeddable((YEmbeddable)newValue);
+				return;
+			case CoreModelPackage.YEMBEDDABLE_EVENT__RAW_EVENT:
+				setRawEvent(newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case CoreModelPackage.YEMBEDDABLE_EVENT__TIME:
+				setTime(TIME_EDEFAULT);
+				return;
+			case CoreModelPackage.YEMBEDDABLE_EVENT__EMBEDDABLE:
+				setEmbeddable((YEmbeddable)null);
+				return;
+			case CoreModelPackage.YEMBEDDABLE_EVENT__RAW_EVENT:
+				setRawEvent(RAW_EVENT_EDEFAULT);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case CoreModelPackage.YEMBEDDABLE_EVENT__TIME:
+				return TIME_EDEFAULT == null ? time != null : !TIME_EDEFAULT.equals(time);
+			case CoreModelPackage.YEMBEDDABLE_EVENT__EMBEDDABLE:
+				return embeddable != null;
+			case CoreModelPackage.YEMBEDDABLE_EVENT__RAW_EVENT:
+				return RAW_EVENT_EDEFAULT == null ? rawEvent != null : !RAW_EVENT_EDEFAULT.equals(rawEvent);
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (time: ");
+		result.append(time);
+		result.append(", rawEvent: ");
+		result.append(rawEvent);
+		result.append(')');
+		return result.toString();
+	}
+
+} //YEmbeddableEventImpl
diff --git a/org.eclipse.osbp.ecview.core.common.model/src/org/eclipse/osbp/ecview/core/common/model/core/util/II18nConstants.java b/org.eclipse.osbp.ecview.core.common.model/src/org/eclipse/osbp/ecview/core/common/model/core/util/II18nConstants.java
new file mode 100644
index 0000000..bdafcc0
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.model/src/org/eclipse/osbp/ecview/core/common/model/core/util/II18nConstants.java
@@ -0,0 +1,10 @@
+package org.eclipse.osbp.ecview.core.common.model.core.util;
+
+public interface II18nConstants {
+
+	/**
+	 * No captions will be shown if ECView tries to translate this i18nkey.
+	 */
+	static String NO_CAPTION = "$$noCaption$$";
+
+}
diff --git a/org.eclipse.osbp.ecview.core.common.model/src/org/eclipse/osbp/ecview/core/common/model/validation/YUniqueAttributeValidator.java b/org.eclipse.osbp.ecview.core.common.model/src/org/eclipse/osbp/ecview/core/common/model/validation/YUniqueAttributeValidator.java
new file mode 100644
index 0000000..e8d8073
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.model/src/org/eclipse/osbp/ecview/core/common/model/validation/YUniqueAttributeValidator.java
@@ -0,0 +1,17 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.common.model.validation;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>YUnique Attribute Validator</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.osbp.ecview.core.common.model.validation.ValidationPackage#getYUniqueAttributeValidator()
+ * @model
+ * @generated
+ */
+public interface YUniqueAttributeValidator extends YValidator, YUniqueAttributeValidatorConfig {
+} // YUniqueAttributeValidator
diff --git a/org.eclipse.osbp.ecview.core.common.model/src/org/eclipse/osbp/ecview/core/common/model/validation/YUniqueAttributeValidatorConfig.java b/org.eclipse.osbp.ecview.core.common.model/src/org/eclipse/osbp/ecview/core/common/model/validation/YUniqueAttributeValidatorConfig.java
new file mode 100644
index 0000000..0f65efe
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.model/src/org/eclipse/osbp/ecview/core/common/model/validation/YUniqueAttributeValidatorConfig.java
@@ -0,0 +1,132 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.common.model.validation;
+
+import org.eclipse.osbp.ecview.core.common.model.binding.YValueBindingEndpoint;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>YUnique Attribute Validator Config</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.ecview.core.common.model.validation.YUniqueAttributeValidatorConfig#getValType <em>Val Type</em>}</li>
+ *   <li>{@link org.eclipse.osbp.ecview.core.common.model.validation.YUniqueAttributeValidatorConfig#getValTypeFullyQualifiedName <em>Val Type Fully Qualified Name</em>}</li>
+ *   <li>{@link org.eclipse.osbp.ecview.core.common.model.validation.YUniqueAttributeValidatorConfig#getPropertyPath <em>Property Path</em>}</li>
+ *   <li>{@link org.eclipse.osbp.ecview.core.common.model.validation.YUniqueAttributeValidatorConfig#getContainerValueBindingEndpoint <em>Container Value Binding Endpoint</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.osbp.ecview.core.common.model.validation.ValidationPackage#getYUniqueAttributeValidatorConfig()
+ * @model interface="true" abstract="true"
+ * @generated
+ */
+public interface YUniqueAttributeValidatorConfig extends YValidationConfig {
+	/**
+	 * Returns the value of the '<em><b>Val Type</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Val 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>Val Type</em>' attribute.
+	 * @see #setValType(Class)
+	 * @see org.eclipse.osbp.ecview.core.common.model.validation.ValidationPackage#getYUniqueAttributeValidatorConfig_ValType()
+	 * @model
+	 * @generated
+	 */
+	Class<?> getValType();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.ecview.core.common.model.validation.YUniqueAttributeValidatorConfig#getValType <em>Val Type</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Val Type</em>' attribute.
+	 * @see #getValType()
+	 * @generated
+	 */
+	void setValType(Class<?> value);
+
+	/**
+	 * Returns the value of the '<em><b>Val Type Fully Qualified Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Val Type Fully Qualified Name</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Val Type Fully Qualified Name</em>' attribute.
+	 * @see #setValTypeFullyQualifiedName(String)
+	 * @see org.eclipse.osbp.ecview.core.common.model.validation.ValidationPackage#getYUniqueAttributeValidatorConfig_ValTypeFullyQualifiedName()
+	 * @model
+	 * @generated
+	 */
+	String getValTypeFullyQualifiedName();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.ecview.core.common.model.validation.YUniqueAttributeValidatorConfig#getValTypeFullyQualifiedName <em>Val Type Fully Qualified Name</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Val Type Fully Qualified Name</em>' attribute.
+	 * @see #getValTypeFullyQualifiedName()
+	 * @generated
+	 */
+	void setValTypeFullyQualifiedName(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Property Path</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Property Path</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Property Path</em>' attribute.
+	 * @see #setPropertyPath(String)
+	 * @see org.eclipse.osbp.ecview.core.common.model.validation.ValidationPackage#getYUniqueAttributeValidatorConfig_PropertyPath()
+	 * @model
+	 * @generated
+	 */
+	String getPropertyPath();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.ecview.core.common.model.validation.YUniqueAttributeValidatorConfig#getPropertyPath <em>Property Path</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Property Path</em>' attribute.
+	 * @see #getPropertyPath()
+	 * @generated
+	 */
+	void setPropertyPath(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Container Value Binding Endpoint</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Container Value Binding Endpoint</em>' containment reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Container Value Binding Endpoint</em>' containment reference.
+	 * @see #setContainerValueBindingEndpoint(YValueBindingEndpoint)
+	 * @see org.eclipse.osbp.ecview.core.common.model.validation.ValidationPackage#getYUniqueAttributeValidatorConfig_ContainerValueBindingEndpoint()
+	 * @model containment="true" resolveProxies="true"
+	 * @generated
+	 */
+	YValueBindingEndpoint getContainerValueBindingEndpoint();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.ecview.core.common.model.validation.YUniqueAttributeValidatorConfig#getContainerValueBindingEndpoint <em>Container Value Binding Endpoint</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Container Value Binding Endpoint</em>' containment reference.
+	 * @see #getContainerValueBindingEndpoint()
+	 * @generated
+	 */
+	void setContainerValueBindingEndpoint(YValueBindingEndpoint value);
+
+} // YUniqueAttributeValidatorConfig
diff --git a/org.eclipse.osbp.ecview.core.common.model/src/org/eclipse/osbp/ecview/core/common/model/validation/impl/YUniqueAttributeValidatorImpl.java b/org.eclipse.osbp.ecview.core.common.model/src/org/eclipse/osbp/ecview/core/common/model/validation/impl/YUniqueAttributeValidatorImpl.java
new file mode 100644
index 0000000..527f835
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.model/src/org/eclipse/osbp/ecview/core/common/model/validation/impl/YUniqueAttributeValidatorImpl.java
@@ -0,0 +1,527 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.common.model.validation.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.osbp.ecview.core.common.model.binding.YValueBindingEndpoint;
+import org.eclipse.osbp.ecview.core.common.model.validation.ValidationPackage;
+import org.eclipse.osbp.ecview.core.common.model.validation.YUniqueAttributeValidator;
+import org.eclipse.osbp.ecview.core.common.model.validation.YUniqueAttributeValidatorConfig;
+import org.eclipse.osbp.ecview.core.common.model.validation.YValidationConfig;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>YUnique Attribute Validator</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.ecview.core.common.model.validation.impl.YUniqueAttributeValidatorImpl#getErrorCode <em>Error Code</em>}</li>
+ *   <li>{@link org.eclipse.osbp.ecview.core.common.model.validation.impl.YUniqueAttributeValidatorImpl#getDefaultErrorMessage <em>Default Error Message</em>}</li>
+ *   <li>{@link org.eclipse.osbp.ecview.core.common.model.validation.impl.YUniqueAttributeValidatorImpl#getValType <em>Val Type</em>}</li>
+ *   <li>{@link org.eclipse.osbp.ecview.core.common.model.validation.impl.YUniqueAttributeValidatorImpl#getValTypeFullyQualifiedName <em>Val Type Fully Qualified Name</em>}</li>
+ *   <li>{@link org.eclipse.osbp.ecview.core.common.model.validation.impl.YUniqueAttributeValidatorImpl#getPropertyPath <em>Property Path</em>}</li>
+ *   <li>{@link org.eclipse.osbp.ecview.core.common.model.validation.impl.YUniqueAttributeValidatorImpl#getContainerValueBindingEndpoint <em>Container Value Binding Endpoint</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class YUniqueAttributeValidatorImpl extends YValidatorImpl implements YUniqueAttributeValidator {
+	/**
+	 * The default value of the '{@link #getErrorCode() <em>Error Code</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getErrorCode()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String ERROR_CODE_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getErrorCode() <em>Error Code</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getErrorCode()
+	 * @generated
+	 * @ordered
+	 */
+	protected String errorCode = ERROR_CODE_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getDefaultErrorMessage() <em>Default Error Message</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getDefaultErrorMessage()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String DEFAULT_ERROR_MESSAGE_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getDefaultErrorMessage() <em>Default Error Message</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getDefaultErrorMessage()
+	 * @generated
+	 * @ordered
+	 */
+	protected String defaultErrorMessage = DEFAULT_ERROR_MESSAGE_EDEFAULT;
+
+	/**
+	 * The cached value of the '{@link #getValType() <em>Val Type</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getValType()
+	 * @generated
+	 * @ordered
+	 */
+	protected Class<?> valType;
+
+	/**
+	 * The default value of the '{@link #getValTypeFullyQualifiedName() <em>Val Type Fully Qualified Name</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getValTypeFullyQualifiedName()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String VAL_TYPE_FULLY_QUALIFIED_NAME_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getValTypeFullyQualifiedName() <em>Val Type Fully Qualified Name</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getValTypeFullyQualifiedName()
+	 * @generated
+	 * @ordered
+	 */
+	protected String valTypeFullyQualifiedName = VAL_TYPE_FULLY_QUALIFIED_NAME_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getPropertyPath() <em>Property Path</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getPropertyPath()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String PROPERTY_PATH_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getPropertyPath() <em>Property Path</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getPropertyPath()
+	 * @generated
+	 * @ordered
+	 */
+	protected String propertyPath = PROPERTY_PATH_EDEFAULT;
+
+	/**
+	 * The cached value of the '{@link #getContainerValueBindingEndpoint() <em>Container Value Binding Endpoint</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getContainerValueBindingEndpoint()
+	 * @generated
+	 * @ordered
+	 */
+	protected YValueBindingEndpoint containerValueBindingEndpoint;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YUniqueAttributeValidatorImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return ValidationPackage.Literals.YUNIQUE_ATTRIBUTE_VALIDATOR;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getErrorCode() {
+		return errorCode;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setErrorCode(String newErrorCode) {
+		String oldErrorCode = errorCode;
+		errorCode = newErrorCode;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, ValidationPackage.YUNIQUE_ATTRIBUTE_VALIDATOR__ERROR_CODE, oldErrorCode, errorCode));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getDefaultErrorMessage() {
+		return defaultErrorMessage;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setDefaultErrorMessage(String newDefaultErrorMessage) {
+		String oldDefaultErrorMessage = defaultErrorMessage;
+		defaultErrorMessage = newDefaultErrorMessage;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, ValidationPackage.YUNIQUE_ATTRIBUTE_VALIDATOR__DEFAULT_ERROR_MESSAGE, oldDefaultErrorMessage, defaultErrorMessage));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Class<?> getValType() {
+		return valType;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setValType(Class<?> newValType) {
+		Class<?> oldValType = valType;
+		valType = newValType;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, ValidationPackage.YUNIQUE_ATTRIBUTE_VALIDATOR__VAL_TYPE, oldValType, valType));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getValTypeFullyQualifiedName() {
+		return valTypeFullyQualifiedName;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setValTypeFullyQualifiedName(String newValTypeFullyQualifiedName) {
+		String oldValTypeFullyQualifiedName = valTypeFullyQualifiedName;
+		valTypeFullyQualifiedName = newValTypeFullyQualifiedName;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, ValidationPackage.YUNIQUE_ATTRIBUTE_VALIDATOR__VAL_TYPE_FULLY_QUALIFIED_NAME, oldValTypeFullyQualifiedName, valTypeFullyQualifiedName));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getPropertyPath() {
+		return propertyPath;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setPropertyPath(String newPropertyPath) {
+		String oldPropertyPath = propertyPath;
+		propertyPath = newPropertyPath;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, ValidationPackage.YUNIQUE_ATTRIBUTE_VALIDATOR__PROPERTY_PATH, oldPropertyPath, propertyPath));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YValueBindingEndpoint getContainerValueBindingEndpoint() {
+		if (containerValueBindingEndpoint != null && containerValueBindingEndpoint.eIsProxy()) {
+			InternalEObject oldContainerValueBindingEndpoint = (InternalEObject)containerValueBindingEndpoint;
+			containerValueBindingEndpoint = (YValueBindingEndpoint)eResolveProxy(oldContainerValueBindingEndpoint);
+			if (containerValueBindingEndpoint != oldContainerValueBindingEndpoint) {
+				InternalEObject newContainerValueBindingEndpoint = (InternalEObject)containerValueBindingEndpoint;
+				NotificationChain msgs = oldContainerValueBindingEndpoint.eInverseRemove(this, EOPPOSITE_FEATURE_BASE - ValidationPackage.YUNIQUE_ATTRIBUTE_VALIDATOR__CONTAINER_VALUE_BINDING_ENDPOINT, null, null);
+				if (newContainerValueBindingEndpoint.eInternalContainer() == null) {
+					msgs = newContainerValueBindingEndpoint.eInverseAdd(this, EOPPOSITE_FEATURE_BASE - ValidationPackage.YUNIQUE_ATTRIBUTE_VALIDATOR__CONTAINER_VALUE_BINDING_ENDPOINT, null, msgs);
+				}
+				if (msgs != null) msgs.dispatch();
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, ValidationPackage.YUNIQUE_ATTRIBUTE_VALIDATOR__CONTAINER_VALUE_BINDING_ENDPOINT, oldContainerValueBindingEndpoint, containerValueBindingEndpoint));
+			}
+		}
+		return containerValueBindingEndpoint;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YValueBindingEndpoint basicGetContainerValueBindingEndpoint() {
+		return containerValueBindingEndpoint;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public NotificationChain basicSetContainerValueBindingEndpoint(YValueBindingEndpoint newContainerValueBindingEndpoint, NotificationChain msgs) {
+		YValueBindingEndpoint oldContainerValueBindingEndpoint = containerValueBindingEndpoint;
+		containerValueBindingEndpoint = newContainerValueBindingEndpoint;
+		if (eNotificationRequired()) {
+			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, ValidationPackage.YUNIQUE_ATTRIBUTE_VALIDATOR__CONTAINER_VALUE_BINDING_ENDPOINT, oldContainerValueBindingEndpoint, newContainerValueBindingEndpoint);
+			if (msgs == null) msgs = notification; else msgs.add(notification);
+		}
+		return msgs;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setContainerValueBindingEndpoint(YValueBindingEndpoint newContainerValueBindingEndpoint) {
+		if (newContainerValueBindingEndpoint != containerValueBindingEndpoint) {
+			NotificationChain msgs = null;
+			if (containerValueBindingEndpoint != null)
+				msgs = ((InternalEObject)containerValueBindingEndpoint).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - ValidationPackage.YUNIQUE_ATTRIBUTE_VALIDATOR__CONTAINER_VALUE_BINDING_ENDPOINT, null, msgs);
+			if (newContainerValueBindingEndpoint != null)
+				msgs = ((InternalEObject)newContainerValueBindingEndpoint).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - ValidationPackage.YUNIQUE_ATTRIBUTE_VALIDATOR__CONTAINER_VALUE_BINDING_ENDPOINT, null, msgs);
+			msgs = basicSetContainerValueBindingEndpoint(newContainerValueBindingEndpoint, msgs);
+			if (msgs != null) msgs.dispatch();
+		}
+		else if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, ValidationPackage.YUNIQUE_ATTRIBUTE_VALIDATOR__CONTAINER_VALUE_BINDING_ENDPOINT, newContainerValueBindingEndpoint, newContainerValueBindingEndpoint));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+		switch (featureID) {
+			case ValidationPackage.YUNIQUE_ATTRIBUTE_VALIDATOR__CONTAINER_VALUE_BINDING_ENDPOINT:
+				return basicSetContainerValueBindingEndpoint(null, msgs);
+		}
+		return super.eInverseRemove(otherEnd, featureID, msgs);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case ValidationPackage.YUNIQUE_ATTRIBUTE_VALIDATOR__ERROR_CODE:
+				return getErrorCode();
+			case ValidationPackage.YUNIQUE_ATTRIBUTE_VALIDATOR__DEFAULT_ERROR_MESSAGE:
+				return getDefaultErrorMessage();
+			case ValidationPackage.YUNIQUE_ATTRIBUTE_VALIDATOR__VAL_TYPE:
+				return getValType();
+			case ValidationPackage.YUNIQUE_ATTRIBUTE_VALIDATOR__VAL_TYPE_FULLY_QUALIFIED_NAME:
+				return getValTypeFullyQualifiedName();
+			case ValidationPackage.YUNIQUE_ATTRIBUTE_VALIDATOR__PROPERTY_PATH:
+				return getPropertyPath();
+			case ValidationPackage.YUNIQUE_ATTRIBUTE_VALIDATOR__CONTAINER_VALUE_BINDING_ENDPOINT:
+				if (resolve) return getContainerValueBindingEndpoint();
+				return basicGetContainerValueBindingEndpoint();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case ValidationPackage.YUNIQUE_ATTRIBUTE_VALIDATOR__ERROR_CODE:
+				setErrorCode((String)newValue);
+				return;
+			case ValidationPackage.YUNIQUE_ATTRIBUTE_VALIDATOR__DEFAULT_ERROR_MESSAGE:
+				setDefaultErrorMessage((String)newValue);
+				return;
+			case ValidationPackage.YUNIQUE_ATTRIBUTE_VALIDATOR__VAL_TYPE:
+				setValType((Class<?>)newValue);
+				return;
+			case ValidationPackage.YUNIQUE_ATTRIBUTE_VALIDATOR__VAL_TYPE_FULLY_QUALIFIED_NAME:
+				setValTypeFullyQualifiedName((String)newValue);
+				return;
+			case ValidationPackage.YUNIQUE_ATTRIBUTE_VALIDATOR__PROPERTY_PATH:
+				setPropertyPath((String)newValue);
+				return;
+			case ValidationPackage.YUNIQUE_ATTRIBUTE_VALIDATOR__CONTAINER_VALUE_BINDING_ENDPOINT:
+				setContainerValueBindingEndpoint((YValueBindingEndpoint)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case ValidationPackage.YUNIQUE_ATTRIBUTE_VALIDATOR__ERROR_CODE:
+				setErrorCode(ERROR_CODE_EDEFAULT);
+				return;
+			case ValidationPackage.YUNIQUE_ATTRIBUTE_VALIDATOR__DEFAULT_ERROR_MESSAGE:
+				setDefaultErrorMessage(DEFAULT_ERROR_MESSAGE_EDEFAULT);
+				return;
+			case ValidationPackage.YUNIQUE_ATTRIBUTE_VALIDATOR__VAL_TYPE:
+				setValType((Class<?>)null);
+				return;
+			case ValidationPackage.YUNIQUE_ATTRIBUTE_VALIDATOR__VAL_TYPE_FULLY_QUALIFIED_NAME:
+				setValTypeFullyQualifiedName(VAL_TYPE_FULLY_QUALIFIED_NAME_EDEFAULT);
+				return;
+			case ValidationPackage.YUNIQUE_ATTRIBUTE_VALIDATOR__PROPERTY_PATH:
+				setPropertyPath(PROPERTY_PATH_EDEFAULT);
+				return;
+			case ValidationPackage.YUNIQUE_ATTRIBUTE_VALIDATOR__CONTAINER_VALUE_BINDING_ENDPOINT:
+				setContainerValueBindingEndpoint((YValueBindingEndpoint)null);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case ValidationPackage.YUNIQUE_ATTRIBUTE_VALIDATOR__ERROR_CODE:
+				return ERROR_CODE_EDEFAULT == null ? errorCode != null : !ERROR_CODE_EDEFAULT.equals(errorCode);
+			case ValidationPackage.YUNIQUE_ATTRIBUTE_VALIDATOR__DEFAULT_ERROR_MESSAGE:
+				return DEFAULT_ERROR_MESSAGE_EDEFAULT == null ? defaultErrorMessage != null : !DEFAULT_ERROR_MESSAGE_EDEFAULT.equals(defaultErrorMessage);
+			case ValidationPackage.YUNIQUE_ATTRIBUTE_VALIDATOR__VAL_TYPE:
+				return valType != null;
+			case ValidationPackage.YUNIQUE_ATTRIBUTE_VALIDATOR__VAL_TYPE_FULLY_QUALIFIED_NAME:
+				return VAL_TYPE_FULLY_QUALIFIED_NAME_EDEFAULT == null ? valTypeFullyQualifiedName != null : !VAL_TYPE_FULLY_QUALIFIED_NAME_EDEFAULT.equals(valTypeFullyQualifiedName);
+			case ValidationPackage.YUNIQUE_ATTRIBUTE_VALIDATOR__PROPERTY_PATH:
+				return PROPERTY_PATH_EDEFAULT == null ? propertyPath != null : !PROPERTY_PATH_EDEFAULT.equals(propertyPath);
+			case ValidationPackage.YUNIQUE_ATTRIBUTE_VALIDATOR__CONTAINER_VALUE_BINDING_ENDPOINT:
+				return containerValueBindingEndpoint != null;
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) {
+		if (baseClass == YValidationConfig.class) {
+			switch (derivedFeatureID) {
+				case ValidationPackage.YUNIQUE_ATTRIBUTE_VALIDATOR__ERROR_CODE: return ValidationPackage.YVALIDATION_CONFIG__ERROR_CODE;
+				case ValidationPackage.YUNIQUE_ATTRIBUTE_VALIDATOR__DEFAULT_ERROR_MESSAGE: return ValidationPackage.YVALIDATION_CONFIG__DEFAULT_ERROR_MESSAGE;
+				default: return -1;
+			}
+		}
+		if (baseClass == YUniqueAttributeValidatorConfig.class) {
+			switch (derivedFeatureID) {
+				case ValidationPackage.YUNIQUE_ATTRIBUTE_VALIDATOR__VAL_TYPE: return ValidationPackage.YUNIQUE_ATTRIBUTE_VALIDATOR_CONFIG__VAL_TYPE;
+				case ValidationPackage.YUNIQUE_ATTRIBUTE_VALIDATOR__VAL_TYPE_FULLY_QUALIFIED_NAME: return ValidationPackage.YUNIQUE_ATTRIBUTE_VALIDATOR_CONFIG__VAL_TYPE_FULLY_QUALIFIED_NAME;
+				case ValidationPackage.YUNIQUE_ATTRIBUTE_VALIDATOR__PROPERTY_PATH: return ValidationPackage.YUNIQUE_ATTRIBUTE_VALIDATOR_CONFIG__PROPERTY_PATH;
+				case ValidationPackage.YUNIQUE_ATTRIBUTE_VALIDATOR__CONTAINER_VALUE_BINDING_ENDPOINT: return ValidationPackage.YUNIQUE_ATTRIBUTE_VALIDATOR_CONFIG__CONTAINER_VALUE_BINDING_ENDPOINT;
+				default: return -1;
+			}
+		}
+		return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass) {
+		if (baseClass == YValidationConfig.class) {
+			switch (baseFeatureID) {
+				case ValidationPackage.YVALIDATION_CONFIG__ERROR_CODE: return ValidationPackage.YUNIQUE_ATTRIBUTE_VALIDATOR__ERROR_CODE;
+				case ValidationPackage.YVALIDATION_CONFIG__DEFAULT_ERROR_MESSAGE: return ValidationPackage.YUNIQUE_ATTRIBUTE_VALIDATOR__DEFAULT_ERROR_MESSAGE;
+				default: return -1;
+			}
+		}
+		if (baseClass == YUniqueAttributeValidatorConfig.class) {
+			switch (baseFeatureID) {
+				case ValidationPackage.YUNIQUE_ATTRIBUTE_VALIDATOR_CONFIG__VAL_TYPE: return ValidationPackage.YUNIQUE_ATTRIBUTE_VALIDATOR__VAL_TYPE;
+				case ValidationPackage.YUNIQUE_ATTRIBUTE_VALIDATOR_CONFIG__VAL_TYPE_FULLY_QUALIFIED_NAME: return ValidationPackage.YUNIQUE_ATTRIBUTE_VALIDATOR__VAL_TYPE_FULLY_QUALIFIED_NAME;
+				case ValidationPackage.YUNIQUE_ATTRIBUTE_VALIDATOR_CONFIG__PROPERTY_PATH: return ValidationPackage.YUNIQUE_ATTRIBUTE_VALIDATOR__PROPERTY_PATH;
+				case ValidationPackage.YUNIQUE_ATTRIBUTE_VALIDATOR_CONFIG__CONTAINER_VALUE_BINDING_ENDPOINT: return ValidationPackage.YUNIQUE_ATTRIBUTE_VALIDATOR__CONTAINER_VALUE_BINDING_ENDPOINT;
+				default: return -1;
+			}
+		}
+		return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (errorCode: ");
+		result.append(errorCode);
+		result.append(", defaultErrorMessage: ");
+		result.append(defaultErrorMessage);
+		result.append(", valType: ");
+		result.append(valType);
+		result.append(", valTypeFullyQualifiedName: ");
+		result.append(valTypeFullyQualifiedName);
+		result.append(", propertyPath: ");
+		result.append(propertyPath);
+		result.append(')');
+		return result.toString();
+	}
+
+} //YUniqueAttributeValidatorImpl
diff --git a/org.eclipse.osbp.ecview.core.common.tests/.classpath b/org.eclipse.osbp.ecview.core.common.tests/.classpath
new file mode 100644
index 0000000..cf36b56
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.tests/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="src" path="src/"/>
+	<classpathentry kind="output" path="target/classes"/>
+</classpath>
diff --git a/org.eclipse.osbp.ecview.core.common.tests/.settings/org.eclipse.core.resources.prefs b/org.eclipse.osbp.ecview.core.common.tests/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..99f26c0
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.tests/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
diff --git a/org.eclipse.osbp.ecview.core.common.tests/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.osbp.ecview.core.common.tests/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..0c68a61
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.tests/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,7 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.8
diff --git a/org.eclipse.osbp.ecview.core.common.tests/.settings/org.eclipse.m2e.core.prefs b/org.eclipse.osbp.ecview.core.common.tests/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.tests/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/org.eclipse.osbp.ecview.core.common.tests/.settings/org.eclipse.xtend.core.Xtend.prefs b/org.eclipse.osbp.ecview.core.common.tests/.settings/org.eclipse.xtend.core.Xtend.prefs
new file mode 100644
index 0000000..0933f8c
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common.tests/.settings/org.eclipse.xtend.core.Xtend.prefs
@@ -0,0 +1,10 @@
+//outlet.DEFAULT_OUTPUT.sourceFolder.src/test/java.directory=src/test/generated-sources/xtend
+eclipse.preferences.version=1
+is_project_specific=true
+outlet.DEFAULT_OUTPUT.hideLocalSyntheticVariables=true
+outlet.DEFAULT_OUTPUT.installDslAsPrimarySource=false
+outlet.DEFAULT_OUTPUT.sourceFolder.emf-gen.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.sourceFolder.src-gen.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.sourceFolder.src.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.sourceFolder.xtend-gen.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.userOutputPerSourceFolder=true
diff --git a/org.eclipse.osbp.ecview.core.common/.classpath b/org.eclipse.osbp.ecview.core.common/.classpath
new file mode 100644
index 0000000..cf36b56
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="src" path="src/"/>
+	<classpathentry kind="output" path="target/classes"/>
+</classpath>
diff --git a/org.eclipse.osbp.ecview.core.common/.gitignore b/org.eclipse.osbp.ecview.core.common/.gitignore
new file mode 100644
index 0000000..b83d222
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common/.gitignore
@@ -0,0 +1 @@
+/target/
diff --git a/org.eclipse.osbp.ecview.core.common/.settings/org.eclipse.core.resources.prefs b/org.eclipse.osbp.ecview.core.common/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..99f26c0
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
diff --git a/org.eclipse.osbp.ecview.core.common/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.osbp.ecview.core.common/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..0c68a61
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,7 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.8
diff --git a/org.eclipse.osbp.ecview.core.common/.settings/org.eclipse.m2e.core.prefs b/org.eclipse.osbp.ecview.core.common/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/org.eclipse.osbp.ecview.core.common/.settings/org.eclipse.xtend.core.Xtend.prefs b/org.eclipse.osbp.ecview.core.common/.settings/org.eclipse.xtend.core.Xtend.prefs
new file mode 100644
index 0000000..19e3115
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common/.settings/org.eclipse.xtend.core.Xtend.prefs
@@ -0,0 +1,11 @@
+//outlet.DEFAULT_OUTPUT.sourceFolder.src/test/java.directory=src/test/generated-sources/xtend
+BuilderConfiguration.is_project_specific=true
+eclipse.preferences.version=1
+is_project_specific=true
+outlet.DEFAULT_OUTPUT.hideLocalSyntheticVariables=true
+outlet.DEFAULT_OUTPUT.installDslAsPrimarySource=false
+outlet.DEFAULT_OUTPUT.sourceFolder.emf-gen.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.sourceFolder.src-gen.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.sourceFolder.src.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.sourceFolder.xtend-gen.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.userOutputPerSourceFolder=true
diff --git a/org.eclipse.osbp.ecview.core.common/src/org/eclipse/osbp/ecview/core/common/editpart/validation/IUniqueAttributeValidatorEditpart.java b/org.eclipse.osbp.ecview.core.common/src/org/eclipse/osbp/ecview/core/common/editpart/validation/IUniqueAttributeValidatorEditpart.java
new file mode 100644
index 0000000..01467ae
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common/src/org/eclipse/osbp/ecview/core/common/editpart/validation/IUniqueAttributeValidatorEditpart.java
@@ -0,0 +1,15 @@
+/**
+ * Copyright (c) 2011, 2015 - Lunifera GmbH (Gross Enzersdorf, Austria), Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *         Florian Pirchner - Initial implementation
+ */
+package org.eclipse.osbp.ecview.core.common.editpart.validation;
+
+public interface IUniqueAttributeValidatorEditpart extends IValidatorEditpart {
+
+}
diff --git a/org.eclipse.osbp.ecview.core.common/src/org/eclipse/osbp/ecview/core/common/util/ECViewUtil.java b/org.eclipse.osbp.ecview.core.common/src/org/eclipse/osbp/ecview/core/common/util/ECViewUtil.java
new file mode 100644
index 0000000..a6559f5
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.common/src/org/eclipse/osbp/ecview/core/common/util/ECViewUtil.java
@@ -0,0 +1,35 @@
+package org.eclipse.osbp.ecview.core.common.util;
+
+import java.util.List;
+
+import org.eclipse.osbp.ecview.core.extension.model.extension.YFilteringComponent;
+import org.eclipse.osbp.ecview.core.extension.model.extension.YFilteringType;
+import org.eclipse.osbp.runtime.common.annotations.Filter;
+import org.eclipse.osbp.runtime.common.util.BeanUtils;
+
+public class ECViewUtil {
+
+	/**
+	 * Fills the given {@link YFilteringComponent} with definitions required to
+	 * show a filtering UI.
+	 * 
+	 * @param type
+	 * @param depth
+	 * @param yFilterComponent
+	 */
+	public static void fill(Class<?> type, int depth, YFilteringComponent yFilterComponent) {
+
+		yFilterComponent.setType(type);
+		yFilterComponent.setTypeQualifiedName(type.getCanonicalName());
+
+		List<String> properties = BeanUtils.getAllFilteringProperties(type, depth);
+		for (String property : properties) {
+			if (BeanUtils.isAnnotationPresent(type, property, Filter.class)) {
+				yFilterComponent.addFilterDescriptor(YFilteringType.COMPARE, property);
+			} else {
+				yFilterComponent.addFilterDescriptor(YFilteringType.RANGE, property);
+			}
+			yFilterComponent.addTableDescriptor(property);
+		}
+	}
+}
diff --git a/org.eclipse.osbp.ecview.core.databinding.beans/.classpath b/org.eclipse.osbp.ecview.core.databinding.beans/.classpath
new file mode 100644
index 0000000..46cec6e
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.databinding.beans/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="src" path="src/"/>
+	<classpathentry kind="output" path="target/classes"/>
+</classpath>
diff --git a/org.eclipse.osbp.ecview.core.databinding.beans/.settings/org.eclipse.core.resources.prefs b/org.eclipse.osbp.ecview.core.databinding.beans/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..99f26c0
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.databinding.beans/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
diff --git a/org.eclipse.osbp.ecview.core.databinding.beans/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.osbp.ecview.core.databinding.beans/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..f42de36
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.databinding.beans/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,7 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
+org.eclipse.jdt.core.compiler.compliance=1.7
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.7
diff --git a/org.eclipse.osbp.ecview.core.databinding.beans/.settings/org.eclipse.m2e.core.prefs b/org.eclipse.osbp.ecview.core.databinding.beans/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.databinding.beans/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/org.eclipse.osbp.ecview.core.databinding.beans/.settings/org.eclipse.xtend.core.Xtend.prefs b/org.eclipse.osbp.ecview.core.databinding.beans/.settings/org.eclipse.xtend.core.Xtend.prefs
new file mode 100644
index 0000000..19e3115
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.databinding.beans/.settings/org.eclipse.xtend.core.Xtend.prefs
@@ -0,0 +1,11 @@
+//outlet.DEFAULT_OUTPUT.sourceFolder.src/test/java.directory=src/test/generated-sources/xtend
+BuilderConfiguration.is_project_specific=true
+eclipse.preferences.version=1
+is_project_specific=true
+outlet.DEFAULT_OUTPUT.hideLocalSyntheticVariables=true
+outlet.DEFAULT_OUTPUT.installDslAsPrimarySource=false
+outlet.DEFAULT_OUTPUT.sourceFolder.emf-gen.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.sourceFolder.src-gen.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.sourceFolder.src.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.sourceFolder.xtend-gen.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.userOutputPerSourceFolder=true
diff --git a/org.eclipse.osbp.ecview.core.databinding.emf/.classpath b/org.eclipse.osbp.ecview.core.databinding.emf/.classpath
new file mode 100644
index 0000000..cf36b56
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.databinding.emf/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="src" path="src/"/>
+	<classpathentry kind="output" path="target/classes"/>
+</classpath>
diff --git a/org.eclipse.osbp.ecview.core.databinding.emf/.settings/org.eclipse.core.resources.prefs b/org.eclipse.osbp.ecview.core.databinding.emf/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..99f26c0
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.databinding.emf/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
diff --git a/org.eclipse.osbp.ecview.core.databinding.emf/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.osbp.ecview.core.databinding.emf/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..0c68a61
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.databinding.emf/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,7 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.8
diff --git a/org.eclipse.osbp.ecview.core.databinding.emf/.settings/org.eclipse.m2e.core.prefs b/org.eclipse.osbp.ecview.core.databinding.emf/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.databinding.emf/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/org.eclipse.osbp.ecview.core.databinding.emf/.settings/org.eclipse.xtend.core.Xtend.prefs b/org.eclipse.osbp.ecview.core.databinding.emf/.settings/org.eclipse.xtend.core.Xtend.prefs
new file mode 100644
index 0000000..19e3115
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.databinding.emf/.settings/org.eclipse.xtend.core.Xtend.prefs
@@ -0,0 +1,11 @@
+//outlet.DEFAULT_OUTPUT.sourceFolder.src/test/java.directory=src/test/generated-sources/xtend
+BuilderConfiguration.is_project_specific=true
+eclipse.preferences.version=1
+is_project_specific=true
+outlet.DEFAULT_OUTPUT.hideLocalSyntheticVariables=true
+outlet.DEFAULT_OUTPUT.installDslAsPrimarySource=false
+outlet.DEFAULT_OUTPUT.sourceFolder.emf-gen.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.sourceFolder.src-gen.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.sourceFolder.src.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.sourceFolder.xtend-gen.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.userOutputPerSourceFolder=true
diff --git a/org.eclipse.osbp.ecview.core.databinding.tests/.classpath b/org.eclipse.osbp.ecview.core.databinding.tests/.classpath
new file mode 100644
index 0000000..cf36b56
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.databinding.tests/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="src" path="src/"/>
+	<classpathentry kind="output" path="target/classes"/>
+</classpath>
diff --git a/org.eclipse.osbp.ecview.core.databinding.tests/.settings/org.eclipse.core.resources.prefs b/org.eclipse.osbp.ecview.core.databinding.tests/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..99f26c0
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.databinding.tests/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
diff --git a/org.eclipse.osbp.ecview.core.databinding.tests/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.osbp.ecview.core.databinding.tests/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..0c68a61
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.databinding.tests/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,7 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.8
diff --git a/org.eclipse.osbp.ecview.core.databinding.tests/.settings/org.eclipse.m2e.core.prefs b/org.eclipse.osbp.ecview.core.databinding.tests/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.databinding.tests/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/org.eclipse.osbp.ecview.core.databinding.tests/.settings/org.eclipse.xtend.core.Xtend.prefs b/org.eclipse.osbp.ecview.core.databinding.tests/.settings/org.eclipse.xtend.core.Xtend.prefs
new file mode 100644
index 0000000..19e3115
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.databinding.tests/.settings/org.eclipse.xtend.core.Xtend.prefs
@@ -0,0 +1,11 @@
+//outlet.DEFAULT_OUTPUT.sourceFolder.src/test/java.directory=src/test/generated-sources/xtend
+BuilderConfiguration.is_project_specific=true
+eclipse.preferences.version=1
+is_project_specific=true
+outlet.DEFAULT_OUTPUT.hideLocalSyntheticVariables=true
+outlet.DEFAULT_OUTPUT.installDslAsPrimarySource=false
+outlet.DEFAULT_OUTPUT.sourceFolder.emf-gen.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.sourceFolder.src-gen.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.sourceFolder.src.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.sourceFolder.xtend-gen.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.userOutputPerSourceFolder=true
diff --git a/org.eclipse.osbp.ecview.core.emf.api/.classpath b/org.eclipse.osbp.ecview.core.emf.api/.classpath
new file mode 100644
index 0000000..cf36b56
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.emf.api/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="src" path="src/"/>
+	<classpathentry kind="output" path="target/classes"/>
+</classpath>
diff --git a/org.eclipse.osbp.ecview.core.emf.api/.settings/org.eclipse.core.resources.prefs b/org.eclipse.osbp.ecview.core.emf.api/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..99f26c0
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.emf.api/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
diff --git a/org.eclipse.osbp.ecview.core.emf.api/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.osbp.ecview.core.emf.api/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..0c68a61
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.emf.api/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,7 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.8
diff --git a/org.eclipse.osbp.ecview.core.emf.api/.settings/org.eclipse.m2e.core.prefs b/org.eclipse.osbp.ecview.core.emf.api/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.emf.api/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/org.eclipse.osbp.ecview.core.emf.api/.settings/org.eclipse.xtend.core.Xtend.prefs b/org.eclipse.osbp.ecview.core.emf.api/.settings/org.eclipse.xtend.core.Xtend.prefs
new file mode 100644
index 0000000..19e3115
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.emf.api/.settings/org.eclipse.xtend.core.Xtend.prefs
@@ -0,0 +1,11 @@
+//outlet.DEFAULT_OUTPUT.sourceFolder.src/test/java.directory=src/test/generated-sources/xtend
+BuilderConfiguration.is_project_specific=true
+eclipse.preferences.version=1
+is_project_specific=true
+outlet.DEFAULT_OUTPUT.hideLocalSyntheticVariables=true
+outlet.DEFAULT_OUTPUT.installDslAsPrimarySource=false
+outlet.DEFAULT_OUTPUT.sourceFolder.emf-gen.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.sourceFolder.src-gen.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.sourceFolder.src.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.sourceFolder.xtend-gen.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.userOutputPerSourceFolder=true
diff --git a/org.eclipse.osbp.ecview.core.extension.editparts.emf/.classpath b/org.eclipse.osbp.ecview.core.extension.editparts.emf/.classpath
new file mode 100644
index 0000000..46cec6e
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.extension.editparts.emf/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="src" path="src/"/>
+	<classpathentry kind="output" path="target/classes"/>
+</classpath>
diff --git a/org.eclipse.osbp.ecview.core.extension.editparts.emf/.settings/org.eclipse.core.resources.prefs b/org.eclipse.osbp.ecview.core.extension.editparts.emf/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..99f26c0
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.extension.editparts.emf/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
diff --git a/org.eclipse.osbp.ecview.core.extension.editparts.emf/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.osbp.ecview.core.extension.editparts.emf/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..f42de36
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.extension.editparts.emf/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,7 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
+org.eclipse.jdt.core.compiler.compliance=1.7
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.7
diff --git a/org.eclipse.osbp.ecview.core.extension.editparts.emf/.settings/org.eclipse.m2e.core.prefs b/org.eclipse.osbp.ecview.core.extension.editparts.emf/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.extension.editparts.emf/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/org.eclipse.osbp.ecview.core.extension.editparts.emf/.settings/org.eclipse.xtend.core.Xtend.prefs b/org.eclipse.osbp.ecview.core.extension.editparts.emf/.settings/org.eclipse.xtend.core.Xtend.prefs
new file mode 100644
index 0000000..19e3115
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.extension.editparts.emf/.settings/org.eclipse.xtend.core.Xtend.prefs
@@ -0,0 +1,11 @@
+//outlet.DEFAULT_OUTPUT.sourceFolder.src/test/java.directory=src/test/generated-sources/xtend
+BuilderConfiguration.is_project_specific=true
+eclipse.preferences.version=1
+is_project_specific=true
+outlet.DEFAULT_OUTPUT.hideLocalSyntheticVariables=true
+outlet.DEFAULT_OUTPUT.installDslAsPrimarySource=false
+outlet.DEFAULT_OUTPUT.sourceFolder.emf-gen.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.sourceFolder.src-gen.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.sourceFolder.src.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.sourceFolder.xtend-gen.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.userOutputPerSourceFolder=true
diff --git a/org.eclipse.osbp.ecview.core.extension.editparts.emf/src/org/eclipse/osbp/ecview/core/extension/editpart/emf/FilteringComponentEditpart.java b/org.eclipse.osbp.ecview.core.extension.editparts.emf/src/org/eclipse/osbp/ecview/core/extension/editpart/emf/FilteringComponentEditpart.java
new file mode 100644
index 0000000..dfebc3d
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.extension.editparts.emf/src/org/eclipse/osbp/ecview/core/extension/editpart/emf/FilteringComponentEditpart.java
@@ -0,0 +1,60 @@
+/**
+ * Copyright (c) 2011, 2015 - Lunifera GmbH (Gross Enzersdorf, Austria), Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *         Florian Pirchner - Initial implementation
+ */
+package org.eclipse.osbp.ecview.core.extension.editpart.emf;
+
+import java.util.List;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.osbp.ecview.core.common.editpart.emf.EmbeddableEditpart;
+import org.eclipse.osbp.ecview.core.common.editpart.validation.IValidatorEditpart;
+import org.eclipse.osbp.ecview.core.common.filter.IFilterProvidingPresentation;
+import org.eclipse.osbp.ecview.core.extension.model.extension.ExtensionModelPackage;
+import org.eclipse.osbp.ecview.core.extension.model.extension.YFilteringComponent;
+import org.eclipse.osbp.ecview.core.ui.core.editparts.extension.IFilteringComponentEditpart;
+
+/**
+ * The implementation of the ISearchPanelEditpart.
+ */
+public class FilteringComponentEditpart extends EmbeddableEditpart<YFilteringComponent> implements
+		IFilteringComponentEditpart {
+
+	@Override
+	protected void handleModelSet(int featureId, Notification notification) {
+		switch (featureId) {
+		case ExtensionModelPackage.YFILTERING_COMPONENT__APPLY_FILTER:
+			applyFilter();
+			break;
+		default:
+			super.handleModelSet(featureId, notification);
+		}
+	}
+
+	/**
+	 * Accesses the presentation to return the filter and puts the new filter in
+	 * the model. So other parties can react for the changed filter.
+	 */
+	private void applyFilter() {
+		IFilterProvidingPresentation presentation = (IFilterProvidingPresentation) getPresentation();
+		Object filter = presentation.getFilter();
+		getModel().setFilter(filter);
+	}
+
+	@Override
+	public List<IValidatorEditpart> getDatatypeValidators() {
+		return null;
+	}
+
+	@Override
+	public Object getFilter() {
+		return null;
+	}
+
+}
diff --git a/org.eclipse.osbp.ecview.core.extension.editparts.emf/src/org/eclipse/osbp/ecview/core/extension/editpart/emf/KanbanEditpart.java b/org.eclipse.osbp.ecview.core.extension.editparts.emf/src/org/eclipse/osbp/ecview/core/extension/editpart/emf/KanbanEditpart.java
new file mode 100644
index 0000000..d21cb18
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.extension.editparts.emf/src/org/eclipse/osbp/ecview/core/extension/editpart/emf/KanbanEditpart.java
@@ -0,0 +1,71 @@
+/**
+ * Copyright (c) 2011, 2015 - Lunifera GmbH (Gross Enzersdorf, Austria), Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *         Florian Pirchner - Initial implementation
+ */
+package org.eclipse.osbp.ecview.core.extension.editpart.emf;
+
+import java.util.List;
+
+import org.eclipse.osbp.ecview.core.common.editpart.IConverterEditpart;
+import org.eclipse.osbp.ecview.core.common.editpart.emf.EmbeddableEditpart;
+import org.eclipse.osbp.ecview.core.common.editpart.validation.IValidatorEditpart;
+import org.eclipse.osbp.ecview.core.extension.model.extension.YKanban;
+import org.eclipse.osbp.ecview.core.ui.core.editparts.extension.IKanbanEditpart;
+import org.eclipse.osbp.runtime.common.validation.IStatus;
+
+/**
+ * The implementation of the IUiCheckBoxEditpart.
+ */
+public class KanbanEditpart extends EmbeddableEditpart<YKanban> implements IKanbanEditpart {
+
+	public KanbanEditpart() {
+		super();
+	}
+
+	@Override
+	public void addValidator(IValidatorEditpart validator) {
+		
+	}
+
+	@Override
+	public void removeValidator(IValidatorEditpart validator) {
+		
+	}
+
+	@Override
+	public void addExternalStatus(IStatus status) {
+		
+	}
+
+	@Override
+	public void removeExternalStatus(IStatus status) {
+		
+	}
+
+	@Override
+	public void resetExternalStatus() {
+		
+	}
+
+	@Override
+	public List<IValidatorEditpart> getValidators() {
+		return null;
+	}
+
+	@Override
+	public IConverterEditpart getConverter() {
+		return null;
+	}
+
+	@Override
+	public List<IValidatorEditpart> getDatatypeValidators() {
+		return null;
+	}
+
+}
diff --git a/org.eclipse.osbp.ecview.core.extension.editparts.emf/src/org/eclipse/osbp/ecview/core/extension/editpart/emf/KanbanVisibilityProcessor.java b/org.eclipse.osbp.ecview.core.extension.editparts.emf/src/org/eclipse/osbp/ecview/core/extension/editpart/emf/KanbanVisibilityProcessor.java
new file mode 100644
index 0000000..6d3e17c
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.extension.editparts.emf/src/org/eclipse/osbp/ecview/core/extension/editpart/emf/KanbanVisibilityProcessor.java
@@ -0,0 +1,267 @@
+package org.eclipse.osbp.ecview.core.extension.editpart.emf;
+
+import java.util.ArrayList;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+
+import org.eclipse.emf.common.util.TreeIterator;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.osbp.ecview.core.common.context.IViewContext;
+import org.eclipse.osbp.ecview.core.common.model.core.YEmbeddable;
+import org.eclipse.osbp.ecview.core.common.model.core.YField;
+import org.eclipse.osbp.ecview.core.common.model.core.YView;
+import org.eclipse.osbp.ecview.core.common.notification.ILifecycleEvent;
+import org.eclipse.osbp.ecview.core.common.notification.ILifecycleHandler;
+import org.eclipse.osbp.ecview.core.common.notification.ILifecycleService;
+import org.eclipse.osbp.ecview.core.common.visibility.IVisibilityHandler;
+import org.eclipse.osbp.ecview.core.common.visibility.IVisibilityManager;
+import org.eclipse.osbp.ecview.core.common.visibility.IVisibilityProcessor;
+import org.eclipse.osbp.ecview.core.extension.model.extension.YKanbanVisibilityProcessor;
+
+/**
+ * The Class KanbanVisibilityProcessor.
+ */
+public class KanbanVisibilityProcessor implements IVisibilityProcessor, ILifecycleHandler {
+
+	/** The handlers. */
+	private Set<Handler> handlers = new HashSet<>();
+
+	/** The input. */
+	@SuppressWarnings("unused")
+	private Object input;
+
+	/** The context. */
+	private IViewContext context;
+
+	/** The lifecycle service. */
+	private ILifecycleService lifecycleService;
+
+	/** The y view. */
+	private YView yView;
+
+	/** The manager. */
+	private IVisibilityManager manager;
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see
+	 * org.eclipse.osbp.ecview.core.common.visibility.IVisibilityProcessor#init
+	 * (org.eclipse.osbp.ecview.core.common.visibility.IVisibilityManager)
+	 */
+	@Override
+	public void init(IVisibilityManager manager) {
+		this.manager = manager;
+		List<YEmbeddable> yEmbeddables = collectAllEmbeddables();
+		for (YEmbeddable target : yEmbeddables) {
+			// do not create handlers for layouts, tabSheets,...
+			if (target instanceof YField) {
+				handlers.add(new Handler(manager, target));
+			}
+		}
+		lifecycleService = context.getService(ILifecycleService.class.getName());
+		lifecycleService.addHandler(this);
+
+		/*
+		 * This VP is not triggered by changing data. And at this point, the vp
+		 * becomes activated the first time -> we need to fire initially.
+		 * 
+		 * PLEASE DO NOT REMOVE!
+		 */
+		fire();
+	}
+
+	/**
+	 * Setup.
+	 *
+	 * @param context
+	 *            the context
+	 * @param yVP
+	 *            the y vp
+	 */
+	public void setup(IViewContext context, YKanbanVisibilityProcessor yVP) {
+
+		yView = (YView) context.getViewEditpart().getModel();
+
+		this.context = context;
+	}
+
+	/**
+	 * Find all embeddables in the given yView.<br>
+	 * The ui is rendered now.
+	 *
+	 * @return the list
+	 */
+	private List<YEmbeddable> collectAllEmbeddables() {
+		List<YEmbeddable> yEmbeddables = new ArrayList<>();
+		TreeIterator<EObject> iter = EcoreUtil.getAllProperContents(yView, true);
+		while (iter.hasNext()) {
+			EObject eObject = iter.next();
+			if (eObject instanceof YEmbeddable) {
+				yEmbeddables.add((YEmbeddable) eObject);
+			}
+		}
+		return yEmbeddables;
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see org.eclipse.osbp.ecview.core.common.notification.ILifecycleHandler#
+	 * notifyLifecycle
+	 * (org.eclipse.osbp.ecview.core.common.notification.ILifecycleEvent)
+	 */
+	@Override
+	public void notifyLifecycle(ILifecycleEvent event) {
+		Object model = event.getEditpart().getModel();
+		if (model instanceof YEmbeddable) {
+			Handler handler = findHandler((YEmbeddable) model);
+			if (ILifecycleEvent.TYPE_UNRENDERED.equals(event.getType())) {
+				if (handler != null) {
+					handlers.remove(handler);
+				}
+			} else if (ILifecycleEvent.TYPE_DISPOSED.equals(event.getType())) {
+				if (handler != null) {
+					handlers.remove(handler);
+				}
+				if (model == yView) {
+					// means the view was disposed!
+					internalDispose();
+				}
+			} else if (ILifecycleEvent.TYPE_RENDERED.equals(event.getType())) {
+				if (handler == null) {
+					handlers.add(new Handler(manager, (YEmbeddable) model));
+				}
+			}
+		}
+	}
+
+	/**
+	 * Internal dispose.
+	 */
+	private void internalDispose() {
+		lifecycleService.removeHandler(this);
+		lifecycleService = null;
+
+		handlers.clear();
+		handlers = null;
+
+		manager = null;
+		context = null;
+		yView = null;
+	}
+
+	/**
+	 * Returns the handler for the given model or <code>null</code> if no
+	 * handler is available.
+	 *
+	 * @param model
+	 *            the model
+	 * @return the handler
+	 */
+	private Handler findHandler(YEmbeddable model) {
+		for (Handler handler : handlers) {
+			if (handler.model == model) {
+				return handler;
+			}
+		}
+		return null;
+	}
+
+	@Override
+	public void fire() {
+		doFire();
+
+		for (Handler handler : handlers) {
+			handler.apply();
+		}
+	}
+
+	@Override
+	public void setInput(Object input) {
+		this.input = input;
+
+		fire();
+	}
+
+	/**
+	 * Do fire.
+	 */
+	public void doFire() {
+		for (Handler handler : handlers) {
+			handler.handle();
+		}
+	}
+
+	/**
+	 * The Class Handler.
+	 */
+	private static class Handler {
+
+		/** The target. */
+		private IVisibilityHandler target;
+
+		/** The field id. */
+		private String fieldId;
+
+		/** The entity name. */
+		private String dtoName;
+
+		/** The entity property. */
+		private String dtoProperty;
+
+		/** The model. */
+		private YEmbeddable model;
+
+		/**
+		 * Instantiates a new handler.
+		 *
+		 * @param manager
+		 *            the manager
+		 * @param model
+		 *            the model
+		 */
+		public Handler(IVisibilityManager manager, YEmbeddable model) {
+			this.model = model;
+			fieldId = model.getId();
+			dtoName = model.getAuthorizationGroup();
+			dtoProperty = model.getAuthorizationId();
+
+			target = manager.getById(fieldId);
+		}
+
+		/**
+		 * Apply.
+		 */
+		public void apply() {
+			if (target != null) {
+				target.apply();
+			}
+		}
+
+		/**
+		 * Handle.
+		 *
+		 * @param userAccessService
+		 *            the user access service
+		 */
+		public void handle() {
+			if (target == null) {
+				return;
+			}
+
+			// if autobinded
+			if (dtoName != null) {
+				target.setVisible(false);
+				target.setEditable(false);
+				target.setEnabled(true);
+
+				if (model.getTags().contains("onKanbanCard")) {
+					target.setVisible(true);
+				}
+			}
+		}
+	}
+}
diff --git a/org.eclipse.osbp.ecview.core.extension.editparts.emf/src/org/eclipse/osbp/ecview/core/extension/editpart/emf/KanbanVisibilityProcessorEditpart.java b/org.eclipse.osbp.ecview.core.extension.editparts.emf/src/org/eclipse/osbp/ecview/core/extension/editpart/emf/KanbanVisibilityProcessorEditpart.java
new file mode 100644
index 0000000..f969386
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.extension.editparts.emf/src/org/eclipse/osbp/ecview/core/extension/editpart/emf/KanbanVisibilityProcessorEditpart.java
@@ -0,0 +1,30 @@
+package org.eclipse.osbp.ecview.core.extension.editpart.emf;
+
+import org.eclipse.osbp.ecview.core.common.editpart.emf.visibility.VisibilityProcessorEditpart;
+import org.eclipse.osbp.ecview.core.common.visibility.IVisibilityProcessor;
+import org.eclipse.osbp.ecview.core.extension.model.extension.YKanbanVisibilityProcessor;
+import org.eclipse.osbp.ecview.core.ui.core.editparts.extension.IKanbanVisibilityProcessor;
+
+public class KanbanVisibilityProcessorEditpart extends VisibilityProcessorEditpart<YKanbanVisibilityProcessor>
+		implements IKanbanVisibilityProcessor {
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see org.eclipse.osbp.ecview.core.common.editpart.emf.visibility.
+	 * VisibilityProcessorEditpart#loadProcessor()
+	 */
+	protected IVisibilityProcessor loadProcessor() {
+		if (processor != null) {
+			return processor;
+		}
+
+		KanbanVisibilityProcessor temp = new KanbanVisibilityProcessor();
+		temp.setup(getViewContext(getModel()), getModel());
+
+		processor = temp;
+
+		return processor;
+	}
+
+}
diff --git a/org.eclipse.osbp.ecview.core.extension.editparts/.classpath b/org.eclipse.osbp.ecview.core.extension.editparts/.classpath
new file mode 100644
index 0000000..cf36b56
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.extension.editparts/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="src" path="src/"/>
+	<classpathentry kind="output" path="target/classes"/>
+</classpath>
diff --git a/org.eclipse.osbp.ecview.core.extension.editparts/.settings/org.eclipse.core.resources.prefs b/org.eclipse.osbp.ecview.core.extension.editparts/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..99f26c0
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.extension.editparts/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
diff --git a/org.eclipse.osbp.ecview.core.extension.editparts/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.osbp.ecview.core.extension.editparts/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..0c68a61
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.extension.editparts/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,7 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.8
diff --git a/org.eclipse.osbp.ecview.core.extension.editparts/.settings/org.eclipse.m2e.core.prefs b/org.eclipse.osbp.ecview.core.extension.editparts/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.extension.editparts/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/org.eclipse.osbp.ecview.core.extension.editparts/.settings/org.eclipse.xtend.core.Xtend.prefs b/org.eclipse.osbp.ecview.core.extension.editparts/.settings/org.eclipse.xtend.core.Xtend.prefs
new file mode 100644
index 0000000..19e3115
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.extension.editparts/.settings/org.eclipse.xtend.core.Xtend.prefs
@@ -0,0 +1,11 @@
+//outlet.DEFAULT_OUTPUT.sourceFolder.src/test/java.directory=src/test/generated-sources/xtend
+BuilderConfiguration.is_project_specific=true
+eclipse.preferences.version=1
+is_project_specific=true
+outlet.DEFAULT_OUTPUT.hideLocalSyntheticVariables=true
+outlet.DEFAULT_OUTPUT.installDslAsPrimarySource=false
+outlet.DEFAULT_OUTPUT.sourceFolder.emf-gen.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.sourceFolder.src-gen.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.sourceFolder.src.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.sourceFolder.xtend-gen.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.userOutputPerSourceFolder=true
diff --git a/org.eclipse.osbp.ecview.core.extension.editparts/src/org/eclipse/osbp/ecview/core/ui/core/editparts/extension/IFilteringComponentEditpart.java b/org.eclipse.osbp.ecview.core.extension.editparts/src/org/eclipse/osbp/ecview/core/ui/core/editparts/extension/IFilteringComponentEditpart.java
new file mode 100644
index 0000000..26adfc0
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.extension.editparts/src/org/eclipse/osbp/ecview/core/ui/core/editparts/extension/IFilteringComponentEditpart.java
@@ -0,0 +1,28 @@
+/**
+ * Copyright (c) 2011, 2015 - Lunifera GmbH (Gross Enzersdorf, Austria), Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *         Florian Pirchner - Initial implementation
+ */
+package org.eclipse.osbp.ecview.core.ui.core.editparts.extension;
+
+import org.eclipse.osbp.ecview.core.common.editpart.IEmbeddableEditpart;
+
+/**
+ * An edit part for filtering component.
+ */
+public interface IFilteringComponentEditpart extends IEmbeddableEditpart {
+
+	/**
+	 * Returns the filter for the field value. The returned filter depends on
+	 * the used UI-Kit.
+	 *
+	 * @return the filter
+	 */
+	Object getFilter();
+
+}
diff --git a/org.eclipse.osbp.ecview.core.extension.editparts/src/org/eclipse/osbp/ecview/core/ui/core/editparts/extension/IKanbanEditpart.java b/org.eclipse.osbp.ecview.core.extension.editparts/src/org/eclipse/osbp/ecview/core/ui/core/editparts/extension/IKanbanEditpart.java
new file mode 100644
index 0000000..7fc1858
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.extension.editparts/src/org/eclipse/osbp/ecview/core/ui/core/editparts/extension/IKanbanEditpart.java
@@ -0,0 +1,20 @@
+/**
+ * Copyright (c) 2011, 2015 - Lunifera GmbH (Gross Enzersdorf, Austria), Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *         Florian Pirchner - Initial implementation
+ */
+package org.eclipse.osbp.ecview.core.ui.core.editparts.extension;
+
+import org.eclipse.osbp.ecview.core.common.editpart.IFieldEditpart;
+
+/**
+ * An edit part for list.
+ */
+public interface IKanbanEditpart extends IFieldEditpart {
+
+}
diff --git a/org.eclipse.osbp.ecview.core.extension.editparts/src/org/eclipse/osbp/ecview/core/ui/core/editparts/extension/IKanbanVisibilityProcessor.java b/org.eclipse.osbp.ecview.core.extension.editparts/src/org/eclipse/osbp/ecview/core/ui/core/editparts/extension/IKanbanVisibilityProcessor.java
new file mode 100644
index 0000000..33b853c
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.extension.editparts/src/org/eclipse/osbp/ecview/core/ui/core/editparts/extension/IKanbanVisibilityProcessor.java
@@ -0,0 +1,7 @@
+package org.eclipse.osbp.ecview.core.ui.core.editparts.extension;
+
+import org.eclipse.osbp.ecview.core.common.editpart.visibility.IVisibilityProcessorEditpart;
+
+public interface IKanbanVisibilityProcessor extends IVisibilityProcessorEditpart {
+
+}
diff --git a/org.eclipse.osbp.ecview.core.extension.model.edit/.classpath b/org.eclipse.osbp.ecview.core.extension.model.edit/.classpath
new file mode 100644
index 0000000..121e527
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.extension.model.edit/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/org.eclipse.osbp.ecview.core.extension.model.edit/.settings/org.eclipse.core.resources.prefs b/org.eclipse.osbp.ecview.core.extension.model.edit/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..99f26c0
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.extension.model.edit/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
diff --git a/org.eclipse.osbp.ecview.core.extension.model.edit/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.osbp.ecview.core.extension.model.edit/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..c537b63
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.extension.model.edit/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,7 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.6
diff --git a/org.eclipse.osbp.ecview.core.extension.model.edit/.settings/org.eclipse.m2e.core.prefs b/org.eclipse.osbp.ecview.core.extension.model.edit/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.extension.model.edit/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/org.eclipse.osbp.ecview.core.extension.model.edit/.settings/org.eclipse.xtend.core.Xtend.prefs b/org.eclipse.osbp.ecview.core.extension.model.edit/.settings/org.eclipse.xtend.core.Xtend.prefs
new file mode 100644
index 0000000..19e3115
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.extension.model.edit/.settings/org.eclipse.xtend.core.Xtend.prefs
@@ -0,0 +1,11 @@
+//outlet.DEFAULT_OUTPUT.sourceFolder.src/test/java.directory=src/test/generated-sources/xtend
+BuilderConfiguration.is_project_specific=true
+eclipse.preferences.version=1
+is_project_specific=true
+outlet.DEFAULT_OUTPUT.hideLocalSyntheticVariables=true
+outlet.DEFAULT_OUTPUT.installDslAsPrimarySource=false
+outlet.DEFAULT_OUTPUT.sourceFolder.emf-gen.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.sourceFolder.src-gen.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.sourceFolder.src.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.sourceFolder.xtend-gen.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.userOutputPerSourceFolder=true
diff --git a/org.eclipse.osbp.ecview.core.extension.model.edit/icons/full/ctool16/CreateYBeanReferenceField_filteringComponent_YFilteringComponent.gif b/org.eclipse.osbp.ecview.core.extension.model.edit/icons/full/ctool16/CreateYBeanReferenceField_filteringComponent_YFilteringComponent.gif
new file mode 100644
index 0000000..c44b7cf
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.extension.model.edit/icons/full/ctool16/CreateYBeanReferenceField_filteringComponent_YFilteringComponent.gif
Binary files differ
diff --git a/org.eclipse.osbp.ecview.core.extension.model.edit/icons/full/ctool16/CreateYDialog_content_YFilteringComponent.gif b/org.eclipse.osbp.ecview.core.extension.model.edit/icons/full/ctool16/CreateYDialog_content_YFilteringComponent.gif
new file mode 100644
index 0000000..c44b7cf
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.extension.model.edit/icons/full/ctool16/CreateYDialog_content_YFilteringComponent.gif
Binary files differ
diff --git a/org.eclipse.osbp.ecview.core.extension.model.edit/icons/full/ctool16/CreateYFilteringComponent_filterDescriptors_YFilterDescriptor.gif b/org.eclipse.osbp.ecview.core.extension.model.edit/icons/full/ctool16/CreateYFilteringComponent_filterDescriptors_YFilterDescriptor.gif
new file mode 100644
index 0000000..9e00367
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.extension.model.edit/icons/full/ctool16/CreateYFilteringComponent_filterDescriptors_YFilterDescriptor.gif
Binary files differ
diff --git a/org.eclipse.osbp.ecview.core.extension.model.edit/icons/full/ctool16/CreateYFilteringComponent_tableDescriptors_YFilterTableDescriptor.gif b/org.eclipse.osbp.ecview.core.extension.model.edit/icons/full/ctool16/CreateYFilteringComponent_tableDescriptors_YFilterTableDescriptor.gif
new file mode 100644
index 0000000..09b8804
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.extension.model.edit/icons/full/ctool16/CreateYFilteringComponent_tableDescriptors_YFilterTableDescriptor.gif
Binary files differ
diff --git a/org.eclipse.osbp.ecview.core.extension.model.edit/icons/full/ctool16/CreateYLayout_elements_YFilteringComponent.gif b/org.eclipse.osbp.ecview.core.extension.model.edit/icons/full/ctool16/CreateYLayout_elements_YFilteringComponent.gif
new file mode 100644
index 0000000..f6c9c1b
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.extension.model.edit/icons/full/ctool16/CreateYLayout_elements_YFilteringComponent.gif
Binary files differ
diff --git a/org.eclipse.osbp.ecview.core.extension.model.edit/icons/full/ctool16/CreateYMasterDetail_detailElement_YFilteringComponent.gif b/org.eclipse.osbp.ecview.core.extension.model.edit/icons/full/ctool16/CreateYMasterDetail_detailElement_YFilteringComponent.gif
new file mode 100644
index 0000000..860a2df
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.extension.model.edit/icons/full/ctool16/CreateYMasterDetail_detailElement_YFilteringComponent.gif
Binary files differ
diff --git a/org.eclipse.osbp.ecview.core.extension.model.edit/icons/full/ctool16/CreateYMasterDetail_masterElement_YFilteringComponent.gif b/org.eclipse.osbp.ecview.core.extension.model.edit/icons/full/ctool16/CreateYMasterDetail_masterElement_YFilteringComponent.gif
new file mode 100644
index 0000000..860a2df
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.extension.model.edit/icons/full/ctool16/CreateYMasterDetail_masterElement_YFilteringComponent.gif
Binary files differ
diff --git a/org.eclipse.osbp.ecview.core.extension.model.edit/icons/full/ctool16/CreateYTab_embeddable_YFilteringComponent.gif b/org.eclipse.osbp.ecview.core.extension.model.edit/icons/full/ctool16/CreateYTab_embeddable_YFilteringComponent.gif
new file mode 100644
index 0000000..671249c
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.extension.model.edit/icons/full/ctool16/CreateYTab_embeddable_YFilteringComponent.gif
Binary files differ
diff --git a/org.eclipse.osbp.ecview.core.extension.model.edit/icons/full/ctool16/CreateYTable_sortOrder_YSortColumn.gif b/org.eclipse.osbp.ecview.core.extension.model.edit/icons/full/ctool16/CreateYTable_sortOrder_YSortColumn.gif
new file mode 100644
index 0000000..6e7148b
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.extension.model.edit/icons/full/ctool16/CreateYTable_sortOrder_YSortColumn.gif
Binary files differ
diff --git a/org.eclipse.osbp.ecview.core.extension.model.edit/icons/full/ctool16/CreateYView_content_YFilteringComponent.gif b/org.eclipse.osbp.ecview.core.extension.model.edit/icons/full/ctool16/CreateYView_content_YFilteringComponent.gif
new file mode 100644
index 0000000..84f99e6
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.extension.model.edit/icons/full/ctool16/CreateYView_content_YFilteringComponent.gif
Binary files differ
diff --git a/org.eclipse.osbp.ecview.core.extension.model.edit/icons/full/obj16/YFilterDescriptor.gif b/org.eclipse.osbp.ecview.core.extension.model.edit/icons/full/obj16/YFilterDescriptor.gif
new file mode 100644
index 0000000..c8d381f
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.extension.model.edit/icons/full/obj16/YFilterDescriptor.gif
Binary files differ
diff --git a/org.eclipse.osbp.ecview.core.extension.model.edit/icons/full/obj16/YFilterTableDescriptor.gif b/org.eclipse.osbp.ecview.core.extension.model.edit/icons/full/obj16/YFilterTableDescriptor.gif
new file mode 100644
index 0000000..33854e9
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.extension.model.edit/icons/full/obj16/YFilterTableDescriptor.gif
Binary files differ
diff --git a/org.eclipse.osbp.ecview.core.extension.model.edit/icons/full/obj16/YFilteringComponent.gif b/org.eclipse.osbp.ecview.core.extension.model.edit/icons/full/obj16/YFilteringComponent.gif
new file mode 100644
index 0000000..ef56c14
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.extension.model.edit/icons/full/obj16/YFilteringComponent.gif
Binary files differ
diff --git a/org.eclipse.osbp.ecview.core.extension.model.edit/icons/full/obj16/YSortColumn.gif b/org.eclipse.osbp.ecview.core.extension.model.edit/icons/full/obj16/YSortColumn.gif
new file mode 100644
index 0000000..134551b
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.extension.model.edit/icons/full/obj16/YSortColumn.gif
Binary files differ
diff --git a/org.eclipse.osbp.ecview.core.extension.model.edit/src/org/eclipse/osbp/ecview/core/extension/model/extension/provider/YFilterDescriptorItemProvider.java b/org.eclipse.osbp.ecview.core.extension.model.edit/src/org/eclipse/osbp/ecview/core/extension/model/extension/provider/YFilterDescriptorItemProvider.java
new file mode 100644
index 0000000..8c9d253
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.extension.model.edit/src/org/eclipse/osbp/ecview/core/extension/model/extension/provider/YFilterDescriptorItemProvider.java
@@ -0,0 +1,346 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.extension.model.extension.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IChildCreationExtender;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.osbp.ecview.core.common.model.core.CoreModelFactory;
+import org.eclipse.osbp.ecview.core.common.model.core.CoreModelPackage;
+
+import org.eclipse.osbp.ecview.core.extension.model.extension.ExtensionModelPackage;
+import org.eclipse.osbp.ecview.core.extension.model.extension.YFilterDescriptor;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.osbp.ecview.core.extension.model.extension.YFilterDescriptor} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class YFilterDescriptorItemProvider 
+	extends ItemProviderAdapter
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YFilterDescriptorItemProvider(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);
+			addCssClassPropertyDescriptor(object);
+			addCssIDPropertyDescriptor(object);
+			addPropertyPathPropertyDescriptor(object);
+			addTypePropertyDescriptor(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 adds a property descriptor for the Css Class feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addCssClassPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_YCssAble_cssClass_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_YCssAble_cssClass_feature", "_UI_YCssAble_type"),
+				 CoreModelPackage.Literals.YCSS_ABLE__CSS_CLASS,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Css ID feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addCssIDPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_YCssAble_cssID_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_YCssAble_cssID_feature", "_UI_YCssAble_type"),
+				 CoreModelPackage.Literals.YCSS_ABLE__CSS_ID,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Property Path feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addPropertyPathPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_YFilterDescriptor_propertyPath_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_YFilterDescriptor_propertyPath_feature", "_UI_YFilterDescriptor_type"),
+				 ExtensionModelPackage.Literals.YFILTER_DESCRIPTOR__PROPERTY_PATH,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Type feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addTypePropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_YFilterDescriptor_type_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_YFilterDescriptor_type_feature", "_UI_YFilterDescriptor_type"),
+				 ExtensionModelPackage.Literals.YFILTER_DESCRIPTOR__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}.
+	 * <!-- 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 YFilterDescriptor.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/YFilterDescriptor"));
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		String label = ((YFilterDescriptor)object).getName();
+		return label == null || label.length() == 0 ?
+			getString("_UI_YFilterDescriptor_type") :
+			getString("_UI_YFilterDescriptor_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(YFilterDescriptor.class)) {
+			case ExtensionModelPackage.YFILTER_DESCRIPTOR__TAGS:
+			case ExtensionModelPackage.YFILTER_DESCRIPTOR__ID:
+			case ExtensionModelPackage.YFILTER_DESCRIPTOR__NAME:
+			case ExtensionModelPackage.YFILTER_DESCRIPTOR__CSS_CLASS:
+			case ExtensionModelPackage.YFILTER_DESCRIPTOR__CSS_ID:
+			case ExtensionModelPackage.YFILTER_DESCRIPTOR__PROPERTY_PATH:
+			case ExtensionModelPackage.YFILTER_DESCRIPTOR__TYPE:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+				return;
+			case ExtensionModelPackage.YFILTER_DESCRIPTOR__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 ((IChildCreationExtender)adapterFactory).getResourceLocator();
+	}
+
+}
diff --git a/org.eclipse.osbp.ecview.core.extension.model.edit/src/org/eclipse/osbp/ecview/core/extension/model/extension/provider/YFilterTableDescriptorItemProvider.java b/org.eclipse.osbp.ecview.core.extension.model.edit/src/org/eclipse/osbp/ecview/core/extension/model/extension/provider/YFilterTableDescriptorItemProvider.java
new file mode 100644
index 0000000..7024ddc
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.extension.model.edit/src/org/eclipse/osbp/ecview/core/extension/model/extension/provider/YFilterTableDescriptorItemProvider.java
@@ -0,0 +1,322 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.extension.model.extension.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IChildCreationExtender;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.osbp.ecview.core.common.model.core.CoreModelFactory;
+import org.eclipse.osbp.ecview.core.common.model.core.CoreModelPackage;
+
+import org.eclipse.osbp.ecview.core.extension.model.extension.ExtensionModelPackage;
+import org.eclipse.osbp.ecview.core.extension.model.extension.YFilterTableDescriptor;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.osbp.ecview.core.extension.model.extension.YFilterTableDescriptor} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class YFilterTableDescriptorItemProvider 
+	extends ItemProviderAdapter
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YFilterTableDescriptorItemProvider(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);
+			addCssClassPropertyDescriptor(object);
+			addCssIDPropertyDescriptor(object);
+			addPropertyPathPropertyDescriptor(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 adds a property descriptor for the Css Class feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addCssClassPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_YCssAble_cssClass_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_YCssAble_cssClass_feature", "_UI_YCssAble_type"),
+				 CoreModelPackage.Literals.YCSS_ABLE__CSS_CLASS,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Css ID feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addCssIDPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_YCssAble_cssID_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_YCssAble_cssID_feature", "_UI_YCssAble_type"),
+				 CoreModelPackage.Literals.YCSS_ABLE__CSS_ID,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Property Path feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addPropertyPathPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_YFilterTableDescriptor_propertyPath_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_YFilterTableDescriptor_propertyPath_feature", "_UI_YFilterTableDescriptor_type"),
+				 ExtensionModelPackage.Literals.YFILTER_TABLE_DESCRIPTOR__PROPERTY_PATH,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+	 * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+	 * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Collection<? extends EStructuralFeature> getChildrenFeatures(Object object) {
+		if (childrenFeatures == null) {
+			super.getChildrenFeatures(object);
+			childrenFeatures.add(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 YFilterTableDescriptor.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/YFilterTableDescriptor"));
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		String label = ((YFilterTableDescriptor)object).getName();
+		return label == null || label.length() == 0 ?
+			getString("_UI_YFilterTableDescriptor_type") :
+			getString("_UI_YFilterTableDescriptor_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(YFilterTableDescriptor.class)) {
+			case ExtensionModelPackage.YFILTER_TABLE_DESCRIPTOR__TAGS:
+			case ExtensionModelPackage.YFILTER_TABLE_DESCRIPTOR__ID:
+			case ExtensionModelPackage.YFILTER_TABLE_DESCRIPTOR__NAME:
+			case ExtensionModelPackage.YFILTER_TABLE_DESCRIPTOR__CSS_CLASS:
+			case ExtensionModelPackage.YFILTER_TABLE_DESCRIPTOR__CSS_ID:
+			case ExtensionModelPackage.YFILTER_TABLE_DESCRIPTOR__PROPERTY_PATH:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+				return;
+			case ExtensionModelPackage.YFILTER_TABLE_DESCRIPTOR__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 ((IChildCreationExtender)adapterFactory).getResourceLocator();
+	}
+
+}
diff --git a/org.eclipse.osbp.ecview.core.extension.model.edit/src/org/eclipse/osbp/ecview/core/extension/model/extension/provider/YFilteringComponentItemProvider.java b/org.eclipse.osbp.ecview.core.extension.model.edit/src/org/eclipse/osbp/ecview/core/extension/model/extension/provider/YFilteringComponentItemProvider.java
new file mode 100644
index 0000000..57e9213
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.extension.model.edit/src/org/eclipse/osbp/ecview/core/extension/model/extension/provider/YFilteringComponentItemProvider.java
@@ -0,0 +1,477 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.extension.model.extension.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.core.common.model.core.CoreModelPackage;
+
+import org.eclipse.osbp.ecview.core.common.model.core.provider.YEmbeddableItemProvider;
+
+import org.eclipse.osbp.ecview.core.extension.model.datatypes.ExtDatatypesFactory;
+
+import org.eclipse.osbp.ecview.core.extension.model.extension.ExtensionModelFactory;
+import org.eclipse.osbp.ecview.core.extension.model.extension.ExtensionModelPackage;
+import org.eclipse.osbp.ecview.core.extension.model.extension.YFilteringComponent;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.osbp.ecview.core.extension.model.extension.YFilteringComponent} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class YFilteringComponentItemProvider extends YEmbeddableItemProvider {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YFilteringComponentItemProvider(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);
+
+			addSpacingPropertyDescriptor(object);
+			addMarginPropertyDescriptor(object);
+			addTypePropertyDescriptor(object);
+			addEmfNsURIPropertyDescriptor(object);
+			addTypeQualifiedNamePropertyDescriptor(object);
+			addApplyFilterPropertyDescriptor(object);
+			addResetFilterPropertyDescriptor(object);
+			addFilterPropertyDescriptor(object);
+			addSelectionBeanSlotNamePropertyDescriptor(object);
+			addFilterColsPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Spacing feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addSpacingPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_YSpacingable_spacing_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_YSpacingable_spacing_feature", "_UI_YSpacingable_type"),
+				 CoreModelPackage.Literals.YSPACINGABLE__SPACING,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Margin feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addMarginPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_YMarginable_margin_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_YMarginable_margin_feature", "_UI_YMarginable_type"),
+				 CoreModelPackage.Literals.YMARGINABLE__MARGIN,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Type feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addTypePropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_YFilteringComponent_type_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_YFilteringComponent_type_feature", "_UI_YFilteringComponent_type"),
+				 ExtensionModelPackage.Literals.YFILTERING_COMPONENT__TYPE,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Emf Ns URI feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addEmfNsURIPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_YFilteringComponent_emfNsURI_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_YFilteringComponent_emfNsURI_feature", "_UI_YFilteringComponent_type"),
+				 ExtensionModelPackage.Literals.YFILTERING_COMPONENT__EMF_NS_URI,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Type Qualified Name feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addTypeQualifiedNamePropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_YFilteringComponent_typeQualifiedName_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_YFilteringComponent_typeQualifiedName_feature", "_UI_YFilteringComponent_type"),
+				 ExtensionModelPackage.Literals.YFILTERING_COMPONENT__TYPE_QUALIFIED_NAME,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Apply Filter feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addApplyFilterPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_YFilteringComponent_applyFilter_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_YFilteringComponent_applyFilter_feature", "_UI_YFilteringComponent_type"),
+				 ExtensionModelPackage.Literals.YFILTERING_COMPONENT__APPLY_FILTER,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Reset Filter feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addResetFilterPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_YFilteringComponent_resetFilter_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_YFilteringComponent_resetFilter_feature", "_UI_YFilteringComponent_type"),
+				 ExtensionModelPackage.Literals.YFILTERING_COMPONENT__RESET_FILTER,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Filter feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addFilterPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_YFilteringComponent_filter_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_YFilteringComponent_filter_feature", "_UI_YFilteringComponent_type"),
+				 ExtensionModelPackage.Literals.YFILTERING_COMPONENT__FILTER,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Selection Bean Slot Name feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addSelectionBeanSlotNamePropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_YFilteringComponent_selectionBeanSlotName_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_YFilteringComponent_selectionBeanSlotName_feature", "_UI_YFilteringComponent_type"),
+				 ExtensionModelPackage.Literals.YFILTERING_COMPONENT__SELECTION_BEAN_SLOT_NAME,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Filter Cols feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addFilterColsPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_YFilteringComponent_filterCols_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_YFilteringComponent_filterCols_feature", "_UI_YFilteringComponent_type"),
+				 ExtensionModelPackage.Literals.YFILTERING_COMPONENT__FILTER_COLS,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.INTEGRAL_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(ExtensionModelPackage.Literals.YFILTERING_COMPONENT__FILTER_DESCRIPTORS);
+			childrenFeatures.add(ExtensionModelPackage.Literals.YFILTERING_COMPONENT__TABLE_DESCRIPTORS);
+		}
+		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 YFilteringComponent.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/YFilteringComponent"));
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		String label = ((YFilteringComponent)object).getName();
+		return label == null || label.length() == 0 ?
+			getString("_UI_YFilteringComponent_type") :
+			getString("_UI_YFilteringComponent_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(YFilteringComponent.class)) {
+			case ExtensionModelPackage.YFILTERING_COMPONENT__SPACING:
+			case ExtensionModelPackage.YFILTERING_COMPONENT__MARGIN:
+			case ExtensionModelPackage.YFILTERING_COMPONENT__TYPE:
+			case ExtensionModelPackage.YFILTERING_COMPONENT__EMF_NS_URI:
+			case ExtensionModelPackage.YFILTERING_COMPONENT__TYPE_QUALIFIED_NAME:
+			case ExtensionModelPackage.YFILTERING_COMPONENT__APPLY_FILTER:
+			case ExtensionModelPackage.YFILTERING_COMPONENT__RESET_FILTER:
+			case ExtensionModelPackage.YFILTERING_COMPONENT__FILTER:
+			case ExtensionModelPackage.YFILTERING_COMPONENT__SELECTION_BEAN_SLOT_NAME:
+			case ExtensionModelPackage.YFILTERING_COMPONENT__FILTER_COLS:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+				return;
+			case ExtensionModelPackage.YFILTERING_COMPONENT__FILTER_DESCRIPTORS:
+			case ExtensionModelPackage.YFILTERING_COMPONENT__TABLE_DESCRIPTORS:
+				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.YEMBEDDABLE__ORPHAN_DATATYPES,
+				 ExtDatatypesFactory.eINSTANCE.createYTextDatatype()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(CoreModelPackage.Literals.YEMBEDDABLE__ORPHAN_DATATYPES,
+				 ExtDatatypesFactory.eINSTANCE.createYTextAreaDatatype()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(CoreModelPackage.Literals.YEMBEDDABLE__ORPHAN_DATATYPES,
+				 ExtDatatypesFactory.eINSTANCE.createYNumericDatatype()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(CoreModelPackage.Literals.YEMBEDDABLE__ORPHAN_DATATYPES,
+				 ExtDatatypesFactory.eINSTANCE.createYDecimalDatatype()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(CoreModelPackage.Literals.YEMBEDDABLE__ORPHAN_DATATYPES,
+				 ExtDatatypesFactory.eINSTANCE.createYTableDatatype()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(CoreModelPackage.Literals.YEMBEDDABLE__ORPHAN_DATATYPES,
+				 ExtDatatypesFactory.eINSTANCE.createYCheckBoxDatatype()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(CoreModelPackage.Literals.YEMBEDDABLE__ORPHAN_DATATYPES,
+				 ExtDatatypesFactory.eINSTANCE.createYComboBoxDatatype()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(CoreModelPackage.Literals.YEMBEDDABLE__ORPHAN_DATATYPES,
+				 ExtDatatypesFactory.eINSTANCE.createYListDataType()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(CoreModelPackage.Literals.YEMBEDDABLE__ORPHAN_DATATYPES,
+				 ExtDatatypesFactory.eINSTANCE.createYOptionsGroupDataType()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(CoreModelPackage.Literals.YEMBEDDABLE__ORPHAN_DATATYPES,
+				 ExtDatatypesFactory.eINSTANCE.createYBrowserDatatype()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(CoreModelPackage.Literals.YEMBEDDABLE__ORPHAN_DATATYPES,
+				 ExtDatatypesFactory.eINSTANCE.createYDateTimeDatatype()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(CoreModelPackage.Literals.YEMBEDDABLE__ORPHAN_DATATYPES,
+				 ExtDatatypesFactory.eINSTANCE.createYTreeDatatype()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(CoreModelPackage.Literals.YEMBEDDABLE__ORPHAN_DATATYPES,
+				 ExtDatatypesFactory.eINSTANCE.createYProgressBarDatatype()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(CoreModelPackage.Literals.YEMBEDDABLE__ORPHAN_DATATYPES,
+				 ExtDatatypesFactory.eINSTANCE.createYTabSheetDatatype()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(CoreModelPackage.Literals.YEMBEDDABLE__ORPHAN_DATATYPES,
+				 ExtDatatypesFactory.eINSTANCE.createYMasterDetailDatatype()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(ExtensionModelPackage.Literals.YFILTERING_COMPONENT__FILTER_DESCRIPTORS,
+				 ExtensionModelFactory.eINSTANCE.createYFilterDescriptor()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(ExtensionModelPackage.Literals.YFILTERING_COMPONENT__TABLE_DESCRIPTORS,
+				 ExtensionModelFactory.eINSTANCE.createYFilterTableDescriptor()));
+	}
+
+}
diff --git a/org.eclipse.osbp.ecview.core.extension.model.edit/src/org/eclipse/osbp/ecview/core/extension/model/extension/provider/YSortColumnItemProvider.java b/org.eclipse.osbp.ecview.core.extension.model.edit/src/org/eclipse/osbp/ecview/core/extension/model/extension/provider/YSortColumnItemProvider.java
new file mode 100644
index 0000000..cadf1be
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.extension.model.edit/src/org/eclipse/osbp/ecview/core/extension/model/extension/provider/YSortColumnItemProvider.java
@@ -0,0 +1,346 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.extension.model.extension.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IChildCreationExtender;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.osbp.ecview.core.common.model.core.CoreModelFactory;
+import org.eclipse.osbp.ecview.core.common.model.core.CoreModelPackage;
+
+import org.eclipse.osbp.ecview.core.extension.model.extension.ExtensionModelPackage;
+import org.eclipse.osbp.ecview.core.extension.model.extension.YSortColumn;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.osbp.ecview.core.extension.model.extension.YSortColumn} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class YSortColumnItemProvider 
+	extends ItemProviderAdapter
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YSortColumnItemProvider(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);
+			addPropertyPathPropertyDescriptor(object);
+			addTypePropertyDescriptor(object);
+			addTypeQualifiedNamePropertyDescriptor(object);
+			addAscPropertyDescriptor(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 adds a property descriptor for the Property Path feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addPropertyPathPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_YSortColumn_propertyPath_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_YSortColumn_propertyPath_feature", "_UI_YSortColumn_type"),
+				 ExtensionModelPackage.Literals.YSORT_COLUMN__PROPERTY_PATH,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Type feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addTypePropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_YSortColumn_type_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_YSortColumn_type_feature", "_UI_YSortColumn_type"),
+				 ExtensionModelPackage.Literals.YSORT_COLUMN__TYPE,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Type Qualified Name feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addTypeQualifiedNamePropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_YSortColumn_typeQualifiedName_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_YSortColumn_typeQualifiedName_feature", "_UI_YSortColumn_type"),
+				 ExtensionModelPackage.Literals.YSORT_COLUMN__TYPE_QUALIFIED_NAME,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Asc feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addAscPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_YSortColumn_asc_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_YSortColumn_asc_feature", "_UI_YSortColumn_type"),
+				 ExtensionModelPackage.Literals.YSORT_COLUMN__ASC,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+	 * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+	 * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Collection<? extends EStructuralFeature> getChildrenFeatures(Object object) {
+		if (childrenFeatures == null) {
+			super.getChildrenFeatures(object);
+			childrenFeatures.add(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 YSortColumn.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/YSortColumn"));
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		String label = ((YSortColumn)object).getName();
+		return label == null || label.length() == 0 ?
+			getString("_UI_YSortColumn_type") :
+			getString("_UI_YSortColumn_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(YSortColumn.class)) {
+			case ExtensionModelPackage.YSORT_COLUMN__TAGS:
+			case ExtensionModelPackage.YSORT_COLUMN__ID:
+			case ExtensionModelPackage.YSORT_COLUMN__NAME:
+			case ExtensionModelPackage.YSORT_COLUMN__PROPERTY_PATH:
+			case ExtensionModelPackage.YSORT_COLUMN__TYPE:
+			case ExtensionModelPackage.YSORT_COLUMN__TYPE_QUALIFIED_NAME:
+			case ExtensionModelPackage.YSORT_COLUMN__ASC:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+				return;
+			case ExtensionModelPackage.YSORT_COLUMN__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 ((IChildCreationExtender)adapterFactory).getResourceLocator();
+	}
+
+}
diff --git a/org.eclipse.osbp.ecview.core.extension.model.editor/.classpath b/org.eclipse.osbp.ecview.core.extension.model.editor/.classpath
new file mode 100644
index 0000000..22f3064
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.extension.model.editor/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/org.eclipse.osbp.ecview.core.extension.model.tests/.classpath b/org.eclipse.osbp.ecview.core.extension.model.tests/.classpath
new file mode 100644
index 0000000..22f3064
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.extension.model.tests/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/org.eclipse.osbp.ecview.core.extension.model.tests/.project b/org.eclipse.osbp.ecview.core.extension.model.tests/.project
new file mode 100644
index 0000000..f7533a6
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.extension.model.tests/.project
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.osbp.ecview.core.extension.model.tests</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.ManifestBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.SchemaBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.babel.editor.rbeBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.babel.editor.rbeNature</nature>
+	</natures>
+</projectDescription>
diff --git a/org.eclipse.osbp.ecview.core.extension.model.tests/META-INF/MANIFEST.MF b/org.eclipse.osbp.ecview.core.extension.model.tests/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..9a368f2
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.extension.model.tests/META-INF/MANIFEST.MF
@@ -0,0 +1,17 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %pluginName
+Bundle-SymbolicName: org.eclipse.osbp.ecview.core.extension.model.tests;singleton:=true
+Bundle-Version: 1.0.0.qualifier
+Bundle-ClassPath: .
+Bundle-Vendor: %providerName
+Bundle-Localization: plugin
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Export-Package: org.eclipse.osbp.ecview.core.extension.model.datatypes.tests,
+ org.eclipse.osbp.ecview.core.extension.model.extension.tests
+Require-Bundle: org.eclipse.core.runtime,
+ org.eclipse.osbp.ecview.core.extension.model;visibility:=reexport,
+ org.eclipse.osbp.ecview.core.common.model;visibility:=reexport,
+ org.eclipse.emf.ecore.xmi;visibility:=reexport,
+ org.junit;visibility:=reexport
+Bundle-ActivationPolicy: lazy
diff --git a/org.eclipse.osbp.ecview.core.extension.model.tests/build.properties b/org.eclipse.osbp.ecview.core.extension.model.tests/build.properties
new file mode 100644
index 0000000..08af068
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.extension.model.tests/build.properties
@@ -0,0 +1,8 @@
+#
+
+bin.includes = .,\
+               META-INF/,\
+               plugin.properties
+jars.compile.order = .
+source.. = src/
+output.. = bin/
diff --git a/org.eclipse.osbp.ecview.core.extension.model.tests/plugin.properties b/org.eclipse.osbp.ecview.core.extension.model.tests/plugin.properties
new file mode 100644
index 0000000..59e2ded
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.extension.model.tests/plugin.properties
@@ -0,0 +1,4 @@
+#
+
+pluginName = Extension Tests
+providerName = www.example.org
diff --git a/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/datatypes/tests/ExtDatatypesExample.java b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/datatypes/tests/ExtDatatypesExample.java
new file mode 100644
index 0000000..2181bfb
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/datatypes/tests/ExtDatatypesExample.java
@@ -0,0 +1,121 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.extension.model.datatypes.tests;
+
+import java.io.File;
+import java.io.IOException;
+
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.URI;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.ResourceSet;
+
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+
+import org.eclipse.emf.ecore.util.Diagnostician;
+
+import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl;
+
+import org.eclipse.osbp.ecview.core.extension.model.datatypes.ExtDatatypesFactory;
+import org.eclipse.osbp.ecview.core.extension.model.datatypes.ExtDatatypesPackage;
+import org.eclipse.osbp.ecview.core.extension.model.datatypes.YTextDatatype;
+
+/**
+ * <!-- begin-user-doc -->
+ * A sample utility for the '<em><b>datatypes</b></em>' package.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ExtDatatypesExample {
+	/**
+	 * <!-- begin-user-doc -->
+	 * Load all the argument file paths or URIs as instances of the model.
+	 * <!-- end-user-doc -->
+	 * @param args the file paths or URIs.
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		// Create a resource set to hold the resources.
+		//
+		ResourceSet resourceSet = new ResourceSetImpl();
+		
+		// Register the appropriate resource factory to handle all file extensions.
+		//
+		resourceSet.getResourceFactoryRegistry().getExtensionToFactoryMap().put
+			(Resource.Factory.Registry.DEFAULT_EXTENSION, 
+			 new XMIResourceFactoryImpl());
+
+		// Register the package to ensure it is available during loading.
+		//
+		resourceSet.getPackageRegistry().put
+			(ExtDatatypesPackage.eNS_URI, 
+			 ExtDatatypesPackage.eINSTANCE);
+        
+		// If there are no arguments, emit an appropriate usage message.
+		//
+		if (args.length == 0) {
+			System.out.println("Enter a list of file paths or URIs that have content like this:");
+			try {
+				Resource resource = resourceSet.createResource(URI.createURI("http:///My.extdatatypes"));
+				YTextDatatype root = ExtDatatypesFactory.eINSTANCE.createYTextDatatype();
+				resource.getContents().add(root);
+				resource.save(System.out, null);
+			}
+			catch (IOException exception) {
+				exception.printStackTrace();
+			}
+		}
+		else {
+			// Iterate over all the arguments.
+			//
+			for (int i = 0; i < args.length; ++i) {
+				// Construct the URI for the instance file.
+				// The argument is treated as a file path only if it denotes an existing file.
+				// Otherwise, it's directly treated as a URL.
+				//
+				File file = new File(args[i]);
+				URI uri = file.isFile() ? URI.createFileURI(file.getAbsolutePath()): URI.createURI(args[i]);
+
+				try {
+					// Demand load resource for this file.
+					//
+					Resource resource = resourceSet.getResource(uri, true);
+					System.out.println("Loaded " + uri);
+
+					// Validate the contents of the loaded resource.
+					//
+					for (EObject eObject : resource.getContents()) {
+						Diagnostic diagnostic = Diagnostician.INSTANCE.validate(eObject);
+						if (diagnostic.getSeverity() != Diagnostic.OK) {
+							printDiagnostic(diagnostic, "");
+						}
+					}
+				}
+				catch (RuntimeException exception) {
+					System.out.println("Problem loading " + uri);
+					exception.printStackTrace();
+				}
+			}
+		}
+	}
+	
+	/**
+	 * <!-- begin-user-doc -->
+	 * Prints diagnostics with indentation.
+	 * <!-- end-user-doc -->
+	 * @param diagnostic the diagnostic to print.
+	 * @param indent the indentation for printing.
+	 * @generated
+	 */
+	protected static void printDiagnostic(Diagnostic diagnostic, String indent) {
+		System.out.print(indent);
+		System.out.println(diagnostic.getMessage());
+		for (Diagnostic child : diagnostic.getChildren()) {
+			printDiagnostic(child, indent + "  ");
+		}
+	}
+
+} //ExtDatatypesExample
diff --git a/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/datatypes/tests/ExtDatatypesTests.java b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/datatypes/tests/ExtDatatypesTests.java
new file mode 100644
index 0000000..f71ade1
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/datatypes/tests/ExtDatatypesTests.java
@@ -0,0 +1,46 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.extension.model.datatypes.tests;
+
+import junit.framework.Test;
+import junit.framework.TestSuite;
+
+import junit.textui.TestRunner;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test suite for the '<em><b>datatypes</b></em>' package.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ExtDatatypesTests extends TestSuite {
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(suite());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static Test suite() {
+		TestSuite suite = new ExtDatatypesTests("datatypes Tests");
+		return suite;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ExtDatatypesTests(String name) {
+		super(name);
+	}
+
+} //ExtDatatypesTests
diff --git a/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/datatypes/tests/ExtensionAllTests.java b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/datatypes/tests/ExtensionAllTests.java
new file mode 100644
index 0000000..6f954d2
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/datatypes/tests/ExtensionAllTests.java
@@ -0,0 +1,49 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.extension.model.datatypes.tests;
+
+import junit.framework.Test;
+import junit.framework.TestSuite;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.core.extension.model.extension.tests.ExtensionModelTests;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test suite for the '<em><b>Extension</b></em>' model.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ExtensionAllTests extends TestSuite {
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(suite());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static Test suite() {
+		TestSuite suite = new ExtensionAllTests("Extension Tests");
+		suite.addTest(ExtensionModelTests.suite());
+		return suite;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ExtensionAllTests(String name) {
+		super(name);
+	}
+
+} //ExtensionAllTests
diff --git a/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/datatypes/tests/YBrowserDatatypeTest.java b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/datatypes/tests/YBrowserDatatypeTest.java
new file mode 100644
index 0000000..f069358
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/datatypes/tests/YBrowserDatatypeTest.java
@@ -0,0 +1,89 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.extension.model.datatypes.tests;
+
+import junit.framework.TestCase;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.core.extension.model.datatypes.ExtDatatypesFactory;
+import org.eclipse.osbp.ecview.core.extension.model.datatypes.YBrowserDatatype;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YBrowser Datatype</b></em>'.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class YBrowserDatatypeTest extends TestCase {
+
+	/**
+	 * The fixture for this YBrowser Datatype test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YBrowserDatatype fixture = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YBrowserDatatypeTest.class);
+	}
+
+	/**
+	 * Constructs a new YBrowser Datatype test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YBrowserDatatypeTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this YBrowser Datatype test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(YBrowserDatatype fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this YBrowser Datatype test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YBrowserDatatype getFixture() {
+		return fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(ExtDatatypesFactory.eINSTANCE.createYBrowserDatatype());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#tearDown()
+	 * @generated
+	 */
+	@Override
+	protected void tearDown() throws Exception {
+		setFixture(null);
+	}
+
+} //YBrowserDatatypeTest
diff --git a/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/datatypes/tests/YCheckBoxDatatypeTest.java b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/datatypes/tests/YCheckBoxDatatypeTest.java
new file mode 100644
index 0000000..3bb8386
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/datatypes/tests/YCheckBoxDatatypeTest.java
@@ -0,0 +1,89 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.extension.model.datatypes.tests;
+
+import junit.framework.TestCase;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.core.extension.model.datatypes.ExtDatatypesFactory;
+import org.eclipse.osbp.ecview.core.extension.model.datatypes.YCheckBoxDatatype;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YCheck Box Datatype</b></em>'.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class YCheckBoxDatatypeTest extends TestCase {
+
+	/**
+	 * The fixture for this YCheck Box Datatype test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YCheckBoxDatatype fixture = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YCheckBoxDatatypeTest.class);
+	}
+
+	/**
+	 * Constructs a new YCheck Box Datatype test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YCheckBoxDatatypeTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this YCheck Box Datatype test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(YCheckBoxDatatype fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this YCheck Box Datatype test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YCheckBoxDatatype getFixture() {
+		return fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(ExtDatatypesFactory.eINSTANCE.createYCheckBoxDatatype());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#tearDown()
+	 * @generated
+	 */
+	@Override
+	protected void tearDown() throws Exception {
+		setFixture(null);
+	}
+
+} //YCheckBoxDatatypeTest
diff --git a/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/datatypes/tests/YComboBoxDatatypeTest.java b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/datatypes/tests/YComboBoxDatatypeTest.java
new file mode 100644
index 0000000..62569a6
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/datatypes/tests/YComboBoxDatatypeTest.java
@@ -0,0 +1,89 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.extension.model.datatypes.tests;
+
+import junit.framework.TestCase;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.core.extension.model.datatypes.ExtDatatypesFactory;
+import org.eclipse.osbp.ecview.core.extension.model.datatypes.YComboBoxDatatype;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YCombo Box Datatype</b></em>'.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class YComboBoxDatatypeTest extends TestCase {
+
+	/**
+	 * The fixture for this YCombo Box Datatype test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YComboBoxDatatype fixture = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YComboBoxDatatypeTest.class);
+	}
+
+	/**
+	 * Constructs a new YCombo Box Datatype test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YComboBoxDatatypeTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this YCombo Box Datatype test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(YComboBoxDatatype fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this YCombo Box Datatype test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YComboBoxDatatype getFixture() {
+		return fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(ExtDatatypesFactory.eINSTANCE.createYComboBoxDatatype());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#tearDown()
+	 * @generated
+	 */
+	@Override
+	protected void tearDown() throws Exception {
+		setFixture(null);
+	}
+
+} //YComboBoxDatatypeTest
diff --git a/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/datatypes/tests/YDateTimeDatatypeTest.java b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/datatypes/tests/YDateTimeDatatypeTest.java
new file mode 100644
index 0000000..78603d1
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/datatypes/tests/YDateTimeDatatypeTest.java
@@ -0,0 +1,89 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.extension.model.datatypes.tests;
+
+import junit.framework.TestCase;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.core.extension.model.datatypes.ExtDatatypesFactory;
+import org.eclipse.osbp.ecview.core.extension.model.datatypes.YDateTimeDatatype;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YDate Time Datatype</b></em>'.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class YDateTimeDatatypeTest extends TestCase {
+
+	/**
+	 * The fixture for this YDate Time Datatype test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YDateTimeDatatype fixture = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YDateTimeDatatypeTest.class);
+	}
+
+	/**
+	 * Constructs a new YDate Time Datatype test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YDateTimeDatatypeTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this YDate Time Datatype test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(YDateTimeDatatype fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this YDate Time Datatype test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YDateTimeDatatype getFixture() {
+		return fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(ExtDatatypesFactory.eINSTANCE.createYDateTimeDatatype());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#tearDown()
+	 * @generated
+	 */
+	@Override
+	protected void tearDown() throws Exception {
+		setFixture(null);
+	}
+
+} //YDateTimeDatatypeTest
diff --git a/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/datatypes/tests/YDecimalDatatypeTest.java b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/datatypes/tests/YDecimalDatatypeTest.java
new file mode 100644
index 0000000..56c38f2
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/datatypes/tests/YDecimalDatatypeTest.java
@@ -0,0 +1,70 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.extension.model.datatypes.tests;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.core.extension.model.datatypes.ExtDatatypesFactory;
+import org.eclipse.osbp.ecview.core.extension.model.datatypes.YDecimalDatatype;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YDecimal Datatype</b></em>'.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class YDecimalDatatypeTest extends YNumericDatatypeTest {
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YDecimalDatatypeTest.class);
+	}
+
+	/**
+	 * Constructs a new YDecimal Datatype test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YDecimalDatatypeTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Returns the fixture for this YDecimal Datatype test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected YDecimalDatatype getFixture() {
+		return (YDecimalDatatype)fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(ExtDatatypesFactory.eINSTANCE.createYDecimalDatatype());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#tearDown()
+	 * @generated
+	 */
+	@Override
+	protected void tearDown() throws Exception {
+		setFixture(null);
+	}
+
+} //YDecimalDatatypeTest
diff --git a/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/datatypes/tests/YListDataTypeTest.java b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/datatypes/tests/YListDataTypeTest.java
new file mode 100644
index 0000000..e8ab987
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/datatypes/tests/YListDataTypeTest.java
@@ -0,0 +1,89 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.extension.model.datatypes.tests;
+
+import junit.framework.TestCase;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.core.extension.model.datatypes.ExtDatatypesFactory;
+import org.eclipse.osbp.ecview.core.extension.model.datatypes.YListDataType;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YList Data Type</b></em>'.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class YListDataTypeTest extends TestCase {
+
+	/**
+	 * The fixture for this YList Data Type test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YListDataType fixture = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YListDataTypeTest.class);
+	}
+
+	/**
+	 * Constructs a new YList Data Type test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YListDataTypeTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this YList Data Type test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(YListDataType fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this YList Data Type test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YListDataType getFixture() {
+		return fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(ExtDatatypesFactory.eINSTANCE.createYListDataType());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#tearDown()
+	 * @generated
+	 */
+	@Override
+	protected void tearDown() throws Exception {
+		setFixture(null);
+	}
+
+} //YListDataTypeTest
diff --git a/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/datatypes/tests/YMasterDetailDatatypeTest.java b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/datatypes/tests/YMasterDetailDatatypeTest.java
new file mode 100644
index 0000000..3a8ad71
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/datatypes/tests/YMasterDetailDatatypeTest.java
@@ -0,0 +1,89 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.extension.model.datatypes.tests;
+
+import junit.framework.TestCase;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.core.extension.model.datatypes.ExtDatatypesFactory;
+import org.eclipse.osbp.ecview.core.extension.model.datatypes.YMasterDetailDatatype;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YMaster Detail Datatype</b></em>'.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class YMasterDetailDatatypeTest extends TestCase {
+
+	/**
+	 * The fixture for this YMaster Detail Datatype test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YMasterDetailDatatype fixture = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YMasterDetailDatatypeTest.class);
+	}
+
+	/**
+	 * Constructs a new YMaster Detail Datatype test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YMasterDetailDatatypeTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this YMaster Detail Datatype test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(YMasterDetailDatatype fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this YMaster Detail Datatype test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YMasterDetailDatatype getFixture() {
+		return fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(ExtDatatypesFactory.eINSTANCE.createYMasterDetailDatatype());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#tearDown()
+	 * @generated
+	 */
+	@Override
+	protected void tearDown() throws Exception {
+		setFixture(null);
+	}
+
+} //YMasterDetailDatatypeTest
diff --git a/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/datatypes/tests/YNumericDatatypeTest.java b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/datatypes/tests/YNumericDatatypeTest.java
new file mode 100644
index 0000000..dca3a79
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/datatypes/tests/YNumericDatatypeTest.java
@@ -0,0 +1,89 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.extension.model.datatypes.tests;
+
+import junit.framework.TestCase;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.core.extension.model.datatypes.ExtDatatypesFactory;
+import org.eclipse.osbp.ecview.core.extension.model.datatypes.YNumericDatatype;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YNumeric Datatype</b></em>'.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class YNumericDatatypeTest extends TestCase {
+
+	/**
+	 * The fixture for this YNumeric Datatype test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YNumericDatatype fixture = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YNumericDatatypeTest.class);
+	}
+
+	/**
+	 * Constructs a new YNumeric Datatype test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YNumericDatatypeTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this YNumeric Datatype test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(YNumericDatatype fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this YNumeric Datatype test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YNumericDatatype getFixture() {
+		return fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(ExtDatatypesFactory.eINSTANCE.createYNumericDatatype());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#tearDown()
+	 * @generated
+	 */
+	@Override
+	protected void tearDown() throws Exception {
+		setFixture(null);
+	}
+
+} //YNumericDatatypeTest
diff --git a/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/datatypes/tests/YOptionsGroupDataTypeTest.java b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/datatypes/tests/YOptionsGroupDataTypeTest.java
new file mode 100644
index 0000000..2849c62
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/datatypes/tests/YOptionsGroupDataTypeTest.java
@@ -0,0 +1,89 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.extension.model.datatypes.tests;
+
+import junit.framework.TestCase;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.core.extension.model.datatypes.ExtDatatypesFactory;
+import org.eclipse.osbp.ecview.core.extension.model.datatypes.YOptionsGroupDataType;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YOptions Group Data Type</b></em>'.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class YOptionsGroupDataTypeTest extends TestCase {
+
+	/**
+	 * The fixture for this YOptions Group Data Type test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YOptionsGroupDataType fixture = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YOptionsGroupDataTypeTest.class);
+	}
+
+	/**
+	 * Constructs a new YOptions Group Data Type test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YOptionsGroupDataTypeTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this YOptions Group Data Type test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(YOptionsGroupDataType fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this YOptions Group Data Type test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YOptionsGroupDataType getFixture() {
+		return fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(ExtDatatypesFactory.eINSTANCE.createYOptionsGroupDataType());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#tearDown()
+	 * @generated
+	 */
+	@Override
+	protected void tearDown() throws Exception {
+		setFixture(null);
+	}
+
+} //YOptionsGroupDataTypeTest
diff --git a/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/datatypes/tests/YProgressBarDatatypeTest.java b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/datatypes/tests/YProgressBarDatatypeTest.java
new file mode 100644
index 0000000..e64bcac
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/datatypes/tests/YProgressBarDatatypeTest.java
@@ -0,0 +1,89 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.extension.model.datatypes.tests;
+
+import junit.framework.TestCase;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.core.extension.model.datatypes.ExtDatatypesFactory;
+import org.eclipse.osbp.ecview.core.extension.model.datatypes.YProgressBarDatatype;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YProgress Bar Datatype</b></em>'.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class YProgressBarDatatypeTest extends TestCase {
+
+	/**
+	 * The fixture for this YProgress Bar Datatype test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YProgressBarDatatype fixture = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YProgressBarDatatypeTest.class);
+	}
+
+	/**
+	 * Constructs a new YProgress Bar Datatype test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YProgressBarDatatypeTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this YProgress Bar Datatype test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(YProgressBarDatatype fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this YProgress Bar Datatype test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YProgressBarDatatype getFixture() {
+		return fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(ExtDatatypesFactory.eINSTANCE.createYProgressBarDatatype());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#tearDown()
+	 * @generated
+	 */
+	@Override
+	protected void tearDown() throws Exception {
+		setFixture(null);
+	}
+
+} //YProgressBarDatatypeTest
diff --git a/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/datatypes/tests/YTabSheetDatatypeTest.java b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/datatypes/tests/YTabSheetDatatypeTest.java
new file mode 100644
index 0000000..dc18132
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/datatypes/tests/YTabSheetDatatypeTest.java
@@ -0,0 +1,89 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.extension.model.datatypes.tests;
+
+import junit.framework.TestCase;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.core.extension.model.datatypes.ExtDatatypesFactory;
+import org.eclipse.osbp.ecview.core.extension.model.datatypes.YTabSheetDatatype;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YTab Sheet Datatype</b></em>'.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class YTabSheetDatatypeTest extends TestCase {
+
+	/**
+	 * The fixture for this YTab Sheet Datatype test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YTabSheetDatatype fixture = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YTabSheetDatatypeTest.class);
+	}
+
+	/**
+	 * Constructs a new YTab Sheet Datatype test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YTabSheetDatatypeTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this YTab Sheet Datatype test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(YTabSheetDatatype fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this YTab Sheet Datatype test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YTabSheetDatatype getFixture() {
+		return fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(ExtDatatypesFactory.eINSTANCE.createYTabSheetDatatype());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#tearDown()
+	 * @generated
+	 */
+	@Override
+	protected void tearDown() throws Exception {
+		setFixture(null);
+	}
+
+} //YTabSheetDatatypeTest
diff --git a/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/datatypes/tests/YTableDatatypeTest.java b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/datatypes/tests/YTableDatatypeTest.java
new file mode 100644
index 0000000..d60b22b
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/datatypes/tests/YTableDatatypeTest.java
@@ -0,0 +1,89 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.extension.model.datatypes.tests;
+
+import junit.framework.TestCase;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.core.extension.model.datatypes.ExtDatatypesFactory;
+import org.eclipse.osbp.ecview.core.extension.model.datatypes.YTableDatatype;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YTable Datatype</b></em>'.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class YTableDatatypeTest extends TestCase {
+
+	/**
+	 * The fixture for this YTable Datatype test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YTableDatatype fixture = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YTableDatatypeTest.class);
+	}
+
+	/**
+	 * Constructs a new YTable Datatype test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YTableDatatypeTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this YTable Datatype test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(YTableDatatype fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this YTable Datatype test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YTableDatatype getFixture() {
+		return fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(ExtDatatypesFactory.eINSTANCE.createYTableDatatype());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#tearDown()
+	 * @generated
+	 */
+	@Override
+	protected void tearDown() throws Exception {
+		setFixture(null);
+	}
+
+} //YTableDatatypeTest
diff --git a/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/datatypes/tests/YTextAreaDatatypeTest.java b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/datatypes/tests/YTextAreaDatatypeTest.java
new file mode 100644
index 0000000..4c96833
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/datatypes/tests/YTextAreaDatatypeTest.java
@@ -0,0 +1,89 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.extension.model.datatypes.tests;
+
+import junit.framework.TestCase;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.core.extension.model.datatypes.ExtDatatypesFactory;
+import org.eclipse.osbp.ecview.core.extension.model.datatypes.YTextAreaDatatype;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YText Area Datatype</b></em>'.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class YTextAreaDatatypeTest extends TestCase {
+
+	/**
+	 * The fixture for this YText Area Datatype test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YTextAreaDatatype fixture = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YTextAreaDatatypeTest.class);
+	}
+
+	/**
+	 * Constructs a new YText Area Datatype test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YTextAreaDatatypeTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this YText Area Datatype test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(YTextAreaDatatype fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this YText Area Datatype test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YTextAreaDatatype getFixture() {
+		return fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(ExtDatatypesFactory.eINSTANCE.createYTextAreaDatatype());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#tearDown()
+	 * @generated
+	 */
+	@Override
+	protected void tearDown() throws Exception {
+		setFixture(null);
+	}
+
+} //YTextAreaDatatypeTest
diff --git a/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/datatypes/tests/YTextDatatypeTest.java b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/datatypes/tests/YTextDatatypeTest.java
new file mode 100644
index 0000000..6d1aa75
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/datatypes/tests/YTextDatatypeTest.java
@@ -0,0 +1,89 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.extension.model.datatypes.tests;
+
+import junit.framework.TestCase;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.core.extension.model.datatypes.ExtDatatypesFactory;
+import org.eclipse.osbp.ecview.core.extension.model.datatypes.YTextDatatype;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YText Datatype</b></em>'.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class YTextDatatypeTest extends TestCase {
+
+	/**
+	 * The fixture for this YText Datatype test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YTextDatatype fixture = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YTextDatatypeTest.class);
+	}
+
+	/**
+	 * Constructs a new YText Datatype test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YTextDatatypeTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this YText Datatype test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(YTextDatatype fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this YText Datatype test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YTextDatatype getFixture() {
+		return fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(ExtDatatypesFactory.eINSTANCE.createYTextDatatype());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#tearDown()
+	 * @generated
+	 */
+	@Override
+	protected void tearDown() throws Exception {
+		setFixture(null);
+	}
+
+} //YTextDatatypeTest
diff --git a/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/datatypes/tests/YTreeDatatypeTest.java b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/datatypes/tests/YTreeDatatypeTest.java
new file mode 100644
index 0000000..35845ce
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/datatypes/tests/YTreeDatatypeTest.java
@@ -0,0 +1,89 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.extension.model.datatypes.tests;
+
+import junit.framework.TestCase;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.core.extension.model.datatypes.ExtDatatypesFactory;
+import org.eclipse.osbp.ecview.core.extension.model.datatypes.YTreeDatatype;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YTree Datatype</b></em>'.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class YTreeDatatypeTest extends TestCase {
+
+	/**
+	 * The fixture for this YTree Datatype test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YTreeDatatype fixture = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YTreeDatatypeTest.class);
+	}
+
+	/**
+	 * Constructs a new YTree Datatype test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YTreeDatatypeTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this YTree Datatype test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(YTreeDatatype fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this YTree Datatype test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YTreeDatatype getFixture() {
+		return fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(ExtDatatypesFactory.eINSTANCE.createYTreeDatatype());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#tearDown()
+	 * @generated
+	 */
+	@Override
+	protected void tearDown() throws Exception {
+		setFixture(null);
+	}
+
+} //YTreeDatatypeTest
diff --git a/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/ExtensionModelExample.java b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/ExtensionModelExample.java
new file mode 100644
index 0000000..bc2b21a
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/ExtensionModelExample.java
@@ -0,0 +1,121 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.extension.model.extension.tests;
+
+import java.io.File;
+import java.io.IOException;
+
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.URI;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.ResourceSet;
+
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+
+import org.eclipse.emf.ecore.util.Diagnostician;
+
+import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl;
+
+import org.eclipse.osbp.ecview.core.extension.model.extension.ExtensionModelFactory;
+import org.eclipse.osbp.ecview.core.extension.model.extension.ExtensionModelPackage;
+import org.eclipse.osbp.ecview.core.extension.model.extension.YGridLayout;
+
+/**
+ * <!-- begin-user-doc -->
+ * A sample utility for the '<em><b>extension</b></em>' package.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ExtensionModelExample {
+	/**
+	 * <!-- begin-user-doc -->
+	 * Load all the argument file paths or URIs as instances of the model.
+	 * <!-- end-user-doc -->
+	 * @param args the file paths or URIs.
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		// Create a resource set to hold the resources.
+		//
+		ResourceSet resourceSet = new ResourceSetImpl();
+		
+		// Register the appropriate resource factory to handle all file extensions.
+		//
+		resourceSet.getResourceFactoryRegistry().getExtensionToFactoryMap().put
+			(Resource.Factory.Registry.DEFAULT_EXTENSION, 
+			 new XMIResourceFactoryImpl());
+
+		// Register the package to ensure it is available during loading.
+		//
+		resourceSet.getPackageRegistry().put
+			(ExtensionModelPackage.eNS_URI, 
+			 ExtensionModelPackage.eINSTANCE);
+        
+		// If there are no arguments, emit an appropriate usage message.
+		//
+		if (args.length == 0) {
+			System.out.println("Enter a list of file paths or URIs that have content like this:");
+			try {
+				Resource resource = resourceSet.createResource(URI.createURI("http:///My.extensionmodel"));
+				YGridLayout root = ExtensionModelFactory.eINSTANCE.createYGridLayout();
+				resource.getContents().add(root);
+				resource.save(System.out, null);
+			}
+			catch (IOException exception) {
+				exception.printStackTrace();
+			}
+		}
+		else {
+			// Iterate over all the arguments.
+			//
+			for (int i = 0; i < args.length; ++i) {
+				// Construct the URI for the instance file.
+				// The argument is treated as a file path only if it denotes an existing file.
+				// Otherwise, it's directly treated as a URL.
+				//
+				File file = new File(args[i]);
+				URI uri = file.isFile() ? URI.createFileURI(file.getAbsolutePath()): URI.createURI(args[i]);
+
+				try {
+					// Demand load resource for this file.
+					//
+					Resource resource = resourceSet.getResource(uri, true);
+					System.out.println("Loaded " + uri);
+
+					// Validate the contents of the loaded resource.
+					//
+					for (EObject eObject : resource.getContents()) {
+						Diagnostic diagnostic = Diagnostician.INSTANCE.validate(eObject);
+						if (diagnostic.getSeverity() != Diagnostic.OK) {
+							printDiagnostic(diagnostic, "");
+						}
+					}
+				}
+				catch (RuntimeException exception) {
+					System.out.println("Problem loading " + uri);
+					exception.printStackTrace();
+				}
+			}
+		}
+	}
+	
+	/**
+	 * <!-- begin-user-doc -->
+	 * Prints diagnostics with indentation.
+	 * <!-- end-user-doc -->
+	 * @param diagnostic the diagnostic to print.
+	 * @param indent the indentation for printing.
+	 * @generated
+	 */
+	protected static void printDiagnostic(Diagnostic diagnostic, String indent) {
+		System.out.print(indent);
+		System.out.println(diagnostic.getMessage());
+		for (Diagnostic child : diagnostic.getChildren()) {
+			printDiagnostic(child, indent + "  ");
+		}
+	}
+
+} //ExtensionModelExample
diff --git a/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/ExtensionModelTests.java b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/ExtensionModelTests.java
new file mode 100644
index 0000000..1b68a0c
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/ExtensionModelTests.java
@@ -0,0 +1,91 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.extension.model.extension.tests;
+
+import junit.framework.Test;
+import junit.framework.TestSuite;
+
+import junit.textui.TestRunner;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test suite for the '<em><b>extension</b></em>' package.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ExtensionModelTests extends TestSuite {
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(suite());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static Test suite() {
+		TestSuite suite = new ExtensionModelTests("extension Tests");
+		suite.addTestSuite(YGridLayoutTest.class);
+		suite.addTestSuite(YGridLayoutCellStyleTest.class);
+		suite.addTestSuite(YHorizontalLayoutTest.class);
+		suite.addTestSuite(YVerticalLayoutTest.class);
+		suite.addTestSuite(YTableTest.class);
+		suite.addTestSuite(YTreeTest.class);
+		suite.addTestSuite(YOptionsGroupTest.class);
+		suite.addTestSuite(YListTest.class);
+		suite.addTestSuite(YLabelTest.class);
+		suite.addTestSuite(YImageTest.class);
+		suite.addTestSuite(YTextFieldTest.class);
+		suite.addTestSuite(YBeanReferenceFieldTest.class);
+		suite.addTestSuite(YTextAreaTest.class);
+		suite.addTestSuite(YCheckBoxTest.class);
+		suite.addTestSuite(YBrowserTest.class);
+		suite.addTestSuite(YDateTimeTest.class);
+		suite.addTestSuite(YDecimalFieldTest.class);
+		suite.addTestSuite(YNumericFieldTest.class);
+		suite.addTestSuite(YComboBoxTest.class);
+		suite.addTestSuite(YButtonTest.class);
+		suite.addTestSuite(YSliderTest.class);
+		suite.addTestSuite(YToggleButtonTest.class);
+		suite.addTestSuite(YProgressBarTest.class);
+		suite.addTestSuite(YTabSheetTest.class);
+		suite.addTestSuite(YTabTest.class);
+		suite.addTestSuite(YMasterDetailTest.class);
+		suite.addTestSuite(YFormLayoutTest.class);
+		suite.addTestSuite(YTextSearchFieldTest.class);
+		suite.addTestSuite(YBooleanSearchFieldTest.class);
+		suite.addTestSuite(YNumericSearchFieldTest.class);
+		suite.addTestSuite(YReferenceSearchFieldTest.class);
+		suite.addTestSuite(YPanelTest.class);
+		suite.addTestSuite(YSplitPanelTest.class);
+		suite.addTestSuite(YSearchPanelTest.class);
+		suite.addTestSuite(YEnumOptionsGroupTest.class);
+		suite.addTestSuite(YEnumListTest.class);
+		suite.addTestSuite(YEnumComboBoxTest.class);
+		suite.addTestSuite(YAddToTableCommandTest.class);
+		suite.addTestSuite(YRemoveFromTableCommandTest.class);
+		suite.addTestSuite(YSetNewBeanInstanceCommandTest.class);
+		suite.addTestSuite(YCssLayoutTest.class);
+		suite.addTestSuite(YAbsoluteLayoutTest.class);
+		suite.addTestSuite(YSuggestTextFieldTest.class);
+		suite.addTestSuite(YPasswordFieldTest.class);
+		suite.addTestSuite(YFilteringComponentTest.class);
+		return suite;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ExtensionModelTests(String name) {
+		super(name);
+	}
+
+} //ExtensionModelTests
diff --git a/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YAbsoluteLayoutCellStyleTest.java b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YAbsoluteLayoutCellStyleTest.java
new file mode 100644
index 0000000..be81ef0
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YAbsoluteLayoutCellStyleTest.java
@@ -0,0 +1,89 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.extension.model.extension.tests;
+
+import junit.framework.TestCase;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.core.extension.model.extension.ExtensionModelFactory;
+import org.eclipse.osbp.ecview.core.extension.model.extension.YAbsoluteLayoutCellStyle;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YAbsolute Layout Cell Style</b></em>'.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class YAbsoluteLayoutCellStyleTest extends TestCase {
+
+	/**
+	 * The fixture for this YAbsolute Layout Cell Style test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YAbsoluteLayoutCellStyle fixture = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YAbsoluteLayoutCellStyleTest.class);
+	}
+
+	/**
+	 * Constructs a new YAbsolute Layout Cell Style test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YAbsoluteLayoutCellStyleTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this YAbsolute Layout Cell Style test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(YAbsoluteLayoutCellStyle fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this YAbsolute Layout Cell Style test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YAbsoluteLayoutCellStyle getFixture() {
+		return fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(ExtensionModelFactory.eINSTANCE.createYAbsoluteLayoutCellStyle());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#tearDown()
+	 * @generated
+	 */
+	@Override
+	protected void tearDown() throws Exception {
+		setFixture(null);
+	}
+
+} //YAbsoluteLayoutCellStyleTest
diff --git a/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YAbsoluteLayoutTest.java b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YAbsoluteLayoutTest.java
new file mode 100644
index 0000000..62764e5
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YAbsoluteLayoutTest.java
@@ -0,0 +1,89 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.extension.model.extension.tests;
+
+import junit.framework.TestCase;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.core.extension.model.extension.ExtensionModelFactory;
+import org.eclipse.osbp.ecview.core.extension.model.extension.YAbsoluteLayout;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YAbsolute Layout</b></em>'.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class YAbsoluteLayoutTest extends TestCase {
+
+	/**
+	 * The fixture for this YAbsolute Layout test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YAbsoluteLayout fixture = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YAbsoluteLayoutTest.class);
+	}
+
+	/**
+	 * Constructs a new YAbsolute Layout test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YAbsoluteLayoutTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this YAbsolute Layout test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(YAbsoluteLayout fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this YAbsolute Layout test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YAbsoluteLayout getFixture() {
+		return fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(ExtensionModelFactory.eINSTANCE.createYAbsoluteLayout());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#tearDown()
+	 * @generated
+	 */
+	@Override
+	protected void tearDown() throws Exception {
+		setFixture(null);
+	}
+
+} //YAbsoluteLayoutTest
diff --git a/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YAddToTableCommandTest.java b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YAddToTableCommandTest.java
new file mode 100644
index 0000000..7c7eeba
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YAddToTableCommandTest.java
@@ -0,0 +1,108 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.extension.model.extension.tests;
+
+import junit.framework.TestCase;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.core.extension.model.extension.ExtensionModelFactory;
+import org.eclipse.osbp.ecview.core.extension.model.extension.YAddToTableCommand;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YAdd To Table Command</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following operations are tested:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.ecview.core.common.model.core.YCommand#getView() <em>Get View</em>}</li>
+ * </ul>
+ * </p>
+ * @generated
+ */
+public class YAddToTableCommandTest extends TestCase {
+
+	/**
+	 * The fixture for this YAdd To Table Command test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YAddToTableCommand fixture = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YAddToTableCommandTest.class);
+	}
+
+	/**
+	 * Constructs a new YAdd To Table Command test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YAddToTableCommandTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this YAdd To Table Command test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(YAddToTableCommand fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this YAdd To Table Command test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YAddToTableCommand getFixture() {
+		return fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(ExtensionModelFactory.eINSTANCE.createYAddToTableCommand());
+	}
+
+	/**
+	 * <!-- 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.YCommand#getView() <em>Get View</em>}' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.ecview.core.common.model.core.YCommand#getView()
+	 * @generated
+	 */
+	public void testGetView() {
+		// TODO: implement this operation test method
+		// Ensure that you remove @generated or mark it @generated NOT
+		fail();
+	}
+
+} //YAddToTableCommandTest
diff --git a/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YBeanReferenceFieldTest.java b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YBeanReferenceFieldTest.java
new file mode 100644
index 0000000..d822314
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YBeanReferenceFieldTest.java
@@ -0,0 +1,89 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.extension.model.extension.tests;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.core.extension.model.extension.ExtensionModelFactory;
+import org.eclipse.osbp.ecview.core.extension.model.extension.YBeanReferenceField;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YBean Reference Field</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following operations are tested:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.ecview.core.common.model.core.YValueBindable#createValueEndpoint() <em>Create Value Endpoint</em>}</li>
+ * </ul>
+ * </p>
+ * @generated
+ */
+public class YBeanReferenceFieldTest extends YInputTest {
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YBeanReferenceFieldTest.class);
+	}
+
+	/**
+	 * Constructs a new YBean Reference Field test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YBeanReferenceFieldTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Returns the fixture for this YBean Reference Field test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected YBeanReferenceField getFixture() {
+		return (YBeanReferenceField)fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(ExtensionModelFactory.eINSTANCE.createYBeanReferenceField());
+	}
+
+	/**
+	 * <!-- 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.YValueBindable#createValueEndpoint() <em>Create Value Endpoint</em>}' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.ecview.core.common.model.core.YValueBindable#createValueEndpoint()
+	 * @generated
+	 */
+	public void testCreateValueEndpoint() {
+		// TODO: implement this operation test method
+		// Ensure that you remove @generated or mark it @generated NOT
+		fail();
+	}
+
+} //YBeanReferenceFieldTest
diff --git a/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YBeanServiceConsumerTest.java b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YBeanServiceConsumerTest.java
new file mode 100644
index 0000000..4715421
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YBeanServiceConsumerTest.java
@@ -0,0 +1,55 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.extension.model.extension.tests;
+
+import junit.framework.TestCase;
+
+import org.eclipse.osbp.ecview.core.extension.model.extension.YBeanServiceConsumer;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YBean Service Consumer</b></em>'.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public abstract class YBeanServiceConsumerTest extends TestCase {
+
+	/**
+	 * The fixture for this YBean Service Consumer test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YBeanServiceConsumer fixture = null;
+
+	/**
+	 * Constructs a new YBean Service Consumer test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YBeanServiceConsumerTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this YBean Service Consumer test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(YBeanServiceConsumer fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this YBean Service Consumer test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YBeanServiceConsumer getFixture() {
+		return fixture;
+	}
+
+} //YBeanServiceConsumerTest
diff --git a/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YBooleanSearchFieldTest.java b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YBooleanSearchFieldTest.java
new file mode 100644
index 0000000..abb77e0
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YBooleanSearchFieldTest.java
@@ -0,0 +1,89 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.extension.model.extension.tests;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.core.extension.model.extension.ExtensionModelFactory;
+import org.eclipse.osbp.ecview.core.extension.model.extension.YBooleanSearchField;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YBoolean Search Field</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following operations are tested:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.ecview.core.common.model.core.YValueBindable#createValueEndpoint() <em>Create Value Endpoint</em>}</li>
+ * </ul>
+ * </p>
+ * @generated
+ */
+public class YBooleanSearchFieldTest extends YInputTest {
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YBooleanSearchFieldTest.class);
+	}
+
+	/**
+	 * Constructs a new YBoolean Search Field test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YBooleanSearchFieldTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Returns the fixture for this YBoolean Search Field test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected YBooleanSearchField getFixture() {
+		return (YBooleanSearchField)fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(ExtensionModelFactory.eINSTANCE.createYBooleanSearchField());
+	}
+
+	/**
+	 * <!-- 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.YValueBindable#createValueEndpoint() <em>Create Value Endpoint</em>}' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.ecview.core.common.model.core.YValueBindable#createValueEndpoint()
+	 * @generated
+	 */
+	public void testCreateValueEndpoint() {
+		// TODO: implement this operation test method
+		// Ensure that you remove @generated or mark it @generated NOT
+		fail();
+	}
+
+} //YBooleanSearchFieldTest
diff --git a/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YBrowserStreamInputTest.java b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YBrowserStreamInputTest.java
new file mode 100644
index 0000000..7865991
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YBrowserStreamInputTest.java
@@ -0,0 +1,89 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.extension.model.extension.tests;
+
+import junit.framework.TestCase;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.core.extension.model.extension.ExtensionModelFactory;
+import org.eclipse.osbp.ecview.core.extension.model.extension.YBrowserStreamInput;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YBrowser Stream Input</b></em>'.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class YBrowserStreamInputTest extends TestCase {
+
+	/**
+	 * The fixture for this YBrowser Stream Input test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YBrowserStreamInput fixture = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YBrowserStreamInputTest.class);
+	}
+
+	/**
+	 * Constructs a new YBrowser Stream Input test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YBrowserStreamInputTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this YBrowser Stream Input test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(YBrowserStreamInput fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this YBrowser Stream Input test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YBrowserStreamInput getFixture() {
+		return fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(ExtensionModelFactory.eINSTANCE.createYBrowserStreamInput());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#tearDown()
+	 * @generated
+	 */
+	@Override
+	protected void tearDown() throws Exception {
+		setFixture(null);
+	}
+
+} //YBrowserStreamInputTest
diff --git a/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YBrowserTest.java b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YBrowserTest.java
new file mode 100644
index 0000000..de1890c
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YBrowserTest.java
@@ -0,0 +1,89 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.extension.model.extension.tests;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.core.extension.model.extension.ExtensionModelFactory;
+import org.eclipse.osbp.ecview.core.extension.model.extension.YBrowser;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YBrowser</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following operations are tested:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.ecview.core.common.model.core.YValueBindable#createValueEndpoint() <em>Create Value Endpoint</em>}</li>
+ * </ul>
+ * </p>
+ * @generated
+ */
+public class YBrowserTest extends YInputTest {
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YBrowserTest.class);
+	}
+
+	/**
+	 * Constructs a new YBrowser test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YBrowserTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Returns the fixture for this YBrowser test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected YBrowser getFixture() {
+		return (YBrowser)fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(ExtensionModelFactory.eINSTANCE.createYBrowser());
+	}
+
+	/**
+	 * <!-- 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.YValueBindable#createValueEndpoint() <em>Create Value Endpoint</em>}' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.ecview.core.common.model.core.YValueBindable#createValueEndpoint()
+	 * @generated
+	 */
+	public void testCreateValueEndpoint() {
+		// TODO: implement this operation test method
+		// Ensure that you remove @generated or mark it @generated NOT
+		fail();
+	}
+
+} //YBrowserTest
diff --git a/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YButtonTest.java b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YButtonTest.java
new file mode 100644
index 0000000..aa40166
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YButtonTest.java
@@ -0,0 +1,168 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.extension.model.extension.tests;
+
+import junit.framework.TestCase;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.core.extension.model.extension.ExtensionModelFactory;
+import org.eclipse.osbp.ecview.core.extension.model.extension.YButton;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YButton</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are tested:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.ecview.core.common.model.core.YEditable#isEditable() <em>Editable</em>}</li>
+ * </ul>
+ * </p>
+ * <p>
+ * The following operations are tested:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.ecview.core.extension.model.extension.YButton#addClickListener(org.eclipse.osbp.ecview.core.extension.model.extension.listener.YButtonClickListener) <em>Add Click Listener</em>}</li>
+ *   <li>{@link org.eclipse.osbp.ecview.core.extension.model.extension.YButton#removeClickListener(org.eclipse.osbp.ecview.core.extension.model.extension.listener.YButtonClickListener) <em>Remove Click Listener</em>}</li>
+ *   <li>{@link org.eclipse.osbp.ecview.core.extension.model.extension.YButton#createClickEndpoint() <em>Create Click Endpoint</em>}</li>
+ * </ul>
+ * </p>
+ * @generated
+ */
+public class YButtonTest extends TestCase {
+
+	/**
+	 * The fixture for this YButton test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YButton fixture = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YButtonTest.class);
+	}
+
+	/**
+	 * Constructs a new YButton test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YButtonTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this YButton test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(YButton fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this YButton test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YButton getFixture() {
+		return fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(ExtensionModelFactory.eINSTANCE.createYButton());
+	}
+
+	/**
+	 * <!-- 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.YEditable#isEditable() <em>Editable</em>}' feature getter.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.ecview.core.common.model.core.YEditable#isEditable()
+	 * @generated
+	 */
+	public void testIsEditable() {
+		// TODO: implement this feature getter test method
+		// Ensure that you remove @generated or mark it @generated NOT
+		fail();
+	}
+
+	/**
+	 * Tests the '{@link org.eclipse.osbp.ecview.core.common.model.core.YEditable#setEditable(boolean) <em>Editable</em>}' feature setter.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.ecview.core.common.model.core.YEditable#setEditable(boolean)
+	 * @generated
+	 */
+	public void testSetEditable() {
+		// TODO: implement this feature setter test method
+		// Ensure that you remove @generated or mark it @generated NOT
+		fail();
+	}
+
+	/**
+	 * Tests the '{@link org.eclipse.osbp.ecview.core.extension.model.extension.YButton#addClickListener(org.eclipse.osbp.ecview.core.extension.model.extension.listener.YButtonClickListener) <em>Add Click Listener</em>}' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.ecview.core.extension.model.extension.YButton#addClickListener(org.eclipse.osbp.ecview.core.extension.model.extension.listener.YButtonClickListener)
+	 * @generated
+	 */
+	public void testAddClickListener__YButtonClickListener() {
+		// 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.extension.model.extension.YButton#removeClickListener(org.eclipse.osbp.ecview.core.extension.model.extension.listener.YButtonClickListener) <em>Remove Click Listener</em>}' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.ecview.core.extension.model.extension.YButton#removeClickListener(org.eclipse.osbp.ecview.core.extension.model.extension.listener.YButtonClickListener)
+	 * @generated
+	 */
+	public void testRemoveClickListener__YButtonClickListener() {
+		// 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.extension.model.extension.YButton#createClickEndpoint() <em>Create Click Endpoint</em>}' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.ecview.core.extension.model.extension.YButton#createClickEndpoint()
+	 * @generated
+	 */
+	public void testCreateClickEndpoint() {
+		// TODO: implement this operation test method
+		// Ensure that you remove @generated or mark it @generated NOT
+		fail();
+	}
+
+} //YButtonTest
diff --git a/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YCheckBoxTest.java b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YCheckBoxTest.java
new file mode 100644
index 0000000..acaa213
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YCheckBoxTest.java
@@ -0,0 +1,89 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.extension.model.extension.tests;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.core.extension.model.extension.ExtensionModelFactory;
+import org.eclipse.osbp.ecview.core.extension.model.extension.YCheckBox;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YCheck Box</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following operations are tested:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.ecview.core.common.model.core.YValueBindable#createValueEndpoint() <em>Create Value Endpoint</em>}</li>
+ * </ul>
+ * </p>
+ * @generated
+ */
+public class YCheckBoxTest extends YInputTest {
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YCheckBoxTest.class);
+	}
+
+	/**
+	 * Constructs a new YCheck Box test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YCheckBoxTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Returns the fixture for this YCheck Box test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected YCheckBox getFixture() {
+		return (YCheckBox)fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(ExtensionModelFactory.eINSTANCE.createYCheckBox());
+	}
+
+	/**
+	 * <!-- 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.YValueBindable#createValueEndpoint() <em>Create Value Endpoint</em>}' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.ecview.core.common.model.core.YValueBindable#createValueEndpoint()
+	 * @generated
+	 */
+	public void testCreateValueEndpoint() {
+		// TODO: implement this operation test method
+		// Ensure that you remove @generated or mark it @generated NOT
+		fail();
+	}
+
+} //YCheckBoxTest
diff --git a/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YColumnTest.java b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YColumnTest.java
new file mode 100644
index 0000000..a87b7fd
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YColumnTest.java
@@ -0,0 +1,89 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.extension.model.extension.tests;
+
+import junit.framework.TestCase;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.core.extension.model.extension.ExtensionModelFactory;
+import org.eclipse.osbp.ecview.core.extension.model.extension.YColumn;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YColumn</b></em>'.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class YColumnTest extends TestCase {
+
+	/**
+	 * The fixture for this YColumn test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YColumn fixture = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YColumnTest.class);
+	}
+
+	/**
+	 * Constructs a new YColumn test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YColumnTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this YColumn test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(YColumn fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this YColumn test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YColumn getFixture() {
+		return fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(ExtensionModelFactory.eINSTANCE.createYColumn());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#tearDown()
+	 * @generated
+	 */
+	@Override
+	protected void tearDown() throws Exception {
+		setFixture(null);
+	}
+
+} //YColumnTest
diff --git a/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YComboBoxTest.java b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YComboBoxTest.java
new file mode 100644
index 0000000..44b0e2a
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YComboBoxTest.java
@@ -0,0 +1,103 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.extension.model.extension.tests;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.core.extension.model.extension.ExtensionModelFactory;
+import org.eclipse.osbp.ecview.core.extension.model.extension.YComboBox;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YCombo 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 YComboBoxTest extends YInputTest {
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YComboBoxTest.class);
+	}
+
+	/**
+	 * Constructs a new YCombo Box test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YComboBoxTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Returns the fixture for this YCombo Box test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected YComboBox getFixture() {
+		return (YComboBox)fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(ExtensionModelFactory.eINSTANCE.createYComboBox());
+	}
+
+	/**
+	 * <!-- 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();
+	}
+
+} //YComboBoxTest
diff --git a/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YCssLayoutCellStyleTest.java b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YCssLayoutCellStyleTest.java
new file mode 100644
index 0000000..83f1b7c
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YCssLayoutCellStyleTest.java
@@ -0,0 +1,89 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.extension.model.extension.tests;
+
+import junit.framework.TestCase;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.core.extension.model.extension.ExtensionModelFactory;
+import org.eclipse.osbp.ecview.core.extension.model.extension.YCssLayoutCellStyle;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YCss Layout Cell Style</b></em>'.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class YCssLayoutCellStyleTest extends TestCase {
+
+	/**
+	 * The fixture for this YCss Layout Cell Style test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YCssLayoutCellStyle fixture = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YCssLayoutCellStyleTest.class);
+	}
+
+	/**
+	 * Constructs a new YCss Layout Cell Style test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YCssLayoutCellStyleTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this YCss Layout Cell Style test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(YCssLayoutCellStyle fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this YCss Layout Cell Style test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YCssLayoutCellStyle getFixture() {
+		return fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(ExtensionModelFactory.eINSTANCE.createYCssLayoutCellStyle());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#tearDown()
+	 * @generated
+	 */
+	@Override
+	protected void tearDown() throws Exception {
+		setFixture(null);
+	}
+
+} //YCssLayoutCellStyleTest
diff --git a/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YCssLayoutTest.java b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YCssLayoutTest.java
new file mode 100644
index 0000000..b1f62ed
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YCssLayoutTest.java
@@ -0,0 +1,108 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.extension.model.extension.tests;
+
+import junit.framework.TestCase;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.core.extension.model.extension.ExtensionModelFactory;
+import org.eclipse.osbp.ecview.core.extension.model.extension.YCssLayout;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YCss Layout</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following operations are tested:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.ecview.core.common.model.core.YAlignmentContainer#applyAlignment(org.eclipse.osbp.ecview.core.common.model.core.YEmbeddable, org.eclipse.osbp.ecview.core.common.model.core.YAlignment) <em>Apply Alignment</em>}</li>
+ * </ul>
+ * </p>
+ * @generated
+ */
+public class YCssLayoutTest extends TestCase {
+
+	/**
+	 * The fixture for this YCss Layout test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YCssLayout fixture = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YCssLayoutTest.class);
+	}
+
+	/**
+	 * Constructs a new YCss Layout test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YCssLayoutTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this YCss Layout test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(YCssLayout fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this YCss Layout test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YCssLayout getFixture() {
+		return fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(ExtensionModelFactory.eINSTANCE.createYCssLayout());
+	}
+
+	/**
+	 * <!-- 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.YAlignmentContainer#applyAlignment(org.eclipse.osbp.ecview.core.common.model.core.YEmbeddable, org.eclipse.osbp.ecview.core.common.model.core.YAlignment) <em>Apply Alignment</em>}' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.ecview.core.common.model.core.YAlignmentContainer#applyAlignment(org.eclipse.osbp.ecview.core.common.model.core.YEmbeddable, org.eclipse.osbp.ecview.core.common.model.core.YAlignment)
+	 * @generated
+	 */
+	public void testApplyAlignment__YEmbeddable_YAlignment() {
+		// TODO: implement this operation test method
+		// Ensure that you remove @generated or mark it @generated NOT
+		fail();
+	}
+
+} //YCssLayoutTest
diff --git a/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YDateTimeTest.java b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YDateTimeTest.java
new file mode 100644
index 0000000..fa59b76
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YDateTimeTest.java
@@ -0,0 +1,89 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.extension.model.extension.tests;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.core.extension.model.extension.ExtensionModelFactory;
+import org.eclipse.osbp.ecview.core.extension.model.extension.YDateTime;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YDate Time</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following operations are tested:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.ecview.core.common.model.core.YValueBindable#createValueEndpoint() <em>Create Value Endpoint</em>}</li>
+ * </ul>
+ * </p>
+ * @generated
+ */
+public class YDateTimeTest extends YInputTest {
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YDateTimeTest.class);
+	}
+
+	/**
+	 * Constructs a new YDate Time test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YDateTimeTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Returns the fixture for this YDate Time test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected YDateTime getFixture() {
+		return (YDateTime)fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(ExtensionModelFactory.eINSTANCE.createYDateTime());
+	}
+
+	/**
+	 * <!-- 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.YValueBindable#createValueEndpoint() <em>Create Value Endpoint</em>}' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.ecview.core.common.model.core.YValueBindable#createValueEndpoint()
+	 * @generated
+	 */
+	public void testCreateValueEndpoint() {
+		// TODO: implement this operation test method
+		// Ensure that you remove @generated or mark it @generated NOT
+		fail();
+	}
+
+} //YDateTimeTest
diff --git a/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YDecimalFieldTest.java b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YDecimalFieldTest.java
new file mode 100644
index 0000000..7586848
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YDecimalFieldTest.java
@@ -0,0 +1,89 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.extension.model.extension.tests;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.core.extension.model.extension.ExtensionModelFactory;
+import org.eclipse.osbp.ecview.core.extension.model.extension.YDecimalField;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YDecimal Field</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following operations are tested:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.ecview.core.common.model.core.YValueBindable#createValueEndpoint() <em>Create Value Endpoint</em>}</li>
+ * </ul>
+ * </p>
+ * @generated
+ */
+public class YDecimalFieldTest extends YInputTest {
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YDecimalFieldTest.class);
+	}
+
+	/**
+	 * Constructs a new YDecimal Field test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YDecimalFieldTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Returns the fixture for this YDecimal Field test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected YDecimalField getFixture() {
+		return (YDecimalField)fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(ExtensionModelFactory.eINSTANCE.createYDecimalField());
+	}
+
+	/**
+	 * <!-- 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.YValueBindable#createValueEndpoint() <em>Create Value Endpoint</em>}' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.ecview.core.common.model.core.YValueBindable#createValueEndpoint()
+	 * @generated
+	 */
+	public void testCreateValueEndpoint() {
+		// TODO: implement this operation test method
+		// Ensure that you remove @generated or mark it @generated NOT
+		fail();
+	}
+
+} //YDecimalFieldTest
diff --git a/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YEnumComboBoxTest.java b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YEnumComboBoxTest.java
new file mode 100644
index 0000000..38ef00e
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YEnumComboBoxTest.java
@@ -0,0 +1,103 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.extension.model.extension.tests;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.core.extension.model.extension.ExtensionModelFactory;
+import org.eclipse.osbp.ecview.core.extension.model.extension.YEnumComboBox;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YEnum 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 YEnumComboBoxTest extends YInputTest {
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YEnumComboBoxTest.class);
+	}
+
+	/**
+	 * Constructs a new YEnum Combo Box test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YEnumComboBoxTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Returns the fixture for this YEnum Combo Box test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected YEnumComboBox getFixture() {
+		return (YEnumComboBox)fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(ExtensionModelFactory.eINSTANCE.createYEnumComboBox());
+	}
+
+	/**
+	 * <!-- 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();
+	}
+
+} //YEnumComboBoxTest
diff --git a/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YEnumListTest.java b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YEnumListTest.java
new file mode 100644
index 0000000..25e4893
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YEnumListTest.java
@@ -0,0 +1,117 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.extension.model.extension.tests;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.core.extension.model.extension.ExtensionModelFactory;
+import org.eclipse.osbp.ecview.core.extension.model.extension.YEnumList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YEnum List</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following operations are tested:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.ecview.core.common.model.core.YMultiSelectionBindable#createMultiSelectionEndpoint() <em>Create Multi Selection Endpoint</em>}</li>
+ *   <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 YEnumListTest extends YInputTest {
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YEnumListTest.class);
+	}
+
+	/**
+	 * Constructs a new YEnum List test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YEnumListTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Returns the fixture for this YEnum List test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected YEnumList getFixture() {
+		return (YEnumList)fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(ExtensionModelFactory.eINSTANCE.createYEnumList());
+	}
+
+	/**
+	 * <!-- 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.YMultiSelectionBindable#createMultiSelectionEndpoint() <em>Create Multi Selection Endpoint</em>}' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.ecview.core.common.model.core.YMultiSelectionBindable#createMultiSelectionEndpoint()
+	 * @generated
+	 */
+	public void testCreateMultiSelectionEndpoint() {
+		// 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.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();
+	}
+
+} //YEnumListTest
diff --git a/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YEnumOptionsGroupTest.java b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YEnumOptionsGroupTest.java
new file mode 100644
index 0000000..a825470
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YEnumOptionsGroupTest.java
@@ -0,0 +1,117 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.extension.model.extension.tests;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.core.extension.model.extension.ExtensionModelFactory;
+import org.eclipse.osbp.ecview.core.extension.model.extension.YEnumOptionsGroup;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YEnum Options Group</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following operations are tested:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.ecview.core.common.model.core.YMultiSelectionBindable#createMultiSelectionEndpoint() <em>Create Multi Selection Endpoint</em>}</li>
+ *   <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 YEnumOptionsGroupTest extends YInputTest {
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YEnumOptionsGroupTest.class);
+	}
+
+	/**
+	 * Constructs a new YEnum Options Group test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YEnumOptionsGroupTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Returns the fixture for this YEnum Options Group test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected YEnumOptionsGroup getFixture() {
+		return (YEnumOptionsGroup)fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(ExtensionModelFactory.eINSTANCE.createYEnumOptionsGroup());
+	}
+
+	/**
+	 * <!-- 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.YMultiSelectionBindable#createMultiSelectionEndpoint() <em>Create Multi Selection Endpoint</em>}' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.ecview.core.common.model.core.YMultiSelectionBindable#createMultiSelectionEndpoint()
+	 * @generated
+	 */
+	public void testCreateMultiSelectionEndpoint() {
+		// 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.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();
+	}
+
+} //YEnumOptionsGroupTest
diff --git a/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YFilterDescriptorTest.java b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YFilterDescriptorTest.java
new file mode 100644
index 0000000..6e6c90c
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YFilterDescriptorTest.java
@@ -0,0 +1,89 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.extension.model.extension.tests;
+
+import junit.framework.TestCase;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.core.extension.model.extension.ExtensionModelFactory;
+import org.eclipse.osbp.ecview.core.extension.model.extension.YFilterDescriptor;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YFilter Descriptor</b></em>'.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class YFilterDescriptorTest extends TestCase {
+
+	/**
+	 * The fixture for this YFilter Descriptor test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YFilterDescriptor fixture = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YFilterDescriptorTest.class);
+	}
+
+	/**
+	 * Constructs a new YFilter Descriptor test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YFilterDescriptorTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this YFilter Descriptor test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(YFilterDescriptor fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this YFilter Descriptor test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YFilterDescriptor getFixture() {
+		return fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(ExtensionModelFactory.eINSTANCE.createYFilterDescriptor());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#tearDown()
+	 * @generated
+	 */
+	@Override
+	protected void tearDown() throws Exception {
+		setFixture(null);
+	}
+
+} //YFilterDescriptorTest
diff --git a/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YFilterTableDescriptorTest.java b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YFilterTableDescriptorTest.java
new file mode 100644
index 0000000..00b5804
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YFilterTableDescriptorTest.java
@@ -0,0 +1,89 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.extension.model.extension.tests;
+
+import junit.framework.TestCase;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.core.extension.model.extension.ExtensionModelFactory;
+import org.eclipse.osbp.ecview.core.extension.model.extension.YFilterTableDescriptor;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YFilter Table Descriptor</b></em>'.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class YFilterTableDescriptorTest extends TestCase {
+
+	/**
+	 * The fixture for this YFilter Table Descriptor test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YFilterTableDescriptor fixture = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YFilterTableDescriptorTest.class);
+	}
+
+	/**
+	 * Constructs a new YFilter Table Descriptor test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YFilterTableDescriptorTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this YFilter Table Descriptor test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(YFilterTableDescriptor fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this YFilter Table Descriptor test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YFilterTableDescriptor getFixture() {
+		return fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(ExtensionModelFactory.eINSTANCE.createYFilterTableDescriptor());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#tearDown()
+	 * @generated
+	 */
+	@Override
+	protected void tearDown() throws Exception {
+		setFixture(null);
+	}
+
+} //YFilterTableDescriptorTest
diff --git a/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YFilterTest.java b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YFilterTest.java
new file mode 100644
index 0000000..b022a88
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YFilterTest.java
@@ -0,0 +1,89 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.extension.model.extension.tests;
+
+import junit.framework.TestCase;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.core.extension.model.extension.ExtensionModelFactory;
+import org.eclipse.osbp.ecview.core.extension.model.extension.YFilter;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YFilter</b></em>'.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class YFilterTest extends TestCase {
+
+	/**
+	 * The fixture for this YFilter test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YFilter fixture = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YFilterTest.class);
+	}
+
+	/**
+	 * Constructs a new YFilter test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YFilterTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this YFilter test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(YFilter fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this YFilter test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YFilter getFixture() {
+		return fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(ExtensionModelFactory.eINSTANCE.createYFilter());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#tearDown()
+	 * @generated
+	 */
+	@Override
+	protected void tearDown() throws Exception {
+		setFixture(null);
+	}
+
+} //YFilterTest
diff --git a/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YFilteringComponentTest.java b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YFilteringComponentTest.java
new file mode 100644
index 0000000..3a31a37
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YFilteringComponentTest.java
@@ -0,0 +1,89 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.extension.model.extension.tests;
+
+import junit.framework.TestCase;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.core.extension.model.extension.ExtensionModelFactory;
+import org.eclipse.osbp.ecview.core.extension.model.extension.YFilteringComponent;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YFiltering Component</b></em>'.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class YFilteringComponentTest extends TestCase {
+
+	/**
+	 * The fixture for this YFiltering Component test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YFilteringComponent fixture = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YFilteringComponentTest.class);
+	}
+
+	/**
+	 * Constructs a new YFiltering Component test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YFilteringComponentTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this YFiltering Component test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(YFilteringComponent fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this YFiltering Component test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YFilteringComponent getFixture() {
+		return fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(ExtensionModelFactory.eINSTANCE.createYFilteringComponent());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#tearDown()
+	 * @generated
+	 */
+	@Override
+	protected void tearDown() throws Exception {
+		setFixture(null);
+	}
+
+} //YFilteringComponentTest
diff --git a/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YFormLayoutCellStyleTest.java b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YFormLayoutCellStyleTest.java
new file mode 100644
index 0000000..a72a0cd
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YFormLayoutCellStyleTest.java
@@ -0,0 +1,89 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.extension.model.extension.tests;
+
+import junit.framework.TestCase;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.core.extension.model.extension.ExtensionModelFactory;
+import org.eclipse.osbp.ecview.core.extension.model.extension.YFormLayoutCellStyle;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YForm Layout Cell Style</b></em>'.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class YFormLayoutCellStyleTest extends TestCase {
+
+	/**
+	 * The fixture for this YForm Layout Cell Style test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YFormLayoutCellStyle fixture = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YFormLayoutCellStyleTest.class);
+	}
+
+	/**
+	 * Constructs a new YForm Layout Cell Style test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YFormLayoutCellStyleTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this YForm Layout Cell Style test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(YFormLayoutCellStyle fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this YForm Layout Cell Style test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YFormLayoutCellStyle getFixture() {
+		return fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(ExtensionModelFactory.eINSTANCE.createYFormLayoutCellStyle());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#tearDown()
+	 * @generated
+	 */
+	@Override
+	protected void tearDown() throws Exception {
+		setFixture(null);
+	}
+
+} //YFormLayoutCellStyleTest
diff --git a/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YFormLayoutTest.java b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YFormLayoutTest.java
new file mode 100644
index 0000000..618e7e7
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YFormLayoutTest.java
@@ -0,0 +1,108 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.extension.model.extension.tests;
+
+import junit.framework.TestCase;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.core.extension.model.extension.ExtensionModelFactory;
+import org.eclipse.osbp.ecview.core.extension.model.extension.YFormLayout;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YForm Layout</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following operations are tested:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.ecview.core.common.model.core.YAlignmentContainer#applyAlignment(org.eclipse.osbp.ecview.core.common.model.core.YEmbeddable, org.eclipse.osbp.ecview.core.common.model.core.YAlignment) <em>Apply Alignment</em>}</li>
+ * </ul>
+ * </p>
+ * @generated
+ */
+public class YFormLayoutTest extends TestCase {
+
+	/**
+	 * The fixture for this YForm Layout test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YFormLayout fixture = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YFormLayoutTest.class);
+	}
+
+	/**
+	 * Constructs a new YForm Layout test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YFormLayoutTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this YForm Layout test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(YFormLayout fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this YForm Layout test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YFormLayout getFixture() {
+		return fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(ExtensionModelFactory.eINSTANCE.createYFormLayout());
+	}
+
+	/**
+	 * <!-- 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.YAlignmentContainer#applyAlignment(org.eclipse.osbp.ecview.core.common.model.core.YEmbeddable, org.eclipse.osbp.ecview.core.common.model.core.YAlignment) <em>Apply Alignment</em>}' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.ecview.core.common.model.core.YAlignmentContainer#applyAlignment(org.eclipse.osbp.ecview.core.common.model.core.YEmbeddable, org.eclipse.osbp.ecview.core.common.model.core.YAlignment)
+	 * @generated
+	 */
+	public void testApplyAlignment__YEmbeddable_YAlignment() {
+		// TODO: implement this operation test method
+		// Ensure that you remove @generated or mark it @generated NOT
+		fail();
+	}
+
+} //YFormLayoutTest
diff --git a/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YGridLayoutCellStyleTest.java b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YGridLayoutCellStyleTest.java
new file mode 100644
index 0000000..7a38536
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YGridLayoutCellStyleTest.java
@@ -0,0 +1,108 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.extension.model.extension.tests;
+
+import junit.framework.TestCase;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.core.extension.model.extension.ExtensionModelFactory;
+import org.eclipse.osbp.ecview.core.extension.model.extension.YGridLayoutCellStyle;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YGrid Layout Cell Style</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following operations are tested:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.ecview.core.extension.model.extension.YGridLayoutCellStyle#addSpanInfo(int, int, int, int) <em>Add Span Info</em>}</li>
+ * </ul>
+ * </p>
+ * @generated
+ */
+public class YGridLayoutCellStyleTest extends TestCase {
+
+	/**
+	 * The fixture for this YGrid Layout Cell Style test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YGridLayoutCellStyle fixture = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YGridLayoutCellStyleTest.class);
+	}
+
+	/**
+	 * Constructs a new YGrid Layout Cell Style test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YGridLayoutCellStyleTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this YGrid Layout Cell Style test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(YGridLayoutCellStyle fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this YGrid Layout Cell Style test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YGridLayoutCellStyle getFixture() {
+		return fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(ExtensionModelFactory.eINSTANCE.createYGridLayoutCellStyle());
+	}
+
+	/**
+	 * <!-- 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.extension.model.extension.YGridLayoutCellStyle#addSpanInfo(int, int, int, int) <em>Add Span Info</em>}' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.ecview.core.extension.model.extension.YGridLayoutCellStyle#addSpanInfo(int, int, int, int)
+	 * @generated
+	 */
+	public void testAddSpanInfo__int_int_int_int() {
+		// TODO: implement this operation test method
+		// Ensure that you remove @generated or mark it @generated NOT
+		fail();
+	}
+
+} //YGridLayoutCellStyleTest
diff --git a/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YGridLayoutTest.java b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YGridLayoutTest.java
new file mode 100644
index 0000000..3d9a9ff
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YGridLayoutTest.java
@@ -0,0 +1,122 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.extension.model.extension.tests;
+
+import junit.framework.TestCase;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.core.extension.model.extension.ExtensionModelFactory;
+import org.eclipse.osbp.ecview.core.extension.model.extension.YGridLayout;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YGrid Layout</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following operations are tested:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.ecview.core.extension.model.extension.YGridLayout#addGridLayoutCellStyle(org.eclipse.osbp.ecview.core.common.model.core.YEmbeddable) <em>Add Grid Layout Cell Style</em>}</li>
+ *   <li>{@link org.eclipse.osbp.ecview.core.common.model.core.YAlignmentContainer#applyAlignment(org.eclipse.osbp.ecview.core.common.model.core.YEmbeddable, org.eclipse.osbp.ecview.core.common.model.core.YAlignment) <em>Apply Alignment</em>}</li>
+ * </ul>
+ * </p>
+ * @generated
+ */
+public class YGridLayoutTest extends TestCase {
+
+	/**
+	 * The fixture for this YGrid Layout test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YGridLayout fixture = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YGridLayoutTest.class);
+	}
+
+	/**
+	 * Constructs a new YGrid Layout test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YGridLayoutTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this YGrid Layout test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(YGridLayout fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this YGrid Layout test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YGridLayout getFixture() {
+		return fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(ExtensionModelFactory.eINSTANCE.createYGridLayout());
+	}
+
+	/**
+	 * <!-- 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.extension.model.extension.YGridLayout#addGridLayoutCellStyle(org.eclipse.osbp.ecview.core.common.model.core.YEmbeddable) <em>Add Grid Layout Cell Style</em>}' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.ecview.core.extension.model.extension.YGridLayout#addGridLayoutCellStyle(org.eclipse.osbp.ecview.core.common.model.core.YEmbeddable)
+	 * @generated
+	 */
+	public void testAddGridLayoutCellStyle__YEmbeddable() {
+		// 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.YAlignmentContainer#applyAlignment(org.eclipse.osbp.ecview.core.common.model.core.YEmbeddable, org.eclipse.osbp.ecview.core.common.model.core.YAlignment) <em>Apply Alignment</em>}' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.ecview.core.common.model.core.YAlignmentContainer#applyAlignment(org.eclipse.osbp.ecview.core.common.model.core.YEmbeddable, org.eclipse.osbp.ecview.core.common.model.core.YAlignment)
+	 * @generated
+	 */
+	public void testApplyAlignment__YEmbeddable_YAlignment() {
+		// TODO: implement this operation test method
+		// Ensure that you remove @generated or mark it @generated NOT
+		fail();
+	}
+
+} //YGridLayoutTest
diff --git a/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YHorizontalLayoutCellStyleTest.java b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YHorizontalLayoutCellStyleTest.java
new file mode 100644
index 0000000..3e2e08e
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YHorizontalLayoutCellStyleTest.java
@@ -0,0 +1,89 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.extension.model.extension.tests;
+
+import junit.framework.TestCase;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.core.extension.model.extension.ExtensionModelFactory;
+import org.eclipse.osbp.ecview.core.extension.model.extension.YHorizontalLayoutCellStyle;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YHorizontal Layout Cell Style</b></em>'.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class YHorizontalLayoutCellStyleTest extends TestCase {
+
+	/**
+	 * The fixture for this YHorizontal Layout Cell Style test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YHorizontalLayoutCellStyle fixture = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YHorizontalLayoutCellStyleTest.class);
+	}
+
+	/**
+	 * Constructs a new YHorizontal Layout Cell Style test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YHorizontalLayoutCellStyleTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this YHorizontal Layout Cell Style test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(YHorizontalLayoutCellStyle fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this YHorizontal Layout Cell Style test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YHorizontalLayoutCellStyle getFixture() {
+		return fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(ExtensionModelFactory.eINSTANCE.createYHorizontalLayoutCellStyle());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#tearDown()
+	 * @generated
+	 */
+	@Override
+	protected void tearDown() throws Exception {
+		setFixture(null);
+	}
+
+} //YHorizontalLayoutCellStyleTest
diff --git a/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YHorizontalLayoutTest.java b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YHorizontalLayoutTest.java
new file mode 100644
index 0000000..fd9d29c
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YHorizontalLayoutTest.java
@@ -0,0 +1,122 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.extension.model.extension.tests;
+
+import junit.framework.TestCase;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.core.extension.model.extension.ExtensionModelFactory;
+import org.eclipse.osbp.ecview.core.extension.model.extension.YHorizontalLayout;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YHorizontal Layout</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following operations are tested:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.ecview.core.extension.model.extension.YHorizontalLayout#getCellStyle(org.eclipse.osbp.ecview.core.common.model.core.YEmbeddable) <em>Get Cell Style</em>}</li>
+ *   <li>{@link org.eclipse.osbp.ecview.core.common.model.core.YAlignmentContainer#applyAlignment(org.eclipse.osbp.ecview.core.common.model.core.YEmbeddable, org.eclipse.osbp.ecview.core.common.model.core.YAlignment) <em>Apply Alignment</em>}</li>
+ * </ul>
+ * </p>
+ * @generated
+ */
+public class YHorizontalLayoutTest extends TestCase {
+
+	/**
+	 * The fixture for this YHorizontal Layout test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YHorizontalLayout fixture = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YHorizontalLayoutTest.class);
+	}
+
+	/**
+	 * Constructs a new YHorizontal Layout test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YHorizontalLayoutTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this YHorizontal Layout test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(YHorizontalLayout fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this YHorizontal Layout test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YHorizontalLayout getFixture() {
+		return fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(ExtensionModelFactory.eINSTANCE.createYHorizontalLayout());
+	}
+
+	/**
+	 * <!-- 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.extension.model.extension.YHorizontalLayout#getCellStyle(org.eclipse.osbp.ecview.core.common.model.core.YEmbeddable) <em>Get Cell Style</em>}' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.ecview.core.extension.model.extension.YHorizontalLayout#getCellStyle(org.eclipse.osbp.ecview.core.common.model.core.YEmbeddable)
+	 * @generated
+	 */
+	public void testGetCellStyle__YEmbeddable() {
+		// 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.YAlignmentContainer#applyAlignment(org.eclipse.osbp.ecview.core.common.model.core.YEmbeddable, org.eclipse.osbp.ecview.core.common.model.core.YAlignment) <em>Apply Alignment</em>}' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.ecview.core.common.model.core.YAlignmentContainer#applyAlignment(org.eclipse.osbp.ecview.core.common.model.core.YEmbeddable, org.eclipse.osbp.ecview.core.common.model.core.YAlignment)
+	 * @generated
+	 */
+	public void testApplyAlignment__YEmbeddable_YAlignment() {
+		// TODO: implement this operation test method
+		// Ensure that you remove @generated or mark it @generated NOT
+		fail();
+	}
+
+} //YHorizontalLayoutTest
diff --git a/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YImageTest.java b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YImageTest.java
new file mode 100644
index 0000000..c1bd6ff
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YImageTest.java
@@ -0,0 +1,108 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.extension.model.extension.tests;
+
+import junit.framework.TestCase;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.core.extension.model.extension.ExtensionModelFactory;
+import org.eclipse.osbp.ecview.core.extension.model.extension.YImage;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YImage</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following operations are tested:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.ecview.core.common.model.core.YValueBindable#createValueEndpoint() <em>Create Value Endpoint</em>}</li>
+ * </ul>
+ * </p>
+ * @generated
+ */
+public class YImageTest extends TestCase {
+
+	/**
+	 * The fixture for this YImage test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YImage fixture = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YImageTest.class);
+	}
+
+	/**
+	 * Constructs a new YImage test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YImageTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this YImage test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(YImage fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this YImage test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YImage getFixture() {
+		return fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(ExtensionModelFactory.eINSTANCE.createYImage());
+	}
+
+	/**
+	 * <!-- 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.YValueBindable#createValueEndpoint() <em>Create Value Endpoint</em>}' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.ecview.core.common.model.core.YValueBindable#createValueEndpoint()
+	 * @generated
+	 */
+	public void testCreateValueEndpoint() {
+		// TODO: implement this operation test method
+		// Ensure that you remove @generated or mark it @generated NOT
+		fail();
+	}
+
+} //YImageTest
diff --git a/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YInputTest.java b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YInputTest.java
new file mode 100644
index 0000000..847e977
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YInputTest.java
@@ -0,0 +1,55 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.extension.model.extension.tests;
+
+import junit.framework.TestCase;
+
+import org.eclipse.osbp.ecview.core.extension.model.extension.YInput;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YInput</b></em>'.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public abstract class YInputTest extends TestCase {
+
+	/**
+	 * The fixture for this YInput test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YInput fixture = null;
+
+	/**
+	 * Constructs a new YInput test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YInputTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this YInput test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(YInput fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this YInput test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YInput getFixture() {
+		return fixture;
+	}
+
+} //YInputTest
diff --git a/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YLabelTest.java b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YLabelTest.java
new file mode 100644
index 0000000..ede2085
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YLabelTest.java
@@ -0,0 +1,108 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.extension.model.extension.tests;
+
+import junit.framework.TestCase;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.core.extension.model.extension.ExtensionModelFactory;
+import org.eclipse.osbp.ecview.core.extension.model.extension.YLabel;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YLabel</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following operations are tested:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.ecview.core.common.model.core.YValueBindable#createValueEndpoint() <em>Create Value Endpoint</em>}</li>
+ * </ul>
+ * </p>
+ * @generated
+ */
+public class YLabelTest extends TestCase {
+
+	/**
+	 * The fixture for this YLabel test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YLabel fixture = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YLabelTest.class);
+	}
+
+	/**
+	 * Constructs a new YLabel test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YLabelTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this YLabel test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(YLabel fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this YLabel test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YLabel getFixture() {
+		return fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(ExtensionModelFactory.eINSTANCE.createYLabel());
+	}
+
+	/**
+	 * <!-- 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.YValueBindable#createValueEndpoint() <em>Create Value Endpoint</em>}' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.ecview.core.common.model.core.YValueBindable#createValueEndpoint()
+	 * @generated
+	 */
+	public void testCreateValueEndpoint() {
+		// TODO: implement this operation test method
+		// Ensure that you remove @generated or mark it @generated NOT
+		fail();
+	}
+
+} //YLabelTest
diff --git a/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YListTest.java b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YListTest.java
new file mode 100644
index 0000000..6dcbf92
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YListTest.java
@@ -0,0 +1,117 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.extension.model.extension.tests;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.core.extension.model.extension.ExtensionModelFactory;
+import org.eclipse.osbp.ecview.core.extension.model.extension.YList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YList</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following operations are tested:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.ecview.core.common.model.core.YMultiSelectionBindable#createMultiSelectionEndpoint() <em>Create Multi Selection Endpoint</em>}</li>
+ *   <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 YListTest extends YInputTest {
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YListTest.class);
+	}
+
+	/**
+	 * Constructs a new YList test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YListTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Returns the fixture for this YList test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected YList getFixture() {
+		return (YList)fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(ExtensionModelFactory.eINSTANCE.createYList());
+	}
+
+	/**
+	 * <!-- 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.YMultiSelectionBindable#createMultiSelectionEndpoint() <em>Create Multi Selection Endpoint</em>}' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.ecview.core.common.model.core.YMultiSelectionBindable#createMultiSelectionEndpoint()
+	 * @generated
+	 */
+	public void testCreateMultiSelectionEndpoint() {
+		// 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.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();
+	}
+
+} //YListTest
diff --git a/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YMasterDetailTest.java b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YMasterDetailTest.java
new file mode 100644
index 0000000..f7363dc
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YMasterDetailTest.java
@@ -0,0 +1,103 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.extension.model.extension.tests;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.core.extension.model.extension.ExtensionModelFactory;
+import org.eclipse.osbp.ecview.core.extension.model.extension.YMasterDetail;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YMaster Detail</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 YMasterDetailTest extends YInputTest {
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YMasterDetailTest.class);
+	}
+
+	/**
+	 * Constructs a new YMaster Detail test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YMasterDetailTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Returns the fixture for this YMaster Detail test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected YMasterDetail getFixture() {
+		return (YMasterDetail)fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(ExtensionModelFactory.eINSTANCE.createYMasterDetail());
+	}
+
+	/**
+	 * <!-- 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();
+	}
+
+} //YMasterDetailTest
diff --git a/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YNumericFieldTest.java b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YNumericFieldTest.java
new file mode 100644
index 0000000..c1172b2
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YNumericFieldTest.java
@@ -0,0 +1,89 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.extension.model.extension.tests;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.core.extension.model.extension.ExtensionModelFactory;
+import org.eclipse.osbp.ecview.core.extension.model.extension.YNumericField;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YNumeric Field</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following operations are tested:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.ecview.core.common.model.core.YValueBindable#createValueEndpoint() <em>Create Value Endpoint</em>}</li>
+ * </ul>
+ * </p>
+ * @generated
+ */
+public class YNumericFieldTest extends YInputTest {
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YNumericFieldTest.class);
+	}
+
+	/**
+	 * Constructs a new YNumeric Field test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YNumericFieldTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Returns the fixture for this YNumeric Field test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected YNumericField getFixture() {
+		return (YNumericField)fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(ExtensionModelFactory.eINSTANCE.createYNumericField());
+	}
+
+	/**
+	 * <!-- 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.YValueBindable#createValueEndpoint() <em>Create Value Endpoint</em>}' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.ecview.core.common.model.core.YValueBindable#createValueEndpoint()
+	 * @generated
+	 */
+	public void testCreateValueEndpoint() {
+		// TODO: implement this operation test method
+		// Ensure that you remove @generated or mark it @generated NOT
+		fail();
+	}
+
+} //YNumericFieldTest
diff --git a/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YNumericSearchFieldTest.java b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YNumericSearchFieldTest.java
new file mode 100644
index 0000000..d871ef0
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YNumericSearchFieldTest.java
@@ -0,0 +1,89 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.extension.model.extension.tests;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.core.extension.model.extension.ExtensionModelFactory;
+import org.eclipse.osbp.ecview.core.extension.model.extension.YNumericSearchField;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YNumeric Search Field</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following operations are tested:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.ecview.core.common.model.core.YValueBindable#createValueEndpoint() <em>Create Value Endpoint</em>}</li>
+ * </ul>
+ * </p>
+ * @generated
+ */
+public class YNumericSearchFieldTest extends YInputTest {
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YNumericSearchFieldTest.class);
+	}
+
+	/**
+	 * Constructs a new YNumeric Search Field test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YNumericSearchFieldTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Returns the fixture for this YNumeric Search Field test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected YNumericSearchField getFixture() {
+		return (YNumericSearchField)fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(ExtensionModelFactory.eINSTANCE.createYNumericSearchField());
+	}
+
+	/**
+	 * <!-- 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.YValueBindable#createValueEndpoint() <em>Create Value Endpoint</em>}' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.ecview.core.common.model.core.YValueBindable#createValueEndpoint()
+	 * @generated
+	 */
+	public void testCreateValueEndpoint() {
+		// TODO: implement this operation test method
+		// Ensure that you remove @generated or mark it @generated NOT
+		fail();
+	}
+
+} //YNumericSearchFieldTest
diff --git a/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YOptionsGroupTest.java b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YOptionsGroupTest.java
new file mode 100644
index 0000000..45bed38
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YOptionsGroupTest.java
@@ -0,0 +1,117 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.extension.model.extension.tests;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.core.extension.model.extension.ExtensionModelFactory;
+import org.eclipse.osbp.ecview.core.extension.model.extension.YOptionsGroup;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YOptions Group</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following operations are tested:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.ecview.core.common.model.core.YMultiSelectionBindable#createMultiSelectionEndpoint() <em>Create Multi Selection Endpoint</em>}</li>
+ *   <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 YOptionsGroupTest extends YInputTest {
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YOptionsGroupTest.class);
+	}
+
+	/**
+	 * Constructs a new YOptions Group test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YOptionsGroupTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Returns the fixture for this YOptions Group test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected YOptionsGroup getFixture() {
+		return (YOptionsGroup)fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(ExtensionModelFactory.eINSTANCE.createYOptionsGroup());
+	}
+
+	/**
+	 * <!-- 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.YMultiSelectionBindable#createMultiSelectionEndpoint() <em>Create Multi Selection Endpoint</em>}' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.ecview.core.common.model.core.YMultiSelectionBindable#createMultiSelectionEndpoint()
+	 * @generated
+	 */
+	public void testCreateMultiSelectionEndpoint() {
+		// 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.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();
+	}
+
+} //YOptionsGroupTest
diff --git a/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YPanelTest.java b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YPanelTest.java
new file mode 100644
index 0000000..6fcf893
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YPanelTest.java
@@ -0,0 +1,108 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.extension.model.extension.tests;
+
+import junit.framework.TestCase;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.core.extension.model.extension.ExtensionModelFactory;
+import org.eclipse.osbp.ecview.core.extension.model.extension.YPanel;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YPanel</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following operations are tested:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.ecview.core.extension.model.extension.YPanel#getCellStyle(org.eclipse.osbp.ecview.core.common.model.core.YEmbeddable) <em>Get Cell Style</em>}</li>
+ * </ul>
+ * </p>
+ * @generated
+ */
+public class YPanelTest extends TestCase {
+
+	/**
+	 * The fixture for this YPanel test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YPanel fixture = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YPanelTest.class);
+	}
+
+	/**
+	 * Constructs a new YPanel test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YPanelTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this YPanel test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(YPanel fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this YPanel test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YPanel getFixture() {
+		return fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(ExtensionModelFactory.eINSTANCE.createYPanel());
+	}
+
+	/**
+	 * <!-- 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.extension.model.extension.YPanel#getCellStyle(org.eclipse.osbp.ecview.core.common.model.core.YEmbeddable) <em>Get Cell Style</em>}' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.ecview.core.extension.model.extension.YPanel#getCellStyle(org.eclipse.osbp.ecview.core.common.model.core.YEmbeddable)
+	 * @generated
+	 */
+	public void testGetCellStyle__YEmbeddable() {
+		// TODO: implement this operation test method
+		// Ensure that you remove @generated or mark it @generated NOT
+		fail();
+	}
+
+} //YPanelTest
diff --git a/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YPasswordFieldTest.java b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YPasswordFieldTest.java
new file mode 100644
index 0000000..1db72c6
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YPasswordFieldTest.java
@@ -0,0 +1,89 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.extension.model.extension.tests;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.core.extension.model.extension.ExtensionModelFactory;
+import org.eclipse.osbp.ecview.core.extension.model.extension.YPasswordField;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YPassword Field</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following operations are tested:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.ecview.core.common.model.core.YValueBindable#createValueEndpoint() <em>Create Value Endpoint</em>}</li>
+ * </ul>
+ * </p>
+ * @generated
+ */
+public class YPasswordFieldTest extends YInputTest {
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YPasswordFieldTest.class);
+	}
+
+	/**
+	 * Constructs a new YPassword Field test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YPasswordFieldTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Returns the fixture for this YPassword Field test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected YPasswordField getFixture() {
+		return (YPasswordField)fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(ExtensionModelFactory.eINSTANCE.createYPasswordField());
+	}
+
+	/**
+	 * <!-- 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.YValueBindable#createValueEndpoint() <em>Create Value Endpoint</em>}' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.ecview.core.common.model.core.YValueBindable#createValueEndpoint()
+	 * @generated
+	 */
+	public void testCreateValueEndpoint() {
+		// TODO: implement this operation test method
+		// Ensure that you remove @generated or mark it @generated NOT
+		fail();
+	}
+
+} //YPasswordFieldTest
diff --git a/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YProgressBarTest.java b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YProgressBarTest.java
new file mode 100644
index 0000000..552b2f1
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YProgressBarTest.java
@@ -0,0 +1,89 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.extension.model.extension.tests;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.core.extension.model.extension.ExtensionModelFactory;
+import org.eclipse.osbp.ecview.core.extension.model.extension.YProgressBar;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YProgress Bar</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following operations are tested:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.ecview.core.common.model.core.YValueBindable#createValueEndpoint() <em>Create Value Endpoint</em>}</li>
+ * </ul>
+ * </p>
+ * @generated
+ */
+public class YProgressBarTest extends YInputTest {
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YProgressBarTest.class);
+	}
+
+	/**
+	 * Constructs a new YProgress Bar test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YProgressBarTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Returns the fixture for this YProgress Bar test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected YProgressBar getFixture() {
+		return (YProgressBar)fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(ExtensionModelFactory.eINSTANCE.createYProgressBar());
+	}
+
+	/**
+	 * <!-- 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.YValueBindable#createValueEndpoint() <em>Create Value Endpoint</em>}' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.ecview.core.common.model.core.YValueBindable#createValueEndpoint()
+	 * @generated
+	 */
+	public void testCreateValueEndpoint() {
+		// TODO: implement this operation test method
+		// Ensure that you remove @generated or mark it @generated NOT
+		fail();
+	}
+
+} //YProgressBarTest
diff --git a/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YReferenceSearchFieldTest.java b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YReferenceSearchFieldTest.java
new file mode 100644
index 0000000..8964f30
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YReferenceSearchFieldTest.java
@@ -0,0 +1,89 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.extension.model.extension.tests;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.core.extension.model.extension.ExtensionModelFactory;
+import org.eclipse.osbp.ecview.core.extension.model.extension.YReferenceSearchField;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YReference Search Field</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following operations are tested:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.ecview.core.common.model.core.YValueBindable#createValueEndpoint() <em>Create Value Endpoint</em>}</li>
+ * </ul>
+ * </p>
+ * @generated
+ */
+public class YReferenceSearchFieldTest extends YInputTest {
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YReferenceSearchFieldTest.class);
+	}
+
+	/**
+	 * Constructs a new YReference Search Field test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YReferenceSearchFieldTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Returns the fixture for this YReference Search Field test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected YReferenceSearchField getFixture() {
+		return (YReferenceSearchField)fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(ExtensionModelFactory.eINSTANCE.createYReferenceSearchField());
+	}
+
+	/**
+	 * <!-- 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.YValueBindable#createValueEndpoint() <em>Create Value Endpoint</em>}' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.ecview.core.common.model.core.YValueBindable#createValueEndpoint()
+	 * @generated
+	 */
+	public void testCreateValueEndpoint() {
+		// TODO: implement this operation test method
+		// Ensure that you remove @generated or mark it @generated NOT
+		fail();
+	}
+
+} //YReferenceSearchFieldTest
diff --git a/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YRemoveFromTableCommandTest.java b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YRemoveFromTableCommandTest.java
new file mode 100644
index 0000000..9ce475d
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YRemoveFromTableCommandTest.java
@@ -0,0 +1,108 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.extension.model.extension.tests;
+
+import junit.framework.TestCase;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.core.extension.model.extension.ExtensionModelFactory;
+import org.eclipse.osbp.ecview.core.extension.model.extension.YRemoveFromTableCommand;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YRemove From Table Command</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following operations are tested:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.ecview.core.common.model.core.YCommand#getView() <em>Get View</em>}</li>
+ * </ul>
+ * </p>
+ * @generated
+ */
+public class YRemoveFromTableCommandTest extends TestCase {
+
+	/**
+	 * The fixture for this YRemove From Table Command test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YRemoveFromTableCommand fixture = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YRemoveFromTableCommandTest.class);
+	}
+
+	/**
+	 * Constructs a new YRemove From Table Command test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YRemoveFromTableCommandTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this YRemove From Table Command test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(YRemoveFromTableCommand fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this YRemove From Table Command test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YRemoveFromTableCommand getFixture() {
+		return fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(ExtensionModelFactory.eINSTANCE.createYRemoveFromTableCommand());
+	}
+
+	/**
+	 * <!-- 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.YCommand#getView() <em>Get View</em>}' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.ecview.core.common.model.core.YCommand#getView()
+	 * @generated
+	 */
+	public void testGetView() {
+		// TODO: implement this operation test method
+		// Ensure that you remove @generated or mark it @generated NOT
+		fail();
+	}
+
+} //YRemoveFromTableCommandTest
diff --git a/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YSearchFieldTest.java b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YSearchFieldTest.java
new file mode 100644
index 0000000..f149ab2
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YSearchFieldTest.java
@@ -0,0 +1,55 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.extension.model.extension.tests;
+
+import org.eclipse.osbp.ecview.core.extension.model.extension.YSearchField;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YSearch Field</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following operations are tested:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.ecview.core.common.model.core.YValueBindable#createValueEndpoint() <em>Create Value Endpoint</em>}</li>
+ * </ul>
+ * </p>
+ * @generated
+ */
+public abstract class YSearchFieldTest extends YInputTest {
+
+	/**
+	 * Constructs a new YSearch Field test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YSearchFieldTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Returns the fixture for this YSearch Field test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected YSearchField getFixture() {
+		return (YSearchField)fixture;
+	}
+
+	/**
+	 * Tests the '{@link org.eclipse.osbp.ecview.core.common.model.core.YValueBindable#createValueEndpoint() <em>Create Value Endpoint</em>}' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.ecview.core.common.model.core.YValueBindable#createValueEndpoint()
+	 * @generated
+	 */
+	public void testCreateValueEndpoint() {
+		// TODO: implement this operation test method
+		// Ensure that you remove @generated or mark it @generated NOT
+		fail();
+	}
+
+} //YSearchFieldTest
diff --git a/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YSearchPanelTest.java b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YSearchPanelTest.java
new file mode 100644
index 0000000..59a8f37
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YSearchPanelTest.java
@@ -0,0 +1,89 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.extension.model.extension.tests;
+
+import junit.framework.TestCase;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.core.extension.model.extension.ExtensionModelFactory;
+import org.eclipse.osbp.ecview.core.extension.model.extension.YSearchPanel;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YSearch Panel</b></em>'.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class YSearchPanelTest extends TestCase {
+
+	/**
+	 * The fixture for this YSearch Panel test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YSearchPanel fixture = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YSearchPanelTest.class);
+	}
+
+	/**
+	 * Constructs a new YSearch Panel test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YSearchPanelTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this YSearch Panel test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(YSearchPanel fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this YSearch Panel test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YSearchPanel getFixture() {
+		return fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(ExtensionModelFactory.eINSTANCE.createYSearchPanel());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#tearDown()
+	 * @generated
+	 */
+	@Override
+	protected void tearDown() throws Exception {
+		setFixture(null);
+	}
+
+} //YSearchPanelTest
diff --git a/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YSetNewBeanInstanceCommandTest.java b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YSetNewBeanInstanceCommandTest.java
new file mode 100644
index 0000000..3e8f6f9
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YSetNewBeanInstanceCommandTest.java
@@ -0,0 +1,108 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.extension.model.extension.tests;
+
+import junit.framework.TestCase;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.core.extension.model.extension.ExtensionModelFactory;
+import org.eclipse.osbp.ecview.core.extension.model.extension.YSetNewBeanInstanceCommand;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YSet New Bean Instance Command</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following operations are tested:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.ecview.core.common.model.core.YCommand#getView() <em>Get View</em>}</li>
+ * </ul>
+ * </p>
+ * @generated
+ */
+public class YSetNewBeanInstanceCommandTest extends TestCase {
+
+	/**
+	 * The fixture for this YSet New Bean Instance Command test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YSetNewBeanInstanceCommand fixture = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YSetNewBeanInstanceCommandTest.class);
+	}
+
+	/**
+	 * Constructs a new YSet New Bean Instance Command test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YSetNewBeanInstanceCommandTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this YSet New Bean Instance Command test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(YSetNewBeanInstanceCommand fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this YSet New Bean Instance Command test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YSetNewBeanInstanceCommand getFixture() {
+		return fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(ExtensionModelFactory.eINSTANCE.createYSetNewBeanInstanceCommand());
+	}
+
+	/**
+	 * <!-- 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.YCommand#getView() <em>Get View</em>}' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.ecview.core.common.model.core.YCommand#getView()
+	 * @generated
+	 */
+	public void testGetView() {
+		// TODO: implement this operation test method
+		// Ensure that you remove @generated or mark it @generated NOT
+		fail();
+	}
+
+} //YSetNewBeanInstanceCommandTest
diff --git a/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YSliderTest.java b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YSliderTest.java
new file mode 100644
index 0000000..f11d53e
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YSliderTest.java
@@ -0,0 +1,89 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.extension.model.extension.tests;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.core.extension.model.extension.ExtensionModelFactory;
+import org.eclipse.osbp.ecview.core.extension.model.extension.YSlider;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YSlider</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following operations are tested:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.ecview.core.common.model.core.YValueBindable#createValueEndpoint() <em>Create Value Endpoint</em>}</li>
+ * </ul>
+ * </p>
+ * @generated
+ */
+public class YSliderTest extends YInputTest {
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YSliderTest.class);
+	}
+
+	/**
+	 * Constructs a new YSlider test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YSliderTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Returns the fixture for this YSlider test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected YSlider getFixture() {
+		return (YSlider)fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(ExtensionModelFactory.eINSTANCE.createYSlider());
+	}
+
+	/**
+	 * <!-- 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.YValueBindable#createValueEndpoint() <em>Create Value Endpoint</em>}' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.ecview.core.common.model.core.YValueBindable#createValueEndpoint()
+	 * @generated
+	 */
+	public void testCreateValueEndpoint() {
+		// TODO: implement this operation test method
+		// Ensure that you remove @generated or mark it @generated NOT
+		fail();
+	}
+
+} //YSliderTest
diff --git a/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YSortColumnTest.java b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YSortColumnTest.java
new file mode 100644
index 0000000..148e0df
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YSortColumnTest.java
@@ -0,0 +1,89 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.extension.model.extension.tests;
+
+import junit.framework.TestCase;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.core.extension.model.extension.ExtensionModelFactory;
+import org.eclipse.osbp.ecview.core.extension.model.extension.YSortColumn;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YSort Column</b></em>'.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class YSortColumnTest extends TestCase {
+
+	/**
+	 * The fixture for this YSort Column test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YSortColumn fixture = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YSortColumnTest.class);
+	}
+
+	/**
+	 * Constructs a new YSort Column test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YSortColumnTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this YSort Column test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(YSortColumn fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this YSort Column test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YSortColumn getFixture() {
+		return fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(ExtensionModelFactory.eINSTANCE.createYSortColumn());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#tearDown()
+	 * @generated
+	 */
+	@Override
+	protected void tearDown() throws Exception {
+		setFixture(null);
+	}
+
+} //YSortColumnTest
diff --git a/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YSpanInfoTest.java b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YSpanInfoTest.java
new file mode 100644
index 0000000..b0d2f27
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YSpanInfoTest.java
@@ -0,0 +1,89 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.extension.model.extension.tests;
+
+import junit.framework.TestCase;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.core.extension.model.extension.ExtensionModelFactory;
+import org.eclipse.osbp.ecview.core.extension.model.extension.YSpanInfo;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YSpan Info</b></em>'.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class YSpanInfoTest extends TestCase {
+
+	/**
+	 * The fixture for this YSpan Info test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YSpanInfo fixture = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YSpanInfoTest.class);
+	}
+
+	/**
+	 * Constructs a new YSpan Info test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YSpanInfoTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this YSpan Info test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(YSpanInfo fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this YSpan Info test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YSpanInfo getFixture() {
+		return fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(ExtensionModelFactory.eINSTANCE.createYSpanInfo());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#tearDown()
+	 * @generated
+	 */
+	@Override
+	protected void tearDown() throws Exception {
+		setFixture(null);
+	}
+
+} //YSpanInfoTest
diff --git a/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YSplitPanelTest.java b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YSplitPanelTest.java
new file mode 100644
index 0000000..bb77fd9
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YSplitPanelTest.java
@@ -0,0 +1,108 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.extension.model.extension.tests;
+
+import junit.framework.TestCase;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.core.extension.model.extension.ExtensionModelFactory;
+import org.eclipse.osbp.ecview.core.extension.model.extension.YSplitPanel;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YSplit Panel</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following operations are tested:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.ecview.core.extension.model.extension.YSplitPanel#getCellStyle(org.eclipse.osbp.ecview.core.common.model.core.YEmbeddable) <em>Get Cell Style</em>}</li>
+ * </ul>
+ * </p>
+ * @generated
+ */
+public class YSplitPanelTest extends TestCase {
+
+	/**
+	 * The fixture for this YSplit Panel test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YSplitPanel fixture = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YSplitPanelTest.class);
+	}
+
+	/**
+	 * Constructs a new YSplit Panel test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YSplitPanelTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this YSplit Panel test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(YSplitPanel fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this YSplit Panel test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YSplitPanel getFixture() {
+		return fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(ExtensionModelFactory.eINSTANCE.createYSplitPanel());
+	}
+
+	/**
+	 * <!-- 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.extension.model.extension.YSplitPanel#getCellStyle(org.eclipse.osbp.ecview.core.common.model.core.YEmbeddable) <em>Get Cell Style</em>}' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.ecview.core.extension.model.extension.YSplitPanel#getCellStyle(org.eclipse.osbp.ecview.core.common.model.core.YEmbeddable)
+	 * @generated
+	 */
+	public void testGetCellStyle__YEmbeddable() {
+		// TODO: implement this operation test method
+		// Ensure that you remove @generated or mark it @generated NOT
+		fail();
+	}
+
+} //YSplitPanelTest
diff --git a/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YSuggestTextFieldTest.java b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YSuggestTextFieldTest.java
new file mode 100644
index 0000000..97dda65
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YSuggestTextFieldTest.java
@@ -0,0 +1,89 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.extension.model.extension.tests;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.core.extension.model.extension.ExtensionModelFactory;
+import org.eclipse.osbp.ecview.core.extension.model.extension.YSuggestTextField;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YSuggest Text Field</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following operations are tested:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.ecview.core.common.model.core.YValueBindable#createValueEndpoint() <em>Create Value Endpoint</em>}</li>
+ * </ul>
+ * </p>
+ * @generated
+ */
+public class YSuggestTextFieldTest extends YInputTest {
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YSuggestTextFieldTest.class);
+	}
+
+	/**
+	 * Constructs a new YSuggest Text Field test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YSuggestTextFieldTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Returns the fixture for this YSuggest Text Field test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected YSuggestTextField getFixture() {
+		return (YSuggestTextField)fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(ExtensionModelFactory.eINSTANCE.createYSuggestTextField());
+	}
+
+	/**
+	 * <!-- 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.YValueBindable#createValueEndpoint() <em>Create Value Endpoint</em>}' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.ecview.core.common.model.core.YValueBindable#createValueEndpoint()
+	 * @generated
+	 */
+	public void testCreateValueEndpoint() {
+		// TODO: implement this operation test method
+		// Ensure that you remove @generated or mark it @generated NOT
+		fail();
+	}
+
+} //YSuggestTextFieldTest
diff --git a/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YTabSheetTest.java b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YTabSheetTest.java
new file mode 100644
index 0000000..b416ddc
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YTabSheetTest.java
@@ -0,0 +1,89 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.extension.model.extension.tests;
+
+import junit.framework.TestCase;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.core.extension.model.extension.ExtensionModelFactory;
+import org.eclipse.osbp.ecview.core.extension.model.extension.YTabSheet;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YTab Sheet</b></em>'.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class YTabSheetTest extends TestCase {
+
+	/**
+	 * The fixture for this YTab Sheet test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YTabSheet fixture = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YTabSheetTest.class);
+	}
+
+	/**
+	 * Constructs a new YTab Sheet test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YTabSheetTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this YTab Sheet test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(YTabSheet fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this YTab Sheet test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YTabSheet getFixture() {
+		return fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(ExtensionModelFactory.eINSTANCE.createYTabSheet());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#tearDown()
+	 * @generated
+	 */
+	@Override
+	protected void tearDown() throws Exception {
+		setFixture(null);
+	}
+
+} //YTabSheetTest
diff --git a/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YTabTest.java b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YTabTest.java
new file mode 100644
index 0000000..cca90ee
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YTabTest.java
@@ -0,0 +1,108 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.extension.model.extension.tests;
+
+import junit.framework.TestCase;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.core.extension.model.extension.ExtensionModelFactory;
+import org.eclipse.osbp.ecview.core.extension.model.extension.YTab;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YTab</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following operations are tested:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.ecview.core.extension.model.extension.YTab#getView() <em>Get View</em>}</li>
+ * </ul>
+ * </p>
+ * @generated
+ */
+public class YTabTest extends TestCase {
+
+	/**
+	 * The fixture for this YTab test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YTab fixture = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YTabTest.class);
+	}
+
+	/**
+	 * Constructs a new YTab test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YTabTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this YTab test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(YTab fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this YTab test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YTab getFixture() {
+		return fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(ExtensionModelFactory.eINSTANCE.createYTab());
+	}
+
+	/**
+	 * <!-- 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.extension.model.extension.YTab#getView() <em>Get View</em>}' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.ecview.core.extension.model.extension.YTab#getView()
+	 * @generated
+	 */
+	public void testGetView() {
+		// TODO: implement this operation test method
+		// Ensure that you remove @generated or mark it @generated NOT
+		fail();
+	}
+
+} //YTabTest
diff --git a/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YTableTest.java b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YTableTest.java
new file mode 100644
index 0000000..5881c37
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YTableTest.java
@@ -0,0 +1,117 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.extension.model.extension.tests;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.core.extension.model.extension.ExtensionModelFactory;
+import org.eclipse.osbp.ecview.core.extension.model.extension.YTable;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YTable</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following operations are tested:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.ecview.core.common.model.core.YMultiSelectionBindable#createMultiSelectionEndpoint() <em>Create Multi Selection Endpoint</em>}</li>
+ *   <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 YTableTest extends YInputTest {
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YTableTest.class);
+	}
+
+	/**
+	 * Constructs a new YTable test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YTableTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Returns the fixture for this YTable test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected YTable getFixture() {
+		return (YTable)fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(ExtensionModelFactory.eINSTANCE.createYTable());
+	}
+
+	/**
+	 * <!-- 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.YMultiSelectionBindable#createMultiSelectionEndpoint() <em>Create Multi Selection Endpoint</em>}' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.ecview.core.common.model.core.YMultiSelectionBindable#createMultiSelectionEndpoint()
+	 * @generated
+	 */
+	public void testCreateMultiSelectionEndpoint() {
+		// 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.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();
+	}
+
+} //YTableTest
diff --git a/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YTextAreaTest.java b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YTextAreaTest.java
new file mode 100644
index 0000000..35bce30
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YTextAreaTest.java
@@ -0,0 +1,89 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.extension.model.extension.tests;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.core.extension.model.extension.ExtensionModelFactory;
+import org.eclipse.osbp.ecview.core.extension.model.extension.YTextArea;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YText Area</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following operations are tested:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.ecview.core.common.model.core.YValueBindable#createValueEndpoint() <em>Create Value Endpoint</em>}</li>
+ * </ul>
+ * </p>
+ * @generated
+ */
+public class YTextAreaTest extends YInputTest {
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YTextAreaTest.class);
+	}
+
+	/**
+	 * Constructs a new YText Area test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YTextAreaTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Returns the fixture for this YText Area test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected YTextArea getFixture() {
+		return (YTextArea)fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(ExtensionModelFactory.eINSTANCE.createYTextArea());
+	}
+
+	/**
+	 * <!-- 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.YValueBindable#createValueEndpoint() <em>Create Value Endpoint</em>}' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.ecview.core.common.model.core.YValueBindable#createValueEndpoint()
+	 * @generated
+	 */
+	public void testCreateValueEndpoint() {
+		// TODO: implement this operation test method
+		// Ensure that you remove @generated or mark it @generated NOT
+		fail();
+	}
+
+} //YTextAreaTest
diff --git a/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YTextFieldTest.java b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YTextFieldTest.java
new file mode 100644
index 0000000..daa2e29
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YTextFieldTest.java
@@ -0,0 +1,89 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.extension.model.extension.tests;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.core.extension.model.extension.ExtensionModelFactory;
+import org.eclipse.osbp.ecview.core.extension.model.extension.YTextField;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YText Field</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following operations are tested:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.ecview.core.common.model.core.YValueBindable#createValueEndpoint() <em>Create Value Endpoint</em>}</li>
+ * </ul>
+ * </p>
+ * @generated
+ */
+public class YTextFieldTest extends YInputTest {
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YTextFieldTest.class);
+	}
+
+	/**
+	 * Constructs a new YText Field test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YTextFieldTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Returns the fixture for this YText Field test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected YTextField getFixture() {
+		return (YTextField)fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(ExtensionModelFactory.eINSTANCE.createYTextField());
+	}
+
+	/**
+	 * <!-- 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.YValueBindable#createValueEndpoint() <em>Create Value Endpoint</em>}' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.ecview.core.common.model.core.YValueBindable#createValueEndpoint()
+	 * @generated
+	 */
+	public void testCreateValueEndpoint() {
+		// TODO: implement this operation test method
+		// Ensure that you remove @generated or mark it @generated NOT
+		fail();
+	}
+
+} //YTextFieldTest
diff --git a/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YTextSearchFieldTest.java b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YTextSearchFieldTest.java
new file mode 100644
index 0000000..f2f0364
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YTextSearchFieldTest.java
@@ -0,0 +1,89 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.extension.model.extension.tests;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.core.extension.model.extension.ExtensionModelFactory;
+import org.eclipse.osbp.ecview.core.extension.model.extension.YTextSearchField;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YText Search Field</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following operations are tested:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.ecview.core.common.model.core.YValueBindable#createValueEndpoint() <em>Create Value Endpoint</em>}</li>
+ * </ul>
+ * </p>
+ * @generated
+ */
+public class YTextSearchFieldTest extends YInputTest {
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YTextSearchFieldTest.class);
+	}
+
+	/**
+	 * Constructs a new YText Search Field test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YTextSearchFieldTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Returns the fixture for this YText Search Field test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected YTextSearchField getFixture() {
+		return (YTextSearchField)fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(ExtensionModelFactory.eINSTANCE.createYTextSearchField());
+	}
+
+	/**
+	 * <!-- 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.YValueBindable#createValueEndpoint() <em>Create Value Endpoint</em>}' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.ecview.core.common.model.core.YValueBindable#createValueEndpoint()
+	 * @generated
+	 */
+	public void testCreateValueEndpoint() {
+		// TODO: implement this operation test method
+		// Ensure that you remove @generated or mark it @generated NOT
+		fail();
+	}
+
+} //YTextSearchFieldTest
diff --git a/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YToggleButtonTest.java b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YToggleButtonTest.java
new file mode 100644
index 0000000..b743a53
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YToggleButtonTest.java
@@ -0,0 +1,121 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.extension.model.extension.tests;
+
+import junit.framework.TestCase;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.core.extension.model.extension.ExtensionModelFactory;
+import org.eclipse.osbp.ecview.core.extension.model.extension.YToggleButton;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YToggle Button</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are tested:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.ecview.core.common.model.core.YActivateable#isActivated() <em>Activated</em>}</li>
+ * </ul>
+ * </p>
+ * @generated
+ */
+public class YToggleButtonTest extends TestCase {
+
+	/**
+	 * The fixture for this YToggle Button test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YToggleButton fixture = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YToggleButtonTest.class);
+	}
+
+	/**
+	 * Constructs a new YToggle Button test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YToggleButtonTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this YToggle Button test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(YToggleButton fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this YToggle Button test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YToggleButton getFixture() {
+		return fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(ExtensionModelFactory.eINSTANCE.createYToggleButton());
+	}
+
+	/**
+	 * <!-- 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.YActivateable#isActivated() <em>Activated</em>}' feature getter.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.ecview.core.common.model.core.YActivateable#isActivated()
+	 * @generated
+	 */
+	public void testIsActivated() {
+		// TODO: implement this feature getter test method
+		// Ensure that you remove @generated or mark it @generated NOT
+		fail();
+	}
+
+	/**
+	 * Tests the '{@link org.eclipse.osbp.ecview.core.common.model.core.YActivateable#setActivated(boolean) <em>Activated</em>}' feature setter.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.ecview.core.common.model.core.YActivateable#setActivated(boolean)
+	 * @generated
+	 */
+	public void testSetActivated() {
+		// TODO: implement this feature setter test method
+		// Ensure that you remove @generated or mark it @generated NOT
+		fail();
+	}
+
+} //YToggleButtonTest
diff --git a/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YTreeTest.java b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YTreeTest.java
new file mode 100644
index 0000000..1280e54
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YTreeTest.java
@@ -0,0 +1,117 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.extension.model.extension.tests;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.core.extension.model.extension.ExtensionModelFactory;
+import org.eclipse.osbp.ecview.core.extension.model.extension.YTree;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YTree</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following operations are tested:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.ecview.core.common.model.core.YMultiSelectionBindable#createMultiSelectionEndpoint() <em>Create Multi Selection Endpoint</em>}</li>
+ *   <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 YTreeTest extends YInputTest {
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YTreeTest.class);
+	}
+
+	/**
+	 * Constructs a new YTree test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YTreeTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Returns the fixture for this YTree test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected YTree getFixture() {
+		return (YTree)fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(ExtensionModelFactory.eINSTANCE.createYTree());
+	}
+
+	/**
+	 * <!-- 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.YMultiSelectionBindable#createMultiSelectionEndpoint() <em>Create Multi Selection Endpoint</em>}' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.ecview.core.common.model.core.YMultiSelectionBindable#createMultiSelectionEndpoint()
+	 * @generated
+	 */
+	public void testCreateMultiSelectionEndpoint() {
+		// 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.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();
+	}
+
+} //YTreeTest
diff --git a/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YVerticalLayoutCellStyleTest.java b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YVerticalLayoutCellStyleTest.java
new file mode 100644
index 0000000..e371507
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YVerticalLayoutCellStyleTest.java
@@ -0,0 +1,89 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.extension.model.extension.tests;
+
+import junit.framework.TestCase;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.core.extension.model.extension.ExtensionModelFactory;
+import org.eclipse.osbp.ecview.core.extension.model.extension.YVerticalLayoutCellStyle;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YVertical Layout Cell Style</b></em>'.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class YVerticalLayoutCellStyleTest extends TestCase {
+
+	/**
+	 * The fixture for this YVertical Layout Cell Style test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YVerticalLayoutCellStyle fixture = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YVerticalLayoutCellStyleTest.class);
+	}
+
+	/**
+	 * Constructs a new YVertical Layout Cell Style test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YVerticalLayoutCellStyleTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this YVertical Layout Cell Style test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(YVerticalLayoutCellStyle fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this YVertical Layout Cell Style test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YVerticalLayoutCellStyle getFixture() {
+		return fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(ExtensionModelFactory.eINSTANCE.createYVerticalLayoutCellStyle());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#tearDown()
+	 * @generated
+	 */
+	@Override
+	protected void tearDown() throws Exception {
+		setFixture(null);
+	}
+
+} //YVerticalLayoutCellStyleTest
diff --git a/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YVerticalLayoutTest.java b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YVerticalLayoutTest.java
new file mode 100644
index 0000000..990f3e8
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.extension.model.tests/src/org/eclipse/osbp/ecview/core/extension/model/extension/tests/YVerticalLayoutTest.java
@@ -0,0 +1,108 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.extension.model.extension.tests;
+
+import junit.framework.TestCase;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.osbp.ecview.core.extension.model.extension.ExtensionModelFactory;
+import org.eclipse.osbp.ecview.core.extension.model.extension.YVerticalLayout;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>YVertical Layout</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following operations are tested:
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.ecview.core.common.model.core.YAlignmentContainer#applyAlignment(org.eclipse.osbp.ecview.core.common.model.core.YEmbeddable, org.eclipse.osbp.ecview.core.common.model.core.YAlignment) <em>Apply Alignment</em>}</li>
+ * </ul>
+ * </p>
+ * @generated
+ */
+public class YVerticalLayoutTest extends TestCase {
+
+	/**
+	 * The fixture for this YVertical Layout test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YVerticalLayout fixture = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static void main(String[] args) {
+		TestRunner.run(YVerticalLayoutTest.class);
+	}
+
+	/**
+	 * Constructs a new YVertical Layout test case with the given name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YVerticalLayoutTest(String name) {
+		super(name);
+	}
+
+	/**
+	 * Sets the fixture for this YVertical Layout test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void setFixture(YVerticalLayout fixture) {
+		this.fixture = fixture;
+	}
+
+	/**
+	 * Returns the fixture for this YVertical Layout test case.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YVerticalLayout getFixture() {
+		return fixture;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see junit.framework.TestCase#setUp()
+	 * @generated
+	 */
+	@Override
+	protected void setUp() throws Exception {
+		setFixture(ExtensionModelFactory.eINSTANCE.createYVerticalLayout());
+	}
+
+	/**
+	 * <!-- 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.YAlignmentContainer#applyAlignment(org.eclipse.osbp.ecview.core.common.model.core.YEmbeddable, org.eclipse.osbp.ecview.core.common.model.core.YAlignment) <em>Apply Alignment</em>}' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.osbp.ecview.core.common.model.core.YAlignmentContainer#applyAlignment(org.eclipse.osbp.ecview.core.common.model.core.YEmbeddable, org.eclipse.osbp.ecview.core.common.model.core.YAlignment)
+	 * @generated
+	 */
+	public void testApplyAlignment__YEmbeddable_YAlignment() {
+		// TODO: implement this operation test method
+		// Ensure that you remove @generated or mark it @generated NOT
+		fail();
+	}
+
+} //YVerticalLayoutTest
diff --git a/org.eclipse.osbp.ecview.core.extension.model/.classpath b/org.eclipse.osbp.ecview.core.extension.model/.classpath
new file mode 100644
index 0000000..cf36b56
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.extension.model/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="src" path="src/"/>
+	<classpathentry kind="output" path="target/classes"/>
+</classpath>
diff --git a/org.eclipse.osbp.ecview.core.extension.model/.settings/org.eclipse.core.resources.prefs b/org.eclipse.osbp.ecview.core.extension.model/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..99f26c0
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.extension.model/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
diff --git a/org.eclipse.osbp.ecview.core.extension.model/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.osbp.ecview.core.extension.model/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..0c68a61
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.extension.model/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,7 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.8
diff --git a/org.eclipse.osbp.ecview.core.extension.model/.settings/org.eclipse.m2e.core.prefs b/org.eclipse.osbp.ecview.core.extension.model/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.extension.model/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/org.eclipse.osbp.ecview.core.extension.model/.settings/org.eclipse.xtend.core.Xtend.prefs b/org.eclipse.osbp.ecview.core.extension.model/.settings/org.eclipse.xtend.core.Xtend.prefs
new file mode 100644
index 0000000..19e3115
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.extension.model/.settings/org.eclipse.xtend.core.Xtend.prefs
@@ -0,0 +1,11 @@
+//outlet.DEFAULT_OUTPUT.sourceFolder.src/test/java.directory=src/test/generated-sources/xtend
+BuilderConfiguration.is_project_specific=true
+eclipse.preferences.version=1
+is_project_specific=true
+outlet.DEFAULT_OUTPUT.hideLocalSyntheticVariables=true
+outlet.DEFAULT_OUTPUT.installDslAsPrimarySource=false
+outlet.DEFAULT_OUTPUT.sourceFolder.emf-gen.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.sourceFolder.src-gen.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.sourceFolder.src.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.sourceFolder.xtend-gen.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.userOutputPerSourceFolder=true
diff --git a/org.eclipse.osbp.ecview.core.extension.model/src/org/eclipse/osbp/ecview/core/extension/model/extension/YFilterDescriptor.java b/org.eclipse.osbp.ecview.core.extension.model/src/org/eclipse/osbp/ecview/core/extension/model/extension/YFilterDescriptor.java
new file mode 100644
index 0000000..9d07bc3
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.extension.model/src/org/eclipse/osbp/ecview/core/extension/model/extension/YFilterDescriptor.java
@@ -0,0 +1,81 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.extension.model.extension;
+
+import org.eclipse.osbp.ecview.core.common.model.core.YCssAble;
+import org.eclipse.osbp.ecview.core.common.model.core.YElement;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>YFilter Descriptor</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.ecview.core.extension.model.extension.YFilterDescriptor#getPropertyPath <em>Property Path</em>}</li>
+ *   <li>{@link org.eclipse.osbp.ecview.core.extension.model.extension.YFilterDescriptor#getType <em>Type</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.osbp.ecview.core.extension.model.extension.ExtensionModelPackage#getYFilterDescriptor()
+ * @model
+ * @generated
+ */
+public interface YFilterDescriptor extends YElement, YCssAble {
+
+	/**
+	 * Returns the value of the '<em><b>Property Path</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Property Path</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Property Path</em>' attribute.
+	 * @see #setPropertyPath(String)
+	 * @see org.eclipse.osbp.ecview.core.extension.model.extension.ExtensionModelPackage#getYFilterDescriptor_PropertyPath()
+	 * @model
+	 * @generated
+	 */
+	String getPropertyPath();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.ecview.core.extension.model.extension.YFilterDescriptor#getPropertyPath <em>Property Path</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Property Path</em>' attribute.
+	 * @see #getPropertyPath()
+	 * @generated
+	 */
+	void setPropertyPath(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Type</b></em>' attribute.
+	 * The literals are from the enumeration {@link org.eclipse.osbp.ecview.core.extension.model.extension.YFilteringType}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>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>Type</em>' attribute.
+	 * @see org.eclipse.osbp.ecview.core.extension.model.extension.YFilteringType
+	 * @see #setType(YFilteringType)
+	 * @see org.eclipse.osbp.ecview.core.extension.model.extension.ExtensionModelPackage#getYFilterDescriptor_Type()
+	 * @model
+	 * @generated
+	 */
+	YFilteringType getType();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.ecview.core.extension.model.extension.YFilterDescriptor#getType <em>Type</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Type</em>' attribute.
+	 * @see org.eclipse.osbp.ecview.core.extension.model.extension.YFilteringType
+	 * @see #getType()
+	 * @generated
+	 */
+	void setType(YFilteringType value);
+} // YFilterDescriptor
diff --git a/org.eclipse.osbp.ecview.core.extension.model/src/org/eclipse/osbp/ecview/core/extension/model/extension/YFilterTableDescriptor.java b/org.eclipse.osbp.ecview.core.extension.model/src/org/eclipse/osbp/ecview/core/extension/model/extension/YFilterTableDescriptor.java
new file mode 100644
index 0000000..70b16c5
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.extension.model/src/org/eclipse/osbp/ecview/core/extension/model/extension/YFilterTableDescriptor.java
@@ -0,0 +1,51 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.extension.model.extension;
+
+import org.eclipse.osbp.ecview.core.common.model.core.YCssAble;
+import org.eclipse.osbp.ecview.core.common.model.core.YElement;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>YFilter Table Descriptor</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.ecview.core.extension.model.extension.YFilterTableDescriptor#getPropertyPath <em>Property Path</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.osbp.ecview.core.extension.model.extension.ExtensionModelPackage#getYFilterTableDescriptor()
+ * @model
+ * @generated
+ */
+public interface YFilterTableDescriptor extends YElement, YCssAble {
+	/**
+	 * Returns the value of the '<em><b>Property Path</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Property Path</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Property Path</em>' attribute.
+	 * @see #setPropertyPath(String)
+	 * @see org.eclipse.osbp.ecview.core.extension.model.extension.ExtensionModelPackage#getYFilterTableDescriptor_PropertyPath()
+	 * @model
+	 * @generated
+	 */
+	String getPropertyPath();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.ecview.core.extension.model.extension.YFilterTableDescriptor#getPropertyPath <em>Property Path</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Property Path</em>' attribute.
+	 * @see #getPropertyPath()
+	 * @generated
+	 */
+	void setPropertyPath(String value);
+
+} // YFilterTableDescriptor
diff --git a/org.eclipse.osbp.ecview.core.extension.model/src/org/eclipse/osbp/ecview/core/extension/model/extension/YFilteringComponent.java b/org.eclipse.osbp.ecview.core.extension.model/src/org/eclipse/osbp/ecview/core/extension/model/extension/YFilteringComponent.java
new file mode 100644
index 0000000..6655201
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.extension.model/src/org/eclipse/osbp/ecview/core/extension/model/extension/YFilteringComponent.java
@@ -0,0 +1,340 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.extension.model.extension;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.osbp.ecview.core.common.model.core.YEmbeddable;
+import org.eclipse.osbp.ecview.core.common.model.core.YMarginable;
+import org.eclipse.osbp.ecview.core.common.model.core.YSpacingable;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object
+ * '<em><b>YFiltering Component</b></em>'. <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.ecview.core.extension.model.extension.YFilteringComponent#getType <em>Type</em>}</li>
+ *   <li>{@link org.eclipse.osbp.ecview.core.extension.model.extension.YFilteringComponent#getEmfNsURI <em>Emf Ns URI</em>}</li>
+ *   <li>{@link org.eclipse.osbp.ecview.core.extension.model.extension.YFilteringComponent#getTypeQualifiedName <em>Type Qualified Name</em>}</li>
+ *   <li>{@link org.eclipse.osbp.ecview.core.extension.model.extension.YFilteringComponent#getApplyFilter <em>Apply Filter</em>}</li>
+ *   <li>{@link org.eclipse.osbp.ecview.core.extension.model.extension.YFilteringComponent#getResetFilter <em>Reset Filter</em>}</li>
+ *   <li>{@link org.eclipse.osbp.ecview.core.extension.model.extension.YFilteringComponent#getFilter <em>Filter</em>}</li>
+ *   <li>{@link org.eclipse.osbp.ecview.core.extension.model.extension.YFilteringComponent#getFilterDescriptors <em>Filter Descriptors</em>}</li>
+ *   <li>{@link org.eclipse.osbp.ecview.core.extension.model.extension.YFilteringComponent#getTableDescriptors <em>Table Descriptors</em>}</li>
+ *   <li>{@link org.eclipse.osbp.ecview.core.extension.model.extension.YFilteringComponent#getSelectionBeanSlotName <em>Selection Bean Slot Name</em>}</li>
+ *   <li>{@link org.eclipse.osbp.ecview.core.extension.model.extension.YFilteringComponent#getFilterCols <em>Filter Cols</em>}</li>
+ *   <li>{@link org.eclipse.osbp.ecview.core.extension.model.extension.YFilteringComponent#isHideGrid <em>Hide Grid</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.osbp.ecview.core.extension.model.extension.ExtensionModelPackage#getYFilteringComponent()
+ * @model
+ * @generated
+ */
+public interface YFilteringComponent extends YEmbeddable, YSpacingable, YMarginable {
+	/**
+	 * Returns the value of the '<em><b>Type</b></em>' attribute. <!--
+	 * begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>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>Type</em>' attribute.
+	 * @see #setType(Class)
+	 * @see org.eclipse.osbp.ecview.core.extension.model.extension.ExtensionModelPackage#getYFilteringComponent_Type()
+	 * @model
+	 * @generated
+	 */
+	Class<?> getType();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.ecview.core.extension.model.extension.YFilteringComponent#getType <em>Type</em>}' attribute.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Type</em>' attribute.
+	 * @see #getType()
+	 * @generated
+	 */
+	void setType(Class<?> value);
+
+	/**
+	 * Returns the value of the '<em><b>Emf Ns URI</b></em>' attribute. <!--
+	 * begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Emf Ns URI</em>' attribute isn't clear, there
+	 * really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * 
+	 * @return the value of the '<em>Emf Ns URI</em>' attribute.
+	 * @see #setEmfNsURI(String)
+	 * @see org.eclipse.osbp.ecview.core.extension.model.extension.ExtensionModelPackage#getYFilteringComponent_EmfNsURI()
+	 * @model
+	 * @generated
+	 */
+	String getEmfNsURI();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.ecview.core.extension.model.extension.YFilteringComponent#getEmfNsURI <em>Emf Ns URI</em>}' attribute.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 * @param value the new value of the '<em>Emf Ns URI</em>' attribute.
+	 * @see #getEmfNsURI()
+	 * @generated
+	 */
+	void setEmfNsURI(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Type Qualified Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Type Qualified Name</em>' attribute isn't
+	 * clear, there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Type Qualified Name</em>' attribute.
+	 * @see #setTypeQualifiedName(String)
+	 * @see org.eclipse.osbp.ecview.core.extension.model.extension.ExtensionModelPackage#getYFilteringComponent_TypeQualifiedName()
+	 * @model
+	 * @generated
+	 */
+	String getTypeQualifiedName();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.ecview.core.extension.model.extension.YFilteringComponent#getTypeQualifiedName <em>Type Qualified Name</em>}' attribute.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 * @param value the new value of the '<em>Type Qualified Name</em>' attribute.
+	 * @see #getTypeQualifiedName()
+	 * @generated
+	 */
+	void setTypeQualifiedName(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Apply Filter</b></em>' attribute. <!--
+	 * begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Apply Filter</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * 
+	 * @return the value of the '<em>Apply Filter</em>' attribute.
+	 * @see #setApplyFilter(Object)
+	 * @see org.eclipse.osbp.ecview.core.extension.model.extension.ExtensionModelPackage#getYFilteringComponent_ApplyFilter()
+	 * @model transient="true"
+	 * @generated
+	 */
+	Object getApplyFilter();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.ecview.core.extension.model.extension.YFilteringComponent#getApplyFilter <em>Apply Filter</em>}' attribute.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 * @param value the new value of the '<em>Apply Filter</em>' attribute.
+	 * @see #getApplyFilter()
+	 * @generated
+	 */
+	void setApplyFilter(Object value);
+
+	/**
+	 * Returns the value of the '<em><b>Reset Filter</b></em>' attribute. <!--
+	 * begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Reset Filter</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * 
+	 * @return the value of the '<em>Reset Filter</em>' attribute.
+	 * @see #setResetFilter(Object)
+	 * @see org.eclipse.osbp.ecview.core.extension.model.extension.ExtensionModelPackage#getYFilteringComponent_ResetFilter()
+	 * @model transient="true"
+	 * @generated
+	 */
+	Object getResetFilter();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.ecview.core.extension.model.extension.YFilteringComponent#getResetFilter <em>Reset Filter</em>}' attribute.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 * @param value the new value of the '<em>Reset Filter</em>' attribute.
+	 * @see #getResetFilter()
+	 * @generated
+	 */
+	void setResetFilter(Object value);
+
+	/**
+	 * Returns the value of the '<em><b>Filter</b></em>' attribute. <!--
+	 * begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Filter</em>' attribute isn't clear, there
+	 * really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * 
+	 * @return the value of the '<em>Filter</em>' attribute.
+	 * @see #setFilter(Object)
+	 * @see org.eclipse.osbp.ecview.core.extension.model.extension.ExtensionModelPackage#getYFilteringComponent_Filter()
+	 * @model transient="true"
+	 * @generated
+	 */
+	Object getFilter();
+
+	/**
+	 * Sets the value of the
+	 * '{@link org.eclipse.osbp.ecview.core.extension.model.extension.YFilteringComponent#getFilter
+	 * <em>Filter</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+	 * -->
+	 * 
+	 * @param value
+	 *            the new value of the '<em>Filter</em>' attribute.
+	 * @see #getFilter()
+	 * @generated
+	 */
+	void setFilter(Object value);
+
+	/**
+	 * Returns the value of the '<em><b>Filter Descriptors</b></em>' containment reference list.
+	 * The list contents are of type {@link org.eclipse.osbp.ecview.core.extension.model.extension.YFilterDescriptor}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Filter Descriptors</em>' containment reference
+	 * list isn't clear, there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Filter Descriptors</em>' containment reference list.
+	 * @see org.eclipse.osbp.ecview.core.extension.model.extension.ExtensionModelPackage#getYFilteringComponent_FilterDescriptors()
+	 * @model containment="true" resolveProxies="true"
+	 * @generated
+	 */
+	EList<YFilterDescriptor> getFilterDescriptors();
+
+	/**
+	 * Returns the value of the '<em><b>Table Descriptors</b></em>' containment reference list.
+	 * The list contents are of type {@link org.eclipse.osbp.ecview.core.extension.model.extension.YFilterTableDescriptor}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Table Descriptors</em>' containment reference
+	 * list isn't clear, there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Table Descriptors</em>' containment reference list.
+	 * @see org.eclipse.osbp.ecview.core.extension.model.extension.ExtensionModelPackage#getYFilteringComponent_TableDescriptors()
+	 * @model containment="true" resolveProxies="true"
+	 * @generated
+	 */
+	EList<YFilterTableDescriptor> getTableDescriptors();
+
+	/**
+	 * Returns the value of the '<em><b>Selection Bean Slot Name</b></em>' attribute.
+	 * The default value is <code>"$$intern_searchDialogSelection"</code>.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Selection Bean Slot Name</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Selection Bean Slot Name</em>' attribute.
+	 * @see #setSelectionBeanSlotName(String)
+	 * @see org.eclipse.osbp.ecview.core.extension.model.extension.ExtensionModelPackage#getYFilteringComponent_SelectionBeanSlotName()
+	 * @model default="$$intern_searchDialogSelection"
+	 * @generated
+	 */
+	String getSelectionBeanSlotName();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.ecview.core.extension.model.extension.YFilteringComponent#getSelectionBeanSlotName <em>Selection Bean Slot Name</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Selection Bean Slot Name</em>' attribute.
+	 * @see #getSelectionBeanSlotName()
+	 * @generated
+	 */
+	void setSelectionBeanSlotName(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Filter Cols</b></em>' attribute.
+	 * The default value is <code>"2"</code>.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Filter Cols</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Filter Cols</em>' attribute.
+	 * @see #setFilterCols(int)
+	 * @see org.eclipse.osbp.ecview.core.extension.model.extension.ExtensionModelPackage#getYFilteringComponent_FilterCols()
+	 * @model default="2"
+	 * @generated
+	 */
+	int getFilterCols();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.ecview.core.extension.model.extension.YFilteringComponent#getFilterCols <em>Filter Cols</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Filter Cols</em>' attribute.
+	 * @see #getFilterCols()
+	 * @generated
+	 */
+	void setFilterCols(int value);
+
+	/**
+	 * Returns the value of the '<em><b>Hide Grid</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Hide Grid</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Hide Grid</em>' attribute.
+	 * @see #setHideGrid(boolean)
+	 * @see org.eclipse.osbp.ecview.core.extension.model.extension.ExtensionModelPackage#getYFilteringComponent_HideGrid()
+	 * @model
+	 * @generated
+	 */
+	boolean isHideGrid();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.ecview.core.extension.model.extension.YFilteringComponent#isHideGrid <em>Hide Grid</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Hide Grid</em>' attribute.
+	 * @see #isHideGrid()
+	 * @generated
+	 */
+	void setHideGrid(boolean value);
+
+	/**
+	 * Adds a new descriptor.
+	 * 
+	 * @param desc
+	 */
+	void addFilterDescriptor(YFilterDescriptor desc);
+
+	/**
+	 * Adds a new descriptor.
+	 * 
+	 * @param type
+	 * @param propertyPath
+	 */
+	void addFilterDescriptor(YFilteringType type, String propertyPath);
+
+	/**
+	 * Adds a new table descriptor.
+	 * 
+	 * @param desc
+	 */
+	void addTableDescriptor(YFilterTableDescriptor desc);
+
+	/**
+	 * Adds a new table descriptor.
+	 * 
+	 * @param propertyPath
+	 */
+	void addTableDescriptor(String propertyPath);
+
+} // YFilteringComponent
diff --git a/org.eclipse.osbp.ecview.core.extension.model/src/org/eclipse/osbp/ecview/core/extension/model/extension/YFilteringType.java b/org.eclipse.osbp.ecview.core.extension.model/src/org/eclipse/osbp/ecview/core/extension/model/extension/YFilteringType.java
new file mode 100644
index 0000000..836af91
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.extension.model/src/org/eclipse/osbp/ecview/core/extension/model/extension/YFilteringType.java
@@ -0,0 +1,214 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.extension.model.extension;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.emf.common.util.Enumerator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the literals of the enumeration '<em><b>YFiltering Type</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.osbp.ecview.core.extension.model.extension.ExtensionModelPackage#getYFilteringType()
+ * @model
+ * @generated
+ */
+public enum YFilteringType implements Enumerator {
+	/**
+	 * The '<em><b>COMPARE</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #COMPARE_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	COMPARE(0, "COMPARE", "COMPARE"),
+
+	/**
+	 * The '<em><b>RANGE</b></em>' literal object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #RANGE_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	RANGE(1, "RANGE", "RANGE");
+
+	/**
+	 * The '<em><b>COMPARE</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>COMPARE</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @see #COMPARE
+	 * @model
+	 * @generated
+	 * @ordered
+	 */
+	public static final int COMPARE_VALUE = 0;
+
+	/**
+	 * The '<em><b>RANGE</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>RANGE</b></em>' literal object isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @see #RANGE
+	 * @model
+	 * @generated
+	 * @ordered
+	 */
+	public static final int RANGE_VALUE = 1;
+
+	/**
+	 * An array of all the '<em><b>YFiltering Type</b></em>' enumerators.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private static final YFilteringType[] VALUES_ARRAY =
+		new YFilteringType[] {
+			COMPARE,
+			RANGE,
+		};
+
+	/**
+	 * A public read-only list of all the '<em><b>YFiltering Type</b></em>' enumerators.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final List<YFilteringType> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+	/**
+	 * Returns the '<em><b>YFiltering Type</b></em>' literal with the specified literal value.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param literal the literal.
+	 * @return the matching enumerator or <code>null</code>.
+	 * @generated
+	 */
+	public static YFilteringType get(String literal) {
+		for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+			YFilteringType result = VALUES_ARRAY[i];
+			if (result.toString().equals(literal)) {
+				return result;
+			}
+		}
+		return null;
+	}
+
+	/**
+	 * Returns the '<em><b>YFiltering Type</b></em>' literal with the specified name.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param name the name.
+	 * @return the matching enumerator or <code>null</code>.
+	 * @generated
+	 */
+	public static YFilteringType getByName(String name) {
+		for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+			YFilteringType result = VALUES_ARRAY[i];
+			if (result.getName().equals(name)) {
+				return result;
+			}
+		}
+		return null;
+	}
+
+	/**
+	 * Returns the '<em><b>YFiltering Type</b></em>' literal with the specified integer value.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the integer value.
+	 * @return the matching enumerator or <code>null</code>.
+	 * @generated
+	 */
+	public static YFilteringType get(int value) {
+		switch (value) {
+			case COMPARE_VALUE: return COMPARE;
+			case RANGE_VALUE: return RANGE;
+		}
+		return null;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private final int value;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private final String name;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private final String literal;
+
+	/**
+	 * Only this class can construct instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private YFilteringType(int value, String name, String literal) {
+		this.value = value;
+		this.name = name;
+		this.literal = literal;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public int getValue() {
+	  return value;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getName() {
+	  return name;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getLiteral() {
+	  return literal;
+	}
+
+	/**
+	 * Returns the literal value of the enumerator, which is its string representation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		return literal;
+	}
+	
+} //YFilteringType
diff --git a/org.eclipse.osbp.ecview.core.extension.model/src/org/eclipse/osbp/ecview/core/extension/model/extension/YKanban.java b/org.eclipse.osbp.ecview.core.extension.model/src/org/eclipse/osbp/ecview/core/extension/model/extension/YKanban.java
new file mode 100644
index 0000000..c706a69
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.extension.model/src/org/eclipse/osbp/ecview/core/extension/model/extension/YKanban.java
@@ -0,0 +1,325 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.extension.model.extension;
+
+import org.eclipse.osbp.ecview.core.common.model.core.YSelectionBindable;
+
+import org.eclipse.osbp.ecview.core.common.model.datatypes.YDatadescription;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>YKanban</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.ecview.core.extension.model.extension.YKanban#getDatadescription <em>Datadescription</em>}</li>
+ *   <li>{@link org.eclipse.osbp.ecview.core.extension.model.extension.YKanban#getSelectionType <em>Selection Type</em>}</li>
+ *   <li>{@link org.eclipse.osbp.ecview.core.extension.model.extension.YKanban#getSelection <em>Selection</em>}</li>
+ *   <li>{@link org.eclipse.osbp.ecview.core.extension.model.extension.YKanban#getType <em>Type</em>}</li>
+ *   <li>{@link org.eclipse.osbp.ecview.core.extension.model.extension.YKanban#getEmfNsURI <em>Emf Ns URI</em>}</li>
+ *   <li>{@link org.eclipse.osbp.ecview.core.extension.model.extension.YKanban#getTypeQualifiedName <em>Type Qualified Name</em>}</li>
+ *   <li>{@link org.eclipse.osbp.ecview.core.extension.model.extension.YKanban#getCardECViewId <em>Card EC View Id</em>}</li>
+ *   <li>{@link org.eclipse.osbp.ecview.core.extension.model.extension.YKanban#getEditDialogId <em>Edit Dialog Id</em>}</li>
+ *   <li>{@link org.eclipse.osbp.ecview.core.extension.model.extension.YKanban#getDoubleClicked <em>Double Clicked</em>}</li>
+ *   <li>{@link org.eclipse.osbp.ecview.core.extension.model.extension.YKanban#getStateChanged <em>State Changed</em>}</li>
+ *   <li>{@link org.eclipse.osbp.ecview.core.extension.model.extension.YKanban#getToRefresh <em>To Refresh</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.osbp.ecview.core.extension.model.extension.ExtensionModelPackage#getYKanban()
+ * @model
+ * @generated
+ */
+public interface YKanban extends YInput, YSelectionBindable, YBeanServiceConsumer {
+	/**
+	 * Returns the value of the '<em><b>Datadescription</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Datadescription</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Datadescription</em>' reference.
+	 * @see #setDatadescription(YDatadescription)
+	 * @see org.eclipse.osbp.ecview.core.extension.model.extension.ExtensionModelPackage#getYKanban_Datadescription()
+	 * @model
+	 * @generated
+	 */
+	YDatadescription getDatadescription();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.ecview.core.extension.model.extension.YKanban#getDatadescription <em>Datadescription</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Datadescription</em>' reference.
+	 * @see #getDatadescription()
+	 * @generated
+	 */
+	void setDatadescription(YDatadescription value);
+
+	/**
+	 * Returns the value of the '<em><b>Selection Type</b></em>' attribute.
+	 * The literals are from the enumeration {@link org.eclipse.osbp.ecview.core.extension.model.extension.YSelectionType}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Selection 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>Selection Type</em>' attribute.
+	 * @see org.eclipse.osbp.ecview.core.extension.model.extension.YSelectionType
+	 * @see #setSelectionType(YSelectionType)
+	 * @see org.eclipse.osbp.ecview.core.extension.model.extension.ExtensionModelPackage#getYKanban_SelectionType()
+	 * @model
+	 * @generated
+	 */
+	YSelectionType getSelectionType();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.ecview.core.extension.model.extension.YKanban#getSelectionType <em>Selection Type</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Selection Type</em>' attribute.
+	 * @see org.eclipse.osbp.ecview.core.extension.model.extension.YSelectionType
+	 * @see #getSelectionType()
+	 * @generated
+	 */
+	void setSelectionType(YSelectionType value);
+
+	/**
+	 * Returns the value of the '<em><b>Selection</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Selection</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Selection</em>' attribute.
+	 * @see #setSelection(Object)
+	 * @see org.eclipse.osbp.ecview.core.extension.model.extension.ExtensionModelPackage#getYKanban_Selection()
+	 * @model transient="true"
+	 * @generated
+	 */
+	Object getSelection();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.ecview.core.extension.model.extension.YKanban#getSelection <em>Selection</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Selection</em>' attribute.
+	 * @see #getSelection()
+	 * @generated
+	 */
+	void setSelection(Object value);
+
+	/**
+	 * Returns the value of the '<em><b>Type</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>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>Type</em>' attribute.
+	 * @see #setType(Class)
+	 * @see org.eclipse.osbp.ecview.core.extension.model.extension.ExtensionModelPackage#getYKanban_Type()
+	 * @model
+	 * @generated
+	 */
+	Class<?> getType();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.ecview.core.extension.model.extension.YKanban#getType <em>Type</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Type</em>' attribute.
+	 * @see #getType()
+	 * @generated
+	 */
+	void setType(Class<?> value);
+
+	/**
+	 * Returns the value of the '<em><b>Emf Ns URI</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Emf Ns URI</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Emf Ns URI</em>' attribute.
+	 * @see #setEmfNsURI(String)
+	 * @see org.eclipse.osbp.ecview.core.extension.model.extension.ExtensionModelPackage#getYKanban_EmfNsURI()
+	 * @model
+	 * @generated
+	 */
+	String getEmfNsURI();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.ecview.core.extension.model.extension.YKanban#getEmfNsURI <em>Emf Ns URI</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Emf Ns URI</em>' attribute.
+	 * @see #getEmfNsURI()
+	 * @generated
+	 */
+	void setEmfNsURI(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Type Qualified Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Type Qualified Name</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Type Qualified Name</em>' attribute.
+	 * @see #setTypeQualifiedName(String)
+	 * @see org.eclipse.osbp.ecview.core.extension.model.extension.ExtensionModelPackage#getYKanban_TypeQualifiedName()
+	 * @model
+	 * @generated
+	 */
+	String getTypeQualifiedName();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.ecview.core.extension.model.extension.YKanban#getTypeQualifiedName <em>Type Qualified Name</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Type Qualified Name</em>' attribute.
+	 * @see #getTypeQualifiedName()
+	 * @generated
+	 */
+	void setTypeQualifiedName(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Card EC View Id</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Card EC View Id</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Card EC View Id</em>' attribute.
+	 * @see #setCardECViewId(String)
+	 * @see org.eclipse.osbp.ecview.core.extension.model.extension.ExtensionModelPackage#getYKanban_CardECViewId()
+	 * @model
+	 * @generated
+	 */
+	String getCardECViewId();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.ecview.core.extension.model.extension.YKanban#getCardECViewId <em>Card EC View Id</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Card EC View Id</em>' attribute.
+	 * @see #getCardECViewId()
+	 * @generated
+	 */
+	void setCardECViewId(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Edit Dialog Id</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Edit Dialog Id</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Edit Dialog Id</em>' attribute.
+	 * @see #setEditDialogId(String)
+	 * @see org.eclipse.osbp.ecview.core.extension.model.extension.ExtensionModelPackage#getYKanban_EditDialogId()
+	 * @model
+	 * @generated
+	 */
+	String getEditDialogId();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.ecview.core.extension.model.extension.YKanban#getEditDialogId <em>Edit Dialog Id</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Edit Dialog Id</em>' attribute.
+	 * @see #getEditDialogId()
+	 * @generated
+	 */
+	void setEditDialogId(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Double Clicked</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Double Clicked</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Double Clicked</em>' attribute.
+	 * @see #setDoubleClicked(YKanbanEvent)
+	 * @see org.eclipse.osbp.ecview.core.extension.model.extension.ExtensionModelPackage#getYKanban_DoubleClicked()
+	 * @model dataType="org.eclipse.osbp.ecview.core.extension.model.extension.YKanbanEvent" transient="true"
+	 * @generated
+	 */
+	YKanbanEvent getDoubleClicked();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.ecview.core.extension.model.extension.YKanban#getDoubleClicked <em>Double Clicked</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Double Clicked</em>' attribute.
+	 * @see #getDoubleClicked()
+	 * @generated
+	 */
+	void setDoubleClicked(YKanbanEvent value);
+
+	/**
+	 * Returns the value of the '<em><b>State Changed</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>State Changed</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>State Changed</em>' attribute.
+	 * @see #setStateChanged(YKanbanEvent)
+	 * @see org.eclipse.osbp.ecview.core.extension.model.extension.ExtensionModelPackage#getYKanban_StateChanged()
+	 * @model dataType="org.eclipse.osbp.ecview.core.extension.model.extension.YKanbanEvent" transient="true"
+	 * @generated
+	 */
+	YKanbanEvent getStateChanged();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.ecview.core.extension.model.extension.YKanban#getStateChanged <em>State Changed</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>State Changed</em>' attribute.
+	 * @see #getStateChanged()
+	 * @generated
+	 */
+	void setStateChanged(YKanbanEvent value);
+
+	/**
+	 * Returns the value of the '<em><b>To Refresh</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>To Refresh</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>To Refresh</em>' attribute.
+	 * @see #setToRefresh(YKanbanEvent)
+	 * @see org.eclipse.osbp.ecview.core.extension.model.extension.ExtensionModelPackage#getYKanban_ToRefresh()
+	 * @model dataType="org.eclipse.osbp.ecview.core.extension.model.extension.YKanbanEvent" transient="true"
+	 * @generated
+	 */
+	YKanbanEvent getToRefresh();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.osbp.ecview.core.extension.model.extension.YKanban#getToRefresh <em>To Refresh</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>To Refresh</em>' attribute.
+	 * @see #getToRefresh()
+	 * @generated
+	 */
+	void setToRefresh(YKanbanEvent value);
+
+} // YKanban
diff --git a/org.eclipse.osbp.ecview.core.extension.model/src/org/eclipse/osbp/ecview/core/extension/model/extension/YKanbanEvent.java b/org.eclipse.osbp.ecview.core.extension.model/src/org/eclipse/osbp/ecview/core/extension/model/extension/YKanbanEvent.java
new file mode 100644
index 0000000..67486e3
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.extension.model/src/org/eclipse/osbp/ecview/core/extension/model/extension/YKanbanEvent.java
@@ -0,0 +1,21 @@
+package org.eclipse.osbp.ecview.core.extension.model.extension;
+
+public class YKanbanEvent {
+
+	public final Object dto;
+	public final Enum<?> sourceState;
+	public final Enum<?> targetState;
+
+	public YKanbanEvent(Object dto, Enum<?> sourceState, Enum<?> targetState) {
+		this.dto = dto;
+		this.sourceState = sourceState;
+		this.targetState = targetState;
+	}
+	
+	public YKanbanEvent(Object dto) {
+		this.dto = dto;
+		this.sourceState = null;
+		this.targetState = null;
+	}
+
+}
diff --git a/org.eclipse.osbp.ecview.core.extension.model/src/org/eclipse/osbp/ecview/core/extension/model/extension/YKanbanVisibilityProcessor.java b/org.eclipse.osbp.ecview.core.extension.model/src/org/eclipse/osbp/ecview/core/extension/model/extension/YKanbanVisibilityProcessor.java
new file mode 100644
index 0000000..08cfb62
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.extension.model/src/org/eclipse/osbp/ecview/core/extension/model/extension/YKanbanVisibilityProcessor.java
@@ -0,0 +1,18 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.extension.model.extension;
+
+import org.eclipse.osbp.ecview.core.common.model.visibility.YVisibilityProcessor;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>YKanban Visibility Processor</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.osbp.ecview.core.extension.model.extension.ExtensionModelPackage#getYKanbanVisibilityProcessor()
+ * @model
+ * @generated
+ */
+public interface YKanbanVisibilityProcessor extends YVisibilityProcessor {
+} // YKanbanVisibilityProcessor
diff --git a/org.eclipse.osbp.ecview.core.extension.model/src/org/eclipse/osbp/ecview/core/extension/model/extension/impl/YFilterDescriptorImpl.java b/org.eclipse.osbp.ecview.core.extension.model/src/org/eclipse/osbp/ecview/core/extension/model/extension/impl/YFilterDescriptorImpl.java
new file mode 100644
index 0000000..a37d715
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.extension.model/src/org/eclipse/osbp/ecview/core/extension/model/extension/impl/YFilterDescriptorImpl.java
@@ -0,0 +1,570 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.extension.model.extension.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.common.util.EMap;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.emf.ecore.util.EDataTypeUniqueEList;
+import org.eclipse.emf.ecore.util.EcoreEMap;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.osbp.ecview.core.common.model.core.CoreModelPackage;
+import org.eclipse.osbp.ecview.core.common.model.core.YCssAble;
+
+import org.eclipse.osbp.ecview.core.common.model.core.impl.YStringToStringMapImpl;
+
+import org.eclipse.osbp.ecview.core.extension.model.extension.ExtensionModelPackage;
+import org.eclipse.osbp.ecview.core.extension.model.extension.YFilterDescriptor;
+import org.eclipse.osbp.ecview.core.extension.model.extension.YFilteringType;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>YFilter Descriptor</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.ecview.core.extension.model.extension.impl.YFilterDescriptorImpl#getTags <em>Tags</em>}</li>
+ *   <li>{@link org.eclipse.osbp.ecview.core.extension.model.extension.impl.YFilterDescriptorImpl#getId <em>Id</em>}</li>
+ *   <li>{@link org.eclipse.osbp.ecview.core.extension.model.extension.impl.YFilterDescriptorImpl#getName <em>Name</em>}</li>
+ *   <li>{@link org.eclipse.osbp.ecview.core.extension.model.extension.impl.YFilterDescriptorImpl#getProperties <em>Properties</em>}</li>
+ *   <li>{@link org.eclipse.osbp.ecview.core.extension.model.extension.impl.YFilterDescriptorImpl#getCssClass <em>Css Class</em>}</li>
+ *   <li>{@link org.eclipse.osbp.ecview.core.extension.model.extension.impl.YFilterDescriptorImpl#getCssID <em>Css ID</em>}</li>
+ *   <li>{@link org.eclipse.osbp.ecview.core.extension.model.extension.impl.YFilterDescriptorImpl#getPropertyPath <em>Property Path</em>}</li>
+ *   <li>{@link org.eclipse.osbp.ecview.core.extension.model.extension.impl.YFilterDescriptorImpl#getType <em>Type</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class YFilterDescriptorImpl extends MinimalEObjectImpl.Container implements YFilterDescriptor {
+	/**
+	 * The cached value of the '{@link #getTags() <em>Tags</em>}' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getTags()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<String> tags;
+
+	/**
+	 * The default value of the '{@link #getId() <em>Id</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getId()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String ID_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getId() <em>Id</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getId()
+	 * @generated
+	 * @ordered
+	 */
+	protected String id = ID_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getName()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String NAME_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getName()
+	 * @generated
+	 * @ordered
+	 */
+	protected String name = NAME_EDEFAULT;
+
+	/**
+	 * The cached value of the '{@link #getProperties() <em>Properties</em>}' map.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getProperties()
+	 * @generated
+	 * @ordered
+	 */
+	protected EMap<String, String> properties;
+
+	/**
+	 * The default value of the '{@link #getCssClass() <em>Css Class</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getCssClass()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String CSS_CLASS_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getCssClass() <em>Css Class</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getCssClass()
+	 * @generated
+	 * @ordered
+	 */
+	protected String cssClass = CSS_CLASS_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getCssID() <em>Css ID</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getCssID()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String CSS_ID_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getCssID() <em>Css ID</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getCssID()
+	 * @generated
+	 * @ordered
+	 */
+	protected String cssID = CSS_ID_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getPropertyPath() <em>Property Path</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getPropertyPath()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String PROPERTY_PATH_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getPropertyPath() <em>Property Path</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getPropertyPath()
+	 * @generated
+	 * @ordered
+	 */
+	protected String propertyPath = PROPERTY_PATH_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getType() <em>Type</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getType()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final YFilteringType TYPE_EDEFAULT = YFilteringType.COMPARE;
+
+	/**
+	 * The cached value of the '{@link #getType() <em>Type</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getType()
+	 * @generated
+	 * @ordered
+	 */
+	protected YFilteringType type = TYPE_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YFilterDescriptorImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return ExtensionModelPackage.Literals.YFILTER_DESCRIPTOR;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList<String> getTags() {
+		if (tags == null) {
+			tags = new EDataTypeUniqueEList<String>(String.class, this, ExtensionModelPackage.YFILTER_DESCRIPTOR__TAGS);
+		}
+		return tags;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getId() {
+		return id;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setId(String newId) {
+		String oldId = id;
+		id = newId;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, ExtensionModelPackage.YFILTER_DESCRIPTOR__ID, oldId, id));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getName() {
+		return name;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setName(String newName) {
+		String oldName = name;
+		name = newName;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, ExtensionModelPackage.YFILTER_DESCRIPTOR__NAME, oldName, name));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EMap<String, String> getProperties() {
+		if (properties == null) {
+			properties = new EcoreEMap<String,String>(CoreModelPackage.Literals.YSTRING_TO_STRING_MAP, YStringToStringMapImpl.class, this, ExtensionModelPackage.YFILTER_DESCRIPTOR__PROPERTIES);
+		}
+		return properties;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getCssClass() {
+		return cssClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setCssClass(String newCssClass) {
+		String oldCssClass = cssClass;
+		cssClass = newCssClass;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, ExtensionModelPackage.YFILTER_DESCRIPTOR__CSS_CLASS, oldCssClass, cssClass));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getCssID() {
+		return cssID;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setCssID(String newCssID) {
+		String oldCssID = cssID;
+		cssID = newCssID;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, ExtensionModelPackage.YFILTER_DESCRIPTOR__CSS_ID, oldCssID, cssID));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getPropertyPath() {
+		return propertyPath;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setPropertyPath(String newPropertyPath) {
+		String oldPropertyPath = propertyPath;
+		propertyPath = newPropertyPath;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, ExtensionModelPackage.YFILTER_DESCRIPTOR__PROPERTY_PATH, oldPropertyPath, propertyPath));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YFilteringType getType() {
+		return type;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setType(YFilteringType newType) {
+		YFilteringType oldType = type;
+		type = newType == null ? TYPE_EDEFAULT : newType;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, ExtensionModelPackage.YFILTER_DESCRIPTOR__TYPE, oldType, type));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+		switch (featureID) {
+			case ExtensionModelPackage.YFILTER_DESCRIPTOR__PROPERTIES:
+				return ((InternalEList<?>)getProperties()).basicRemove(otherEnd, msgs);
+		}
+		return super.eInverseRemove(otherEnd, featureID, msgs);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case ExtensionModelPackage.YFILTER_DESCRIPTOR__TAGS:
+				return getTags();
+			case ExtensionModelPackage.YFILTER_DESCRIPTOR__ID:
+				return getId();
+			case ExtensionModelPackage.YFILTER_DESCRIPTOR__NAME:
+				return getName();
+			case ExtensionModelPackage.YFILTER_DESCRIPTOR__PROPERTIES:
+				if (coreType) return getProperties();
+				else return getProperties().map();
+			case ExtensionModelPackage.YFILTER_DESCRIPTOR__CSS_CLASS:
+				return getCssClass();
+			case ExtensionModelPackage.YFILTER_DESCRIPTOR__CSS_ID:
+				return getCssID();
+			case ExtensionModelPackage.YFILTER_DESCRIPTOR__PROPERTY_PATH:
+				return getPropertyPath();
+			case ExtensionModelPackage.YFILTER_DESCRIPTOR__TYPE:
+				return getType();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@SuppressWarnings("unchecked")
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case ExtensionModelPackage.YFILTER_DESCRIPTOR__TAGS:
+				getTags().clear();
+				getTags().addAll((Collection<? extends String>)newValue);
+				return;
+			case ExtensionModelPackage.YFILTER_DESCRIPTOR__ID:
+				setId((String)newValue);
+				return;
+			case ExtensionModelPackage.YFILTER_DESCRIPTOR__NAME:
+				setName((String)newValue);
+				return;
+			case ExtensionModelPackage.YFILTER_DESCRIPTOR__PROPERTIES:
+				((EStructuralFeature.Setting)getProperties()).set(newValue);
+				return;
+			case ExtensionModelPackage.YFILTER_DESCRIPTOR__CSS_CLASS:
+				setCssClass((String)newValue);
+				return;
+			case ExtensionModelPackage.YFILTER_DESCRIPTOR__CSS_ID:
+				setCssID((String)newValue);
+				return;
+			case ExtensionModelPackage.YFILTER_DESCRIPTOR__PROPERTY_PATH:
+				setPropertyPath((String)newValue);
+				return;
+			case ExtensionModelPackage.YFILTER_DESCRIPTOR__TYPE:
+				setType((YFilteringType)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case ExtensionModelPackage.YFILTER_DESCRIPTOR__TAGS:
+				getTags().clear();
+				return;
+			case ExtensionModelPackage.YFILTER_DESCRIPTOR__ID:
+				setId(ID_EDEFAULT);
+				return;
+			case ExtensionModelPackage.YFILTER_DESCRIPTOR__NAME:
+				setName(NAME_EDEFAULT);
+				return;
+			case ExtensionModelPackage.YFILTER_DESCRIPTOR__PROPERTIES:
+				getProperties().clear();
+				return;
+			case ExtensionModelPackage.YFILTER_DESCRIPTOR__CSS_CLASS:
+				setCssClass(CSS_CLASS_EDEFAULT);
+				return;
+			case ExtensionModelPackage.YFILTER_DESCRIPTOR__CSS_ID:
+				setCssID(CSS_ID_EDEFAULT);
+				return;
+			case ExtensionModelPackage.YFILTER_DESCRIPTOR__PROPERTY_PATH:
+				setPropertyPath(PROPERTY_PATH_EDEFAULT);
+				return;
+			case ExtensionModelPackage.YFILTER_DESCRIPTOR__TYPE:
+				setType(TYPE_EDEFAULT);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case ExtensionModelPackage.YFILTER_DESCRIPTOR__TAGS:
+				return tags != null && !tags.isEmpty();
+			case ExtensionModelPackage.YFILTER_DESCRIPTOR__ID:
+				return ID_EDEFAULT == null ? id != null : !ID_EDEFAULT.equals(id);
+			case ExtensionModelPackage.YFILTER_DESCRIPTOR__NAME:
+				return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+			case ExtensionModelPackage.YFILTER_DESCRIPTOR__PROPERTIES:
+				return properties != null && !properties.isEmpty();
+			case ExtensionModelPackage.YFILTER_DESCRIPTOR__CSS_CLASS:
+				return CSS_CLASS_EDEFAULT == null ? cssClass != null : !CSS_CLASS_EDEFAULT.equals(cssClass);
+			case ExtensionModelPackage.YFILTER_DESCRIPTOR__CSS_ID:
+				return CSS_ID_EDEFAULT == null ? cssID != null : !CSS_ID_EDEFAULT.equals(cssID);
+			case ExtensionModelPackage.YFILTER_DESCRIPTOR__PROPERTY_PATH:
+				return PROPERTY_PATH_EDEFAULT == null ? propertyPath != null : !PROPERTY_PATH_EDEFAULT.equals(propertyPath);
+			case ExtensionModelPackage.YFILTER_DESCRIPTOR__TYPE:
+				return type != TYPE_EDEFAULT;
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) {
+		if (baseClass == YCssAble.class) {
+			switch (derivedFeatureID) {
+				case ExtensionModelPackage.YFILTER_DESCRIPTOR__CSS_CLASS: return CoreModelPackage.YCSS_ABLE__CSS_CLASS;
+				case ExtensionModelPackage.YFILTER_DESCRIPTOR__CSS_ID: return CoreModelPackage.YCSS_ABLE__CSS_ID;
+				default: return -1;
+			}
+		}
+		return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass) {
+		if (baseClass == YCssAble.class) {
+			switch (baseFeatureID) {
+				case CoreModelPackage.YCSS_ABLE__CSS_CLASS: return ExtensionModelPackage.YFILTER_DESCRIPTOR__CSS_CLASS;
+				case CoreModelPackage.YCSS_ABLE__CSS_ID: return ExtensionModelPackage.YFILTER_DESCRIPTOR__CSS_ID;
+				default: return -1;
+			}
+		}
+		return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (tags: ");
+		result.append(tags);
+		result.append(", id: ");
+		result.append(id);
+		result.append(", name: ");
+		result.append(name);
+		result.append(", cssClass: ");
+		result.append(cssClass);
+		result.append(", cssID: ");
+		result.append(cssID);
+		result.append(", propertyPath: ");
+		result.append(propertyPath);
+		result.append(", type: ");
+		result.append(type);
+		result.append(')');
+		return result.toString();
+	}
+
+} //YFilterDescriptorImpl
diff --git a/org.eclipse.osbp.ecview.core.extension.model/src/org/eclipse/osbp/ecview/core/extension/model/extension/impl/YFilterTableDescriptorImpl.java b/org.eclipse.osbp.ecview.core.extension.model/src/org/eclipse/osbp/ecview/core/extension/model/extension/impl/YFilterTableDescriptorImpl.java
new file mode 100644
index 0000000..6da45b1
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.extension.model/src/org/eclipse/osbp/ecview/core/extension/model/extension/impl/YFilterTableDescriptorImpl.java
@@ -0,0 +1,514 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.extension.model.extension.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.common.util.EMap;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.emf.ecore.util.EDataTypeUniqueEList;
+import org.eclipse.emf.ecore.util.EcoreEMap;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.osbp.ecview.core.common.model.core.CoreModelPackage;
+import org.eclipse.osbp.ecview.core.common.model.core.YCssAble;
+
+import org.eclipse.osbp.ecview.core.common.model.core.impl.YStringToStringMapImpl;
+import org.eclipse.osbp.ecview.core.extension.model.extension.ExtensionModelPackage;
+import org.eclipse.osbp.ecview.core.extension.model.extension.YFilterTableDescriptor;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>YFilter Table Descriptor</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.ecview.core.extension.model.extension.impl.YFilterTableDescriptorImpl#getTags <em>Tags</em>}</li>
+ *   <li>{@link org.eclipse.osbp.ecview.core.extension.model.extension.impl.YFilterTableDescriptorImpl#getId <em>Id</em>}</li>
+ *   <li>{@link org.eclipse.osbp.ecview.core.extension.model.extension.impl.YFilterTableDescriptorImpl#getName <em>Name</em>}</li>
+ *   <li>{@link org.eclipse.osbp.ecview.core.extension.model.extension.impl.YFilterTableDescriptorImpl#getProperties <em>Properties</em>}</li>
+ *   <li>{@link org.eclipse.osbp.ecview.core.extension.model.extension.impl.YFilterTableDescriptorImpl#getCssClass <em>Css Class</em>}</li>
+ *   <li>{@link org.eclipse.osbp.ecview.core.extension.model.extension.impl.YFilterTableDescriptorImpl#getCssID <em>Css ID</em>}</li>
+ *   <li>{@link org.eclipse.osbp.ecview.core.extension.model.extension.impl.YFilterTableDescriptorImpl#getPropertyPath <em>Property Path</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class YFilterTableDescriptorImpl extends MinimalEObjectImpl.Container implements YFilterTableDescriptor {
+	/**
+	 * The cached value of the '{@link #getTags() <em>Tags</em>}' attribute list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getTags()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<String> tags;
+
+	/**
+	 * The default value of the '{@link #getId() <em>Id</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getId()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String ID_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getId() <em>Id</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getId()
+	 * @generated
+	 * @ordered
+	 */
+	protected String id = ID_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getName()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String NAME_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getName()
+	 * @generated
+	 * @ordered
+	 */
+	protected String name = NAME_EDEFAULT;
+
+	/**
+	 * The cached value of the '{@link #getProperties() <em>Properties</em>}' map.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getProperties()
+	 * @generated
+	 * @ordered
+	 */
+	protected EMap<String, String> properties;
+
+	/**
+	 * The default value of the '{@link #getCssClass() <em>Css Class</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getCssClass()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String CSS_CLASS_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getCssClass() <em>Css Class</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getCssClass()
+	 * @generated
+	 * @ordered
+	 */
+	protected String cssClass = CSS_CLASS_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getCssID() <em>Css ID</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getCssID()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String CSS_ID_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getCssID() <em>Css ID</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getCssID()
+	 * @generated
+	 * @ordered
+	 */
+	protected String cssID = CSS_ID_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getPropertyPath() <em>Property Path</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getPropertyPath()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String PROPERTY_PATH_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getPropertyPath() <em>Property Path</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getPropertyPath()
+	 * @generated
+	 * @ordered
+	 */
+	protected String propertyPath = PROPERTY_PATH_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YFilterTableDescriptorImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return ExtensionModelPackage.Literals.YFILTER_TABLE_DESCRIPTOR;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList<String> getTags() {
+		if (tags == null) {
+			tags = new EDataTypeUniqueEList<String>(String.class, this, ExtensionModelPackage.YFILTER_TABLE_DESCRIPTOR__TAGS);
+		}
+		return tags;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getId() {
+		return id;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setId(String newId) {
+		String oldId = id;
+		id = newId;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, ExtensionModelPackage.YFILTER_TABLE_DESCRIPTOR__ID, oldId, id));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getName() {
+		return name;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setName(String newName) {
+		String oldName = name;
+		name = newName;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, ExtensionModelPackage.YFILTER_TABLE_DESCRIPTOR__NAME, oldName, name));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EMap<String, String> getProperties() {
+		if (properties == null) {
+			properties = new EcoreEMap<String,String>(CoreModelPackage.Literals.YSTRING_TO_STRING_MAP, YStringToStringMapImpl.class, this, ExtensionModelPackage.YFILTER_TABLE_DESCRIPTOR__PROPERTIES);
+		}
+		return properties;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getCssClass() {
+		return cssClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setCssClass(String newCssClass) {
+		String oldCssClass = cssClass;
+		cssClass = newCssClass;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, ExtensionModelPackage.YFILTER_TABLE_DESCRIPTOR__CSS_CLASS, oldCssClass, cssClass));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getCssID() {
+		return cssID;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setCssID(String newCssID) {
+		String oldCssID = cssID;
+		cssID = newCssID;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, ExtensionModelPackage.YFILTER_TABLE_DESCRIPTOR__CSS_ID, oldCssID, cssID));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getPropertyPath() {
+		return propertyPath;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setPropertyPath(String newPropertyPath) {
+		String oldPropertyPath = propertyPath;
+		propertyPath = newPropertyPath;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, ExtensionModelPackage.YFILTER_TABLE_DESCRIPTOR__PROPERTY_PATH, oldPropertyPath, propertyPath));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+		switch (featureID) {
+			case ExtensionModelPackage.YFILTER_TABLE_DESCRIPTOR__PROPERTIES:
+				return ((InternalEList<?>)getProperties()).basicRemove(otherEnd, msgs);
+		}
+		return super.eInverseRemove(otherEnd, featureID, msgs);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case ExtensionModelPackage.YFILTER_TABLE_DESCRIPTOR__TAGS:
+				return getTags();
+			case ExtensionModelPackage.YFILTER_TABLE_DESCRIPTOR__ID:
+				return getId();
+			case ExtensionModelPackage.YFILTER_TABLE_DESCRIPTOR__NAME:
+				return getName();
+			case ExtensionModelPackage.YFILTER_TABLE_DESCRIPTOR__PROPERTIES:
+				if (coreType) return getProperties();
+				else return getProperties().map();
+			case ExtensionModelPackage.YFILTER_TABLE_DESCRIPTOR__CSS_CLASS:
+				return getCssClass();
+			case ExtensionModelPackage.YFILTER_TABLE_DESCRIPTOR__CSS_ID:
+				return getCssID();
+			case ExtensionModelPackage.YFILTER_TABLE_DESCRIPTOR__PROPERTY_PATH:
+				return getPropertyPath();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@SuppressWarnings("unchecked")
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case ExtensionModelPackage.YFILTER_TABLE_DESCRIPTOR__TAGS:
+				getTags().clear();
+				getTags().addAll((Collection<? extends String>)newValue);
+				return;
+			case ExtensionModelPackage.YFILTER_TABLE_DESCRIPTOR__ID:
+				setId((String)newValue);
+				return;
+			case ExtensionModelPackage.YFILTER_TABLE_DESCRIPTOR__NAME:
+				setName((String)newValue);
+				return;
+			case ExtensionModelPackage.YFILTER_TABLE_DESCRIPTOR__PROPERTIES:
+				((EStructuralFeature.Setting)getProperties()).set(newValue);
+				return;
+			case ExtensionModelPackage.YFILTER_TABLE_DESCRIPTOR__CSS_CLASS:
+				setCssClass((String)newValue);
+				return;
+			case ExtensionModelPackage.YFILTER_TABLE_DESCRIPTOR__CSS_ID:
+				setCssID((String)newValue);
+				return;
+			case ExtensionModelPackage.YFILTER_TABLE_DESCRIPTOR__PROPERTY_PATH:
+				setPropertyPath((String)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case ExtensionModelPackage.YFILTER_TABLE_DESCRIPTOR__TAGS:
+				getTags().clear();
+				return;
+			case ExtensionModelPackage.YFILTER_TABLE_DESCRIPTOR__ID:
+				setId(ID_EDEFAULT);
+				return;
+			case ExtensionModelPackage.YFILTER_TABLE_DESCRIPTOR__NAME:
+				setName(NAME_EDEFAULT);
+				return;
+			case ExtensionModelPackage.YFILTER_TABLE_DESCRIPTOR__PROPERTIES:
+				getProperties().clear();
+				return;
+			case ExtensionModelPackage.YFILTER_TABLE_DESCRIPTOR__CSS_CLASS:
+				setCssClass(CSS_CLASS_EDEFAULT);
+				return;
+			case ExtensionModelPackage.YFILTER_TABLE_DESCRIPTOR__CSS_ID:
+				setCssID(CSS_ID_EDEFAULT);
+				return;
+			case ExtensionModelPackage.YFILTER_TABLE_DESCRIPTOR__PROPERTY_PATH:
+				setPropertyPath(PROPERTY_PATH_EDEFAULT);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case ExtensionModelPackage.YFILTER_TABLE_DESCRIPTOR__TAGS:
+				return tags != null && !tags.isEmpty();
+			case ExtensionModelPackage.YFILTER_TABLE_DESCRIPTOR__ID:
+				return ID_EDEFAULT == null ? id != null : !ID_EDEFAULT.equals(id);
+			case ExtensionModelPackage.YFILTER_TABLE_DESCRIPTOR__NAME:
+				return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+			case ExtensionModelPackage.YFILTER_TABLE_DESCRIPTOR__PROPERTIES:
+				return properties != null && !properties.isEmpty();
+			case ExtensionModelPackage.YFILTER_TABLE_DESCRIPTOR__CSS_CLASS:
+				return CSS_CLASS_EDEFAULT == null ? cssClass != null : !CSS_CLASS_EDEFAULT.equals(cssClass);
+			case ExtensionModelPackage.YFILTER_TABLE_DESCRIPTOR__CSS_ID:
+				return CSS_ID_EDEFAULT == null ? cssID != null : !CSS_ID_EDEFAULT.equals(cssID);
+			case ExtensionModelPackage.YFILTER_TABLE_DESCRIPTOR__PROPERTY_PATH:
+				return PROPERTY_PATH_EDEFAULT == null ? propertyPath != null : !PROPERTY_PATH_EDEFAULT.equals(propertyPath);
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) {
+		if (baseClass == YCssAble.class) {
+			switch (derivedFeatureID) {
+				case ExtensionModelPackage.YFILTER_TABLE_DESCRIPTOR__CSS_CLASS: return CoreModelPackage.YCSS_ABLE__CSS_CLASS;
+				case ExtensionModelPackage.YFILTER_TABLE_DESCRIPTOR__CSS_ID: return CoreModelPackage.YCSS_ABLE__CSS_ID;
+				default: return -1;
+			}
+		}
+		return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass) {
+		if (baseClass == YCssAble.class) {
+			switch (baseFeatureID) {
+				case CoreModelPackage.YCSS_ABLE__CSS_CLASS: return ExtensionModelPackage.YFILTER_TABLE_DESCRIPTOR__CSS_CLASS;
+				case CoreModelPackage.YCSS_ABLE__CSS_ID: return ExtensionModelPackage.YFILTER_TABLE_DESCRIPTOR__CSS_ID;
+				default: return -1;
+			}
+		}
+		return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (tags: ");
+		result.append(tags);
+		result.append(", id: ");
+		result.append(id);
+		result.append(", name: ");
+		result.append(name);
+		result.append(", cssClass: ");
+		result.append(cssClass);
+		result.append(", cssID: ");
+		result.append(cssID);
+		result.append(", propertyPath: ");
+		result.append(propertyPath);
+		result.append(')');
+		return result.toString();
+	}
+	
+} //YFilterTableDescriptorImpl
diff --git a/org.eclipse.osbp.ecview.core.extension.model/src/org/eclipse/osbp/ecview/core/extension/model/extension/impl/YFilteringComponentImpl.java b/org.eclipse.osbp.ecview.core.extension.model/src/org/eclipse/osbp/ecview/core/extension/model/extension/impl/YFilteringComponentImpl.java
new file mode 100644
index 0000000..d4fb410
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.extension.model/src/org/eclipse/osbp/ecview/core/extension/model/extension/impl/YFilteringComponentImpl.java
@@ -0,0 +1,818 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.extension.model.extension.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.osbp.ecview.core.common.model.core.CoreModelPackage;
+import org.eclipse.osbp.ecview.core.common.model.core.YMarginable;
+import org.eclipse.osbp.ecview.core.common.model.core.YSpacingable;
+import org.eclipse.osbp.ecview.core.common.model.core.impl.YEmbeddableImpl;
+import org.eclipse.osbp.ecview.core.extension.model.extension.ExtensionModelFactory;
+import org.eclipse.osbp.ecview.core.extension.model.extension.ExtensionModelPackage;
+import org.eclipse.osbp.ecview.core.extension.model.extension.YFilterDescriptor;
+import org.eclipse.osbp.ecview.core.extension.model.extension.YFilterTableDescriptor;
+import org.eclipse.osbp.ecview.core.extension.model.extension.YFilteringComponent;
+import org.eclipse.osbp.ecview.core.extension.model.extension.YFilteringType;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object
+ * '<em><b>YFiltering Component</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.ecview.core.extension.model.extension.impl.YFilteringComponentImpl#isSpacing <em>Spacing</em>}</li>
+ *   <li>{@link org.eclipse.osbp.ecview.core.extension.model.extension.impl.YFilteringComponentImpl#isMargin <em>Margin</em>}</li>
+ *   <li>{@link org.eclipse.osbp.ecview.core.extension.model.extension.impl.YFilteringComponentImpl#getType <em>Type</em>}</li>
+ *   <li>{@link org.eclipse.osbp.ecview.core.extension.model.extension.impl.YFilteringComponentImpl#getEmfNsURI <em>Emf Ns URI</em>}</li>
+ *   <li>{@link org.eclipse.osbp.ecview.core.extension.model.extension.impl.YFilteringComponentImpl#getTypeQualifiedName <em>Type Qualified Name</em>}</li>
+ *   <li>{@link org.eclipse.osbp.ecview.core.extension.model.extension.impl.YFilteringComponentImpl#getApplyFilter <em>Apply Filter</em>}</li>
+ *   <li>{@link org.eclipse.osbp.ecview.core.extension.model.extension.impl.YFilteringComponentImpl#getResetFilter <em>Reset Filter</em>}</li>
+ *   <li>{@link org.eclipse.osbp.ecview.core.extension.model.extension.impl.YFilteringComponentImpl#getFilter <em>Filter</em>}</li>
+ *   <li>{@link org.eclipse.osbp.ecview.core.extension.model.extension.impl.YFilteringComponentImpl#getFilterDescriptors <em>Filter Descriptors</em>}</li>
+ *   <li>{@link org.eclipse.osbp.ecview.core.extension.model.extension.impl.YFilteringComponentImpl#getTableDescriptors <em>Table Descriptors</em>}</li>
+ *   <li>{@link org.eclipse.osbp.ecview.core.extension.model.extension.impl.YFilteringComponentImpl#getSelectionBeanSlotName <em>Selection Bean Slot Name</em>}</li>
+ *   <li>{@link org.eclipse.osbp.ecview.core.extension.model.extension.impl.YFilteringComponentImpl#getFilterCols <em>Filter Cols</em>}</li>
+ *   <li>{@link org.eclipse.osbp.ecview.core.extension.model.extension.impl.YFilteringComponentImpl#isHideGrid <em>Hide Grid</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class YFilteringComponentImpl extends YEmbeddableImpl implements YFilteringComponent {
+	/**
+	 * The default value of the '{@link #isSpacing() <em>Spacing</em>}' attribute.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * @see #isSpacing()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final boolean SPACING_EDEFAULT = true;
+
+	/**
+	 * The cached value of the '{@link #isSpacing() <em>Spacing</em>}' attribute.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * @see #isSpacing()
+	 * @generated
+	 * @ordered
+	 */
+	protected boolean spacing = SPACING_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #isMargin() <em>Margin</em>}' attribute.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * @see #isMargin()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final boolean MARGIN_EDEFAULT = true;
+
+	/**
+	 * The cached value of the '{@link #isMargin() <em>Margin</em>}' attribute.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * @see #isMargin()
+	 * @generated
+	 * @ordered
+	 */
+	protected boolean margin = MARGIN_EDEFAULT;
+
+	/**
+	 * The cached value of the '{@link #getType() <em>Type</em>}' attribute.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * @see #getType()
+	 * @generated
+	 * @ordered
+	 */
+	protected Class<?> type;
+
+	/**
+	 * The default value of the '{@link #getEmfNsURI() <em>Emf Ns URI</em>}' attribute.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * @see #getEmfNsURI()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String EMF_NS_URI_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getEmfNsURI() <em>Emf Ns URI</em>}' attribute.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * @see #getEmfNsURI()
+	 * @generated
+	 * @ordered
+	 */
+	protected String emfNsURI = EMF_NS_URI_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getTypeQualifiedName() <em>Type Qualified Name</em>}' attribute.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 * @see #getTypeQualifiedName()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String TYPE_QUALIFIED_NAME_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getTypeQualifiedName() <em>Type Qualified Name</em>}' attribute.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 * @see #getTypeQualifiedName()
+	 * @generated
+	 * @ordered
+	 */
+	protected String typeQualifiedName = TYPE_QUALIFIED_NAME_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getApplyFilter() <em>Apply Filter</em>}' attribute.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * @see #getApplyFilter()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final Object APPLY_FILTER_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getApplyFilter() <em>Apply Filter</em>}' attribute.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * @see #getApplyFilter()
+	 * @generated
+	 * @ordered
+	 */
+	protected Object applyFilter = APPLY_FILTER_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getResetFilter() <em>Reset Filter</em>}' attribute.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * @see #getResetFilter()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final Object RESET_FILTER_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getResetFilter() <em>Reset Filter</em>}' attribute.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * @see #getResetFilter()
+	 * @generated
+	 * @ordered
+	 */
+	protected Object resetFilter = RESET_FILTER_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getFilter() <em>Filter</em>}' attribute.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * @see #getFilter()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final Object FILTER_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getFilter() <em>Filter</em>}' attribute.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * @see #getFilter()
+	 * @generated
+	 * @ordered
+	 */
+	protected Object filter = FILTER_EDEFAULT;
+
+	/**
+	 * The cached value of the '{@link #getFilterDescriptors() <em>Filter Descriptors</em>}' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getFilterDescriptors()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<YFilterDescriptor> filterDescriptors;
+
+	/**
+	 * The cached value of the '{@link #getTableDescriptors() <em>Table Descriptors</em>}' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getTableDescriptors()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<YFilterTableDescriptor> tableDescriptors;
+
+	/**
+	 * The default value of the '{@link #getSelectionBeanSlotName() <em>Selection Bean Slot Name</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getSelectionBeanSlotName()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String SELECTION_BEAN_SLOT_NAME_EDEFAULT = "$$intern_searchDialogSelection";
+
+	/**
+	 * The cached value of the '{@link #getSelectionBeanSlotName() <em>Selection Bean Slot Name</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getSelectionBeanSlotName()
+	 * @generated
+	 * @ordered
+	 */
+	protected String selectionBeanSlotName = SELECTION_BEAN_SLOT_NAME_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getFilterCols() <em>Filter Cols</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getFilterCols()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final int FILTER_COLS_EDEFAULT = 2;
+
+	/**
+	 * The cached value of the '{@link #getFilterCols() <em>Filter Cols</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getFilterCols()
+	 * @generated
+	 * @ordered
+	 */
+	protected int filterCols = FILTER_COLS_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #isHideGrid() <em>Hide Grid</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #isHideGrid()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final boolean HIDE_GRID_EDEFAULT = false;
+
+	/**
+	 * The cached value of the '{@link #isHideGrid() <em>Hide Grid</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #isHideGrid()
+	 * @generated
+	 * @ordered
+	 */
+	protected boolean hideGrid = HIDE_GRID_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YFilteringComponentImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return ExtensionModelPackage.Literals.YFILTERING_COMPONENT;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * @generated
+	 */
+	public boolean isSpacing() {
+		return spacing;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setSpacing(boolean newSpacing) {
+		boolean oldSpacing = spacing;
+		spacing = newSpacing;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, ExtensionModelPackage.YFILTERING_COMPONENT__SPACING, oldSpacing, spacing));
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * @generated
+	 */
+	public boolean isMargin() {
+		return margin;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setMargin(boolean newMargin) {
+		boolean oldMargin = margin;
+		margin = newMargin;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, ExtensionModelPackage.YFILTERING_COMPONENT__MARGIN, oldMargin, margin));
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Class<?> getType() {
+		return type;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setType(Class<?> newType) {
+		Class<?> oldType = type;
+		type = newType;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, ExtensionModelPackage.YFILTERING_COMPONENT__TYPE, oldType, type));
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getEmfNsURI() {
+		return emfNsURI;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setEmfNsURI(String newEmfNsURI) {
+		String oldEmfNsURI = emfNsURI;
+		emfNsURI = newEmfNsURI;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, ExtensionModelPackage.YFILTERING_COMPONENT__EMF_NS_URI, oldEmfNsURI, emfNsURI));
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getTypeQualifiedName() {
+		return typeQualifiedName;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setTypeQualifiedName(String newTypeQualifiedName) {
+		String oldTypeQualifiedName = typeQualifiedName;
+		typeQualifiedName = newTypeQualifiedName;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, ExtensionModelPackage.YFILTERING_COMPONENT__TYPE_QUALIFIED_NAME, oldTypeQualifiedName, typeQualifiedName));
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Object getApplyFilter() {
+		return applyFilter;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setApplyFilter(Object newApplyFilter) {
+		Object oldApplyFilter = applyFilter;
+		applyFilter = newApplyFilter;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, ExtensionModelPackage.YFILTERING_COMPONENT__APPLY_FILTER, oldApplyFilter, applyFilter));
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Object getResetFilter() {
+		return resetFilter;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setResetFilter(Object newResetFilter) {
+		Object oldResetFilter = resetFilter;
+		resetFilter = newResetFilter;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, ExtensionModelPackage.YFILTERING_COMPONENT__RESET_FILTER, oldResetFilter, resetFilter));
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Object getFilter() {
+		return filter;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setFilter(Object newFilter) {
+		Object oldFilter = filter;
+		filter = newFilter;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, ExtensionModelPackage.YFILTERING_COMPONENT__FILTER, oldFilter, filter));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList<YFilterDescriptor> getFilterDescriptors() {
+		if (filterDescriptors == null) {
+			filterDescriptors = new EObjectContainmentEList.Resolving<YFilterDescriptor>(YFilterDescriptor.class, this, ExtensionModelPackage.YFILTERING_COMPONENT__FILTER_DESCRIPTORS);
+		}
+		return filterDescriptors;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EList<YFilterTableDescriptor> getTableDescriptors() {
+		if (tableDescriptors == null) {
+			tableDescriptors = new EObjectContainmentEList.Resolving<YFilterTableDescriptor>(YFilterTableDescriptor.class, this, ExtensionModelPackage.YFILTERING_COMPONENT__TABLE_DESCRIPTORS);
+		}
+		return tableDescriptors;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getSelectionBeanSlotName() {
+		return selectionBeanSlotName;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setSelectionBeanSlotName(String newSelectionBeanSlotName) {
+		String oldSelectionBeanSlotName = selectionBeanSlotName;
+		selectionBeanSlotName = newSelectionBeanSlotName;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, ExtensionModelPackage.YFILTERING_COMPONENT__SELECTION_BEAN_SLOT_NAME, oldSelectionBeanSlotName, selectionBeanSlotName));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public int getFilterCols() {
+		return filterCols;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setFilterCols(int newFilterCols) {
+		int oldFilterCols = filterCols;
+		filterCols = newFilterCols;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, ExtensionModelPackage.YFILTERING_COMPONENT__FILTER_COLS, oldFilterCols, filterCols));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public boolean isHideGrid() {
+		return hideGrid;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setHideGrid(boolean newHideGrid) {
+		boolean oldHideGrid = hideGrid;
+		hideGrid = newHideGrid;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, ExtensionModelPackage.YFILTERING_COMPONENT__HIDE_GRID, oldHideGrid, hideGrid));
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+		switch (featureID) {
+			case ExtensionModelPackage.YFILTERING_COMPONENT__FILTER_DESCRIPTORS:
+				return ((InternalEList<?>)getFilterDescriptors()).basicRemove(otherEnd, msgs);
+			case ExtensionModelPackage.YFILTERING_COMPONENT__TABLE_DESCRIPTORS:
+				return ((InternalEList<?>)getTableDescriptors()).basicRemove(otherEnd, msgs);
+		}
+		return super.eInverseRemove(otherEnd, featureID, msgs);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case ExtensionModelPackage.YFILTERING_COMPONENT__SPACING:
+				return isSpacing();
+			case ExtensionModelPackage.YFILTERING_COMPONENT__MARGIN:
+				return isMargin();
+			case ExtensionModelPackage.YFILTERING_COMPONENT__TYPE:
+				return getType();
+			case ExtensionModelPackage.YFILTERING_COMPONENT__EMF_NS_URI:
+				return getEmfNsURI();
+			case ExtensionModelPackage.YFILTERING_COMPONENT__TYPE_QUALIFIED_NAME:
+				return getTypeQualifiedName();
+			case ExtensionModelPackage.YFILTERING_COMPONENT__APPLY_FILTER:
+				return getApplyFilter();
+			case ExtensionModelPackage.YFILTERING_COMPONENT__RESET_FILTER:
+				return getResetFilter();
+			case ExtensionModelPackage.YFILTERING_COMPONENT__FILTER:
+				return getFilter();
+			case ExtensionModelPackage.YFILTERING_COMPONENT__FILTER_DESCRIPTORS:
+				return getFilterDescriptors();
+			case ExtensionModelPackage.YFILTERING_COMPONENT__TABLE_DESCRIPTORS:
+				return getTableDescriptors();
+			case ExtensionModelPackage.YFILTERING_COMPONENT__SELECTION_BEAN_SLOT_NAME:
+				return getSelectionBeanSlotName();
+			case ExtensionModelPackage.YFILTERING_COMPONENT__FILTER_COLS:
+				return getFilterCols();
+			case ExtensionModelPackage.YFILTERING_COMPONENT__HIDE_GRID:
+				return isHideGrid();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * @generated
+	 */
+	@SuppressWarnings("unchecked")
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case ExtensionModelPackage.YFILTERING_COMPONENT__SPACING:
+				setSpacing((Boolean)newValue);
+				return;
+			case ExtensionModelPackage.YFILTERING_COMPONENT__MARGIN:
+				setMargin((Boolean)newValue);
+				return;
+			case ExtensionModelPackage.YFILTERING_COMPONENT__TYPE:
+				setType((Class<?>)newValue);
+				return;
+			case ExtensionModelPackage.YFILTERING_COMPONENT__EMF_NS_URI:
+				setEmfNsURI((String)newValue);
+				return;
+			case ExtensionModelPackage.YFILTERING_COMPONENT__TYPE_QUALIFIED_NAME:
+				setTypeQualifiedName((String)newValue);
+				return;
+			case ExtensionModelPackage.YFILTERING_COMPONENT__APPLY_FILTER:
+				setApplyFilter(newValue);
+				return;
+			case ExtensionModelPackage.YFILTERING_COMPONENT__RESET_FILTER:
+				setResetFilter(newValue);
+				return;
+			case ExtensionModelPackage.YFILTERING_COMPONENT__FILTER:
+				setFilter(newValue);
+				return;
+			case ExtensionModelPackage.YFILTERING_COMPONENT__FILTER_DESCRIPTORS:
+				getFilterDescriptors().clear();
+				getFilterDescriptors().addAll((Collection<? extends YFilterDescriptor>)newValue);
+				return;
+			case ExtensionModelPackage.YFILTERING_COMPONENT__TABLE_DESCRIPTORS:
+				getTableDescriptors().clear();
+				getTableDescriptors().addAll((Collection<? extends YFilterTableDescriptor>)newValue);
+				return;
+			case ExtensionModelPackage.YFILTERING_COMPONENT__SELECTION_BEAN_SLOT_NAME:
+				setSelectionBeanSlotName((String)newValue);
+				return;
+			case ExtensionModelPackage.YFILTERING_COMPONENT__FILTER_COLS:
+				setFilterCols((Integer)newValue);
+				return;
+			case ExtensionModelPackage.YFILTERING_COMPONENT__HIDE_GRID:
+				setHideGrid((Boolean)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case ExtensionModelPackage.YFILTERING_COMPONENT__SPACING:
+				setSpacing(SPACING_EDEFAULT);
+				return;
+			case ExtensionModelPackage.YFILTERING_COMPONENT__MARGIN:
+				setMargin(MARGIN_EDEFAULT);
+				return;
+			case ExtensionModelPackage.YFILTERING_COMPONENT__TYPE:
+				setType((Class<?>)null);
+				return;
+			case ExtensionModelPackage.YFILTERING_COMPONENT__EMF_NS_URI:
+				setEmfNsURI(EMF_NS_URI_EDEFAULT);
+				return;
+			case ExtensionModelPackage.YFILTERING_COMPONENT__TYPE_QUALIFIED_NAME:
+				setTypeQualifiedName(TYPE_QUALIFIED_NAME_EDEFAULT);
+				return;
+			case ExtensionModelPackage.YFILTERING_COMPONENT__APPLY_FILTER:
+				setApplyFilter(APPLY_FILTER_EDEFAULT);
+				return;
+			case ExtensionModelPackage.YFILTERING_COMPONENT__RESET_FILTER:
+				setResetFilter(RESET_FILTER_EDEFAULT);
+				return;
+			case ExtensionModelPackage.YFILTERING_COMPONENT__FILTER:
+				setFilter(FILTER_EDEFAULT);
+				return;
+			case ExtensionModelPackage.YFILTERING_COMPONENT__FILTER_DESCRIPTORS:
+				getFilterDescriptors().clear();
+				return;
+			case ExtensionModelPackage.YFILTERING_COMPONENT__TABLE_DESCRIPTORS:
+				getTableDescriptors().clear();
+				return;
+			case ExtensionModelPackage.YFILTERING_COMPONENT__SELECTION_BEAN_SLOT_NAME:
+				setSelectionBeanSlotName(SELECTION_BEAN_SLOT_NAME_EDEFAULT);
+				return;
+			case ExtensionModelPackage.YFILTERING_COMPONENT__FILTER_COLS:
+				setFilterCols(FILTER_COLS_EDEFAULT);
+				return;
+			case ExtensionModelPackage.YFILTERING_COMPONENT__HIDE_GRID:
+				setHideGrid(HIDE_GRID_EDEFAULT);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case ExtensionModelPackage.YFILTERING_COMPONENT__SPACING:
+				return spacing != SPACING_EDEFAULT;
+			case ExtensionModelPackage.YFILTERING_COMPONENT__MARGIN:
+				return margin != MARGIN_EDEFAULT;
+			case ExtensionModelPackage.YFILTERING_COMPONENT__TYPE:
+				return type != null;
+			case ExtensionModelPackage.YFILTERING_COMPONENT__EMF_NS_URI:
+				return EMF_NS_URI_EDEFAULT == null ? emfNsURI != null : !EMF_NS_URI_EDEFAULT.equals(emfNsURI);
+			case ExtensionModelPackage.YFILTERING_COMPONENT__TYPE_QUALIFIED_NAME:
+				return TYPE_QUALIFIED_NAME_EDEFAULT == null ? typeQualifiedName != null : !TYPE_QUALIFIED_NAME_EDEFAULT.equals(typeQualifiedName);
+			case ExtensionModelPackage.YFILTERING_COMPONENT__APPLY_FILTER:
+				return APPLY_FILTER_EDEFAULT == null ? applyFilter != null : !APPLY_FILTER_EDEFAULT.equals(applyFilter);
+			case ExtensionModelPackage.YFILTERING_COMPONENT__RESET_FILTER:
+				return RESET_FILTER_EDEFAULT == null ? resetFilter != null : !RESET_FILTER_EDEFAULT.equals(resetFilter);
+			case ExtensionModelPackage.YFILTERING_COMPONENT__FILTER:
+				return FILTER_EDEFAULT == null ? filter != null : !FILTER_EDEFAULT.equals(filter);
+			case ExtensionModelPackage.YFILTERING_COMPONENT__FILTER_DESCRIPTORS:
+				return filterDescriptors != null && !filterDescriptors.isEmpty();
+			case ExtensionModelPackage.YFILTERING_COMPONENT__TABLE_DESCRIPTORS:
+				return tableDescriptors != null && !tableDescriptors.isEmpty();
+			case ExtensionModelPackage.YFILTERING_COMPONENT__SELECTION_BEAN_SLOT_NAME:
+				return SELECTION_BEAN_SLOT_NAME_EDEFAULT == null ? selectionBeanSlotName != null : !SELECTION_BEAN_SLOT_NAME_EDEFAULT.equals(selectionBeanSlotName);
+			case ExtensionModelPackage.YFILTERING_COMPONENT__FILTER_COLS:
+				return filterCols != FILTER_COLS_EDEFAULT;
+			case ExtensionModelPackage.YFILTERING_COMPONENT__HIDE_GRID:
+				return hideGrid != HIDE_GRID_EDEFAULT;
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) {
+		if (baseClass == YSpacingable.class) {
+			switch (derivedFeatureID) {
+				case ExtensionModelPackage.YFILTERING_COMPONENT__SPACING: return CoreModelPackage.YSPACINGABLE__SPACING;
+				default: return -1;
+			}
+		}
+		if (baseClass == YMarginable.class) {
+			switch (derivedFeatureID) {
+				case ExtensionModelPackage.YFILTERING_COMPONENT__MARGIN: return CoreModelPackage.YMARGINABLE__MARGIN;
+				default: return -1;
+			}
+		}
+		return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass) {
+		if (baseClass == YSpacingable.class) {
+			switch (baseFeatureID) {
+				case CoreModelPackage.YSPACINGABLE__SPACING: return ExtensionModelPackage.YFILTERING_COMPONENT__SPACING;
+				default: return -1;
+			}
+		}
+		if (baseClass == YMarginable.class) {
+			switch (baseFeatureID) {
+				case CoreModelPackage.YMARGINABLE__MARGIN: return ExtensionModelPackage.YFILTERING_COMPONENT__MARGIN;
+				default: return -1;
+			}
+		}
+		return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (spacing: ");
+		result.append(spacing);
+		result.append(", margin: ");
+		result.append(margin);
+		result.append(", type: ");
+		result.append(type);
+		result.append(", emfNsURI: ");
+		result.append(emfNsURI);
+		result.append(", typeQualifiedName: ");
+		result.append(typeQualifiedName);
+		result.append(", applyFilter: ");
+		result.append(applyFilter);
+		result.append(", resetFilter: ");
+		result.append(resetFilter);
+		result.append(", filter: ");
+		result.append(filter);
+		result.append(", selectionBeanSlotName: ");
+		result.append(selectionBeanSlotName);
+		result.append(", filterCols: ");
+		result.append(filterCols);
+		result.append(", hideGrid: ");
+		result.append(hideGrid);
+		result.append(')');
+		return result.toString();
+	}
+
+	@Override
+	public void addFilterDescriptor(YFilterDescriptor desc) {
+		getFilterDescriptors().add(desc);
+	}
+
+	@Override
+	public void addFilterDescriptor(YFilteringType type, String propertyPath) {
+		YFilterDescriptor desc = ExtensionModelFactory.eINSTANCE.createYFilterDescriptor();
+		desc.setType(type);
+		desc.setPropertyPath(propertyPath);
+		addFilterDescriptor(desc);
+	}
+	
+	@Override
+	public void addTableDescriptor(YFilterTableDescriptor desc) {
+		getTableDescriptors().add(desc);
+	}
+
+	@Override
+	public void addTableDescriptor(String propertyPath) {
+		YFilterTableDescriptor desc = ExtensionModelFactory.eINSTANCE.createYFilterTableDescriptor();
+		desc.setPropertyPath(propertyPath);
+		addTableDescriptor(desc);
+	}
+
+} // YFilteringComponentImpl
diff --git a/org.eclipse.osbp.ecview.core.extension.model/src/org/eclipse/osbp/ecview/core/extension/model/extension/impl/YKanbanImpl.java b/org.eclipse.osbp.ecview.core.extension.model/src/org/eclipse/osbp/ecview/core/extension/model/extension/impl/YKanbanImpl.java
new file mode 100644
index 0000000..0bd368a
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.extension.model/src/org/eclipse/osbp/ecview/core/extension/model/extension/impl/YKanbanImpl.java
@@ -0,0 +1,941 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.extension.model.extension.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.osbp.ecview.core.common.model.core.CoreModelPackage;
+import org.eclipse.osbp.ecview.core.common.model.core.YBindable;
+import org.eclipse.osbp.ecview.core.common.model.core.YEmbeddableSelectionEndpoint;
+import org.eclipse.osbp.ecview.core.common.model.core.YSelectionBindable;
+
+import org.eclipse.osbp.ecview.core.common.model.datatypes.YDatadescription;
+
+import org.eclipse.osbp.ecview.core.extension.model.extension.ExtensionModelPackage;
+import org.eclipse.osbp.ecview.core.extension.model.extension.YBeanServiceConsumer;
+import org.eclipse.osbp.ecview.core.extension.model.extension.YKanban;
+import org.eclipse.osbp.ecview.core.extension.model.extension.YKanbanEvent;
+import org.eclipse.osbp.ecview.core.extension.model.extension.YSelectionType;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>YKanban</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.osbp.ecview.core.extension.model.extension.impl.YKanbanImpl#getSelectionBindingEndpoint <em>Selection Binding Endpoint</em>}</li>
+ *   <li>{@link org.eclipse.osbp.ecview.core.extension.model.extension.impl.YKanbanImpl#isUseBeanService <em>Use Bean Service</em>}</li>
+ *   <li>{@link org.eclipse.osbp.ecview.core.extension.model.extension.impl.YKanbanImpl#getDatadescription <em>Datadescription</em>}</li>
+ *   <li>{@link org.eclipse.osbp.ecview.core.extension.model.extension.impl.YKanbanImpl#getSelectionType <em>Selection Type</em>}</li>
+ *   <li>{@link org.eclipse.osbp.ecview.core.extension.model.extension.impl.YKanbanImpl#getSelection <em>Selection</em>}</li>
+ *   <li>{@link org.eclipse.osbp.ecview.core.extension.model.extension.impl.YKanbanImpl#getType <em>Type</em>}</li>
+ *   <li>{@link org.eclipse.osbp.ecview.core.extension.model.extension.impl.YKanbanImpl#getEmfNsURI <em>Emf Ns URI</em>}</li>
+ *   <li>{@link org.eclipse.osbp.ecview.core.extension.model.extension.impl.YKanbanImpl#getTypeQualifiedName <em>Type Qualified Name</em>}</li>
+ *   <li>{@link org.eclipse.osbp.ecview.core.extension.model.extension.impl.YKanbanImpl#getCardECViewId <em>Card EC View Id</em>}</li>
+ *   <li>{@link org.eclipse.osbp.ecview.core.extension.model.extension.impl.YKanbanImpl#getEditDialogId <em>Edit Dialog Id</em>}</li>
+ *   <li>{@link org.eclipse.osbp.ecview.core.extension.model.extension.impl.YKanbanImpl#getDoubleClicked <em>Double Clicked</em>}</li>
+ *   <li>{@link org.eclipse.osbp.ecview.core.extension.model.extension.impl.YKanbanImpl#getStateChanged <em>State Changed</em>}</li>
+ *   <li>{@link org.eclipse.osbp.ecview.core.extension.model.extension.impl.YKanbanImpl#getToRefresh <em>To Refresh</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class YKanbanImpl extends YInputImpl implements YKanban {
+	/**
+	 * The cached value of the '{@link #getSelectionBindingEndpoint() <em>Selection Binding Endpoint</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getSelectionBindingEndpoint()
+	 * @generated
+	 * @ordered
+	 */
+	protected YEmbeddableSelectionEndpoint selectionBindingEndpoint;
+
+	/**
+	 * The default value of the '{@link #isUseBeanService() <em>Use Bean Service</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #isUseBeanService()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final boolean USE_BEAN_SERVICE_EDEFAULT = false;
+
+	/**
+	 * The cached value of the '{@link #isUseBeanService() <em>Use Bean Service</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #isUseBeanService()
+	 * @generated
+	 * @ordered
+	 */
+	protected boolean useBeanService = USE_BEAN_SERVICE_EDEFAULT;
+
+	/**
+	 * The cached value of the '{@link #getDatadescription() <em>Datadescription</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getDatadescription()
+	 * @generated
+	 * @ordered
+	 */
+	protected YDatadescription datadescription;
+
+	/**
+	 * The default value of the '{@link #getSelectionType() <em>Selection Type</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getSelectionType()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final YSelectionType SELECTION_TYPE_EDEFAULT = YSelectionType.SINGLE;
+
+	/**
+	 * The cached value of the '{@link #getSelectionType() <em>Selection Type</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getSelectionType()
+	 * @generated
+	 * @ordered
+	 */
+	protected YSelectionType selectionType = SELECTION_TYPE_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getSelection() <em>Selection</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getSelection()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final Object SELECTION_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getSelection() <em>Selection</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getSelection()
+	 * @generated
+	 * @ordered
+	 */
+	protected Object selection = SELECTION_EDEFAULT;
+
+	/**
+	 * The cached value of the '{@link #getType() <em>Type</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getType()
+	 * @generated
+	 * @ordered
+	 */
+	protected Class<?> type;
+
+	/**
+	 * The default value of the '{@link #getEmfNsURI() <em>Emf Ns URI</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getEmfNsURI()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String EMF_NS_URI_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getEmfNsURI() <em>Emf Ns URI</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getEmfNsURI()
+	 * @generated
+	 * @ordered
+	 */
+	protected String emfNsURI = EMF_NS_URI_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getTypeQualifiedName() <em>Type Qualified Name</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getTypeQualifiedName()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String TYPE_QUALIFIED_NAME_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getTypeQualifiedName() <em>Type Qualified Name</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getTypeQualifiedName()
+	 * @generated
+	 * @ordered
+	 */
+	protected String typeQualifiedName = TYPE_QUALIFIED_NAME_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getCardECViewId() <em>Card EC View Id</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getCardECViewId()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String CARD_EC_VIEW_ID_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getCardECViewId() <em>Card EC View Id</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getCardECViewId()
+	 * @generated
+	 * @ordered
+	 */
+	protected String cardECViewId = CARD_EC_VIEW_ID_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getEditDialogId() <em>Edit Dialog Id</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getEditDialogId()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String EDIT_DIALOG_ID_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getEditDialogId() <em>Edit Dialog Id</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getEditDialogId()
+	 * @generated
+	 * @ordered
+	 */
+	protected String editDialogId = EDIT_DIALOG_ID_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getDoubleClicked() <em>Double Clicked</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getDoubleClicked()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final YKanbanEvent DOUBLE_CLICKED_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getDoubleClicked() <em>Double Clicked</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getDoubleClicked()
+	 * @generated
+	 * @ordered
+	 */
+	protected YKanbanEvent doubleClicked = DOUBLE_CLICKED_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getStateChanged() <em>State Changed</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getStateChanged()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final YKanbanEvent STATE_CHANGED_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getStateChanged() <em>State Changed</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getStateChanged()
+	 * @generated
+	 * @ordered
+	 */
+	protected YKanbanEvent stateChanged = STATE_CHANGED_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getToRefresh() <em>To Refresh</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getToRefresh()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final YKanbanEvent TO_REFRESH_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getToRefresh() <em>To Refresh</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getToRefresh()
+	 * @generated
+	 * @ordered
+	 */
+	protected YKanbanEvent toRefresh = TO_REFRESH_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YKanbanImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return ExtensionModelPackage.Literals.YKANBAN;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YEmbeddableSelectionEndpoint getSelectionBindingEndpoint() {
+		if (selectionBindingEndpoint != null && selectionBindingEndpoint.eIsProxy()) {
+			InternalEObject oldSelectionBindingEndpoint = (InternalEObject)selectionBindingEndpoint;
+			selectionBindingEndpoint = (YEmbeddableSelectionEndpoint)eResolveProxy(oldSelectionBindingEndpoint);
+			if (selectionBindingEndpoint != oldSelectionBindingEndpoint) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, ExtensionModelPackage.YKANBAN__SELECTION_BINDING_ENDPOINT, oldSelectionBindingEndpoint, selectionBindingEndpoint));
+			}
+		}
+		return selectionBindingEndpoint;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YEmbeddableSelectionEndpoint basicGetSelectionBindingEndpoint() {
+		return selectionBindingEndpoint;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public NotificationChain basicSetSelectionBindingEndpoint(YEmbeddableSelectionEndpoint newSelectionBindingEndpoint, NotificationChain msgs) {
+		YEmbeddableSelectionEndpoint oldSelectionBindingEndpoint = selectionBindingEndpoint;
+		selectionBindingEndpoint = newSelectionBindingEndpoint;
+		if (eNotificationRequired()) {
+			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, ExtensionModelPackage.YKANBAN__SELECTION_BINDING_ENDPOINT, oldSelectionBindingEndpoint, newSelectionBindingEndpoint);
+			if (msgs == null) msgs = notification; else msgs.add(notification);
+		}
+		return msgs;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setSelectionBindingEndpoint(YEmbeddableSelectionEndpoint newSelectionBindingEndpoint) {
+		if (newSelectionBindingEndpoint != selectionBindingEndpoint) {
+			NotificationChain msgs = null;
+			if (selectionBindingEndpoint != null)
+				msgs = ((InternalEObject)selectionBindingEndpoint).eInverseRemove(this, CoreModelPackage.YEMBEDDABLE_SELECTION_ENDPOINT__ELEMENT, YEmbeddableSelectionEndpoint.class, msgs);
+			if (newSelectionBindingEndpoint != null)
+				msgs = ((InternalEObject)newSelectionBindingEndpoint).eInverseAdd(this, CoreModelPackage.YEMBEDDABLE_SELECTION_ENDPOINT__ELEMENT, YEmbeddableSelectionEndpoint.class, msgs);
+			msgs = basicSetSelectionBindingEndpoint(newSelectionBindingEndpoint, msgs);
+			if (msgs != null) msgs.dispatch();
+		}
+		else if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, ExtensionModelPackage.YKANBAN__SELECTION_BINDING_ENDPOINT, newSelectionBindingEndpoint, newSelectionBindingEndpoint));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public boolean isUseBeanService() {
+		return useBeanService;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setUseBeanService(boolean newUseBeanService) {
+		boolean oldUseBeanService = useBeanService;
+		useBeanService = newUseBeanService;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, ExtensionModelPackage.YKANBAN__USE_BEAN_SERVICE, oldUseBeanService, useBeanService));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YDatadescription getDatadescription() {
+		if (datadescription != null && datadescription.eIsProxy()) {
+			InternalEObject oldDatadescription = (InternalEObject)datadescription;
+			datadescription = (YDatadescription)eResolveProxy(oldDatadescription);
+			if (datadescription != oldDatadescription) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, ExtensionModelPackage.YKANBAN__DATADESCRIPTION, oldDatadescription, datadescription));
+			}
+		}
+		return datadescription;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YDatadescription basicGetDatadescription() {
+		return datadescription;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setDatadescription(YDatadescription newDatadescription) {
+		YDatadescription oldDatadescription = datadescription;
+		datadescription = newDatadescription;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, ExtensionModelPackage.YKANBAN__DATADESCRIPTION, oldDatadescription, datadescription));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YSelectionType getSelectionType() {
+		return selectionType;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setSelectionType(YSelectionType newSelectionType) {
+		YSelectionType oldSelectionType = selectionType;
+		selectionType = newSelectionType == null ? SELECTION_TYPE_EDEFAULT : newSelectionType;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, ExtensionModelPackage.YKANBAN__SELECTION_TYPE, oldSelectionType, selectionType));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Object getSelection() {
+		return selection;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setSelection(Object newSelection) {
+		Object oldSelection = selection;
+		selection = newSelection;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, ExtensionModelPackage.YKANBAN__SELECTION, oldSelection, selection));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public Class<?> getType() {
+		return type;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setType(Class<?> newType) {
+		Class<?> oldType = type;
+		type = newType;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, ExtensionModelPackage.YKANBAN__TYPE, oldType, type));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getEmfNsURI() {
+		return emfNsURI;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setEmfNsURI(String newEmfNsURI) {
+		String oldEmfNsURI = emfNsURI;
+		emfNsURI = newEmfNsURI;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, ExtensionModelPackage.YKANBAN__EMF_NS_URI, oldEmfNsURI, emfNsURI));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getTypeQualifiedName() {
+		return typeQualifiedName;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setTypeQualifiedName(String newTypeQualifiedName) {
+		String oldTypeQualifiedName = typeQualifiedName;
+		typeQualifiedName = newTypeQualifiedName;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, ExtensionModelPackage.YKANBAN__TYPE_QUALIFIED_NAME, oldTypeQualifiedName, typeQualifiedName));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getCardECViewId() {
+		return cardECViewId;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setCardECViewId(String newCardECViewId) {
+		String oldCardECViewId = cardECViewId;
+		cardECViewId = newCardECViewId;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, ExtensionModelPackage.YKANBAN__CARD_EC_VIEW_ID, oldCardECViewId, cardECViewId));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getEditDialogId() {
+		return editDialogId;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setEditDialogId(String newEditDialogId) {
+		String oldEditDialogId = editDialogId;
+		editDialogId = newEditDialogId;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, ExtensionModelPackage.YKANBAN__EDIT_DIALOG_ID, oldEditDialogId, editDialogId));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YKanbanEvent getDoubleClicked() {
+		return doubleClicked;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setDoubleClicked(YKanbanEvent newDoubleClicked) {
+		YKanbanEvent oldDoubleClicked = doubleClicked;
+		doubleClicked = newDoubleClicked;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, ExtensionModelPackage.YKANBAN__DOUBLE_CLICKED, oldDoubleClicked, doubleClicked));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YKanbanEvent getStateChanged() {
+		return stateChanged;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setStateChanged(YKanbanEvent newStateChanged) {
+		YKanbanEvent oldStateChanged = stateChanged;
+		stateChanged = newStateChanged;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, ExtensionModelPackage.YKANBAN__STATE_CHANGED, oldStateChanged, stateChanged));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YKanbanEvent getToRefresh() {
+		return toRefresh;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setToRefresh(YKanbanEvent newToRefresh) {
+		YKanbanEvent oldToRefresh = toRefresh;
+		toRefresh = newToRefresh;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, ExtensionModelPackage.YKANBAN__TO_REFRESH, oldToRefresh, toRefresh));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public YEmbeddableSelectionEndpoint createSelectionEndpoint() {
+		// TODO: implement this method
+		// Ensure that you remove @generated or mark it @generated NOT
+		throw new UnsupportedOperationException();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+		switch (featureID) {
+			case ExtensionModelPackage.YKANBAN__SELECTION_BINDING_ENDPOINT:
+				if (selectionBindingEndpoint != null)
+					msgs = ((InternalEObject)selectionBindingEndpoint).eInverseRemove(this, CoreModelPackage.YEMBEDDABLE_SELECTION_ENDPOINT__ELEMENT, YEmbeddableSelectionEndpoint.class, msgs);
+				return basicSetSelectionBindingEndpoint((YEmbeddableSelectionEndpoint)otherEnd, msgs);
+		}
+		return super.eInverseAdd(otherEnd, featureID, msgs);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+		switch (featureID) {
+			case ExtensionModelPackage.YKANBAN__SELECTION_BINDING_ENDPOINT:
+				return basicSetSelectionBindingEndpoint(null, msgs);
+		}
+		return super.eInverseRemove(otherEnd, featureID, msgs);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case ExtensionModelPackage.YKANBAN__SELECTION_BINDING_ENDPOINT:
+				if (resolve) return getSelectionBindingEndpoint();
+				return basicGetSelectionBindingEndpoint();
+			case ExtensionModelPackage.YKANBAN__USE_BEAN_SERVICE:
+				return isUseBeanService();
+			case ExtensionModelPackage.YKANBAN__DATADESCRIPTION:
+				if (resolve) return getDatadescription();
+				return basicGetDatadescription();
+			case ExtensionModelPackage.YKANBAN__SELECTION_TYPE:
+				return getSelectionType();
+			case ExtensionModelPackage.YKANBAN__SELECTION:
+				return getSelection();
+			case ExtensionModelPackage.YKANBAN__TYPE:
+				return getType();
+			case ExtensionModelPackage.YKANBAN__EMF_NS_URI:
+				return getEmfNsURI();
+			case ExtensionModelPackage.YKANBAN__TYPE_QUALIFIED_NAME:
+				return getTypeQualifiedName();
+			case ExtensionModelPackage.YKANBAN__CARD_EC_VIEW_ID:
+				return getCardECViewId();
+			case ExtensionModelPackage.YKANBAN__EDIT_DIALOG_ID:
+				return getEditDialogId();
+			case ExtensionModelPackage.YKANBAN__DOUBLE_CLICKED:
+				return getDoubleClicked();
+			case ExtensionModelPackage.YKANBAN__STATE_CHANGED:
+				return getStateChanged();
+			case ExtensionModelPackage.YKANBAN__TO_REFRESH:
+				return getToRefresh();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case ExtensionModelPackage.YKANBAN__SELECTION_BINDING_ENDPOINT:
+				setSelectionBindingEndpoint((YEmbeddableSelectionEndpoint)newValue);
+				return;
+			case ExtensionModelPackage.YKANBAN__USE_BEAN_SERVICE:
+				setUseBeanService((Boolean)newValue);
+				return;
+			case ExtensionModelPackage.YKANBAN__DATADESCRIPTION:
+				setDatadescription((YDatadescription)newValue);
+				return;
+			case ExtensionModelPackage.YKANBAN__SELECTION_TYPE:
+				setSelectionType((YSelectionType)newValue);
+				return;
+			case ExtensionModelPackage.YKANBAN__SELECTION:
+				setSelection(newValue);
+				return;
+			case ExtensionModelPackage.YKANBAN__TYPE:
+				setType((Class<?>)newValue);
+				return;
+			case ExtensionModelPackage.YKANBAN__EMF_NS_URI:
+				setEmfNsURI((String)newValue);
+				return;
+			case ExtensionModelPackage.YKANBAN__TYPE_QUALIFIED_NAME:
+				setTypeQualifiedName((String)newValue);
+				return;
+			case ExtensionModelPackage.YKANBAN__CARD_EC_VIEW_ID:
+				setCardECViewId((String)newValue);
+				return;
+			case ExtensionModelPackage.YKANBAN__EDIT_DIALOG_ID:
+				setEditDialogId((String)newValue);
+				return;
+			case ExtensionModelPackage.YKANBAN__DOUBLE_CLICKED:
+				setDoubleClicked((YKanbanEvent)newValue);
+				return;
+			case ExtensionModelPackage.YKANBAN__STATE_CHANGED:
+				setStateChanged((YKanbanEvent)newValue);
+				return;
+			case ExtensionModelPackage.YKANBAN__TO_REFRESH:
+				setToRefresh((YKanbanEvent)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case ExtensionModelPackage.YKANBAN__SELECTION_BINDING_ENDPOINT:
+				setSelectionBindingEndpoint((YEmbeddableSelectionEndpoint)null);
+				return;
+			case ExtensionModelPackage.YKANBAN__USE_BEAN_SERVICE:
+				setUseBeanService(USE_BEAN_SERVICE_EDEFAULT);
+				return;
+			case ExtensionModelPackage.YKANBAN__DATADESCRIPTION:
+				setDatadescription((YDatadescription)null);
+				return;
+			case ExtensionModelPackage.YKANBAN__SELECTION_TYPE:
+				setSelectionType(SELECTION_TYPE_EDEFAULT);
+				return;
+			case ExtensionModelPackage.YKANBAN__SELECTION:
+				setSelection(SELECTION_EDEFAULT);
+				return;
+			case ExtensionModelPackage.YKANBAN__TYPE:
+				setType((Class<?>)null);
+				return;
+			case ExtensionModelPackage.YKANBAN__EMF_NS_URI:
+				setEmfNsURI(EMF_NS_URI_EDEFAULT);
+				return;
+			case ExtensionModelPackage.YKANBAN__TYPE_QUALIFIED_NAME:
+				setTypeQualifiedName(TYPE_QUALIFIED_NAME_EDEFAULT);
+				return;
+			case ExtensionModelPackage.YKANBAN__CARD_EC_VIEW_ID:
+				setCardECViewId(CARD_EC_VIEW_ID_EDEFAULT);
+				return;
+			case ExtensionModelPackage.YKANBAN__EDIT_DIALOG_ID:
+				setEditDialogId(EDIT_DIALOG_ID_EDEFAULT);
+				return;
+			case ExtensionModelPackage.YKANBAN__DOUBLE_CLICKED:
+				setDoubleClicked(DOUBLE_CLICKED_EDEFAULT);
+				return;
+			case ExtensionModelPackage.YKANBAN__STATE_CHANGED:
+				setStateChanged(STATE_CHANGED_EDEFAULT);
+				return;
+			case ExtensionModelPackage.YKANBAN__TO_REFRESH:
+				setToRefresh(TO_REFRESH_EDEFAULT);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case ExtensionModelPackage.YKANBAN__SELECTION_BINDING_ENDPOINT:
+				return selectionBindingEndpoint != null;
+			case ExtensionModelPackage.YKANBAN__USE_BEAN_SERVICE:
+				return useBeanService != USE_BEAN_SERVICE_EDEFAULT;
+			case ExtensionModelPackage.YKANBAN__DATADESCRIPTION:
+				return datadescription != null;
+			case ExtensionModelPackage.YKANBAN__SELECTION_TYPE:
+				return selectionType != SELECTION_TYPE_EDEFAULT;
+			case ExtensionModelPackage.YKANBAN__SELECTION:
+				return SELECTION_EDEFAULT == null ? selection != null : !SELECTION_EDEFAULT.equals(selection);
+			case ExtensionModelPackage.YKANBAN__TYPE:
+				return type != null;
+			case ExtensionModelPackage.YKANBAN__EMF_NS_URI:
+				return EMF_NS_URI_EDEFAULT == null ? emfNsURI != null : !EMF_NS_URI_EDEFAULT.equals(emfNsURI);
+			case ExtensionModelPackage.YKANBAN__TYPE_QUALIFIED_NAME:
+				return TYPE_QUALIFIED_NAME_EDEFAULT == null ? typeQualifiedName != null : !TYPE_QUALIFIED_NAME_EDEFAULT.equals(typeQualifiedName);
+			case ExtensionModelPackage.YKANBAN__CARD_EC_VIEW_ID:
+				return CARD_EC_VIEW_ID_EDEFAULT == null ? cardECViewId != null : !CARD_EC_VIEW_ID_EDEFAULT.equals(cardECViewId);
+			case ExtensionModelPackage.YKANBAN__EDIT_DIALOG_ID:
+				return EDIT_DIALOG_ID_EDEFAULT == null ? editDialogId != null : !EDIT_DIALOG_ID_EDEFAULT.equals(editDialogId);
+			case ExtensionModelPackage.YKANBAN__DOUBLE_CLICKED:
+				return DOUBLE_CLICKED_EDEFAULT == null ? doubleClicked != null : !DOUBLE_CLICKED_EDEFAULT.equals(doubleClicked);
+			case ExtensionModelPackage.YKANBAN__STATE_CHANGED:
+				return STATE_CHANGED_EDEFAULT == null ? stateChanged != null : !STATE_CHANGED_EDEFAULT.equals(stateChanged);
+			case ExtensionModelPackage.YKANBAN__TO_REFRESH:
+				return TO_REFRESH_EDEFAULT == null ? toRefresh != null : !TO_REFRESH_EDEFAULT.equals(toRefresh);
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) {
+		if (baseClass == YBindable.class) {
+			switch (derivedFeatureID) {
+				default: return -1;
+			}
+		}
+		if (baseClass == YSelectionBindable.class) {
+			switch (derivedFeatureID) {
+				case ExtensionModelPackage.YKANBAN__SELECTION_BINDING_ENDPOINT: return CoreModelPackage.YSELECTION_BINDABLE__SELECTION_BINDING_ENDPOINT;
+				default: return -1;
+			}
+		}
+		if (baseClass == YBeanServiceConsumer.class) {
+			switch (derivedFeatureID) {
+				case ExtensionModelPackage.YKANBAN__USE_BEAN_SERVICE: return ExtensionModelPackage.YBEAN_SERVICE_CONSUMER__USE_BEAN_SERVICE;
+				default: return -1;
+			}
+		}
+		return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass) {
+		if (baseClass == YBindable.class) {
+			switch (baseFeatureID) {
+				default: return -1;
+			}
+		}
+		if (baseClass == YSelectionBindable.class) {
+			switch (baseFeatureID) {
+				case CoreModelPackage.YSELECTION_BINDABLE__SELECTION_BINDING_ENDPOINT: return ExtensionModelPackage.YKANBAN__SELECTION_BINDING_ENDPOINT;
+				default: return -1;
+			}
+		}
+		if (baseClass == YBeanServiceConsumer.class) {
+			switch (baseFeatureID) {
+				case ExtensionModelPackage.YBEAN_SERVICE_CONSUMER__USE_BEAN_SERVICE: return ExtensionModelPackage.YKANBAN__USE_BEAN_SERVICE;
+				default: return -1;
+			}
+		}
+		return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (useBeanService: ");
+		result.append(useBeanService);
+		result.append(", selectionType: ");
+		result.append(selectionType);
+		result.append(", selection: ");
+		result.append(selection);
+		result.append(", type: ");
+		result.append(type);
+		result.append(", emfNsURI: ");
+		result.append(emfNsURI);
+		result.append(", typeQualifiedName: ");
+		result.append(typeQualifiedName);
+		result.append(", cardECViewId: ");
+		result.append(cardECViewId);
+		result.append(", editDialogId: ");
+		result.append(editDialogId);
+		result.append(", doubleClicked: ");
+		result.append(doubleClicked);
+		result.append(", stateChanged: ");
+		result.append(stateChanged);
+		result.append(", toRefresh: ");
+		result.append(toRefresh);
+		result.append(')');
+		return result.toString();
+	}
+
+} //YKanbanImpl
diff --git a/org.eclipse.osbp.ecview.core.extension.model/src/org/eclipse/osbp/ecview/core/extension/model/extension/impl/YKanbanVisibilityProcessorImpl.java b/org.eclipse.osbp.ecview.core.extension.model/src/org/eclipse/osbp/ecview/core/extension/model/extension/impl/YKanbanVisibilityProcessorImpl.java
new file mode 100644
index 0000000..0cbad14
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.extension.model/src/org/eclipse/osbp/ecview/core/extension/model/extension/impl/YKanbanVisibilityProcessorImpl.java
@@ -0,0 +1,39 @@
+/**
+ */
+package org.eclipse.osbp.ecview.core.extension.model.extension.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.osbp.ecview.core.common.model.visibility.impl.YVisibilityProcessorImpl;
+
+import org.eclipse.osbp.ecview.core.extension.model.extension.ExtensionModelPackage;
+import org.eclipse.osbp.ecview.core.extension.model.extension.YKanbanVisibilityProcessor;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>YKanban Visibility Processor</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class YKanbanVisibilityProcessorImpl extends YVisibilityProcessorImpl implements YKanbanVisibilityProcessor {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected YKanbanVisibilityProcessorImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return ExtensionModelPackage.Literals.YKANBAN_VISIBILITY_PROCESSOR;
+	}
+
+} //YKanbanVisibilityProcessorImpl
diff --git a/org.eclipse.osbp.ecview.core.extension.tests/.classpath b/org.eclipse.osbp.ecview.core.extension.tests/.classpath
new file mode 100644
index 0000000..cf36b56
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.extension.tests/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="src" path="src/"/>
+	<classpathentry kind="output" path="target/classes"/>
+</classpath>
diff --git a/org.eclipse.osbp.ecview.core.extension.tests/.settings/org.eclipse.core.resources.prefs b/org.eclipse.osbp.ecview.core.extension.tests/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..99f26c0
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.extension.tests/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
diff --git a/org.eclipse.osbp.ecview.core.extension.tests/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.osbp.ecview.core.extension.tests/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..c537b63
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.extension.tests/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,7 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.6
diff --git a/org.eclipse.osbp.ecview.core.extension.tests/.settings/org.eclipse.m2e.core.prefs b/org.eclipse.osbp.ecview.core.extension.tests/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.extension.tests/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/org.eclipse.osbp.ecview.core.extension.tests/.settings/org.eclipse.xtend.core.Xtend.prefs b/org.eclipse.osbp.ecview.core.extension.tests/.settings/org.eclipse.xtend.core.Xtend.prefs
new file mode 100644
index 0000000..19e3115
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.extension.tests/.settings/org.eclipse.xtend.core.Xtend.prefs
@@ -0,0 +1,11 @@
+//outlet.DEFAULT_OUTPUT.sourceFolder.src/test/java.directory=src/test/generated-sources/xtend
+BuilderConfiguration.is_project_specific=true
+eclipse.preferences.version=1
+is_project_specific=true
+outlet.DEFAULT_OUTPUT.hideLocalSyntheticVariables=true
+outlet.DEFAULT_OUTPUT.installDslAsPrimarySource=false
+outlet.DEFAULT_OUTPUT.sourceFolder.emf-gen.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.sourceFolder.src-gen.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.sourceFolder.src.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.sourceFolder.xtend-gen.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.userOutputPerSourceFolder=true
diff --git a/org.eclipse.osbp.ecview.core.feature.core/.settings/org.eclipse.core.resources.prefs b/org.eclipse.osbp.ecview.core.feature.core/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..99f26c0
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.feature.core/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
diff --git a/org.eclipse.osbp.ecview.core.feature.core/.settings/org.eclipse.m2e.core.prefs b/org.eclipse.osbp.ecview.core.feature.core/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.feature.core/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/org.eclipse.osbp.ecview.core.feature.core/.settings/org.eclipse.xtend.core.Xtend.prefs b/org.eclipse.osbp.ecview.core.feature.core/.settings/org.eclipse.xtend.core.Xtend.prefs
new file mode 100644
index 0000000..19e3115
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.feature.core/.settings/org.eclipse.xtend.core.Xtend.prefs
@@ -0,0 +1,11 @@
+//outlet.DEFAULT_OUTPUT.sourceFolder.src/test/java.directory=src/test/generated-sources/xtend
+BuilderConfiguration.is_project_specific=true
+eclipse.preferences.version=1
+is_project_specific=true
+outlet.DEFAULT_OUTPUT.hideLocalSyntheticVariables=true
+outlet.DEFAULT_OUTPUT.installDslAsPrimarySource=false
+outlet.DEFAULT_OUTPUT.sourceFolder.emf-gen.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.sourceFolder.src-gen.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.sourceFolder.src.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.sourceFolder.xtend-gen.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.userOutputPerSourceFolder=true
diff --git a/org.eclipse.osbp.ecview.core.target.luna/.gitignore b/org.eclipse.osbp.ecview.core.target.luna/.gitignore
new file mode 100644
index 0000000..b83d222
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.target.luna/.gitignore
@@ -0,0 +1 @@
+/target/
diff --git a/org.eclipse.osbp.ecview.core.target.luna/.settings/org.eclipse.core.resources.prefs b/org.eclipse.osbp.ecview.core.target.luna/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..99f26c0
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.target.luna/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
diff --git a/org.eclipse.osbp.ecview.core.target.luna/.settings/org.eclipse.m2e.core.prefs b/org.eclipse.osbp.ecview.core.target.luna/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.target.luna/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/org.eclipse.osbp.ecview.core.target.luna/.settings/org.eclipse.xtend.core.Xtend.prefs b/org.eclipse.osbp.ecview.core.target.luna/.settings/org.eclipse.xtend.core.Xtend.prefs
new file mode 100644
index 0000000..19e3115
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.target.luna/.settings/org.eclipse.xtend.core.Xtend.prefs
@@ -0,0 +1,11 @@
+//outlet.DEFAULT_OUTPUT.sourceFolder.src/test/java.directory=src/test/generated-sources/xtend
+BuilderConfiguration.is_project_specific=true
+eclipse.preferences.version=1
+is_project_specific=true
+outlet.DEFAULT_OUTPUT.hideLocalSyntheticVariables=true
+outlet.DEFAULT_OUTPUT.installDslAsPrimarySource=false
+outlet.DEFAULT_OUTPUT.sourceFolder.emf-gen.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.sourceFolder.src-gen.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.sourceFolder.src.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.sourceFolder.xtend-gen.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.userOutputPerSourceFolder=true
diff --git a/org.eclipse.osbp.ecview.core.ui.presentation.common/.classpath b/org.eclipse.osbp.ecview.core.ui.presentation.common/.classpath
new file mode 100644
index 0000000..cf36b56
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.ui.presentation.common/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="src" path="src/"/>
+	<classpathentry kind="output" path="target/classes"/>
+</classpath>
diff --git a/org.eclipse.osbp.ecview.core.ui.presentation.common/.settings/org.eclipse.core.resources.prefs b/org.eclipse.osbp.ecview.core.ui.presentation.common/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..99f26c0
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.ui.presentation.common/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
diff --git a/org.eclipse.osbp.ecview.core.ui.presentation.common/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.osbp.ecview.core.ui.presentation.common/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..0c68a61
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.ui.presentation.common/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,7 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.8
diff --git a/org.eclipse.osbp.ecview.core.ui.presentation.common/.settings/org.eclipse.m2e.core.prefs b/org.eclipse.osbp.ecview.core.ui.presentation.common/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.ui.presentation.common/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/org.eclipse.osbp.ecview.core.ui.presentation.common/.settings/org.eclipse.xtend.core.Xtend.prefs b/org.eclipse.osbp.ecview.core.ui.presentation.common/.settings/org.eclipse.xtend.core.Xtend.prefs
new file mode 100644
index 0000000..19e3115
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.ui.presentation.common/.settings/org.eclipse.xtend.core.Xtend.prefs
@@ -0,0 +1,11 @@
+//outlet.DEFAULT_OUTPUT.sourceFolder.src/test/java.directory=src/test/generated-sources/xtend
+BuilderConfiguration.is_project_specific=true
+eclipse.preferences.version=1
+is_project_specific=true
+outlet.DEFAULT_OUTPUT.hideLocalSyntheticVariables=true
+outlet.DEFAULT_OUTPUT.installDslAsPrimarySource=false
+outlet.DEFAULT_OUTPUT.sourceFolder.emf-gen.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.sourceFolder.src-gen.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.sourceFolder.src.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.sourceFolder.xtend-gen.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.userOutputPerSourceFolder=true
diff --git a/org.eclipse.osbp.ecview.core.util.emf/.classpath b/org.eclipse.osbp.ecview.core.util.emf/.classpath
new file mode 100644
index 0000000..43b9862
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.util.emf/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="output" path="target/classes"/>
+</classpath>
diff --git a/org.eclipse.osbp.ecview.core.util.emf/.settings/org.eclipse.core.resources.prefs b/org.eclipse.osbp.ecview.core.util.emf/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..99f26c0
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.util.emf/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
diff --git a/org.eclipse.osbp.ecview.core.util.emf/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.osbp.ecview.core.util.emf/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..c537b63
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.util.emf/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,7 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.6
diff --git a/org.eclipse.osbp.ecview.core.util.emf/.settings/org.eclipse.m2e.core.prefs b/org.eclipse.osbp.ecview.core.util.emf/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.util.emf/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/org.eclipse.osbp.ecview.core.util.emf/.settings/org.eclipse.xtend.core.Xtend.prefs b/org.eclipse.osbp.ecview.core.util.emf/.settings/org.eclipse.xtend.core.Xtend.prefs
new file mode 100644
index 0000000..19e3115
--- /dev/null
+++ b/org.eclipse.osbp.ecview.core.util.emf/.settings/org.eclipse.xtend.core.Xtend.prefs
@@ -0,0 +1,11 @@
+//outlet.DEFAULT_OUTPUT.sourceFolder.src/test/java.directory=src/test/generated-sources/xtend
+BuilderConfiguration.is_project_specific=true
+eclipse.preferences.version=1
+is_project_specific=true
+outlet.DEFAULT_OUTPUT.hideLocalSyntheticVariables=true
+outlet.DEFAULT_OUTPUT.installDslAsPrimarySource=false
+outlet.DEFAULT_OUTPUT.sourceFolder.emf-gen.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.sourceFolder.src-gen.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.sourceFolder.src.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.sourceFolder.xtend-gen.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.userOutputPerSourceFolder=true