# 0.8

## Discovery manager

We have added notion of discovery parameters in process. So it changes the api of Discoverer interface: method `Resource discoverElement(Object source, URI target)` is now deprecated and has been replaced by method `void discoverElement(Object source, Map<DiscoveryParameter, Object> parameters)`. This new method is more generic and should be used in coordination with provided list of discovery parameters.

We provide also an abstract class `AbstractDiscovererImpl` to ease the development of new discoverers.

The launch configuration dedicated to discovery has been adapted to represent all discovery parameters and to edit their values (it only supports basic types, like primitive types and collections of Strings).

## Facet Manager

A MoDisco resource selection dialog is now available. This dialog avoids having to manually write the URI of the required resource (eg: "modisco:/query/myQuery").

To open this dialog, right-click and select Load MoDisco resource.

.

## Model Browser

Extracted core functionality from the browser, so that it can be reused in other plug-ins (see UI Core). This makes it possible to embed model browsing functionality in any view. For example, plug-in infra.browser.uicore.examples.cnf demonstrates how to integrate the model browser in the Project Explorer (using the Common Navigator Framework) :

- Editing support:
  - Create new children elements
  - Delete a model element (with all its references)
  - Cut/Copy/Paste
  - Undo/Redo
  - Edit attributes through the Properties view
  - Save and Save As
- Performance improvements
- For each metamodel, memorize and restore chosen customizations and facets when the browser is opened
- Support for contributions to the browser's context menu
- Option to show the EMF URI of each model element
- The browser is now automatically refreshed when one of its resources is externally modified

- New option to display a unique ID on each model element ( ). This makes it easier to know whether two elements in the tree are equal.
- Removed the dialog that asked for the loading depth each time the browser was opened; replaced it by a preference in a new preference page.

### Customization

The browser is now extensively customizable through the use of uiCustom files:

These customizations can be easily created using a dedicated editor]:

### New options

- Sort links by type ( )
- Show Ordering ( ):

### Internationalization

The browser components are now fully internationalization ready.

### New Look

Eclipse Forms look:

Less often used options are moved to a sub-menu in each toolbar so as to avoid cluttering the UI.

### Linked resources

- The browser now allows displaying linked resources

## Query Manager

- An action to open the query set creation wizard from the "Query Execution" view
- A wizard to create a Java model query:
  - the query is created in the chosen query set
  - the metamodels are automatically added to the query set and the plug-in dependencies
  - the corresponding Java class stub is created and opened in an editor, with the correct imports and generic parameters instantiation

A pop-up menu action helping to create a Java model query implementation class is now available. To use it right-click on a JavaModelQuery and use Create Java Query Implementation Class.

## Workflow

With notion of discovery parameters, driver for discoverers has been updated to reflect new kind of parameters.

## Java

### Java generation

A "Java Generation" plug-in is available. The aim is to provide Java code generation from a Java model. Such a generation will participate to Legacy Refactoring & Migration chains.

### Java discovery filters

Java Discovery parameters are completed with a Java filter field which allows to exclude some Java packages from discovery. This feature will be convenient when dealing with a large amount of Java source in one single Java project.