You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by fa...@apache.org on 2013/04/08 17:19:09 UTC

svn commit: r1465662 [1/26] - in /qpid/trunk/qpid/tools/src/java: ./ bin/ bin/qpid-web/ bin/qpid-web/authentication/ bin/qpid-web/web/ bin/qpid-web/web/itablet/ bin/qpid-web/web/itablet/css/ bin/qpid-web/web/itablet/images/ bin/qpid-web/web/itablet/ima...

Author: fadams
Date: Mon Apr  8 15:19:04 2013
New Revision: 1465662

URL: http://svn.apache.org/r1465662
Log:
QPID-3675: Java QMF2 API, REST API, QMF GUI and Java Broker QMF Management Plugin added to <qpid>/tools/src/java

Added:
    qpid/trunk/qpid/tools/src/java/
    qpid/trunk/qpid/tools/src/java/README-Java-Broker.txt   (with props)
    qpid/trunk/qpid/tools/src/java/README.txt   (with props)
    qpid/trunk/qpid/tools/src/java/bin/
    qpid/trunk/qpid/tools/src/java/bin/ConnectionAudit.sh   (with props)
    qpid/trunk/qpid/tools/src/java/bin/ConnectionLogger.sh   (with props)
    qpid/trunk/qpid/tools/src/java/bin/QpidConfig.sh   (with props)
    qpid/trunk/qpid/tools/src/java/bin/QpidCtrl.sh   (with props)
    qpid/trunk/qpid/tools/src/java/bin/QpidPrintEvents.sh   (with props)
    qpid/trunk/qpid/tools/src/java/bin/QpidQueueStats.sh   (with props)
    qpid/trunk/qpid/tools/src/java/bin/QpidRestAPI.sh   (with props)
    qpid/trunk/qpid/tools/src/java/bin/QueueFuse.sh   (with props)
    qpid/trunk/qpid/tools/src/java/bin/log4j.xml   (with props)
    qpid/trunk/qpid/tools/src/java/bin/qpid-web/
    qpid/trunk/qpid/tools/src/java/bin/qpid-web/authentication/
    qpid/trunk/qpid/tools/src/java/bin/qpid-web/authentication/account.properties   (with props)
    qpid/trunk/qpid/tools/src/java/bin/qpid-web/web/
    qpid/trunk/qpid/tools/src/java/bin/qpid-web/web/apple-touch-icon.png   (with props)
    qpid/trunk/qpid/tools/src/java/bin/qpid-web/web/favicon.ico   (with props)
    qpid/trunk/qpid/tools/src/java/bin/qpid-web/web/index.html   (with props)
    qpid/trunk/qpid/tools/src/java/bin/qpid-web/web/itablet/
    qpid/trunk/qpid/tools/src/java/bin/qpid-web/web/itablet/css/
    qpid/trunk/qpid/tools/src/java/bin/qpid-web/web/itablet/css/LICENCE
    qpid/trunk/qpid/tools/src/java/bin/qpid-web/web/itablet/css/itablet-ie6.css   (with props)
    qpid/trunk/qpid/tools/src/java/bin/qpid-web/web/itablet/css/itablet-ie7.css   (with props)
    qpid/trunk/qpid/tools/src/java/bin/qpid-web/web/itablet/css/itablet-ie8.css   (with props)
    qpid/trunk/qpid/tools/src/java/bin/qpid-web/web/itablet/css/itablet-ie9.css   (with props)
    qpid/trunk/qpid/tools/src/java/bin/qpid-web/web/itablet/css/itablet.css   (with props)
    qpid/trunk/qpid/tools/src/java/bin/qpid-web/web/itablet/images/
    qpid/trunk/qpid/tools/src/java/bin/qpid-web/web/itablet/images/action.png   (with props)
    qpid/trunk/qpid/tools/src/java/bin/qpid-web/web/itablet/images/add.png   (with props)
    qpid/trunk/qpid/tools/src/java/bin/qpid-web/web/itablet/images/bin.png   (with props)
    qpid/trunk/qpid/tools/src/java/bin/qpid-web/web/itablet/images/blue-button-sprite.png   (with props)
    qpid/trunk/qpid/tools/src/java/bin/qpid-web/web/itablet/images/blue-chevron.png   (with props)
    qpid/trunk/qpid/tools/src/java/bin/qpid-web/web/itablet/images/blueball.png   (with props)
    qpid/trunk/qpid/tools/src/java/bin/qpid-web/web/itablet/images/button-sprite.png   (with props)
    qpid/trunk/qpid/tools/src/java/bin/qpid-web/web/itablet/images/chevron-active.png   (with props)
    qpid/trunk/qpid/tools/src/java/bin/qpid-web/web/itablet/images/chevron.png   (with props)
    qpid/trunk/qpid/tools/src/java/bin/qpid-web/web/itablet/images/delete.png   (with props)
    qpid/trunk/qpid/tools/src/java/bin/qpid-web/web/itablet/images/flag.png   (with props)
    qpid/trunk/qpid/tools/src/java/bin/qpid-web/web/itablet/images/home.png   (with props)
    qpid/trunk/qpid/tools/src/java/bin/qpid-web/web/itablet/images/ie/
    qpid/trunk/qpid/tools/src/java/bin/qpid-web/web/itablet/images/ie/active-gradient.png   (with props)
    qpid/trunk/qpid/tools/src/java/bin/qpid-web/web/itablet/images/ie/blue-button-sprite.gif   (with props)
    qpid/trunk/qpid/tools/src/java/bin/qpid-web/web/itablet/images/ie/blue-chevron.gif   (with props)
    qpid/trunk/qpid/tools/src/java/bin/qpid-web/web/itablet/images/ie/button-sprite.gif   (with props)
    qpid/trunk/qpid/tools/src/java/bin/qpid-web/web/itablet/images/ie/chevron-active.gif   (with props)
    qpid/trunk/qpid/tools/src/java/bin/qpid-web/web/itablet/images/ie/chevron.gif   (with props)
    qpid/trunk/qpid/tools/src/java/bin/qpid-web/web/itablet/images/ie/header-gradient.png   (with props)
    qpid/trunk/qpid/tools/src/java/bin/qpid-web/web/itablet/images/ie/radial-gradient.png   (with props)
    qpid/trunk/qpid/tools/src/java/bin/qpid-web/web/itablet/images/ie/radius-10px-sprite.png   (with props)
    qpid/trunk/qpid/tools/src/java/bin/qpid-web/web/itablet/images/ie/radius-5px-sprite.png   (with props)
    qpid/trunk/qpid/tools/src/java/bin/qpid-web/web/itablet/images/ie/red6.png   (with props)
    qpid/trunk/qpid/tools/src/java/bin/qpid-web/web/itablet/images/ie/smoked.png   (with props)
    qpid/trunk/qpid/tools/src/java/bin/qpid-web/web/itablet/images/ie/tick-active.gif   (with props)
    qpid/trunk/qpid/tools/src/java/bin/qpid-web/web/itablet/images/ie/tick.gif   (with props)
    qpid/trunk/qpid/tools/src/java/bin/qpid-web/web/itablet/images/ie/transparent.gif   (with props)
    qpid/trunk/qpid/tools/src/java/bin/qpid-web/web/itablet/images/ie/transparent.png   (with props)
    qpid/trunk/qpid/tools/src/java/bin/qpid-web/web/itablet/images/mask.png   (with props)
    qpid/trunk/qpid/tools/src/java/bin/qpid-web/web/itablet/images/move.png   (with props)
    qpid/trunk/qpid/tools/src/java/bin/qpid-web/web/itablet/images/on_off.png   (with props)
    qpid/trunk/qpid/tools/src/java/bin/qpid-web/web/itablet/images/tick-active.png   (with props)
    qpid/trunk/qpid/tools/src/java/bin/qpid-web/web/itablet/images/tick.png   (with props)
    qpid/trunk/qpid/tools/src/java/bin/qpid-web/web/itablet/images/toggle-off.png   (with props)
    qpid/trunk/qpid/tools/src/java/bin/qpid-web/web/itablet/images/toggle-on-border.png   (with props)
    qpid/trunk/qpid/tools/src/java/bin/qpid-web/web/itablet/images/toggle-on.png   (with props)
    qpid/trunk/qpid/tools/src/java/bin/qpid-web/web/itablet/images/write.png   (with props)
    qpid/trunk/qpid/tools/src/java/bin/qpid-web/web/itablet/scripts/
    qpid/trunk/qpid/tools/src/java/bin/qpid-web/web/itablet/scripts/LICENCE
    qpid/trunk/qpid/tools/src/java/bin/qpid-web/web/itablet/scripts/iscroll.js   (with props)
    qpid/trunk/qpid/tools/src/java/bin/qpid-web/web/itablet/scripts/itablet.js   (with props)
    qpid/trunk/qpid/tools/src/java/bin/qpid-web/web/itablet/scripts/jquery.js   (with props)
    qpid/trunk/qpid/tools/src/java/bin/qpid-web/web/qmf-ui/
    qpid/trunk/qpid/tools/src/java/bin/qpid-web/web/qmf-ui/css/
    qpid/trunk/qpid/tools/src/java/bin/qpid-web/web/qmf-ui/css/LICENCE
    qpid/trunk/qpid/tools/src/java/bin/qpid-web/web/qmf-ui/css/index.css   (with props)
    qpid/trunk/qpid/tools/src/java/bin/qpid-web/web/qmf-ui/css/qmf.css   (with props)
    qpid/trunk/qpid/tools/src/java/bin/qpid-web/web/qmf-ui/images/
    qpid/trunk/qpid/tools/src/java/bin/qpid-web/web/qmf-ui/images/brokers.png   (with props)
    qpid/trunk/qpid/tools/src/java/bin/qpid-web/web/qmf-ui/images/connections.png   (with props)
    qpid/trunk/qpid/tools/src/java/bin/qpid-web/web/qmf-ui/images/events.png   (with props)
    qpid/trunk/qpid/tools/src/java/bin/qpid-web/web/qmf-ui/images/exchanges.png   (with props)
    qpid/trunk/qpid/tools/src/java/bin/qpid-web/web/qmf-ui/images/gradient.png   (with props)
    qpid/trunk/qpid/tools/src/java/bin/qpid-web/web/qmf-ui/images/links.png   (with props)
    qpid/trunk/qpid/tools/src/java/bin/qpid-web/web/qmf-ui/images/loading.gif   (with props)
    qpid/trunk/qpid/tools/src/java/bin/qpid-web/web/qmf-ui/images/qpid-logo.png   (with props)
    qpid/trunk/qpid/tools/src/java/bin/qpid-web/web/qmf-ui/images/queues.png   (with props)
    qpid/trunk/qpid/tools/src/java/bin/qpid-web/web/qmf-ui/images/route-topology.png   (with props)
    qpid/trunk/qpid/tools/src/java/bin/qpid-web/web/qmf-ui/images/settings.png   (with props)
    qpid/trunk/qpid/tools/src/java/bin/qpid-web/web/qmf-ui/scripts/
    qpid/trunk/qpid/tools/src/java/bin/qpid-web/web/qmf-ui/scripts/LICENCE
    qpid/trunk/qpid/tools/src/java/bin/qpid-web/web/qmf-ui/scripts/excanvas.js   (with props)
    qpid/trunk/qpid/tools/src/java/bin/qpid-web/web/qmf-ui/scripts/qmf-ui.js   (with props)
    qpid/trunk/qpid/tools/src/java/bin/qpid-web/web/qpid/
    qpid/trunk/qpid/tools/src/java/bin/qpid-web/web/qpid/scripts/
    qpid/trunk/qpid/tools/src/java/bin/qpid-web/web/qpid/scripts/LICENCE
    qpid/trunk/qpid/tools/src/java/bin/qpid-web/web/qpid/scripts/qpid.js   (with props)
    qpid/trunk/qpid/tools/src/java/bin/qpid-web/web/ui/
    qpid/trunk/qpid/tools/src/java/bin/qpid-web/web/ui/config.js   (with props)
    qpid/trunk/qpid/tools/src/java/bin/qpid-web/web/ui/qmf.html   (with props)
    qpid/trunk/qpid/tools/src/java/bin/whitelist.xml   (with props)
    qpid/trunk/qpid/tools/src/java/build.xml   (with props)
    qpid/trunk/qpid/tools/src/java/src/
    qpid/trunk/qpid/tools/src/java/src/main/
    qpid/trunk/qpid/tools/src/java/src/main/java/
    qpid/trunk/qpid/tools/src/java/src/main/java/org/
    qpid/trunk/qpid/tools/src/java/src/main/java/org/apache/
    qpid/trunk/qpid/tools/src/java/src/main/java/org/apache/qpid/
    qpid/trunk/qpid/tools/src/java/src/main/java/org/apache/qpid/qmf2/
    qpid/trunk/qpid/tools/src/java/src/main/java/org/apache/qpid/qmf2/agent/
    qpid/trunk/qpid/tools/src/java/src/main/java/org/apache/qpid/qmf2/agent/Agent.java   (with props)
    qpid/trunk/qpid/tools/src/java/src/main/java/org/apache/qpid/qmf2/agent/AgentExternal.java   (with props)
    qpid/trunk/qpid/tools/src/java/src/main/java/org/apache/qpid/qmf2/agent/MethodCallParams.java   (with props)
    qpid/trunk/qpid/tools/src/java/src/main/java/org/apache/qpid/qmf2/agent/MethodCallWorkItem.java   (with props)
    qpid/trunk/qpid/tools/src/java/src/main/java/org/apache/qpid/qmf2/agent/QmfAgentData.java   (with props)
    qpid/trunk/qpid/tools/src/java/src/main/java/org/apache/qpid/qmf2/agent/QueryWorkItem.java   (with props)
    qpid/trunk/qpid/tools/src/java/src/main/java/org/apache/qpid/qmf2/agent/ResubscribeParams.java   (with props)
    qpid/trunk/qpid/tools/src/java/src/main/java/org/apache/qpid/qmf2/agent/ResubscribeRequestWorkItem.java   (with props)
    qpid/trunk/qpid/tools/src/java/src/main/java/org/apache/qpid/qmf2/agent/SubscribableAgent.java   (with props)
    qpid/trunk/qpid/tools/src/java/src/main/java/org/apache/qpid/qmf2/agent/SubscribeRequestWorkItem.java   (with props)
    qpid/trunk/qpid/tools/src/java/src/main/java/org/apache/qpid/qmf2/agent/Subscription.java   (with props)
    qpid/trunk/qpid/tools/src/java/src/main/java/org/apache/qpid/qmf2/agent/SubscriptionParams.java   (with props)
    qpid/trunk/qpid/tools/src/java/src/main/java/org/apache/qpid/qmf2/agent/UnsubscribeRequestWorkItem.java   (with props)
    qpid/trunk/qpid/tools/src/java/src/main/java/org/apache/qpid/qmf2/agent/doc-files/
    qpid/trunk/qpid/tools/src/java/src/main/java/org/apache/qpid/qmf2/agent/doc-files/QmfData.png   (with props)
    qpid/trunk/qpid/tools/src/java/src/main/java/org/apache/qpid/qmf2/agent/doc-files/QmfEventListenerModel.png   (with props)
    qpid/trunk/qpid/tools/src/java/src/main/java/org/apache/qpid/qmf2/agent/doc-files/QmfQuery.png   (with props)
    qpid/trunk/qpid/tools/src/java/src/main/java/org/apache/qpid/qmf2/agent/doc-files/Schema.png   (with props)
    qpid/trunk/qpid/tools/src/java/src/main/java/org/apache/qpid/qmf2/agent/doc-files/Subscriptions.png   (with props)
    qpid/trunk/qpid/tools/src/java/src/main/java/org/apache/qpid/qmf2/agent/doc-files/WorkQueueEventModel.png   (with props)
    qpid/trunk/qpid/tools/src/java/src/main/java/org/apache/qpid/qmf2/common/
    qpid/trunk/qpid/tools/src/java/src/main/java/org/apache/qpid/qmf2/common/AMQPMessage.java   (with props)
    qpid/trunk/qpid/tools/src/java/src/main/java/org/apache/qpid/qmf2/common/BlockingNotifier.java   (with props)
    qpid/trunk/qpid/tools/src/java/src/main/java/org/apache/qpid/qmf2/common/BooleanEquals.java   (with props)
    qpid/trunk/qpid/tools/src/java/src/main/java/org/apache/qpid/qmf2/common/BooleanExists.java   (with props)
    qpid/trunk/qpid/tools/src/java/src/main/java/org/apache/qpid/qmf2/common/BooleanExpression.java   (with props)
    qpid/trunk/qpid/tools/src/java/src/main/java/org/apache/qpid/qmf2/common/BooleanFalse.java   (with props)
    qpid/trunk/qpid/tools/src/java/src/main/java/org/apache/qpid/qmf2/common/BooleanGreaterEqual.java   (with props)
    qpid/trunk/qpid/tools/src/java/src/main/java/org/apache/qpid/qmf2/common/BooleanGreaterThan.java   (with props)
    qpid/trunk/qpid/tools/src/java/src/main/java/org/apache/qpid/qmf2/common/BooleanLessEqual.java   (with props)
    qpid/trunk/qpid/tools/src/java/src/main/java/org/apache/qpid/qmf2/common/BooleanLessThan.java   (with props)
    qpid/trunk/qpid/tools/src/java/src/main/java/org/apache/qpid/qmf2/common/BooleanNotEquals.java   (with props)
    qpid/trunk/qpid/tools/src/java/src/main/java/org/apache/qpid/qmf2/common/BooleanRegexMatch.java   (with props)
    qpid/trunk/qpid/tools/src/java/src/main/java/org/apache/qpid/qmf2/common/BooleanTrue.java   (with props)
    qpid/trunk/qpid/tools/src/java/src/main/java/org/apache/qpid/qmf2/common/Expression.java   (with props)
    qpid/trunk/qpid/tools/src/java/src/main/java/org/apache/qpid/qmf2/common/Handle.java   (with props)
    qpid/trunk/qpid/tools/src/java/src/main/java/org/apache/qpid/qmf2/common/LogicalAnd.java   (with props)
    qpid/trunk/qpid/tools/src/java/src/main/java/org/apache/qpid/qmf2/common/LogicalExpression.java   (with props)
    qpid/trunk/qpid/tools/src/java/src/main/java/org/apache/qpid/qmf2/common/LogicalNot.java   (with props)
    qpid/trunk/qpid/tools/src/java/src/main/java/org/apache/qpid/qmf2/common/LogicalOr.java   (with props)
    qpid/trunk/qpid/tools/src/java/src/main/java/org/apache/qpid/qmf2/common/Notifier.java   (with props)
    qpid/trunk/qpid/tools/src/java/src/main/java/org/apache/qpid/qmf2/common/NotifierWrapper.java   (with props)
    qpid/trunk/qpid/tools/src/java/src/main/java/org/apache/qpid/qmf2/common/NullQmfEventListener.java   (with props)
    qpid/trunk/qpid/tools/src/java/src/main/java/org/apache/qpid/qmf2/common/ObjectId.java   (with props)
    qpid/trunk/qpid/tools/src/java/src/main/java/org/apache/qpid/qmf2/common/QmfCallback.java   (with props)
    qpid/trunk/qpid/tools/src/java/src/main/java/org/apache/qpid/qmf2/common/QmfData.java   (with props)
    qpid/trunk/qpid/tools/src/java/src/main/java/org/apache/qpid/qmf2/common/QmfDescribed.java   (with props)
    qpid/trunk/qpid/tools/src/java/src/main/java/org/apache/qpid/qmf2/common/QmfEvent.java   (with props)
    qpid/trunk/qpid/tools/src/java/src/main/java/org/apache/qpid/qmf2/common/QmfEventListener.java   (with props)
    qpid/trunk/qpid/tools/src/java/src/main/java/org/apache/qpid/qmf2/common/QmfException.java   (with props)
    qpid/trunk/qpid/tools/src/java/src/main/java/org/apache/qpid/qmf2/common/QmfManaged.java   (with props)
    qpid/trunk/qpid/tools/src/java/src/main/java/org/apache/qpid/qmf2/common/QmfQuery.java   (with props)
    qpid/trunk/qpid/tools/src/java/src/main/java/org/apache/qpid/qmf2/common/QmfQueryTarget.java   (with props)
    qpid/trunk/qpid/tools/src/java/src/main/java/org/apache/qpid/qmf2/common/QmfType.java   (with props)
    qpid/trunk/qpid/tools/src/java/src/main/java/org/apache/qpid/qmf2/common/SchemaClass.java   (with props)
    qpid/trunk/qpid/tools/src/java/src/main/java/org/apache/qpid/qmf2/common/SchemaClassId.java   (with props)
    qpid/trunk/qpid/tools/src/java/src/main/java/org/apache/qpid/qmf2/common/SchemaEventClass.java   (with props)
    qpid/trunk/qpid/tools/src/java/src/main/java/org/apache/qpid/qmf2/common/SchemaMethod.java   (with props)
    qpid/trunk/qpid/tools/src/java/src/main/java/org/apache/qpid/qmf2/common/SchemaObjectClass.java   (with props)
    qpid/trunk/qpid/tools/src/java/src/main/java/org/apache/qpid/qmf2/common/SchemaProperty.java   (with props)
    qpid/trunk/qpid/tools/src/java/src/main/java/org/apache/qpid/qmf2/common/WorkItem.java   (with props)
    qpid/trunk/qpid/tools/src/java/src/main/java/org/apache/qpid/qmf2/common/WorkQueue.java   (with props)
    qpid/trunk/qpid/tools/src/java/src/main/java/org/apache/qpid/qmf2/common/doc-files/
    qpid/trunk/qpid/tools/src/java/src/main/java/org/apache/qpid/qmf2/common/doc-files/Console.png   (with props)
    qpid/trunk/qpid/tools/src/java/src/main/java/org/apache/qpid/qmf2/common/doc-files/QmfData.png   (with props)
    qpid/trunk/qpid/tools/src/java/src/main/java/org/apache/qpid/qmf2/common/doc-files/QmfEventListenerModel.png   (with props)
    qpid/trunk/qpid/tools/src/java/src/main/java/org/apache/qpid/qmf2/common/doc-files/QmfQuery.png   (with props)
    qpid/trunk/qpid/tools/src/java/src/main/java/org/apache/qpid/qmf2/common/doc-files/Schema.png   (with props)
    qpid/trunk/qpid/tools/src/java/src/main/java/org/apache/qpid/qmf2/common/doc-files/Subscriptions.png   (with props)
    qpid/trunk/qpid/tools/src/java/src/main/java/org/apache/qpid/qmf2/common/doc-files/WorkItem.png   (with props)
    qpid/trunk/qpid/tools/src/java/src/main/java/org/apache/qpid/qmf2/common/doc-files/WorkQueueEventModel.png   (with props)
    qpid/trunk/qpid/tools/src/java/src/main/java/org/apache/qpid/qmf2/console/
    qpid/trunk/qpid/tools/src/java/src/main/java/org/apache/qpid/qmf2/console/Agent.java   (with props)
    qpid/trunk/qpid/tools/src/java/src/main/java/org/apache/qpid/qmf2/console/AgentAccessWorkItem.java   (with props)
    qpid/trunk/qpid/tools/src/java/src/main/java/org/apache/qpid/qmf2/console/AgentAddedWorkItem.java   (with props)
    qpid/trunk/qpid/tools/src/java/src/main/java/org/apache/qpid/qmf2/console/AgentDeletedWorkItem.java   (with props)
    qpid/trunk/qpid/tools/src/java/src/main/java/org/apache/qpid/qmf2/console/AgentHeartbeatWorkItem.java   (with props)
    qpid/trunk/qpid/tools/src/java/src/main/java/org/apache/qpid/qmf2/console/AgentProxy.java   (with props)
    qpid/trunk/qpid/tools/src/java/src/main/java/org/apache/qpid/qmf2/console/AgentRestartedWorkItem.java   (with props)
    qpid/trunk/qpid/tools/src/java/src/main/java/org/apache/qpid/qmf2/console/Console.java   (with props)
    qpid/trunk/qpid/tools/src/java/src/main/java/org/apache/qpid/qmf2/console/EventReceivedWorkItem.java   (with props)
    qpid/trunk/qpid/tools/src/java/src/main/java/org/apache/qpid/qmf2/console/MethodResponseWorkItem.java   (with props)
    qpid/trunk/qpid/tools/src/java/src/main/java/org/apache/qpid/qmf2/console/MethodResult.java   (with props)
    qpid/trunk/qpid/tools/src/java/src/main/java/org/apache/qpid/qmf2/console/ObjectUpdateWorkItem.java   (with props)
    qpid/trunk/qpid/tools/src/java/src/main/java/org/apache/qpid/qmf2/console/QmfConsoleData.java   (with props)
    qpid/trunk/qpid/tools/src/java/src/main/java/org/apache/qpid/qmf2/console/SubscribeIndication.java   (with props)
    qpid/trunk/qpid/tools/src/java/src/main/java/org/apache/qpid/qmf2/console/SubscribeParams.java   (with props)
    qpid/trunk/qpid/tools/src/java/src/main/java/org/apache/qpid/qmf2/console/SubscribeResponseWorkItem.java   (with props)
    qpid/trunk/qpid/tools/src/java/src/main/java/org/apache/qpid/qmf2/console/SubscriptionIndicationWorkItem.java   (with props)
    qpid/trunk/qpid/tools/src/java/src/main/java/org/apache/qpid/qmf2/console/SubscriptionManager.java   (with props)
    qpid/trunk/qpid/tools/src/java/src/main/java/org/apache/qpid/qmf2/console/doc-files/
    qpid/trunk/qpid/tools/src/java/src/main/java/org/apache/qpid/qmf2/console/doc-files/Console.png   (with props)
    qpid/trunk/qpid/tools/src/java/src/main/java/org/apache/qpid/qmf2/console/doc-files/QmfEventListenerModel.png   (with props)
    qpid/trunk/qpid/tools/src/java/src/main/java/org/apache/qpid/qmf2/console/doc-files/Subscriptions.png   (with props)
    qpid/trunk/qpid/tools/src/java/src/main/java/org/apache/qpid/qmf2/console/doc-files/WorkQueueEventModel.png   (with props)
    qpid/trunk/qpid/tools/src/java/src/main/java/org/apache/qpid/qmf2/tools/
    qpid/trunk/qpid/tools/src/java/src/main/java/org/apache/qpid/qmf2/tools/ConnectionAudit.java   (with props)
    qpid/trunk/qpid/tools/src/java/src/main/java/org/apache/qpid/qmf2/tools/ConnectionLogger.java   (with props)
    qpid/trunk/qpid/tools/src/java/src/main/java/org/apache/qpid/qmf2/tools/QpidConfig.java   (with props)
    qpid/trunk/qpid/tools/src/java/src/main/java/org/apache/qpid/qmf2/tools/QpidCtrl.java   (with props)
    qpid/trunk/qpid/tools/src/java/src/main/java/org/apache/qpid/qmf2/tools/QpidPrintEvents.java   (with props)
    qpid/trunk/qpid/tools/src/java/src/main/java/org/apache/qpid/qmf2/tools/QpidQueueStats.java   (with props)
    qpid/trunk/qpid/tools/src/java/src/main/java/org/apache/qpid/qmf2/tools/QueueFuse.java   (with props)
    qpid/trunk/qpid/tools/src/java/src/main/java/org/apache/qpid/qmf2/util/
    qpid/trunk/qpid/tools/src/java/src/main/java/org/apache/qpid/qmf2/util/ConnectionHelper.java   (with props)
    qpid/trunk/qpid/tools/src/java/src/main/java/org/apache/qpid/qmf2/util/GetOpt.java   (with props)
    qpid/trunk/qpid/tools/src/java/src/patch/
    qpid/trunk/qpid/tools/src/java/src/patch/java/
    qpid/trunk/qpid/tools/src/java/src/patch/java/AMQMessageDelegate_0_10.java   (with props)
    qpid/trunk/qpid/tools/src/java/src/qpid-broker-plugins-management-qmf2/
    qpid/trunk/qpid/tools/src/java/src/qpid-broker-plugins-management-qmf2/java/
    qpid/trunk/qpid/tools/src/java/src/qpid-broker-plugins-management-qmf2/java/org/
    qpid/trunk/qpid/tools/src/java/src/qpid-broker-plugins-management-qmf2/java/org/apache/
    qpid/trunk/qpid/tools/src/java/src/qpid-broker-plugins-management-qmf2/java/org/apache/qpid/
    qpid/trunk/qpid/tools/src/java/src/qpid-broker-plugins-management-qmf2/java/org/apache/qpid/server/
    qpid/trunk/qpid/tools/src/java/src/qpid-broker-plugins-management-qmf2/java/org/apache/qpid/server/qmf2/
    qpid/trunk/qpid/tools/src/java/src/qpid-broker-plugins-management-qmf2/java/org/apache/qpid/server/qmf2/QmfManagementAgent.java   (with props)
    qpid/trunk/qpid/tools/src/java/src/qpid-broker-plugins-management-qmf2/java/org/apache/qpid/server/qmf2/QmfManagementFactory.java   (with props)
    qpid/trunk/qpid/tools/src/java/src/qpid-broker-plugins-management-qmf2/java/org/apache/qpid/server/qmf2/QmfManagementPlugin.java   (with props)
    qpid/trunk/qpid/tools/src/java/src/qpid-broker-plugins-management-qmf2/java/org/apache/qpid/server/qmf2/agentdata/
    qpid/trunk/qpid/tools/src/java/src/qpid-broker-plugins-management-qmf2/java/org/apache/qpid/server/qmf2/agentdata/Binding.java   (with props)
    qpid/trunk/qpid/tools/src/java/src/qpid-broker-plugins-management-qmf2/java/org/apache/qpid/server/qmf2/agentdata/Broker.java   (with props)
    qpid/trunk/qpid/tools/src/java/src/qpid-broker-plugins-management-qmf2/java/org/apache/qpid/server/qmf2/agentdata/Connection.java   (with props)
    qpid/trunk/qpid/tools/src/java/src/qpid-broker-plugins-management-qmf2/java/org/apache/qpid/server/qmf2/agentdata/Exchange.java   (with props)
    qpid/trunk/qpid/tools/src/java/src/qpid-broker-plugins-management-qmf2/java/org/apache/qpid/server/qmf2/agentdata/Queue.java   (with props)
    qpid/trunk/qpid/tools/src/java/src/qpid-broker-plugins-management-qmf2/java/org/apache/qpid/server/qmf2/agentdata/Subscription.java   (with props)
    qpid/trunk/qpid/tools/src/java/src/restapi/
    qpid/trunk/qpid/tools/src/java/src/restapi/java/
    qpid/trunk/qpid/tools/src/java/src/restapi/java/org/
    qpid/trunk/qpid/tools/src/java/src/restapi/java/org/apache/
    qpid/trunk/qpid/tools/src/java/src/restapi/java/org/apache/qpid/
    qpid/trunk/qpid/tools/src/java/src/restapi/java/org/apache/qpid/restapi/
    qpid/trunk/qpid/tools/src/java/src/restapi/java/org/apache/qpid/restapi/ConnectionProxy.java   (with props)
    qpid/trunk/qpid/tools/src/java/src/restapi/java/org/apache/qpid/restapi/ConnectionStore.java   (with props)
    qpid/trunk/qpid/tools/src/java/src/restapi/java/org/apache/qpid/restapi/FileServer.java   (with props)
    qpid/trunk/qpid/tools/src/java/src/restapi/java/org/apache/qpid/restapi/HttpTransaction.java   (with props)
    qpid/trunk/qpid/tools/src/java/src/restapi/java/org/apache/qpid/restapi/JSON.java   (with props)
    qpid/trunk/qpid/tools/src/java/src/restapi/java/org/apache/qpid/restapi/JSONMapParser.java   (with props)
    qpid/trunk/qpid/tools/src/java/src/restapi/java/org/apache/qpid/restapi/QpidRestAPI.java   (with props)
    qpid/trunk/qpid/tools/src/java/src/restapi/java/org/apache/qpid/restapi/QpidServer.java   (with props)
    qpid/trunk/qpid/tools/src/java/src/restapi/java/org/apache/qpid/restapi/Server.java   (with props)
    qpid/trunk/qpid/tools/src/java/src/restapi/java/org/apache/qpid/restapi/httpserver/
    qpid/trunk/qpid/tools/src/java/src/restapi/java/org/apache/qpid/restapi/httpserver/Authenticator.java   (with props)
    qpid/trunk/qpid/tools/src/java/src/restapi/java/org/apache/qpid/restapi/httpserver/Delegator.java   (with props)
    qpid/trunk/qpid/tools/src/java/src/restapi/java/org/apache/qpid/restapi/httpserver/HttpExchangeTransaction.java   (with props)
    qpid/trunk/qpid/tools/src/java/src/restapi/java/org/apache/qpid/restapi/servlet/
    qpid/trunk/qpid/tools/src/java/src/restapi/java/org/apache/qpid/restapi/servlet/TODO   (with props)
    qpid/trunk/qpid/tools/src/java/src/test/
    qpid/trunk/qpid/tools/src/java/src/test/java/
    qpid/trunk/qpid/tools/src/java/src/test/java/org/
    qpid/trunk/qpid/tools/src/java/src/test/java/org/apache/
    qpid/trunk/qpid/tools/src/java/src/test/java/org/apache/qpid/
    qpid/trunk/qpid/tools/src/java/src/test/java/org/apache/qpid/qmf2/
    qpid/trunk/qpid/tools/src/java/src/test/java/org/apache/qpid/qmf2/test/
    qpid/trunk/qpid/tools/src/java/src/test/java/org/apache/qpid/qmf2/test/AgentExternalTest.java   (with props)
    qpid/trunk/qpid/tools/src/java/src/test/java/org/apache/qpid/qmf2/test/AgentSubscriptionTestConsole.java   (with props)
    qpid/trunk/qpid/tools/src/java/src/test/java/org/apache/qpid/qmf2/test/AgentTest.java   (with props)
    qpid/trunk/qpid/tools/src/java/src/test/java/org/apache/qpid/qmf2/test/AgentTestConsole.java   (with props)
    qpid/trunk/qpid/tools/src/java/src/test/java/org/apache/qpid/qmf2/test/BigPayloadAgentTest.java   (with props)
    qpid/trunk/qpid/tools/src/java/src/test/java/org/apache/qpid/qmf2/test/BigPayloadAgentTestConsole.java   (with props)
    qpid/trunk/qpid/tools/src/java/src/test/java/org/apache/qpid/qmf2/test/BrokerSubscriptionTestConsole.java   (with props)
    qpid/trunk/qpid/tools/src/java/src/test/java/org/apache/qpid/qmf2/test/InvokeMethodTest.java   (with props)
    qpid/trunk/qpid/tools/src/java/src/test/java/org/apache/qpid/qmf2/test/PartialGetObjectsTest.java   (with props)
    qpid/trunk/qpid/tools/src/java/src/test/java/org/apache/qpid/qmf2/test/SchemaTest.java   (with props)
    qpid/trunk/qpid/tools/src/java/src/test/java/org/apache/qpid/qmf2/test/Test1.java   (with props)
    qpid/trunk/qpid/tools/src/java/src/test/java/org/apache/qpid/qmf2/test/Test2.java   (with props)
    qpid/trunk/qpid/tools/src/java/src/test/java/org/apache/qpid/qmf2/test/Test3.java   (with props)
    qpid/trunk/qpid/tools/src/java/src/test/java/org/apache/qpid/qmf2/test/Test4.java   (with props)
    qpid/trunk/qpid/tools/src/java/src/test/java/org/apache/qpid/qmf2/test/URLTest.java   (with props)
    qpid/trunk/qpid/tools/src/java/test/
    qpid/trunk/qpid/tools/src/java/test/bin/
    qpid/trunk/qpid/tools/src/java/test/bin/AgentExternalTest.sh   (with props)
    qpid/trunk/qpid/tools/src/java/test/bin/AgentSubscriptionTestConsole.sh   (with props)
    qpid/trunk/qpid/tools/src/java/test/bin/AgentTest.sh   (with props)
    qpid/trunk/qpid/tools/src/java/test/bin/AgentTestConsole.sh   (with props)
    qpid/trunk/qpid/tools/src/java/test/bin/BigPayloadAgentTest.sh   (with props)
    qpid/trunk/qpid/tools/src/java/test/bin/BigPayloadAgentTestConsole.sh   (with props)
    qpid/trunk/qpid/tools/src/java/test/bin/BrokerSubscriptionTestConsole.sh   (with props)
    qpid/trunk/qpid/tools/src/java/test/bin/InvokeMethodTest.sh   (with props)
    qpid/trunk/qpid/tools/src/java/test/bin/PartialGetObjectsTest.sh   (with props)
    qpid/trunk/qpid/tools/src/java/test/bin/SchemaTest.sh   (with props)
    qpid/trunk/qpid/tools/src/java/test/bin/Test1.sh   (with props)
    qpid/trunk/qpid/tools/src/java/test/bin/Test2.sh   (with props)
    qpid/trunk/qpid/tools/src/java/test/bin/Test3.sh   (with props)
    qpid/trunk/qpid/tools/src/java/test/bin/Test4.sh   (with props)
    qpid/trunk/qpid/tools/src/java/test/bin/URLTest.sh   (with props)
    qpid/trunk/qpid/tools/src/java/test/bin/log4j.xml   (with props)

