Nothing like sending in a request to get the brain going.

I found that I can use EventIpcManagerFactory to get an EventIpcManager to 
which I can register an EventListener of my own.  The only tricky part is 
figuring out a good place to arrange for the class to register itself.  Is 
there a clean way to do it?  At worst, I can have a NotificationStrategy 
registered that instantiates the listener.  A hack, but it works.



Gary Levin
RRC 1N345
Telcordia Technologies


> -----Original Message-----
> From: Levin, Gary Marc
> Sent: Friday, November 21, 2008 12:35 PM
> To: 'opennms-devel@lists.sourceforge.net'
> Subject: RE: Fetching an Event in a NotificationStrategy
>
> This is a follow-up to the previous question.  I found
> org.opennms.netmgt.xml.event.Event, and I can get the event from
> NotificationFactory based on the EventId in the notification.
>  The problem
> is that the event retrieved is incomplete.  It is missing the
> parameters
> (which are passed to the notification, because they appear in my
> description).
>
> * No parameters show up in the xml produced by Event.marshal().
> * Event.getParms() returns null
> (1) Is this a bug in org.opennms.netmgt.xml.event.Event?
> (2) Is this a bug in
> org.opennms.netmgt.xml.event.NotificationFactory.getEvent()?
> (Producing an
> incomplete Event)
> (3) Is there an alternative way to get the original event from the
> notification? (I thought that EventFactory would be the way
> to go, but that
> is not accessible from a NotificationStrategy.)
>
>
>
>
>
>
> I am trying to forward the event to another system.  If
> necessary, I can put
> enough information into the notification description so that
> I can manually
> construct the event, but it seems like a fragile solution.
>
>
>
>
> If there is a way to capture the event *before* it gets to be a
> notification, that would be even better.  An EventListener
> would be ideal.
> (This is where the Uses page would be very helpful.)  Is
> there a way to
> register a new EventListener?
>
>
>
>
> Gary Levin
> RRC 1N345
> Telcordia Technologies
>
>
> > -----Original Message-----
> > From: Levin, Gary Marc [mailto:[EMAIL PROTECTED]
> > Sent: Friday, October 31, 2008 3:56 PM
> > To: opennms-devel@lists.sourceforge.net
> > Subject: [opennms-devel] Fetching an Event in a NotificationStrategy
> >
>
>
> I need to fetch the Event that triggered a Notification.  I
> have written an
> implementation of NotificationStrategy, which is correctly invoked by
> notifd.  The notification places the eventId into the text
> message, which is
> included in the list of arguments passed to
> NotificationStrategy.send().  I
> log this information, so I am sure it is being received correctly.
>
> My code then extracts the eventId, parses it into an integer,
> eid, and tries
> calling EventFactory.getEvent(eid).  It gets to that point,
> but the call
> never returns.  I catch SQLException, and that is not thrown either.
>
> I tried catching Throwable and found the problem to be
>         java.lang.NoClassDefFoundError:
> org/opennms/web/event/EventFactory
> I am guessing this is caused by the EventFactory being loaded
> by a different
> classloader than my NotificationStrategy.  This had me go
> look for another
> way to get the event, using the jars in lib and not web-apps.
>
>
>
> I was trying to learn more about the API and noticed that although
>        http://www.opennms.org/documentation/java-apidocs-stable/
>             org/opennms/netmgt/xml/event/Event.html
> exists, if you go to the frame view, this class and its
> package are not in
> the list of packages and classes.
>
> I found that what I needed was
> org.opennms.netmgt.xml.event.Event, which I
> can get from
> org.opennms.netmgt.xml.event.NotificationFactory.  This would
> have been easier to find if the Javadoc included that
> package.  Also,having
> the Uses page when I am trying to learn an API.  This lets me
> work backwards
> from what I want, in this case an Event.
>

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Please read the OpenNMS Mailing List FAQ:
http://www.opennms.org/index.php/Mailing_List_FAQ

opennms-devel mailing list

To *unsubscribe* or change your subscription options, see the bottom of this 
page:
https://lists.sourceforge.net/lists/listinfo/opennms-devel

Reply via email to