cornercorner
FeaturesPluginsDocs & SupportCommunityPartners

EJB Module Project UI Spec

This is a specification of the Enterprise JavaBeans Module Project.

Authors: Jiri Kopsa, Ann Sunhachawee, Jan Rojcek

$Revision: 1.1 $ $Date: 2005/04/25 13:35:44 $

Table of Contents:

New Project Wizard

There are 2 project wizards for the new EJB Module project in the "Enterprise" category.

  • EJB Module - The Empty Enterprise JavaBeans (EJB) Module Project creates a project in the system but does not add any files or EJBs to the project. This template is best for J2EE developers who like to start from scratch.
  • EJB Module with Existing Sources -The EJB Module with Existing Sources imports an existing Java source directory into a standard EJB Module project. A standard project uses an IDE-generated build script to build, run, debug and deploy your project.

For general information about project management see Buildsys UI spec.

Step 1: New Project - Choose Project

This wizard creates a new EJB Module project. The user can choose from 2 projects in the first panel - EJB Module, EJB Module with Existing Sources. After finishing the wizard the project node is selected and expanded.

Figure: Choose Project wizard panel

+---------------------------------------------------------------------------------+
| New Project |
+---------------------------------------------------------------------------------+
| Choose Project |
| ------------------------------------------------------------------------------- |
| |
| Categories: Projects: |
| +-----------------------+ +---------------------------------------------------+ |
| | General | | [e] Enterprise Application | |
| | Web | | [e] Enterpries Application with Existing Sources | |
| |/Enterprise////////////| |/[m] EJB Module////////////////////////////////////| |
| | Samples | | [m] EJB Module with Existing Sources | |
| | | | [f] EJB Module with Existing Ant Script | |
| | | | | |
| | | | | |
| +-----------------------+ +---------------------------------------------------+ |
| |
| Description: |
| +-----------------------------------------------------------------------------+ |
| | | |
| | | |
| | | |
| +-----------------------------------------------------------------------------+ |
+---------------------------------------------------------------------------------+

[e] - Enterprise Application project icon
[m] - EJB Module project icon
[f] - Freeform project icon

Components:

Step 2: New EJB Module - Name and Location

Figure: Name and Location of EJB Module

+---------------------------------------------------------------------------------+
| New EJB Module |
+---------------------------------------------------------------------------------+
| Name and Location |
| ------------------------------------------------------------------------------- |
| |
| Project Name: |_EJBModule1____________________________________________________| |
| |
| Project Location: |_/users/me___________________________________| [ Browse... ] |
| Project Folder: |_/users/me/EJBModule1________________________| |
| |
| ------------------------------------------------------------------------------- |
| |
| Add to Enterprise Application: |_EnterpriseApp______________________________v_| |
| |
| Server: |_Sun Java System Application Server 8________________________v_| |
| J2EE Version: |_J2EE 1.4_______v_| |
| |
| Recommendation: In order to create portable J2EE applications, it is recommended|
| to use JDK 1.4 for all J2EE 1.4 and J2EE 1.3 projects. Since you have only JDK |
| 1.5, you may want to at least set the source level to 1.4. |
| [x] Set Source Level to 1.4. |
| |
| [x] Set as Main Project |
| |
+---------------------------------------------------------------------------------+

Components of this wizard step are:

  1. Project Name text field (N) - specifies the project name which is used as project folder name. Project name have to be a valid folder name. Initially contains EJBModule<x> name, where <x> is a number of created EJB Modules. Always enabled.
  2. Project Location text field (L) - specifies the location of project folder. By default the text field contains <all-projects-home> (which might equal to user home). Next time the wizard is invoked the <all-projects-home>  defaults to what the user set it to the last time. Always enabled.
  3. Browse button (w) - opens a file chooser titled Browse Project Location with OK and Cancel buttons for selecting the project folder location. Always enabled.
  4. Project Folder text field (F) - non-editable text field showing the full path of created project folder. Always enabled.
  5. Add to Enterprise Application non-editable combo box (A) - specifies an enterprise application project the EJB module is added to. Contains all the open enterprise application projects alphabetically ordered. The first value is None and it is selected by default. If None is selected the EJB Module isn't added to any application. Enabled if at least one enterprise application is open.
  6. Server combo box (S) - specifies the server instance the enterprise application is deployed to. The combo box contains all registered app server instances.
  7. J2EE Version disabled combo box (J) - specifies the J2EE version. It is disabled and shows J2EE 1.4 value.
  8. Recommendation message and Use JDK 1.4 / Set Source Level to 1.4 checkbox - the behaviour is the same as in the New Web Application wizard.
  9. Set as Main Project check box (M) - specifies that the newly created project should be set as the main project. Checked by default.

Wizard buttons' behavior:

  • Back button - always enabled.
  • Next button - always disabled.
  • Finish button - enabled if validation is ok.

