Jetspeed-2 is a full implementation of the Java Portlet API. It is fully compliant with the Portlet Specification 1.0 (JSR-168). It has passed the TCK (Test Compatibility Kit) suite and is fully CERTIFIED to the Java Portlet Standard. Notable features include security components backed by LDAP and database implementations, and some robust administration interfaces. Custom portals can be built and deployed using the Jetspeed plugin for Maven. Developers can use the Jetspeed PSML language to assemble portlets, and the Apache Portals Bridges project to 'bridge' portals with existing technologies including Struts, JSF, PHP, and Perl. For GUI designers, Jetspeed comes with several built-in templates used to decorate portals and portlets.
Poor Man's Imaging Wrapper a clean and simple API wrapper over JAI, Java2D, ImageIO, and AWT. It supports a set of imaging operations (read, write, scale/resize, crop, grayscale, add transparency, rotate, add border, flip/mirror, add text, overlay, blur, sharpen, etc.) with simple direct calls to the API. If you want to switch from Java2D to JAI, all you need to do is add JAI jars to the classpath. It supports GIF encoding if PJA tools jars are available in the classpath.
visural-wicket is a useful set of light-weight, loosely coupled components and utilities for the Apache Wicket Web framework. Each component is designed to be easily integrated into any existing Wicket application with minimal dependencies. Each component is also designed to be easily customized to fit a particular system's requirements. Other than components, visural-wicket includes some other utilities that assist in the development of Wicket applications, such as an annotation-based mounting system, model templates, and an automatic "form view mode" component.
The OGSA-DAI Trigger component provides a mechanism to notify an OGSA-DAI server when a table in an SQL database has had its rows modified. It then executes a stored OGSA-DAI workflow to perform an action based on the notification. The trigger also provides the old and new values for the modified row which allows specific actions to be taken based on the exact database changes. These actions can use the full range of access, transformation, and delivery functionality available in OGSA-DAI.