Mockito is a mocking framework that tastes really well. It lets you write beautiful tests with clean & simple API. Mockito doesn't give you hangover because the tests are very readable and they produce clean verification errors. Read more about features & motivations.
Writing unit tests can be hard and sometimes good design has to be sacrificed for the sole purpose of testability. Often testability corresponds to good design, but this is not always the case. For example final classes and methods cannot be used, private methods sometimes need to be protected or unnecessarily moved to a collaborator, static methods should be avoided completely and so on simply because of the limitations of existing frameworks.
PowerMock is a framework that extend other mock libraries such as EasyMock with more powerful capabilities. PowerMock uses a custom classloader and bytecode manipulation to enable mocking of static methods, constructors, final classes and methods, private methods, removal of static initializers and more. By using a custom classloader no changes need to be done to the IDE or continuous integration servers which simplifies adoption. Developers familiar with EasyMock will find PowerMock easy to use, since the entire expectation API is the same, both for static methods and constructors. PowerMock extends the EasyMock API with a small number of methods and annotations to enable the extra features. From version 1.1 PowerMock also has basic support for Mockito.
When writing unit tests it is often useful to bypass encapsulation and therefore PowerMock includes several features that simplifies reflection specifically useful for testing. This allows easy access to internal state, but also simplifies partial and private mocking.
Overview
jPod Renderer is is the long awaited rendering implementation for AWT and SWT.
Based on the successful jPod library, this one adds a platform abstraction which allows for
* pluggable PDF image conversion from and to AWT and SWT
* pluggable PDF font handling
* platform independent PDF rendering with adapterf for AWT and SWT
This library is commercial strength and used in products like
* CABAReT Stage (free for personal use)
* Sign Live!
* PDF/A Live!
JOpt Simple is a Java library for parsing command line options, such as those you might pass to an invocation of javac .
As closely as possible, JOpt Simple attempts to honor the command line option syntaxes of POSIX getopt() and GNU getopt_long() .
The JIT is an advanced JavaScript infovis toolkit based on 5 papers about different information visualization techniques.
The JIT implements advanced features of information visualization like Treemaps (with the slice and dice and squarified methods), an adapted visualization of trees based on the Spacetree, a focus+context technique to plot Hyperbolic Trees, and a radial layout of trees with advanced animations (RGraph).
Welcome to the newly open sourced SHOP.COM Cache System: sccache
What is it?
The SHOP.COM Cache System is an object cache system that...
* is an in-process cache and external, shared Cache
* is horizontally scalable
* stores cached objects to disk
* supports associative keys
* is non-transactional
* can have any size key and any size data
* does auto-GC based on TTL
* is container and platform neutral
p-unit
An open source framework for unit test and performance benchmark, which was initiated by Andrew Zhang, under Apache License v2.0. p-unit supports to run the same tests with single thread or multi-threads, tracks memory and time consumption, and generates the result in the form of plain text, image or pdf file.
Java SwingBuilder is an implementation of a Java Builder geared towards building UI interfaces using Java Swing.
Details
The main class is org.javabuilders.swing.SwingBuilder. It loads the object definition from a YAML file that is in the same package and has the same base name as the calling Java class. So, if you're building org.test.MyFrame.java it will look for org.test.MyFrame.yaml for the object build file (similar to the convention the Apache Wicket web framework uses).
For application development we use spring and hibernate. For rapid application development there are many pitfalls around. Our mission is to provide a framework that handles all default settings and allows us to quickly start with the development tasks our customers are interested in. So the framework tries to support you by:
* Providing a maven based development environment which uses a proven dependency configuration for fast composition of a working base setup.
* Several utilities were needed during application development extending functions from other utility libraries, e.g. Apache commons.
* Providing a module concept for easy setup and extension of a base application
* Providing reusable and extendable components for common tasks such as application setup, user management, security, history and reporting.
* Providing a base UI implementation based on JSF/MyFaces/MyFaces Trinidad
Where to start
For starting have a look at the quick start tutorial. Within this tutorial a small database application is developed using the most important features provided by the framework.
This project contains custom Hibernate and JRuby extensions to let Hibernate work directly with org.jruby.RubyObject objects. That means that the Hibernate session accepts and returns plain old Ruby objects (no intermediary Java domain classes are needed). Another goal is to provide a Rubyish interface to the Hibernate configuration and functionality.
The idea to start this project comes from Ola Bini's blog http://ola-bini.blogspot.com/2007/04/activehibernate-any-takers.html. For more details please see http://rubymatic.blogspot.com.
Scannotation is a Java library that creates an annotation database from a set of .class files. This database is really just a set of maps that index what annotations are used and what classes are using them. Why do you need this? What if you are an annotation framework like an EJB 3.0 container and you want to automatically scan your classpath for EJB annotations so that you know what to deploy? Scannotation gives you apis that allow you to find archives in your classpath or WAR (web application) that you want to scan, then automatically scans them without loading each and every class within those archives
There are really 3 main classes to Scannotation: ClasspathUrlFinder, WarUrlFinder, and AnnotationDB. The first step in scanning for annotations is declaring what archives or what parts of your classpath you want to scan in. ClasspathUrlFinder has various ways to automatically find the URLs that make up your classpath. WarUrlFinder is similar but provides ways to get things from your WAR lib directory.
Once you find the URLs that make up your classpath, you feed them to AnnotationDB to scan and index. Its best to read the javadocs
Hannibal is a code generator that can generate scaffolding for web projects in different languages, including Java, PHP, SQL, and JavaScript. The code it generates follows Restful considerations.
nexusBPM is an open-source enhancement of JBoss's jBPM product suite. We have added many features to both the editor and the engine.
nexusBPM provides en enhanced editor experience with a variety of preconfigured nodes such as FTP, SQL, Excel and others. All nexusBPM nodes can participate in dataflow which is very easy to use. Using dataflow means that information created by one node can be used by another for processing, formatting, output or decision making. The nexusBPM editor can even communicate with the nexusBPM server andsupports drag and drop upload and download capabilities as well as remote run commands.
nexusBPM provides an enhanced engine with support for scheduling flows using quartz, executing nexusBPM nodes using message driven beans and custom commands.
Elastica is a highly efficient and extensible, rules-based load-balancer for JBoss that adds dynamic behavior to EJB load balancing. Rules can be defined to redirect EJB requests according to request data, server performance data, or even the time of day
Monkeybars is a library enabling you to write GUI applications using JRuby and Swing. You can build your GUI in any editor so that you can have an application that is designed using modern tools but has all the logic contained within Ruby.
Parallel4 is a easy-to-use multi-threading API for Java an other JVM based languages like Groovy. It offers parallel versions of the "for" and "foreach" loops to leverage the full power of todays multi-core CPUs.
Parallel4's goals are:
* Simple API: Hide as many details of multi-threaded programming as possible from the API. Although it does not offer transparent/implicit multi-threading in a strict sense, it tries to come as close to this as a non-functional programming language allows.
* Familiar API: Offer well known constructs, e.g. the "for" loop and add parallelism to it.
* Easy adaptation of parallel programming: Based on a familiar API, it is easy to introduce multi-threading. Often, two additional lines of code are enough without imposing any structural changes.
* Adaptive: Let the "framework" make reasonable defaults to adapt to the execution environment, e.g. use as many threads as CPU cores are available.
* Performance: A low overhead makes it easy to decide whether to use parallel processing or not.
* Reliable: Multi-threading gets tricky when things go wrong unexpectedly. A well defined exception handling makes this a bit easier.
Joda-Time provides a complete quality alternative to the JDK date and time classes. At some point however, many projects need to persist these classes to a database. One popular tool for achieving this is Hibernate.
To ease the integration of Joda-Time and Hibernate, this sub-project was setup. It aims to provide the classes necessary to persist Joda-Time objects.