In-line error messages:

  1. Project Name have to be a valid folder name - if the project name is not properly formatted.
  2. Project Folder Already Exists - if the entered project folder already exists.
  3. No application server or web server that supports J2EE 1.<x> is registered with the IDE. - shows when user chooses a spec level where there is no equivalent web/app server registered in Server Registry

Step 2: EJB Module with Existing Sources - Name and Location

Figure: Name and Location of EJB Module with Existing Sources

+---------------------------------------------------------------------------------+
| New EJB Module with Existing Sources |
+---------------------------------------------------------------------------------+
| Name and Location |
| ------------------------------------------------------------------------------- |
| |
| Select the folder that contains all the sources for the Enterprise JavaBeans |
| Module. |
| |
| Location: |_/users/me/MyEJBModule_______________________________| [ Browse... ] |
| |
| Specify a name and location for the new project. |
| |
| Project Name: |_EJBModule1____________________________________| |
| Project Folder: |_/users/me/EJBModule1__________________________| [ Browse... ] |
| |
| ------------------------------------------------------------------------------- |
| |
| Add to Enterprise Application: |_EnterpriseApp______________________________v_| |
| |
| Server: |_Sun Java System Application Server 8________________________v_| |
| J2EE Version: |_J2EE 1.4_______v_| |
| |
| Recommendation: In order to create portable J2EE applications, it is recommended|
| to use JDK 1.4 for all J2EE 1.4 and J2EE 1.3 projects. Since you have only JDK |
| 1.5, you may want to at least set the source level to 1.4. |
| [x] Set Source Level to 1.4. |
| |
| [x] Set as Main Project |
| |
+---------------------------------------------------------------------------------+
Components of this wizard step are:
  1. Location text field (o) - specifies the location of the EJB module being imported
  2. Browse (Location) button (b) - opens a file chooser titled Browse Existing Source Location with OK and Cancel buttons for selecting the location of the project being imported. The file chooser starts in the user home folder. Always enabled.
  3. Project Name text field (N) - specifies the project name. Initially contains EJBModule<x> name, where <x> is a number of created ejb module projects. Always enabled.
  4. Project Folder text field (L) - specifies the project folder. By default the text field contains <all-projects-home>/<project-name>. If the user doesn't specify a different project folder manually then the <project-name> part of default project folder is automatically taken from the project name field and changed if the user changes the value in project name field. Next time the wizard is invoked the same <all-projects-home> is used by default as the user set it the last time. Always enabled.
  5. Browse (Project Folder) button (o) - opens a file chooser titled Browse Project Folder with OK and Cancel buttons for selecting the project folder. Always enabled.
  6. Add to Enterprise Application non-editable combo box (A) - specifies an enterprise application project the EJB module is added to. Contains all the open enterprise application projects alphabetically ordered. The first value is None and it is selected by default. If None is selected the EJB Module isn't added to any application. Enabled if at least one enterprise application is open.
  7. Server combo box (S) - specifies the server instance the enterprise application is deployed to. The combo box contains all registered app server instances.
  8. J2EE Version disabled combo box (J) - specifies the J2EE version. It is disabled and shows J2EE 1.4 value.
  9. Recommendation message and Use JDK 1.4 / Set Source Level to 1.4 checkbox - the behaviour is the same as in the New Web Application wizard.
  10. Set as Main Project check box (S) - specifies that the newly created project should be set as the main project. Enabled by default.

Wizard buttons' behavior:

  • Back button - always enabled.
  • Next button - enabled if a valid Location, Project Name and Project Folder are set.
  • Finish button - always disabled.

Logic:

  • When the Project Location is filled (Project Location text field looses focus or its value is set in the Browse dialog), the wizard searches recursively the specified locationfor the configuration files folder, source folders and libraries. The depth of the recursive search is limited to 3 levels.
  • TODO: What patterns are exactly searched?
  • If the configuration files folder is found, the deployment descriptor is read, and its version is identified. It is then used for validation.

In-line error messages:

  1. Project Name has to be a valid folder name - if the project name is not properly formatted.
  2. Location has to be a valid folder - if one of locations are invalid.
  3. Since your project uses J2EE 1.3, the deployment descriptor will be automatically updated for J2EE 1.4. - If the DD version is 1.3 and the user selects J2EE version 1.4.
  4. Since your project uses J2EE 1.4, the J2EE version has to be set to J2EE 1.4 as well. - If the DD version is 1.4 and the user selects J2EE version 1.3. In this case the Next button is disabled.

Step 3: EJB Module with Existing Sources - Existing Sources and Libraries

Figure: Existing Sources and Libraries wizard panel

