summaryrefslogtreecommitdiff
path: root/qpid/cpp/managementgen/generate.py
diff options
context:
space:
mode:
authorKim van der Riet <kpvdr@apache.org>2008-04-04 18:14:42 +0000
committerKim van der Riet <kpvdr@apache.org>2008-04-04 18:14:42 +0000
commitf765080d69339ff978a20ff697173c362a333f41 (patch)
treea7fe48be8f09171fb0c9a9ad7ef94f5e77ac32a9 /qpid/cpp/managementgen/generate.py
parent497d22166a738cc27fa76c0a6dff500ca9716669 (diff)
downloadqpid-python-f765080d69339ff978a20ff697173c362a333f41.tar.gz
Patch from Ted Ross (see QPID-902): This patch contains the following improvements for management:\n1) Schema display cleaned up in the python mgmt-cli\n2) Locking added automatically to management object accessors (manual locking removed from broker/Queue.cpp)\n3) Schemas are now pre-registered with the management agent using a package initializer. This allows management consoles to get schema information for a class even if no instances of the class exist.
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk@644806 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/cpp/managementgen/generate.py')
-rwxr-xr-xqpid/cpp/managementgen/generate.py18
1 files changed, 17 insertions, 1 deletions
diff --git a/qpid/cpp/managementgen/generate.py b/qpid/cpp/managementgen/generate.py
index 4c042bd3f6..e1c01de9b0 100755
--- a/qpid/cpp/managementgen/generate.py
+++ b/qpid/cpp/managementgen/generate.py
@@ -187,7 +187,15 @@ class Generator:
pass
os.rename (tempFile, target)
- print "Generated:", target
+ print "Generated:", target
+
+ def targetPackageFile (self, schema, templateFile):
+ dot = templateFile.find(".")
+ if dot == -1:
+ raise ValueError ("Invalid template file name %s" % templateFile)
+ extension = templateFile[dot:len (templateFile)]
+ path = self.dest + "Package" + schema.getPackageName().capitalize() + extension
+ return path
def targetClassFile (self, _class, templateFile):
dot = templateFile.find(".")
@@ -244,6 +252,14 @@ class Generator:
stream = template.expand (method)
self.writeIfChanged (stream, target, force)
+ def makePackageFile (self, templateFile, schema, force=False):
+ """ Generate a package-specific file """
+ template = Template (self.input + templateFile, self)
+ self.templateFiles.append (templateFile)
+ target = self.targetPackageFile (schema, templateFile)
+ stream = template.expand (schema)
+ self.writeIfChanged (stream, target, force)
+
def makeSingleFile (self, templateFile, target, force=False):
""" Generate a single expanded template """
makefile = Makefile (self.filelists, self.templateFiles)