From 7f4b58e6a0d93de091ff14efc07bb49f42294b81 Mon Sep 17 00:00:00 2001 From: Ted Ross Date: Wed, 8 Oct 2008 19:44:24 +0000 Subject: QPID-1327 - Added severity field to events, cleaned up routing key usage git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk@702977 13f79535-47bb-0310-9956-ffa450edef68 --- qpid/cpp/managementgen/qmf/schema.py | 16 ++++++++++++++++ qpid/cpp/src/qpid/acl/management-schema.xml | 8 ++++---- qpid/cpp/src/qpid/agent/ManagementAgentImpl.cpp | 11 ++++++----- qpid/cpp/src/qpid/management/ManagementBroker.cpp | 19 +++++++++++++------ 4 files changed, 39 insertions(+), 15 deletions(-) (limited to 'qpid/cpp') diff --git a/qpid/cpp/managementgen/qmf/schema.py b/qpid/cpp/managementgen/qmf/schema.py index 48e697ab4a..7f008c19e3 100755 --- a/qpid/cpp/managementgen/qmf/schema.py +++ b/qpid/cpp/managementgen/qmf/schema.py @@ -706,6 +706,7 @@ class SchemaEvent: self.packageName = package self.name = None self.desc = None + self.sevText = "inform" self.args = [] self.hash = Hash(node) @@ -719,6 +720,9 @@ class SchemaEvent: elif key == 'desc': self.desc = val + elif key == 'sev': + self.sevText = val + elif key == 'args': list = val.replace(" ", "").split(",") for item in list: @@ -730,6 +734,17 @@ class SchemaEvent: else: raise ValueError ("Unknown attribute in event '%s'" % key) + if self.sevText == "emerg" : self.sev = 0 + elif self.sevText == "alert" : self.sev = 1 + elif self.sevText == "crit" : self.sev = 2 + elif self.sevText == "error" : self.sev = 3 + elif self.sevText == "warn" : self.sev = 4 + elif self.sevText == "notice" : self.sev = 5 + elif self.sevText == "inform" : self.sev = 6 + elif self.sevText == "debug" : self.sev = 7 + else: + raise ValueError("Unknown severity '%s' in event '%s'" % (self.sevText, self.name)) + def getName (self): return self.name @@ -796,6 +811,7 @@ class SchemaEvent: stream.write ("namespace %s {\n" % item) def genArgEncodes(self, stream, variables): + stream.write(" buf.putOctet(%d);\n" % self.sev) for arg in self.args: stream.write(" " + arg.type.type.encode.replace("@", "buf").replace("#", arg.name) + ";\n") diff --git a/qpid/cpp/src/qpid/acl/management-schema.xml b/qpid/cpp/src/qpid/acl/management-schema.xml index f362561356..661228b4d3 100644 --- a/qpid/cpp/src/qpid/acl/management-schema.xml +++ b/qpid/cpp/src/qpid/acl/management-schema.xml @@ -36,9 +36,9 @@ - - - - + + + + diff --git a/qpid/cpp/src/qpid/agent/ManagementAgentImpl.cpp b/qpid/cpp/src/qpid/agent/ManagementAgentImpl.cpp index b178d0fc28..06b61b819a 100644 --- a/qpid/cpp/src/qpid/agent/ManagementAgentImpl.cpp +++ b/qpid/cpp/src/qpid/agent/ManagementAgentImpl.cpp @@ -172,7 +172,8 @@ void ManagementAgentImpl::raiseEvent(const ManagementEvent& event) event.encode(outBuffer); outLen = MA_BUFFER_SIZE - outBuffer.available(); outBuffer.reset(); - connThreadBody.sendBuffer(outBuffer, outLen, "qpid.management", "mgmt.event"); + connThreadBody.sendBuffer(outBuffer, outLen, "qpid.management", + "console.event." + event.getPackageName() + "." + event.getEventName()); } uint32_t ManagementAgentImpl::pollCallbacks(uint32_t callLimit) @@ -510,7 +511,7 @@ ManagementAgentImpl::PackageMap::iterator ManagementAgentImpl::findOrAddPackage( encodePackageIndication(outBuffer, result.first); outLen = MA_BUFFER_SIZE - outBuffer.available(); outBuffer.reset(); - connThreadBody.sendBuffer(outBuffer, outLen, "qpid.management", "mgmt.schema.package"); + connThreadBody.sendBuffer(outBuffer, outLen, "qpid.management", "schema.package"); return result.first; } @@ -582,7 +583,7 @@ void ManagementAgentImpl::periodicProcessing() contentSize = BUFSIZE - msgBuffer.available(); msgBuffer.reset(); - routingKey = "mgmt." + systemId.str() + ".heartbeat"; + routingKey = "console.heartbeat"; connThreadBody.sendBuffer(msgBuffer, contentSize, "qpid.management", routingKey); } @@ -617,7 +618,7 @@ void ManagementAgentImpl::periodicProcessing() contentSize = BUFSIZE - msgBuffer.available(); msgBuffer.reset(); - routingKey = "mgmt." + systemId.str() + ".prop." + object->getClassName(); + routingKey = "console.prop." + object->getPackageName() + "." + object->getClassName(); connThreadBody.sendBuffer(msgBuffer, contentSize, "qpid.management", routingKey); } @@ -629,7 +630,7 @@ void ManagementAgentImpl::periodicProcessing() contentSize = BUFSIZE - msgBuffer.available(); msgBuffer.reset(); - routingKey = "mgmt." + systemId.str() + ".stat." + object->getClassName(); + routingKey = "console.stat." + object->getPackageName() + "." + object->getClassName(); connThreadBody.sendBuffer(msgBuffer, contentSize, "qpid.management", routingKey); } diff --git a/qpid/cpp/src/qpid/management/ManagementBroker.cpp b/qpid/cpp/src/qpid/management/ManagementBroker.cpp index 0e046bb813..e1770f0084 100644 --- a/qpid/cpp/src/qpid/management/ManagementBroker.cpp +++ b/qpid/cpp/src/qpid/management/ManagementBroker.cpp @@ -235,7 +235,8 @@ void ManagementBroker::raiseEvent(const ManagementEvent& event) event.encode(outBuffer); outLen = MA_BUFFER_SIZE - outBuffer.available(); outBuffer.reset(); - sendBuffer(outBuffer, outLen, mExchange, "mgmt.event"); + sendBuffer(outBuffer, outLen, mExchange, + "console.event." + event.getPackageName() + "." + event.getEventName()); } ManagementBroker::Periodic::Periodic (ManagementBroker& _broker, uint32_t _seconds) @@ -347,7 +348,7 @@ void ManagementBroker::periodicProcessing (void) contentSize = BUFSIZE - msgBuffer.available (); msgBuffer.reset (); - routingKey = "mgmt." + uuid.str() + ".heartbeat"; + routingKey = "console.heartbeat"; sendBuffer (msgBuffer, contentSize, mExchange, routingKey); } @@ -382,7 +383,7 @@ void ManagementBroker::periodicProcessing (void) contentSize = BUFSIZE - msgBuffer.available (); msgBuffer.reset (); - routingKey = "mgmt." + uuid.str() + ".prop." + object->getClassName (); + routingKey = "console.prop." + object->getPackageName() + "." + object->getClassName (); sendBuffer (msgBuffer, contentSize, mExchange, routingKey); } @@ -394,7 +395,7 @@ void ManagementBroker::periodicProcessing (void) contentSize = BUFSIZE - msgBuffer.available (); msgBuffer.reset (); - routingKey = "mgmt." + uuid.str () + ".stat." + object->getClassName (); + routingKey = "console.stat." + object->getPackageName() + "." + object->getClassName (); sendBuffer (msgBuffer, contentSize, mExchange, routingKey); } @@ -440,6 +441,7 @@ bool ManagementBroker::dispatchCommand (Deliverable& deliverable, // // agent.1.0.# // broker + // schema.# if (routingKey == "broker") { dispatchAgentCommandLH(msg); @@ -455,6 +457,11 @@ bool ManagementBroker::dispatchCommand (Deliverable& deliverable, return authorizeAgentMessageLH(msg); } + else if (routingKey.compare(0, 7, "schema.") == 0) { + dispatchAgentCommandLH(msg); + return true; + } + return true; } @@ -698,7 +705,7 @@ void ManagementBroker::handleSchemaResponseLH(Buffer& inBuffer, string /*replyTo encodeClassIndication(outBuffer, pIter, cIter); outLen = MA_BUFFER_SIZE - outBuffer.available(); outBuffer.reset(); - sendBuffer(outBuffer, outLen, mExchange, "mgmt." + uuid.str() + ".schema"); + sendBuffer(outBuffer, outLen, mExchange, "schema.class"); } } } @@ -972,7 +979,7 @@ ManagementBroker::PackageMap::iterator ManagementBroker::findOrAddPackageLH(std: encodePackageIndication (outBuffer, result.first); outLen = MA_BUFFER_SIZE - outBuffer.available (); outBuffer.reset (); - sendBuffer (outBuffer, outLen, mExchange, "mgmt." + uuid.str() + ".schema.package"); + sendBuffer (outBuffer, outLen, mExchange, "schema.package"); return result.first; } -- cgit v1.2.1