Added: qpid/trunk/qpid/tools/src/java/README-Java-Broker.txt
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/tools/src/java/README-Java-Broker.txt?rev=1465662&view=auto
==============================================================================
--- qpid/trunk/qpid/tools/src/java/README-Java-Broker.txt (added)
+++ qpid/trunk/qpid/tools/src/java/README-Java-Broker.txt Mon Apr  8 15:19:04 2013
@@ -0,0 +1,350 @@
+
+The Qpid Java Broker by default uses either JMX or an HTTP Management GUI & REST API, however by building
+a QMF2 Agent as a Java Broker plugin it's possible to provide better synergy between the C++ and Java Brokers
+and allow the Java Broker to be controlled by the Qpid Command Line tools and also via the QMF2 REST API
+and GUI thus providing a unified view across a mixture of C++ and Java Brokers.
+
+
+To build and install the Java Broker QMF2 plugin do:
+
+ant all
+
+***********************************************************************************************************
+*         Note that the QmfManagementPlugin requires a version of the Java Broker >= 0.22                 *      
+*                                                                                                         *
+* The initial version of QmfManagementPlugin released to https://issues.apache.org/jira/browse/QPID-3675  *
+* uses the ManagementPlugin and ManagementFactory interfaces which were introduced in Qpid 0.20 but then  *
+* dropped in Qpid 0.22 so the version linked to the Jira is the only version that will work with the 0.20 *
+* Java Broker.                                                                                            *
+*                                                                                                         *
+* As of Qpid 0.22 the Java Broker Plugin and Configuration APIs have changed. The Plugin API implements   *
+* org.apache.qpid.server.model.Plugin extending org.apache.qpid.server.model.adapter.AbstractPluginAdapter*
+* and uses org.apache.qpid.server.plugin.PluginFactory to create the Plugin instance.                     *
+*                                                                                                         *
+* The Plugin uses the org.apache.qpid.server.model.* classes and maps them to QmfData.                    *
+*                                                                                                         *
+* The intention is to track changes on Qpid Trunk, but the Plugin API is still under a bit of flux        *
+***********************************************************************************************************
+
+N.B. this requires that the Qpid jars (preferably qpid-all.jar) are on your CLASSPATH and that the
+QPID_HOME environment variable is set to point to <qpid>/java/build (QPID_HOME is needed by the Java 
+broker anyway).
+
+The ant all target compiles the Java Broker QMF2 plugin and copies the qpid-broker-plugins-management-qmf2.jar
+and qmf2.jar to $QPID_HOME/lib/plugins creating the plugins directory if it doesn't already exist. That
+directory is one read by the qpid-server broker startup script and placed on the broker's CLASSPATH.
+
+
+
+************************************************* Config **************************************************
+
+As of Qpid 0.22 the way of configuring the Java Broker has moved to an initial config.json file in 
+$QPID_WORK and updates via the Management Plugins. It is IMPORTANT to ensure that the following:
+
+{
+    "name" : "qmf2Management",
+    "pluginType" : "MANAGEMENT-QMF2",
+    "connectionURL" : "amqp://guest:guest@/?brokerlist='tcp://0.0.0.0:5672'"
+  }
+
+is added to the "plugins" list of $QPID_WORK/config.json or the Plugin will not start. There is also an "id"
+property but if this is omitted it will get automatically created the first time the Plugin starts, which
+is probably more useful that trying to make a UUID up.
+
+The "connectionURL" property is particularly important. The Plugin connects to AMQP via the JMS Client so
+"connectionURL" represents a valid Java ConnectionURL to the Broker so the username/password and any other
+ConnectionURL configuration needs to be valid as for any other AMQP Connection to the Broker.
+
+
+If the QMF GUI is to be used then either the -p option of QpidRestAPI.sh should be used to set the REST Server's
+HTTP port to something other than 8080 or the "ports" list of $QPID_WORK/config.json should be modified from e.g.
+{
+    "id" : "1f2c4c7a-f33a-316b-b0e9-c02fab74469d",
+    "name" : "8080-HTTP",
+    "port" : 8080,
+    "protocols" : [ "HTTP" ]
+  }
+
+to
+
+{
+    "id" : "1f2c4c7a-f33a-316b-b0e9-c02fab74469d",
+    "name" : "9090-HTTP",
+    "port" : 9090,
+    "protocols" : [ "HTTP" ]
+  }
+
+So that the HTTP ports don't conflict.
+
+
+In the top-level Broker config the "defaultVirtualHost" *MUST* be set to the name of the default Virtual Host
+if this property is not set or is set to a name that doesn't match the name of one of the Virtual Hosts
+then the Plugin will not start correctly.
+
+
+******************************************** Troubleshooting **********************************************
+
+If all has gone well you should see
+
+[Broker] MNG-1001 : QMF2 Management Startup
+[Broker] MNG-1004 : QMF2 Management Ready
+
+in the Broker log messages when you run qpid-server, if you don't see these then there is likely to be a problem.
+
+1. Check the directory $QPID_HOME/lib/plugins
+That should contain qmf2.jar and qpid-broker-plugins-management-qmf2.jar if it doesn't then the Plugin hasn't been
+built or deployed try doing
+
+ant all
+
+again.
+
+2. If the jars mentioned above are present and correct in the plugins directory the most likely cause of failure
+is incorrect configuration - see the Config section above, in particular the "plugins" list and "defaultVirtualHost".
+
+
+
+******************************* Java Broker Management Plugin - mini HOWTO ********************************
+
+The procedure for writing Plugins for the Java Broker isn't documented yet, so the following mini HOWTO
+describes what I did. It may not be the *right* way but it seems to result in a Plugin that starts with the broker.
+
+1. Create a PluginFactory
+
+Management plugins are instantiated by Factory classes that implement the interface 
+org.apache.qpid.server.plugin.PluginFactory e.g.
+
+
+package org.apache.qpid.server.qmf2;
+
+// Misc Imports
+import java.util.Map;
+import java.util.UUID;
+
+// Java Broker Management Imports
+import org.apache.qpid.server.model.Broker;
+import org.apache.qpid.server.model.Plugin;
+import org.apache.qpid.server.plugin.PluginFactory;
+
+public class QmfManagementFactory implements PluginFactory
+{
+    /**
+     * This factory method creates an instance of QmfManagementPlugin called via the QpidServiceLoader.
+     * @param id the UUID of the Plugin.
+     * @param attributes a Map containing configuration information for the Plugin.
+     * @param broker the root Broker Management Object from which the other Management Objects may be obtained.
+     * @return the QmfManagementPlugin instance which creates a QMF2 Agent able to interrogate the broker Management
+     * Objects and return their properties as QmfData.
+     */
+    @Override
+    public Plugin createInstance(UUID id, Map<String, Object> attributes, Broker broker)
+    {
+        if (QmfManagementPlugin.PLUGIN_TYPE.equals(attributes.get(PLUGIN_TYPE)))
+        {
+            return new QmfManagementPlugin(id, broker, attributes);
+        }
+        else
+        {
+            return null;
+        }
+    }
+}
+
+
+2. Create a Plugin
+
+Plugins implement the interface org.apache.qpid.server.model.Plugin which seems to be done by extending
+org.apache.qpid.server.model.adapter.AbstractPluginAdapter. The main APIs are to override the setState()
+and getName() methods and to implement a static initialiser to populate ConfiguredObject ATTRIBUTES.
+
+
+package org.apache.qpid.server.qmf2;
+
+// Misc Imports
+import java.lang.reflect.Type;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Map;
+import java.util.UUID;
+
+// Java Broker Management Imports
+import org.apache.qpid.server.logging.actors.CurrentActor;
+import org.apache.qpid.server.logging.messages.ManagementConsoleMessages;
+
+import org.apache.qpid.server.model.Broker;
+import org.apache.qpid.server.model.Exchange;
+import org.apache.qpid.server.model.LifetimePolicy;
+import org.apache.qpid.server.model.Plugin;
+import org.apache.qpid.server.model.State;
+import org.apache.qpid.server.model.VirtualHost;
+import org.apache.qpid.server.model.adapter.AbstractPluginAdapter;
+
+import org.apache.qpid.server.plugin.PluginFactory;
+import org.apache.qpid.server.util.MapValueConverter;
+
+public class QmfManagementPlugin extends AbstractPluginAdapter
+{
+    private static final String OPERATIONAL_LOGGING_NAME = "QMF2";
+
+    /************* Static initialiser used to implement org.apache.qpid.server.model.Plugin *************/
+
+    public static final String PLUGIN_TYPE = "MANAGEMENT-QMF2";
+
+    // attributes
+    public static final String NAME = "name";
+    public static final String CONNECTION_URL = "connectionURL";
+
+    // default values
+    public static final String DEFAULT_NAME = "qmf2Management";
+    public static final String DEFAULT_CONNECTION_URL = "amqp://guest:guest@/?brokerlist='tcp://0.0.0.0:5672'";
+
+    @SuppressWarnings("serial")
+    private static final Collection<String> AVAILABLE_ATTRIBUTES = Collections.unmodifiableCollection(
+        new HashSet<String>(Plugin.AVAILABLE_ATTRIBUTES){{
+            add(NAME);
+            add(CONNECTION_URL);
+            add(PluginFactory.PLUGIN_TYPE);
+    }});
+
+    @SuppressWarnings("serial")
+    private static final Map<String, Object> DEFAULTS = new HashMap<String, Object>(){{
+        put(NAME, DEFAULT_NAME);
+        put(CONNECTION_URL, DEFAULT_CONNECTION_URL);
+        put(PluginFactory.PLUGIN_TYPE, PLUGIN_TYPE);
+    }};
+
+    @SuppressWarnings("serial")
+    private static final Map<String, Type> ATTRIBUTE_TYPES = new HashMap<String, Type>(){{
+        put(NAME, String.class);
+        put(CONNECTION_URL, String.class);
+        put(PluginFactory.PLUGIN_TYPE, String.class);
+    }};
+
+    /************************************ End of Static initialiser *************************************/
+
+    /**
+     * Constructor, called at broker startup by QmfManagementFactory.createInstance().
+     * @param id the UUID of the Plugin.
+     * @param attributes a Map containing configuration information for the Plugin.
+     * @param broker the root Broker Management Object from which the other Management Objects may be obtained.
+     */
+    public QmfManagementPlugin(UUID id, Broker broker, Map<String, Object> attributes)
+    {
+        super(id, DEFAULTS, MapValueConverter.convert(attributes, ATTRIBUTE_TYPES), broker.getTaskExecutor());
+        addParent(Broker.class, broker);
+System.out.println("************ Constructing QmfManagementPlugin");
+    }
+
+    /**
+     * Set the state of the Plugin, I believe that this is called from the BrokerAdapter object when it
+     * has its own state set to State.ACTIVE or State.STOPPED.
+     * When State.ACTIVE is set this calls the start() method to startup the Plugin, when State.STOPPED
+     * is set this calls the stop() method to shutdown the Plugin.
+     * @param currentState the current state of the Plugin (ignored).
+     * @param desiredState the desired state of the Plugin (either State.ACTIVE or State.STOPPED).
+     * @return true if a valid state has been set, otherwise false.
+     */
+    @Override // From org.apache.qpid.server.model.adapter.AbstractAdapter
+    protected boolean setState(State currentState, State desiredState)
+    {
+        if (desiredState == State.ACTIVE)
+        {
+            start();
+            return true;
+        }
+        else if (desiredState == State.STOPPED)
+        {
+            stop();
+            return true;
+        }
+        else
+        {
+            return false;
+        }
+    }
+
+    private void start()
+    {
+        // Log "QMF2 Management Startup" message.
+        CurrentActor.get().message(ManagementConsoleMessages.STARTUP(OPERATIONAL_LOGGING_NAME));
+
+        // Log QMF2 Management Ready message.
+        CurrentActor.get().message(ManagementConsoleMessages.READY(OPERATIONAL_LOGGING_NAME));
+    }
+
+    private void stop()
+    {
+        // Log "QMF2 Management Stopped" message (may not get displayed).
+        CurrentActor.get().message(ManagementConsoleMessages.STOPPED(OPERATIONAL_LOGGING_NAME));
+    }
+
+    /**
+     * Get the name of this Plugin.
+     * @return the Plugin name (default is "qmf2Management").
+     */
+    @Override // From org.apache.qpid.server.model.ConfiguredObject
+    public String getName()
+    {
+        return (String)getAttribute(NAME);
+    }
+
+    /**
+     * Accessor to retrieve the names of the available attributes. It is important to provide this overridden
+     * method because the Constructor uses this information when populating the underlying AbstractPlugin
+     * information. If we don't provide this override method getAttribute(name) will return the default values.
+     * @return the names of the available Plugin config attributes as a Collection.
+     */
+    @Override // From org.apache.qpid.server.model.adapter.AbstractPluginAdapter
+    public Collection<String> getAttributeNames()
+    {
+        return AVAILABLE_ATTRIBUTES;
+    }
+}
+
+3. Populate the META-INF
+
+Qpid Java broker Plugins seem to use a facade over java.util.ServiceLoader called 
+org.apache.qpid.server.plugin.QpidServiceLoader. In order to use a ServiceLoader the jar containing the Plugin
+needs to contain a file:
+META-INF/services/org.apache.qpid.server.plugin.PluginFactory
+
+which contains the fully qualified class name of the class implementing PluginFactory e.g.
+
+org.apache.qpid.server.qmf2.QmfManagementFactory
+
+
+The most convenient way to achieve this is to include a ServiceProvider block in the jar ant task e.g.
+
+	<jar destfile="build/lib/qpid-broker-plugins-management-qmf2.jar"
+         basedir="build/scratch/qpid-broker-plugins-management-qmf2">
+
+        <service type="org.apache.qpid.server.plugin.PluginFactory" 
+                 provider="org.apache.qpid.server.qmf2.QmfManagementFactory"/>
+	</jar>
+
+
+4. Build the jar using your favourite method.
+
+5. Deploy the jar to $QPID_HOME/lib/plugins
+
+6. Ensure the config.json file in $QPID_WORK contains:
+{
+    "name" : "qmf2Management",
+    "pluginType" : "MANAGEMENT-QMF2",
+    "connectionURL" : "amqp://guest:guest@/?brokerlist='tcp://0.0.0.0:5672'"
+  }
+
+(or whatever the name/pluginType/etc. of the actual Plugin is)
+in the "plugins" list (the id property will be added automatically when the Broker starts)
+
+7. Start up the Java Broker via qpid-server
+
+
+If all has gone well the Plugin should start up. Clearly you'll probably want to add something to the Plugin so
+that it actually does something vaguely useful :-)
+
+
+
+

