summaryrefslogtreecommitdiff
path: root/qpid/java/management/cli/src/python/stac.py
diff options
context:
space:
mode:
Diffstat (limited to 'qpid/java/management/cli/src/python/stac.py')
-rw-r--r--qpid/java/management/cli/src/python/stac.py193
1 files changed, 0 insertions, 193 deletions
diff --git a/qpid/java/management/cli/src/python/stac.py b/qpid/java/management/cli/src/python/stac.py
deleted file mode 100644
index 6a7230d724..0000000000
--- a/qpid/java/management/cli/src/python/stac.py
+++ /dev/null
@@ -1,193 +0,0 @@
-#
-# 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.
-#
-
-"""
-Bridges between Python and Java, to provide a simpler and more Pythonesque environment.
-Certified to be free of dead parrots.
-"""
-# Imports
-from java.lang import *
-import org.amqp.blaze.management.jmx.AMQConsole as AMQConsole
-import org.amqp.blaze.stac.jmx.MBeanServerConnectionContext as MBeanServerConnectionContext
-
-# Globals
-commandPrompt = ""
-proxied = 0
-connected = 0
-amqConsole = None
-connectionContext = None
-
-# Functions
-def connect(url="", username="", password=""):
- """
- Connects to an AMQP broker. The URL must be in the form amq://host:port/context
- """
- try:
- global connected
- global connectionContext
- if connected==1:
- print "Already Connected!"
- return
-
- try:
- parsedURL = parseURL(url)
- except URLFormatError, ufe:
- print "Invalid URL: " + ufe.msg
- return
-
- amqConsole = AMQConsole(parsedURL['host'], parsedURL['port'], username, password, parsedURL['context'])
-
- amqConsole.initialise()
- amqConsole.registerAllMBeans()
- connectionContext = MBeanServerConnectionContext()
- connectionContext.connect()
- connected = 1
- except Exception, e:
- updateGlobals()
- print e
- e.printStackTrace()
- cause = e.getCause()
- if cause != None:
- cause.printStackTrace()
- else:
- updateGlobals();
-
-def disconnect():
- """
- Disconnects from the broker
- """
- global connected
- global connectionContext
-
- if connected==0:
- print "Not connected!"
- return
- try:
- connectionContext.disconnect()
- connected = 0
- except Exception, e:
- updateGlobals()
- print e
- else:
- updateGlobals()
-
-def quit():
- global connected
- if connected != 0:
- disconnect()
-
-def ls():
- """
- Lists the current mbean
- """
- global connected
- if connected == 0:
- print "Not connected!"
- return
-
- connectionContext.ls()
-
-def cd(beanName):
- """
- Changes the current mbean
- """
- global connected
- global connectionContext
- if connected == 0:
- print "Not connected!"
- return
-
- try:
- connectionContext.cd(beanName)
- except Exception, e:
- updateGlobals()
- msg = "Error: " + e.getMessage()
- print msg
- else:
- updateGlobals()
-
-def invoke(methodName):
- """
- Invokes an operation of the current mbean
- """
- global connected
- global connectionContext
-
- if connected == 0:
- print "Not connected!"
- return
-
- try:
- connectionContext.invoke(methodName, None)
- except Exception, e:
- updateGlobals()
- msg = "Error: " + e.getMessage()
- print msg
- else:
- updateGlobals()
-
-class URLFormatError(Exception):
- """Exception raised for errors in format of the URL
-
- Attributes:
- expression -- input expression in which the error occurred
- message -- explanation of the error
- """
-
- def __init__(self, url, message):
- self.url = url
- self.msg = message
-
-def parseURL(url):
- """
- Parses an AMQ URL into host, port and context components returning them in a dictionary
- """
- idx = url.find("amq://")
- errorMsg = "Invalid URL - must be format amq://hostname:port/vhost"
- if idx != 0:
- raise URLFormatError(url, errorMsg)
-
- hostEndIdx = url.find(":", 6)
- if hostEndIdx == -1:
- raise URLFormatError(url, errorMsg)
-
- hostname = url[6:hostEndIdx]
-
- portIdx = url.find("/", hostEndIdx + 1)
- port = url[hostEndIdx + 1:portIdx]
- vhost = url[portIdx + 1:]
- if portIdx == -1:
- raise URLFormatError(url, errorMsg)
-
- return {'host':hostname,'port':int(port),'context':vhost}
-
-def updateGlobals():
- global commandPrompt
- global connectionContext
- if connected == 1:
- commandPrompt = "AMQ:connected#" + connectionContext.getCurrentMBean().getAttributeValue("name", "java.lang.String") + "> "
- else:
- commandPrompt = "AMQ:disconnected> "
-# Classes
-
-
-# Global execution
-
-# Update all the global variables - this is called to sync everything at the start
-updateGlobals()