Fixed bug 516354: Update JDT Tips & Tricks for Oxygen (4.7)

Change-Id: I5b8facf5ba1ed6e5de687f8dd438542cab407177
diff --git a/bundles/org.eclipse.jdt.doc.user/tips/images/org.eclipse.jdt.debug.ui/jdt-debug-edit-logical-structure-context-menu.png b/bundles/org.eclipse.jdt.doc.user/tips/images/org.eclipse.jdt.debug.ui/jdt-debug-edit-logical-structure-context-menu.png
new file mode 100644
index 0000000..acba198
--- /dev/null
+++ b/bundles/org.eclipse.jdt.doc.user/tips/images/org.eclipse.jdt.debug.ui/jdt-debug-edit-logical-structure-context-menu.png
Binary files differ
diff --git a/bundles/org.eclipse.jdt.doc.user/tips/images/org.eclipse.jdt.debug.ui/jdt-debug-show-logical-structure-by-default.png b/bundles/org.eclipse.jdt.doc.user/tips/images/org.eclipse.jdt.debug.ui/jdt-debug-show-logical-structure-by-default.png
new file mode 100644
index 0000000..910f580
--- /dev/null
+++ b/bundles/org.eclipse.jdt.doc.user/tips/images/org.eclipse.jdt.debug.ui/jdt-debug-show-logical-structure-by-default.png
Binary files differ
diff --git a/bundles/org.eclipse.jdt.doc.user/tips/images/org.eclipse.jdt.debug.ui/watchpoint_condition.png b/bundles/org.eclipse.jdt.doc.user/tips/images/org.eclipse.jdt.debug.ui/watchpoint_condition.png
new file mode 100644
index 0000000..79a9ae5
--- /dev/null
+++ b/bundles/org.eclipse.jdt.doc.user/tips/images/org.eclipse.jdt.debug.ui/watchpoint_condition.png
Binary files differ
diff --git a/bundles/org.eclipse.jdt.doc.user/tips/images/org.eclipse.jdt.debug.ui/watchpoint_properties.png b/bundles/org.eclipse.jdt.doc.user/tips/images/org.eclipse.jdt.debug.ui/watchpoint_properties.png
deleted file mode 100644
index ec95ab9..0000000
--- a/bundles/org.eclipse.jdt.doc.user/tips/images/org.eclipse.jdt.debug.ui/watchpoint_properties.png
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.jdt.doc.user/tips/images/show-junit-failure-trace-in-console-view.png b/bundles/org.eclipse.jdt.doc.user/tips/images/show-junit-failure-trace-in-console-view.png
new file mode 100644
index 0000000..29739c3
--- /dev/null
+++ b/bundles/org.eclipse.jdt.doc.user/tips/images/show-junit-failure-trace-in-console-view.png
Binary files differ
diff --git a/bundles/org.eclipse.jdt.doc.user/tips/images/step-show-methodresult.png b/bundles/org.eclipse.jdt.doc.user/tips/images/step-show-methodresult.png
new file mode 100644
index 0000000..a6694c2
--- /dev/null
+++ b/bundles/org.eclipse.jdt.doc.user/tips/images/step-show-methodresult.png
Binary files differ
diff --git a/bundles/org.eclipse.jdt.doc.user/tips/images/toggle-trace-point-conditional-breakpoint.png b/bundles/org.eclipse.jdt.doc.user/tips/images/toggle-trace-point-conditional-breakpoint.png
new file mode 100644
index 0000000..634b632
--- /dev/null
+++ b/bundles/org.eclipse.jdt.doc.user/tips/images/toggle-trace-point-conditional-breakpoint.png
Binary files differ
diff --git a/bundles/org.eclipse.jdt.doc.user/tips/images/toggle-trace-point-run.png b/bundles/org.eclipse.jdt.doc.user/tips/images/toggle-trace-point-run.png
new file mode 100644
index 0000000..9c57e63
--- /dev/null
+++ b/bundles/org.eclipse.jdt.doc.user/tips/images/toggle-trace-point-run.png
Binary files differ
diff --git a/bundles/org.eclipse.jdt.doc.user/tips/images/trigger-breakpoint-properties.png b/bundles/org.eclipse.jdt.doc.user/tips/images/trigger-breakpoint-properties.png
new file mode 100644
index 0000000..865d779
--- /dev/null
+++ b/bundles/org.eclipse.jdt.doc.user/tips/images/trigger-breakpoint-properties.png
Binary files differ
diff --git a/bundles/org.eclipse.jdt.doc.user/tips/images/trigger-breakpoint-view-ruler.png b/bundles/org.eclipse.jdt.doc.user/tips/images/trigger-breakpoint-view-ruler.png
new file mode 100644
index 0000000..2b53263
--- /dev/null
+++ b/bundles/org.eclipse.jdt.doc.user/tips/images/trigger-breakpoint-view-ruler.png
Binary files differ
diff --git a/bundles/org.eclipse.jdt.doc.user/tips/jdt_tips.html b/bundles/org.eclipse.jdt.doc.user/tips/jdt_tips.html
index 7eec9c9..aa4b73a 100644
--- a/bundles/org.eclipse.jdt.doc.user/tips/jdt_tips.html
+++ b/bundles/org.eclipse.jdt.doc.user/tips/jdt_tips.html
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
 <html lang="en">
 <head>