Propchange: qpid/trunk/qpid/tools/src/java/README-Java-Broker.txt
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: qpid/trunk/qpid/tools/src/java/README-Java-Broker.txt
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: qpid/trunk/qpid/tools/src/java/README.txt
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/tools/src/java/README.txt?rev=1465662&view=auto
==============================================================================
--- qpid/trunk/qpid/tools/src/java/README.txt (added)
+++ qpid/trunk/qpid/tools/src/java/README.txt Mon Apr  8 15:19:04 2013
@@ -0,0 +1,73 @@
+
+This is a Java JMS implementation of the QMF2 API specified at
+https://cwiki.apache.org/qpid/qmfv2-api-proposal.html
+
+The Qpid Java jar needs to be on your classpath - I tend to use qpid-all.jar but client only jars should be OK too.
+
+QMF2 support is now available for the Qpid Java Broker see README-Java-Broker.txt for details.
+
+
+
+*********************************************** Important!! ***********************************************
+*  If your version of Qpid is older than 0.12 the QMF2 API won't work unless your setup is as follows:    *
+*********************************************** Important!! ***********************************************
+
+For those who are running with Qpid 0.12 or above the patch described below isn't necessary.
+The default "api" ant target in build.xml builds everything except the patch, which is the preferred
+approach for later Qpid versions, though using the patched version of the older AMQMessageDelegate_0_10.java
+still works with Qpid 0.12 (but not with later Qpid versions).
+
+
+To be clear, if you are using Qpid Java jars 0.12 or above you do not need to use the patch described below
+even if you are talking to an earlier broker, however do note that if you are talking to a broker < Qpid 0.10
+you need to set "--mgmt-qmf2 yes" when you start up qpidd if you want to get QMF2 Events and heartbeats pushed.
+This is particularly important to note if you are using the Qpid GUI, as in default mode its updates are
+triggered by the QMF2 heartbeats. If "--mgmt-qmf2 yes" isn't set on a 0.8 broker you'll see "Broker Disconnected"
+flash briefly every 30 seconds or so as timeouts occur. Creating a QMF Console Connecton in the GUI with
+"Disable Events" selected uses a timed poll rather than a heartbeat so it may be better to do that for cases
+where access to the broker configuration is not available.
+
+***********************************************************************************************************
+
+Note 1: This uses QMF2 so requires that the "--mgmt-qmf2 yes" option is applied to the broker (this is
+        the default from Qpid 0.10 onwards)
+Note 2: In order to use QMF2 the app-id field needs to be set. There appears to be no way to set the AMQP
+        0-10 specific app-id field on a message which the broker's QMFv2 implementation currently requires.
+
+Gordon Sim has put together a patch for org.apache.qpid.client.message.AMQMessageDelegate_0_10
+Found in client/src/main/java/org/apache/qpid/client/message/AMQMessageDelegate_0_10.java
+ 
+public void setStringProperty(String propertyName, String value) throws JMSException
+{
+       checkPropertyName(propertyName);
+       checkWritableProperties();
+       setApplicationHeader(propertyName, value);
+
+       if ("x-amqp-0-10.app-id".equals(propertyName))
+       {
+           _messageProps.setAppId(value.getBytes());
+       }
+}
+ 
+The jira "https://issues.apache.org/jira/browse/QPID-3302." covers this.
+
+
+This has been fixed in Qpid 0.12, but I've included a patched version of AMQMessageDelegate_0_10.java
+in the build directory so that people using earlier versions can get up and running (the QMF2 library
+was initially developed using Qpid 0.10).
+
+
+The "api-patched" ant target in build.xml creates a qpid-client-patch.jar in addition to the qmf2.jar and qmf2test.jar
+
+It is assumed that the qpid-clientxxx.jar is already on your CLASSPATH so one would do:
+
+CLASSPATH=../../build/lib/qpid-client-patch.jar:$CLASSPATH:../../build/lib/qmf2.jar:../../build/lib/qmf2test.jar
+
+to put the patched AMQMessageDelegate_0_10 ahead of the unpatched one. This is already done for the scripts that
+call the various test and tool classes.
+
+
+
+
+
+