+---------------------------------------------------------------------------------+
| New EJB Module with Existing Sources |
+---------------------------------------------------------------------------------+
| Existing Sources and Libraries |
| ------------------------------------------------------------------------------- |
| |
| Specify the existing folders containing the configuration files, libraries |
| source packages and JUnit test packages. |
| |
| Configuration Files Folder: |_/oldProjects/EJBModule/META-INF___| [ Browse... ] |
| Libraries Folder: |_/oldProjects/EJBModule/libs_______| [ Browse... ] |
| |
| Source Package Folders: |
| +-----------------------------------------------------------+ |
| | [f] src | [ Add Folder... ] |
| | [f] src-api | [ Remove ] |
| | [f] /shared/mylib/src | |
| | | |
| +-----------------------------------------------------------+ |
| |
| Test Package Folders: |
| +-----------------------------------------------------------+ |
| | [f] test | [ Add Folder... ] |
| | [f] test-api | [ Remove ] |
| | [f] /shared/mylib/test | |
| | | |
| +-----------------------------------------------------------+ |
| |
+---------------------------------------------------------------------------------+

Components of this wizard step are:

  1. Configuration Files Folder editable text field (C) - specifies the location of deployment descriptors (IDE provides default value if it finds a folder containing ejb-jar.xml within the Location).
  2. Browse (Configuration Files Folder) button (e) - opens a file chooser titled Browse Configuration Files Folder with OK and Cancel buttons for selecting the configuration files folder (its initial location is the Location of the module being imported)
  3. Libraries Folder editable text field (L) - specifies the location of folder containint EJB module libraries.
  4. Browse (Libraries Folder) button - opens a file chooser titled Browse Libraries Folder with OK and Cancel buttons for selecting the libraries folder (its initial location is the Location of the module being imported)
  5. Source Package Folders list (S) - shows the list of source package folders. If a folder is located underneath the project folder then it shows a relative path, otherwise it shows the full path. Allows multi-selection.
  6. Add Folder button (A) - opens a file chooser named Add Source Package Folder with Add Folder and Cancel buttons. The project folder is the default browse location. When invoked next time it starts with the last browse location. The File of Type has one item named Folder. If the user selects a folder or multiple folders that are already in the Test Package Folders or they are already used in another project and clicks Add Folder, then they are not added into the package folder list and the user is warn about this fact in Add Package Folder alert. All folders that are added into the folder list are selected in the list. If the user adds an item that already is in the list, it is just selected.
  7. Remove button (R) - removes the selected item from the list. Enabled only if an item is selected in the list.
  8. Test Package Folders list (S) - shows the list of test package folders. If a folder is located underneath the project folder then it shows a relative path, otherwise it shows the full path. Allows multi-selection.
  9. Add Folder button (d) - opens a file chooser named Add Test Package Folder with Add Folder and Cancel buttons. The project folder is the default browse location, when clicked next time it remembers the last browse location. The File of Type has one item named Folder. If the user selects a folder or multiple folders that are already in the Source Package Folders or they are already used in another project and clicks Add Folder, then they are not added into the package folder list and the user is warn about this fact in Add Package Folder alert. All folders that are added into the folder list are selected in the list. If the user adds an item that already is in the list, it is just selected not added second time.
  10. Remove button (m) - removes the selected item from the list. Enabled only if an item is selected in the list.

Wizard buttons' behavior:

  • Back button - always enabled.
  • Next button - always disabled.
  • Finish button - enabled if at least one source folder exists. If any Source Package Folder or Test Package Folder contains class files (compiled java files) then a New EJB Module with Existing Sources alert is shown asking the user whether to delete the class files or not.

Logic:

  • If the Configuration Files Folder is changed, the folder is searched for the deployment descriptor. If the deployment descriptor is found, it is read and its version is identified. It is then compared to the J2EE version set in the previous step and an error message is eventually displayed.

In-line error messages:

  1. Configuration Files folder is not a valid folder - if it is not a valid folder
  2. Since your project uses J2EE 1.3, the deployment descriptor will be automatically updated for J2EE 1.4. - If the DD version is 1.3 and the user selects J2EE version 1.4.
  3. Since your project uses J2EE 1.4, the J2EE version on the previous page has to be set to J2EE 1.4 as well. - If the DD version is 1.4 and the user selects J2EE version 1.3. In this case the Finish button is disabled.

Project Window

This section contains specification of the Projects View Tree appearance. The Projects View gives the developer a logical view of the Project while the Files View gives a physical view of the project. The reason why is a special subtree with individual EJBs and WSs included is to support following actions:

  • hide the plumbing (interfaces) from the user and ease navigation (as you can see lower, several files are created per EJB, however only the *Bean.java are important),
  • provide structural view of the bean implementation so the user can quickly
  • navigate the most frequently accessed pieces of information (code or meta-data, i.e. bean, fields and methods configuration),
  • explore and understand the outer face of a component (methods and operations callable by clients),
  • add fields and methods directly from the project browser (no need to open the editor to add a CMP field).

The subtree of the components might be moved to the Navigator component, when it is introduced. In that case, the subtree would be probably restructured (to contain both - pointers to meta-data (CMP fields, finders) and the whole java-structure).

Following mockup shows a general view of the Project browser, it does not include methods appearance. That topic is discussed in a different document.

Figure: Project Window