-<meta name="copyright" content="Copyright (c) IBM Corporation and others 2000, 2016. This page is made available under license. For full details see the LEGAL in the documentation book that contains this page." >
+<meta name="copyright" content="Copyright (c) IBM Corporation and others 2000, 2017. This page is made available under license. For full details see the LEGAL in the documentation book that contains this page." >
 
 <meta http-equiv="Content-Language" content="en-us">
 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
@@ -197,7 +197,7 @@
 			</p></td>
 		</tr>
 		<tr> 
-			<td width="20%" valign="top" align="left"><img src="images/new.png" alt=""><b>Substring code completion</b>
+			<td width="20%" valign="top" align="left"><b>Substring code completion</b>
 			</td>
 			<td valign="top" align="left" width="80%">
 			  Content Assist supports substring patterns. Enter any part of the desired proposal's text, and Content Assist will find it!
@@ -456,7 +456,7 @@
 		</tr>
 		
 		<tr>
-			<td width="20%" valign="top" align="left"><img src="images/new.png" alt=""><b>Rename in workspace</b></td><td valign="top" align="left" width="80%">
+			<td width="20%" valign="top" align="left"><b>Rename in workspace</b></td><td valign="top" align="left" width="80%">
 			  The <b>Refactor &gt; Rename</b> (<b>Alt+Shift+R</b>) popup has an <b>Options...</b> link which opens the full <b>Rename dialog</b> that 
 			  provides more options like renaming a field's getter and setter methods.
 				<p>
@@ -951,7 +951,7 @@
       	</td>
 		</tr>
       	<tr>
-          <td width="20%" valign="top" align="left"><img src="images/new.png" alt=""><b>Change problem severity</b></td>
+          <td width="20%" valign="top" align="left"><b>Change problem severity</b></td>
           <td width="80%" valign="top" align="left">
 			You can configure the severity of a compiler problem by invoking the <b>Quick Fix</b> (<b>Ctrl+1</b>) which opens the 
 			<a class="command-link" href='javascript:executeCommand("org.eclipse.ui.window.preferences(preferencePageId=org.eclipse.jdt.ui.preferences.ProblemSeveritiesPreferencePage)")'> 
@@ -1145,9 +1145,8 @@
 			<img src="images/editor-link-style-open.png"  border="0" alt="Hyperlink style navigation">
 <br>
 			<p>
