Update diagram Junit test cases
diff --git a/org.eclipse.epf.diagram.tests/META-INF/MANIFEST.MF b/org.eclipse.epf.diagram.tests/META-INF/MANIFEST.MF
index df17710..4ad56f0 100644
--- a/org.eclipse.epf.diagram.tests/META-INF/MANIFEST.MF
+++ b/org.eclipse.epf.diagram.tests/META-INF/MANIFEST.MF
@@ -8,12 +8,13 @@
 Require-Bundle: org.eclipse.ui,
  org.eclipse.core.runtime,
  org.junit,
- org.eclipse.epf.diagram.ui,
- org.eclipse.epf.library.tests,
+ org.eclipse.epf.common,
  org.eclipse.epf.uma,
- org.eclipse.gmf.runtime.notation,
- org.eclipse.epf.authoring.ui,
+ org.eclipse.epf.library,
  org.eclipse.epf.library.xmi,
- org.eclipse.uml2.uml,
- org.eclipse.epf.diagram.core
+ org.eclipse.epf.library.tests,
+ org.eclipse.epf.diagram.core,
+ org.eclipse.epf.diagram.ad,
+ org.eclipse.epf.diagram.ui,
+ org.eclipse.epf.authoring.ui
 Eclipse-LazyStart: true
diff --git a/org.eclipse.epf.diagram.tests/src/org/eclipse/epf/diagram/tests/DiagramUIServiceTest.java b/org.eclipse.epf.diagram.tests/src/org/eclipse/epf/diagram/tests/DiagramUIServiceTest.java
index 8b3396b..04cea33 100644
--- a/org.eclipse.epf.diagram.tests/src/org/eclipse/epf/diagram/tests/DiagramUIServiceTest.java
+++ b/org.eclipse.epf.diagram.tests/src/org/eclipse/epf/diagram/tests/DiagramUIServiceTest.java
@@ -10,8 +10,12 @@
 //------------------------------------------------------------------------------
 package org.eclipse.epf.diagram.tests;
 
+import java.util.Collections;
 import java.util.List;
 
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.transaction.Transaction;
+import org.eclipse.epf.diagram.core.services.DiagramManager;
 import org.eclipse.epf.diagram.ui.service.DiagramUIService;
 import org.eclipse.epf.diagram.ui.service.IDiagramUIService;
 import org.eclipse.epf.library.tests.LibraryTestHelper;
@@ -74,67 +78,82 @@
 
 		Activity act1 = LibraryTestHelper.createActivity(plugin, cp1, "A1",
 				tasks);
