The openArchitectureWare team have been busy all day and night to bring you the finest in generator technology. Here is a list of the features we're most proud of as well as anything else you should be aware of:
Documentation | |
|
Screencasts |
With the release of oAW 4.2 we have created ca. 3 hours of video documentation that illustrates how to use oAW in a consistent example. You can find the set of videos here: http://www.eclipse.org/gmt/oaw/doc/4.2/videos/ |
|
Documentation format |
Documentation is now available both as a PDF file and as Eclipse Online Help. oAW now also provides an Eclipse Welcome page that welcomes first time users. |
Generator | |
|
Format Java code using the Eclipse Formatter |
Mainly due to IP issues, we abandoned usage of Jalopy in favor of the Eclipse Code Formatter. This gives you the chance to format generated Java code using exactly the same settings as in your IDE. Here's a short snippet of how to use the new formatter: <component class="org.openarchitectureware.xpand2.Generator">
<metaModel
class="org.openarchitectureware.type.emf.EmfMetaModel">
<metaModelFile value="metamodel/metamodel.ecore" />
</metaModel>
<expand
value="template::Simple::javaClass FOREACH model.entities" />
<outlet path="${src-gen}" >
<postprocessor
class="org.openarchitectureware.xpand2.output.JavaBeautifier"
configFile="workflow/org.eclipse.jdt.core.prefs"/>
</outlet>
</component>Note that you have to place the configuration file somewhere on the classpath to ensure it can be found by the workflow engine. The config file can be created like this:
|
Eclipse Integration | |
|
Re-launch previous workflow: |
You can use CTRL+F11 and F11 to launch the workflow file you launched previously. CTRL+F11 will launch the workflow in run mode, whereas F11 will launch the workflow in debug mode. Please note that in Eclipse 3.3, launch behaviour has been changed significantly (see http://download.eclipse.org/eclipse/downloads/drops/R-3.3-200706251500/whatsnew/eclipse-news-all.html and look for Launch selection vs. launch last) |
|
Refactoring: |
Refactoring is available for Xpand templates. Select the name of a template and press ALT+SHIFT+R to open the refatoring dialog, or select → from the context menu. ![]() |
|
Hyperlink navigation: |
In an Xpand template, hold down the Ctrl key and navigate over an identifier or an Xtend expression. The editor will underline the respective identifier. By clicking on the hyperlink, you will be taken to the declaration: ![]() You can also place the cursor on an identifier and press F3 to navigate without using the mouse. |
|
GMF2 Integration: |
You can now easily integrate the oAW-Check language into your generated GMF editors by using the dynamic template mechanism of GMF. It is also possible to run the oAW-checks in a cyclic mode. ![]() |
Product Line Engineering (PLE) | |
|
oAW 4.2 features dedicated support for product line engineering (PLE) in the context of MDSD. To understand in more detail what we mean by that we recommend reading this paper by Markus Voelter and Iris Groher: http://www.voelter.de/data/pub/VoelterGroher_SPLEwithAOandMDD.pdf Here’s a list of the specific features: | |
|
Positive Variability in Models: |
The xWeave component supports weaving models. You can define aspect models that are subsequently woven into base models. See this video for details: http://www.eclipse.org/downloads/download.php?file=/technology/gmt/oaw/42/videos/11-ple-xweave.wmv |
|
Negative Variability in Models and Code |
With the xVar tool, you can selectively remove parts of models or sections of code. This is illustrated in this video: http://www.eclipse.org/downloads/download.php?file=/technology/gmt/oaw/42/videos/12-ple-xvar.wmv |
|
Aspect Orientation |
Although AO in templates and transformations is not new for 4.2, it is especially useful in the context of MDSD-PLE to define variants of generators. This is illustrated in this video: http://www.eclipse.org/downloads/download.php?file=/technology/gmt/oaw/42/videos/10-ple-genao.wmv |
|
Integration with Feature Modeling Tools |
It is not possible, to make sections of the workflow depend on the selection of features in a configuration model. The default implementation is based on a text file, but there’s also an integration available with pure::variants. See the previous two videos for details. |
oAW Classic | |
|
Workflow Configuration: |
The XmiInstantiator component requires now setting of the '
The
<cartridge file="org/openarchitectureware/workflow/oawclassic/classicfinish.oaw"/>
|
API changes | |
|
FileHandle implementation |
The FileHandle interface used for postprocessing callbacks for generated files used StringBuffer to represent the file content up to 4.1.2. We changed that to CharSequence. |