WCF classes help to create, present and validate HTML forms via XML and XSLT. WCF encapsulates reuseable components that were developed for JPivot. Its focus is on course grained UI components like table, tree or complete forms. For single elements like a submit button or text entry field you may use JavaServer Faces which is also great to define page-flow and more. WCF nicely integrates with JSF.

WCF was designed to easily integrate with other existing web applications like portals (e.g. jetspeed), JSF (JavaServer Faces), Struts and others. To integrate the view portion, JSP custom tags are used. The controller works as a servlet filter, so it may be used together with an exisiting application.

WCF provides a fine grained controller, that identifies - for example - the button the user pressed and invokes listeners that have been registered for that button. It also synchronizes java bean properties with form elements, i.e. it formats java data types for presentation, parses and validates user input and updates the bean properties.

Package Overview
  • controller: Allows to register RequestListeners that are notified on user actions. For example, RequestListeners may be registered for submit buttons or anchors (<a href="...">)
  • format: an extensible mechanism to convert java objects into string representation and back with i18n support for conversion and error messages
  • convert: (a) fills the values of form elements from bean properties for presentation and (b) updates the bean properties from user input
  • ui: Provides an API to create and manipulate a DOM tree that conforms to the xoplon DTD.
  • form: Form handling, synchronizes a form and a view helper bean

How to run?

Download the wcf.war and place it into tomcats webapp directory. Start Tomcat and point your browser to http://localhost:8080/wcf. You'll need JDK 1.4 and Tomcat 4.1.18, JPivot does not work with earlier versions (sorry). To run the Mondrian examples, you will need the MondrianFoodMart ODBC datasource.

How to compile?

Download the wcf-@VERSIOIN@.zip and unzip. Modify the build.properties file:
The repository.home points to a directory where the build process finds the external jar files (and more) that that wcf depends on. For example, WCF depends on commons-beanutils-1.6.1. To add this to the repository directory, download the distribution from jakarta.apache.org and unzip to the repository directory.

The following external dependencies exist (for an exact list search for ${repository.home} in the build.xml):

Name URL Description
jdepend-2.6 Clarkware Dependency metrics
JSTL 1.0.3 jakarta.apache.org Standard Tag Library
jakarta.apache.org Jakarta Commons
jakarta-regexp-1.2 jakarta.apache.org Jakarta Reg Expr
junit3.8.1/junit junit.sf.net JUnit Test Tool
java.sun.com JSF Reference Implementation