Last updated March 21, 2010 17:17, by Fabrizio Giudici

OpenBlueSky

OpenBlueSky is a set of components for the NetBeans Platform.

Different modules in OpenBlueSky are available at different stability stages, as described in the table below. Please be aware that at the moment 'stable' doesn't mean that the API won't be changed. If you are willing to use OpenBlueSky in your application, please subscribe to the appropriate mailing list and let us hear from you. As people starts to use any artifact, the process for finalizing its API will be speeded up.

OpenBlueSky is part of the effort for making easier to reuse components for NetBeans Platform applications. This is a time-expensive task, and many things can fail. If you are interested in OpenBlueSky and yet you find that you can't use it, please let us know why.

OpenBlueSky is not competitive with PlatformX - another project for enhancing the NetBeans Platform, as it provides different and complementary features (in any case, nothing prevents specific components with the broader reusability from finding their way to PlatformX).

Please refer to the module's JavaDoc (where available) for further information.

All OpenBlueSky components require Java 6 and NetBeans Platform 6.8 or later.

Component ArtifactId (*) Status (**) Description
Action Enhancements i-t-n-actions draft Contains some facilities for working with context-sensitive actions. Some similar classes are part of an experimental NetBeans API, so part of this code could be dropped.
Capabilities Provider i-t-n-capabilitiesprovider stable Provides a few classes for the Injectable Lookup Factory idiom.
Drag and Drop i-t-n-draganddrop draft Provides a few classes for implementing pluggable and extensible drag and drop.
Docking i-t-n-docking no API Provides a couple of actions for docking side components on either side.
Explorer Enhancements i-t-n-explorer draft Provides many facilities classes for rendering Nodes, including roles for the Pluggable Top Component idiom.
FileSystem Sync i-t-n-filesystem-sync incomplete Provides a facility for keeping two filesystems in sync.
Hierarchy i-t-hierarchy draft Provides a facility for creating hierarchical views of object (Hierarchy API).
Hierarchy: Simple i-t-hierarchy-spi-simple draft Provides a simple reference implementation for the Hierarchy API.
Hierarchy Node i-t-hierarchy-node draft Provides Node capabilities for the Hierarchy API.
Hierarchy Explorer i-t-hierarchy-explorer draft Provides a universal visual explorer for the Hierarchy API.
JPA for the NetBeans Platform i-t-n-jpa stable Provides a patched JPA 1.0 implementation which allows to provide multiple persistence.xml files (typically one per NetBeans Platform module) - they are logically merged together.
License Panel i-t-n-licensepanel stable Provides a simple license acceptance panel that pops up at the application startup.
Logger Configuration i-t-n-loggerconfiguration draft Provides a facility for configuring the debugging and production logger configuration.
Nodes Enhancements i-t-n-nodes stable Provides some commonly used utilities for Nodes, as well as roles for the Pluggable Top Component idiom.
Persistence i-t-n-persistence draft tbd
Persistence Provider i-t-n-persistence-impl draft tbd
Persistence SPI i-t-n-persistence-spi draft tbd
Persistence Maintenance i-t-n-persistence-maintenance draft tbd
Roles i-t-n-role stable Provides some basic roles and utilities for the Pluggable Top Component idiom.
Swing Enhancements i-t-n-swing draft Provides a number of Swing components.
Test Utilities i-t-n-util-test draft Provides a few miscellaneous utilities for testing, such as MockLookup, an utility for comparing files and so on.
Utilities i-t-n-util draft Provides some generic utilities, including support for the as(...) idiom and a generic Finder.
Visual Library Enhancements i-t-n-visual draft Provides some enhancements for the Visual Library, such as the LayeredSceneView and NodeScene.
Windows Enhancements i-t-n-windows stable Provides the EnhancedTopComponent (the basic class for the Pluggable Top Component idiom) and an enhanced WindowManager with more operations.
Workspace Manager i-t-n-workspacemanager draft Provides the abstraction for the concept of workspace, a working directory for a desktop application.
Workspace Manager Provider i-t-n-workspacemanager-impl draft Provides a default implementation for Workspace Manager.

(*) i-t stands for it-tidalwave; i-t-n stands for it-tidalwave-netbeans.

(**) Status can be:

  1. stable: it means that the API backward compatibility will be guaranteed in future release (unless different agreement announced on the mailing lists). Backward compatibility is enforced with Clirr.
  2. draft: it means that the API is not stable yet and there could be minor backward-incompatible changes in future releases.
  3. experimental: it means that the API is not guaranteed to stay here in future.

The status is also given for each class in the JavaDocs.

Using OpenBlueSky components


OpenBlueSky artifacts are available in a Maven repository. To use them in your NetBeans Platform Maven application, just add this configuration fragment in the master POM:

 
 <repositories>
        <repository>
            <id>releases-oss.sonatype.org</id>
            <name>Sonatype Release Repository</name>
            <url>http://oss.sonatype.org/content/repositories/releases/</url>
            <snapshots>
                <enabled>false</enabled>
            </snapshots>
        </repository>
        <repository>
            <id>snapshots-oss.sonatype.org</id>
            <name>Sonatype Snapshots Repository</name>
            <url>http://oss.sonatype.org/content/repositories/snapshots/</url>
            <releases>
                <enabled>false</enabled>
            </releases>
            <snapshots>
                <enabled>true</enabled>
            </snapshots>
        </repository>

     ...
 </repositories>

We suggest you use the dependency management section to declare the required version of the artifacts to import:

 
<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>it.tidalwave.netbeans</groupId>
            <artifactId>openbluesky</artifactId>
            <version>0.4.13</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
        ...
    </dependencies>
</dependencyManagement>

and then you declare the single dependencies you need:

 
<dependencies>
    <dependency>
        <groupId>it-tidalwave-netbeans</groupId>
        <artifactId>it-tidalwave-netbeans-util</artifactId>
    </dependency>
    <dependency>
        <groupId>it-tidalwave-netbeans</groupId>
        <artifactId>it-tidalwave-netbeans-visual</artifactId>
    </dependency>
    ...
</dependencies>

In this way you are sure that all the imported artifacts have got coherent versions; furthermore your POM is much shorter than declaring a dependency management item for each imported artifact.

A screencast that demonstrates, among other things, the use of a few OpenBlueSky components in a Maven-based NetBeans Platform project is available at DZone.com

It is possible to use the OpenBlueSky artifacts also in an Ant-based application. Just download the required .nbm files and manually create a custom platform to base your application on (TBD: provide instructions).

Artifacts are also available as simple JAR files for use within a JSE application.

Documentation


JavaDocs for version 0.4.12 are available here.

  • Mysql
  • Glassfish
  • Jruby
  • Rails
  • Nblogo
Terms of Use; Privacy Policy;
© 2010, Oracle Corporation and/or its affiliates
(revision 20100312.9442df5)
 
 
loading
Please Confirm