Open Source Software in Java
SweetDEV RIA is a complete set of world-class Ajax tags in Java/J2EE. It helps you to design Rich GUI in a thin client. SweetDEV RIA provides you Out-Of-The-Box Ajax components. Continue to develop your application with frameworks like Struts. SweetDEV RIA tags can be easily plugged into your JSP pages. The wonderful and unique approach of SweetDEV RIA allows enterprises to move forward to the Ajax world, without having to choose “blackbox” solution or to trash all of their existing frameworks.
The Azuki Framework is a java application framework delivered under LGPL license, designed to reduce the development, deployment and maintenance costs of software systems. It provides a rapid application assembly from known components in order to build large systems. Thus, the software conception is split into two main stages:
- Independent component creation (technical & business service).
- Application assembly (The weaving : Definition of component dependencies)
The latter is performed with a graphical tool named “the weaver”.
By representing component interactions using different perspectives, the weaver provides a straightforward way to analyze an application’s architecture, allowing deep and easy customization of its behavior.
Components in the framework are called Azuki bean or bean for short. Creating a bean in the Azuki Framework is as simple as creating a short XML description file that declare a POJO. The main advantage of the Azuki bean design is that each bean is independent and has no dependency with others beans. Each bean is delivered within a single jar file archive where all the necessary code is encapsulated, this allowing the bean to be instantly plugged into the framework.
Communication between beans is achieved using concurrent use of different programing techniques: AOP (Aspect-Oriented Programming), Dependency Injection, EBP (Event-Based Processing) and Contextual Programing.
Jasmin is an assembler for the Java Virtual Machine. It takes ASCII descriptions of Java classes, written in a simple assembler-like syntax using the Java Virtual Machine instruction set. It converts them into binary Java class files, suitable for loading by a Java runtime system.
Jasmin was originally created as a companion to the book “Java Virtual Machine”, written by Jon Meyer and Troy Downing and published by O’Reilly Associates. Since then, it has become the de-facto standard assembly format for Java. It is used in dozens of compiler classes throughout the world, and has been ported and cloned multiple times. For better or worse, Jasmin remains the oldest and the original Java assembler.
beanSpec is a java based solution for Behaviour Driven Development, specifiying, checking and summarizing the behaviour of a component in a declarative, narrative style.
In dicussions about how best to design tag libraries, issues of performance sometimes arise. The simple ‘benchmark’ tag library should aid in the performance testing of other taglibs and JSP pages in general. This library isn’t a full-featured benchmarking package. It’s just a simple way to get rough data if you want to sketch the relative performance of tags, tag combinations, or arbitrary JSP fragments.
MapleBlog is a simple MVC Struts 1.1-based Web log that uses Hibernate as its model layer and Tiles/JSP for its View.
Rant stands for Remote Ant. It is a distributed build system that allows an Ant build file to launch builds on other systems and receive exceptions should they occur.
OpenI is a simple web application that does out-of-box OLAP reporting. Its a J2EE web application to build and publish interactive reports from OLAP data sources. It uses JPivot, Mondrian, R Project, JFreeChart and JasperReports
The class file API simplifies creation of Java class files. Instead of having to write byte-code, the Class File API allows you to call high-level methods which generate the byte-code for you. Development of the Trove class file API has ceased. Continued development is under the Cojen project.
Shoal is a java based scalable dynamic clustering framework that provides infrastructure to build fault tolerance, reliability and availability.
The framework can be plugged into any product needing clustering and related distributed systems capabilities without tightly binding to a specific communications infrastructure.
jCharts is a 100% Java based charting utility that outputs a variety of charts. This package has been designed from the ground up by volunteers for displaying charts via Servlets, JSP’s, and Swing apps.
OpenCHAT is a 100% HTTP and HTML based chat server written in Java. It has it?s own stand alone HTTP server integrated and does not need any Applet or special software on client side to run on, but only a frames enabled web browser.
OpenRDS is a Java clustering framework conceived for making requisition-based distributed systems easy to develop and manage.
It has been designed for extreme simplicity on client code, allowing an application to run a “hello world” with just 2 lines of code.
Embedding OpenRDS into an existing application is as simple as wrapping the code that needs to be clustered in a “Requisition” class (somewhat similar to a “Runnable” class) and calling “mainNode.processRequisition(new MyRequisition())”.
UCDetector (Unecessary Code Detector) is a Open Source eclipse PlugIn Tool to find unecessary (dead) java code. It also tries to make code final, protected or private. UCDetector also finds cyclic dependencies between classes.
Java2Html converts Java (and other) source code (complete files or snippets) to HTML, RTF, TeX and XHTML with syntax highlighting. This open source Java project consists of an extendible library along with a Java application, a Java applet and many plugins in order to integrate the library into other programs.
CodeCover is an extensible code coverage tool. It has support for Java and COBOL, supports statement coverage, branch coverage, loop coverage, and MC/DC, and performs source instrumentation for the most accurate coverage measurement. It has a CLI interface for easy use from the command line, an Ant interface for easy integration into an existing build process, and is fully integrated into Eclipse. It has customizable HTML and CSV reports, per test case coverage measurement, full integration with JUnit for automatic recognition of test cases, live notification for manual test case recognition, a boolean analyzer that helps to find test cases to increase MC/DC, and a correlation matrix to find redundant test cases and optimize your test suite.
JMAC is a Java implementation of the Monkey’s Audio decoder/encoder/JavaSound SPI.
Commons-Collections seek to build upon the JDK classes by providing new interfaces,
implementations and utilities.
There are many features, including:
- Bag interface for collections that have a number of copies of each object
- Buffer interface for collections that have a well defined removal order, like FIFOs
- BidiMap interface for maps that can be looked up from value to key as well and key to value
- MapIterator interface to provide simple and quick iteration over maps
- Type checking decorators to ensure that only instances of a certain type can be added
- Transforming decorators that alter each object as it is added to the collection
- Composite collections that make multiple collections look like one
- Ordered maps and sets that retain the order elements are added in, including an LRU based map
- Identity map that compares objects based on their identity (==) instead of the equals method
- Reference map that allows keys and/or values to be garbage collected under close control
- Many comparator implementations
- Many iterator implementations
- Adapter classes from array and enumerations to collections
- Utilities to test or create typical set-theory properties of collections such as union, intersection, and closure
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().
Daisy is a comprehensive content management application framework, consisting of a standalone repository server accessible through HTTP/XML and/or a high-level (remote) Java API, and an extensive browsing and editing DaisyWiki application running inside Apache Cocoon. Daisy is licensed under the commercially-friendly Apache License 2.0.
LuntBuild is a powerful build automation and management tool. Continuous integration or daily build can be easily setup through a clean web interface. Generated builds are well managed through functions such as search, categorization, promotion, patching, deletion, etc. It also acts as a central build artifacts download area for your whole team.
SmartPool is a connection-pooling component modeled on pooling features provided by Application Server. SmartPool makes an attempt to solve critical issues like connection leaks, connection blocking, open JDBC objects like Statements, PreparedStatements etc. Features of SmartPool include support for multiple pools, automatic closing of associated JDBC objects, detect connection leaks based on configurable time-outs, track connection usage, forced recovery of least recently used connections, wrap SmartPool to an existing pool, monitor runtime status of the pools apart from conventional pooling support.
Mckoi SQL Database is optimized to run as a client/server database server for multiple clients, however it can also be embedded in an application as a stand-alone database. It is highly multi-threaded and features an extendable object-oriented engine.
Jdec is a java decompiler which is written using java and swing. It can be used to reverse the bytecodes present in a .class File to produce a Java Source File which can be nearly correct or equivalent (Due To different Interpretations) to the original java file. It also has a good UI. It can decompiler entire jar also. Features:
- Decompiling a java class
- Decompiling a jar file
- Selective Decompilation of a class file
- Decompiling 2 Versions
- Disassembling a java class
- Local variable information
- Exception Table Information
- Constant Pool Details
- Sketelon Display of Class File
Gravity is a dependency and configuration management framework that allows multiple forms of configuration via a plugin model with a primary focus on the Dependency Injection / Inversion of Control (IoC) design pattern. The framework comes with a default BeanShell plugin for configuring the components.
jContractor is a 100% pure Java implementation of Design By Contract for the Java language. Contracts are written as methods that follow a simple naming convention. jContractor provides runtime contract checking by instrumenting the bytecode of classes that define contracts. jContractor can either add contract checking code to class files to be executed later, or it can instrument classes at runtime as they are loaded. All contracts are written in standard Java, so there is no need to learn a special contract specification language. jContractor is purely library based, requires no preprocessing or modifications to the JVM.
JBoss is advanced middleware with a full J2EE based personality that IT departments look for. But that is not all, the OEM and ISV community embraced JBoss as a highly flexible service oriented architecture on which to build their own products.
Cream is designed to meet the unique demands publishers have, including features that allow subscription management, support for multiple products (print subscriptions, advertising, online subscriptions, books, etc.), customer communications (both incoming and outgoing), and easy-to-use reporting and analytical functions. Cream also enables publishers to track special offers, such as seasonal discounts and trade shows. With Cream, media organizations can put their business data to work, increasing sales and customer satisfaction. It allows employees to have up-to-date information throughout the sales cycle, and lets managers have greater insight into sales patterns.
X-Ray is an open-source software visualization plug-in for the Eclipse framework. Software designers use visualization tools in order to raise the level of abstraction and reduce the amount of information to the one needed. Most of these tools are stand-alone programs, that force the user to switch between different windows and contexts. This context switch represents a problem, being time consuming and forcing the user to download, install and use, tools or systems external to his favorite code editor. X-Ray provides System Complexity View, Class Dependency View and Package Dependency View directly inside Eclipse.
Jitterbit is an open source integration tool that delivers a quick and simple way to design, configure, test, and deploy integration solutions. It supports many document types and protocols: XML, web services, database, LDAP, text, FTP, HTTP and HTTPS, file.
JEval is an advanced library for adding high-performance, mathematical, Boolean and functional expression parsing and evaluation to your Java applications. Features include: parses and evaluates dynamic and static expressions at run time, supports all major mathematical and Boolean operators, supports custom functions, 39 Math and String functions built in and ready to use, supports nested functions, supports variables, allows for custom variable resolver, no dependencies to other non-standard Java libraries, compatible with J2SE 1.2 and above.
GFP (Personal Finance Manager) is a software that aids on personal finances administration offering a variety of reports, charts and filtering data on screen where is possible to obtain important information for your financial health.
JavaSWF2 – A Java Toolkit for Adobe (Macromedia) Flash™ Parsing and Generation.
JavaSWF2 is a set of Java packages that enable the parsing, manipulation and generation of the Macromedia Flash™ file format known as SWF (“swiff”).
mvnForum is an open source, powerful, easy to use, easy to setup bulletin board (forum) built on the Java J2EE technology (Jsp/Servlet). mvnForum is compatible with any Servlet Containers which supports Jsp 1.2 and Servlet 2.3.
ogre4j is a project that enables the use of the OGRE (Object-Oriented Graphics Rendering Engine) library through JNI in Java applications.
Libraries for common tasks such as CSV, Base64, Circular Buffers, MD5, and Significant Figures.
Genetic Programming (JGProg) is an open-source pure Java implementation of a strongly-typed Genetic Programming experimentation platform.
GeoNetwork opensource is a standardized and decentralized spatial information management environment, designed to enable access to geo-referenced databases, cartographic products and related metadata from a variety of sources, enhancing the spatial information exchange and sharing between organizations and their audience, using the capacities of the internet. This approach of geographic information management aims at facilitating a wide community of spatial information users to have easy and timely access to available spatial data and to existing thematic maps that might support informed decision making.
DataShare is network application for clients that wish to share data using a central server-> DataShare. DataShare is written in Java, and allows clients to share data (send and receive) without having to know anything about the other clients. It is envisioned that DataShare will be used in collaborative type environments. A client called Rendezvous is already written and available to use DataShare. Rendezvous allows multiple users to simultaneously collaborate using chat, paint, desktop sharing, and audio-video conferencing.
MozillaParser is a Java Html parser based on mozilla’s html parser. it acts as a bridge from java classes to Mozilla’s classes and outputs a java Document object from a raw ( and dirty) HTML input
The NetBeans IDE is a free, open-source Integrated Development Environment for software developers. It provides all the tools you need to create professional desktop, enterprise, web and mobile applications, in Java, C/C++ and even Ruby. The IDE runs on many platforms including Windows, Linux, Mac OS X and Solaris; it is easy to install and use straight out of the box.
Acegi Security is a powerful, flexible security solution for enterprise software, with a particular emphasis on applications that use Spring. Using Acegi Security provides your applications with comprehensive authentication, authorization, instance-based access control, channel security and human user detection capabilities.
AntInstaller is an installer framework which uses a simple XML file to define the UI, and Apache Ant as a back end. The installers can therefore do anything Ant can, and are compatible with Ant’s extension mechanism. Installers can be packaged as a selfextracting Jar and can run from the command line or a Swing GUI. AntInstall can also be used as a GUI front end for existing Ant builds.
JSO is the “Jabber® Stream Objects” library, for Java. JSO provides low-level support for Jabber/XMPP protocol elements, as well as a fully-controllable stream connection interface. The goal is to provide a highly customizable and flexible platform for building Jabber-based applications at all levels (clients, components, and servers).
- Support for most of the IETF standards XMPP-Core and XMPP-IM
- Designed for use with channel-based I/O (blocking and non-blocking) in J2SE 1.4
- Extensive use of the Java 2 Collections framework
- Simple, user-controlled operation of the Stream (single-threaded model)
- Separation of “routing” and “dispatching”, for flexible design considerations
- Specialized “stream” object model, with support for custom interfaces and implementations
- Flexible and extensible import/export options, with built-in support for importing/exporting XML-formatted strings and W3C DOM structures
- Complete support for XPath 1.0
ELIPS for ELectronic Issue Processing Software is a tool enabling the user to manage different kind of issues, ie :
- bug correction request
- task processing request
- enhancement request
- work processing request Elips is developped in Java and Jsp technologies, and runs up to now with Tomcat and MySQL/SqlServer/Oracle on Windows/Linux/MacOs X platforms. It is translated in several languages too like english, french, spanish, portuguese, and german. Elips is easy to install and configure. Its use is also very simple and intuitive. Enjoy with Elips!
This framework is based on the MVC architecture (model-view-controller), but in contrast with other MVC frameworks, most of its parts are highly reusable, meaning that your programming effort is minimized whenever possible, avoiding unnecessary programming. Many tasks are accomplished by simply configuring some XML files and templates. Presentation templates are completely separated from logic. Dinamica does not use any template language nor JSP pages technology, just plain text files with some special markers that will be replaced by the actual data.
Bottomline is a JDBC Bridge API that loads database drivers directly from JAR archives. Unlike JDBC, Bottomline uses custom class loaders to load database drivers. This gives an advantage to load multiple versions of the same database driver from different JAR files. Developers can build applications using conventional JDBC and transparently use Bottomline underneath. Bottomline also seamlessly integrates with applications servers like JBoss and can be bound in JNDI which allows connections to be pooled using the application server’s Connection Pooler.
Swing UI allows you to interactively use and monitor JMS providers.
The EJTools JMX Browser is a tool which allows to view and interact with the JMX space in a JMX compatible implementation. It provides the following features:
- remote connections via RMI/IIOP/others (Swing-based)
- local connection (Web-based)
- a hierarchical view of the domains and the mbeans
- access to the attributes, the operations and the notifications
- attribute plotting The EJTools JMX Browser comes in two flavors :
- A Swing-based application, that can be connect remotly to interact with the JMX server/implementation.
- A Web-based application, that can be run in any J2EE 1.3 Web stack. It provides an easy way interact with the JMX server.
RB Manager is a project to maintain multiple language support in a moderately large project. RB Manager offers the following features:
- RB Manager can edit multiple language files when appropriate.
- Entries are checked for proper format and assured not to be duplicates.
- RB Manager provides a better grouping of resources, so that individual translations are easy to find.
- Each language file will display in its own view a list of only resources that are untranslated.
- RB Manager keeps track of statistics such as number of resources, untranslated items, etc.
- RB Manager allows importing and exporting of translation data into multiple formats
- Use of the application cuts down on development, translation, and debugging time in any internationalized setting
A replacement for the system ClassLoader that instruments classes on load-time with tracing output statements.
An opensource & freesource complete simple mail client that focuses on security. All protocols have been reimplemented from scratch (Mime, POP, SMTP). With a statistical spam filter, international characters & keyboard. With global encryption for the mail data on the disk and support for optional external GnuPG.
JLayer is a JAVA™ library that decodes, converts and plays MP3 files in real-time. JLayer supports MPEG 1/2/2.5 Layer 1/2/3 audio format. JLayer doesn’t need JMF.
Mocquer is a similar mock tool as EasyMock. With the help of Dunamis Project, it extends the function of EasyMock to support mock object creation for both class and interface.
P2P-Radio is a program that can distribute audio and video streams (MP3/Ogg Vorbis/NSV) over the Internet in a peer-to-peer manner. It’s possible to create your own internet radio station with P2P-Radio!
P2P-Radio is programmed in Java and runs on Windows, Mac OS X, Linux and many other systems.
Joone is a FREE Neural Network framework to create, train and test artificial neural networks. The aim is to create a powerful environment both for enthusiastic and professional users, based on the newest Java technologies.
Joone is composed by a central engine that is the fulcrum of all applications that are developed with Joone. Joone’s neural networks can be built on a local machine, be trained on a distributed environment and run on whatever device.
Equinox is basically a plug-in system that allows developers to implement an application in a set of “bundles” using common services and infrastructure.
From a code point of view, Equinox is an implementation of the OSGi R4 core framework specification, a set of bundles that implement various optional OSGi services and other infrastructure for running OSGi-based systems.
Soot is a Java bytecode manipulation and optimization framework.
It provides four intermediate representations for analyzing and transforming Java bytecode:
- Baf: a streamlined representation of bytecode which is simple to manipulate.
- Jimple: a typed 3-address intermediate representation suitable for optimization.
- Shimple: an SSA variation of Jimple.
- Grimp: an aggregated version of Jimple suitable for decompilation and code inspection.
Soot can be used as a stand alone tool to optimize or inspect class files, as well as a framework to develop optimizations or transformations on Java bytecode.
Dijjer is a peer-to-peer web cache. It is “pure” P2P because it relies on the computers of those using it, and is almost completely decentralized.
Dijjer is free P2P software that dramatically reduces the bandwidth needed to host large files.
Bandwidth is a problem for anyone hosting big files. As soon as your music, mp3 blog, or movie gets too popular, either your site goes down or you get hit with a huge bandwidth bill. Worse, the cost and hassle of distributing large media files means that the internet isn’t living up to its potential as a democratic medium. Dijjer solves this problem. What distinguishes it from similar P2P tools (like Bittorrent) is how easy it is to use for publishers and users.
PDFBox is a Java PDF Library. This project will allow access to all of the components in a PDF document. More PDF manipulation features will be added as the project matures. This ships with a utility to take a PDF document and output a text file.
Java Compiler Compiler (JavaCC) is the most popular parser generator for use with Java™ applications. A parser generator is a tool that reads a grammar specification and converts it to a Java program that can recognize matches to the grammar. In addition to the parser generator itself, JavaCC provides other standard capabilities related to parser generation such as tree building (via a tool called JJTree included with JavaCC), actions, debugging, etc.
SeQuaLite is a data access framework over jdbc. Features include CRUD operations, Lazy-Load, Cascading, Paging, on-the-fly SQL generation. It helps reduce development time effectively.
uPortal is an open-standard effort using Java, XML, JSP and J2EE. It is a collaborative development project with the effort shared among several of the JA-SIG member institutions.
The Java Application Monitor (JAMon) is a free, simple, high performance, thread safe, Java API that allows developers to easily monitor production applications. JAMon can be used to determine application performance bottlenecks, user/application interactions, and application scalability. JAMon gathers summary statistics such as hits, execution times (total, average, minimum, maximum, standard deviation), and simultaneous application requests. JAMon statistics are displayed in the clickable JAMon Report.
Baralga enables you to keep track of the time you spend working on different projects. You can record the projects your are working or you can manually enter and edit project activities. Thus, you will be able to easily memorize when and how long you have been working on every project.
Sandler is an Atom parser and manipulation library implemented in Java. Sandler provides an idiommatic Java object model for working with Atom feeds, as well as mechanisms to build said object models from various types of XML input.
OpenRules is a full-scale open source Business Rules Management Framework. It efficiently uses the power of MS Excel, Eclipse IDE and open source Java libraries to create, deploy, execute, and maintain different rule engines with complex business logic controlled by business analysts.
LiquiBase is a DBMS-independent library for tracking, managing and applying database changes. All database changes (structure and data) are stored in an XML-based descriptive manner and checked into source control. LiquiBase has the following features:
- Supports merging of changes from multiple developers
- Works well with code branches
- Allows you to manage production data as well as various test datasets
- Works in an environment where multiple machines will be attempting to migrate the database concurrently
- Supports automated change-applying or generation of SQL scripts that can be approved and applied by a DBA
- Supports rolling back changes
- Can create database "diff"s and can generate change logs from them
The Telnet/SSH/Terminal for Java Application is telnet & SSH clients you can run as applets in browser or via Java Web Start.
JAMA is a basic linear algebra package for Java. It provides user-level classes for constructing and manipulating real, dense matrices.
JAMA provides five fundamental matrix decompositions:
- Cholesky Decomposition of symmetric, positive definite matrices
- LU Decomposition (Gaussian elimination) of rectangular matrices
- QR Decomposition of rectangular matrices
- Eigenvalue Decomposition of both symmetric and nonsymmetric square matrices
- Singular Value Decomposition of rectangular matrices
Nice is a new programming language. It extends the ideas behind object-orientation in order to better support modular programming and static type safety. It also incorporates features from functional programming, and puts into practice state-of-the-art results from academic research. This results in more expressivity, modularity and safety.
Egothor is an Open Source, high-performance, full-featured text search engine written entirely in Java. It is technology suitable for nearly any application that requires full-text search, especially cross-platform. It can be configured as a standalone engine, metasearcher, peer-to-peer HUB, and, moreover, it can be used as a library for an application that needs full-text search.
Jasypt is a java library which allows the developer to add basic encryption capabilities to his/her projects with minimum effort, and without the need of having deep knowledge on how cryptography works.
- High-security, standards-based encryption techniques, both for unidirectional and bidirectional encryption. Encrypt passwords, texts, numbers, binaries...
- Transparent integration with Hibernate.
- Suitable for integration into Spring-based applications and also transparently integrable with ACEGI (Spring Security).
- Integrated capabilities for encrypting the configuration of applications (i.e. datasources).
- Open API for use with any JCE provider.
Superversion is a multi-user distributed version control system based on change sets. A major focus in its development is efficiency and ease-of-use. Features include a graphical user interface, branches, conflict detection and resolution, a history tree view, export and report functions, CVS-compatible keyword substitution, overridable file type autodetection and a transactional internal database.
Stream-2-Stream implements multicast+, a next generation streaming protocol. Multicast+ is more efficient and requires less bandwidth than direct streaming (e.g. shoutcast/icecast). Stream-2-Stream (abbreviated “s2s” or “S2S”) stations have no user limit; stations can be set up without paying a fortune for bandwidth. Stream-2-Stream saves bandwidth by passing streams from one peer to another through multicast and unicast p2p, rather than everyone getting a stream from one central server.
Stream-2-Stream’s features include:
- Integrated MP3, Ogg media player.
- Supported codecs include MP3, NSV, AAC, and AAC+.
- Easy to use GUI
- Bandwidth is tested automatically for the best p2p streaming performance
- Settings are saved to xml
- Easy to use server command-line
- A shoutcast/icecast internet radio/TV Station is used as the source
- Freeloaders/Leechers (peers that only listen but don’t want to send out the stream to other listeners) will be detected
- The data stream can be signed; you can be sure that it arrives unchanged
- Very efficient communication (low overhead).
- The network structure can be viewed with a monitor
- Peers can be denied service
- Streams can be recorded to files for later viewing
- Integrated Station viewer allows you to listen (or watch) by double-clicking on a station
Javu WingS is a set of lightweight Java components providing most of the controls, needed for a typical application/applet. The component hierarchy of Javu WingS is similar to Swing, but the API is simplified and closer to AWT. Most of the components are derived from WingComponet which (like JComponent) is derived from java.awt.Componet Top level classes WingApplet, WingDialog, WingFrame and WingWindow are derived from appropriate AWT classes and contain WingRootPane (analogous to JRootPane). The components use typical AWT events, work with AWT layout managers, and can be used together with AWT and Swing components.
The Pager Tag Library is the easy and flexible way to implement paging of large data sets in JavaServer Pages (JSP). It can emulate all currently known paging styles with minimal effort. It also includes re-usable index styles that emulate the search result navigators of popular web sites such as GoogleSM, AltaVista® and Yahoo!. The Pager Tag Library does most of the work for you by dynamically organizing your data set into pages and generating a browsable index with virtually any look desired.
Transformica is a versatile and extensible code generator. It supports multiple source models including database metadata, Java source files, grammar files and custom models. Transformica is implemented as an Ant task and uses Velocity as its template engine.
Test data generator for SQL databases.
FreeMind is a premier free mind-mapping software written in Java. The recent development has hopefully turned it into high productivity tool. We are proud that the operation and navigation of FreeMind is faster than that of MindManager because of one-click “fold / unfold” and “follow link” operations.
So you want to write a completely new metaphysics? Why don’t you use FreeMind? You have a tool at hand that remarkably resembles the tray slips of Robert Pirsig, described in his sequel to Zen and the Art of Motorcycle Maintenance called Lila. Do you want to refactor your essays in a similar way you would refactor software? Or do you want to keep personal knowledge base, which is easy to manage? Why don’t you try FreeMind? Do you want to prioritize, know where you are, where you’ve been and where you are heading, as Stephen Covey would advise you? Have you tried FreeMind to keep track of all the things that are needed for that?
jTextproc: A Java Text Processing Framework.
jTextproc is a framework that allows textprocessing to be integrated into any Java application in a generic manner. It represents an approbiate abstraction of the necessary elements and offers a generic interface to the application that needs a textprocessing service.
Whenever you want to process plain text and the result is again plain text jTextproc will deliver an abstraction and a framework for doing the job.
Fujaba is the acronym for ‘From Uml to Java And Back Again’ and originally aims to provide an environment for round-trip engineering using UML as visual programming language. During the last years, the environment has become a base for several research activities, e.g. distributed software, database systems, modelling mechanical and electrical systems and their simulation. Thus, the environment has become a project, where this source code is part of.
Commons Validator provides the building blocks for both client side validation and server side data validation. It may be used standalone or with a framework like Struts.
Heritrix is the Internet Archive’s open-source, extensible, web-scale, archival-quality web crawler project.
JAT is a flexible Java base-framework which can be easily extended to improve projects start-up time. JAT allows to build Web applications (J2EE) or standalone application (server, batch, etc.). JAT supplies the main basic functionalities of any Java application, such as:
- High Business Object abstraction
- Integration facilities (provided for DBMS, LDAP and open to any software product)
- Authentication and user privileges management
- MVC pattern implementation (with privileges management and page flow control)
- HTML layout structure management (header, footer, menu, etc.)
- HTML dynamic contents and facilities (form, report, paging)
- Logging feautures
- Help on-line utility
- High configuration of all described functionalities
- Administration and configuration GUI
GatorMail is a servlet-based Webmail built on the Struts framework. It was originally developed to meet the needs of the University of Florida. Efficient interaction with the mail store along with a low support overhead are the goals of the project.
Xerver is an advanced free GNU GPL Web and FTP server.
“Burlap is a lightweight XML RPC protocol.” The Burlap web service protocol makes web services usable without requiring a large framework, and without learning yet another alphabet soup of protocols.
LoadSim is a web application load simulator. It allows you to create simulations and have those simulations run against your webserver.
The Bliki engine is a Java API and an Eclipse offline editor for Mediawiki (aka wikipedia.org) documents. API features:
- Renders Wikipedia syntax to HTML.
- Renders Wikipedia syntax to PDF, LaTeX, Docbook (only partial support).
- Template support.
- Configurable through WikiModel interface.
- HTML to Wikipedia syntax converter.
- Syntax highlighting.
- Content outline and content assist.
- Down-/upload articles from a wiki server.
- HTML preview.
OSWorkflow can be considered a “low level” workflow implementation. Situations like “loops” and “conditions” that might be represented by a graphical icon in other workflow systems must be “coded” in OSWorkflow.
Castor XML is an XML databinding framework. Unlike the two main XML APIs, DOM (Document Object Model) and SAX (Simple API for XML) which deal with the structure of an XML document, Castor enables one to deal with the data defined in an XML document through an object model which represents that data.
Castor XML can marshal almost any “bean-like” Java Object to and from XML. In most cases the marshalling framework uses a set of ClassDescriptors and FieldDescriptors to describe how an Object should be marshalled and unmarshalled from XML.
For those not familiar with the terms “marshal” and “unmarshal”, it’s simply the act of converting a stream (sequence of bytes) of data to and from an Object. The act of “marshalling” consists of converting an Object to a stream, and “unmarshalling” from a stream to an Object.
The Xerces Java Parser 1.4.4 supports the XML 1.0 recommendation and contains advanced parser functionality, such as support for the W3C’s XML Schema recommendation version 1.0, DOM Level 2 version 1.0, and SAX Version 2, in addition to supporting the industry-standard DOM Level 1 and SAX version 1 APIs.