+----------------------------------------------+
| Projects |
+----------------------------------------------+
| - [A] MyAppEJB |
| - [E] Enterprise Beans |
| + [e] <name of entity bean> |
| + [m] <name of message-driven bean> |
| + [s] <name of session bean> |
| - [W] Web Services |
| - [w] <name of webservice> |
| - [o] operation |
| - [C] Configuration Files |
| - [c] ejb-jar.xml |
| - [c] webservices.xml |
| - [c] <name of server specific DDs> |
| - [R] Server Resources |
| - [r] resource1 |
| - [r] resource2 |
| - [S] Source Packages |
| - [p] com.acme |
| + [j] MyEntityEJB1Bean.java |
| + [j] MyEntityEJB1.java | *
| + [j] MyEntityEJB1Local.java | *
| + [j] MyEntityEJB1LocalHome.java | *
| + [j] MyEntityEJB1PK.java | *
| - [p] com.acme.other |
| + [j] MyEntityEJB2Bean.java |
| + [j] MyEntityEJB2Local.java | *
| + [j] MyEntityEJB2LocalHome.java | *
| + [j] MyEntityEJB2PK.java | *
| + [j] MySessionEJBBean.java |
| + [j] MySessionEJB.java | *
| + [j] MySessionEJBHome.java | *
| + [j] MyWebService1Bean.java |
| + [j] MyWebService1.java | *
| + [j] MyWebService1Local.java | *
| + [j] SomeHelperClass.java |
| + [S] Test Packages |
| + [l] Libraries |
| + [t] Test Libraries |
| |
+----------------------------------------------+

* - indicates the file was generated by IDE based on EJB or WS
[A] - EJB Module project icon
[E] - Enterprise Beans folder icon
[e] - Entity Bean icon
[m] - Message-Driven Bean icon
[s] - Session Bean icon
[W] - Web Services folder icon
[w] - Web Service icon
[C] - Configuration Files folder icon
[c] - Configuration File icon
[R] - Server Resources folder icon
[r] - Server Resource icon
[S] - Source Packages folder icon
[p] - Java Package icon
[j] - Java File icon
[T] - Test Packages folder icon
[l] - Libraries Libraries folder icon
[t] - Test Libraries folder icon

Project Window - Libraries Hierarchy

Figure: Libraries Node Hierarchy

+----------------------------------------------+
| Projects |
+----------------------------------------------+
| - [A] MyAppEJB |
| + [E] Enterprise Beans |
| + [W] Web Services |
| + [C] Configuration Files |
| + [R] Server Resources |
| + [S] Source Packages |
| + [T] Test Packages |
| - [l] Libraries |
| - [L] DBLib - dblib.jar |
| - [p] com.mycompany.dblib |
| + [c] DBLib.class |
| + [p] com.mycompany.dblib.api |
| + [p] com.mycompany.dblib.spi |
| - [L] DBLib - /home/me/lib/dblibx |
| + [p] com.mycompany.dblibx |
| + [p] com.mycompany.dblibx.api |
| + [p] com.mycompany.dblibx.spi |
| - [R] My Lib Module |
| - [J] core.jar |
| + [p] com.mycompany.core |
| - [F] /home/me/lib/sax |
| + [p] com.mycompany.sax |
| - [v] Sun Java System Application Se...|
| + [p] javax.ejb |
| - [D] JDK 1.4.2_05 |
| + [p] java.applet |
| + [p] java.awt |
| + [p] java.awt.color |
| - [t] Test Libraries |
| - [L] TestLib - testlib.jar |
| - [p] com.mycompany.ttlib |
| + [c] DBLib.class |
| + [p] com.mycompany.ttlib.api |
| + [p] com.mycompany.ttlib.spi |
| - [L] TestLib - /home/me/lib/testlibx |
| + [p] com.mycompany.ttlibx |
| + [p] com.mycompany.ttlibx.api |
| + [p] com.mycompany.ttlibx.spi |
| - [R] My Test Lib Module |
| - [J] test.jar |
| + [p] com.mycompany.test |
| - [F] /home/me/lib/test-sax |
| |
+----------------------------------------------+

[A] - EJB Module project icon
[E] - Enterprise Beans folder icon
[W] - Web Services folder icon
[C] - Configuration Files folder icon
[R] - Server Resources folder icon
[S] - Source Packages folder icon
[T] - Test Packages folder icon
[l] - Libraries folder icon
[t] - Test Libraries folder icon

[p] - Java Package icon
[L] - Library icon
[R] - Required Project icon
[J] - JAR file icon
[F] - Folder icon
[v] - Server icon
[D] - Java Platform icon
[c] - Class file icon

