496323: log error when preview tab cannot be displayed in the editor

Change-Id: I48111845deb8d7ced623489dac92132554021c50
Task-Url: https://bugs.eclipse.org/bugs/show_bug.cgi?id=496323
diff --git a/org.eclipse.mylyn.wikitext.ui/src/org/eclipse/mylyn/internal/wikitext/ui/editor/MarkupEditor.java b/org.eclipse.mylyn.wikitext.ui/src/org/eclipse/mylyn/internal/wikitext/ui/editor/MarkupEditor.java
index 7d645df..bfcbb65 100644
--- a/org.eclipse.mylyn.wikitext.ui/src/org/eclipse/mylyn/internal/wikitext/ui/editor/MarkupEditor.java
+++ b/org.eclipse.mylyn.wikitext.ui/src/org/eclipse/mylyn/internal/wikitext/ui/editor/MarkupEditor.java
@@ -10,6 +10,8 @@
  *******************************************************************************/
 package org.eclipse.mylyn.internal.wikitext.ui.editor;
 
+import static java.text.MessageFormat.format;
+
 import java.io.PrintWriter;
 import java.io.StringReader;
 import java.io.StringWriter;
@@ -288,6 +290,7 @@
 				previewTab.dispose();
 				previewTab = null;
 			}
+			logPreviewTabUnavailable(e);
 		}
 
 		tabFolder.addSelectionListener(new SelectionListener() {
@@ -373,6 +376,11 @@
 		return viewer;
 	}
 
+	private void logPreviewTabUnavailable(SWTError e) {
+		WikiTextUiPlugin.getDefault().getLog().log(WikiTextUiPlugin.getDefault()
+				.createStatus(format(Messages.MarkupEditor_previewUnavailable, e.getMessage()), IStatus.ERROR, e));
+	}
+
 	@Override
 	public void createPartControl(Composite parent) {
 		super.createPartControl(parent);
@@ -912,8 +920,7 @@
 			Map<String, HeadingProjectionAnnotation> newProjectionAnnotationById = new HashMap<>();
 
 			if (projectionAnnotationById != null) {
-				Set<HeadingProjectionAnnotation> toDelete = new HashSet<>(
-						projectionAnnotationById.size());
+				Set<HeadingProjectionAnnotation> toDelete = new HashSet<>(projectionAnnotationById.size());
 				Iterator<Entry<HeadingProjectionAnnotation, Position>> newPositionIt = annotationToPosition.entrySet()
 						.iterator();
 				while (newPositionIt.hasNext()) {
diff --git a/org.eclipse.mylyn.wikitext.ui/src/org/eclipse/mylyn/internal/wikitext/ui/editor/Messages.java b/org.eclipse.mylyn.wikitext.ui/src/org/eclipse/mylyn/internal/wikitext/ui/editor/Messages.java
index 05b4932..4000c88 100644
--- a/org.eclipse.mylyn.wikitext.ui/src/org/eclipse/mylyn/internal/wikitext/ui/editor/Messages.java
+++ b/org.eclipse.mylyn.wikitext.ui/src/org/eclipse/mylyn/internal/wikitext/ui/editor/Messages.java
@@ -38,6 +38,8 @@
 
 	public static String MarkupEditor_preview_tooltip;
 
+	public static String MarkupEditor_previewUnavailable;
+
 	public static String MarkupEditor_updateOutline;
 
 	public static String MarkupEditor_collapseAllAction_label;
diff --git a/org.eclipse.mylyn.wikitext.ui/src/org/eclipse/mylyn/internal/wikitext/ui/editor/messages.properties b/org.eclipse.mylyn.wikitext.ui/src/org/eclipse/mylyn/internal/wikitext/ui/editor/messages.properties
index 945df84..72b4462 100644
--- a/org.eclipse.mylyn.wikitext.ui/src/org/eclipse/mylyn/internal/wikitext/ui/editor/messages.properties
+++ b/org.eclipse.mylyn.wikitext.ui/src/org/eclipse/mylyn/internal/wikitext/ui/editor/messages.properties
@@ -9,6 +9,7 @@
 #     David Green - initial API and implementation
 #     Marc-Andre Laperle (Ericsson) - Add collapse all button (Bug 424558)
 ###############################################################################
+
 MarkupEditor_markupLanguage=Markup Language
 MarkupEditor_markupPreferenceError=Cannot load markup language preference
 MarkupEditor_markupPreferenceError2=Cannot store markup language preference ''{0}''
@@ -19,6 +20,7 @@
 MarkupEditor_preview=Preview
 MarkupEditor_preview_tooltip=The markup preview, which shows the markup source as it would be rendered to HTML
 MarkupEditor_updateOutline=Update outline
+MarkupEditor_previewUnavailable=Cannot display wiki markup preview: {0}
 
 MarkupEditor_collapseAllAction_label=Collapse All
 MarkupEditor_collapseAllAction_tooltip=Collapse All