adjusted legal info, refactoring
diff --git a/org.eclipse.osbp.xtext.cubedsl.feature/feature.xml b/org.eclipse.osbp.xtext.cubedsl.feature/feature.xml
index 47d3f50..6180d40 100644
--- a/org.eclipse.osbp.xtext.cubedsl.feature/feature.xml
+++ b/org.eclipse.osbp.xtext.cubedsl.feature/feature.xml
@@ -15,7 +15,7 @@
         label="%featureName"
         version="0.9.0.qualifier"
         provider-name="%providerName"
-		plugin="org.eclipse.osbp.xtext.cubedsl">
+		plugin="org.eclipse.osbp.license">
         
     <description>
         %description
diff --git a/org.eclipse.osbp.xtext.cubedsl/emf-gen/org/eclipse/osbp/xtext/cubedsl/CubeDSLPackage.java b/org.eclipse.osbp.xtext.cubedsl/emf-gen/org/eclipse/osbp/xtext/cubedsl/CubeDSLPackage.java
index 110e629..13aad5a 100644
--- a/org.eclipse.osbp.xtext.cubedsl/emf-gen/org/eclipse/osbp/xtext/cubedsl/CubeDSLPackage.java
+++ b/org.eclipse.osbp.xtext.cubedsl/emf-gen/org/eclipse/osbp/xtext/cubedsl/CubeDSLPackage.java
@@ -230,7 +230,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int CUBE_PACKAGE___ERESOLVE_PROXY__OBJECT = OSBPTypesPackage.LPACKAGE___ERESOLVE_PROXY__INTERNALEOBJECT;
+	int CUBE_PACKAGE___ERESOLVE_PROXY__INTERNALEOBJECT = OSBPTypesPackage.LPACKAGE___ERESOLVE_PROXY__INTERNALEOBJECT;
 
 	/**
 	 * The number of operations of the '<em>Cube Package</em>' class.
diff --git a/org.eclipse.osbp.xtext.cubedsl/src-gen/org/eclipse/osbp/xtext/cubedsl/parser/antlr/internal/InternalCubeDSLLexer.java b/org.eclipse.osbp.xtext.cubedsl/src-gen/org/eclipse/osbp/xtext/cubedsl/parser/antlr/internal/InternalCubeDSLLexer.java
index 0b19895..cfc8c64 100644
--- a/org.eclipse.osbp.xtext.cubedsl/src-gen/org/eclipse/osbp/xtext/cubedsl/parser/antlr/internal/InternalCubeDSLLexer.java
+++ b/org.eclipse.osbp.xtext.cubedsl/src-gen/org/eclipse/osbp/xtext/cubedsl/parser/antlr/internal/InternalCubeDSLLexer.java
@@ -1,3 +1,17 @@
+/**
+ *                                                                            
+ *  Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany) 
+ *                                                                            
+ *  All rights reserved. This program and the accompanying materials           
+ *  are made available under the terms of the Eclipse Public License v1.0       
+ *  which accompanies this distribution, and is available at                  
+ *  http://www.eclipse.org/legal/epl-v10.html                                 
+ *                                                                            
+ *  Contributors:                                                      
+ * 	   Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
+ * 
+ */
+
 package org.eclipse.osbp.xtext.cubedsl.parser.antlr.internal;
 
 // Hack: Use our own Lexer superclass by means of import. 
@@ -5260,4 +5274,4 @@
     }
  
 
-}
\ No newline at end of file
+}
diff --git a/org.eclipse.osbp.xtext.cubedsl/src/org/eclipse/osbp/xtext/cubedsl/scoping/CubeDSLScopeProvider.xtend b/org.eclipse.osbp.xtext.cubedsl/src/org/eclipse/osbp/xtext/cubedsl/scoping/CubeDSLScopeProvider.xtend
index 454982d..070aa6f 100644
--- a/org.eclipse.osbp.xtext.cubedsl/src/org/eclipse/osbp/xtext/cubedsl/scoping/CubeDSLScopeProvider.xtend
+++ b/org.eclipse.osbp.xtext.cubedsl/src/org/eclipse/osbp/xtext/cubedsl/scoping/CubeDSLScopeProvider.xtend
@@ -42,6 +42,8 @@
 import org.eclipse.xtext.common.types.impl.JvmParameterizedTypeReferenceImpl
 import org.eclipse.xtext.scoping.IScope
 import org.eclipse.xtext.scoping.Scopes
