Ammentos is a lightweight persistence framework for JDK 5. It does not require any installation nor configuration; just put a jar file into your classpath and start writing code. It is designed so that your persistence code will be dramatically short and so that you won't have to spend a lot of time to learn how to use it. It is about 72Kb large and it does not require any external library except for your database JDBC driver. You can use it in desktop applications or in server-based environments.
XMLImportDB provides an easy-to-use interface that allows developers to create a baseline database environment that can be embedded in their source code for use in jUnit test cases. The database environment can be described in a separate file in the same package as the tests, in a hard coded string in the test case classes, or in any other location for which a java.io.Reader can be created at runtime.
Drools is a Rete-based rules engine written in Java, but able to run on Java and .Net. it is designed to allow pluggeable language implementations. Currently, rules can be written in Java, Python, and Groovy. It also enables domain-specific languages (DSLs) via XML using a schema defined for your problem domain. DSLs consist of XML elements and attributes that represent the problem domain. An XML authoring tool provides a semi-rapid development environment with a drag and drop type interface based on the provided schema.
Juxy is a Java unit testing library for XSLT. It allows you to write JUnit tests for XSLT stylesheets. You can easily setup transformation context (parameters, variables, current node) and then invoke the transformation. There are corresponding methods to call or to apply individual templates and you can even pass parameters to these templates, or apply templates in different modes. Result of the transformation can be verified in a number of ways; you can evaluate an XPath expression or you can perform canonical XML comparison. It works with any XSLT processor that supports the TRaX API.
The Kitikat Java Framework is a powerful but simple Datastore processing framework. A Datastore represents an in-memory copy of data. A program may retrieve the data from a data source, such as a relational database, manipulate the data, and then propagate the updates of the data back to the original data source or to a different data source. Once the data is retrieved, it is a disconnected, data source independent version of the data. A change history of the data is maintained to provide dynamic updates to a data source, and there are several levels of concurrency control provided for multi-user environments.