Integration between Webwork and JTasks: Overview

Creating Date: 2005/July/26
Lastest Update: 2005/July/26

In this sections we are giving an overview how is the integration between Webwork and JTasks, attentions please, it's not a complete Webwork Tutorial, just an overview with JTasks integration. If you want to learn more about Webwork, take a look in the official Webwork documentation (http://www.opensymphony.com/webwork/wikidocs/Documentation.html).

After to start, we need to know how Webwork work. Basically, Webwork have one principal class, called ActionSupport. All actions must inherent from this class, however JTasks does not inherent directly it (more detail in the rest of this document).

Other important thing to comment, it's each action must be mapped by XML file. These XML file are localized inside jtasks.xml package and each action have itself xml file. These XML are simple and can be created by hand. There is an example default-config.xml file inside the xml package (we are using it as template). Bellow follows up the example:

//TODO: put the XML file example here between code tags.

Now, let's talk about the ActionSupport class. As said later, this is the principal class that all actions must to inherent, but I said that JTasks does not inherent it directly, but why? Because we built other "abstract" class that inherent ActionSupport and this class have some important methods already implemented, such as: User Session Control. This class receives the ActionBase name and it's localized inside jtasks.system package. If you didn't understand the ActionBase idea, please take a look in the source code. Look the image bellow to see how the hierarchy works.

Webwork actions are localized inside jtasks.actions package. There you can see all actions implemented, however the ActionBase is implemented into jtasks.system package, because it's a generic class and must be localized in special package (likely you never need to change any class inside this package).

Although ActionBase is the principal class from Webwork integration, you can use other class to make the inherent. Think in this scenery: you have a lot of similar actions and these actions use the same attributes, thus you can create other base action (remember, this actions must inherent from ActionBase) and your news actions can inherent from your new Base Action. It's an OOP technical and will be used here. Look the example bellow:

New action base class

public class NewBaseAction extends ActionBase {
//put the attributes and methods here
}

The new other actions, can inherent from this base, example:

// action created by the user, it uses NewBaseAction as your superclass.
public class NewAction extends NewBaseAction {
//put the attributes and methods here
}

Up to now, you have an overview between Webwork and JTasks, more details will be explained in each source code and requirements. Fell free to contact to me for any question.