-		Activity act2 = LibraryTestHelper.createActivity(plugin, cp1, "A1",
+		Activity act2 = LibraryTestHelper.createActivity(plugin, cp1, "A2",
 				tasks);
 
 		diagramUIService = new DiagramUIService();
-		
-		Diagram diagram = diagramUIService.createActivityDiagram(cp1);
-
-		assertTrue(diagram != null);
+		DiagramManager mgr = DiagramManager.getInstance(cp1);
+		Diagram diagram = null;
+		try {
+			Transaction tx =  mgr.getEditingDomain().startTransaction(false,
+					Collections.EMPTY_MAP);
+			Resource resource = mgr.getResource();
 	
+			diagram = diagramUIService.createActivityDiagram(cp1);
+	
+			Node act1Node = diagramUIService.createNode(diagram,  act1);
+			Node initialNode = diagramUIService.createNode(diagram, IDiagramUIService.INITIAL_NODE, "initial");
+			Node act2Node = diagramUIService.createNode(diagram, act2);
+			Node decisionNode = diagramUIService.createNode(diagram, IDiagramUIService.DECISION_NODE, "decision");
+			Node endNode = diagramUIService.createNode(diagram, IDiagramUIService.FINAL_NODE, "end");
+			
+			diagramUIService.createEdge(diagram, initialNode, act1Node, "link1");
+			diagramUIService.createEdge(diagram, act1Node, decisionNode, "link2");
+			diagramUIService.createEdge(diagram, decisionNode, act2Node, "link3");
+			diagramUIService.createEdge(diagram, act2Node, endNode, "link4");
+						
+			List nodes = diagramUIService.getNodes(diagram, cp1, IDiagramUIService.ACTIVITY_NODE);
+			if (!nodes.isEmpty()) {
+				System.out.println("****** ACTIVITY Nodes - ");
+				for (int i=0; i < nodes.size(); i++)
+					System.out.println(nodes.get(i));
+			}
+			
+			nodes = diagramUIService.getNodes(diagram, cp1, IDiagramUIService.INITIAL_NODE);
+			if (!nodes.isEmpty()) {
+				System.out.println("****** Initial Nodes - ");
+				for (int i=0; i < nodes.size(); i++)
+					System.out.println(nodes.get(i));
+			}
+			
+			nodes = diagramUIService.getNodes(diagram, cp1, IDiagramUIService.DECISION_NODE);
+			if (!nodes.isEmpty()) {
+				System.out.println("****** Decision Nodes - ");
+				for (int i=0; i < nodes.size(); i++)
+					System.out.println(nodes.get(i));
+			}
+			
+			nodes = diagramUIService.getAllNodes(diagram);
+			if (!nodes.isEmpty()) {
+				System.out.println("****** ALL Nodes - ");
+				for (int i=0; i < nodes.size(); i++)
+					System.out.println(nodes.get(i));
+			}
+			
+			assertTrue(!nodes.isEmpty());
+			
+			List edges = diagramUIService.getEdges(diagram);
+			if (!edges.isEmpty()) {
+				System.out.println("****** ALL Edges - ");
+				for (int i=0; i < edges.size(); i++)
+					System.out.println(edges.get(i));
+			}
+			
+			assertTrue(!edges.isEmpty());
 		
-		Node act1Node = diagramUIService.createNode(diagram,  act1);
-		Node initialNode = diagramUIService.createNode(diagram, IDiagramUIService.INITIAL_NODE, "initial");
-		Node act2Node = diagramUIService.createNode(diagram, act2);
-		Node decisionNode = diagramUIService.createNode(diagram, IDiagramUIService.DECISION_NODE, "decision");
-		Node endNode = diagramUIService.createNode(diagram, IDiagramUIService.FINAL_NODE, "end");
-		
-		diagramUIService.createEdge(diagram, initialNode, act1Node, "link1");
-		diagramUIService.createEdge(diagram, act1Node, decisionNode, "link2");
-		diagramUIService.createEdge(diagram, decisionNode, act2Node, "link3");
-		diagramUIService.createEdge(diagram, act2Node, endNode, "link4");
-		
-		
-		List nodes = diagramUIService.getNodes(diagram, cp1, IDiagramUIService.ACTIVITY_NODE);
-		if (!nodes.isEmpty()) {
-			System.out.println("****** ACTIVITY Nodes - ");
-			for (int i=0; i < nodes.size(); i++)
-				System.out.println(nodes.get(i));
-		}
-		
-		nodes = diagramUIService.getNodes(diagram, cp1, IDiagramUIService.INITIAL_NODE);
-		if (!nodes.isEmpty()) {
-			System.out.println("****** Initial Nodes - ");
-			for (int i=0; i < nodes.size(); i++)
-				System.out.println(nodes.get(i));
-		}
-		
-		nodes = diagramUIService.getNodes(diagram, cp1, IDiagramUIService.DECISION_NODE);
-		if (!nodes.isEmpty()) {
-			System.out.println("****** Decision Nodes - ");
-			for (int i=0; i < nodes.size(); i++)
-				System.out.println(nodes.get(i));
-		}
-		
-		nodes = diagramUIService.getAllNodes(diagram);
-		if (!nodes.isEmpty()) {
-			System.out.println("****** ALL Nodes - ");
-			for (int i=0; i < nodes.size(); i++)
-				System.out.println(nodes.get(i));
-		}
-		
-		assertTrue(!nodes.isEmpty());
-		
-		List edges = diagramUIService.getEdges(diagram);
-		if (!edges.isEmpty()) {
-			System.out.println("****** ALL Edges - ");
-			for (int i=0; i < edges.size(); i++)
-				System.out.println(edges.get(i));
-		}
-		
-		assertTrue(!edges.isEmpty());
-		
+			// save diagram
+			resource.getContents().add(diagram.getElement());
+			resource.getContents().add(diagram);
+			tx.commit();
+			resource.save(null);
+
+		} catch (Exception e) {
+			e.printStackTrace();
+		} finally {
+			if (mgr != null) {
+				mgr.release();
+			}
+		}		
 	}
 
 }