Implementing the Application Specific BusinessLogic

Hello,
I have some problems while implementing my businesslogic.
To control the actions made on my document I have extended the ModuleTag and override the doStartTagCore method in this class.
Here I make my required controls.
Afterwards if there is no problem I call super.doStartTagCore() method.
When I dont want the action to happen I throw an exception and stop the process.
My problem is I want to detect which node of my document is being inserted or being deleted.
When I examined the ModuleTag class it has some private methods like processElementAction , processRemoveAction and processPositionExpression. Shall I try to understand what these methods do and implement the same logic to detect which node is being deleted ?
I dont want to do this in case they might be changed in new versions.
Can you please give me an edvice how to do this?

X-Application Version: 3.1.2
Tamino Version : 3.1.1
Platform : Win2k, WebContainer : Tomcat 3.3a
JDK Version : 1.3.1

[This message was edited by Christian Freytag on 26 Jul 2002 at 09:09.]

Hello,

with your question you address a topic we are currently working on.

If you need the functionality for you current application my proposal is


  • change the modifiers of the method processInsertAction and processRemoveAction of the ModuleTag (private → protected).
  • overwrite the methods if you want to control insert and delete actions for sub-node of a loop. Just copy the code of the methods and insert a check before

    np.insert(idx);

    or

    np.remove(idx);

    Remark: np.get(idx) returns the node from the node page which has to be removed or ? after an insert ? the new node.


If you have time to wait for our next version, we will provide a Plug-In concept. This means, the methods processInsert/RemoveAction will be not longer part of the ModuleTag. The functionality is implemented by a Standard Plugin. If you need adaptations for business logic like controlling the insertion / deletion of sub-nodes, you can overwrite the standard functionality or plug in own element actions (e.g. checkedInsert or checkedRemove).

If you overwrite the methods of the ModuleTag, you have to move the check functionality into a plug-in when adapting your application to the next version of X-Application.

Therefore, it would be helpful if you could post your check functionality into the community. Then, we could check our current plug-in concept with your use case. We could give you an outlook how the code would look like with the plug-in concept and you could review our proposal.

Is this approach ok for you?

Thanks,
Christian.

Hello,

we´ve published the plug-in concept as part of the architecture document.
If you want to download it, check out topic X-Application architecture review request in the general X-Application discussion forum.

Regards, Harald

Hello,

the version 3.1.3 of X-Application is available. It supports Plugins, an interface you can use to implement application specific logic.

Have a look at the documentation. Here, you will find a chapter about ‘Plugins’.

After installing X-Application 3.1.3 and starting Tomcat, you will find examples for Plugins at

http://localhost:8080/xapp
→ plugins

Bye,
Christian.