Propchange: qpid/trunk/qpid/tools/src/java/README.txt
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: qpid/trunk/qpid/tools/src/java/README.txt
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: qpid/trunk/qpid/tools/src/java/bin/ConnectionAudit.sh
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/tools/src/java/bin/ConnectionAudit.sh?rev=1465662&view=auto
==============================================================================
--- qpid/trunk/qpid/tools/src/java/bin/ConnectionAudit.sh (added)
+++ qpid/trunk/qpid/tools/src/java/bin/ConnectionAudit.sh Mon Apr  8 15:19:04 2013
@@ -0,0 +1,35 @@
+#!/bin/bash
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+# 
+#   http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+
+WHEREAMI=`dirname $0`
+if [ -z "$QMF2_HOME" ]; then
+    export QMF2_HOME=`cd $WHEREAMI/../ && pwd`
+fi
+
+QMF2_LIBS=$QMF2_HOME/build/lib
+
+CLASSPATH=$QMF2_LIBS/qpid-client-patch.jar:$CLASSPATH:$QMF2_LIBS/qmf2.jar
+
+# Get the log level from the AMQJ_LOGGING_LEVEL environment variable.
+if [ -n "$AMQJ_LOGGING_LEVEL" ]; then
+    PROPERTIES=-Damqj.logging.level=$AMQJ_LOGGING_LEVEL
+fi
+
+java -cp $CLASSPATH $PROPERTIES org.apache.qpid.qmf2.tools.ConnectionAudit "$@"

