<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
            "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Web Tools Platform 0.7 M5 News</title>
<link rel="stylesheet"
	href="../../../../../development/news/default_style.css" />
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/ >
<meta name="GENERATOR" content="WTP HTML Source Editor" />
</head>
<body>
<h1>Web Tools Platform 0.7M5 - New and Noteworthy</h1>
<p>This milestone, the J2EE development team was focused on new function that includes Import of J2EE Archives, Export of J2EE archives, Defining Jar Dependencies between J2EE modules.
In addition, an EAR module assembly page, and global settings for Project Flexibility.</p>
<table border="0" cellpadding="10" cellspacing="0" width="85%">
	<tbody>
		<!-- separating row -->
		<tr>
			<td colspan="2">
			<hr />
			</td>
		</tr>
		<tr>
			<td colspan="2">
			<h3>J2EE</h3>
			</td>
		</tr>
		<!-- separating row -->
		<tr>
			<td colspan="2">
			<hr />
			</td>
		</tr>
		<!-- new item -->
		<tr>
			<td align="right" valign="top" width="15%"><b>Flexible project Preference page</b></td>
			<td align="left" valign="top" width="85%"><p>By default, this preference is off, and J2EE Modules are created one per project. By enabling this preference, modules can be added to existing projects containing other modules.  The J2EE Import and Creation wizards will also react to this preference, allowing the user to specify existing projects.</p>
			<BR>Preference page<BR>
			<BR>
			<!-- Image doesn't exist
			<IMG border="0" src="images/flexPref.jpg">--><BR> 
			</td>
		</tr>
		<!-- separating row -->
		<tr>
			<td colspan="2">
			<hr />
			</td>
		</tr>
		<!-- new item -->
		<tr>
			<td align="right" valign="top" width="15%"><b>Java Jar Dependencies Properties page</b></td>
			<td align="left" valign="top" width="85%"><p>The Java Jar Dependencies properties page provides the mechanism for users to update the modules dependencies within an Enterprise Application which needs updating the module manifest (MANIFEST.MF), classpath (.classpath), project (.project) files. This property page can be launched by right click on the J2EE Module-&gt; Properties-&gt; Java Jar Dependencies. This Property page also includes the functionality to setup java utility projects as Web Library projects for standalone and non standalone web mouules. The following screen shots depict the above mentioned functionality</p>
			<BR>Jar Dependency property page on Web Module: <BR>
			<BR>
			<IMG border="0" src="images/JarDependencyWeb.jpg"<BR> 
			<BR>Web Library Setting on Web module: <BR>
			<BR>
			<IMG border="0" src="images/WLPSettingStandaloneWeb.jpg"<BR> 
			<BR>Web Library Setting on Standalone Web module: <BR>
			<BR>
			<IMG border="0" src="images/WLPSettingWeb.jpg" 
			</td>
		</tr>
		<!-- separating row -->
		<tr>
			<td colspan="2">
			<hr />
			</td>
		</tr>
		<!-- new item -->
		<tr>
			<td align="right" valign="top" width="15%"><b>EAR Modules</b></td>
			<td align="left" valign="top" width="85%"><p>The EAR Modules properties page provides the mechanism for users to add the J2EE Modules within an Enterprise Application. This property page can be launched by right click on the EAR Module-&gt; Properties-&gt; EAR Modules. The Java project can be selected in this property page and they are converted to a utility jar module.The following screen shots depict the above mentioned functionality. </p>
			<BR>EAR Modules page: <BR>
			<BR>
			<IMG border="0" src="images/EarModules.jpg"<BR> 
			</td>
		</tr>		
		<!-- separating row -->
		<tr>
			<td colspan="2">
			<hr />
			</td>
		</tr>
		<!-- new item -->
		<tr>
			<td align="right" valign="top" width="15%"><b>EAR (Enterprise Application) Import Wizard</b></td>
			<td align="left" valign="top" width="85%"><p>This wizard is used for importing ear archives into the workbench as ear modules. All the nested j2ee archives in the EAR are imported as individual j2ee modules and the names of the nested j2ee archives imported as j2ee modules can be configured in the third page of the wizard. Any utility jars that exist in the ear can optionally be imported as java projects from the second page of the wizard.</p>
			<BR>EAR Import Wizard <BR>
			<BR>
			<BR>EAR Import wizard page 1:<BR>
			<BR>
			<IMG border="0" src="images/EARImportP1.jpg" 
			<BR>
			<BR>EAR Import wizard page 2: <BR>
			<BR>
			<IMG border="0" src="images/EARImportP2.jpg" 
			<BR>
			<BR>EAR Import wizard page 3:<BR>
			<BR>
			<IMG border="0" src="images/EARImportP3.jpg" 
			</td>
		</tr>
		<!-- separating row -->
		<tr>
			<td colspan="2">
			<hr />
			</td>
		</tr>
		<!-- new item -->
		<tr>
			<td align="right" valign="top" width="15%"><b>EJB Import Wizard</b></td>
			<td align="left" valign="top" width="85%"><p>The EJB import wizard is used to import ejb jars as ejb modules into the workbench. All other module types (Application Client,Web,Connector) import wizards look and work similiar to the ejb jar import wizard. To launch the import wizards right click on any modules folders in the j2ee project explorer and select <b>Import</b> </p>
			<BR>EJB Jar Export Wizard: <BR>
			<BR>
			<IMG border="0" src="images/EJBJarImport.jpg" </td>
			
			</td>
		</tr>
		<!-- separating row -->
		<tr>
			<td colspan="2">
			<hr />
			</td>
		</tr>
		<!-- new item -->
		<tr>
			<td align="right" valign="top" width="15%"><b>EAR Export Wizard</b></td>
			<td align="left" valign="top" width="85%"><p>The EAR export wizard is used for exporting EAR modules from the workbench to deployable ear archives. The ear export packages all the nested modules inside the ear into their respective module archives. The screen shot below shows the wizard, the user can optinally export all source and can optionally overwirte an existing ear file. These options are turned off by default. One common way to launch the export wizard is in the j2ee project explorer right click on a EAR module and select <b>Export</b>-&gt; <b>EAR file</b> </p>
			<BR>EAR Export Wizard: <BR>
			<BR>
			<IMG border="0" src="images/EARExport.jpg" </td>
			
			</td>
		</tr>
		<!-- separating row -->
		<tr>
			<td colspan="2">
			<hr />
			</td>
		</tr>
		<!-- new item -->
		<tr>
			<td align="right" valign="top" width="15%"><b>EJB Export Wizard</b></td>
			<td align="left" valign="top" width="85%"><p>The EJB export wizard is used for exporting ejb modules into deployable ejb jar files. All other j2ee modules types (Application Client, Web, Connector) have similar export wizards and one common way to launch the wizard is to right click on the module and select <b>Export</b> and selecting the corresponding module file type export (e.g EJB Jar File, War File etc..) </p>
			<BR>EJB Jar Export Wizard: <BR>
			<BR>
			<IMG border="0" src="images/EJBJarExport.jpg" </td>
			
			</td>
		</tr>
		<!-- separating row -->
		<tr>
			<td colspan="2">
			<hr />
			</td>
		</tr>
		<tr>
			<td align="right" valign="top" width="15%"><b>J2EE Validators</b></td>
			<td align="left" valign="top" width="85%"><p>All the J2EE module (EAR,Application Client,Web,EJB,Connector) validators are functionally working in this milestone release. The J2EE validators can be run manually on J2EE modules by right clicking on the module in the j2ee explorer view and selecting <b>Run Validation</b>.They run automatically on incremental builds if the auto build setting in the workbench turned on</p>
			<BR>
			</td>
		</tr>
</tbody>
</table>

<p align="center">
<font color="#808080">Previous</font>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="../../../../../development/news/0.7M5.html">Up</a>&nbsp;&nbsp;&nbsp;&nbsp;
<font color="#808080">Next</font>
</p>
</body>
</html>