Node: EJB Module

  • Double clicking the node opens the EJB Module Editor.
  • Read-only name: <project-name>
  • Tooltip: EJB Module
  • Contextual menu:
    New                        >
    ----------------------------
    Build Project
    Clean & Build Project
    Clean Project
    Verify Project
    Generate Javadoc for Project
    ----------------------------
    Run Project
    Debug Project
    Deploy Project
    ----------------------------
    Set Main Project
    Open Required Projects
    Close Project
    ----------------------------
    Find...
    ----------------------------
    Properties
  • Contextual menu - New
    New > 
    [ ] File/Folder...
    --------------------------
    [ ] Session Bean...
    [ ] Entity Bean...
    [ ] CMP Entity Beans from Database...
    [ ] Message Driven Bean...
    [ ] Web Service...
    [ ] Java Class...
  • Run Project - will run the server (if it is not running), followed by deploy. If the server was running in the debug mode, the IDE will bring up a dialog box asking "The debugging session on the {deployment target} is running. Do you want to terminate it and start the server in standard mode?". The IDE will terminate the debug session, detach the debugger, stop the server before starting in standard mode if the dialog box is confirmed.
  • Debug Project - will run the server in debug mode and attach a debugger, followed by deploy. If the server was running in the standard mode, the IDE will bring up a dialog box asking "The {deployment target} is currently running in standard mode. Do you want to stop it and start it in the debug mode?". The IDE will stop the server and start it in debugging mode if the dialog box is confirmed.
  • Verify Project - validates the EJB module, the result is presented in the output window. The Validate function is also part of the deployment process.
  • Deploy Project - deploys the module (can do incremental deployment if possible). The action will check whether the module is present on the deployment target at first. If so, it will show a message box with the message "Module already deployed.".

Node: Enterprise Beans