Propchange: qpid/trunk/qpid/tools/src/java/bin/ConnectionAudit.sh
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: qpid/trunk/qpid/tools/src/java/bin/ConnectionAudit.sh
------------------------------------------------------------------------------
    svn:executable = *

Added: qpid/trunk/qpid/tools/src/java/bin/ConnectionLogger.sh
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/tools/src/java/bin/ConnectionLogger.sh?rev=1465662&view=auto
==============================================================================
--- qpid/trunk/qpid/tools/src/java/bin/ConnectionLogger.sh (added)
+++ qpid/trunk/qpid/tools/src/java/bin/ConnectionLogger.sh Mon Apr  8 15:19:04 2013
@@ -0,0 +1,35 @@
+#!/bin/bash
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+# 
+#   http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+
+WHEREAMI=`dirname $0`
+if [ -z "$QMF2_HOME" ]; then
+    export QMF2_HOME=`cd $WHEREAMI/../ && pwd`
+fi
+
+QMF2_LIBS=$QMF2_HOME/build/lib
+
+CLASSPATH=$QMF2_LIBS/qpid-client-patch.jar:$CLASSPATH:$QMF2_LIBS/qmf2.jar
+
+# Get the log level from the AMQJ_LOGGING_LEVEL environment variable.
+if [ -n "$AMQJ_LOGGING_LEVEL" ]; then
+    PROPERTIES=-Damqj.logging.level=$AMQJ_LOGGING_LEVEL
+fi
+
+java -cp $CLASSPATH $PROPERTIES org.apache.qpid.qmf2.tools.ConnectionLogger "$@"

Propchange: qpid/trunk/qpid/tools/src/java/bin/ConnectionLogger.sh
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: qpid/trunk/qpid/tools/src/java/bin/ConnectionLogger.sh
------------------------------------------------------------------------------
    svn:executable = *

Added: qpid/trunk/qpid/tools/src/java/bin/QpidConfig.sh
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/tools/src/java/bin/QpidConfig.sh?rev=1465662&view=auto
==============================================================================
--- qpid/trunk/qpid/tools/src/java/bin/QpidConfig.sh (added)
+++ qpid/trunk/qpid/tools/src/java/bin/QpidConfig.sh Mon Apr  8 15:19:04 2013
@@ -0,0 +1,35 @@
+#!/bin/bash
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+# 
+#   http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+
+WHEREAMI=`dirname $0`
+if [ -z "$QMF2_HOME" ]; then
+    export QMF2_HOME=`cd $WHEREAMI/../ && pwd`
+fi
+
+QMF2_LIBS=$QMF2_HOME/build/lib
+
+CLASSPATH=$QMF2_LIBS/qpid-client-patch.jar:$CLASSPATH:$QMF2_LIBS/qmf2.jar
+
+# Get the log level from the AMQJ_LOGGING_LEVEL environment variable.
+if [ -n "$AMQJ_LOGGING_LEVEL" ]; then
+    PROPERTIES=-Damqj.logging.level=$AMQJ_LOGGING_LEVEL
+fi
+
+java -cp $CLASSPATH $PROPERTIES org.apache.qpid.qmf2.tools.QpidConfig "$@"

Propchange: qpid/trunk/qpid/tools/src/java/bin/QpidConfig.sh
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: qpid/trunk/qpid/tools/src/java/bin/QpidConfig.sh
------------------------------------------------------------------------------
    svn:executable = *

Added: qpid/trunk/qpid/tools/src/java/bin/QpidCtrl.sh
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/tools/src/java/bin/QpidCtrl.sh?rev=1465662&view=auto
==============================================================================
--- qpid/trunk/qpid/tools/src/java/bin/QpidCtrl.sh (added)
+++ qpid/trunk/qpid/tools/src/java/bin/QpidCtrl.sh Mon Apr  8 15:19:04 2013
@@ -0,0 +1,35 @@
+#!/bin/bash
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+# 
+#   http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+
+WHEREAMI=`dirname $0`
+if [ -z "$QMF2_HOME" ]; then
+    export QMF2_HOME=`cd $WHEREAMI/../ && pwd`
+fi
+
+QMF2_LIBS=$QMF2_HOME/build/lib
+
+CLASSPATH=$QMF2_LIBS/qpid-client-patch.jar:$CLASSPATH:$QMF2_LIBS/qmf2.jar
+
+# Get the log level from the AMQJ_LOGGING_LEVEL environment variable.
+if [ -n "$AMQJ_LOGGING_LEVEL" ]; then
+    PROPERTIES=-Damqj.logging.level=$AMQJ_LOGGING_LEVEL
+fi
+
+java -cp $CLASSPATH $PROPERTIES org.apache.qpid.qmf2.tools.QpidCtrl "$@"

Propchange: qpid/trunk/qpid/tools/src/java/bin/QpidCtrl.sh
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: qpid/trunk/qpid/tools/src/java/bin/QpidCtrl.sh
------------------------------------------------------------------------------
    svn:executable = *

Added: qpid/trunk/qpid/tools/src/java/bin/QpidPrintEvents.sh
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/tools/src/java/bin/QpidPrintEvents.sh?rev=1465662&view=auto
==============================================================================
--- qpid/trunk/qpid/tools/src/java/bin/QpidPrintEvents.sh (added)
+++ qpid/trunk/qpid/tools/src/java/bin/QpidPrintEvents.sh Mon Apr  8 15:19:04 2013
@@ -0,0 +1,35 @@
+#!/bin/bash
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+# 
+#   http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+
+WHEREAMI=`dirname $0`
+if [ -z "$QMF2_HOME" ]; then
+    export QMF2_HOME=`cd $WHEREAMI/../ && pwd`
+fi
+
+QMF2_LIBS=$QMF2_HOME/build/lib
+
+CLASSPATH=$QMF2_LIBS/qpid-client-patch.jar:$CLASSPATH:$QMF2_LIBS/qmf2.jar
+
+# Get the log level from the AMQJ_LOGGING_LEVEL environment variable.
+if [ -n "$AMQJ_LOGGING_LEVEL" ]; then
+    PROPERTIES=-Damqj.logging.level=$AMQJ_LOGGING_LEVEL
+fi
+
+java -cp $CLASSPATH $PROPERTIES org.apache.qpid.qmf2.tools.QpidPrintEvents "$@"

Propchange: qpid/trunk/qpid/tools/src/java/bin/QpidPrintEvents.sh
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: qpid/trunk/qpid/tools/src/java/bin/QpidPrintEvents.sh
------------------------------------------------------------------------------
    svn:executable = *

Added: qpid/trunk/qpid/tools/src/java/bin/QpidQueueStats.sh
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/tools/src/java/bin/QpidQueueStats.sh?rev=1465662&view=auto
==============================================================================
--- qpid/trunk/qpid/tools/src/java/bin/QpidQueueStats.sh (added)
+++ qpid/trunk/qpid/tools/src/java/bin/QpidQueueStats.sh Mon Apr  8 15:19:04 2013
@@ -0,0 +1,35 @@
+#!/bin/bash
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+# 
+#   http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+
+WHEREAMI=`dirname $0`
+if [ -z "$QMF2_HOME" ]; then
+    export QMF2_HOME=`cd $WHEREAMI/../ && pwd`
+fi
+
+QMF2_LIBS=$QMF2_HOME/build/lib
+
+CLASSPATH=$QMF2_LIBS/qpid-client-patch.jar:$CLASSPATH:$QMF2_LIBS/qmf2.jar
+
+# Get the log level from the AMQJ_LOGGING_LEVEL environment variable.
+if [ -n "$AMQJ_LOGGING_LEVEL" ]; then
+    PROPERTIES=-Damqj.logging.level=$AMQJ_LOGGING_LEVEL
+fi
+
+java -cp $CLASSPATH $PROPERTIES org.apache.qpid.qmf2.tools.QpidQueueStats "$@"

Propchange: qpid/trunk/qpid/tools/src/java/bin/QpidQueueStats.sh
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: qpid/trunk/qpid/tools/src/java/bin/QpidQueueStats.sh
------------------------------------------------------------------------------
    svn:executable = *

Added: qpid/trunk/qpid/tools/src/java/bin/QpidRestAPI.sh
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/tools/src/java/bin/QpidRestAPI.sh?rev=1465662&view=auto
==============================================================================
--- qpid/trunk/qpid/tools/src/java/bin/QpidRestAPI.sh (added)
+++ qpid/trunk/qpid/tools/src/java/bin/QpidRestAPI.sh Mon Apr  8 15:19:04 2013
@@ -0,0 +1,35 @@
+#!/bin/bash
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+# 
+#   http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+
+WHEREAMI=`dirname $0`
+if [ -z "$QMF2_HOME" ]; then
+    export QMF2_HOME=`cd $WHEREAMI/../ && pwd`
+fi
+
+QMF2_LIBS=$QMF2_HOME/build/lib
+
+CLASSPATH=$QMF2_LIBS/qpid-client-patch.jar:$CLASSPATH:$QMF2_LIBS/qmf2.jar:$QMF2_LIBS/restapi.jar
+
+# Get the log level from the AMQJ_LOGGING_LEVEL environment variable.
+if [ -n "$AMQJ_LOGGING_LEVEL" ]; then
+    PROPERTIES=-Damqj.logging.level=$AMQJ_LOGGING_LEVEL
+fi
+
+java -cp $CLASSPATH $PROPERTIES org.apache.qpid.restapi.QpidRestAPI "$@"

Propchange: qpid/trunk/qpid/tools/src/java/bin/QpidRestAPI.sh
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: qpid/trunk/qpid/tools/src/java/bin/QpidRestAPI.sh
------------------------------------------------------------------------------
    svn:executable = *

Added: qpid/trunk/qpid/tools/src/java/bin/QueueFuse.sh
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/tools/src/java/bin/QueueFuse.sh?rev=1465662&view=auto
==============================================================================
--- qpid/trunk/qpid/tools/src/java/bin/QueueFuse.sh (added)
+++ qpid/trunk/qpid/tools/src/java/bin/QueueFuse.sh Mon Apr  8 15:19:04 2013
@@ -0,0 +1,35 @@
+#!/bin/bash
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+# 
+#   http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+
+WHEREAMI=`dirname $0`
+if [ -z "$QMF2_HOME" ]; then
+    export QMF2_HOME=`cd $WHEREAMI/../ && pwd`
+fi
+
+QMF2_LIBS=$QMF2_HOME/build/lib
+
+CLASSPATH=$QMF2_LIBS/qpid-client-patch.jar:$CLASSPATH:$QMF2_LIBS/qmf2.jar
+
+# Get the log level from the AMQJ_LOGGING_LEVEL environment variable.
+if [ -n "$AMQJ_LOGGING_LEVEL" ]; then
+    PROPERTIES=-Damqj.logging.level=$AMQJ_LOGGING_LEVEL
+fi
+
+java -cp $CLASSPATH $PROPERTIES org.apache.qpid.qmf2.tools.QueueFuse "$@"

Propchange: qpid/trunk/qpid/tools/src/java/bin/QueueFuse.sh
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: qpid/trunk/qpid/tools/src/java/bin/QueueFuse.sh
------------------------------------------------------------------------------
    svn:executable = *

Added: qpid/trunk/qpid/tools/src/java/bin/log4j.xml
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/tools/src/java/bin/log4j.xml?rev=1465662&view=auto
==============================================================================
--- qpid/trunk/qpid/tools/src/java/bin/log4j.xml (added)
+++ qpid/trunk/qpid/tools/src/java/bin/log4j.xml Mon Apr  8 15:19:04 2013
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+    Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements. See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership. The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License. You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied. See the License for the
+    specific language governing permissions and limitations
+    under the License.
+-->
+<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
+
+<!-- ===================================================================== -->
+<!--                                                                       -->
+<!--  Log4j Configuration                                                  -->
+<!--                                                                       -->
+<!-- ===================================================================== -->
+
+<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="false">
+    <!-- ============================== -->
+    <!-- Append messages to the console -->
+    <!-- ============================== -->
+    <appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
+        <param name="Target" value="System.out"/>
+        <param name="Threshold" value="ALL"/>
+
+        <layout class="org.apache.log4j.PatternLayout">
+            <!-- The default pattern: Date Priority [Category] Message\n -->
+            <param name="ConversionPattern" value="%m%n"/>
+        </layout>
+    </appender>
+
+    <!-- ======================= -->
+    <!-- Setup the Root category -->
+    <!-- ======================= -->
+    <root>
+        <priority value="FATAL" />
+        <appender-ref ref="CONSOLE"/>
+    </root>
+
+</log4j:configuration>

Propchange: qpid/trunk/qpid/tools/src/java/bin/log4j.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: qpid/trunk/qpid/tools/src/java/bin/log4j.xml
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Propchange: qpid/trunk/qpid/tools/src/java/bin/log4j.xml
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Added: qpid/trunk/qpid/tools/src/java/bin/qpid-web/authentication/account.properties
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/tools/src/java/bin/qpid-web/authentication/account.properties?rev=1465662&view=auto
==============================================================================
--- qpid/trunk/qpid/tools/src/java/bin/qpid-web/authentication/account.properties (added)
+++ qpid/trunk/qpid/tools/src/java/bin/qpid-web/authentication/account.properties Mon Apr  8 15:19:04 2013
@@ -0,0 +1,3 @@
+#
+guest=guest
+admin=admin

Propchange: qpid/trunk/qpid/tools/src/java/bin/qpid-web/authentication/account.properties
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: qpid/trunk/qpid/tools/src/java/bin/qpid-web/authentication/account.properties
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Propchange: qpid/trunk/qpid/tools/src/java/bin/qpid-web/authentication/account.properties
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: qpid/trunk/qpid/tools/src/java/bin/qpid-web/web/apple-touch-icon.png
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/tools/src/java/bin/qpid-web/web/apple-touch-icon.png?rev=1465662&view=auto
==============================================================================
Binary file - no diff available.

Propchange: qpid/trunk/qpid/tools/src/java/bin/qpid-web/web/apple-touch-icon.png
------------------------------------------------------------------------------
    svn:mime-type = image/png

Added: qpid/trunk/qpid/tools/src/java/bin/qpid-web/web/favicon.ico
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/tools/src/java/bin/qpid-web/web/favicon.ico?rev=1465662&view=auto
==============================================================================
Binary file - no diff available.

Propchange: qpid/trunk/qpid/tools/src/java/bin/qpid-web/web/favicon.ico
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: qpid/trunk/qpid/tools/src/java/bin/qpid-web/web/index.html
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/tools/src/java/bin/qpid-web/web/index.html?rev=1465662&view=auto
==============================================================================
--- qpid/trunk/qpid/tools/src/java/bin/qpid-web/web/index.html (added)
+++ qpid/trunk/qpid/tools/src/java/bin/qpid-web/web/index.html Mon Apr  8 15:19:04 2013
@@ -0,0 +1,38 @@
+<!DOCTYPE html>
+
+<!--
+This page provides a "welcome" page for the Qpid REST Service it immediately redirects to ui/qmf.html
+which requires authentication. The main reason for this page is to provide a "welcome" screen prior to
+the browser's authentication popup appearing, which makes it more obvious that it's the Qpid REST Service
+that is requesting authentication.
+-->
+<html>
+<head>
+    <title>QMF Console</title>
+    <link rel="stylesheet" type="text/css" href="/qmf-ui/css/index.css"/>
+
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+
+    <!-- Changes the logical window size used when displaying a page on iOS. -->
+    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no"/>
+
+    <noscript>
+        <meta http-equiv="refresh" content="2; URL=/ui/qmf.html">
+    </noscript>
+
+    <script>
+    <!--
+        window.onload=function()
+        { // Do redirect
+            window.location.replace("/ui/qmf.html");
+        }
+    //-->
+    </script>
+
+</head>
+
+<body>
+    <div class="logo"></div>
+</body>
+
+</html>

Propchange: qpid/trunk/qpid/tools/src/java/bin/qpid-web/web/index.html
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: qpid/trunk/qpid/tools/src/java/bin/qpid-web/web/index.html
------------------------------------------------------------------------------
    svn:executable = *

Propchange: qpid/trunk/qpid/tools/src/java/bin/qpid-web/web/index.html
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Propchange: qpid/trunk/qpid/tools/src/java/bin/qpid-web/web/index.html
------------------------------------------------------------------------------
    svn:mime-type = text/html

