Hi Peter,

Right, the issue here is that
CommandEventListener was jammed into alerts as a convenience but really should not live there.  The command gw and inventory dependencies are both due to that listener and will go away when it moves to Hawkular proper.

As it turns out, at the moment I have just started development on hawkular-glue-<version>.jar.   I needed a place to deploy yet another bus listener, which I am working on now.  This new listener will listen for inventory events and interact with alerting to add/remove trigger definitions (moving trigger definition out of the UI code).  This JAR is purposed for any sort of hawkular "glue" code.   I could also move CommandEventListener into this jar.   At the moment, locally, I have this living in hawkular/modules/hawkular-api-parent/hawkular-glue and being bundled in the hawkular-rest.war.

I have just started and have not even tried to deploy it yet, so it's up for discussion if that is the right place.  If you guys have an opinion let me know.  But basically, I can move the listener out from alerts once this is in place.

Jay


On 1/26/2016 8:12 AM, Peter Palaga wrote:
Hi Jay, Lucas and *,

I was looking into the possibility to move all message classes [1] from Command Gateway to Commons. My primary motivation was to eliminate the dependency of Alerts on Command Gateway. After thinking about the impact I basically abandoned that idea.

Initially, I thought, the move can be justified by the fact that those classes define a public API that can be hosted separately from the implementation. However, we have not done anything like that for any other component. I think that such a split would make the development of the command gateway (or any other component) unnecessarily complicated.

Moreover, there is another option [2] you (Alerts guys) seem to foresee already:

CommandEventListener can be moved to a new deployment in Hawkular. Hawkular Alerts should not really have knowledge about Hawkular-level decisions, like which possible Events to filter out or various special handling that needs to be performed.

Hence I vote for moving CommandEventListener to Hawkular. Do you (Alerts guys) already have a Jira for that?

Thanks,

Peter

[1] The message classes are generated from these schemas: https://github.com/hawkular/hawkular-command-gateway/tree/master/hawkular-command-gateway-api/src/main/resources/schema plus some interfaces etc. in https://github.com/hawkular/hawkular-command-gateway/tree/master/hawkular-command-gateway-api/src/main/java/org/hawkular/cmdgw/api

[2] https://github.com/hawkular/hawkular-alerts/blob/master/hawkular-alerts-bus/src/main/java/org/hawkular/alerts/bus/listener/CommandEventListener.java#L39-L41