-			Holding <b>Ctrl</b> on an overridable method shows a popup with an <b>Open Implementation</b> entry, which directly
-			opens the implementation in case there's only one, or shows all the concrete implementations for that method
-			in the hierarchy of its declaring type, using the quick type hierarchy.
+			Holding <b>Ctrl</b> on a class, interface or overridable method shows a popup with an <b>Open Implementation</b> entry, which directly
+			opens the implementation in case there's only one, or shows all the concrete implementations for that element using the quick type hierarchy.
 			</p>
 			The hyperlink style navigation can be configured on the
 			<a class="command-link" href='javascript:executeCommand("org.eclipse.ui.window.preferences(preferencePageId=org.eclipse.ui.editors.preferencePages.HyperlinkDetectorsPreferencePage)")'>
@@ -1293,7 +1292,7 @@
 			</td>
 		</tr>
 		<tr>
-			<td width="20%" valign="top" align="left"><img src="images/new.png" alt=""><b>Open from Clipboard</b><br></td>
+			<td width="20%" valign="top" align="left"><b>Open from Clipboard</b><br></td>
 			<td valign="top" align="left" width="80%">
 			The <b>Navigate &gt; Open from Clipboard</b> (<b>Ctrl+Shift+V</b>) command tries to navigate to the matching Java element in the editor if the clipboard contains a single line. 
 			Otherwise it opens the contents in the Java Stack Trace Console. 
@@ -1745,6 +1744,16 @@
 			tests are finished) and the JUnit view will appear.</td>
 		</tr>
 		<tr>
+			<td width="20%" valign="top" align="left"><img src="images/new.png" alt=""><b>Show JUnit failure trace in Console view</b></td>
+			<td valign="top" align="left" width="80%">
+			You can show the stack trace of a failed JUnit test in the <b>Console</b> view via the button on the JUnit Failure Trace header.
+      		The Console view makes it convenient to view a long and wide stack trace, copy parts of the stack trace and navigate to the classes on the stack trace using hyperlinks. 
+        	<p>
+          	<img src="images/show-junit-failure-trace-in-console-view.png" alt="">
+        	</p>
+			</td>
+		</tr>
+		<tr>
 			<td valign="top" align="left"><b>Content assist in dialog fields</b>
 			</td>
 			<td>Content assist (<b>Ctrl+Space</b>) is also available in input fields
@@ -2039,6 +2048,20 @@
 			</td>
 		</tr>
 		<tr>
+			<td width="20%" valign="top" align="left"><img src="images/new.png" alt=""><b>Method result after step operations</b></td>
+			<td width="80%" valign="top" align="left">
+			During debugging, you can view the last method result (per return or throw) that was observed during <b>Step Into</b>, <b>Step Over</b> 
+			or <b>Step Return</b>, as first line in the <b>Variables</b> view.
+        	<p>
+          	<img src="images/step-show-methodresult.png" alt="">
+        	</p>
+        	<p>
+        	This can be disabled with the option
+        	<b>Preferences &gt; Java &gt; Debug &gt; Show method result after a step operation (if supported by the VM; may be slow)</b>.
+        	</p>
+			</td>
+		</tr>
+		<tr>
 			<td width="20%" valign="top" align="left">
       <p><b>View management in non-Debug perspectives</b></p>
     </td>
@@ -2081,20 +2104,19 @@
 			</td>
 		</tr>
 		<tr>
-			<td width="20%" valign="top" align="left">
-      <p><b>Logical structures</b></p>
-    </td>
-			<td width="80%" valign="top" align="left">
-			
-      <p>The <b>Logical Structures</b> toggle on the <b>Variables view</b> toolbar 
-        presents alternate structures for common types. JDT provides logical views 
-        for Maps, Collections, and SWT Composites. You can define
-        logical structures for other types from the <b>Logical Structures</b>
-        preference page.</p>
-			<p><img src="images/org.eclipse.jdt.debug.ui/logical_structure_toggle.png"  alt="Vector displayed as a logical structure in the variable view">
-</p>
-			</td>
-			
+		<td width="20%" valign="top" align="left"><img src="images/new.png" alt="">
+    	  <b>Logical structures</b>
+    	</td>
+		<td width="80%" valign="top" align="left">
+      		The <b>Logical Structures</b> toggle on the <b>Variables</b> view toolbar 
+        	presents alternate structures for common types. 
+	        <p><img src="images/org.eclipse.jdt.debug.ui/jdt-debug-show-logical-structure-by-default.png" alt=""></p>
+	        <p>
+    	    JDT provides logical views for Maps, Collections, and SWT Composites. You can define
+        	logical structures for other types from the <b>Logical Structures</b>
+	        preference page. The <b>Show Logical Structure</b> context menu lets you choose or edit the representation.</p>
+    	   	<p><img src="images/org.eclipse.jdt.debug.ui/jdt-debug-edit-logical-structure-context-menu.png" alt=""></p>
+		</td>		
 		</tr>
 		<tr>
 			<td width="20%" valign="top" align="left">
