Implement EventHandler for pre/after/post processes

Description

To implement pre/after/post routines on core processes is possible at this moment to extend the class and override the methods prepare/doIt/postProcess.

But that's not always possible as not all processes are exposed to plugins, and also in some cases it can be necessary that several plugins capture the same process.

So, this ticket is to improve extensibility by implementing events for:

  • pre-process - after prepare, before doIt

  • after-process - after doIt, before commit

  • post-process - after commit

Environment

None

Activity

Show:
Carlos Ruiz
March 21, 2019, 1:29 AM

Committed 197191b

Sample code for the EventHandler:

The Event can be registered using UUID or classname:

Никита Полковников
March 21, 2019, 9:19 PM
Edited
Hiep Lq
March 22, 2019, 2:08 AM

i love to have

Event event = EventManager.newEvent(topic,
new EventProperty(EventManager.EVENT_DATA, m_pi),
new EventProperty("processUUID", m_pi.getAD_Process_UU()),
new EventProperty("className", m_pi.getClassName()),
new EventProperty("processClassName", this.getClass().getName())
);

because process factory can return any process, i want to know which class i add my handle

Carlos Ruiz
March 22, 2019, 2:40 PM

Hi ,

ProcessFactory can return a different class, but is always based on the classname registered in dictionary.

So, I think you normally want to add the EventHandler to the registered class, not to your custom class.
Which would be the use case?

Regards,

Carlos Ruiz

Hiep Lq
March 23, 2019, 12:35 AM

example: i want to handle that event for jasper report only case ReportStart is called. in case other implement called i want to implement handle a bit different

Fixed

Assignee

Carlos Ruiz

Reporter

Carlos Ruiz

Labels

None

Tested By

None

Priority

Major
Configure