[575081] Add MiniMap and Terminal Views to the Web Perspective
diff --git a/web/bundles/org.eclipse.wst.web.ui/META-INF/MANIFEST.MF b/web/bundles/org.eclipse.wst.web.ui/META-INF/MANIFEST.MF
index 9f1f9c9..0c9c0a6 100644
--- a/web/bundles/org.eclipse.wst.web.ui/META-INF/MANIFEST.MF
+++ b/web/bundles/org.eclipse.wst.web.ui/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %Bundle-Name.0
 Bundle-SymbolicName: org.eclipse.wst.web.ui; singleton:=true
-Bundle-Version: 1.2.103.qualifier
+Bundle-Version: 1.2.200.qualifier
 Bundle-Activator: org.eclipse.wst.web.ui.internal.WSTWebUIPlugin
 Bundle-ActivationPolicy: lazy
 Bundle-Vendor: %Bundle-Vendor.0
diff --git a/web/bundles/org.eclipse.wst.web.ui/plugin.xml b/web/bundles/org.eclipse.wst.web.ui/plugin.xml
index 526abb6..1adbaa5 100644
--- a/web/bundles/org.eclipse.wst.web.ui/plugin.xml
+++ b/web/bundles/org.eclipse.wst.web.ui/plugin.xml
@@ -98,6 +98,8 @@
             <viewShortcut id="org.eclipse.ui.views.PropertySheet"/> 
             <viewShortcut id="org.eclipse.ui.views.ProblemView"/> 
             <viewShortcut id="org.eclipse.wst.server.ui.ServersView"/>
+            <viewShortcut id="org.eclipse.tm.terminal.view.ui.TerminalsView"/>
+            <viewShortcut id="org.eclipse.ui.views.minimap.MinimapView"/>
 
             <perspectiveShortcut id="org.eclipse.jdt.ui.JavaPerspective"/>
         </perspectiveExtension> 
diff --git a/web/bundles/org.eclipse.wst.web.ui/pom.xml b/web/bundles/org.eclipse.wst.web.ui/pom.xml
index e2ebbbd..005b422 100644
--- a/web/bundles/org.eclipse.wst.web.ui/pom.xml
+++ b/web/bundles/org.eclipse.wst.web.ui/pom.xml
@@ -21,6 +21,6 @@
 
   <groupId>org.eclipse.webtools.javaee</groupId>
   <artifactId>org.eclipse.wst.web.ui</artifactId>
-  <version>1.2.103-SNAPSHOT</version>
+  <version>1.2.200-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/web/bundles/org.eclipse.wst.web.ui/static_web_ui/org/eclipse/wst/web/ui/internal/WebDevelopmentPerspective.java b/web/bundles/org.eclipse.wst.web.ui/static_web_ui/org/eclipse/wst/web/ui/internal/WebDevelopmentPerspective.java
index 5b3059a..87a7d66 100644
--- a/web/bundles/org.eclipse.wst.web.ui/static_web_ui/org/eclipse/wst/web/ui/internal/WebDevelopmentPerspective.java
+++ b/web/bundles/org.eclipse.wst.web.ui/static_web_ui/org/eclipse/wst/web/ui/internal/WebDevelopmentPerspective.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2006, 2018 IBM Corporation and others.
+ * Copyright (c) 2006, 2021 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
@@ -19,6 +19,7 @@
 import org.eclipse.ui.PlatformUI;
 import org.eclipse.ui.console.IConsoleConstants;
 import org.eclipse.ui.progress.IProgressConstants;
+import org.eclipse.ui.views.IViewDescriptor;
 import org.eclipse.wst.project.facet.IProductConstants;
 import org.eclipse.wst.project.facet.ProductManager;
 
@@ -36,6 +37,7 @@
 	protected static String ID_PROJECT_EXPLORER = "org.eclipse.ui.navigator.ProjectExplorer"; //$NON-NLS-1$
 	protected static final String ID_SERVER = "org.eclipse.wst.server.ui.ServersView"; //$NON-NLS-1$
 	protected static String ID_WST_SNIPPETS_VIEW = "org.eclipse.wst.common.snippets.internal.ui.SnippetsView"; //$NON-NLS-1$
+	private static final String ID_TERMINAL_VIEW = "org.eclipse.tm.terminal.view.ui.TerminalsView"; //$NON-NLS-1$
 
 	public WebDevelopmentPerspective() {
 		super();
@@ -49,6 +51,16 @@
 		}
 	}
 
+	private void addViewIfPresent(IFolderLayout layout, String viewID) {
+		IViewDescriptor descriptor = PlatformUI.getWorkbench().getViewRegistry().find(viewID);
+		if (descriptor != null) {
+			layout.addView(viewID);
+		}
+		else {
+			layout.addPlaceholder(viewID);
+		}
+	}
+
 	/*
 	 *____ ________________ _____
 	 *|    |                |     |
@@ -77,7 +89,7 @@
 		IFolderLayout topRight = layout.createFolder(TOP_RIGHT_LOCATION,
 				IPageLayout.RIGHT, 0.80f, editorArea);
 		topRight.addView(IPageLayout.ID_OUTLINE);
-		topRight.addView(ID_WST_SNIPPETS_VIEW);
+		topRight.addPlaceholder(IPageLayout.ID_MINIMAP_VIEW);
 
 		// BOTTOM Area (Problems, Server, Properties)
 		IFolderLayout bottom = layout.createFolder(BOTTOM_LOCATION,
@@ -85,11 +97,13 @@
 		bottom.addView(IPageLayout.ID_PROBLEM_VIEW);
 		bottom.addView(ID_SERVER);
 		bottom.addView(IPageLayout.ID_PROP_SHEET);
+		bottom.addView(ID_WST_SNIPPETS_VIEW);
 		bottom.addPlaceholder(NewSearchUI.SEARCH_VIEW_ID);
 		bottom.addPlaceholder(IConsoleConstants.ID_CONSOLE_VIEW);
 		bottom.addPlaceholder(IPageLayout.ID_BOOKMARKS);
 		bottom.addPlaceholder(IProgressConstants.PROGRESS_VIEW_ID);
 		bottom.addPlaceholder(IPageLayout.ID_TASK_LIST);
+		addViewIfPresent(bottom, ID_TERMINAL_VIEW);
 	}
 
 }