| <?xml version="1.0" encoding="UTF-8"?> |
| <?xml-stylesheet type="text/xsl" href="../../../../wtp.xsl"?> |
| <html> |
| <head> |
| <meta name="root" content="../../../../../" /> |
| <title>wizards api overview</title> |
| </head> |
| |
| <body> |
| <h1>jst j2ee</h1> |
| <h2>Intoduction</h2> |
| <BR/> |
| <p> |
| The following document provides a high level overview of the J2EE Wizards |
| made available as part of the WTP M2 release. Most of these wizards are |
| meant to be consumed by actions or UI, but facilities are provided to implement |
| your own custom J2EE wizards. |
| </p> |
| <h2>Overview</h2> |
| <BR/> |
| <P > The purpose of |
| the following document is to highlight the API exposed as part of the |
| Web Tools Platform Project for the creation, import, and export of |
| <I>J2EE artifacts</I>. A <I>J2EE artifact</I> is any contained, |
| deployable component that follows the J2EE specification in its |
| structure and content. |
| </P> |
| |
| <P >Each of the three general actions <B>creation</B>, |
| <B>import</B>, and <B>export</B> provides a base class |
| with common functionality which is designed to be exposed as public API. |
| Each of these general classes is then extended for the specific J2EE |
| module types: Enterprise Applications, Application Client Modules, |
| Connector Modules, Enterprise Java Bean Modules, and Web Application |
| Modules. The concrete implementations are not exposed to be extended, |
| only to be consumed. The purpose of these wizards is to facilitate a |
| reference implementation for the entry and exit story for J2EE |
| artifacts. More specialized implementations can extend the general base |
| classes as needed. |
| </P> |
| |
| <H4 >The Creation Story</H4> |
| <P > Clients that wish to build their own creation wizard can use one of two base classes. |
| The <code>org.eclipse.jst.j2ee.ui.J2EEArtifactCreationWizard</code> |
| is generic enough for any type of J2EE module (*.jar, *.war, *.rar) or |
| application (*.ear) creation. The <code>J2EEArtifactCreationWizard</code> |
| provides template methods for initialization (#doInit()) and disposal |
| (#doDispose()). In the <B>final</B> |
| init() method, the wizard will store away the selection which was |
| available when the wizard was created for use by subclasses |
| (#getSelection()). Furthermore, some customized logic is available to |
| override the final perspective that will be suggested to the user. Like |
| other Eclipse creation wizards, upon completion an appropriate |
| perspective will be suggested to the user. However, in the realm of the |
| Web Tools Platform, some wizards may be used by different perspectives |
| (e.g. a Web Perspective vs. a J2EE Perspective). The Web Tools Platform |
| has extended this functionality to allow subclassed wizards to return a |
| different final perspective ID which can be determined programmatically. |
| SPI Clients should override getFinalPerspectiveID() to take advantage of |
| this functionality. |
| </P> |
| |
| <P >Clients that are focused on basic J2EE module types (*.jar, *.war, *.rar) and |
| that use an Operation Data Model based on <code>org.eclipse.jst.j2ee.application.operations.J2EEModuleCreationDataModel</code> |
| may <code>org.eclipse.jst.j2ee.ui.J2EEModuleCreationWizard.</code> |
| </P> |
| |
| <P>The subclasses will have the actively selected Enterprise Application module |
| automatically filled in their Operation Data Model using the |
| <code>J2EEModuleCreationDataModel.EAR_PROJECT_NAME</code> property, in addition to |
| the correct <code>ServerTargetDataModel.J2EE_VERSION_ID</code> and |
| <code>J2EEModuleCreationDataModel.J2EE_VERSION</code>. |
| </P> |
| |
| <P >The remaining creation wizard classes are not meant to be extended, but |
| instead provide a reference implementation for clients that only wish to |
| use the wizards in their UI or actions. The following wizards: |
| </P> |
| <P></P> |
| <UL> |
| <LI><code>org.eclipse.jst.j2ee.ui.EnterpriseApplicationCreationWizard</code></LI> |
| <LI><code>org.eclipse.jst.j2ee.ui.AppClientModuleCreationWizard</code></LI> |
| <LI><code>org.eclipse.jst.j2ee.jca.ui.ConnectorModuleCreationWizard</code></LI> |
| <LI><code>org.eclipse.jst.ejb.ui.EJBModuleCreationWizard</code></LI> |
| <LI><code>org.eclipse.jst.servlet.ui.WebModuleCreationWizard</code></LI> |
| </UL> |
| |
| <P >define the basic functionality to use their corresponding Operation Data Models |
| and Operations. Clients may use the default constructor to create these |
| wizards, which will cause the Operation Data Model and Operation to be |
| created as needed, or clients may supply an Operation Data Model with |
| some values already set, which will be used to pre-populate widget |
| values in the wizard. |
| </P> |
| |
| <H4 >The Import/Export Story</H4> |
| <P >The |
| Import/Export story follows a pattern similar to the creation story. All |
| general function is encapsulated into a generic base class ( |
| <code>org.eclipse.jst.j2ee.ui.J2EEArtifactImportWizard</code> and |
| <code>org.eclipse.jst.j2ee.ui.J2EEArtifactExportWizard</code> |
| respectively). Each of these wizards ensures that open, dirty editors |
| are saved before the operation executes. The selection is also made |
| available to subclasses via <code>getSelection()</code>. Furthermore, the |
| <code>J2EEArtifactImportWizard</code> provides functionality to override the |
| suggested final perspective in the same way that the <code>J2EEArtifactCreationWizard</code> does. |
| </P> |
| |
| <P >The <code>J2EEArtifactImportWizard</code> is subclassed into an abstract |
| <code>org.eclipse.jst.j2ee.ui.J2EEModuleImportWizard</code>which |
| pulls together common functionality required by concrete module import |
| wizards based on <code>org.eclipse.jst.j2ee.application.operations.J2EEModuleImportDataModel</code>. |
| The <code>J2EEModuleImportWizard</code> does not use the same direct operation returned |
| from <code>WTPWizard.createBaseOperation()</code>. Instead, the returned operation is |
| wrapped in another WTP Operation that performs validation once the |
| project has been imported. The specific module validators to be run are |
| defined by the method <code>J2EEModuleImportWizard.getModuleValidatorStrings()</code>. |
| </P> |
| |
| <P> The <code>J2EEArtifactExportWizard</code> is subclassed directly into concrete module export classes. |
| </P> |
| |
| <P> The concrete Import/Export wizards may be used by clients that wish to add |
| import/export functionality into their UI or actions, but these classes |
| are not meant to be extended. Any custom wizards should be built using |
| the abstract J2EEArtifact<Action>Wizards. </P> |
| |
| |
| </body> |
| </html> |