catch up with branch daily

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 1f43803..a7dcac9 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
@@ -112,9 +112,7 @@
 import org.eclipse.osbp.xtext.perspective.PerspectiveOrganization;
 import org.eclipse.osbp.xtext.perspective.PerspectivePackage;
 import org.eclipse.osbp.xtext.perspective.PerspectivePart;
-import org.eclipse.osbp.xtext.perspective.PerspectivePartStack;
 import org.eclipse.osbp.xtext.perspective.PerspectiveReport;
-import org.eclipse.osbp.xtext.perspective.PerspectiveSashContainer;
 import org.eclipse.osbp.xtext.perspective.PerspectiveSaiku;
 import org.eclipse.osbp.xtext.perspective.PerspectiveSearch;
 import org.eclipse.osbp.xtext.perspective.PerspectiveSelection;
@@ -1063,8 +1061,12 @@
 		public boolean isPerspectiveAuthorized(String fqn, IUserAccessService userAccessService) {
 			Map<String, Boolean> authorized = new HashMap<>();
 			Perspective perspective = (Perspective)getMetadata(fqn, PerspectiveDslPackage.Literals.PERSPECTIVE);
-			for(PerspectiveElement element:perspective.getElements()) {
-				traverseModel(element, userAccessService, authorized);
+			if (perspective != null ) {
+				for(PerspectiveElement element:perspective.getElements()) {
+					traverseModel(element, userAccessService, authorized);
+				}
+			} else {
+				log.error("did not find perspective metadata for {}",fqn);
 			}
 			return getAuthorization(authorized);
 		}
@@ -1225,7 +1227,10 @@
 				} else if(datamart.getSource() instanceof DatamartTask) {
 					authorized.put(datamart.toString(), true);
 				} else {
-					throw new IllegalViewException("no such datamart source:"+datamart.getSource().toString());
+					if( datamart.getSource() != null )
+						throw new IllegalViewException("no such datamart source:"+datamart.getSource().toString());
+					else
+						throw new IllegalViewException("no such datamart source: "+datamart.getSource());
 				}
 			}
 		}