@@ -2177,13 +2199,39 @@
 			</td>
 		</tr>
 		<tr>
-			<td valign="top" align="left"><b>Debugging by writing to console</b></td>
+			<td valign="top" align="left"><img src="images/new.png" alt=""><b>Triggers for breakpoints</b></td>
+			<td valign="top" align="left">
+     		You can define a set of triggers for the breakpoints in a workspace.
+		    <p>
+        	<img src="images/trigger-breakpoint-properties.png" alt="">
+      		</p>
+      		Any breakpoint can be set as a trigger point by using <b>Breakpoint Properties...</b> dialog or the <b>Breakpoints</b> view's detail pane.
+      		<p>
+        	<img src="images/trigger-breakpoint-view-ruler.png" alt="">
+      		</p>
+      		Triggers are rendered with an overlay of "T" and the breakpoints suppressed by the triggers are
+      		rendered with an overlay of "T" with a cut.
+      		<p>
+        	All the other breakpoints that are initially suppressed by triggers will be hit only after any of the trigger points has been hit.
+        	All the triggers are disabled after a trigger point is hit and will be re-enabled after the run.
+      		</p>
+			</td>
+		</tr>
+		<tr>
+			<td valign="top" align="left"><img src="images/new.png" alt=""><b>Debugging by writing to console via Tracepoint</b></td>
 			<td valign="top" align="left">
 			
-      You can avoid inserting <code>System.out.println()</code> statements in your code for debugging by using conditional breakpoints to print to the Console view. 
-      To do so, set a conditional breakpoint with <b>Suspend when 'true'</b> option and a condition which is always false, e.g.
-      <p><img src="images/org.eclipse.jdt.debug.ui/debug-by-writing-to-console.png" alt='System.out.println("Debug statement!"); return false;'>
-</p>
+      You can avoid inserting <code>System.out.println()</code> statements in your code for debugging by using tracepoints to print to the Console view. 
+      To do so, add a tracepoint via <b>Run &gt; Toggle Tracepoint</b>.
+		<p>
+      	<img src="images/toggle-trace-point-run.png" alt="">
+      	</p>
+      It creates a conditional breakpoint using the "systrace" template with <b>Suspend when 'true'</b> option. 
+		<p>
+      	<img src="images/toggle-trace-point-conditional-breakpoint.png" alt="">
+      	</p>
+      Since the condition doesn't explicitly return a boolean <code>true</code>, the condition is considered to implicitly return <code>false</code>,
+      and the breakpoint will not suspend the execution.
 			</td>
 		</tr>
 		
@@ -2324,8 +2372,9 @@
           view and choose <b>Properties...</b> from its context menu. The most 
           important properties for this type of breakpoint are the <b>Access</b> 
           and <b>Modification</b> checkboxes which control when the breakpoint 
-          can suspend execution.
-			<p><img src="images/org.eclipse.jdt.debug.ui/watchpoint_properties.png"  alt="Breakpoint properties dialog">
+          can suspend execution. You can also set a condition for the watch point, 
+          where the old value of the field can be used as part of the condition.
+			<p><img src="images/org.eclipse.jdt.debug.ui/watchpoint_condition.png"  alt="">
 </p>
 			</td>
 		</tr>