summaryrefslogtreecommitdiff
path: root/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
commita2ea9d432dc5713dadd4c710a982cc466de3ea8b (patch)
treed7c955359c88b80b24c4f70146309a806511adda /cpp/managementgen/generate.py
parent2193d76646028d97b7bfff69335d4239954adbe5 (diff)
downloadqpid-python-a2ea9d432dc5713dadd4c710a982cc466de3ea8b.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/qpid@644806 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/managementgen/generate.py')
-rwxr-xr-xcpp/managementgen/generate.py18
1 files changed, 17 insertions, 1 deletions
diff --git a/cpp/managementgen/generate.py b/cpp/managementgen/generate.py
index 4c042bd3f6..e1c01de9b0 100755
--- a/cpp/managementgen/generate.py
+++ b/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)