Fix NPE when trying create diagrams with null modelElement

Change-Id: I431faa1b0476daece3ce390cb65e6283accbae6c
Signed-off-by: Faycal Abka <faycal.abka@altran.com>
diff --git a/plugins/org.eclipse.amalgam.explorer.activity.ui/src/org/eclipse/amalgam/explorer/activity/ui/api/hyperlinkadapter/AbstractNewDiagramHyperlinkAdapter.java b/plugins/org.eclipse.amalgam.explorer.activity.ui/src/org/eclipse/amalgam/explorer/activity/ui/api/hyperlinkadapter/AbstractNewDiagramHyperlinkAdapter.java
index dca33c0..2f16326 100644
--- a/plugins/org.eclipse.amalgam.explorer.activity.ui/src/org/eclipse/amalgam/explorer/activity/ui/api/hyperlinkadapter/AbstractNewDiagramHyperlinkAdapter.java
+++ b/plugins/org.eclipse.amalgam.explorer.activity.ui/src/org/eclipse/amalgam/explorer/activity/ui/api/hyperlinkadapter/AbstractNewDiagramHyperlinkAdapter.java
@@ -50,16 +50,13 @@
 	 */
 	protected boolean createDiagram(final EObject project_p, final Session session_p) {
 		final boolean flag[] = { true };
-		RecordingCommand cmd = new RecordingCommand(TransactionUtil.getEditingDomain(project_p)) {
 
-			@Override
-			protected void doExecute() {
-				//
-				EObject modelElement = project_p;
-				// Precondition
-				if (null == modelElement) {
-					flag[0] = false;
-				} else {
+		if (project_p != null && session_p != null) {
+			RecordingCommand cmd = new RecordingCommand(TransactionUtil.getEditingDomain(project_p)) {
+				@Override
+				protected void doExecute() {
+					//
+					EObject modelElement = project_p;
 					RepresentationDescription diagramRepresentation = getDiagramRepresentation(session_p, modelElement);
 					// Preconditions
 					if ((null == diagramRepresentation)
@@ -71,17 +68,18 @@
 						newDiagramAction.run();
 					}
 				}
-
-			}
-		};
-		TransactionUtil.getEditingDomain(project_p).getCommandStack().execute(cmd);
+			};
+			TransactionUtil.getEditingDomain(project_p).getCommandStack().execute(cmd);
+		} else {
+			flag[0] = false;
+		}
 
 		return flag[0];
 	}
 
 	@Override
 	protected void linkPressed(HyperlinkEvent event_p, EObject root_p, Session session_p) {
-		if (!createDiagram(root_p, session_p)) {
+		if (root_p != null && !createDiagram(root_p, session_p)) {
 			handleDiagramCreationError(event_p, root_p);
 		}
 	}