Skip to end of metadata
Go to start of metadata

Overview

Griffon 0.9.5-rc2 – "Aquila hastata" - is a maintenance release of Griffon 0.9.

New Features

Buildtime

Offline Mode

Dependency resolution can now work in offline mode. When engaged, no external repository will be queried for dependencies; all dependencies should be resolved against the current cache. Also, all artifact repositories are off limits, except those of type local. This mode can be enabled by specifying griffon.offline.mode in either griffon-app/conf/BuildConfig.groovy or $USER_HOME/.griffon/settings.groovy. This flag can also be set as a system property.

Runtime

Disable the Event Bus

Sometimes you don't want controllers to be registered as application event listeners because their code never handles an event. This results in performance upgrades as controllers need not be notified. Both the application's event bus and custom event buses (classes annotated with @griffon.transform.EventPublisher) have a new method that control if the event bus is enabled or not. Events posted while the event bus is disabled will be automatically discarded.

Skip Controller as Application Event Handler

Sometimes you don't want controllers to be registered as application event listeners because their code never handles an event. This results in performance upgrades as controllers need not be notified. This feature relies on the new config section available to MVC groups. Here's how this feature can be specified

Skip Firing MVC Lifecycle Events

There are times when creating multiple MVC groups where there's no need to trigger MVC events for example, a custom MVCGroupManager can potentially disable the event router for a time, then enable it after the group has been constructed. This feature relies on the new config section available to MVC groups. Here's how this feature can be specified

Skip Firing MVC New Instance Events

Applications will fire an event named NewInstance whenever an artifact gets instantiated, this results in 3 events per MVC group in the typical case. This is great for letting other parts of the application know that there's a new artifact instance that can be processed by dependency injection for example. But, the runtime also pays the penalty for notifying listeners that may not handle the event. Skipping these events may lead to better performance. This feature relies on the new config section available to MVC groups. Here's how this feature can be specified

Resource Location Abstraction

There's a new abstraction that deals with resource location: griffon.core.ResourceHandler. It defines the following contract

Applications, addons and artifacts have been retrofitted with this interface; it's recommended that you use these facilities instead of querying a classloader. Also, there's a new AST transformation that grafts these methods to any class: griffon.transform.ResourcesAware.

Breaking Changes

Runtime

Threading Methods Renamed

The names of the threading methods (execSync, execAsync, execOutside) can be confusing. they have been renamed to the following ones

in griffon.core.ThreadingHandler

in griffon.core.GriffonApplication

in griffon.util.EventPublisher

in org.codehaus.griffon.runtime.core.EventRouter

The old method names are still available and have been marked as deprecated. They will be removed when Griffon 1.0 is released.

Sample Applications

Griffon 0.9.5-rc2 ships with 5 sample applications of varying levels of complexity demonstrating various parts of the framework. In order of complexity they are:

File Viewer

File Viewer is a simple demonstration of creating new MVCGroups on the fly.

Source: samples/FileViewer

To run the sample from source, change into the source directory and run griffon run-app from the command prompt.

GroovyEdit

GroovyEdit is an improved version of FileViewer that uses custom observable models.

Source: samples/GroovyEdit

To run the sample from source, change into the source directory and run griffon run-app from the command prompt.

Font Picker

Font Picker demonstrates form based data binding to adjust the sample rendering of system fonts.

Source: samples/FontPicker

To run the sample from source, change into the source directory and run griffon run-app from the command prompt.

Greet

Greet, a full featured Griffon Application, is a Twitter client. It shows Joint Java/Groovy compilation, richer MVCGroup interactions, and network service based data delivery.

Source: samples/Greet

To run the sample from source, change into the source directory and run griffon run-webstart from the command prompt. Because Greet uses JNLP APIs for browser integration using run-app will prevent web links from working.

SwingPad

SwingPad, a full featured Griffon Application, is a scripting console for rendering Groovy SwingBuilder views.

Source: samples/SwingPad

To run the sample from source, change into the source directory and run griffon run-app from the command prompt.

0.9.5-rc2 Release Notes

Loading
Type Key Summary Assignee Reporter Priority Status Resolution Created Updated Due
Bug GRIFFON-470 MissingMethodException when running with an addon that provides MVC groups Andres Almiray Andres Almiray Critical Closed Fixed Mar 05, 2012 Apr 19, 2012
Improvement GRIFFON-395 Destroying an MVC group should remove all of its members from application/custom event buses Andres Almiray Andres Almiray Major Closed Fixed Aug 03, 2011 Apr 19, 2012
Bug GRIFFON-455 CLI dependencies provided by plugins are not added to the build Andres Almiray Andres Almiray Major Closed Fixed Feb 15, 2012 Apr 19, 2012
Improvement GRIFFON-456 Enabled offline mode for dependecy resolution Andres Almiray Andres Almiray Major Closed Fixed Feb 17, 2012 Apr 19, 2012
Bug GRIFFON-457 Guide files are included twice in the binary packages Andres Almiray Andres Almiray Major Closed Fixed Feb 17, 2012 Apr 19, 2012
Bug GRIFFON-458 No /usr/bin/griffonsh in debian package Andres Almiray Tobias Schulte Major Closed Fixed Feb 18, 2012 Apr 19, 2012
Bug GRIFFON-459 Old Plugin is not removed from plugins folder on upgrade Andres Almiray Tobias Schulte Major Closed Fixed Feb 18, 2012 Apr 19, 2012
Bug GRIFFON-460 Griffonsh does not work on Windows Andres Almiray Tobias Schulte Major Closed Fixed Feb 21, 2012 Apr 19, 2012
Improvement GRIFFON-463 Disable the event bus for a time Andres Almiray Andres Almiray Major Closed Fixed Feb 22, 2012 Apr 19, 2012
Improvement GRIFFON-464 Rename threading methods to spell out which thread they affect Andres Almiray Andres Almiray Major Closed Fixed Feb 22, 2012 Apr 19, 2012
Improvement GRIFFON-465 Add a shortcut to artifacts and application to load resourdes from the classpath Andres Almiray Andres Almiray Major Closed Fixed Feb 24, 2012 Apr 19, 2012
Improvement GRIFFON-466 Skip firing events when creating an MVC group instance Andres Almiray Andres Almiray Major Closed Fixed Feb 24, 2012 Apr 19, 2012
Improvement GRIFFON-467 Skip registering controllers as application event listeners Andres Almiray Andres Almiray Major Closed Fixed Feb 24, 2012 Apr 19, 2012
Bug GRIFFON-468 Move GDSL and DSLD out of core and into Swing plugin Andres Almiray Andres Almiray Major Closed Fixed Feb 24, 2012 Apr 19, 2012
Bug GRIFFON-469 _GriffonPackage.groovy JNLP webstart file JVM argument updated necessary to avoid Perm Gen space issues Andres Almiray Bisrat Dinka Major Closed Fixed Feb 28, 2012 Apr 19, 2012
Bug GRIFFON-454 Quartz plugin won't install unless Spring plugin is installed first Andres Almiray Edo Minor Closed Fixed Feb 15, 2012 Apr 19, 2012
Bug GRIFFON-462 Version strings in BuildConfig.groovy no longer are automatically updated Andres Almiray Edo Minor Closed Fixed Feb 21, 2012 Apr 19, 2012

  • No labels