Skip to main content
Jump to: navigation, search

New Help for Old Friends V

Revision as of 11:05, 14 July 2009 by (Talk | contribs) (Common Components)

This page to to collect miscellaneous notes and pointers to changes coming up in the WTP 3.2 release. Its purpose it to be a central "jumping off" point for those adopters of WTP 3.1 that are moving to WTP 3.2. Most of this information may be already contained in various mailing lists and Bugzilla reports, but it is believed best to have a central place to get people started. Adopters: if you run into trouble or notice things that are not covered here, please let us know (wtp-dev is a good place). Web Tools is a Platform and we strive to provide compatible API evolution with clear migration instructions, etc., for the future.

One thing we have learned in the past is that some adopters do not move with us to every new release. Some early adopters went from 0.7 directly to 1.5, for example. Unfortunately, it is difficult to present the information in that way, covering perhaps multiple changes across different version ranges.

Note: as these notes develop and grow in number, they may occasionally be re-organized into categories, etc.

Common Components

218438 The org.eclipse.wst.common.ui.provisional.editors workaround package has been removed. Its classes offered a workaround to a post selection firing problem that has long since been fixed in the Eclipse Platform.

Java EE

  • Deprecated resources deleted from WTP 3.2

Source Editing

Bundle Version change Trigger
org.eclipse.wst.jsdt.core 1.0.200 -> 1.1.0 279674279804280082 Removal of unused constants from provisional org.eclipse.wst.jsdt.core.compiler.IProblem interface, the provisional org.eclipse.wst.jsdt.core.ITypeParameter interface in its entirety, and other vestigial types inherited from JDT
org.eclipse.wst.jsdt.ui 1.0.200 -> 1.1.0 279474 Addition of extension points by renaming

281914 Deprecated org.eclipse.wst.xml.ui.internal.tabletree.XMLEditorPluginHOLD_OLD class removed

Code Folding

Code folding in the Structured Source Editors (HTML, XML, JSP, CSS, DTD) has been completely re-factored. The previous code folding implementation used the Node Adapter framework the new code folding uses the Reconciling Strategy framework, see 281380 for the reasons behind this change.

If an implementer wishes to write their own folding strategy for a structured source editor then they must create an extension such as:

<extension point="org.eclipse.wst.sse.ui.editorConfiguration">
        target="org.eclipse.wst.html.core.htmlsource" />
  • type - must be "foldingstrategy"
  • class - must be a class that extends org.eclipse.wst.sse.ui.internal.projection.AbstractStructuredFoldingStrategy
    • There are two abstract methods that the implementer must implement, and both are typically short, for examples see:
      • org.eclipse.wst.css.ui.internal.projection.CSSFoldingStrategy
      • org.eclipse.wst.dtd.ui.internal.projection.DTDFoldingStrategy
      • org.eclipse.wst.xml.ui.internal.projection.XMLFoldingStrategy
  • target - is a structured source editor content type ID
    • any given content type ID can only have one associated folding strategy, if more then one extension specifies the same content type ID then whichever extension gets loaded first is the one that is used.


  • As of right now the XML, HTML, and JSP editors all use the XMLFoldingStrategy as their folding strategy.
  • Removed Resources
    • org.eclipse.jst.jsp.ui.internal.projection (entire package)
      • ProjectionAnnotationModelChanges
      • ProjectionModelNodeAdapterFactoryHTML
      • ProjectionModelNodeAdapterFactoryJSP
      • ProjectionModelNodeAdapterHTML
      • ProjectionModelNodeAdapterJSP
      • ProjectionViewerInformation
      • StructuredTextFoldingProviderJSP
    • org.eclipse.wst.css.ui.internal.projection
      • ProjectionAnnotationModelChanges
      • ProjectionModelNodeAdapterFactoryCSS
      • ProjectionModelNodeAdapterCSS
      • ProjectionViewerInformation
      • StructuredTextFoldingProviderCSS
    • org.eclipse.wst.dtd.ui.internal.projection
      • StructuredTextFoldingProviderDTD
    • org.eclipse.wst.html.ui.internal.projection (entire package)
      • ProjectionAnnotationModelChanges
      • ProjectionModelNodeAdapterFactoryHTML
      • ProjectionModelNodeAdapterHTML
      • ProjectionViewerInformation
      • StructuredTextFoldingProviderHTML
    • org.eclipse.wst.html.ui.internal.projection
      • ProjectionAnnotationModelChanges
      • ProjectionModelNodeAdapterFactoryXML
      • ProjectionModelNodeAdapterXML
      • ProjectionViewerInformation
      • StructuredTextFoldingProviderXML
    • org.eclipse.wst.see.ui.internal.projection
      • IStructuredTextFoldingProvider
  • Added Resources
    • org.eclipse.wst.see.ui.internal.projection.AbstractStructuredFOldingStrategy
    • org.eclipse.wst.css.ui.internal.projection.CSSFoldingStrategy
    • org.eclipse.wst.dtd.ui.internal.projection.DTDFoldingStrategy
    • org.eclipse.wst.xml.ui.internal.projection.XMLFoldingStrategy

Comment Handlers

The comment handlers have been re-factored so that they do not always use HTML style comment blocks even when not trying to comment HTML 86520. The new comment handler framework is based on the old one only with more abstraction so that it is easier to create comment handlers for different content types. There are now separate comment handlers for XML, HTML, JSP and CSS files all extending from the newly created org.eclipse.wst.sse.ui.internal.handlers.AbstractStructuredCommentHandler See 86520 for more details on the fix.

For examples of how to create a comment handler see:

  • org.eclipse.wst.xml.ui.internal.handlers.AbstractXMLCommentHandler
  • org.eclipse.wst.xml.ui.internal.handlers.AddXMLBlockCommentHandler
  • org.eclipse.wst.xml.ui.internal.handlers.RemoveXMLBlockCommentHandler
  • org.eclipse.wst.xml.ui.internal.handlers.ToggleXMLCommentHandler


  • Removed Resources
    • org.eclipse.wst.xml.ui.internal.handlers.CommentHandler
    • org.eclipse.wst.xml.ui.internal.handlers.AddBlockCommentHandler
    • org.eclipse.wst.xml.ui.internal.handlers.RemoveBlockCommentHandler
    • org.eclipse.wst.xml.ui.internal.handlers.ToggleCommentHandler
  • Added Resources
    • org.eclipse.wst.see.ui.internal.handlers.AbstractStructuredCommentHandler
    • org.eclipse.wst.see.ui.internal.handlers.StaticStructuredCommentHandlers
    • org.eclipse.wst.see.ui.internal.handlers.StructuredCommentHandlerHelpers
    • Instances of AbstractStructuredCommentHandler using static methods from StaticStructuredCommentHandlers for XML, HTML, JSP and CSS content types.


This document ONLY covers changes between WTP 3.1 and WTP 3.2. See also: New Help for Old Friends IV (3.1), New Help for Old Friends III (3.0), New Help for Old Friends II (2.0), and the original New Help for Old Friends (1.5)

Back to the top