[prev in list] [next in list] [prev in thread] [next in thread]
List: opennms-cvs
Subject: [opennms-cvs] SF.net SVN: opennms:[15312]
From: brozow () users ! sourceforge ! net
Date: 2009-11-30 22:49:51
Message-ID: E1NFF43-0001Jd-Qp () c3vjzd1 ! ch3 ! sourceforge ! com
[Download RAW message or body]
Revision: 15312
http://opennms.svn.sourceforge.net/opennms/?rev=15312&view=rev
Author: brozow
Date: 2009-11-30 22:49:36 +0000 (Mon, 30 Nov 2009)
Log Message:
-----------
WOTO-352: make sure that an event mapping doesn't match if a value with type 'sql' \
fails to return any rows
Modified Paths:
--------------
opennms/trunk/opennms-services/src/main/java/org/opennms/netmgt/config/EventTranslatorConfigFactory.java
Modified: opennms/trunk/opennms-services/src/main/java/org/opennms/netmgt/config/EventTranslatorConfigFactory.java
===================================================================
--- opennms/trunk/opennms-services/src/main/java/org/opennms/netmgt/config/EventTranslatorConfigFactory.java 2009-11-30 \
22:41:14 UTC (rev 15311)
+++ opennms/trunk/opennms-services/src/main/java/org/opennms/netmgt/config/EventTranslatorConfigFactory.java 2009-11-30 \
22:49:36 UTC (rev 15312) @@ -643,22 +643,65 @@
if (!nestedVal.matches(e))
return false;
}
- return true;
+
+ Query query = createQuery(e);
+ int rowCount = query.execute();
+
+ if (rowCount < 1) {
+ log().info("No results found for query \
"+query.reproduceStatement()+". No match."); + return false;
+ }
+
+ return true;
}
+
+ private class Query {
+ SingleResultQuerier m_querier;
+ Object[] m_args;
+
+ Query(SingleResultQuerier querier, Object[] args) {
+ m_querier = querier;
+ m_args = args;
+ }
+ public int getRowCount() {
+ return m_querier.getCount();
+ }
+
+ public int execute() {
+ m_querier.execute(m_args);
+ return getRowCount();
+ }
+
+ public String reproduceStatement() {
+ return m_querier.reproduceStatement(m_args);
+ }
+
+ public Object getResult() {
+ return m_querier.getResult();
+ }
+
+ }
+
+ public Query createQuery(Event srcEvent) {
+ Object[] args = new Object[getNestedValues().size()];
+ SingleResultQuerier querier = new SingleResultQuerier(m_dbConnFactory, \
m_val.getResult()); + for (int i = 0; i < args.length; i++) {
+ args[i] = (getNestedValues().get(i)).getResult(srcEvent);
+ }
+
+ return new Query(querier, args);
+ }
+
public String getResult(Event srcEvent) {
- SingleResultQuerier querier = new SingleResultQuerier(m_dbConnFactory, \
m_val.getResult());
- Object[] args = new Object[getNestedValues().size()];
- for (int i = 0; i < args.length; i++) {
- args[i] = (getNestedValues().get(i)).getResult(srcEvent);
- }
- querier.execute(args);
- if (querier.getCount() < 1) {
- log().info("No results found for query "+querier.reproduceStatement(args)+". \
Returning null"); + Query query = createQuery(srcEvent);
+ query.execute();
+ if (query.getRowCount() < 1) {
+ log().info("No results found for query \
"+query.reproduceStatement()+". Returning null"); return null;
}
else {
- Object result = querier.getResult();
+ Object result = query.getResult();
if (log().isDebugEnabled()) {
log().debug("getResult: result of single result querier is:"+result);
}
This was sent by the SourceForge.net collaborative development platform, the world's \
largest Open Source development site.
------------------------------------------------------------------------------
Join us December 9, 2009 for the Red Hat Virtual Experience,
a free event focused on virtualization and cloud computing.
Attend in-depth sessions from your desk. Your couch. Anywhere.
http://p.sf.net/sfu/redhat-sfdev2dev
_______________________________________________
Please read the OpenNMS Mailing List FAQ:
http://www.opennms.org/wiki/index.php?page=MailingListFaq
opennms-cvs mailing list
To *unsubscribe* or change your subscription options, see the bottom of this page:
https://lists.sourceforge.net/lists/listinfo/opennms-cvs
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic