QPID-7718: Remove remnants of the 0-8..0-10 protocol class generation mechanisms
diff --git a/client/mllib/__init__.py b/client/mllib/__init__.py
deleted file mode 100644
index af192df..0000000
--- a/client/mllib/__init__.py
+++ /dev/null
@@ -1,86 +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.
-#
-
-"""
-This module provides document parsing and transformation utilities for
-both SGML and XML.
-"""
-
-import os, dom, transforms, parsers, sys
-import xml.sax, types
-from xml.sax.handler import ErrorHandler
-from xml.sax.xmlreader import InputSource
-from cStringIO import StringIO
-
-def transform(node, *args):
-  result = node
-  for t in args:
-    if isinstance(t, types.ClassType):
-      t = t()
-    result = result.dispatch(t)
-  return result
-
-def sgml_parse(source):
-  if isinstance(source, basestring):
-    source = StringIO(source)
-    fname = "<string>"
-  elif hasattr(source, "name"):
-    fname = source.name
-  p = parsers.SGMLParser()
-  num = 1
-  for line in source:
-    p.feed(line)
-    p.parser.line(fname, num, None)
-    num += 1
-  p.close()
-  return p.parser.tree
-
-class Resolver:
-
-  def __init__(self, path):
-    self.path = path
-
-  def resolveEntity(self, publicId, systemId):
-    for p in self.path:
-      fname = os.path.join(p, systemId)
-      if os.path.exists(fname):
-        source = InputSource(systemId)
-        source.setByteStream(open(fname))
-        return source
-    return InputSource(systemId)
-
-def xml_parse(filename, path=()):
-  if sys.version_info[0:2] == (2,3):
-    # XXX: this is for older versions of python
-    from urllib import pathname2url
-    source = "file:%s" % pathname2url( os.path.abspath( filename ) )
-  else:
-    source = filename
-  h = parsers.XMLParser()
-  p = xml.sax.make_parser()
-  p.setContentHandler(h)
-  p.setErrorHandler(ErrorHandler())
-  p.setEntityResolver(Resolver(path))
-  p.parse(source)
-  return h.parser.tree
-
-def sexp(node):
-  s = transforms.Sexp()
-  node.dispatch(s)
-  return s.out
diff --git a/client/mllib/dom.py b/client/mllib/dom.py
deleted file mode 100644
index 486f708..0000000
--- a/client/mllib/dom.py
+++ /dev/null
@@ -1,310 +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.
-#
-
-"""
-Simple DOM for both SGML and XML documents.
-"""
-
-from __future__ import division
-from __future__ import generators
-from __future__ import nested_scopes
-
-import transforms
-
-class Container:
-
-  def __init__(self):
-    self.children = []
-
-  def add(self, child):
-    child.parent = self
-    self.children.append(child)
-
-  def extend(self, children):
-    for child in children:
-      child.parent = self
-      self.children.append(child)
-
-class Component:
-
-  def __init__(self):
-    self.parent = None
-
-  def index(self):
-    if self.parent:
-      return self.parent.children.index(self)
-    else:
-      return 0
-
-  def _line(self, file, line, column):
-    self.file = file
-    self.line = line
-    self.column = column
-
-class DispatchError(Exception):
-
-  def __init__(self, scope, f):
-    msg = "no such attribtue"
-
-class Dispatcher:
-
-  def is_type(self, type):
-    cls = self
-    while cls != None:
-      if cls.type == type:
-        return True
-      cls = cls.base
-    return False
-
-  def dispatch(self, f, attrs = ""):
-    cls = self
-    while cls != None:
-      if hasattr(f, cls.type):
-        return getattr(f, cls.type)(self)
-      else:
-        cls = cls.base
-
-    cls = self
-    while cls != None:
-      if attrs:
-        sep = ", "
-        if cls.base == None:
-          sep += "or "
-      else:
-        sep = ""
-      attrs += "%s'%s'" % (sep, cls.type)
-      cls = cls.base
-
-    raise AttributeError("'%s' object has no attribute %s" %
-                         (f.__class__.__name__, attrs))
-
-class Node(Container, Component, Dispatcher):
-
-  type = "node"
-  base = None
-
-  def __init__(self):
-    Container.__init__(self)
-    Component.__init__(self)
-    self.query = Query([self])
-
-  def __getitem__(self, name):
-    for nd in self.query[name]:
-      return nd
-
-  def text(self):
-    return self.dispatch(transforms.Text())
-
-  def tag(self, name, *attrs, **kwargs):
-    t = Tag(name, *attrs, **kwargs)
-    self.add(t)
-    return t
-
-  def data(self, s):
-    d = Data(s)
-    self.add(d)
-    return d
-
-  def entity(self, s):
-    e = Entity(s)
-    self.add(e)
-    return e
-
-class Tree(Node):
-
-  type = "tree"
-  base = Node
-
-class Tag(Node):
-
-  type = "tag"
-  base = Node
-
-  def __init__(self, _name, *attrs, **kwargs):
-    Node.__init__(self)
-    self.name = _name
-    self.attrs = list(attrs)
-    self.attrs.extend(kwargs.items())
-    self.singleton = False
-
-  def get_attr(self, name):
-    for k, v in self.attrs:
-      if name == k:
-        return v
-
-  def _idx(self, attr):
-    idx = 0
-    for k, v in self.attrs:
-      if k == attr:
-        return idx
-      idx += 1
-    return None
-
-  def set_attr(self, name, value):
-    idx = self._idx(name)
-    if idx is None:
-      self.attrs.append((name, value))
-    else:
-      self.attrs[idx] = (name, value)
-
-  def dispatch(self, f):
-    try:
-      attr = "do_" + self.name
-      method = getattr(f, attr)
-    except AttributeError:
-      return Dispatcher.dispatch(self, f, "'%s'" % attr)
-    return method(self)
-
-class Leaf(Component, Dispatcher):
-
-  type = "leaf"
-  base = None
-
-  def __init__(self, data):
-    assert isinstance(data, basestring)
-    self.data = data
-
-class Data(Leaf):
-  type = "data"
-  base = Leaf
-
-class Entity(Leaf):
-  type = "entity"
-  base = Leaf
-
-class Character(Leaf):
-  type = "character"
-  base = Leaf
-
-class Comment(Leaf):
-  type = "comment"
-  base = Leaf
-
-###################
-## Query Classes ##
-###########################################################################
-
-class Adder:
-
-  def __add__(self, other):
-    return Sum(self, other)
-
-class Sum(Adder):
-
-  def __init__(self, left, right):
-    self.left = left
-    self.right = right
-
-  def __iter__(self):
-    for x in self.left:
-      yield x
-    for x in self.right:
-      yield x
-
-class View(Adder):
-
-  def __init__(self, source):
-    self.source = source
-
-class Filter(View):
-
-  def __init__(self, predicate, source):
-    View.__init__(self, source)
-    self.predicate = predicate
-
-  def __iter__(self):
-    for nd in self.source:
-      if self.predicate(nd): yield nd
-
-class Flatten(View):
-
-  def __iter__(self):
-    sources = [iter(self.source)]
-    while sources:
-      try:
-        nd = sources[-1].next()
-        if isinstance(nd, Tree):
-          sources.append(iter(nd.children))
-        else:
-          yield nd
-      except StopIteration:
-        sources.pop()
-
-class Children(View):
-
-  def __iter__(self):
-    for nd in self.source:
-      for child in nd.children:
-        yield child
-
-class Attributes(View):
-
-  def __iter__(self):
-    for nd in self.source:
-      for a in nd.attrs:
-        yield a
-
-class Values(View):
-
-  def __iter__(self):
-    for name, value in self.source:
-      yield value
-
-def flatten_path(path):
-  if isinstance(path, basestring):
-    for part in path.split("/"):
-      yield part
-  elif callable(path):
-    yield path
-  else:
-    for p in path:
-      for fp in flatten_path(p):
-        yield fp
-
-class Query(View):
-
-  def __iter__(self):
-    for nd in self.source:
-      yield nd
-
-  def __getitem__(self, path):
-    query = self.source
-    for p in flatten_path(path):
-      if callable(p):
-        select = Query
-        pred = p
-        source = query
-      elif isinstance(p, basestring):
-        if p[0] == "@":
-          select = Values
-          pred = lambda x, n=p[1:]: x[0] == n
-          source = Attributes(query)
-        elif p[0] == "#":
-          select = Query
-          pred = lambda x, t=p[1:]: x.is_type(t)
-          source = Children(query)
-        else:
-          select = Query
-          pred = lambda x, n=p: isinstance(x, Tag) and x.name == n
-          source = Flatten(Children(query))
-      else:
-        raise ValueError(p)
-      query = select(Filter(pred, source))
-
-    return query
diff --git a/client/mllib/parsers.py b/client/mllib/parsers.py
deleted file mode 100644
index 3e7cc10..0000000
--- a/client/mllib/parsers.py
+++ /dev/null
@@ -1,139 +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.
-#
-
-"""
-Parsers for SGML and XML to dom.
-"""
-
-import sgmllib, xml.sax.handler
-from dom import *
-
-class Parser:
-
-  def __init__(self):
-    self.tree = Tree()
-    self.node = self.tree
-    self.nodes = []
-
-  def line(self, id, lineno, colno):
-    while self.nodes:
-      n = self.nodes.pop()
-      n._line(id, lineno, colno)
-
-  def add(self, node):
-    self.node.add(node)
-    self.nodes.append(node)
-
-  def start(self, name, attrs):
-    tag = Tag(name, *attrs)
-    self.add(tag)
-    self.node = tag
-
-  def end(self, name):
-    self.balance(name)
-    self.node = self.node.parent
-
-  def data(self, data):
-    children = self.node.children
-    if children and isinstance(children[-1], Data):
-      children[-1].data += data
-    else:
-      self.add(Data(data))
-
-  def comment(self, comment):
-    self.add(Comment(comment))
-
-  def entity(self, ref):
-    self.add(Entity(ref))
-
-  def character(self, ref):
-    self.add(Character(ref))
-
-  def balance(self, name = None):
-    while self.node != self.tree and name != self.node.name:
-      self.node.parent.extend(self.node.children)
-      del self.node.children[:]
-      self.node.singleton = True
-      self.node = self.node.parent
-
-
-class SGMLParser(sgmllib.SGMLParser):
-
-  def __init__(self, entitydefs = None):
-    sgmllib.SGMLParser.__init__(self)
-    if entitydefs == None:
-      self.entitydefs = {}
-    else:
-      self.entitydefs = entitydefs
-    self.parser = Parser()
-
-  def unknown_starttag(self, name, attrs):
-    self.parser.start(name, attrs)
-
-  def handle_data(self, data):
-    self.parser.data(data)
-
-  def handle_comment(self, comment):
-    self.parser.comment(comment)
-
-  def unknown_entityref(self, ref):
-    self.parser.entity(ref)
-
-  def unknown_charref(self, ref):
-    self.parser.character(ref)
-
-  def unknown_endtag(self, name):
-    self.parser.end(name)
-
-  def close(self):
-    sgmllib.SGMLParser.close(self)
-    self.parser.balance()
-    assert self.parser.node == self.parser.tree
-
-class XMLParser(xml.sax.handler.ContentHandler):
-
-  def __init__(self):
-    self.parser = Parser()
-    self.locator = None
-
-  def line(self):
-    if self.locator != None:
-      self.parser.line(self.locator.getSystemId(),
-                       self.locator.getLineNumber(),
-                       self.locator.getColumnNumber())
-
-  def setDocumentLocator(self, locator):
-    self.locator = locator
-
-  def startElement(self, name, attrs):
-    self.parser.start(name, attrs.items())
-    self.line()
-
-  def endElement(self, name):
-    self.parser.end(name)
-    self.line()
-
-  def characters(self, content):
-    self.parser.data(content)
-    self.line()
-
-  def skippedEntity(self, name):
-    self.parser.entity(name)
-    self.line()
-
diff --git a/client/mllib/transforms.py b/client/mllib/transforms.py
deleted file mode 100644
index 69d9912..0000000
--- a/client/mllib/transforms.py
+++ /dev/null
@@ -1,164 +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.
-#
-
-"""
-Useful transforms for dom objects.
-"""
-
-import dom
-from cStringIO import StringIO
-
-class Visitor:
-
-  def descend(self, node):
-    for child in node.children:
-      child.dispatch(self)
-
-  def node(self, node):
-    self.descend(node)
-
-  def leaf(self, leaf):
-    pass
-
-class Identity:
-
-  def descend(self, node):
-    result = []
-    for child in node.children:
-      result.append(child.dispatch(self))
-    return result
-
-  def default(self, tag):
-    result = dom.Tag(tag.name, *tag.attrs)
-    result.extend(self.descend(tag))
-    return result
-
-  def tree(self, tree):
-    result = dom.Tree()
-    result.extend(self.descend(tree))
-    return result
-
-  def tag(self, tag):
-    return self.default(tag)
-
-  def leaf(self, leaf):
-    return leaf.__class__(leaf.data)
-
-class Sexp(Identity):
-
-  def __init__(self):
-    self.stack = []
-    self.level = 0
-    self.out = ""
-
-  def open(self, s):
-    self.out += "(%s" % s
-    self.level += len(s) + 1
-    self.stack.append(s)
-
-  def line(self, s = ""):
-    self.out = self.out.rstrip()
-    self.out += "\n" + " "*self.level + s
-
-  def close(self):
-    s = self.stack.pop()
-    self.level -= len(s) + 1
-    self.out = self.out.rstrip()
-    self.out += ")"
-
-  def tree(self, tree):
-    self.open("+ ")
-    for child in tree.children:
-      self.line(); child.dispatch(self)
-    self.close()
-
-  def tag(self, tag):
-    self.open("Node(%s) " % tag.name)
-    for child in tag.children:
-      self.line(); child.dispatch(self)
-    self.close()
-
-  def leaf(self, leaf):
-    self.line("%s(%s)" % (leaf.__class__.__name__, leaf.data))
-
-class Output:
-
-  def descend(self, node):
-    out = StringIO()
-    for child in node.children:
-      out.write(child.dispatch(self))
-    return out.getvalue()
-
-  def default(self, tag):
-    out = StringIO()
-    out.write("<%s" % tag.name)
-    for k, v in tag.attrs:
-      out.write(' %s="%s"' % (k, v))
-    out.write(">")
-    out.write(self.descend(tag))
-    if not tag.singleton:
-      out.write("</%s>" % tag.name)
-    return out.getvalue()
-
-  def tree(self, tree):
-    return self.descend(tree)
-
-  def tag(self, tag):
-    return self.default(tag)
-
-  def data(self, leaf):
-    return leaf.data
-
-  def entity(self, leaf):
-    return "&%s;" % leaf.data
-
-  def character(self, leaf):
-    raise Exception("TODO")
-
-  def comment(self, leaf):
-    return "<!-- %s -->" % leaf.data
-
-class Empty(Output):
-
-  def tag(self, tag):
-    return self.descend(tag)
-
-  def data(self, leaf):
-    return ""
-
-  def entity(self, leaf):
-    return ""
-
-  def character(self, leaf):
-    return ""
-
-  def comment(self, leaf):
-    return ""
-
-class Text(Empty):
-
-  def data(self, leaf):
-    return leaf.data
-
-  def entity(self, leaf):
-    return "&%s;" % leaf.data
-
-  def character(self, leaf):
-    # XXX: is this right?
-    return "&#%s;" % leaf.data
diff --git a/client/templates/method/MethodBodyInterface.vm b/client/templates/method/MethodBodyInterface.vm
deleted file mode 100644
index 29ecc4f..0000000
--- a/client/templates/method/MethodBodyInterface.vm
+++ /dev/null
@@ -1,50 +0,0 @@
-#macro( UpperCamel $name )
-#set( $name = "${name.substring(0,1).toUpperCase()}${name.substring(1)}" )
-#end
-#macro( toUpperCamel $name )${name.substring(0,1).toUpperCase()}${name.substring(1)}#end
-#set( $amqp_ClassName = $amqpClass.Name) 
-#UpperCamel( $amqp_ClassName )
-#set( $amqp_MethodName = $amqpMethod.Name ) 
-#UpperCamel( $amqp_MethodName )
-#set( $javaClassName = "${amqp_ClassName}${amqp_MethodName}Body" )
-#set( $filename = "${javaClassName}.java")
-/*
- *
- * 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.
- *
- */
-
-/*
- * This file is auto-generated by ${generator} - do not modify.
- * Supported AMQP version:
- #foreach( $supportedVersion in $model.VersionSet )
- *   $supportedVersion.getMajor()-$supportedVersion.getMinor()
- #end
- */
-
-package org.apache.qpid.framing;
-
-public interface ${javaClassName} extends EncodableAMQDataBlock, AMQMethodBody
-{
-#foreach( $field in $amqpMethod.Fields )
-
-#if( $amqpMethod.isCommon( $field ) )
-    public $field.ConsistentNativeType get#toUpperCamel( ${field.Name} )();
-#end
-#end
-}
diff --git a/client/templates/method/version/MethodBodyClass.vm b/client/templates/method/version/MethodBodyClass.vm
deleted file mode 100644
index a960d35..0000000
--- a/client/templates/method/version/MethodBodyClass.vm
+++ /dev/null
@@ -1,196 +0,0 @@
-#macro( UpperCamel $name )
-#set( $name = "${name.substring(0,1).toUpperCase()}${name.substring(1)}" )
-#end
-#macro( toUpperCamel $name )${name.substring(0,1).toUpperCase()}${name.substring(1)}#end
-#set( $amqp_ClassName = $amqpClass.Name) 
-#UpperCamel( $amqp_ClassName )
-#set( $amqp_MethodName = $amqpMethod.Name ) 
-#UpperCamel( $amqp_MethodName )
-#set( $javaClassName = "${amqp_ClassName}${amqp_MethodName}BodyImpl" )
-#set( $interfaceName = "${amqp_ClassName}${amqp_MethodName}Body" )
-#set( $amqpPackageName = "amqp_$version.getMajor()_$version.getMinor()" )
-#set( $filename = "${amqpPackageName}/${javaClassName}.java")
-/*
- *
- * 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.
- *
- */
-
-/*
- * This file is auto-generated by ${generator} - do not modify.
- * Supported AMQP version:
- *   $version.getMajor()-$version.getMinor()
- */
-
-#set( $clazz = $amqpClass.asSingleVersionClass( $version ) ) 
-#set( $method = $amqpMethod.asSingleVersionMethod( $version ) )
-package org.apache.qpid.framing.amqp_$version.getMajor()_$version.getMinor();
-
-import org.apache.qpid.codec.MarkableDataInput;
-import java.io.DataOutput;
-import java.io.IOException;
-
-import org.apache.qpid.framing.*;
-import org.apache.qpid.AMQException;
-
-public class ${javaClassName} extends AMQMethodBody_$version.getMajor()_$version.getMinor() implements $interfaceName
-{
-    private static final AMQMethodBodyInstanceFactory FACTORY_INSTANCE = new AMQMethodBodyInstanceFactory()
-    {
-        public AMQMethodBody newInstance(MarkableDataInput in, long size) throws AMQFrameDecodingException, IOException
-        {
-            return new ${javaClassName}(in);
-        }
-    };
-
-    public static AMQMethodBodyInstanceFactory getFactory()
-    {
-        return FACTORY_INSTANCE;
-    }
-
-    public static final int CLASS_ID =  $clazz.ClassId;
-    public static final int METHOD_ID = $method.MethodId;
-
-    // Fields declared in specification
-#foreach( $field in $method.ConsolidatedFields )
-    private final $field.NativeType _$field.getName(); // $field.UnderlyingFields
-#end
-
-    // Constructor
-    public ${javaClassName}(MarkableDataInput buffer) throws AMQFrameDecodingException, IOException
-    {
-#foreach( $field in $method.ConsolidatedFields )
-        _$field.Name = read$field.getEncodingType()( buffer );
-#end
-    }
-
-    public ${javaClassName}(
-#foreach( $field in $method.FieldList )
-#if( $velocityCount == $method.getFieldList().size() )
-                                $field.NativeType $field.Name
-#else
-                                $field.NativeType $field.Name,
-#end
-#end
-                            )
-    {
-#set( $consolidatedFieldName = "" )
-#foreach( $field in $method.FieldList )
-#if( $method.isConsolidated( $field.Name ) )
-#if( !$method.getConsolidatedFieldName( $field.Name ).equals( $consolidatedFieldName ) )
-#if( !$consolidatedFieldName.equals("") )
-        _$consolidatedFieldName = $consolidatedFieldName; // 1
-#end
-#set( $consolidatedFieldName = $method.getConsolidatedFieldName( $field.Name ) )
-        byte $consolidatedFieldName = (byte)0;
-#end
-        if( $field.Name )
-        {
-            $consolidatedFieldName = (byte) (((int) $consolidatedFieldName) | (1 << $method.getPositionInBitField( $field.Name )));
-        }
-#if( $velocityCount == $method.getFieldList().size())
-        _$consolidatedFieldName = $consolidatedFieldName;
-#else
-
-#end
-#else
-#if( !$consolidatedFieldName.equals("") )
-        _$consolidatedFieldName = $consolidatedFieldName;
-#end
-#set( $consolidatedFieldName = "" )
-        _$field.Name = $field.Name;
-#end
-#end
-    }
-
-    public int getClazz()
-    {
-        return CLASS_ID;
-    }
-
-    public int getMethod()
-    {
-        return METHOD_ID;
-    }
-
-#foreach( $field in $method.FieldList )
-    public final $field.NativeType get#toUpperCamel( ${field.Name} )()
-    {
-#if( $method.isConsolidated( $field.Name ) )
-        return (((int)(_$method.getConsolidatedFieldName( $field.Name ))) & ( 1 << $method.getPositionInBitField( $field.Name ))) != 0;
-#else
-        return _$field.Name;
-#end
-    }
-#end
-
-    protected int getBodySize()
-    {
-#set( $fixedSize = 0 )
-#foreach( $field in $method.ConsolidatedFields )
-#if( $field.isFixedSize() )
-#set( $fixedSize = $fixedSize + $field.Size )
-#end
-#end
-        int size = $fixedSize;
-#foreach( $field in $method.ConsolidatedFields )
-#if( ! $field.isFixedSize() )
-        size += getSizeOf( _$field.Name );
-#end
-#end
-        return size;
-    }
-
-    public void writeMethodPayload(DataOutput buffer) throws IOException
-    {
-#foreach( $field in $method.ConsolidatedFields )
-        write$field.getEncodingType()( buffer, _$field.Name );
-#end
-    }
-
-    public boolean execute(MethodDispatcher dispatcher, int channelId) throws AMQException
-	{
-#set( $amqpMethodNameFirstChar = $amqpMethod.getName().substring(0,1) )
-#set( $amqpMethodNameFirstCharU = $amqpMethodNameFirstChar.toUpperCase() )
-#set( $amqpMethodNameUpperCamel = "$amqpMethodNameFirstCharU$amqpMethod.getName().substring(1)" )
-#if( $amqpMethod.inAllVersions() )
-    return dispatcher.dispatch${amqpClassNameUpperCamel}${amqpMethodNameUpperCamel}(this, channelId);
-#else
-    return ((MethodDispatcher_$version.getMajor()_$version.getMinor())dispatcher).dispatch${amqp_ClassName}${amqpMethodNameUpperCamel}(this, channelId);
-#end
-	}
-
-    public String toString()
-    {
-        StringBuilder buf = new StringBuilder("[$javaClassName: ");
-#foreach( $field in $method.FieldList )
-        buf.append( "$field.Name=" );
-#if( $field.NativeType == "byte[]" )
-        buf.append(  get#toUpperCamel( $field.Name )() == null  ? "null" : java.util.Arrays.toString( get#toUpperCamel( $field.Name )() ) );
-#else
-        buf.append(  get#toUpperCamel( $field.Name )() );
-#end
-#if( $velocityCount	!= $method.FieldList.size() )
-        buf.append( ", " );
-#end		
-#end
-        buf.append("]");
-        return buf.toString();
-    }
-
-}
diff --git a/client/templates/model/ClientMethodDispatcherInterface.vm b/client/templates/model/ClientMethodDispatcherInterface.vm
deleted file mode 100644
index e814d6b..0000000
--- a/client/templates/model/ClientMethodDispatcherInterface.vm
+++ /dev/null
@@ -1,55 +0,0 @@
-#set( $filename = "ClientMethodDispatcher.java")
-/*
- *
- * 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.
- *
- */
-
-/*
- * This file is auto-generated by $generator - do not modify.
- * Supported AMQP version:
- #foreach( $supportedVersion in $model.VersionSet )
- *   $supportedVersion.getMajor()-$supportedVersion.getMinor()
- #end
- */
-
-package org.apache.qpid.framing;
-
-import org.apache.qpid.AMQException;
-
-public interface ClientMethodDispatcher
-{
-
-#foreach( $amqpClass in $model.getClasses() )
-#set( $amqpClassNameFirstChar = $amqpClass.getName().substring(0,1) )
-#set( $amqpClassNameFirstCharU = $amqpClassNameFirstChar.toUpperCase() )
-#set( $amqpClassNameUpperCamel = "$amqpClassNameFirstCharU$amqpClass.getName().substring(1)" )
-#foreach( $amqpMethodVersions in $amqpClass.getMethods() )
-#if( $amqpMethodVersions.inAllVersions() )
-#set( $amqpMethod = $amqpMethodVersions.asSingleVersionMethod($amqpMethodVersions.getVersionSet().first()) )
-#if( $amqpMethod.isClientMethod() )
-#set( $amqpMethodNameFirstChar = $amqpMethod.getName().substring(0,1) )
-#set( $amqpMethodNameFirstCharU = $amqpMethodNameFirstChar.toUpperCase() )
-#set( $amqpMethodNameUpperCamel = "$amqpMethodNameFirstCharU$amqpMethod.getName().substring(1)" )
-    public boolean dispatch${amqpClassNameUpperCamel}${amqpMethodNameUpperCamel}(${amqpClassNameUpperCamel}${amqpMethodNameUpperCamel}Body body, int channelId) throws AMQException;
-#end
-#end
-#end
-#end
-
-}
\ No newline at end of file
diff --git a/client/templates/model/MethodDispatcherInterface.vm b/client/templates/model/MethodDispatcherInterface.vm
deleted file mode 100644
index 698d68e..0000000
--- a/client/templates/model/MethodDispatcherInterface.vm
+++ /dev/null
@@ -1,36 +0,0 @@
-#set( $filename = "MethodDispatcher.java")
-/*
- *
- * 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.
- *
- */
-
-/*
- * This file is auto-generated by $generator - do not modify.
- * Supported AMQP version:
- #foreach( $supportedVersion in $model.VersionSet )
- *   $supportedVersion.getMajor()-$supportedVersion.getMinor()
- #end
- */
-
-package org.apache.qpid.framing;
-
-public interface MethodDispatcher extends
-                     ClientMethodDispatcher, ServerMethodDispatcher
-{
-}
diff --git a/client/templates/model/MethodRegistryClass.vm b/client/templates/model/MethodRegistryClass.vm
deleted file mode 100644
index cad115a..0000000
--- a/client/templates/model/MethodRegistryClass.vm
+++ /dev/null
@@ -1,98 +0,0 @@
-#set( $filename = "MethodRegistry.java")
-/*
- *
- * 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.
- *
- */
-
-/*
- * This file is auto-generated by $generator - do not modify.
- * Supported AMQP version:
- #foreach( $supportedVersion in $model.VersionSet )
- *   $supportedVersion.getMajor()-$supportedVersion.getMinor()
- #end
- */
-
-package org.apache.qpid.framing;
-
-import java.io.IOException;
-
-import org.apache.qpid.framing.abstraction.ProtocolVersionMethodConverter;
-import org.apache.qpid.codec.MarkableDataInput;
-
-import java.util.Map;
-import java.util.HashMap;
-
-
-public abstract class MethodRegistry
-{
-    private static final Map<ProtocolVersion, MethodRegistry> _registries =
-            new HashMap<ProtocolVersion, MethodRegistry>();
-
-#foreach( $supportedVersion in $model.VersionSet )
-
-#set( $verName = "_$supportedVersion.getMajor()_$supportedVersion.getMinor()" )
-#set( $regPackage = "org.apache.qpid.framing.amqp$verName" )
-    public static final MethodRegistry registry_$supportedVersion.getMajor()_$supportedVersion.getMinor() =
-        new ${regPackage}.MethodRegistry${verName}();
-#end
-
-    public abstract AMQMethodBody convertToBody(MarkableDataInput in, long size)
-        throws AMQFrameDecodingException, IOException;
-
-    public abstract int getMaxClassId();
-
-    public abstract int getMaxMethodId(int classId);
-
-    protected MethodRegistry(ProtocolVersion pv)
-    {
-        _registries.put(pv, this);
-    }
-
-    public static MethodRegistry getMethodRegistry(ProtocolVersion pv)
-    {
-        return _registries.get(pv);
-    }
-
-#foreach( $amqpClass in $model.getClasses() )
-#set( $amqpClassNameFirstChar = $amqpClass.getName().substring(0,1) )
-#set( $amqpClassNameFirstCharU = $amqpClassNameFirstChar.toUpperCase() )
-#set( $amqpClassNameUpperCamel = "$amqpClassNameFirstCharU$amqpClass.getName().substring(1)" )
-
-#foreach( $amqpMethodVersions in $amqpClass.getMethods() )
-#if( $amqpMethodVersions.isVersionInterfaceConsistent() )
-#set( $amqpMethod = $amqpMethodVersions.asSingleVersionMethod($amqpMethodVersions.getVersionSet().first()) )
-
-#set( $amqpMethodNameFirstChar = $amqpMethod.getName().substring(0,1) )
-#set( $amqpMethodNameFirstCharU = $amqpMethodNameFirstChar.toUpperCase() )
-#set( $amqpMethodNameUpperCamel = "$amqpMethodNameFirstCharU$amqpMethod.getName().substring(1)" )
-    public abstract ${amqpClassNameUpperCamel}${amqpMethodNameUpperCamel}Body create${amqpClassNameUpperCamel}${amqpMethodNameUpperCamel}Body(
-#foreach( $field in $amqpMethod.FieldList )
-#if( $velocityCount == $amqpMethod.getFieldList().size() )
-                                final $field.NativeType $field.Name
-#else
-                                final $field.NativeType $field.Name,
-#end
-#end
-                                );
-#end
-#end
-#end
-
-    public abstract ProtocolVersionMethodConverter getProtocolVersionMethodConverter();
-}
diff --git a/client/templates/model/ProtocolVersionListClass.vm b/client/templates/model/ProtocolVersionListClass.vm
deleted file mode 100644
index e8e2b8c..0000000
--- a/client/templates/model/ProtocolVersionListClass.vm
+++ /dev/null
@@ -1,189 +0,0 @@
-#set( $filename = "ProtocolVersion.java" )
-/*
-*
-* 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.
-*
-*/
-
-/*
-* This file is auto-generated by $generator - do not modify.
-* Supported AMQP versions:
-#foreach( $version in $model.getVersionSet() )
-* $version.getMajor()-$version.getMinor()
-#end
-*/
-
-package org.apache.qpid.framing;
-
-import java.util.SortedSet;
-import java.util.Collections;
-import java.util.TreeSet;
-import java.util.Map;
-import java.util.HashMap;
-
-public class ProtocolVersion  implements Comparable
-{
-    private final byte _majorVersion;
-    private final byte _minorVersion;
-    private final String _stringFormat;
-
-    public ProtocolVersion(byte majorVersion, byte minorVersion)
-    {
-        _majorVersion = majorVersion;
-        _minorVersion = minorVersion;
-        _stringFormat = _majorVersion+"-"+_minorVersion;
-    }
-
-    public byte getMajorVersion()
-    {
-        return _majorVersion;
-    }
-
-    public byte getMinorVersion()
-    {
-        return _minorVersion;
-    }
-
-    public byte getActualMinorVersion()
-    {
-        return _minorVersion > 90 ? (byte) (_minorVersion / 10) : _minorVersion;
-    }
-
-    public byte getRevisionVersion()
-    {
-        return _minorVersion > 90 ? (byte) (_minorVersion % 10) : (byte) 0;
-    }
-
-    public String toString()
-    {
-        return _stringFormat;
-    }
-
-    public int compareTo(Object o)
-    {
-        ProtocolVersion pv = (ProtocolVersion) o;
-
-        /* 
-         * 0-8 has it's major and minor numbers the wrong way round (it's actually 8-0)...
-         * so we need to deal with that case specially
-         */
-
-        if((_majorVersion == (byte) 8) && (_minorVersion == (byte) 0))
-        {
-            ProtocolVersion fixedThis = new ProtocolVersion(_minorVersion, _majorVersion);
-            return fixedThis.compareTo(pv);
-        }
-
-        if((pv.getMajorVersion() == (byte) 8) && (pv.getMinorVersion() == (byte) 0))
-        {
-            ProtocolVersion fixedOther = new ProtocolVersion(pv.getMinorVersion(), pv.getMajorVersion());
-            return this.compareTo(fixedOther);
-        }
-
-        if(_majorVersion > pv.getMajorVersion())
-        {
-            return 1;
-        }
-        else if(_majorVersion < pv.getMajorVersion())
-        {
-            return -1;
-        }
-        else if(_minorVersion > pv.getMinorVersion())
-        {
-            return 1;
-        }
-        else if(getMinorVersion() < pv.getMinorVersion())
-        {
-            return -1;
-        }
-        else
-        {
-            return 0;
-        }
-
-    }
-
-    public boolean equals(Object o)
-    {
-        return o != null && (o == this || (compareTo(o) == 0));
-    }
-
-    public int hashCode()
-    {
-        return (0xFF & (int)_minorVersion) | ((0xFF & (int)_majorVersion) << 8);
-    }
-
-    public boolean isSupported()
-    {
-        return _supportedVersions.contains(this);
-    }
-
-    public static ProtocolVersion getLatestSupportedVersion()
-    {
-        return _supportedVersions.last();
-    }
-
-    private static final SortedSet<ProtocolVersion> _supportedVersions;
-    private static final Map<String, ProtocolVersion> _nameToVersionMap =
-                             new HashMap<String, ProtocolVersion>();
-    private static final ProtocolVersion _defaultVersion;
-
-    public static final ProtocolVersion v0_10 = new ProtocolVersion((byte)0,(byte)10);
-
-#foreach( $version in $model.getVersionSet() )
-#set( $versionId = "v$version.getMajor()_$version.getMinor()" )
-    public static final ProtocolVersion $versionId = new ProtocolVersion((byte)$version.getMajor(),(byte)$version.getMinor());
-#end
-
-    static
-    {
-        SortedSet<ProtocolVersion> versions = new TreeSet<ProtocolVersion>();
-
-        versions.add(v0_10);
-        _nameToVersionMap.put("0-10", v0_10);
-#foreach( $version in $model.getVersionSet() )
-#set( $versionId = "v$version.getMajor()_$version.getMinor()" )
-        versions.add($versionId);
-        _nameToVersionMap.put("${version.getMajor()}-${version.getMinor()}", $versionId);
-#end
-        _supportedVersions = Collections.unmodifiableSortedSet(versions);
-
-        ProtocolVersion systemDefinedVersion =
-            _nameToVersionMap.get(System.getProperty("org.apache.qpid.amqp_version"));
-
-        _defaultVersion = (systemDefinedVersion == null)
-                              ? getLatestSupportedVersion()
-                              : systemDefinedVersion;
-    }
-
-    public static SortedSet<ProtocolVersion> getSupportedProtocolVersions()
-    {
-        return _supportedVersions;
-    }
-
-    public static ProtocolVersion parse(String name)
-    {
-        return _nameToVersionMap.get(name);
-    }
-
-    public static ProtocolVersion defaultProtocolVersion()
-    {
-        return _defaultVersion;
-    }
-
-}
diff --git a/client/templates/model/ServerMethodDispatcherInterface.vm b/client/templates/model/ServerMethodDispatcherInterface.vm
deleted file mode 100644
index fd7b643..0000000
--- a/client/templates/model/ServerMethodDispatcherInterface.vm
+++ /dev/null
@@ -1,55 +0,0 @@
-#set( $filename = "ServerMethodDispatcher.java")
-/*
- *
- * 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.
- *
- */
-
-/*
- * This file is auto-generated by $generator - do not modify.
- * Supported AMQP version:
- #foreach( $supportedVersion in $model.VersionSet )
- *   $supportedVersion.getMajor()-$supportedVersion.getMinor()
- #end
- */
-
-package org.apache.qpid.framing;
-
-import org.apache.qpid.AMQException;
-
-public interface ServerMethodDispatcher
-{
-
-#foreach( $amqpClass in $model.getClasses() )
-#set( $amqpClassNameFirstChar = $amqpClass.getName().substring(0,1) )
-#set( $amqpClassNameFirstCharU = $amqpClassNameFirstChar.toUpperCase() )
-#set( $amqpClassNameUpperCamel = "$amqpClassNameFirstCharU$amqpClass.getName().substring(1)" )
-#foreach( $amqpMethodVersions in $amqpClass.getMethods() )
-#if( $amqpMethodVersions.inAllVersions() )
-#set( $amqpMethod = $amqpMethodVersions.asSingleVersionMethod($amqpMethodVersions.getVersionSet().first()) )
-#if( $amqpMethod.isServerMethod() )
-#set( $amqpMethodNameFirstChar = $amqpMethod.getName().substring(0,1) )
-#set( $amqpMethodNameFirstCharU = $amqpMethodNameFirstChar.toUpperCase() )
-#set( $amqpMethodNameUpperCamel = "$amqpMethodNameFirstCharU$amqpMethod.getName().substring(1)" )
-    public boolean dispatch${amqpClassNameUpperCamel}${amqpMethodNameUpperCamel}(${amqpClassNameUpperCamel}${amqpMethodNameUpperCamel}Body body, int channelId) throws AMQException;
-#end
-#end
-#end
-#end
-
-}
\ No newline at end of file
diff --git a/client/templates/model/version/ClientMethodDispatcherInterface.vm b/client/templates/model/version/ClientMethodDispatcherInterface.vm
deleted file mode 100644
index 24fe9e8..0000000
--- a/client/templates/model/version/ClientMethodDispatcherInterface.vm
+++ /dev/null
@@ -1,54 +0,0 @@
-#set( $filename = "amqp_$version.getMajor()_$version.getMinor()/ClientMethodDispatcher_${version.getMajor()}_${version.getMinor()}.java")
-/*
- *
- * 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.
- *
- */
-
-/*
- * This file is auto-generated by $generator - do not modify.
- * Supported AMQP version:
- #foreach( $supportedVersion in $model.VersionSet )
- *   $supportedVersion.getMajor()-$supportedVersion.getMinor()
- #end
- */
-
-package org.apache.qpid.framing.amqp_$version.getMajor()_$version.getMinor();
-
-import org.apache.qpid.AMQException;
-import org.apache.qpid.framing.*;
-
-public interface ClientMethodDispatcher_${version.getMajor()}_${version.getMinor()} extends ClientMethodDispatcher
-{
-
-#foreach( $amqpClass in $model.getClasses() )
-#set( $amqpClassNameFirstChar = $amqpClass.getName().substring(0,1) )
-#set( $amqpClassNameFirstCharU = $amqpClassNameFirstChar.toUpperCase() )
-#set( $amqpClassNameUpperCamel = "$amqpClassNameFirstCharU$amqpClass.getName().substring(1)" )
-#foreach( $amqpMethodVersions in $amqpClass.getMethods() )
-#set( $amqpMethod = $amqpMethodVersions.asSingleVersionMethod($amqpMethodVersions.getVersionSet().first()) )
-#if( $amqpMethod.isClientMethod() )
-#set( $amqpMethodNameFirstChar = $amqpMethod.getName().substring(0,1) )
-#set( $amqpMethodNameFirstCharU = $amqpMethodNameFirstChar.toUpperCase() )
-#set( $amqpMethodNameUpperCamel = "$amqpMethodNameFirstCharU$amqpMethod.getName().substring(1)" )
-    public boolean dispatch${amqpClassNameUpperCamel}${amqpMethodNameUpperCamel}(${amqpClassNameUpperCamel}${amqpMethodNameUpperCamel}Body body, int channelId) throws AMQException;
-#end							
-#end
-#end
-
-}
\ No newline at end of file
diff --git a/client/templates/model/version/MethodDispatcherInterface.vm b/client/templates/model/version/MethodDispatcherInterface.vm
deleted file mode 100644
index 2209188..0000000
--- a/client/templates/model/version/MethodDispatcherInterface.vm
+++ /dev/null
@@ -1,41 +0,0 @@
-#set( $filename = "amqp_$version.getMajor()_$version.getMinor()/MethodDispatcher_${version.getMajor()}_${version.getMinor()}.java")
-/*
- *
- * 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.
- *
- */
-
-/*
- * This file is auto-generated by $generator - do not modify.
- * Supported AMQP version:
- #foreach( $supportedVersion in $model.VersionSet )
- *   $supportedVersion.getMajor()-$supportedVersion.getMinor()
- #end
- */
-
-package org.apache.qpid.framing.amqp_$version.getMajor()_$version.getMinor();
-
-import org.apache.qpid.framing.*;
-
-public interface MethodDispatcher_${version.getMajor()}_${version.getMinor()}
-    extends MethodDispatcher,
-            ServerMethodDispatcher_${version.getMajor()}_${version.getMinor()},
-            ClientMethodDispatcher_${version.getMajor()}_${version.getMinor()}
-{
-
-}
diff --git a/client/templates/model/version/MethodRegistryClass.vm b/client/templates/model/version/MethodRegistryClass.vm
deleted file mode 100644
index 0c14bdd..0000000
--- a/client/templates/model/version/MethodRegistryClass.vm
+++ /dev/null
@@ -1,179 +0,0 @@
-#set( $filename = "amqp_$version.getMajor()_$version.getMinor()/MethodRegistry_${version.getMajor()}_${version.getMinor()}.java")
-/*
- *
- * 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.
- *
- */
-
-/*
- * This file is auto-generated by $generator - do not modify.
- * Supported AMQP version:
- *   $version.getMajor()-$version.getMinor()
- */
-
-package org.apache.qpid.framing.amqp_${version.getMajor()}_${version.getMinor()};
-
-import org.apache.qpid.framing.*;
-import org.apache.qpid.protocol.AMQConstant;
-
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import java.io.IOException;
-
-import org.apache.qpid.framing.abstraction.ProtocolVersionMethodConverter;
-import org.apache.qpid.codec.MarkableDataInput;
-
-
-public class MethodRegistry_$version.getMajor()_$version.getMinor() extends MethodRegistry
-{
-
-    private static final Logger _log = LoggerFactory.getLogger(MethodRegistry.class);
-
-    private ProtocolVersionMethodConverter _protocolVersionConverter = new MethodConverter_$version.getMajor()_$version.getMinor()();
-
-#set( $specificModel = $model.asSingleVersionModel() )
-#set( $maxClassId = $specificModel.getMaximumClassId()+1 )
-    private final AMQMethodBodyInstanceFactory[][] _factories = new AMQMethodBodyInstanceFactory[$maxClassId][];
-
-    public MethodRegistry_$version.getMajor()_$version.getMinor()()
-    {
-        this(new ProtocolVersion((byte)$version.getMajor(),(byte)$version.getMinor()));
-    }
-
-    public MethodRegistry_$version.getMajor()_$version.getMinor()(ProtocolVersion pv)
-    {
-        super(pv);
-#foreach( $amqpClass in $specificModel.getClassList() )
-#set( $amqpClassNameFirstChar = $amqpClass.getName().substring(0,1) )
-#set( $amqpClassNameFirstCharU = $amqpClassNameFirstChar.toUpperCase() )
-#set( $amqpClassNameUpperCamel = "$amqpClassNameFirstCharU$amqpClass.getName().substring(1)" )
-
-
-
-        // Register method body instance factories for the $amqpClassNameUpperCamel class.
-
-#set( $maxMethodId = $amqpClass.getMaximumMethodId()+1 )
-        _factories[$amqpClass.getClassId()] = new AMQMethodBodyInstanceFactory[$maxMethodId];
-
-#foreach( $amqpMethod in $amqpClass.getMethodList() )
-#set( $amqpMethodNameFirstChar = $amqpMethod.getName().substring(0,1) )
-#set( $amqpMethodNameFirstCharU = $amqpMethodNameFirstChar.toUpperCase() )
-#set( $amqpMethodNameUpperCamel = "$amqpMethodNameFirstCharU$amqpMethod.getName().substring(1)" )
-        _factories[$amqpClass.getClassId()][$amqpMethod.getMethodId()] = ${amqpClassNameUpperCamel}${amqpMethodNameUpperCamel}BodyImpl.getFactory();
-#end
-#end
-    }
-
-    public AMQMethodBody convertToBody(MarkableDataInput in, long size)
-        throws AMQFrameDecodingException, IOException
-    {
-        int classId = in.readUnsignedShort();
-        int methodId = in.readUnsignedShort();
-
-        AMQMethodBodyInstanceFactory bodyFactory;
-        try
-        {
-            bodyFactory = _factories[classId][methodId];
-        }
-        catch(NullPointerException e)
-        {
-            throw new AMQFrameDecodingException(AMQConstant.COMMAND_INVALID,
-                "Class " + classId + " unknown in AMQP version $version.getMajor()-$version.getMinor()"
-                 + " (while trying to decode class " + classId + " method " + methodId + ".");
-        }
-        catch(IndexOutOfBoundsException e)
-        {
-            if(classId >= _factories.length)
-            {
-                throw new AMQFrameDecodingException(AMQConstant.COMMAND_INVALID,
-                    "Class " + classId + " unknown in AMQP version $version.getMajor()-$version.getMinor()"
-                     + " (while trying to decode class " + classId + " method " + methodId + ".");
-
-            }
-            else
-            {
-                throw new AMQFrameDecodingException(AMQConstant.COMMAND_INVALID,
-                    "Method " + methodId + " unknown in AMQP version $version.getMajor()-$version.getMinor()"
-                     + " (while trying to decode class " + classId + " method " + methodId + ".");
-
-            }
-        }
-
-        if (bodyFactory == null)
-        {
-            throw new AMQFrameDecodingException(AMQConstant.COMMAND_INVALID,
-                "Method " + methodId + " unknown in AMQP version $version.getMajor()-$version.getMinor()"
-                 + " (while trying to decode class " + classId + " method " + methodId + ".");
-        }
-
-        return bodyFactory.newInstance(in, size);
-    }
-
-    public int getMaxClassId()
-    {
-        return $specificModel.getMaximumClassId();
-    }
-
-    public int getMaxMethodId(int classId)
-    {
-        return _factories[classId].length - 1;
-    }
-
-#foreach( $amqpClass in $specificModel.getClassList() )
-#set( $amqpClassNameFirstChar = $amqpClass.getName().substring(0,1) )
-#set( $amqpClassNameFirstCharU = $amqpClassNameFirstChar.toUpperCase() )
-#set( $amqpClassNameUpperCamel = "$amqpClassNameFirstCharU$amqpClass.getName().substring(1)" )
-
-
-#foreach( $amqpMethod in $amqpClass.getMethodList() )
-#set( $amqpMethodNameFirstChar = $amqpMethod.getName().substring(0,1) )
-#set( $amqpMethodNameFirstCharU = $amqpMethodNameFirstChar.toUpperCase() )
-#set( $amqpMethodNameUpperCamel = "$amqpMethodNameFirstCharU$amqpMethod.getName().substring(1)" )
-    public ${amqpClassNameUpperCamel}${amqpMethodNameUpperCamel}Body create${amqpClassNameUpperCamel}${amqpMethodNameUpperCamel}Body(
-#foreach( $field in $amqpMethod.FieldList )
-#if( $velocityCount == $amqpMethod.getFieldList().size() )
-                                final $field.NativeType $field.Name
-#else
-                                final $field.NativeType $field.Name,
-#end
-#end
-                                )
-    {
-        return new ${amqpClassNameUpperCamel}${amqpMethodNameUpperCamel}BodyImpl(
-#foreach( $field in $amqpMethod.FieldList )
-#if( $velocityCount == $amqpMethod.getFieldList().size() )
-                                $field.Name
-#else
-                                $field.Name,
-#end
-#end
-                                );
-    }
-
-#end
-
-#end
-
-    public ProtocolVersionMethodConverter getProtocolVersionMethodConverter()
-    {
-        return _protocolVersionConverter;
-    }
-
-}
diff --git a/client/templates/model/version/ServerMethodDispatcherInterface.vm b/client/templates/model/version/ServerMethodDispatcherInterface.vm
deleted file mode 100644
index a26154f..0000000
--- a/client/templates/model/version/ServerMethodDispatcherInterface.vm
+++ /dev/null
@@ -1,55 +0,0 @@
-#set( $filename = "amqp_$version.getMajor()_$version.getMinor()/ServerMethodDispatcher_${version.getMajor()}_${version.getMinor()}.java")
-/*
- *
- * 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.
- *
- */
-
-/*
- * This file is auto-generated by $generator - do not modify.
- * Supported AMQP version:
- #foreach( $supportedVersion in $model.VersionSet )
- *   $supportedVersion.getMajor()-$supportedVersion.getMinor()
- #end
- */
-
-package org.apache.qpid.framing.amqp_$version.getMajor()_$version.getMinor();
-
-import org.apache.qpid.AMQException;
-import org.apache.qpid.framing.*;
-
-
-public interface ServerMethodDispatcher_${version.getMajor()}_${version.getMinor()} extends ServerMethodDispatcher
-{
-
-#foreach( $amqpClass in $model.getClasses() )
-#set( $amqpClassNameFirstChar = $amqpClass.getName().substring(0,1) )
-#set( $amqpClassNameFirstCharU = $amqpClassNameFirstChar.toUpperCase() )
-#set( $amqpClassNameUpperCamel = "$amqpClassNameFirstCharU$amqpClass.getName().substring(1)" )
-#foreach( $amqpMethodVersions in $amqpClass.getMethods() )
-#set( $amqpMethod = $amqpMethodVersions.asSingleVersionMethod($amqpMethodVersions.getVersionSet().first()) )
-#if( $amqpMethod.isServerMethod() )
-#set( $amqpMethodNameFirstChar = $amqpMethod.getName().substring(0,1) )
-#set( $amqpMethodNameFirstCharU = $amqpMethodNameFirstChar.toUpperCase() )
-#set( $amqpMethodNameUpperCamel = "$amqpMethodNameFirstCharU$amqpMethod.getName().substring(1)" )
-    public boolean dispatch${amqpClassNameUpperCamel}${amqpMethodNameUpperCamel}(${amqpClassNameUpperCamel}${amqpMethodNameUpperCamel}Body body, int channelId) throws AMQException;
-#end							
-#end
-#end
-
-}
\ No newline at end of file
diff --git a/client/templating.py b/client/templating.py
deleted file mode 100644
index 732e96f..0000000
--- a/client/templating.py
+++ /dev/null
@@ -1,119 +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.
-#
-
-class Parser:
-
-  def __init__(self, **kwargs):
-    self.output = ""
-    self.environ = {"out": self.parse}
-    for k, v in kwargs.items():
-      self.environ[k] = v
-    self.text = ""
-    self.level = 0
-    self.line = None
-
-  def action(self, actor):
-    text = self.text
-    self.text = ""
-    actor(text)
-
-  def out(self, text):
-    self.output += text
-
-  def prefix_lines(self, text):
-    return "%s%s" % ("\n"*(self.line - 1 - text.count("\n")), text)
-
-  def evaluate(self, text):
-    self.out(str(eval(self.prefix_lines(text), self.environ, self.environ)))
-
-  def execute(self, text):
-    exec self.prefix_lines(text) in self.environ, self.environ
-
-  def parse(self, input):
-    old_line = self.line
-    try:
-      state = self.start
-      self.line = 1
-      for ch in input:
-        state = state(ch)
-        if ch == "\n":
-          self.line += 1
-      if state == self.start:
-        self.action(self.out)
-      elif state == self.alnum:
-        self.action(self.evaluate)
-      else:
-        raise ParseError()
-    finally:
-      self.line = old_line
-
-  def start(self, ch):
-    if ch == "$":
-      return self.dollar
-    else:
-      self.text += ch
-      return self.start
-
-  def dollar(self, ch):
-    if ch == "$":
-      self.text += "$"
-      return self.start
-    elif ch == "(":
-      self.action(self.out)
-      return self.expression
-    elif ch == "{":
-      self.action(self.out)
-      return self.block
-    else:
-      self.action(self.out)
-      self.text += ch
-      return self.alnum
-
-  def alnum(self, ch):
-    if ch.isalnum():
-      self.text += ch
-      return self.alnum
-    else:
-      self.action(self.evaluate)
-      self.text += ch
-      return self.start
-
-  def match(self, ch, start, end):
-    if ch == start:
-      self.level += 1
-    if ch == end:
-      self.level -= 1
-
-  def block(self, ch):
-    if not self.level and ch == "}":
-      self.action(self.execute)
-      return self.start
-    else:
-      self.match(ch, "{", "}")
-      self.text += ch
-      return self.block
-
-  def expression(self, ch):
-    if not self.level and ch == ")":
-      self.action(self.evaluate)
-      return self.start
-    else:
-      self.match(ch, "(", ")")
-      self.text += ch
-      return self.expression