The book about Java development using Eclipse.
Errata: Chapter 13 | Chapter 14 | Chapter 15

Errata - Part 3

The following corrections apply to the listed pages and paragraphs. All of the listed corrections are the way one or more sentances or captions should read. Please email any other corrections you find so that I can list them here until the next run of books is published.

Chapter 13

Page 309, Shop Talk paragraph 2:
You might say that the SWT is not as full-featured as Swing (for now) and that as a tool-for-tool-development environment, Eclipse has a large selection of hooks on which to hang your hat, which can make choosing a hook a challenging experience.

Page 310, Section title:
The Plug-In Development Environment

Page 310, paragraph 2:
In addition, the Eclipse Plug-in Development Environment does its best to make the task of implementing plug-ins as organized as possible through a combination of views, editors, wizards, and sample templates.

Page 310, paragraph 3:
If you would like to follow along at a highlevel, select from the main menu Window, Preferences. When the Preferences dialog opens, navigate to Workbench, Capabilities on the left and insure that Development, Plug-in Development is checked in the tree to the right and click OK.

Page 310, add to the beginning of paragraph 4:
Let's examine the PDE perspective and its views. Open the Plug-in Development perspective (for example, from the main menu by selecting Window, Open Perspective, Other and selecting Plug-in Development from the Select Perspective dialog).

Page 313, paragraph 2:
Figure 13.3 shows the HelloWorld category and the HelloWorld view.

Page 317, bullet 1:
The Eclipse plug-in architecture allows almost everything in Eclipse to be extensible as well as removable. The base platform has the workspace, the workbench, the SWT and JFace toolkits, the help plug-in, and the team plug-in. In addition, Eclipse has the Java Development Tooling plug-in and the Plug-in Development Environment.

Chapter 14

Page 322, paragraph 1:
The first plug-in will print the string "Hello, world!" in the Console view of the main workbench.


Page 329, paragraph 3:
Select the category entry, named com.triveratech.example.helloworld.view.category1 (where the number 1 may be any digit), and change its Name in the input fields to the right to HelloWorld View Category.

Page 330, paragraph 6:
Open the Show View dialog of the runtime workbench by selecting Window, Show View, Other.

Page 333, sidebar paragraph 1:
This is as good a time as any to discuss the org.eclipse.ui plug-in.

Page 334, paragraph 4:
The class you have just generated is now the entry in the class field of the Extension Element Details for the HelloWorld Project Wizard.

Page 339, paragraph 2:
This example will use that project-creation capability and add a nature and a builder to the project, thereby creating a new project type.

Page 339, shop Talk paragraph 3:
If you must add one or more builders to an existing project type, make sure they are fast or they will not scale.

Page 340, paragraph 2:
Enter an Id, which is used by Eclipse to name the nature, of helloworldnature.

Page 343, setProject():
public void setProject(IProject project) {
    _project = project;

Page 346, paragraph 2:
Add the code shown in Listing 14.3 to HelloWorldBuilder as private inner classes (remember to press Ctrl+Shift+O to insert any missing imports).

Page 339, bullet 2:
Add the following extension points to plugin.xml:

Chapter 15

Page 366, paragraph 3:
Select the plugin.xml tab and then enter the rest of the XML information needed by plugin.xml by hand:

Page 373, paragraph 2:
Just for fun, let's update the link_to of addoverview.xml to point to the Workbench User Guide. This change will cause the Workbench User Guide to display the additional overview section after the Workbench User Guide, Concepts, Workbench section. Modify the addoverview.xml file to read as follows:

Page 376, IGNORE STEP 2.

Page 376, Step 6:
Right-click org.eclipse.ui.popupMenus from within the All Extensions window and from the pop-up menu select New, objectContribution. Select in the All Extensions list and change the id property to com.eintech.infopop.menuitem and change objectClass to org.eclipse.core.resources.IFile. Return to the Dependencies tab and right-click in the Required Plug-Ins window. From the pop-up menu, select Compute Build Path. Any errors should disappear from the Problems view.

Page 376, step 7:
Return to the Extensions tab. Right-click com.eintech.infopop.menuitem (objectContribution) and select New, Action from the pop-up menu. In the Extension Element Details section, set these fields as follows:

Page 379, bullet 14:
Return to the plugin.xml Manifest Editor and select com.eintech.infopop.contexts1. In the Extension Element Details section, click Browse next to the file field. When the Resource Attribute Value dialog appears, select contexts_Confusing.xml and click OK. Save the plugin.xml file.

Page 380, paragraph 2:
Be aware: Calling an infopop of your own making may cause the help page to appear in a separate browser window and not in the standard Help dialog. This is acceptable because the help page will still appear. In this example, the help will appear in an external browser because the example dialog is modal and will stop the Eclipse help window from opening.

Page 381, paragraph 1:
If an X appears next to the project after you make the copy, open the plugin.xml file for com.eintech.helloworld.view.infopop, go to the Dependencies tab, and right-click in the Required Plug-Ins window.

Page 381, paragraph 4:
When the Plug-in Manifest Editor appears, select the plugin.xml tab.

Page 387, paragraph 2:
As the string is passed at runtime, you can dynamically generate the HTML and pass different information to the active help object.

Page 388, paragraph 6:
Before you create the new class, open plugin.xml (if it is not already open) and click the Dependencies tab.

Page 391, bullet 1:
A minimal help plug-in uses one table of contents file and is extendable to one main table of contents file and multiple nested table of contents files.