diff options
Diffstat (limited to 'java/common/codegen')
-rwxr-xr-x | java/common/codegen | 89 |
1 files changed, 0 insertions, 89 deletions
diff --git a/java/common/codegen b/java/common/codegen deleted file mode 100755 index 6a1effc07b..0000000000 --- a/java/common/codegen +++ /dev/null @@ -1,89 +0,0 @@ -#!/usr/bin/env python - -# -# 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. -# - -import os, sys, mllib -from templating import Parser -from genutil import * - -out_dir = sys.argv[1] -spec_file = sys.argv[2] -tpl_dir = sys.argv[3] -pkg_dir = os.path.join(out_dir, "org/apache/qpid/transport") - -if not os.path.exists(pkg_dir): - os.makedirs(pkg_dir) - -spec = mllib.xml_parse(spec_file) - -def excludes(nd): - if (nd.parent is not None and - nd.parent.name == "class" and - nd.parent["@name"] in ("file", "stream")): - return False - else: - return True - -def execute(output, template, **kwargs): - f = open(os.path.join(tpl_dir, template)) - input = f.read() - f.close() - p = Parser(**kwargs) - p.parse(input) - fname = os.path.join(pkg_dir, output) - f = open(fname, "w") - f.write(p.output) - f.close() - -execute("Type.java", "Type.tpl", spec = spec) -execute("Constant.java", "Constant.tpl", spec = spec) - -structs = spec.query["amqp/struct"] + \ - spec.query["amqp/class/struct", excludes] + \ - spec.query["amqp/class/command/result/struct", excludes] -controls = spec.query["amqp/class/control", excludes] -commands = spec.query["amqp/class/command", excludes] - -composites = structs + controls + commands -actions = controls + commands -connection = [c for c in actions if c.parent["@name"] == "connection"] -session = [c for c in actions if c.parent["@name"] != "connection"] - -for c in composites: - name = cname(c) - execute("%s.java" % name, "Composite.tpl", type = c, name = name) - -execute("MethodDelegate.java", "MethodDelegate.tpl", composites = actions) -execute("Option.java", "Option.tpl", composites = composites) -execute("ConnectionInvoker.java", "Invoker.tpl", invoker = "ConnectionInvoker", - composites = connection) -execute("SessionInvoker.java", "Invoker.tpl", invoker = "SessionInvoker", - composites = session) -execute("StructFactory.java", "StructFactory.tpl", composites = composites) - -def is_enum(nd): - return nd["enum"] is not None - -enums = spec.query["amqp/domain", is_enum] + \ - spec.query["amqp/class/domain", is_enum] - -for e in enums: - name = cname(e) - execute("%s.java" % name, "Enum.tpl", name = name, type = e) |