<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<link rel="STYLESHEET" href="http://www.eclipse.org/default_style.css"
	charset="ISO-8859-1" type="text/css">
<meta content="text/html; charset=ISO-8859-1" http-equiv="content-type">
<title>AJDT 2.1.1 - New and Noteworthy</title>

</head>
<body>
<h1>AJDT 2.1.1 - New and Noteworthy</h1>

<table border="0" cellpadding="10" cellspacing="0" width="80%">
	<tbody>
		<tr>
			<td valign="top"><b>Overview</b></td>
			<td valign="top">In this release, we have focussed on searching
			and refactoring support for Intertype Declarations (ITDs) and Declare
			declarations. This will particularly benefit users of <a
				href="http://www.springsource.org/roo">Spring Roo</a> who will be
			better able to search and refactor source code that contains
			Roo-style aspects.</td>
		</tr>


		<tr>
			<td colspan="2">
			<hr>
			</td>
		</tr>
		<tr>
			<td colspan="2" valign="top" align="center">
			<h3>Searching</h3>
			</td>
		</tr>


		<tr>
			<td valign="top"><b>Searching for ITD target types</b></td>
			<td>Target types of intertype declarations now appear in the
			search results when searching for type references: <br />
			<br />
			<img /> <br />
			<br />
			</td>
		</tr>

		<tr>
			<td valign="top"><b>Searching for Declare parents</b></td>
			<td>Types referenced inside of declare parents declarations are
			also returned in search results where appropriate: <br />
			<br />
			<img /> <br />
			<br />
			This even works for referenced annotations: <br />
			<br />
			<img /> <br />
			<br />
			There are some caveates, however. Wild cards are not supported. Also,
			type bindings are sometimes not respected, meaning that two types
			with the same name, but different packages may be inappropriately
			matched.</td>
		</tr>

		<tr>
			<td valign="top"><b>Searching for Declare annotation</b></td>
			<td>And finally, types, methods, and fields referenced inside of
			declare annotation declarations are similarly found when searching
			for references: <br />
			<br />
			<img /></td>
		</tr>


		<tr>
			<td colspan="2">
			<hr>
			</td>
		</tr>
		<tr>
			<td colspan="2" valign="top" align="center">
			<h3>Refactoring</h3>
			</td>
		</tr>


		<tr>
			<td valign="top"><b>Rename refactoring</b></td>
			<td>Rename refactoring is working in almost all situations.
			Intertype declarations can be renamed; fields, methods, and types
			referenced inside of Aspects will be appropriately renamed; and AJ
			Compilation units will be renamed when appropriate. Most of this work
			was completed for the <a href="../whatsnew210/index.html">2.1.0
			release</a>, with some small fixes included in this release. The most
			significant improvement in this area is that package renames are
			properly reflected in the import statements and fully qualified names
			of AJ compilation units. <br />
			<br />
			<img /> <br />
			<br />
			AJDT does not currently support the renaming of named pointcuts.</td>
		</tr>

		<tr>
			<td valign="top"><b>Move refactoring</b></td>
			<td>Similarly, move refactoring is AspectJ-aware. Import
			statements and fully qualified names will be properly updated in
			Aspects when types and compilation units move. It is also possible to
			drag and drop types, fields, and methods into aspects, with the same
			behavior as you would expect when the project is pure Java.</td>
		</tr>

		<tr>
			<td valign="top"><b>Pull-out refactoring enhancements</b></td>
			<td>It is now possible to choose a non-existant aspect as the
			target of a Pull-out refactoring. This aspect will be created as part
			of the refactoring operation.</td>
		</tr>


		<tr>
			<td valign="top"><b>Catalog of working refactorings in AJ
			files</b></td>
			<td>In this release, we have done significant work in making
			sure that the standard JDT refactorings are available when inside an
			Aspect. We have focussed on the more widely used refactorings, and
			left some of the less popular refactorings unimplemented. In addition
			to the AspectJ-specific <strong>Push in</strong> abd <strong>Pull
			out</strong> refactorings, and the standard <strong>Rename</strong> and <strong>Move</strong>here
			are the JDT refactorings that are currently known to work in AJDT:

			<ul>
				<li>Push Down</li>
				<li>Extract Class</li>
				<li>Pull up</li>
				<li>Push down</li>
				<li>Use super type where possible</li>
				<li>Inline</li>
				<li>Extract Method</li>
				<li>Extract Local Variable</li>
				<li>Extract Constant</li>
				<li>Introduce indirection</li>
				<li>Introduce parameter (non-advice)</li>
			</ul>

			The following refactorings will produce correct results, even though
			the refactoring wizard complains about compilation errors:
			<ul>
				<li>Change method signature</li>
				<li>Introduce Parameter Object (inside non-ITD method)</li>
			</ul>

			And finally, the following refactorings produce errors and do not
			work inside aspects:

			<ul>
				<li>Extract super class</li>
				<li>Infer generic arguments where possible</li>
				<li>Introduce Parameter (inside advice)</li>
				<li>Introduce Parameter Object</li>
				<li>Convert Local variable to a field</li>
				<li>Encapsulate field</li>
			</ul>

			If you want us to fix any of the above refactorings, or you notice a
			problem with one of the existing refactorings, please notify us on
			the mailing list or raise a bugzilla request for it.</td>
		</tr>

		<tr>
			<td colspan="2">
			<hr>
			</td>
		</tr>
		<tr>
			<td valign="top"><b>AspectJ 1.6.10</b></td>
			<td>AJDT 2.1.0 includes AspectJ 1.6.10. See the <a
				href="http://eclipse.org/aspectj/doc/released/README-1610.html">readme</a>
			for details.</td>
		</tr>

		<tr>
			<td colspan="2">
			<hr>
			</td>
		</tr>
		<tr>
			<td valign="top"><b>Bug Fixes</b></td>
			<td>See <a href="http://tinyurl.com/297kbp7">bugzilla</a> for a
			list of bugs addressed in this release.</td>
		</tr>

		<tr>
			<td colspan="2">
			<hr>
			</td>
		</tr>
		<tr>
			<td valign="top"><b>Previous Releases</b></td>
			<td>See <a
				href="http://www.eclipse.org/ajdt/whatsnew210/index.html">here</a>
			for information on the new features in AJDT 2.1.0.</td>
		</tr>
		<tr>
			<td colspan="2">
			<hr>
			</td>
		</tr>
		<tr>
			<td valign="top"><b>Thanks!</b></td>
			<td>Thanks for community help and feedback during this release
			cycle. You can contact the AJDT team on the <a
				href="https://dev.eclipse.org/mailman/listinfo/ajdt-dev">mailing
			list</a>, and raise bugs on <a href="https://bugs.eclipse.org/bugs/">bugzilla</a>.
			We also lurk on the <a
				href="http://eclipse.org/aspectj/userlists.php">AspectJ users
			list</a>, and on the <a
				href="http://forum.springsource.org/forumdisplay.php?f=32">SpringSource
			Tool Suite forum</a>.</td>
		</tr>
	</tbody>
</table>
</body>
</html>
