Abstract
This plug-in provides the modeling and maintenance of OpenSAGA applications.
Table of Contents
First please make sure that the following requirenments are satisfied:
Optional (for Maven support):
Apache Maven 2.x+ (Please follow the installation instructions given at the end of the linked document!).
The plug-in m2eclipse. For supporting the Maven Integration for WTP it is strongly recommended to install the plug-in m2extras ("Maven Integration for Eclipse WTP Integration"), too.
Installation Instructions for Eclipse Helios:
Go to: Help -> Install new software.
Click on "Add.." and paste the OpenSAGA update site URL http://www.opensaga.org/osclipse/updates into.
Choose "OSclipse Updates -> OSclipse" .
Optional: "OSclipse Legacy" enables support for different, particularly for older OpenSAGA schema versions (see section "The models build process").
Optional: "Maven Integration for OSclipse" enables OpenSAGA project creation support using OpenSAGA Maven-Archetype (requires Maven and m2eclipse-plug-in, see "System Requirements").
Click "Next" and follow the prompts.
Restart the IDE.
A new OpenSAGA project can be created in two ways:
as a Eclipse dynamic web project (recommended).
as a Maven project using OpenSAGA Maven archetype (optional, requires "Maven Integration for OSclipse" plug-in)
Go to: File -> New -> Project -> OpenSAGA -> OpenSAGA project
Specify the project name and OpenSAGA version.
Click "Next" and choose one of the example extensions should be created in your project. If you want to create an empty project, activate "Create an empty project" checkbox.
Click "Finish".
Choose New -> "OpenSAGA extension" from the project context menu (right-click inside the project in Extension Explorer view) or click extension icon in the Eclipse toolbar.
Specify the name and container for new extension and click "Finish".
Choose New -> "OpenSAGA model" from the extension context menu (right-click inside the extension in Extension Explorer view) or click model icon in the Eclipse toolbar.
Specify the model type, container and name. The model ID will be generated automatically, if checkbox "Generate" is selected.
Click "Finish" to create a new OpenSAGA model.
Choose OpenSAGA -> "Duplicate model" from the model context menu (right-click inside the OpenSAGA model in Extension Explorer view) .
Specify the extension for a model copy and click "Finish".
This editor extends the Eclipse WST editor for XML. The OpenSAGA models will be detected by XSD and opened with OpenSAGA editor. The following features are available:
ID attribute value completion using OpenSAGA naming conventions for IDs. The completion dialog can be opened by CTRL+BLANK.
Reference attribute value completion. The completion dialog can be opened by CTRL+BLANK. The set of completion proposals contains the model IDs can be specified for given reference attribute.
"Tab-Completion" : The completion proposals have the same prefix can be automatically completed by CTRL (in the example above "bvl-btl.d_" will be added by typing "bv" + CTRL).
Detecting references. The referenced models can be open in editor by CTRL + click or F3.
Model validation. The correctness of model constraints will be checked automatically by editing the model. Therefore the "Batch-Validation" can be invoked by choosing "Validate" from the context menu in editor or in the Extension Explorer view (right-click inside the resource).
Checking existence of specified model references. If the referenced model doesn't exist, you can create this by clicking CTRL+1 and using the following quick-fix:
It's possible to use this quick-fix for the state-references in the process model too:
Validating uniqueness of specified model IDs.
Checking type safety of defined model references.
Validating (required) reference value exists.
Checking of OpenSAGA naming conventions for model IDs.
Validating the uniqueness of domain type names.
Validating the liveness of process states: Each process state should be used/referenced in process model.
Checking the portal integrity: The portal model should be included all navigation-, domain-type- and process-model references.
Model ID Refactoring can be invoked by clicking CTRL+1 and choosing "Refactor this ID" from the quick fix.
Specify new ID:
It is possible to update all references to this ID, if the checkbox "update references" is selected. By clicking "Finish" the model ID value (optional: references) will be changed.
To open the "OpenSAGA Perspective" go to Window -> Open Perspective -> OpenSAGA or use the context menu of the "Open Perspective" toolbar button.
This view represents the OpenSAGA modeling artefacts - projects, extensions, models - and shows the structure of OpenSAGA modeling projects. A project also contains extensions, the extensions contains models, where will be logical grouping by specified modeling artefacts (f.e. domain types or processes). Therefore toggling button "Filter unused extensions" on the view toolbar hides unused project extensions.
This view shows the OpenSAGA modeling problems detected by validation. The problem description contains the case, location, model resource and the OpenSAGA extension of this resource. By double-clicking the problem entry the OpenSAGA editor automatically opens associated model resource to the relevant line.
The "OpenSAGA Model Handler" component is an eclipse workspace job for analyzing the OpenSAGA models. If the automatical model handling is enabled (see preferences) the intern plug-in datasets will be automatically created/updated. Otherwise (f.e. after subversion checkout) it is recommended to use the manual models build process by choosing "Clean and build OpenSAGA models" from the project context menu (right-click inside the project) in Extension Explorer view.
The build process based on OpenSAGA metamodel (XML schema) and will be provided by following schema handling concepts.
This mode provides flexibility in handling different OpenSAGA schema versions and can be used for OpenSAGA framework development. The schema will be automatically found in Eclipse workspace and loaded, if
one of the projects in workspace contains XML schema on <project>/WebContent/xsd and
the Manifest.mf file on <project>/WebContent/META-INF contains the "OpenSAGA schema version" entry specifies the version of used schema.
This concept enables support for different OpenSAGA XML schema versions by OSclipse Legacy-module contains the static metamodels corresponds to different versions of the OpenSAGA XSD. The Legacy-Concept reflects in the much better OSclipse performance as "Development mode" and makes be possible using this tool offline.
The current plug-in version supports the OpenSAGA XSD version 1.5. The support for older schema versions can be enabled by installing the "OSclipse Legacy" feature (see "How to Install").
Go to Window -> Preferences -> OpenSAGA to configure the following plug-in preferences:
In the "Model Validation" preference page the model validators can be configured (enabled/disabled). The flag "live" can be setted for the live validation (e.q. validation as you type).
In the "Templates" page the existing templates can be changed.
The new OpenSAGA project wizard for easy creation of OpenSAGA dynamic web projects.
Support for creation of OpenSAGA virtual domain types.
The "Live"-Validation (as you type) mode can be configured now.
Autocompletion for domain type property names.
Integration of the OpenSAGA domain model generation into the editing process.
Legacy-Concept for more stability and performance (see "The models build process").
Compatibility to Eclipse Helios (3.6).
Support for creation of all domain-types and agent models.
More intelligence for reference completion in account of new model completion rules for process models and "Tab-completion" (see "Using the OpenSAGA Editor").
Duplicating models is now very simple, just an extension for a model copy should be choosed (see "Duplicating a model").
Validating the uniqueness of domain type names, liveness of process states and portal integrity (see "Using the OpenSAGA Editor").
Flexibility in handling different OpenSAGA schema versions.
ID attribute value completion (see "Using the OpenSAGA Editor").
Quick-Fix for create new states in the process models (see "Using the OpenSAGA Editor").
The Maven support (see "Creating a project").