Architecture Rules is a Java library that allows a programmer to assert code's architecture via unit tests or ant tasks. This test is able to assert that specific packages do not depend on others and is able to check for and report on cyclic dependencies among your project's packages and classes. This project wraps a industry accepted JDepend to simplify the process of maintaining a solid software architecture.
Studs MVC Framework+ contains a port of Apache's Jakarta Struts to PHP, though the libraries included in the rest of the project are much more vast. In order to implement the Struts port, it was necessary to build a core, object-oriented API in the style of the JDK and the Jakarta Commons, a servlet container to handle HTTP requests and to invoke servlet classes, and finally, a parsing engine for JSP-style template pages. In the end, the result is an environment which is very similar to that provided by a J2EE Web Container, only everything is implemented in PHP. While it was possible to carry over many of the concepts, designs and mechanisms from J2EE, some limitations do exist due to the nature of the PHP programming language, such as the lack of checked exceptions (runtime only).
AppFuse is an application for "kickstarting" Web application development. It allows you to execute a single ant task to create a skeleton application based on Struts, Spring, and Hibernate running on Tomcat and MySQL. It uses Ant, XDoclet, Spring, Hibernate (or iBATIS), JUnit, jMock, StrutsTestCase, Canoo's WebTest, Struts Menu, Display Tag Library, OSCache, JSTL, and Struts. (Spring MVC, WebWork, Tapestry and JSF are also options.)
Wicket Web Beans (WWB) is an Apache Wicket component toolkit for displaying and editing POJOs that conform to the JavaBeans specification. Web pages are automatically generated based on bean properties and certain conventions. If necessary, the layout, editability, and actions of these pages can be customized on an exception basis. In other words, the toolkit normally does what you'd expect, but when it doesn't, you can override its behavior.
GreenMail is a suite of email servers for testing purposes and sandbox development. It supports SMTP, POP3, and IMAP (including SSL) and can be embedded into any Java application or unit test. The GreenMail Service (SAR) extension runs as a JBoss embedded developer mail server sandbox, manageable via JMX.
IT Mill Toolkit is a server-side RIA (Rich Internet Application) library that provides a versatile set of AJAX widgets for Java programmers. Applications are programmed in Java and executed server-side. At the client-side (i.e. in the browser), enhanced GWT widgets are used for presentation.
Sculptor is a productivity tool that applies the concepts from Domain-Driven Design and Domain Specific Languages. You express your design intent in a textual specification, from which Sculptor generates high quality Java code and configuration. You can use the concepts from Domain-Driven Design (DDD) in the textual Domain Specific Language (DSL), e.g. Service, Module, Entity, Value Object, Repository. The generated code is based on well-known frameworks such as Spring Framework, Spring Web Flow, JSF, RCP, Hibernate, and Java EE. Sculptor takes care of the technical details and the tedious repetitive work, and lets you focus on delivering more business value (and have more fun). The DSL and the code generation drives the development and is not a one time shot. The application can be developed incrementally with an efficient round trip loop. Sculptor is useful when developing typical enterprise or Web applications that benefit from a rich and persistent domain model. It provides a sophisticated CRUD GUI for administrative sections of the application or to serve as scaffolding for your manually created pages.
Reverspring is a Java library that allows you to create Spring IoC XML files from POJO at runtime. CoI stands for Control of Inversion: Reverspring just inverts the inversion of control mechanism of Spring Framework, allowing you to (re)write Spring descriptors starting from your Java objects. With Reverspring, you can write process descriptors on XML files without reinventing a new DTD or XML schema, but just using the well known Spring IoC syntax.
Dozer is a powerful, yet simple Java Bean to Java Bean mapper that recursively copies data from one object to another. Typically, these Java Beans will be of different complex types. Dozer supports simple property mapping, complex type mapping, bi-directional mapping, implicit-explicit mapping, as well as recursive mapping. This includes mapping collection attributes that also need mapping at the element level. It not only supports mapping between attribute names, but also conversion between types. Many conversion scenarios are supported out of the box, but custom conversions can be specified via XML.