This node contains all enterprise beans (if they have local or remote EJB interface, i.e. we are not showing those WSs that don't have EJB interface - note: a WSs in EJB Module is implemented as a Session Bean). Double clicking the node will open the EJB Module Editor in the Enterprise Beans section.

  • Read-only name: Enterprise Beans.
  • Tooltip: None
  • Contextual menu:
    New > 
    [ ] File/Folder...
    --------------------------
    [ ] Session Bean...
    [ ] Entity Bean...
    [ ] CMP Entity Beans from Database...
    [ ] Message Driven Bean...
    [ ] Web Service...
    [ ] Java Class...

Node: Web Services

This node contains all WSs. Double clicking the node could open editor for WS's deployment descriptor (however, we are not going to have one in current release), so it just expands the node.

  • Read-only name: Web Services
  • Tooltip: None
  • Contextual menu:
    New > 
    [ ] File/Folder...
    --------------------------
    [ ] Session Bean...
    [ ] Entity Bean...
    [ ] CMP Entity Beans from Database...
    [ ] Message Driven Bean...
    [ ] Web Service...
    [ ] Java Class...

Node: Configuration Files

This node contains the content of the /conf folder.

  • Read-only name: Configuration Files
  • Contextual menu:
    Find...

Node: Configuration File (ejb-jar.xml)

Double-clicking will open the EJB Module logical editor.

Node: Server Specific Configuration File (sun-ejb-jar.xml)

Double-clicking will open the editor provided by the plugin.

Node: Configuration File (webservices.xml, or other XML file)

Double-clicking will open the XML file editor.

Node: Server Resources

This node contains server resources defined in xml files of the ./setup folder.

  • Read-only name: Server Resources
  • Contextual menu:
    New                        >
    ----------------------------
    Find...
    ----------------------------
    Paste
  • Contextual menu - New
    New > 
    [ ] File/Folder...
    --------------------------
    [ ] Session Bean...
    [ ] Entity Bean...
    [ ] CMP Entity Beans from Database...
    [ ] Message Driven Bean...
    [ ] Web Service...
    [ ] Java Class...

Node: Source Packages

The content of this node is common to all Java projects (it shows the content of ./src or ./src/java folder). There might be multiple Source packages folders according to recent design updates.

For detailed information see J2SE Project UI Spec.

Node: Test Packages

The content of this node is common to all Java projects (it shows the content of ./src or ./src/java folder). There might be multiple Source packages folders according to recent design updates.

For detailed information see J2SE Project UI Spec.

Node: Libraries

  • Read-only name: Libraries
  • Tooltip:
  • Contextual menu:
    Add Project...
    Add Library...
    Add JAR/Folder...

For detailed information see J2SE Project UI Spec.

Node: Test Libraries

  • Read-only name: Test Libraries
  • Tooltip:
  • Contextual menu:
    Add Project...
    Add Library...
    Add JAR/Folder...

For detailed information see J2SE Project UI Spec.

Node: Server

Shows up underneath the Libraries node right above the Java Platform node.

  • Read-only name: <server-name>
  • Tooltip: None
  • Contextual menu:
    Show Javadoc
    Find...

Project Properties Dialog

Figure: Project Properties dialog

+--------------------------------------------------------------------------------------------+
| Project Properties - My EJB Module |
+--------------------------------------------------------------------------------------------+
| Categories: |
| +----------------+ |
| | Sources | |
| | Libraries | |
| | | |
| | Build | |
| | Compiling | |
| | Packaging | |
| | Documenting | |
| | | |
| | Run | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| +----------------+ |
| [[ OK ]] [ Cancel ] |
+--------------------------------------------------------------------------------------------+
Components of this dialog are:
  1. Categories list (C) - displays a list of property categories.
  2. OK button - closes the dialog and commits the changes.
  3. Cancel button - closes the dialog and cancels the changes.

Sources

Figure: Sources properties panel

+--------------------------------------------------------------------------------------------+
| Project Properties - My App |
+--------------------------------------------------------------------------------------------+
| Categories: |
| +----------------+ |
| |/Sources////////| Project Folder: |_/home/me/work/My App________________________________| |
| | Libraries | |
| | | Configuration Files Folder: |_/home/me/work/My App/conf_| [ Browse... ] |
| | Build | |
| | Compiling | Source Package Folders: |
| | Packaging | |______Package Folder______|_________Label__________| |
| | Documenting | | [f] src | Source Packages | [ Add Folder... ] |
| | | | [f] src-api | src-api | [ Remove ] |
| | Run | | [f] /shared/mylib/src | /shared/mylib/src | |
| | | | | | [ Move Up ] |
| | | | | | [ Move Down ] |
| | | +---------------------------------------------------+ |
| | | |
| | | Test Package Folders: |
| | | |______Package Folder______|_________Label__________| |
| | | | [f] test | Test Packages | [ Add Folder... ] |
| | | | [f] test-api | test-api | [ Remove ] |
| | | | [f] /shared/mylib/test | /shared/mylib/test-api | |
| | | | | | [ Move Up ] |
| | | | | | [ Move Down ] |
| | | +---------------------------------------------------+ |
| | | |
| | | Source Level: |_JDK 1.4___________________________v_| |
| | | |
| | | Error: Package Folder is already used in another project. |
| +----------------+ |
| [[ OK ]] [ Cancel ] |
+--------------------------------------------------------------------------------------------+
Components of this dialog are:
  1. Project Folder non-editable text field (P) - displays the project folder.
  2. Configuration Files Folder editable text field (i) - specifies the location of deployment descriptors.
  3. Browse (Configuration Files Folder) button (e) - opens a file chooser titled Browse Configuration Files Folder with OK and Cancel buttons for selecting the configuration files folder.
  4. For description of other component see J2SE Project UI Spec.

Libraries

A libraries category allows the user to manage project libraries and change the target Java platform.

Figure: Libraries property category - Compile tab

+--------------------------------------------------------------------------------------------+
| Project Properties - My App |
+--------------------------------------------------------------------------------------------+
| Categories: |
| +----------------+ |
| | Sources | Java Platform: |_JDK 1.4.2_05_______________v_| [ Manage Platforms... ] |
| |/Libraries//////| _________ _______________ ___________ |
| | | / Compile \/ Compile Tests \/ Run Tests \ |
| | Build | | \----------------------------------------------------------+ |
| | Compiling | | Compile-time Libraries: | |
| | Packaging | | |____________Library_______________|_Package| | |
| | Documenting | | | [p] My Lib | x | [ Add Project... ] | |
| | | | | [l] XML Parser | x | [ Add Library... ] | |
| | Run | | | [j] xerces.jar [~/work/lib/xerces| x | [ Add JAR/Folder... ] | |
| | | | | [f] /home/me/work/mylib/sax | x | | |
| | | | | | | [ Edit... ] | |
| | | | | | | [ Remove ] | |
| | | | | | | | |
| | | | | | | [ Move Up ] | |
| | | | | | | [ Move Down ] | |
| | | | | | | | |
| | | | +-------------------------------------------+ | |
| | | | Compile-time libraries are propagated to other library categories. | |
| | | +---------------------------------------------------------------------+ |
| | | [x] Build Required Projects (Projects Used as Libraries) |
| | | |
| | | Error: Some library items cannot be located. Use the Reference Problems |
| | | category to locate the items. |
| | | |
| +----------------+ |
| [[ OK ]] [ Cancel ] |
+--------------------------------------------------------------------------------------------+

[p] - Project icon
[l] - Library icon
[j] - JAR file icon
[f] - Folder icon

Components of this dialog are:

Figure: Libraries properties panel - Compile Tests tab

+--------------------------------------------------------------------------------------------+
| Project Properties - My App |
+--------------------------------------------------------------------------------------------+
| Categories: |
| +----------------+ |
| | Sources | Java Platform: |_JDK 1.4.2_05_______________v_| [ Manage Platforms... ] |
| |/Libraries//////| _________ _______________ ___________ |
| | | / Compile \/ Compile Tests \/ Run Tests \ |
| | Build | |---------/ \-----------------------------------------+ |
| | Compiling | | Compile-time Test Libraries: | |
| | Packaging | | +-------------------------------------------+ | |
| | Documenting | | | [l] JUnit | [ Add Project... ] | |
| | | | | [j] test-lib.jar [~/work/lib/test-lib.jar]| [ Add Library... ] | |
| | Run | | | | [ Add JAR/Folder... ] | |
| | | | | | | |
| | | | | | [ Edit... ] | |
| | | | | | [ Remove ] | |
| | | | | | | |
| | | | | | [ Move Up ] | |
| | | | | | [ Move Down ] | |
| | | | | | | |
| | | | +-------------------------------------------+ | |
| | | +---------------------------------------------------------------------+ |
| | | [x] Build Required Projects (Projects Used as Libraries) |
| | | |
| | | Error: Some library items cannot be located. Use the Reference Problems |
| | | category to locate the items. |
| | | |
| +----------------+ |
| [[ OK ]] [ Cancel ] |
+--------------------------------------------------------------------------------------------+

[p] - Project icon
[l] - Library icon
[j] - JAR file icon
[f] - Folder icon

Components of this dialog are:

Figure: Libraries properties panel - Run Tests tab

+--------------------------------------------------------------------------------------------+
| Project Properties - My App |
+--------------------------------------------------------------------------------------------+
| Categories: |
| +----------------+ |
| | Sources | Java Platform: |_JDK 1.4.2_05_______________v_| [ Manage Platforms... ] |
| |/Libraries//////| _________ _______________ ___________ |
| | | / Compile \/ Compile Tests \/ Run Tests \ |
| | Build | |--------------------------/ \----------------------------+ |
| | Compiling | | Run-time Test Libraries: | |
| | Packaging | | +-------------------------------------------+ | |
| | Documenting | | | -- [j] run-test-lib.jar [~/work/lib/run...| [ Add Project... ] | |
| | | | | -- [L] Compile-time Test Libraries | [ Add Library... ] | |
| | Run | | | -- [p] My Lib | [ Add JAR/Folder... ] | |
| | | | | -- [l] XML Parser | | |
| | | | | -- [j] xerces.jar [~/work/lib/xerce...| [ Edit... ] | |
| | | | | -- [f] /home/me/work/mylib/sax | [ Remove ] | |
| | | | | | | |
| | | | | | [ Move Up ] | |
| | | | | | [ Move Down ] | |
| | | | | | | |
| | | | +-------------------------------------------+ | |
| | | +---------------------------------------------------------------------+ |
| | | [x] Build Required Projects (Projects Used as Libraries) |
| | | |
| | | Error: Some library items cannot be located. Use the Reference Problems |
| | | category to locate the items. |
| | | |
| +----------------+ |
| [[ OK ]] [ Cancel ] |
+--------------------------------------------------------------------------------------------+

[p] - Project icon
[l] - Library icon
[j] - JAR file icon
[f] - Folder icon

Components of this dialog are:

Build: Compiling

The user can change Javac options in this panel.

Figure: Compiling properties panel

+--------------------------------------------------------------------------------------------+
| Project Properties - My App |
+--------------------------------------------------------------------------------------------+
| Categories: |
| +----------------+ |
| | Sources | Compiler Options: |
| | Libraries | [x] Generate Debugging Info |
| | | [ ] Report Uses of Deprecated APIs |
| | Build | |
| |///Compiling////| Additional Compiler Options: |________________________________________| |
| | Packaging | (e.g. -Xlint:unchecked) |
| | Documenting | |
| | | |
| | Run | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| +----------------+ |
| [[ OK ]] [ Cancel ] |
+--------------------------------------------------------------------------------------------+

Components of this dialog are:

Build: Packaging

The Packaging panel allows the user to modify properties of creating jar from a project.

Figure: Packaging properties panel

+------------------------------------------------------------------------------------------+
| Project Properties - My App |
+------------------------------------------------------------------------------------------+
| Categories: |
| +----------------+ |
| | Sources | JAR File: |_/home/me/My App/dist/My-App.jar_________________________| |
| | Libraries | |
| | | Exclude From JAR File: |_**/*.java,**/*.form________________________| |
| | Build | [ ] Compress JAR File |
| | Compiling | |
| |///Packaging////| |
| | Documenting | |
| | | |
| | Run | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| +----------------+ |
| [[ OK ]] [ Cancel ] |
+------------------------------------------------------------------------------------------+

Components of this dialog are:

Build: Documenting

The Documenting panel allows the user to change properties of generating javadoc for a project.

Figure: Documenting properties panel

+------------------------------------------------------------------------------------------+
| Project Properties - My App |
+------------------------------------------------------------------------------------------+
| Categories: |
| +----------------+ |
| | Sources | [ ] Include Private and Package Private Members |
| | Libraries | |
| | | Generate: |
| | Build | [x] Class Hierarchy Tree |
| | Compiling | [x] Class and Package Usage Pages |
| | Packaging | [x] Navigator Bar |
| |///Documenting//| [x] Index |
| | | [x] Separate Index per Letter |
| | Run | |
| | | Document Additional Tags: |
| | | [ ] @author |
| | | [ ] @version |
| | | |
| | | Browser Window Title: |_____________________________________________| |
| | | |
| | | Additional Javadoc Options: |_______________________________________| |
| | | (e.g. -overview <file>) |
| | | |
| | | [x] Preview Generated Javadoc |
| +----------------+ |
| [[ OK ]] [ Cancel ] |
+------------------------------------------------------------------------------------------+

Components of this dialog are:

Run

The Run panel allows the user to customize execution properties of project.

Figure: Run properties panel

+--------------------------------------------------------------------------------------------+
| Project Properties - My App |
+--------------------------------------------------------------------------------------------+
| Categories: |
| +----------------+ |
| | Sources | Server: |_Sun Java System Application Server 8________________v_| |
| | Libraries | J2EE Version: |_J2EE 1.4_________| |
| | | |
| | Build | |
| | Compiling | |
| | Packaging | |
| | Documenting | |
| | | |
| |/Run////////////| |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| +----------------+ |
| [[ OK ]] [ Cancel ] |
+--------------------------------------------------------------------------------------------+

Components of this dialog are:

  • Server combo box (S) - specifies the server instance the enterprise application is deployed to. The combo box contains all registered app server instances.
  • J2EE Version disabled text field (J) - specifies the J2EE version. It is disabled and shows J2EE 1.4 value.

Icons

Symbol
Name of the node
Icon or folder badge
Label (in brackets) and description
[A]
EJB Module
**
< name of EJB Module  >
[R]
Server Resources
Server Resources - container for all server resources.
[r]
Server Resource
< name of the resource file > - one server resource node.
[E]
Enterprise Beans
*
Enterprise Beans - container for all enterprise beans within the module (ordered alphabetically), sorted alphanumerically. Node is expanded by default.
[e]
Entity EJB <name of an entity bean > - individual entity ejb node
[m]
Message EJB
<name of a message-driven bean > - individual message ejb node
[s]
Session EJB
<name of a session bean > - individual session ejb node
[W]




[G]^
Web Services

Web Service
Clients

Web Services Group
*
Web Services - container for all webservices within the module, ordered alphanumerically.
Web Service Clients - used in web applications
<name of the Web Services group> - groups web services in the Web Services Registry
[W]^
Web Services Registry

Web Services - container for all webservices registered in the IDE (it is a tree in the Runtime Registry)
[w]
Web Service

< name of a webservice > - individual webservice node (child of Web Services and Web Service Clients)
[P]
Web Service Port
*
< name of port > - A port of a web service. Used as child of Web Service in Web Service Clients and Web Service Registry. Contains operations.
[C]
Configuration files
**
< Configuration Files > -  shows the content of the "conf" folder, ordered alphanumerically
[c]
Configuration file
**
< configuration filename > - xml or special xml config file icon
[S]
Source Packages
***
<Source Packages> - container for all source files
[p]
Package
***
<name of the package> java package icon
[j]
Java class
***
<name of the class> java class icon
[F]
CMP fields

< CMP Fields > - contains all CMP fields, ordered alphanumerically
[f]
CMP field < name of the CMP field > - individual field
[l]
CMR field

< name of the CMR field > - individual field referencing another Entity EJB or a collection of Entity EJBs
[M]
Local Methods

< Local Methods > - contains a subset of methods exposed in a local interface, ordered alphanumerically
[R]
Remote Methods

< Local Methods > - contains a subset of methods exposed in a remote interface, ordered alphanumerically
[g]
plumbing method

< name of the method > - name of the plumbing method, i.e. create (currently we're not showing ejbPostCreate, setSessionContext and other plumbing methods)
[h]
home method

< name of the method > - name of the home method without the ejbHome prefix, i.e. using the name from the home interface, i.g. ejbHomeMyMethod will be shown as myMethod
[i]
finder method

< name of the method > - the name of the finder method without the ejbFind prefix plus find prefix, i.e. using the name from the home interface, i.g. ejbFindSomething will be shows as findSomething
[k]
select method
same as for finder method
< name of the method > - the name of the select method, including ejbSelect prefix, i.g. ejbSelectSomething
[n]
business method

< name of the method > - business method (used for getters and setters as well, altough they don't provide any business logic in most cases)
[p]
[o]^
operation
same as for business method < name of the operation > - WS operation, implemented as a public method in WS's Session Bean impl. class and exposed in the SEI interface

error glyph
F
Used on the icon of deployment descriptor if it is invalid.

please wait glyph
F Used on the symbol of WS when it is being analyzed/compiled in the background.

Servers

Servers - Container node of the Runtime View; it contains all registered server instances

SJSJAS

Sun Java System Application Server - an instance of SJSAS

Tomcat

Tomcat - an instance of Tomcat

Notes:

* The icon is a badge for a folder.
** The icon is identical with the one introduced in Enterprise Application Project UI spec.
*** The icon is identical with the used in standard Java projects.
^ Symbol used in other UI spec, the icon is referenced from it.
F The icon is a badge for another icon.

Companion
Projects:
MySQL Database Server   GlassFish Community: an Open Source Application Server   Open Solaris  Open JDK: an Open SourceJDK   Mobile & Embedded Community     Sponsored by 
Sponsored by Sun Microsystems