RESOLVED - bug 168643: pde.visualization.dependency uses 1.5 type
https://bugs.eclipse.org/bugs/show_bug.cgi?id=168643
diff --git a/visualization/plugins/org.eclipse.pde.visualization.dependency/src/org/eclipse/pde/visualization/dependency/views/AnalysisUtil.java b/visualization/plugins/org.eclipse.pde.visualization.dependency/src/org/eclipse/pde/visualization/dependency/views/AnalysisUtil.java
index e950218..38f8615 100644
--- a/visualization/plugins/org.eclipse.pde.visualization.dependency/src/org/eclipse/pde/visualization/dependency/views/AnalysisUtil.java
+++ b/visualization/plugins/org.eclipse.pde.visualization.dependency/src/org/eclipse/pde/visualization/dependency/views/AnalysisUtil.java
@@ -18,7 +18,6 @@
 import java.util.HashSet;
 import java.util.Iterator;
 import java.util.LinkedList;
-import java.util.Queue;
 import java.util.Set;
 
 import org.eclipse.osgi.service.resolver.BundleDescription;
@@ -33,12 +32,12 @@
 public class AnalysisUtil {
 	
 	public static BundleDescription[] getPath(BundleDescription root, BundleDescription bundle ) {
-		Queue q = new LinkedList();
+		LinkedList q = new LinkedList();
 		Set orderedSet = new HashSet();
 		LinkedList orderedList = new LinkedList();
 		q.add(root);
 		while(!q.isEmpty()) {
-			BundleDescription head = (BundleDescription) q.poll();
+			BundleDescription head = (BundleDescription) q.remove(0);
 			if ( !orderedSet.contains(head)) {
 				orderedSet.add(head);
 				orderedList.add(head);
@@ -49,7 +48,7 @@
 		return path;
 	}
 	
-	private static void buildQueue(BundleDescription root, Queue q) {
+	private static void buildQueue(BundleDescription root, LinkedList q) {
 		BundleDescription[] descriptions = getDependencies(root);
 		if ( descriptions == null || descriptions.length == 0 ) return;
 		for (int i = 0; i < descriptions.length; i++) {
@@ -58,7 +57,7 @@
 	}
 	
 	
-	public static BundleDescription[] modifiedDijkstra(Queue q, BundleDescription s, BundleDescription t) {
+	public static BundleDescription[] modifiedDijkstra(LinkedList q, BundleDescription s, BundleDescription t) {
 		HashMap previous = new HashMap();
 		HashMap dValues = new HashMap();
 		for( Iterator iter = q.iterator(); iter.hasNext(); ) {
@@ -67,7 +66,7 @@
 		dValues.put(s, new Integer(0));
 		
 		while ( !q.isEmpty() ) {
-			BundleDescription head = (BundleDescription) q.poll();
+			BundleDescription head = (BundleDescription) q.remove(0);
 			BundleDescription[] outgoing = getDependencies(head);
 			for (int i = 0; i < outgoing.length; i++) {
 				BundleDescription v = outgoing[i];
diff --git a/visualization/plugins/org.eclipse.pde.visualization.dependency/src/org/eclipse/pde/visualization/dependency/views/PluginVisualizationView.java b/visualization/plugins/org.eclipse.pde.visualization.dependency/src/org/eclipse/pde/visualization/dependency/views/PluginVisualizationView.java
index ee815c2..33cb1ee 100644
--- a/visualization/plugins/org.eclipse.pde.visualization.dependency/src/org/eclipse/pde/visualization/dependency/views/PluginVisualizationView.java
+++ b/visualization/plugins/org.eclipse.pde.visualization.dependency/src/org/eclipse/pde/visualization/dependency/views/PluginVisualizationView.java
@@ -25,8 +25,11 @@
 import org.eclipse.jface.viewers.StructuredSelection;
 import org.eclipse.jface.window.Window;
 import org.eclipse.mylar.zest.core.ZestStyles;
+import org.eclipse.mylar.zest.core.viewers.AbstractZoomableViewer;
 import org.eclipse.mylar.zest.core.viewers.IGraphEntityContentProvider;
+import org.eclipse.mylar.zest.core.viewers.IZoomableWorkbenchPart;
 import org.eclipse.mylar.zest.core.viewers.StaticGraphViewer;
+import org.eclipse.mylar.zest.core.viewers.ZoomContributionViewItem;
 import org.eclipse.mylar.zest.layouts.LayoutAlgorithm;
 import org.eclipse.mylar.zest.layouts.LayoutStyles;
 import org.eclipse.mylar.zest.layouts.algorithms.CompositeLayoutAlgorithm;
@@ -57,7 +60,7 @@
  * are presented in the same way everywhere.
  * <p>
  */
-public class PluginVisualizationView extends ViewPart {
+public class PluginVisualizationView extends ViewPart implements IZoomableWorkbenchPart {
 
 	private FormToolkit toolKit = null;
 	private Form form = null;
@@ -332,6 +335,9 @@
 
 		manager.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));
 		manager.add(historyAction);
+		manager.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));
+		ZoomContributionViewItem contributionViewItem = new ZoomContributionViewItem(this.getSite().getPage());
+		manager.add(contributionViewItem);
 	}
 
 	/**
@@ -348,4 +354,8 @@
 		form.dispose();
 		super.dispose();
 	}
+
+	public AbstractZoomableViewer getZoomableViewer() {
+		return viewer;
+	}
 }
\ No newline at end of file