You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by Angus Salkeld <as...@redhat.com> on 2011/03/18 00:30:02 UTC
qmf-gen -2 bug?
Hi
I have:
cat schema-1.xml
<schema package="org.foobar">
<class name="apple">
<method name="rott" desc="rott">
<arg name="speed" dir="I" type="uint32"/>
<arg name="review" dir="O" type="sstr"/>
</method>
</class>
</schema>
Then I run "qmf-gen -2 schema-1.xml"
Traceback (most recent call last):
File "/usr/bin/qmf-gen", line 80, in <module>
gen.makeV2PackageFile("V2Package.cpp", package, vars=vargs)
File "/usr/lib/python2.7/site-packages/qmfgen/generate.py", line 467, in makeV2PackageFile
stream = template.expand (schema)
File "/usr/lib/python2.7/site-packages/qmfgen/generate.py", line 100, in expand
self.expandLine (line, stream, object)
File "/usr/lib/python2.7/site-packages/qmfgen/generate.py", line 88, in
expandLine
self.handler.substHandler (object, stream, tagObject, tagName)
File "/usr/lib/python2.7/site-packages/qmfgen/generate.py", line 392, in
substHandler
eval (call)
File "<string>", line 1, in <module>
File "/usr/lib/python2.7/site-packages/qmfgen/schema.py", line
1734, in genV2ClassDefines
if stat.unit:
UnboundLocalError: local variable 'stat' referenced before assignment
Looking at git this hasn't changed in a while, am I doing something wrong?
If not this looks like what we need:
diff --git a/qpid/cpp/managementgen/qmfgen/schema.py b/qpid/cpp/managementgen/qmfgen/schema.py
index afdfe42..59e951f 100755
--- a/qpid/cpp/managementgen/qmfgen/schema.py
+++ b/qpid/cpp/managementgen/qmfgen/schema.py
@@ -1731,9 +1731,9 @@ class SchemaPackage:
stream.write(" qmf::SchemaProperty arg(\"%s\", %s);\n" % (arg.name, typeName))
if subType:
stream.write(" arg.setSubtype(\"%s\");\n" % subType)
- if stat.unit:
+ if arg.unit:
stream.write(" arg.setUnit(\"%s\");\n" % arg.unit)
- if stat.desc:
+ if arg.desc:
stream.write(" arg.setDesc(\"%s\");\n" % arg.desc)
stream.write(" arg.setDirection(%s);\n" % self.qmfv2Dir(arg.dir))
stream.write(" method.addArgument(arg);\n")
Regards
Angus Salkeld
---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project: http://qpid.apache.org
Use/Interact: mailto:dev-subscribe@qpid.apache.org
Re: qmf-gen -2 bug?
Posted by Ken Giusti <kg...@redhat.com>.
Hi Angus,
Good catch - definitely a bug. And your fix looks good.
Would you be so kind as to open a new bug against qpid, and include your patch below?
See
https://issues.apache.org/jira/browse/qpid - the "bug" link at the top right of the page.
Could you "attach" your patch to the bug, can you check the box to "Grant license to ASF for inclusion in ASF works" so I can submit it upstream?
thanks,
-K
----- Original Message -----
> Hi
>
> I have:
>
> cat schema-1.xml
> <schema package="org.foobar">
> <class name="apple">
> <method name="rott" desc="rott">
> <arg name="speed" dir="I" type="uint32"/>
> <arg name="review" dir="O" type="sstr"/>
> </method>
> </class>
> </schema>
>
> Then I run "qmf-gen -2 schema-1.xml"
> Traceback (most recent call last):
> File "/usr/bin/qmf-gen", line 80, in <module>
> gen.makeV2PackageFile("V2Package.cpp", package, vars=vargs)
> File "/usr/lib/python2.7/site-packages/qmfgen/generate.py", line 467,
> in makeV2PackageFile
> stream = template.expand (schema)
> File "/usr/lib/python2.7/site-packages/qmfgen/generate.py", line 100,
> in expand
> self.expandLine (line, stream, object)
> File "/usr/lib/python2.7/site-packages/qmfgen/generate.py", line 88,
> in
> expandLine
> self.handler.substHandler (object, stream, tagObject, tagName)
> File "/usr/lib/python2.7/site-packages/qmfgen/generate.py", line 392,
> in
> substHandler
> eval (call)
> File "<string>", line 1, in <module>
> File "/usr/lib/python2.7/site-packages/qmfgen/schema.py", line
> 1734, in genV2ClassDefines
> if stat.unit:
> UnboundLocalError: local variable 'stat' referenced before assignment
>
> Looking at git this hasn't changed in a while, am I doing something
> wrong?
>
> If not this looks like what we need:
>
> diff --git a/qpid/cpp/managementgen/qmfgen/schema.py
> b/qpid/cpp/managementgen/qmfgen/schema.py
> index afdfe42..59e951f 100755
> --- a/qpid/cpp/managementgen/qmfgen/schema.py
> +++ b/qpid/cpp/managementgen/qmfgen/schema.py
> @@ -1731,9 +1731,9 @@ class SchemaPackage:
> stream.write(" qmf::SchemaProperty arg(\"%s\", %s);\n" % (arg.name,
> typeName))
> if subType:
> stream.write(" arg.setSubtype(\"%s\");\n" % subType)
> - if stat.unit:
> + if arg.unit:
> stream.write(" arg.setUnit(\"%s\");\n" % arg.unit)
> - if stat.desc:
> + if arg.desc:
> stream.write(" arg.setDesc(\"%s\");\n" % arg.desc)
> stream.write(" arg.setDirection(%s);\n" % self.qmfv2Dir(arg.dir))
> stream.write(" method.addArgument(arg);\n")
>
> Regards
> Angus Salkeld
>
>
> ---------------------------------------------------------------------
> Apache Qpid - AMQP Messaging Implementation
> Project: http://qpid.apache.org
> Use/Interact: mailto:dev-subscribe@qpid.apache.org
---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project: http://qpid.apache.org
Use/Interact: mailto:dev-subscribe@qpid.apache.org