+import javax.inject.Inject
+import org.eclipse.osbp.dsl.common.xtext.extensions.ModelExtensions
 
 /**
  * This class contains custom scoping description.
@@ -52,7 +54,8 @@
  */
 //class CubeDSLScopeProvider extends AbstractDeclarativeScopeProvider {
 class CubeDSLScopeProvider extends AbstractCubeDSLScopeProvider /*XbaseWithAnnotationsScopeProvider*/ {
-
+	@Inject extension ModelExtensions
+	
 	@Override
 	override IScope getScope(EObject context, EReference reference) {
 		if (reference == CubeDSLPackage.Literals.CUBE_DIMENSION_ENTITY_ENTITY__OVER_VALUE) {
@@ -163,7 +166,7 @@
 			} else {
 				for (LEntityAttribute entityAttr : cubeEnt.allAttributes) {
 					if (entityAttr.type !== null && entityAttr.entity.isNormalAttribute(entityAttr) &&
-						(entityAttr.type instanceof LDataType) && (entityAttr.type as LDataType).isNumeric) {
+						entityAttr.type instanceof LDataType && isNumericOrWrapperType(entityAttr.type as LDataType)) {
 						result.add(entityAttr)
 					}
 				}
@@ -172,31 +175,6 @@
 		return Scopes.scopeFor(result)
 	}
 
-	def boolean isNumeric(LDataType type) {
-		val JvmParameterizedTypeReferenceImpl typeRef = type.jvmTypeReference as JvmParameterizedTypeReferenceImpl
-		if (typeRef !== null) {
-			var typeIdentifier = ""
-			if (typeRef.basicGetType().eIsProxy && (typeRef.basicGetType() instanceof InternalEObject)) {
-				typeIdentifier = (typeRef.basicGetType() as InternalEObject).eProxyURI.fragment
-			} else {
-				typeIdentifier = typeRef.identifier
-			}
-			switch (typeIdentifier) {
-				case Short.typeName,
-				case Integer.typeName,
-				case Long.typeName,
-				case Double.typeName,
-				case Float.typeName: {
-					return true
-				}
-				default: {
-					return false
-				}
-			}
-		}
-		return false
-	}
-
 	def IScope getScope_CubeEntityColRef(EObject context) {
 		var result = <EObject>newArrayList
 		var eObj = context
diff --git a/org.eclipse.osbp.xtext.cubedsl/xtend-gen/org/eclipse/osbp/xtext/cubedsl/scoping/CubeDSLScopeProvider.java b/org.eclipse.osbp.xtext.cubedsl/xtend-gen/org/eclipse/osbp/xtext/cubedsl/scoping/CubeDSLScopeProvider.java
index a4ebc1c..769dc9f 100644
--- a/org.eclipse.osbp.xtext.cubedsl/xtend-gen/org/eclipse/osbp/xtext/cubedsl/scoping/CubeDSLScopeProvider.java
+++ b/org.eclipse.osbp.xtext.cubedsl/xtend-gen/org/eclipse/osbp/xtext/cubedsl/scoping/CubeDSLScopeProvider.java
@@ -19,10 +19,11 @@
 import com.google.common.base.Objects;
 import java.util.ArrayList;
 import java.util.List;
+import javax.inject.Inject;
 import org.eclipse.emf.common.util.EList;
 import org.eclipse.emf.ecore.EObject;
 import org.eclipse.emf.ecore.EReference;
-import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.osbp.dsl.common.xtext.extensions.ModelExtensions;
 import org.eclipse.osbp.dsl.semantic.common.types.LDataType;
 import org.eclipse.osbp.dsl.semantic.entity.LEntity;
 import org.eclipse.osbp.dsl.semantic.entity.LEntityAttribute;
@@ -40,12 +41,10 @@
 import org.eclipse.osbp.xtext.cubedsl.CubePackage;
 import org.eclipse.osbp.xtext.cubedsl.CubeTypeEntity;
 import org.eclipse.osbp.xtext.cubedsl.scoping.AbstractCubeDSLScopeProvider;
-import org.eclipse.xtext.common.types.JvmType;
-import org.eclipse.xtext.common.types.JvmTypeReference;
-import org.eclipse.xtext.common.types.impl.JvmParameterizedTypeReferenceImpl;
 import org.eclipse.xtext.scoping.IScope;
 import org.eclipse.xtext.scoping.Scopes;
 import org.eclipse.xtext.xbase.lib.CollectionLiterals;
+import org.eclipse.xtext.xbase.lib.Extension;
 
 /**
  * This class contains custom scoping description.
@@ -55,6 +54,10 @@
  */
 @SuppressWarnings("all")
 public class CubeDSLScopeProvider extends AbstractCubeDSLScopeProvider {
+  @Inject
+  @Extension
+  private ModelExtensions _modelExtensions;
+  
   @Override
   public IScope getScope(final EObject context, final EReference reference) {
     boolean _equals = Objects.equal(reference, CubeDSLPackage.Literals.CUBE_DIMENSION_ENTITY_ENTITY__OVER_VALUE);
@@ -186,7 +189,8 @@
       } else {
         List<LEntityAttribute> _allAttributes = cubeEnt.getAllAttributes();
         for (final LEntityAttribute entityAttr : _allAttributes) {
-          if (((((entityAttr.getType() != null) && entityAttr.getEntity().isNormalAttribute(entityAttr)) && (entityAttr.getType() instanceof LDataType)) && this.isNumeric(((LDataType) entityAttr.getType())))) {
+          if (((((entityAttr.getType() != null) && entityAttr.getEntity().isNormalAttribute(entityAttr)) && 
+            (entityAttr.getType() instanceof LDataType)) && this._modelExtensions.isNumericOrWrapperType(((LDataType) entityAttr.getType())))) {
             result.add(entityAttr);
           }
         }
@@ -195,54 +199,6 @@
     return Scopes.scopeFor(result);
   }
   
-  public boolean isNumeric(final LDataType type) {
-    JvmTypeReference _jvmTypeReference = type.getJvmTypeReference();
-    final JvmParameterizedTypeReferenceImpl typeRef = ((JvmParameterizedTypeReferenceImpl) _jvmTypeReference);
-    if ((typeRef != null)) {
-      String typeIdentifier = "";
-      if ((typeRef.basicGetType().eIsProxy() && (typeRef.basicGetType() instanceof InternalEObject))) {
-        JvmType _basicGetType = typeRef.basicGetType();
-        typeIdentifier = ((InternalEObject) _basicGetType).eProxyURI().fragment();
-      } else {
-        typeIdentifier = typeRef.getIdentifier();
-      }
-      boolean _matched = false;
-      String _typeName = Short.class.getTypeName();
-      if (Objects.equal(typeIdentifier, _typeName)) {
-        _matched=true;
-      }
-      if (!_matched) {
-        String _typeName_1 = Integer.class.getTypeName();
-        if (Objects.equal(typeIdentifier, _typeName_1)) {
-          _matched=true;
-        }
-      }
-      if (!_matched) {
-        String _typeName_2 = Long.class.getTypeName();
-        if (Objects.equal(typeIdentifier, _typeName_2)) {
-          _matched=true;
-        }
-      }
-      if (!_matched) {
-        String _typeName_3 = Double.class.getTypeName();
-        if (Objects.equal(typeIdentifier, _typeName_3)) {
-          _matched=true;
-        }
-      }
-      if (!_matched) {
-        String _typeName_4 = Float.class.getTypeName();
-        if (Objects.equal(typeIdentifier, _typeName_4)) {
-          _matched=true;
-        }
-      }
-      if (_matched) {
-        return true;
-      }
-      return false;
-    }
-    return false;
-  }
-  
   public IScope getScope_CubeEntityColRef(final EObject context) {
     ArrayList<EObject> result = CollectionLiterals.<EObject>newArrayList();
     EObject eObj = context;