catch up with development

Signed-off-by: Ralf Mollik <ramollik@compex-commerce.com>
diff --git a/org.eclipse.osbp.dsl.metadata.service/src/org/eclipse/osbp/dsl/metadata/service/DSLBuilderParticipant.java b/org.eclipse.osbp.dsl.metadata.service/src/org/eclipse/osbp/dsl/metadata/service/DSLBuilderParticipant.java
index 171b5a6..5674858 100644
--- a/org.eclipse.osbp.dsl.metadata.service/src/org/eclipse/osbp/dsl/metadata/service/DSLBuilderParticipant.java
+++ b/org.eclipse.osbp.dsl.metadata.service/src/org/eclipse/osbp/dsl/metadata/service/DSLBuilderParticipant.java
@@ -44,7 +44,6 @@
 import org.eclipse.emf.ecore.EPackage;
 import org.eclipse.osbp.dsl.common.datatypes.IDto;
 import org.eclipse.osbp.dsl.semantic.common.types.LTypedPackage;
-import org.eclipse.osbp.dsl.semantic.common.types.OSBPTypesPackage;
 import org.eclipse.osbp.dsl.semantic.dto.LAutoInheritDto;
 import org.eclipse.osbp.dsl.semantic.dto.LDto;
 import org.eclipse.osbp.dsl.semantic.dto.LDtoAttribute;
@@ -211,8 +210,12 @@
 	private Map<String, String> localeCache = new HashMap<>();
 	/** to reduce regex matching */
 	private Map<String, String> keyCache = new HashMap<>();
-
+	/** is it osbee or not? */
 	private boolean osbee = false;
+	/** is a dashboard provider installed? */
+	private boolean hasDashboardProvider = false;
+	/** The dashboard provider URL. */
+	private String dashboardProviderURL;
 
 	/**
 	 * Activate.
@@ -255,6 +258,10 @@
 		if(suspect.getSymbolicName().contains("osbee")) {
 			osbee  = true;
 		}
+		if(suspect.getSymbolicName().contains("dashboard")) {
+			hasDashboardProvider  = true;
+			dashboardProviderURL = suspect.getSymbolicName();
+		}
 		scanModelBundles(suspect, results, wiring);
 		scanRuntimeBundles(suspect);
 		// bundles containing translations and don't scan translations twice
@@ -948,6 +955,9 @@
 					Perspective perspective = ((Perspective) obj);
 					result.add(Tuples.pair(perspective.getName(), NamingConventions.getPerspectiveFQN(perspective)));
 				}
+				if(hasDashboardProvider) {
+					result.add(Tuples.pair("Dashboard", IDSLMetadataService.DASHBOARD));
+				}
 			}
 			return result;
 		}
@@ -1081,6 +1091,9 @@
 		
 		@Override
 		public boolean isPerspectiveAuthorized(String fqn, IUserAccessService userAccessService) {
+			if("dashboard".equals(fqn) && hasDashboardProvider) {
+				return true;
+			}
 			Map<String, Boolean> authorized = new HashMap<>();
 			Perspective perspective = (Perspective)getMetadata(fqn, PerspectiveDslPackage.Literals.PERSPECTIVE);
 			if (perspective != null ) {