New Help for Old Friends III
This page to to collect miscellaneous notes and pointers to changes coming up in the WTP 3.0 (Ganymede) release. Its purpose it to be a central "jump off" point for those adopters of WTP 2.0, that are moving to WTP 3.0. Most of this information may be already contained in various mailing lists and bugzilla's, but ... we thought it best if there as 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 (firstname.lastname@example.org is a good place). This will not only help us keep this list up to date, but will help us better learn, over time, the discipline of "platform development" and help make sure we learn to provide compatible API's, migration instructions, etc., in the future. [ It isn't always easy, but our intent is to make it as simple and painless as possible for adopters to use WTP as a true platform.
One thing we've learned in the past is that some don't adopt every version ... some early adopters went from 0.7 directly to 1.5, for example. Unfortunately, it's hard for us to present the information in that way, covering perhaps multiple changes, but hopefully as we develop these for each release, they will all flow together to aide adopters.
Note: as these notes develop and grow in number, they may occasionally be re-organized into categories, etc.
- The facet wizard page is no longer in the project creation wizards. It is now accessible as a popup (click the modify button next to the configurations drop-down) rather than as a second page in all of the WTP wizards. Please See the following resource for more information. Link
org.eclipse.wst.common.ui.propertiesplugin has been removed. Use
org.eclipse.ui.views.properties.tabbedinstead. See bug 131862, and the bugs it points to, for history.
Source Editing Components
- Significant version changes for the following plug-ins:
- The org.eclipse.wst.sse.ui plugin increased its version from 1.0.400 to 1.1.0
- The XML validation preference to warn about missing grammars has been enabled by default to assist new users and XML developers who may easily overlook the W3C requirement to specify a grammar. Coupled with the new Validation Framework, some files may now report warnings where they did not before.
- The framework for contributing to commands is now largely based around handlers and active contexts. Editors define and activate contexts that enable handlers for various commands. It is then possible for other editors to selectively activate those contexts, as well, to reuse specific handlers. Table_of_WTP_IDs explains the process of activating the proper contexts to utilize already-defined handlers.
- Validation framework enhancement 227452 allows for cleaner and more reliable model sharing among validators. Validators using the V2 extension point and using SSE models should declare themselves as part of the org.eclipse.wst.sse.core.structuredModelGroup group to help avoid unnecessary model reloading. Validators should continue to use the getModelFor*()/releaseFrom*() calls as before.
- SSE enhancement 224209 altered the syntax highlighting mechanisms for all StructuredTextEditors. While pre-existing implementors of the SSE LineStyleProvider interface are still supported, adopters are strongly encouraged to instead subclass AbstractLineStyleProvider for further optimizations. An official API for line style providing will be proposed in an upcoming release.
Web Services and WSDL
- M3 - Web service pop-up category is moved from org.eclipse.jst.ws.consumption.ui to the org.eclipse.wst.ws.ui plugin. Please see bugzilla 202303 for details. This is done to support the move of the Web Services Explorer plugin from the JST to the WST install package.
- Adopters will need to change the Web services popop menu path.
- From: org.eclipse.jst.ws.atk.ui.webservice.category.popupMenu/popupActions
- To: org.eclipse.wst.ws.ui.webservice.category.popupMenu/popupActions
- As a result, the following 2 WTP plugins have their version changed to 1.1.0:
- M4 - A new service policy framework has been introduced to create an extensible framework for extenders to specify the quality of service that would effect different tools such as wizards, editor and validators (see 196997).
- The new framework can be found in the two new plugins:
- The "Profile Compliance and Validation" preference page has been refactored. WSDL Validation preferences have been moved to a new "Wizard Validation" preference page, and WS-I profile compliance preferences moved to a new "Service Policies" preference page. No migration is required for preferences defined in previous versions of WTP- these preferences are still honored. If you choose to enable project specific preferences, default values are taken from the current workspace values, i.e. project specific default values follow the workspace preference as in previous versions of WTP.
- Continue to use org.eclipse.wst.ws.internal.preferences.WSIComplianceUtils in org.eclipse.wst.ws plug-in to query WS-I profile compliance preference settings as before. Alternatively you can use org.eclipse.wst.ws.service.policy.ServicePolicyPlatform and org.eclipse.wst.ws.service.policy.ui.ServicePolicyPlatformUI to query and work with the preferences settings. The WS-I profile compliance related operation and policy ids are defined in org.eclipse.wst.ws.service.policy.ui\plugin.xml and org.eclipse.wst.ws.service.policy\plugin.xml respectively.
- Extenders can add preferences to the Service Polices preference page using 2 new extension points (see associated schemas, ServicePolicyPlatform, and ServicePolicyPlatformUI for more details):
- M4 - Web Services runtime extender can veto project, EAR and server selection (see 203826).
- Extenders to serviceRuntimes and clientRuntimes can optionally add the runtimeChecker attribute that implements IWebServiceRuntimeChecker to check for the Web service runtime's compatibility with server type, server instance, project, project type and EAR. If runtimeChecker is provided, then in ValidationUtils.checkErrorStatus() after all the existing checks have passed, IWebServiceRuntimeChecker.checkRuntimeCompatibility() is called and the status returned will be displayed to the user. If runtimeChecker is not provided, then the runtime compatibility check is bypassed. An abstract class AbstractWebServiceRuntimeChecker that implements the interface is also provided.
- The method getServerRuntimeId() and setServerRuntimeId() has been added to WebServiceInfo and WebServiceClientInfo. If the extender wants the framework to use a particular server runtime ID when creating a server, they should set the server runtime ID in the WebServiceInfo or WebServiceClientInfo before the Install phase (i.e. in develop, assemble or deploy phase). If the server runtime ID is not null, it will be used when creating a server. If it is null, then the first runtime that satisfy the server type ID would be used.
- M6 - Choosing the Web services runtime based on preferred server (see 221364).
- An optional String field "runtimePreferredServerType" has been added to the org.eclipse.jst.ws.consumption.ui.serviceRuntimes and org.eclipse.jst.ws.consumption.ui.clientRuntimes extension point for extenders to provide the preferred server factory type ID to the Web service creation extension. When the "runtimePreferredServerType" is specified, the framework would choose serviceRuntimes and clientRuntimes that have runtimePreferredServerType matching the server choosen.
- M6 - Provide a way for extender to specify extension specific Ant files (see 146023).
- A new antfiles extension has been added. The version number of the org.eclipse.wst.command.env.ui plugin has been updated to 1.1.0. As an example, this is how the Axis antfiles extension is defined:
<extension point="org.eclipse.wst.command.env.ui.antfiles"> <antfiles id="org.eclipse.jst.ws.axis.creation.axisWebServiceRTTopJava" runtimeid="axis" pluginlocation="org.eclipse.jst.ws.axis.consumption.core" path="ant/axis_tdjava.properties" wsgenpath="ant/axis_tdjava.xml" runtimelabel="%LABEL_RUNTIME_AXIS" scenariolabel="%LABEL_TOP_DOWN_JAVA_BEAN"> </antfiles> </extension>
- M6 - Extender can perform their own service and client compatibility checks (see 198439).
- The framework will no longer be doing checks for service and client project or EAR being the same. The following method has been added to IWebServiceRuntimeChecker for extender to implement that check. This method has been added to AbstractWebServiceRuntimeChecker as well. The org.eclipse.wst.ws plugin version has been changed to 1.1.0.
public IStatus checkServiceClientCompatibility( boolean serviceNeedEAR, StringserviceEARName, String serviceProjectName, boolean clientNeedEAR, String clientEARName, String clientProjectName);
- M6 - Change in WSDLCopier to accept URI (see 215552).
- We have deprecated set*URI(String*) methods and added set*URI(URI*) methods to WSDLCopier.
- M6 - Allow sample JSP to generate with just stub server runtime (see 184761).
- Deprecated resources in WTP 3.0
CreateServletTemplateModel.getServletClassName()in the org.eclipse.jst.j2ee.web plugin is now deprecated. Use method
getClassName()instead. The deprecated method will be removed post WTP 3.0.
- Removed resources in WTP 3.0(M6)
- org.eclipse.jst.j2ee.internal.common.ClasspathModel.isDDInEAR(IVirtualComponent aComponent)
- org.eclipse.jst.j2ee.internal.common.ClasspathModel.handleOpenFailureException(Exception ex)
- org.eclipse.jst.j2ee.internal.common.ClasspathModel.setWLPModel(boolean isWLPModel)
- org.eclipse.wst.common.componentcore.datamodel.properties.ICreateReferenceComponentsDataModelProperties. TARGET_COMPONENT_ARCHIVE_NAME
- Added new method in the interface EjbModuleExtensionHelper
- String getJavaEEJNDIName(org.eclipse.jst.javaee.ejb.EJBJar jar, String interfaceClassName);
- Enhancements to WPE Property Pages - changes have been made that will affect current adopters.
- WPE TagTransformOperations Update - adopters rendering tags in WPE must make changes.
- 224927 - Minor version of the plugins has been increased
JPT - Dali JPA Tools
- New Context/Resource model - 214915
- Resource model for capturing and managing raw JPA artifact data (Java source and XML Mapping Files).
- XML content managed via EMF XML Translators, Java Annotations manged via Dali's Annotation Adapters.
- Context model for tying this artifact information into a cohesive representation of the JPA metadata.
- Resource model for capturing and managing raw JPA artifact data (Java source and XML Mapping Files).
- Updates to the Platform