diff options
| author | Martin Ritchie <ritchiem@apache.org> | 2010-06-02 16:40:57 +0000 |
|---|---|---|
| committer | Martin Ritchie <ritchiem@apache.org> | 2010-06-02 16:40:57 +0000 |
| commit | 5beb23a46083a25c92fb61bd7116c5673b473d66 (patch) | |
| tree | 2890272525e028bd802f8e4422a53678816ef3d1 /java | |
| parent | da6dbf0eeafcc951c02f510bb26a68575b2598ed (diff) | |
| download | qpid-python-5beb23a46083a25c92fb61bd7116c5673b473d66.tar.gz | |
QPID-2625 : Update GenerateLogMessages to probe the property file for 3-Digit LoggingClasses and use that as the basis for generation. Expose LogSubjects from Queue and Session.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@950635 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'java')
10 files changed, 106 insertions, 41 deletions
diff --git a/java/broker/build.xml b/java/broker/build.xml index 8dd7b1597f..ade90e5c5d 100644 --- a/java/broker/build.xml +++ b/java/broker/build.xml @@ -79,6 +79,8 @@ <arg value="${generated.dir}"/> <arg value="-t"/> <arg value="${project.root}/broker/src/velocity/templates/org/apache/qpid/server/logging/messages"/> + <arg value="-r"/> + <arg value="org.apache.qpid.server.logging.messages.LogMessages"/> <classpath> <pathelement path="${project.root}/broker/src/main/java"/> <pathelement path="${velocity.compile.dir}" /> diff --git a/java/broker/src/main/java/org/apache/qpid/server/AMQChannel.java b/java/broker/src/main/java/org/apache/qpid/server/AMQChannel.java index 8a0e49f537..9d90694f55 100644 --- a/java/broker/src/main/java/org/apache/qpid/server/AMQChannel.java +++ b/java/broker/src/main/java/org/apache/qpid/server/AMQChannel.java @@ -1079,6 +1079,11 @@ public class AMQChannel implements SessionConfig, AMQSessionModel return String.valueOf(_session.getContextKey()); } + public LogSubject getLogSubject() + { + return _logSubject; + } + private class MessageDeliveryAction implements ServerTransaction.Action { private IncomingMessage _incommingMessage; diff --git a/java/broker/src/main/java/org/apache/qpid/server/logging/messages/LogMessages.properties b/java/broker/src/main/java/org/apache/qpid/server/logging/messages/LogMessages.properties index 7159c6b02c..9e19b44430 100644 --- a/java/broker/src/main/java/org/apache/qpid/server/logging/messages/LogMessages.properties +++ b/java/broker/src/main/java/org/apache/qpid/server/logging/messages/LogMessages.properties @@ -207,7 +207,7 @@ # # # Default File used for all non-defined locales. -#Broker +BRK=Broker # 0 - Version # 1 = Build BRK_STARTUP = BRK-1001 : Startup : Version: {0} Build: {1} @@ -224,7 +224,8 @@ BRK_CONFIG = BRK-1006 : Using configuration : {0} # 0 - path BRK_LOG_CONFIG = BRK-1007 : Using logging configuration : {0} -#ManagementConsole + +MNG=ManagementConsole MNG_STARTUP = MNG-1001 : Startup # 0 - Service # 1 - Port @@ -240,12 +241,13 @@ MNG_OPEN = MNG-1007 : Open : User {0} MNG_CLOSE = MNG-1008 : Close -#VirtualHost +VHT=VirtualHost + # 0 - name VHT_CREATED = VHT-1001 : Created : {0} VHT_CLOSED = VHT-1002 : Closed -#MessageStore +MST=MessageStore # 0 - name MST_CREATED = MST-1001 : Created : {0} # 0 - path @@ -255,36 +257,36 @@ MST_RECOVERY_START = MST-1004 : Recovery Start MST_RECOVERED = MST-1005 : Recovered {0,number} messages MST_RECOVERY_COMPLETE = MST-1006 : Recovery Complete -#ConfigStore +CFG=ConfigStore # 0 - name -CFG-1001 = CFG-1001 : Created : {0} +CFG_1001 = CFG-1001 : Created : {0} # 0 - path -CFG-1002 = CFG-1002 : Store location : {0} -CFG-1003 = CFG-1003 : Closed -CFG-1004 = CFG-1004 : Recovery Start -CFG-1005 = CFG-1005 : Recovery Complete +CFG_1002 = CFG-1002 : Store location : {0} +CFG_1003 = CFG-1003 : Closed +CFG_1004 = CFG-1004 : Recovery Start +CFG_1005 = CFG-1005 : Recovery Complete -#TransactionLog +TXN=TransactionLog # 0 - name -TXN-1001 = TXN-1001 : Created : {0} +TXN_1001 = TXN-1001 : Created : {0} # 0 - path -TXN-1002 = TXN-1002 : Store location : {0} -TXN-1003 = TXN-1003 : Closed +TXN_1002 = TXN-1002 : Store location : {0} +TXN_1003 = TXN-1003 : Closed # 0 - queue name -TXN-1004 = TXN-1004 : Recovery Start[ : {0}] +TXN_1004 = TXN-1004 : Recovery Start[ : {0}] # 0 - count # 1 - queue count -TXN-1005 = TXN-1005 : Recovered {0,number} messages for queue {1} +TXN_1005 = TXN-1005 : Recovered {0,number} messages for queue {1} # 0 - queue name -TXN-1006 = TXN-1006 : Recovery Complete[ : {0}] +TXN_1006 = TXN-1006 : Recovery Complete[ : {0}] -#Connection +CON=Connection # 0 - Client id # 1 - Protocol Version CON_OPEN = CON-1001 : Open[ : Client ID : {0}][ : Protocol Version : {1}] CON_CLOSE = CON-1002 : Close -#Channel +CHN=Channel CHN_CREATE = CHN-1001 : Create # 0 - flow CHN_FLOW = CHN-1002 : Flow {0} @@ -296,7 +298,7 @@ CHN_PREFETCH_SIZE = CHN-1004 : Prefetch Size (bytes) {0,number} : Count {1,numbe CHN_FLOW_ENFORCED = CHN-1005 : Flow Control Enforced (Queue {0}) CHN_FLOW_REMOVED = CHN-1006 : Flow Control Removed -#Queue +QUE=Queue # 0 - owner # 1 - priority QUE_CREATED = QUE-1001 : Create :[ Owner: {0}][ AutoDelete][ Durable][ Transient][ Priority: {1,number,#}] @@ -305,17 +307,17 @@ QUE_OVERFULL = QUE-1003 : Overfull : Size : {0,number} bytes, Capacity : {1,numb QUE_UNDERFULL = QUE-1004 : Underfull : Size : {0,number} bytes, Resume Capacity : {1,number} -#Exchange +EXH=Exchange # 0 - type # 1 - name EXH_CREATED = EXH-1001 : Create :[ Durable] Type: {0} Name: {1} EXH_DELETED = EXH-1002 : Deleted -#Binding +BND=Binding BND_CREATED = BND-1001 : Create[ : Arguments : {0}] BND_DELETED = BND-1002 : Deleted -#Subscription +SUB=Subscription SUB_CREATE = SUB-1001 : Create[ : Durable][ : Arguments : {0}] SUB_CLOSE = SUB-1002 : Close # 0 - The current subscription state diff --git a/java/broker/src/main/java/org/apache/qpid/server/protocol/AMQSessionModel.java b/java/broker/src/main/java/org/apache/qpid/server/protocol/AMQSessionModel.java index 31784fd034..a9b2354d75 100644 --- a/java/broker/src/main/java/org/apache/qpid/server/protocol/AMQSessionModel.java +++ b/java/broker/src/main/java/org/apache/qpid/server/protocol/AMQSessionModel.java @@ -20,6 +20,8 @@ */ package org.apache.qpid.server.protocol; +import org.apache.qpid.server.logging.LogSubject; + public interface AMQSessionModel { Object getID(); @@ -27,4 +29,6 @@ public interface AMQSessionModel AMQConnectionModel getConnectionModel(); String getClientID(); + + LogSubject getLogSubject(); } diff --git a/java/broker/src/main/java/org/apache/qpid/server/queue/AMQQueue.java b/java/broker/src/main/java/org/apache/qpid/server/queue/AMQQueue.java index 8b53257e88..3b60734a2e 100644 --- a/java/broker/src/main/java/org/apache/qpid/server/queue/AMQQueue.java +++ b/java/broker/src/main/java/org/apache/qpid/server/queue/AMQQueue.java @@ -24,6 +24,7 @@ import org.apache.qpid.AMQException; import org.apache.qpid.AMQSecurityException; import org.apache.qpid.framing.AMQShortString; import org.apache.qpid.server.AMQChannel; +import org.apache.qpid.server.logging.LogSubject; import org.apache.qpid.server.protocol.AMQConnectionModel; import org.apache.qpid.server.protocol.AMQSessionModel; import org.apache.qpid.server.binding.Binding; @@ -58,6 +59,8 @@ public interface AMQQueue extends Managable, Comparable<AMQQueue>, ExchangeRefer int getBindingCount(); + LogSubject getLogSubject(); + public interface Context { QueueEntry getLastSeenEntry(); diff --git a/java/broker/src/main/java/org/apache/qpid/server/queue/SimpleAMQQueue.java b/java/broker/src/main/java/org/apache/qpid/server/queue/SimpleAMQQueue.java index 7e78fd0481..b3e0b4fba9 100644 --- a/java/broker/src/main/java/org/apache/qpid/server/queue/SimpleAMQQueue.java +++ b/java/broker/src/main/java/org/apache/qpid/server/queue/SimpleAMQQueue.java @@ -526,6 +526,11 @@ public class SimpleAMQQueue implements AMQQueue, Subscription.StateListener return getBindings().size(); } + public LogSubject getLogSubject() + { + return _logSubject; + } + // ------ Enqueue / Dequeue public void enqueue(ServerMessage message) throws AMQException { diff --git a/java/broker/src/main/java/org/apache/qpid/server/transport/ServerSession.java b/java/broker/src/main/java/org/apache/qpid/server/transport/ServerSession.java index bc7ba085fc..f79a43f330 100644 --- a/java/broker/src/main/java/org/apache/qpid/server/transport/ServerSession.java +++ b/java/broker/src/main/java/org/apache/qpid/server/transport/ServerSession.java @@ -28,6 +28,8 @@ import org.apache.qpid.server.configuration.ConfiguredObject; import org.apache.qpid.server.configuration.ConnectionConfig; import org.apache.qpid.server.configuration.SessionConfig; import org.apache.qpid.server.configuration.SessionConfigType; +import org.apache.qpid.server.logging.LogSubject; +import org.apache.qpid.server.logging.subjects.ConnectionLogSubject; import org.apache.qpid.server.message.ServerMessage; import org.apache.qpid.server.queue.AMQQueue; import org.apache.qpid.server.queue.BaseQueue; @@ -571,4 +573,9 @@ public class ServerSession extends Session implements PrincipalHolder, SessionCo return getPrincipal().getName(); } + public LogSubject getLogSubject() + { + return null; + } + } diff --git a/java/broker/src/test/java/org/apache/qpid/server/queue/MockAMQQueue.java b/java/broker/src/test/java/org/apache/qpid/server/queue/MockAMQQueue.java index 2c2bac549f..70d146437f 100644 --- a/java/broker/src/test/java/org/apache/qpid/server/queue/MockAMQQueue.java +++ b/java/broker/src/test/java/org/apache/qpid/server/queue/MockAMQQueue.java @@ -24,6 +24,7 @@ import org.apache.qpid.framing.AMQShortString; import org.apache.qpid.framing.FieldTable; import org.apache.qpid.server.configuration.*; import org.apache.qpid.server.exchange.Exchange; +import org.apache.qpid.server.logging.LogSubject; import org.apache.qpid.server.subscription.Subscription; import org.apache.qpid.server.virtualhost.VirtualHost; import org.apache.qpid.server.management.ManagedObject; @@ -89,6 +90,11 @@ public class MockAMQQueue implements AMQQueue return 0; } + public LogSubject getLogSubject() + { + return null; + } + public ConfigStore getConfigStore() { return getVirtualHost().getConfigStore(); diff --git a/java/broker/src/velocity/java/org/apache/qpid/server/logging/GenerateLogMessages.java b/java/broker/src/velocity/java/org/apache/qpid/server/logging/GenerateLogMessages.java index 738d54f8f4..a14ab5c155 100644 --- a/java/broker/src/velocity/java/org/apache/qpid/server/logging/GenerateLogMessages.java +++ b/java/broker/src/velocity/java/org/apache/qpid/server/logging/GenerateLogMessages.java @@ -31,6 +31,7 @@ import java.util.HashMap; import java.util.LinkedList; import java.util.List; import java.util.Locale; +import java.util.Map; import java.util.Properties; import java.util.ResourceBundle; @@ -38,6 +39,7 @@ public class GenerateLogMessages { private static String _tmplDir; private String _outputDir; + private String _resource; public static void main(String[] args) { @@ -99,23 +101,41 @@ public class GenerateLogMessages System.out.println("Usage: GenerateLogMessages: -t tmplDir"); System.out.println(" where -t tmplDir: Find templates in tmplDir."); System.out.println(" -o outDir: Use outDir as the output dir."); + System.out.println(" -r resource: The resource to build."); } public void run() throws InvalidTypeException, Exception { - /* lets make a Context and put data into it */ - createMessageClass("Broker", "BRK"); - createMessageClass("ManagementConsole", "MNG"); - createMessageClass("VirtualHost", "VHT"); - createMessageClass("MessageStore", "MST"); - createMessageClass("ConfigStore", "CFG"); - createMessageClass("TransactionLog", "TXN"); - createMessageClass("Connection", "CON"); - createMessageClass("Channel", "CHN"); - createMessageClass("Queue", "QUE"); - createMessageClass("Exchange", "EXH"); - createMessageClass("Binding", "BND"); - createMessageClass("Subscription", "SUB"); + + Map<String,String> messageClasses = extractMessageClasses(); + + for (String key : messageClasses.keySet()) + { + createMessageClass(messageClasses.get(key),key); + } + } + + private Map<String, String> extractMessageClasses() + { + + ResourceBundle _messages = ResourceBundle.getBundle(_resource, Locale.US); + + Enumeration<String> messageKeys = _messages.getKeys(); + + Map<String,String> types = new HashMap<String, String>(); + + //Identify 3-Digit keys + while(messageKeys.hasMoreElements()) + { + String key = messageKeys.nextElement(); + + if (key.length() == 3) + { + types.put(key,_messages.getString(key)); + } + } + + return types; } /** @@ -149,6 +169,12 @@ public class GenerateLogMessages _tmplDir = args[i]; } break; + case 'r': + case 'R': + if (++i < args.length) + { + _resource = args[i]; + } } } } @@ -175,6 +201,11 @@ public class GenerateLogMessages // Get the Data for this class and typeIdentifier HashMap<String, Object> typeData = prepareType(className, typeIdentifier); + + context.put("package", _resource.substring(0, _resource.lastIndexOf("."))); + //Store the resource Bundle name for the macro + context.put("resource",_resource); + // Store this data in the context for the macro to access context.put("type", typeData); @@ -236,7 +267,7 @@ public class GenerateLogMessages private HashMap<String, Object> prepareType(String messsageName, String messageKey) throws InvalidTypeException { // Load the LogMessages Resource Bundle - ResourceBundle _messages = ResourceBundle.getBundle("org.apache.qpid.server.logging.messages.LogMessages", Locale.US); + ResourceBundle _messages = ResourceBundle.getBundle(_resource, Locale.US); Enumeration<String> messageKeys = _messages.getKeys(); @@ -257,8 +288,8 @@ public class GenerateLogMessages //Add MessageName to amp String message = messageKeys.nextElement(); - // Process the log message if it matches the specified key e.g.'BRK' - if (message.startsWith(messageKey)) + // Process the log message if it matches the specified key e.g.'BRK_' + if (message.startsWith(messageKey+"_")) { // Method names can't have a '-' in them so lets make it '_' // e.g. BRK-STARTUP -> BRK_STARTUP diff --git a/java/broker/src/velocity/templates/org/apache/qpid/server/logging/messages/LogMessages.vm b/java/broker/src/velocity/templates/org/apache/qpid/server/logging/messages/LogMessages.vm index 22b5fd65c9..f0cbaf53a1 100644 --- a/java/broker/src/velocity/templates/org/apache/qpid/server/logging/messages/LogMessages.vm +++ b/java/broker/src/velocity/templates/org/apache/qpid/server/logging/messages/LogMessages.vm @@ -18,7 +18,7 @@ * * */ -package org.apache.qpid.server.logging.messages; +package ${package}; import org.apache.qpid.server.logging.LogMessage; import org.apache.qpid.server.registry.ApplicationRegistry; @@ -59,7 +59,7 @@ public class ${type.name}Messages _currentLocale = Locale.getDefault(); } - _messages = ResourceBundle.getBundle("org.apache.qpid.server.logging.messages.LogMessages", _currentLocale); + _messages = ResourceBundle.getBundle("${resource}", _currentLocale); } |