Added: qpid/trunk/qpid/tools/src/java/bin/qpid-web/web/itablet/css/LICENCE
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/tools/src/java/bin/qpid-web/web/itablet/css/LICENCE?rev=1465662&view=auto
==============================================================================
--- qpid/trunk/qpid/tools/src/java/bin/qpid-web/web/itablet/css/LICENCE (added)
+++ qpid/trunk/qpid/tools/src/java/bin/qpid-web/web/itablet/css/LICENCE Mon Apr  8 15:19:04 2013
@@ -0,0 +1,29 @@
+/*
+ * itablet.css
+ * itablet-ie9.css
+ * itablet-ie8.css
+ * itablet-ie7.css
+ * itablet-ie6.css
+ *
+ * Copyright (c) 2013, Fraser Adams
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+
+

Added: qpid/trunk/qpid/tools/src/java/bin/qpid-web/web/itablet/css/itablet-ie6.css
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/tools/src/java/bin/qpid-web/web/itablet/css/itablet-ie6.css?rev=1465662&view=auto
==============================================================================
--- qpid/trunk/qpid/tools/src/java/bin/qpid-web/web/itablet/css/itablet-ie6.css (added)
+++ qpid/trunk/qpid/tools/src/java/bin/qpid-web/web/itablet/css/itablet-ie6.css Mon Apr  8 15:19:04 2013
@@ -0,0 +1,302 @@
+/**
+ * Stylesheet to try and make things look not *too* bad in IE6 and below. Supporting IE6 really is a nightmare :-(
+ */
+
+/* Needed to get rid of annoying "permanent" IE6 scrollbar. */
+html
+{
+    overflow: hidden;
+}
+
+/* Explicitly setting height to 100% avoids some evil IE6 layout bugs */
+html, .sidebar, .main, .popup-window, .popup-container, .popup, .scroll-area
+{
+    height: 100%;
+}
+
+/* Explicitly setting width to 100% avoids some evil IE6 layout bugs */
+ul.list, .popup, .scroll-area
+{
+    width: 100%;
+}
+
+#sidebar-wrapper /* Make sure IE "hasLayout" is enabled by doing zoom: 1. */
+{
+    zoom: 1;
+}
+
+/* IE6 doesn't support color: inherit so we have to set it explicitly. */
+ul li.grey a /* Grey text generally used to show inactive fields */
+{
+	color: #8f8f8f;
+}
+
+ul li a
+{
+	color: #060606;
+}
+
+ul li.active a
+{
+	color: #fff;
+}
+
+/* IE6 form has a default non-zero margin, so we need to zero it. */
+form
+{
+    margin: 0;
+}
+
+.sidebar .scroll-area
+{
+    border-right: 1px solid #000;
+}
+
+ul.list li.first-child
+{
+	border-top: 1px groove #fff;
+}
+
+ul.list li.last-child
+{
+	border-bottom: 2px groove #fff;
+}
+
+ul.list li a p
+{
+    right: 0;
+}
+
+ul.list li.arrow a p, ul.list li.multiline a div p
+{
+    right: 18px;
+}
+
+
+ul.list li.multiline a.icon p, ul.list li.multiline a.icon div p
+{
+    right: 4px;
+}
+
+/**
+ * white-space: nowrap; doesn't work especially well in IE6, so we set it to normal and constrain height.
+ * Unfortunately with the approach below ellipses aren't displayed, but it's the lesser of the evils.
+ * white-space: nowrap; does seem to work with an explicit width set, but doing that breaks loads of other things.
+ */
+ul li a p.sub, ul li a p.title
+{
+    white-space: normal;
+}
+
+ul li a p.title, ul li a p.sub
+{
+    height: 16px;
+}
+
+/* For IE6 we need to use a GIF instead of a PNG to make the input background transparent but still receive events. */
+input, textarea
+{
+    background: url(/itablet/images/ie/transparent.gif) repeat;
+}
+
+/**
+ * For IE6 button :before and :after don't work so we have to resort to some JavaScript to add extra classes and tags
+ * IE6 doesn't support PNG images with alpha transparency, so we use gifs, which are OK but a littly more jagged.
+ */
+
+a.button
+{
+    background: url(/itablet/images/ie/button-sprite.gif) 0px -30px repeat-x;
+}
+
+a.button .before
+{
+    position: absolute;
+    top: 0;
+    left: -5px;
+    width: 5px;
+    height: 30px;
+    background: url(/itablet/images/ie/button-sprite.gif) -18px 0;
+}
+
+a.button .after
+{
+    position: absolute;
+    top: 0;
+    right: -5px;
+    width: 5px;
+    height: 30px;
+    background: url(/itablet/images/ie/button-sprite.gif) -13px 0;
+}
+
+a.button:active
+{
+    background-color: #766d69;
+    background-position: 0px -60px;
+}
+
+a.button:active .before
+{
+    background-position: -41px 0;
+}
+
+a.button:active .after
+{
+    background-position: -36px 0;
+}
+
+a.button.back .before
+{
+    position: absolute;
+    left: -13px;
+    width: 13px;
+    height: 30px;
+    background-position: 0 0;
+}
+
+a.button.back:active .before
+{
+    background-position: -23px 0;
+}
+
+a.button.blue
+{
+    background: url(/itablet/images/ie/blue-button-sprite.gif) 0px -30px repeat-x;
+}
+
+a.button.blue .before
+{
+    background: url(/itablet/images/ie/blue-button-sprite.gif) -18px 0;
+}
+
+a.button.blue .after
+{
+    background: url(/itablet/images/ie/blue-button-sprite.gif) -13px 0;
+}
+
+a.button.blue-back .before
+{
+    background-position: 0 0;
+}
+
+a.button.blue:active
+{
+    background-color: #6b6f76;
+    background-position: 0px -60px;
+}
+
+a.button.blue:active .before
+{
+    background-position: -41px 0;
+}
+
+a.button.blue:active .after
+{
+    background-position: -36px 0;
+}
+
+a.button.blue-back:active .before
+{
+    background-position: -23px 0;
+}
+
+.popup-window
+{
+    background: url(/itablet/images/ie/transparent.gif);
+    filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='/itablet/images/ie/transparent.png', sizingMethod='scale');
+}
+
+.popup-window.smoked
+{
+    background: url(/itablet/images/ie/transparent.gif);
+    filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='/itablet/images/ie/smoked.png', sizingMethod='scale');
+}
+
+div.mask
+{
+    background: url(/itablet/images/ie/transparent.gif);
+    filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='/itablet/images/mask.png', sizingMethod='crop');
+}
+
+div.onoff
+{
+    background: url(/itablet/images/ie/transparent.gif);
+    filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='/itablet/images/on_off.png', sizingMethod='crop');
+}
+
+/**
+ * Unfortunately AlphaImageLoader doesn't play nicely with alignment and these images need to be right aligned.
+ * Fortunately the single level of transparency allowed by gif images is good enough and only a little granier.
+ */
+
+ul.list li.arrow.radio
+{
+    background: #f7f7f7;
+}
+
+ul.list li.radio label
+{
+    padding: 0 11px 0 11px; /* top right bottom left */
+}
+
+ul li.active, ul.list li.radio.active, ul.list li.radio.ie6-checked-active /* Highlight in blue with white text */
+{
+    background: #035de7;
+}
+
+ul li.arrow
+{
+    background: url(/itablet/images/ie/chevron.gif) no-repeat right;
+}
+
+ul.list li.arrow
+{
+    background: #f7f7f7 url(/itablet/images/ie/chevron.gif) no-repeat right;
+}
+
+ul li.ie6-arrow-active, ul.list li.ie6-arrow-active
+{
+    background: #035de7 url(/itablet/images/ie/chevron-active.gif) no-repeat right;
+}
+
+ul.list li.radio.checked label
+{
+    background: url(/itablet/images/ie/tick.gif) no-repeat right;
+}
+
+ul.list li.radio.ie6-checked-active label
+{
+    background: url(/itablet/images/ie/tick-active.gif) no-repeat right;
+}
+
+ul.list li.ie6-radio-arrow
+{
+    background: #f7f7f7 url(/itablet/images/ie/blue-chevron.gif) no-repeat right;
+}
+
+ul.list li.ie6-radio-arrow label
+{
+    padding: 0 11px 0 32px; /* top right bottom left */
+}
+
+ul.list li.ie6-radio-arrow a
+{
+    height: 0;
+    width: 0;
+}
+
+ul.list li.ie6-checked-arrow label
+{
+    background: url(/itablet/images/ie/tick.gif) no-repeat 11px;
+}
+
+ul.list li.ie6-radio-arrow-active, ul.list li.ie6-checked-arrow-active
+{
+    background: #035de7 url(/itablet/images/ie/blue-chevron.gif) no-repeat right;
+}
+
+ul.list li.ie6-checked-arrow-active label
+{
+	background: url(/itablet/images/ie/tick-active.gif) no-repeat 11px;
+}
+

Propchange: qpid/trunk/qpid/tools/src/java/bin/qpid-web/web/itablet/css/itablet-ie6.css
------------------------------------------------------------------------------
    svn:eol-style = native

Added: qpid/trunk/qpid/tools/src/java/bin/qpid-web/web/itablet/css/itablet-ie7.css
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/tools/src/java/bin/qpid-web/web/itablet/css/itablet-ie7.css?rev=1465662&view=auto
==============================================================================
--- qpid/trunk/qpid/tools/src/java/bin/qpid-web/web/itablet/css/itablet-ie7.css (added)
+++ qpid/trunk/qpid/tools/src/java/bin/qpid-web/web/itablet/css/itablet-ie7.css Mon Apr  8 15:19:04 2013
@@ -0,0 +1,193 @@
+/**
+ * Stylesheet to try and make things look not *too* bad in IE7.
+ */
+
+/* Needed to get rid of annoying "permanent" IE7 scrollbar. */
+html
+{
+    overflow: hidden;
+}
+
+#sidebar-wrapper /* Make sure IE "hasLayout" is enabled by doing zoom: 1. */
+{
+    zoom: 1;
+}
+
+/* IE7 doesn't correctly size the scrollbar without this, however it causes IE6 problems. */
+.page
+{
+    height: 100%;
+}
+
+ul.list
+{
+    width: 100%;
+}
+
+/* IE < 8 doesn't support color: inherit so we have to set it explicitly. */
+ul li.grey a /* Grey text generally used to show inactive fields */
+{
+	color: #8f8f8f;
+}
+
+ul li a
+{
+	color: #060606;
+}
+
+ul li.active a
+{
+	color: #fff;
+}
+
+/* IE7 gives this anchor a default size which adds extra visible padding. As the navigable radio button has */
+/* reskinned the markup around this li the anchor doesn't actually need to be visible so we can safely hide it. */
+ul.list li.arrow.radio a
+{
+    display: none;
+}
+
+/* IE < 8 form has a default non-zero margin, so we need to zero it. */
+form
+{
+    margin: 0;
+}
+
+/* For IE7 :before and :after don't work so we have to resort to some JavaScript to inject extra classes and tags */
+ul.list li:first-child
+{
+	border-top: 3px groove #fff; /* IE7 without hasLayout set doesn't show the border if it's less than 3px, why??? */
+}
+
+ul.list li:first-child > .fbefore, /* Use fbefore not before in case first-child and last-child apply to same element. */
+ul.list li:first-child > .fafter /* Use fafter not after in case first-child and last-child apply to same element. */
+{
+    position: absolute;
+    top: -3px;
+    left: -2px;
+    width: 10px;
+    height: 10px;
+    z-index: 1;
+    background: url(/itablet/images/ie/radius-10px-sprite.png);
+}
+
+ul.list li:first-child > .fafter /* Use fafter not after in case first-child and last-child apply to same element. */
+{
+    left: auto;
+    right: -2px;
+    background-position: -10px 0;
+}
+
+/* The fake rounded corners for the IE8 stylesheet more or less work, but the bottom offset in IE7 is different??? */
+ul.list li.last-child
+{
+    margin-top: -1px; /* Weird IE7 specific bug needs this set to -1px to render it as 0px!!!! */
+}
+
+ul.list li.last-child > .before, ul.list li.last-child > .after
+{
+    bottom: -1px;
+}
+
+/* For IE7 button :before and :after don't work so we have to resort to some JavaScript to add extra classes and tags */
+
+a.button .before
+{
+    position: absolute;
+    top: 0;
+    left: -5px;
+    width: 5px;
+    height: 30px;
+    background: url(/itablet/images/button-sprite.png) -18px 0;
+}
+
+a.button .after
+{
+    position: absolute;
+    top: 0;
+    right: -5px;
+    width: 5px;
+    height: 30px;
+    background: url(/itablet/images/button-sprite.png) -13px 0;
+}
+
+a.button:active .before
+{
+    background-position: -41px 0;
+}
+
+a.button:active .after
+{
+    background-position: -36px 0;
+}
+
+a.button.back .before
+{
+    position: absolute;
+    left: -13px;
+    width: 13px;
+    height: 30px;
+    background-position: 0 0;
+}
+
+a.button.back:active .before
+{
+    background-position: -23px 0;
+}
+
+a.button.blue .before
+{
+    background: url(/itablet/images/blue-button-sprite.png) -18px 0;
+}
+
+a.button.blue .after
+{
+    background: url(/itablet/images/blue-button-sprite.png) -13px 0;
+}
+
+a.button.back.blue .before
+{
+    background-position: 0 0;
+}
+
+a.button.blue:active .before
+{
+    background-position: -41px 0;
+}
+
+a.button.blue:active .after
+{
+    background-position: -36px 0;
+}
+
+a.button.back.blue:active .before
+{
+    background-position: -23px 0;
+}
+
+/* The horiz-checkbox class hasLayout set so the styles below go back to the correct values. */
+/* Unfortunately simply giving ul.list li hasLayout using zoom: 1 above causes the IE7 margin bug to trigger */
+/* so can't default to that hence the weird values for ul.list li.last-child/ul.list li.last-child > .before */
+/* ul.list li.last-child > .after There may be easier ways, but fixing one IE7 bug seems to cause other ones */
+ul.list li.horiz-checkbox:first-child, ul.list li.textarea:first-child
+{
+	border-top: 1px groove #fff;
+}
+
+ul.list li.horiz-checkbox.last-child, ul.list li.textarea.last-child
+{
+    margin-top: 0;
+}
+
+ul.list li.horiz-checkbox:first-child > .fbefore, ul.list li.horiz-checkbox:first-child > .fafter,
+ul.list li.textarea:first-child > .fbefore, ul.list li.textarea:first-child > .fafter
+{
+    top: -1px;
+}
+
+ul.list li.horiz-checkbox.last-child > .before, ul.list li.horiz-checkbox.last-child > .after,
+ul.list li.textarea.last-child > .before, ul.list li.textarea.last-child > .after
+{
+    bottom: -2px;
+}
+

Propchange: qpid/trunk/qpid/tools/src/java/bin/qpid-web/web/itablet/css/itablet-ie7.css
------------------------------------------------------------------------------
    svn:eol-style = native



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org