You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@zookeeper.apache.org by an...@apache.org on 2018/09/03 09:58:01 UTC

[5/6] zookeeper git commit: ZOOKEEPER-3080: MAVEN MIGRATION - Step 1.5 - move jute dir

http://git-wip-us.apache.org/repos/asf/zookeeper/blob/b7181d2c/src/java/main/org/apache/jute/compiler/CppGenerator.java
----------------------------------------------------------------------
diff --git a/src/java/main/org/apache/jute/compiler/CppGenerator.java b/src/java/main/org/apache/jute/compiler/CppGenerator.java
deleted file mode 100644
index 3f5ccb3..0000000
--- a/src/java/main/org/apache/jute/compiler/CppGenerator.java
+++ /dev/null
@@ -1,124 +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.
- */
-
-package org.apache.jute.compiler;
-
-import java.io.File;
-import java.io.FileWriter;
-import java.io.IOException;
-import java.util.Iterator;
-import java.util.List;
-
-/**
- * C++ Code generator front-end for Hadoop record I/O.
- */
-class CppGenerator {
-    private String mName;
-    private List<JFile> mInclFiles;
-    private List<JRecord> mRecList;
-    private final File outputDirectory;
-
-    /** Creates a new instance of CppGenerator
-     *
-     * @param name possibly full pathname to the file
-     * @param ilist included files (as JFile)
-     * @param rlist List of records defined within this file
-     * @param outputDirectory
-     */
-    CppGenerator(String name, List<JFile> ilist, List<JRecord> rlist,
-            File outputDirectory)
-     {
-        this.outputDirectory = outputDirectory;
-        mName = (new File(name)).getName();
-        mInclFiles = ilist;
-        mRecList = rlist;
-    }
-
-    /**
-     * Generate C++ code. This method only creates the requested file(s)
-     * and spits-out file-level elements (such as include statements etc.)
-     * record-level code is generated by JRecord.
-     */
-    void genCode() throws IOException {
-        if (!outputDirectory.exists()) {
-            if (!outputDirectory.mkdirs()) {
-                throw new IOException("unable to create output directory "
-                        + outputDirectory);
-            }
-        }
-
-        try (FileWriter cc = new FileWriter(new File(outputDirectory, mName + ".cc"));
-             FileWriter hh = new FileWriter(new File(outputDirectory, mName + ".hh"));
-        ) {
-            hh.write("/**\n");
-            hh.write("* Licensed to the Apache Software Foundation (ASF) under one\n");
-            hh.write("* or more contributor license agreements.  See the NOTICE file\n");
-            hh.write("* distributed with this work for additional information\n");
-            hh.write("* regarding copyright ownership.  The ASF licenses this file\n");
-            hh.write("* to you under the Apache License, Version 2.0 (the\n");
-            hh.write("* \"License\"); you may not use this file except in compliance\n");
-            hh.write("* with the License.  You may obtain a copy of the License at\n");
-            hh.write("*\n");
-            hh.write("*     http://www.apache.org/licenses/LICENSE-2.0\n");
-            hh.write("*\n");
-            hh.write("* Unless required by applicable law or agreed to in writing, software\n");
-            hh.write("* distributed under the License is distributed on an \"AS IS\" BASIS,\n");
-            hh.write("* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n");
-            hh.write("* See the License for the specific language governing permissions and\n");
-            hh.write("* limitations under the License.\n");
-            hh.write("*/\n");
-            hh.write("\n");
-
-            cc.write("/**\n");
-            cc.write("* Licensed to the Apache Software Foundation (ASF) under one\n");
-            cc.write("* or more contributor license agreements.  See the NOTICE file\n");
-            cc.write("* distributed with this work for additional information\n");
-            cc.write("* regarding copyright ownership.  The ASF licenses this file\n");
-            cc.write("* to you under the Apache License, Version 2.0 (the\n");
-            cc.write("* \"License\"); you may not use this file except in compliance\n");
-            cc.write("* with the License.  You may obtain a copy of the License at\n");
-            cc.write("*\n");
-            cc.write("*     http://www.apache.org/licenses/LICENSE-2.0\n");
-            cc.write("*\n");
-            cc.write("* Unless required by applicable law or agreed to in writing, software\n");
-            cc.write("* distributed under the License is distributed on an \"AS IS\" BASIS,\n");
-            cc.write("* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n");
-            cc.write("* See the License for the specific language governing permissions and\n");
-            cc.write("* limitations under the License.\n");
-            cc.write("*/\n");
-            cc.write("\n");
-
-            hh.write("#ifndef __" + mName.toUpperCase().replace('.', '_') + "__\n");
-            hh.write("#define __" + mName.toUpperCase().replace('.', '_') + "__\n");
-
-            hh.write("#include \"recordio.hh\"\n");
-            for (Iterator<JFile> i = mInclFiles.iterator(); i.hasNext(); ) {
-                JFile f = i.next();
-                hh.write("#include \"" + f.getName() + ".hh\"\n");
-            }
-            cc.write("#include \"" + mName + ".hh\"\n");
-
-            for (Iterator<JRecord> i = mRecList.iterator(); i.hasNext(); ) {
-                JRecord jr = i.next();
-                jr.genCppCode(hh, cc);
-            }
-
-            hh.write("#endif //" + mName.toUpperCase().replace('.', '_') + "__\n");
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/zookeeper/blob/b7181d2c/src/java/main/org/apache/jute/compiler/JBoolean.java
----------------------------------------------------------------------
diff --git a/src/java/main/org/apache/jute/compiler/JBoolean.java b/src/java/main/org/apache/jute/compiler/JBoolean.java
deleted file mode 100644
index b45b161..0000000
--- a/src/java/main/org/apache/jute/compiler/JBoolean.java
+++ /dev/null
@@ -1,50 +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.
- */
-
-package org.apache.jute.compiler;
-
-/**
- *
- */
-public class JBoolean extends JType {
-    
-    /** Creates a new instance of JBoolean */
-    public JBoolean() {
-        super("int32_t", "bool", "bool", "boolean", "Bool", "Boolean", "bool", "toBoolean");
-    }
-    
-    public String getSignature() {
-        return "z";
-    }
-    
-    public String genJavaCompareTo(String fname) {
-        return "    ret = ("+fname+" == peer."+fname+")? 0 : ("+fname+"?1:-1);\n";
-    }
-    
-    public String genJavaHashCode(String fname) {
-        return "     ret = ("+fname+")?0:1;\n";
-    }
-
-    String genCsharpHashCode(String fname) {
-        return "     ret = ("+capitalize(fname)+")?0:1;\n";
-    }
-
-    String genCsharpCompareTo(String name) {
-        return "    ret = ("+capitalize(name)+" == peer."+capitalize(name)+")? 0 : ("+capitalize(name)+"?1:-1);\n";
-    }
-}

http://git-wip-us.apache.org/repos/asf/zookeeper/blob/b7181d2c/src/java/main/org/apache/jute/compiler/JBuffer.java
----------------------------------------------------------------------
diff --git a/src/java/main/org/apache/jute/compiler/JBuffer.java b/src/java/main/org/apache/jute/compiler/JBuffer.java
deleted file mode 100644
index b2be5bd..0000000
--- a/src/java/main/org/apache/jute/compiler/JBuffer.java
+++ /dev/null
@@ -1,106 +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.
- */
-
-package org.apache.jute.compiler;
-
-/**
- *
- */
-public class JBuffer extends JCompType {
-    
-    /** Creates a new instance of JBuffer */
-    public JBuffer() {
-        super("struct buffer", " ::std::string", "byte[]", "byte[]", "Buffer", "byte[]", "byte[]");
-    }
-    
-    public String genCppGetSet(String fname, int fIdx) {
-        String cgetFunc = "  virtual const "+getCppType()+"& get"+fname+"() const {\n";
-        cgetFunc += "    return m"+fname+";\n";
-        cgetFunc += "  }\n";
-        String getFunc = "  virtual "+getCppType()+"& get"+fname+"() {\n";
-        getFunc += "    bs_.set("+fIdx+");return m"+fname+";\n";
-        getFunc += "  }\n";
-        return cgetFunc + getFunc;
-    }
-    
-    public String getSignature() {
-        return "B";
-    }
-    
-    public String genJavaReadWrapper(String fname, String tag, boolean decl) {
-        String ret = "";
-        if (decl) {
-            ret = "    byte[] "+fname+";\n";
-        }
-        return ret + "        "+fname+"=a_.readBuffer(\""+tag+"\");\n";
-    }
-    
-    public String genJavaWriteWrapper(String fname, String tag) {
-        return "        a_.writeBuffer("+fname+",\""+tag+"\");\n";
-    }
-    
-    public String genJavaCompareTo(String fname, String other) {
-      StringBuilder sb = new StringBuilder();
-      sb.append("    {\n");
-      sb.append("      byte[] my = "+fname+";\n");
-      sb.append("      byte[] ur = "+other+";\n");
-      sb.append("      ret = org.apache.jute.Utils.compareBytes(my,0,my.length,ur,0,ur.length);\n");
-      sb.append("    }\n");
-      return sb.toString();
-    }
-    
-    public String genJavaCompareTo(String fname) {
-        return genJavaCompareTo(fname, "peer."+fname);
-    }
-    public String genJavaCompareToWrapper(String fname, String other) {
-      return "    "+genJavaCompareTo(fname, other);
-    }
-    
-    public String genJavaEquals(String fname, String peer) {
-        return "    ret = org.apache.jute.Utils.bufEquals("+fname+","+peer+");\n";
-    }
-    
-    public String genJavaHashCode(String fname) {
-        return "    ret = java.util.Arrays.toString("+fname+").hashCode();\n";
-    }
-    
-    public String genJavaSlurpBytes(String b, String s, String l) {
-      StringBuilder sb = new StringBuilder();
-      sb.append("        {\n");
-      sb.append("           int i = org.apache.jute.Utils.readVInt("+b+", "+s+");\n");
-      sb.append("           int z = WritableUtils.getVIntSize(i);\n");
-      sb.append("           "+s+" += z+i; "+l+" -= (z+i);\n");
-      sb.append("        }\n");
-      return sb.toString();
-    }
-    
-    public String genJavaCompareBytes() {
-      StringBuilder sb = new StringBuilder();
-      sb.append("        {\n");
-      sb.append("           int i1 = org.apache.jute.Utils.readVInt(b1, s1);\n");
-      sb.append("           int i2 = org.apache.jute.Utils.readVInt(b2, s2);\n");
-      sb.append("           int z1 = WritableUtils.getVIntSize(i1);\n");
-      sb.append("           int z2 = WritableUtils.getVIntSize(i2);\n");
-      sb.append("           s1+=z1; s2+=z2; l1-=z1; l2-=z2;\n");
-      sb.append("           int r1 = org.apache.jute.Utils.compareBytes(b1,s1,l1,b2,s2,l2);\n");
-      sb.append("           if (r1 != 0) { return (r1<0)?-1:0; }\n");
-      sb.append("           s1+=i1; s2+=i2; l1-=i1; l1-=i2;\n");
-      sb.append("        }\n");
-      return sb.toString();
-    }
-}

http://git-wip-us.apache.org/repos/asf/zookeeper/blob/b7181d2c/src/java/main/org/apache/jute/compiler/JByte.java
----------------------------------------------------------------------
diff --git a/src/java/main/org/apache/jute/compiler/JByte.java b/src/java/main/org/apache/jute/compiler/JByte.java
deleted file mode 100644
index 4b1cea4..0000000
--- a/src/java/main/org/apache/jute/compiler/JByte.java
+++ /dev/null
@@ -1,34 +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.
- */
-
-package org.apache.jute.compiler;
-
-/**
- *
- */
-public class JByte extends JType {
-    
-    /** Creates a new instance of JByte */
-    public JByte() {
-        super("char", "int8_t", "byte", "byte", "Byte", "Byte", "byte", "toByte");
-    }
-    
-    public String getSignature() {
-        return "b";
-    }
-}

http://git-wip-us.apache.org/repos/asf/zookeeper/blob/b7181d2c/src/java/main/org/apache/jute/compiler/JCompType.java
----------------------------------------------------------------------
diff --git a/src/java/main/org/apache/jute/compiler/JCompType.java b/src/java/main/org/apache/jute/compiler/JCompType.java
deleted file mode 100644
index d98658f..0000000
--- a/src/java/main/org/apache/jute/compiler/JCompType.java
+++ /dev/null
@@ -1,66 +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.
- */
-
-package org.apache.jute.compiler;
-
-/**
- * Abstract base class for all the "compound" types such as ustring,
- * buffer, vector, map, and record.
- */
-abstract class JCompType extends JType {
-    
-    /** Creates a new instance of JCompType */
-    JCompType(String cType, String cppType, String csharpType, String javaType, String suffix, String wrapper, String csharpWrapper) {
-        super(cType, cppType, csharpType, javaType, suffix, wrapper, csharpWrapper, null);
-    }
-    
-    String genCppGetSet(String fname, int fIdx) {
-        String cgetFunc = "  virtual const "+getCppType()+"& get"+fname+"() const {\n";
-        cgetFunc += "    return m"+fname+";\n";
-        cgetFunc += "  }\n";
-        String getFunc = "  virtual "+getCppType()+"& get"+fname+"() {\n";
-        getFunc += "    bs_.set("+fIdx+");return m"+fname+";\n";
-        getFunc += "  }\n";
-        return cgetFunc + getFunc;
-    }
-    
-    String genJavaCompareTo(String fname) {
-        return "    ret = "+fname+".compareTo(peer."+fname+");\n";
-    }
-    
-    String genJavaEquals(String fname, String peer) {
-        return "    ret = "+fname+".equals("+peer+");\n";
-    }
-    
-    String genJavaHashCode(String fname) {
-        return "    ret = "+fname+".hashCode();\n";
-    }
-
-    String genCsharpHashCode(String fname) {
-        return "    ret = "+capitalize(fname)+".GetHashCode();\n";
-    }
-
-    String genCsharpEquals(String name, String peer) {
-        String[] peerSplit = peer.split("\\.");
-        return "    ret = "+capitalize(name)+".Equals("+peerSplit[0] + "." + capitalize(peerSplit[1]) + ");\n";
-    }
-
-    String genCsharpCompareTo(String name) {
-        return "    ret = "+capitalize(name)+".CompareTo(peer."+capitalize(name)+");\n";
-    }
-}

http://git-wip-us.apache.org/repos/asf/zookeeper/blob/b7181d2c/src/java/main/org/apache/jute/compiler/JDouble.java
----------------------------------------------------------------------
diff --git a/src/java/main/org/apache/jute/compiler/JDouble.java b/src/java/main/org/apache/jute/compiler/JDouble.java
deleted file mode 100644
index 21f9cc8..0000000
--- a/src/java/main/org/apache/jute/compiler/JDouble.java
+++ /dev/null
@@ -1,40 +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.
- */
-
-package org.apache.jute.compiler;
-
-/**
- *
- */
-public class JDouble extends JType {
-    
-    /** Creates a new instance of JDouble */
-    public JDouble() {
-        super("double", "double", "double", "double", "Double", "Double", "double", "toDouble");
-    }
-    
-    public String getSignature() {
-        return "d";
-    }
-    
-    public String genJavaHashCode(String fname) {
-        String tmp = "Double.doubleToLongBits("+fname+")";
-        return "    ret = (int)("+tmp+"^("+tmp+">>>32));\n";
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/zookeeper/blob/b7181d2c/src/java/main/org/apache/jute/compiler/JField.java
----------------------------------------------------------------------
diff --git a/src/java/main/org/apache/jute/compiler/JField.java b/src/java/main/org/apache/jute/compiler/JField.java
deleted file mode 100644
index 50f9fc9..0000000
--- a/src/java/main/org/apache/jute/compiler/JField.java
+++ /dev/null
@@ -1,140 +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.
- */
-
-package org.apache.jute.compiler;
-
-/**
- *
- */
-public class JField {
-    private JType mType;
-    private String mName;
-    /**
-     * Creates a new instance of JField
-     */
-    public JField(JType type, String name) {
-        mType = type;
-        mName = name;
-    }
-    
-    public String getSignature() {
-        return mType.getSignature();
-    }
-    
-    public String genCppDecl() {
-        return mType.genCppDecl(mName);
-    }
-    
-	public String genCDecl() {
-		return mType.genCDecl(mName);
-	}
-
-    public String genCsharpDecl() {
-        return mType.genCsharpDecl(mName);
-    }
-
-    public String genCsharpConstructorParam(String fname) {
-        return mType.genCsharpConstructorParam(fname);
-    }
-	
-    public String genJavaDecl() {
-        return mType.genJavaDecl(mName);
-    }
-    
-    public String genJavaConstructorParam(String fname) {
-        return mType.genJavaConstructorParam(fname);
-    }
-    
-    public String getName() {
-        return mName;
-    }
-
-    public String getCsharpName() {
-        return "Id".equals(mName) ? "ZKId" : mName;
-    }
-    
-    public String getTag() {
-        return mName;
-    }
-    
-    public JType getType() {
-        return mType;
-    }
-    
-    public String genCppGetSet(int fIdx) {
-        return mType.genCppGetSet(mName, fIdx);
-    }
-
-    public String genCsharpConstructorSet(String fname) {
-        return mType.genCsharpConstructorSet(mName, fname);
-    }
-
-    public String genCsharpGetSet(int fIdx) {
-        return mType.genCsharpGetSet(getCsharpName(), fIdx);
-    }
-
-    public String genCsharpWriteMethodName() {
-        return mType.genCsharpWriteMethod(getCsharpName(), getTag());
-    }
-
-    public String genCsharpReadMethodName() {
-        return mType.genCsharpReadMethod(getCsharpName(), getTag());
-    }
-
-    public String genCsharpCompareTo() {
-        return mType.genCsharpCompareTo(getCsharpName());
-    }
-
-    public String genCsharpEquals() {
-        return mType.genCsharpEquals(getCsharpName(), "peer."+getCsharpName());
-    }
-
-    public String genCsharpHashCode() {
-        return mType.genCsharpHashCode(getCsharpName());
-    }
-
-    
-    public String genJavaGetSet(int fIdx) {
-        return mType.genJavaGetSet(mName, fIdx);
-    }
-    
-    public String genJavaWriteMethodName() {
-        return mType.genJavaWriteMethod(getName(), getTag());
-    }
-    
-    public String genJavaReadMethodName() {
-        return mType.genJavaReadMethod(getName(), getTag());
-    }
-    
-    public String genJavaCompareTo() {
-        return mType.genJavaCompareTo(getName());
-    }
-    
-    public String genJavaEquals() {
-        return mType.genJavaEquals(getName(), "peer."+getName());
-    }
-    
-    public String genJavaHashCode() {
-        return mType.genJavaHashCode(getName());
-    }
-
-    public String genJavaConstructorSet(String fname) {
-        return mType.genJavaConstructorSet(mName, fname);
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/zookeeper/blob/b7181d2c/src/java/main/org/apache/jute/compiler/JFile.java
----------------------------------------------------------------------
diff --git a/src/java/main/org/apache/jute/compiler/JFile.java b/src/java/main/org/apache/jute/compiler/JFile.java
deleted file mode 100644
index ae59490..0000000
--- a/src/java/main/org/apache/jute/compiler/JFile.java
+++ /dev/null
@@ -1,85 +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.
- */
-
-package org.apache.jute.compiler;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * Container for the Hadoop Record DDL.
- * The main components of the file are filename, list of included files,
- * and records defined in that file.
- *
- */
-public class JFile {
-    
-    private String mName;
-    private List<JFile> mInclFiles;
-    private List<JRecord> mRecords;
-    
-    /** Creates a new instance of JFile
-     *
-     * @param name possibly full pathname to the file
-     * @param inclFiles included files (as JFile)
-     * @param recList List of records defined within this file
-     */
-    public JFile(String name, ArrayList<JFile> inclFiles,
-            ArrayList<JRecord> recList)
-    {
-        mName = name;
-        mInclFiles = inclFiles;
-        mRecords = recList;
-    }
-    
-    /** Strip the other pathname components and return the basename */
-    String getName() {
-        int idx = mName.lastIndexOf('/');
-        return (idx > 0) ? mName.substring(idx) : mName; 
-    }
-    
-    /** Generate record code in given language. Language should be all
-     *  lowercase.
-     * @param outputDirectory 
-     */
-    public void genCode(String language, File outputDirectory)
-        throws IOException
-    {
-        if ("c++".equals(language)) {
-            CppGenerator gen = new CppGenerator(mName, mInclFiles, mRecords,
-                    outputDirectory);
-            gen.genCode();
-        } else if ("java".equals(language)) {
-            JavaGenerator gen = new JavaGenerator(mName, mInclFiles, mRecords,
-                    outputDirectory);
-            gen.genCode();
-        } else if ("c".equals(language)) {
-        	CGenerator gen = new CGenerator(mName, mInclFiles, mRecords,
-        	        outputDirectory);
-        	gen.genCode();
-        } else if ("csharp".equals(language)) {
-        	CSharpGenerator gen = new CSharpGenerator(mName, mInclFiles, mRecords,
-        	        outputDirectory);
-        	gen.genCode();
-        } else {
-            throw new IOException("Cannnot recognize language:" + language);
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/zookeeper/blob/b7181d2c/src/java/main/org/apache/jute/compiler/JFloat.java
----------------------------------------------------------------------
diff --git a/src/java/main/org/apache/jute/compiler/JFloat.java b/src/java/main/org/apache/jute/compiler/JFloat.java
deleted file mode 100644
index a4be6ec..0000000
--- a/src/java/main/org/apache/jute/compiler/JFloat.java
+++ /dev/null
@@ -1,39 +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.
- */
-
-package org.apache.jute.compiler;
-
-/**
- *
- */
-public class JFloat extends JType {
-    
-    /** Creates a new instance of JFloat */
-    public JFloat() {
-        super("float", "float", "float", "float", "Float", "Float", "float", "toFloat");
-    }
-    
-    public String getSignature() {
-        return "f";
-    }
-    
-    public String genJavaHashCode(String fname) {
-        return "    ret = Float.floatToIntBits("+fname+");\n";
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/zookeeper/blob/b7181d2c/src/java/main/org/apache/jute/compiler/JInt.java
----------------------------------------------------------------------
diff --git a/src/java/main/org/apache/jute/compiler/JInt.java b/src/java/main/org/apache/jute/compiler/JInt.java
deleted file mode 100644
index 23b902e..0000000
--- a/src/java/main/org/apache/jute/compiler/JInt.java
+++ /dev/null
@@ -1,34 +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.
- */
-
-package org.apache.jute.compiler;
-
-/**
- *
- */
-public class JInt extends JType {
-    
-    /** Creates a new instance of JInt */
-    public JInt() {
-        super("int32_t", "int32_t", "int", "int", "Int", "Integer", "int", "toInt");
-    }
-    
-    public String getSignature() {
-        return "i";
-    }
-}

http://git-wip-us.apache.org/repos/asf/zookeeper/blob/b7181d2c/src/java/main/org/apache/jute/compiler/JLong.java
----------------------------------------------------------------------
diff --git a/src/java/main/org/apache/jute/compiler/JLong.java b/src/java/main/org/apache/jute/compiler/JLong.java
deleted file mode 100644
index 342fd9a..0000000
--- a/src/java/main/org/apache/jute/compiler/JLong.java
+++ /dev/null
@@ -1,38 +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.
- */
-
-package org.apache.jute.compiler;
-
-/**
- *
- */
-public class JLong extends JType {
-    
-    /** Creates a new instance of JLong */
-    public JLong() {
-        super("int64_t", "int64_t", "long", "long", "Long", "Long", "long", "toLong");
-    }
-    
-    public String getSignature() {
-        return "l";
-    }
-    
-    public String genJavaHashCode(String fname) {
-        return "    ret = (int) ("+fname+"^("+fname+">>>32));\n";
-    }
-}

http://git-wip-us.apache.org/repos/asf/zookeeper/blob/b7181d2c/src/java/main/org/apache/jute/compiler/JMap.java
----------------------------------------------------------------------
diff --git a/src/java/main/org/apache/jute/compiler/JMap.java b/src/java/main/org/apache/jute/compiler/JMap.java
deleted file mode 100644
index cc503be..0000000
--- a/src/java/main/org/apache/jute/compiler/JMap.java
+++ /dev/null
@@ -1,149 +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.
- */
-
-package org.apache.jute.compiler;
-
-/**
- *
- */
-public class JMap extends JCompType {
-   
-    static private int level = 0;
-    
-    static private String getLevel() { return Integer.toString(level); }
-    
-    static private void incrLevel() { level++; }
-    
-    static private void decrLevel() { level--; }
-    
-    static private String getId(String id) { return id+getLevel(); }
-    
-    private JType mKey;
-    private JType mValue;
-    
-    /** Creates a new instance of JMap */
-    public JMap(JType t1, JType t2) {
-        super("#error", " ::std::map<"+t1.getCppType()+","+t2.getCppType()+">",
-                "System.Collections.Generic.SortedDictionary<string, string>", "java.util.TreeMap", "Map", "System.Collections.Generic.SortedDictionary<string, string>", "java.util.TreeMap");
-        mKey = t1;
-        mValue = t2;
-    }
-    
-    public String getSignature() {
-        return "{" + mKey.getSignature() + mValue.getSignature() +"}";
-    }
-    
-    public String genJavaCompareTo(String fname) {
-        return "    throw new UnsupportedOperationException(\"comparing "
-            + fname + " is unimplemented\");\n";
-    }
-    
-    public String genJavaReadWrapper(String fname, String tag, boolean decl) {
-        StringBuilder ret = new StringBuilder("");
-        if (decl) {
-            ret.append("    java.util.TreeMap "+fname+";\n");
-        }
-        ret.append("    {\n");
-        incrLevel();
-        ret.append("      org.apache.jute.Index "+getId("midx")+" = a_.startMap(\""+tag+"\");\n");
-        ret.append("      "+fname+"=new java.util.TreeMap();\n");
-        ret.append("      for (; !"+getId("midx")+".done(); "+getId("midx")+".incr()) {\n");
-        ret.append(mKey.genJavaReadWrapper(getId("k"),getId("k"),true));
-        ret.append(mValue.genJavaReadWrapper(getId("v"),getId("v"),true));
-        ret.append("        "+fname+".put("+getId("k")+","+getId("v")+");\n");
-        ret.append("      }\n");
-        ret.append("    a_.endMap(\""+tag+"\");\n");
-        decrLevel();
-        ret.append("    }\n");
-        return ret.toString();
-    }
-    
-    public String genJavaReadMethod(String fname, String tag) {
-        return genJavaReadWrapper(fname, tag, false);
-    }
-    
-    public String genJavaWriteWrapper(String fname, String tag) {
-        StringBuilder ret = new StringBuilder("    {\n");
-        incrLevel();
-        ret.append("      a_.startMap("+fname+",\""+tag+"\");\n");
-        ret.append("      java.util.Set "+getId("es")+" = "+fname+".entrySet();\n");
-        ret.append("      for(java.util.Iterator "+getId("midx")+" = "+getId("es")+".iterator(); "+getId("midx")+".hasNext(); ) {\n");
-        ret.append("        java.util.Map.Entry "+getId("me")+" = (java.util.Map.Entry) "+getId("midx")+".next();\n");
-        ret.append("        "+mKey.getJavaWrapperType()+" "+getId("k")+" = ("+mKey.getJavaWrapperType()+") "+getId("me")+".getKey();\n");
-        ret.append("        "+mValue.getJavaWrapperType()+" "+getId("v")+" = ("+mValue.getJavaWrapperType()+") "+getId("me")+".getValue();\n");
-        ret.append(mKey.genJavaWriteWrapper(getId("k"),getId("k")));
-        ret.append(mValue.genJavaWriteWrapper(getId("v"),getId("v")));
-        ret.append("      }\n");
-        ret.append("      a_.endMap("+fname+",\""+tag+"\");\n");
-        ret.append("    }\n");
-        decrLevel();
-        return ret.toString();
-    }
-    
-    public String genJavaWriteMethod(String fname, String tag) {
-        return genJavaWriteWrapper(fname, tag);
-    }
-
-    public String genCsharpWriteWrapper(String fname, int tag) {
-        StringBuilder ret = new StringBuilder("    {\n");
-        incrLevel();
-        ret.append("      a_.StartMap("+fname+",\""+tag+"\");\n");
-        ret.append("      java.util.Set "+getId("es")+" = "+fname+".entrySet();\n");
-        ret.append("      for(java.util.Iterator "+getId("midx")+" = "+getId("es")+".iterator(); "+getId("midx")+".hasNext(); ) {\n");
-        ret.append("        java.util.Map.Entry "+getId("me")+" = (java.util.Map.Entry) "+getId("midx")+".next();\n");
-        ret.append("        "+mKey.getCsharpWrapperType()+" "+getId("k")+" = ("+mKey.getCsharpWrapperType()+") "+getId("me")+".getKey();\n");
-        ret.append("        "+mValue.getCsharpWrapperType()+" "+getId("v")+" = ("+mValue.getCsharpWrapperType()+") "+getId("me")+".getValue();\n");
-        ret.append(mKey.genCsharpWriteWrapper(getId("k"),getId("k")));
-        ret.append(mValue.genCsharpWriteWrapper(getId("v"),getId("v")));
-        ret.append("      }\n");
-        ret.append("      a_.EndMap("+fname+",\""+tag+"\");\n");
-        ret.append("    }\n");
-        decrLevel();
-        return ret.toString();
-    }
-
-    String genCsharpWriteMethod(String fname, int tag) {
-        return genCsharpWriteWrapper(fname, tag);
-    }
-
-    public String genCsharpReadWrapper(String fname, int tag, boolean decl) {
-        StringBuilder ret = new StringBuilder("");
-        if (decl) {
-            ret.append("    System.Collections.SortedDictionary<string,string> "+capitalize(fname)+";\n");
-        }
-        ret.append("    {\n");
-        incrLevel();
-        ret.append("      Org.Apache.Jute.IIndex "+getId("midx")+" = a_.StartMap(\""+tag+"\");\n");
-        ret.append("      "+fname+"= new System.Collections.SortedDictionary<string,string>();\n");
-        ret.append("      for (; !"+getId("midx")+".done(); "+getId("midx")+".incr()) {\n");
-        ret.append(mKey.genCsharpReadWrapper(getId("k"),getId("k"),true));
-        ret.append(mValue.genCsharpReadWrapper(getId("v"),getId("v"),true));
-        ret.append("        "+fname+".Add("+getId("k")+","+getId("v")+");\n");
-        ret.append("      }\n");
-        ret.append("    a_.EndMap(\""+tag+"\");\n");
-        decrLevel();
-        ret.append("    }\n");
-        return ret.toString();
-    }
-
-
-
-    String genCsharpReadMethod(String fname, int tag) {
-        return genCsharpReadWrapper(fname, tag, false);
-    }
-}

http://git-wip-us.apache.org/repos/asf/zookeeper/blob/b7181d2c/src/java/main/org/apache/jute/compiler/JRecord.java
----------------------------------------------------------------------
diff --git a/src/java/main/org/apache/jute/compiler/JRecord.java b/src/java/main/org/apache/jute/compiler/JRecord.java
deleted file mode 100644
index 6ba844d..0000000
--- a/src/java/main/org/apache/jute/compiler/JRecord.java
+++ /dev/null
@@ -1,762 +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.
- */
-
-package org.apache.jute.compiler;
-
-import java.io.File;
-import java.io.FileWriter;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-/**
- *
- */
-public class JRecord extends JCompType {
-
-    private String mFQName;
-    private String mName;
-    private String mModule;
-    private List<JField> mFields;
-
-    /**
-     * Creates a new instance of JRecord
-     */
-    public JRecord(String name, ArrayList<JField> flist) {
-        super("struct " + name.substring(name.lastIndexOf('.')+1),
-                name.replaceAll("\\.","::"), getCsharpFQName(name), name, "Record", name, getCsharpFQName("IRecord"));
-        mFQName = name;
-        int idx = name.lastIndexOf('.');
-        mName = name.substring(idx+1);
-        mModule = name.substring(0, idx);
-        mFields = flist;
-    }
-
-    public String getName() {
-        return mName;
-    }
-
-    public String getCsharpName() {
-        return "Id".equals(mName) ? "ZKId" : mName;
-    }
-
-    public String getJavaFQName() {
-        return mFQName;
-    }
-
-    public String getCppFQName() {
-        return mFQName.replaceAll("\\.", "::");
-    }
-
-    public String getJavaPackage() {
-        return mModule;
-    }
-
-    public String getCppNameSpace() {
-        return mModule.replaceAll("\\.", "::");
-    }
-
-    public String getCsharpNameSpace() {
-        String[] parts = mModule.split("\\.");
-        StringBuffer namespace = new StringBuffer();
-        for (int i = 0; i < parts.length; i++) {
-            String capitalized = parts[i].substring(0, 1).toUpperCase() + parts[i].substring(1).toLowerCase();
-            namespace.append(capitalized);
-            if (i != parts.length - 1) namespace.append(".");
-        }
-        return namespace.toString();
-    }
-
-    public List<JField> getFields() {
-        return mFields;
-    }
-
-    public String getSignature() {
-        StringBuilder sb = new StringBuilder();
-        sb.append("L").append(mName).append("(");
-        for (Iterator<JField> i = mFields.iterator(); i.hasNext();) {
-            String s = i.next().getSignature();
-            sb.append(s);
-        }
-        sb.append(")");
-        return sb.toString();
-    }
-
-    public String genCppDecl(String fname) {
-        return "  "+ getCppNameSpace() + "::" + mName+" m"+fname+";\n";
-    }
-
-    public String genJavaReadMethod(String fname, String tag) {
-        return genJavaReadWrapper(fname, tag, false);
-    }
-
-    public String genJavaReadWrapper(String fname, String tag, boolean decl) {
-        StringBuilder ret = new StringBuilder("");
-        if (decl) {
-            ret.append("    "+getJavaFQName()+" "+fname+";\n");
-        }
-        ret.append("    "+fname+"= new "+getJavaFQName()+"();\n");
-        ret.append("    a_.readRecord("+fname+",\""+tag+"\");\n");
-        return ret.toString();
-    }
-
-    public String genJavaWriteWrapper(String fname, String tag) {
-        return "    a_.writeRecord("+fname+",\""+tag+"\");\n";
-    }
-
-    String genCsharpReadMethod(String fname, String tag) {
-        //return "    "+capitalize(fname)+"=a_.Read"+mMethodSuffix+"(" + capitalize(fname) + ",\""+tag+"\");\n";
-        return genCsharpReadWrapper(capitalize(fname), tag, false);
-    }
-
-    public String genCsharpReadWrapper(String fname, String tag, boolean decl) {
-        StringBuilder ret = new StringBuilder("");
-        if (decl) {
-            ret.append("    "+getCsharpFQName(mFQName)+" "+fname+";\n");
-        }
-        ret.append("    "+fname+"= new "+getCsharpFQName(mFQName)+"();\n");
-        ret.append("    a_.ReadRecord("+fname+",\""+tag+"\");\n");
-        return ret.toString();
-    }
-
-    public String genCsharpWriteWrapper(String fname, String tag) {
-        return "    a_.WriteRecord("+fname+",\""+tag+"\");\n";
-    }
-
-    static Map<String, String> vectorStructs = new HashMap<String, String>();
-    public void genCCode(FileWriter h, FileWriter c) throws IOException {
-        for (JField f : mFields) {
-            if (f.getType() instanceof JVector) {
-                JVector jv = (JVector) f.getType();
-                JType jvType = jv.getElementType();
-                String struct_name = JVector.extractVectorName(jvType);
-                if (vectorStructs.get(struct_name) == null) {
-                    vectorStructs.put(struct_name, struct_name);
-                    h.write("struct " + struct_name + " {\n    int32_t count;\n" + jv.getElementType().genCDecl("*data") + "\n};\n");
-                    h.write("int serialize_" + struct_name + "(struct oarchive *out, const char *tag, struct " + struct_name + " *v);\n");
-                    h.write("int deserialize_" + struct_name + "(struct iarchive *in, const char *tag, struct " + struct_name + " *v);\n");
-                    h.write("int allocate_" + struct_name + "(struct " + struct_name + " *v, int32_t len);\n");
-                    h.write("int deallocate_" + struct_name + "(struct " + struct_name + " *v);\n");
-                    c.write("int allocate_" + struct_name + "(struct " + struct_name + " *v, int32_t len) {\n");
-                    c.write("    if (!len) {\n");
-                    c.write("        v->count = 0;\n");
-                    c.write("        v->data = 0;\n");
-                    c.write("    } else {\n");
-                    c.write("        v->count = len;\n");
-                    c.write("        v->data = calloc(sizeof(*v->data), len);\n");
-                    c.write("    }\n");
-                    c.write("    return 0;\n");
-                    c.write("}\n");
-                    c.write("int deallocate_" + struct_name + "(struct " + struct_name + " *v) {\n");
-                    c.write("    if (v->data) {\n");
-                    c.write("        int32_t i;\n");
-                    c.write("        for(i=0;i<v->count; i++) {\n");
-                    c.write("            deallocate_" + JRecord.extractMethodSuffix(jvType) + "(&v->data[i]);\n");
-                    c.write("        }\n");
-                    c.write("        free(v->data);\n");
-                    c.write("        v->data = 0;\n");
-                    c.write("    }\n");
-                    c.write("    return 0;\n");
-                    c.write("}\n");
-                    c.write("int serialize_" + struct_name + "(struct oarchive *out, const char *tag, struct " + struct_name + " *v)\n");
-                    c.write("{\n");
-                    c.write("    int32_t count = v->count;\n");
-                    c.write("    int rc = 0;\n");
-                    c.write("    int32_t i;\n");
-                    c.write("    rc = out->start_vector(out, tag, &count);\n");
-                    c.write("    for(i=0;i<v->count;i++) {\n");
-                    genSerialize(c, jvType, "data", "data[i]");
-                    c.write("    }\n");
-                    c.write("    rc = rc ? rc : out->end_vector(out, tag);\n");
-                    c.write("    return rc;\n");
-                    c.write("}\n");
-                    c.write("int deserialize_" + struct_name + "(struct iarchive *in, const char *tag, struct " + struct_name + " *v)\n");
-                    c.write("{\n");
-                    c.write("    int rc = 0;\n");
-                    c.write("    int32_t i;\n");
-                    c.write("    rc = in->start_vector(in, tag, &v->count);\n");
-                    c.write("    v->data = calloc(v->count, sizeof(*v->data));\n");
-                    c.write("    for(i=0;i<v->count;i++) {\n");
-                    genDeserialize(c, jvType, "value", "data[i]");
-                    c.write("    }\n");
-                    c.write("    rc = in->end_vector(in, tag);\n");
-                    c.write("    return rc;\n");
-                    c.write("}\n");
-
-                }
-            }
-        }
-        String rec_name = getName();
-        h.write("struct " + rec_name + " {\n");
-        for (JField f : mFields) {
-            h.write(f.genCDecl());
-        }
-        h.write("};\n");
-        h.write("int serialize_" + rec_name + "(struct oarchive *out, const char *tag, struct " + rec_name + " *v);\n");
-        h.write("int deserialize_" + rec_name + "(struct iarchive *in, const char *tag, struct " + rec_name + "*v);\n");
-        h.write("void deallocate_" + rec_name + "(struct " + rec_name + "*);\n");
-        c.write("int serialize_" + rec_name + "(struct oarchive *out, const char *tag, struct " + rec_name + " *v)");
-        c.write("{\n");
-        c.write("    int rc;\n");
-        c.write("    rc = out->start_record(out, tag);\n");
-        for (JField f : mFields) {
-            genSerialize(c, f.getType(), f.getTag(), f.getName());
-        }
-        c.write("    rc = rc ? rc : out->end_record(out, tag);\n");
-        c.write("    return rc;\n");
-        c.write("}\n");
-        c.write("int deserialize_" + rec_name + "(struct iarchive *in, const char *tag, struct " + rec_name + "*v)");
-        c.write("{\n");
-        c.write("    int rc;\n");
-        c.write("    rc = in->start_record(in, tag);\n");
-        for (JField f : mFields) {
-            genDeserialize(c, f.getType(), f.getTag(), f.getName());
-        }
-        c.write("    rc = rc ? rc : in->end_record(in, tag);\n");
-        c.write("    return rc;\n");
-        c.write("}\n");
-        c.write("void deallocate_" + rec_name + "(struct " + rec_name + "*v)");
-        c.write("{\n");
-        for (JField f : mFields) {
-            if (f.getType() instanceof JRecord) {
-                c.write("    deallocate_" + extractStructName(f.getType()) + "(&v->" + f.getName() + ");\n");
-            } else if (f.getType() instanceof JVector) {
-                JVector vt = (JVector) f.getType();
-                c.write("    deallocate_" + JVector.extractVectorName(vt.getElementType()) + "(&v->" + f.getName() + ");\n");
-            } else if (f.getType() instanceof JCompType) {
-                c.write("    deallocate_" + extractMethodSuffix(f.getType()) + "(&v->" + f.getName() + ");\n");
-            }
-        }
-        c.write("}\n");
-    }
-
-    private void genSerialize(FileWriter c, JType type, String tag, String name) throws IOException {
-        if (type instanceof JRecord) {
-            c.write("    rc = rc ? rc : serialize_" + extractStructName(type) + "(out, \"" + tag + "\", &v->" + name + ");\n");
-        } else if (type instanceof JVector) {
-            c.write("    rc = rc ? rc : serialize_" + JVector.extractVectorName(((JVector)type).getElementType()) + "(out, \"" + tag + "\", &v->" + name + ");\n");
-        } else {
-            c.write("    rc = rc ? rc : out->serialize_" + extractMethodSuffix(type) + "(out, \"" + tag + "\", &v->" + name + ");\n");
-        }
-    }
-
-    private void genDeserialize(FileWriter c, JType type, String tag, String name) throws IOException {
-        if (type instanceof JRecord) {
-            c.write("    rc = rc ? rc : deserialize_" + extractStructName(type) + "(in, \"" + tag + "\", &v->" + name + ");\n");
-        } else if (type instanceof JVector) {
-            c.write("    rc = rc ? rc : deserialize_" + JVector.extractVectorName(((JVector)type).getElementType()) + "(in, \"" + tag + "\", &v->" + name + ");\n");
-        } else {
-            c.write("    rc = rc ? rc : in->deserialize_" + extractMethodSuffix(type) + "(in, \"" + tag + "\", &v->" + name + ");\n");
-        }
-    }
-
-    static String extractMethodSuffix(JType t) {
-        if (t instanceof JRecord) {
-            return extractStructName(t);
-        }
-        return t.getMethodSuffix();
-    }
-
-    static private String extractStructName(JType t) {
-        String type = t.getCType();
-        if (!type.startsWith("struct ")) return type;
-        return type.substring("struct ".length());
-    }
-
-    public void genCppCode(FileWriter hh, FileWriter cc)
-        throws IOException {
-        String[] ns = getCppNameSpace().split("::");
-        for (int i = 0; i < ns.length; i++) {
-            hh.write("namespace "+ns[i]+" {\n");
-        }
-
-        hh.write("class "+getName()+" : public ::hadoop::Record {\n");
-        hh.write("private:\n");
-
-        for (Iterator<JField> i = mFields.iterator(); i.hasNext();) {
-            JField jf = i.next();
-            hh.write(jf.genCppDecl());
-        }
-        hh.write("  mutable std::bitset<"+mFields.size()+"> bs_;\n");
-        hh.write("public:\n");
-        hh.write("  virtual void serialize(::hadoop::OArchive& a_, const char* tag) const;\n");
-        hh.write("  virtual void deserialize(::hadoop::IArchive& a_, const char* tag);\n");
-        hh.write("  virtual const ::std::string& type() const;\n");
-        hh.write("  virtual const ::std::string& signature() const;\n");
-        hh.write("  virtual bool validate() const;\n");
-        hh.write("  virtual bool operator<(const "+getName()+"& peer_) const;\n");
-        hh.write("  virtual bool operator==(const "+getName()+"& peer_) const;\n");
-        hh.write("  virtual ~"+getName()+"() {};\n");
-        int fIdx = 0;
-        for (Iterator<JField> i = mFields.iterator(); i.hasNext(); fIdx++) {
-            JField jf = i.next();
-            hh.write(jf.genCppGetSet(fIdx));
-        }
-        hh.write("}; // end record "+getName()+"\n");
-        for (int i=ns.length-1; i>=0; i--) {
-            hh.write("} // end namespace "+ns[i]+"\n");
-        }
-        cc.write("void "+getCppFQName()+"::serialize(::hadoop::OArchive& a_, const char* tag) const {\n");
-        cc.write("  if (!validate()) throw new ::hadoop::IOException(\"All fields not set.\");\n");
-        cc.write("  a_.startRecord(*this,tag);\n");
-        fIdx = 0;
-        for (Iterator<JField> i = mFields.iterator(); i.hasNext(); fIdx++) {
-            JField jf = i.next();
-            String name = jf.getName();
-            if (jf.getType() instanceof JBuffer) {
-                cc.write("  a_.serialize(m"+name+",m"+name+".length(),\""+jf.getTag()+"\");\n");
-            } else {
-                cc.write("  a_.serialize(m"+name+",\""+jf.getTag()+"\");\n");
-            }
-            cc.write("  bs_.reset("+fIdx+");\n");
-        }
-        cc.write("  a_.endRecord(*this,tag);\n");
-        cc.write("  return;\n");
-        cc.write("}\n");
-
-        cc.write("void "+getCppFQName()+"::deserialize(::hadoop::IArchive& a_, const char* tag) {\n");
-        cc.write("  a_.startRecord(*this,tag);\n");
-        fIdx = 0;
-        for (Iterator<JField> i = mFields.iterator(); i.hasNext(); fIdx++) {
-            JField jf = i.next();
-            String name = jf.getName();
-            if (jf.getType() instanceof JBuffer) {
-                cc.write("  { size_t len=0; a_.deserialize(m"+name+",len,\""+jf.getTag()+"\");}\n");
-            } else {
-                cc.write("  a_.deserialize(m"+name+",\""+jf.getTag()+"\");\n");
-            }
-            cc.write("  bs_.set("+fIdx+");\n");
-        }
-        cc.write("  a_.endRecord(*this,tag);\n");
-        cc.write("  return;\n");
-        cc.write("}\n");
-
-        cc.write("bool "+getCppFQName()+"::validate() const {\n");
-        cc.write("  if (bs_.size() != bs_.count()) return false;\n");
-        for (Iterator<JField> i = mFields.iterator(); i.hasNext(); fIdx++) {
-            JField jf = (JField) i.next();
-            JType type = jf.getType();
-            if (type instanceof JRecord) {
-                cc.write("  if (!m"+jf.getName()+".validate()) return false;\n");
-            }
-        }
-        cc.write("  return true;\n");
-        cc.write("}\n");
-
-        cc.write("bool "+getCppFQName()+"::operator< (const "+getCppFQName()+"& peer_) const {\n");
-        cc.write("  return (1\n");
-        for (Iterator<JField> i = mFields.iterator(); i.hasNext();) {
-            JField jf = i.next();
-            String name = jf.getName();
-            cc.write("    && (m"+name+" < peer_.m"+name+")\n");
-        }
-        cc.write("  );\n");
-        cc.write("}\n");
-
-        cc.write("bool "+getCppFQName()+"::operator== (const "+getCppFQName()+"& peer_) const {\n");
-        cc.write("  return (1\n");
-        for (Iterator<JField> i = mFields.iterator(); i.hasNext();) {
-            JField jf = i.next();
-            String name = jf.getName();
-            cc.write("    && (m"+name+" == peer_.m"+name+")\n");
-        }
-        cc.write("  );\n");
-        cc.write("}\n");
-
-        cc.write("const ::std::string&"+getCppFQName()+"::type() const {\n");
-        cc.write("  static const ::std::string type_(\""+mName+"\");\n");
-        cc.write("  return type_;\n");
-        cc.write("}\n");
-
-        cc.write("const ::std::string&"+getCppFQName()+"::signature() const {\n");
-        cc.write("  static const ::std::string sig_(\""+getSignature()+"\");\n");
-        cc.write("  return sig_;\n");
-        cc.write("}\n");
-
-    }
-
-    public void genJavaCode(File outputDirectory) throws IOException {
-        String pkg = getJavaPackage();
-        String pkgpath = pkg.replaceAll("\\.", "/");
-        File pkgdir = new File(outputDirectory, pkgpath);
-        if (!pkgdir.exists()) {
-            // create the pkg directory
-            if (!pkgdir.mkdirs()) {
-                throw new IOException("Cannnot create directory: " + pkgpath);
-            }
-        } else if (!pkgdir.isDirectory()) {
-            throw new IOException(pkgpath + " is not a directory.");
-        }
-        try (FileWriter jj = new FileWriter(new File(pkgdir, getName()+".java"))) {
-            jj.write("// File generated by hadoop record compiler. Do not edit.\n");
-            jj.write("/**\n");
-            jj.write("* Licensed to the Apache Software Foundation (ASF) under one\n");
-            jj.write("* or more contributor license agreements.  See the NOTICE file\n");
-            jj.write("* distributed with this work for additional information\n");
-            jj.write("* regarding copyright ownership.  The ASF licenses this file\n");
-            jj.write("* to you under the Apache License, Version 2.0 (the\n");
-            jj.write("* \"License\"); you may not use this file except in compliance\n");
-            jj.write("* with the License.  You may obtain a copy of the License at\n");
-            jj.write("*\n");
-            jj.write("*     http://www.apache.org/licenses/LICENSE-2.0\n");
-            jj.write("*\n");
-            jj.write("* Unless required by applicable law or agreed to in writing, software\n");
-            jj.write("* distributed under the License is distributed on an \"AS IS\" BASIS,\n");
-            jj.write("* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n");
-            jj.write("* See the License for the specific language governing permissions and\n");
-            jj.write("* limitations under the License.\n");
-            jj.write("*/\n");
-            jj.write("\n");
-            jj.write("package " + getJavaPackage() + ";\n\n");
-            jj.write("import org.apache.jute.*;\n");
-            jj.write("import org.apache.yetus.audience.InterfaceAudience;\n");
-            jj.write("@InterfaceAudience.Public\n");
-            jj.write("public class " + getName() + " implements Record {\n");
-            for (Iterator<JField> i = mFields.iterator(); i.hasNext(); ) {
-                JField jf = i.next();
-                jj.write(jf.genJavaDecl());
-            }
-            jj.write("  public " + getName() + "() {\n");
-            jj.write("  }\n");
-
-            jj.write("  public " + getName() + "(\n");
-            int fIdx = 0;
-            int fLen = mFields.size();
-            for (Iterator<JField> i = mFields.iterator(); i.hasNext(); fIdx++) {
-                JField jf = i.next();
-                jj.write(jf.genJavaConstructorParam(jf.getName()));
-                jj.write((fLen - 1 == fIdx) ? "" : ",\n");
-            }
-            jj.write(") {\n");
-            fIdx = 0;
-            for (Iterator<JField> i = mFields.iterator(); i.hasNext(); fIdx++) {
-                JField jf = i.next();
-                jj.write(jf.genJavaConstructorSet(jf.getName()));
-            }
-            jj.write("  }\n");
-            fIdx = 0;
-            for (Iterator<JField> i = mFields.iterator(); i.hasNext(); fIdx++) {
-                JField jf = i.next();
-                jj.write(jf.genJavaGetSet(fIdx));
-            }
-            jj.write("  public void serialize(OutputArchive a_, String tag) throws java.io.IOException {\n");
-            jj.write("    a_.startRecord(this,tag);\n");
-            fIdx = 0;
-            for (Iterator<JField> i = mFields.iterator(); i.hasNext(); fIdx++) {
-                JField jf = i.next();
-                jj.write(jf.genJavaWriteMethodName());
-            }
-            jj.write("    a_.endRecord(this,tag);\n");
-            jj.write("  }\n");
-
-            jj.write("  public void deserialize(InputArchive a_, String tag) throws java.io.IOException {\n");
-            jj.write("    a_.startRecord(tag);\n");
-            fIdx = 0;
-            for (Iterator<JField> i = mFields.iterator(); i.hasNext(); fIdx++) {
-                JField jf = i.next();
-                jj.write(jf.genJavaReadMethodName());
-            }
-            jj.write("    a_.endRecord(tag);\n");
-            jj.write("}\n");
-
-            jj.write("  public String toString() {\n");
-            jj.write("    try {\n");
-            jj.write("      java.io.ByteArrayOutputStream s =\n");
-            jj.write("        new java.io.ByteArrayOutputStream();\n");
-            jj.write("      CsvOutputArchive a_ = \n");
-            jj.write("        new CsvOutputArchive(s);\n");
-            jj.write("      a_.startRecord(this,\"\");\n");
-            fIdx = 0;
-            for (Iterator<JField> i = mFields.iterator(); i.hasNext(); fIdx++) {
-                JField jf = i.next();
-                jj.write(jf.genJavaWriteMethodName());
-            }
-            jj.write("      a_.endRecord(this,\"\");\n");
-            jj.write("      return new String(s.toByteArray(), \"UTF-8\");\n");
-            jj.write("    } catch (Throwable ex) {\n");
-            jj.write("      ex.printStackTrace();\n");
-            jj.write("    }\n");
-            jj.write("    return \"ERROR\";\n");
-            jj.write("  }\n");
-
-            jj.write("  public void write(java.io.DataOutput out) throws java.io.IOException {\n");
-            jj.write("    BinaryOutputArchive archive = new BinaryOutputArchive(out);\n");
-            jj.write("    serialize(archive, \"\");\n");
-            jj.write("  }\n");
-
-            jj.write("  public void readFields(java.io.DataInput in) throws java.io.IOException {\n");
-            jj.write("    BinaryInputArchive archive = new BinaryInputArchive(in);\n");
-            jj.write("    deserialize(archive, \"\");\n");
-            jj.write("  }\n");
-
-            jj.write("  public int compareTo (Object peer_) throws ClassCastException {\n");
-            boolean unimplemented = false;
-            for (JField f : mFields) {
-                if ((f.getType() instanceof JMap)
-                        || (f.getType() instanceof JVector)) {
-                    unimplemented = true;
-                }
-            }
-            if (unimplemented) {
-                jj.write("    throw new UnsupportedOperationException(\"comparing "
-                        + getName() + " is unimplemented\");\n");
-            } else {
-                jj.write("    if (!(peer_ instanceof " + getName() + ")) {\n");
-                jj.write("      throw new ClassCastException(\"Comparing different types of records.\");\n");
-                jj.write("    }\n");
-                jj.write("    " + getName() + " peer = (" + getName() + ") peer_;\n");
-                jj.write("    int ret = 0;\n");
-                for (Iterator<JField> i = mFields.iterator(); i.hasNext(); fIdx++) {
-                    JField jf = i.next();
-                    jj.write(jf.genJavaCompareTo());
-                    jj.write("    if (ret != 0) return ret;\n");
-                }
-                jj.write("     return ret;\n");
-            }
-            jj.write("  }\n");
-
-            jj.write("  public boolean equals(Object peer_) {\n");
-            jj.write("    if (!(peer_ instanceof " + getName() + ")) {\n");
-            jj.write("      return false;\n");
-            jj.write("    }\n");
-            jj.write("    if (peer_ == this) {\n");
-            jj.write("      return true;\n");
-            jj.write("    }\n");
-            jj.write("    " + getName() + " peer = (" + getName() + ") peer_;\n");
-            jj.write("    boolean ret = false;\n");
-            for (Iterator<JField> i = mFields.iterator(); i.hasNext(); fIdx++) {
-                JField jf = i.next();
-                jj.write(jf.genJavaEquals());
-                jj.write("    if (!ret) return ret;\n");
-            }
-            jj.write("     return ret;\n");
-            jj.write("  }\n");
-
-            jj.write("  public int hashCode() {\n");
-            jj.write("    int result = 17;\n");
-            jj.write("    int ret;\n");
-            for (Iterator<JField> i = mFields.iterator(); i.hasNext(); fIdx++) {
-                JField jf = i.next();
-                jj.write(jf.genJavaHashCode());
-                jj.write("    result = 37*result + ret;\n");
-            }
-            jj.write("    return result;\n");
-            jj.write("  }\n");
-            jj.write("  public static String signature() {\n");
-            jj.write("    return \"" + getSignature() + "\";\n");
-            jj.write("  }\n");
-
-            jj.write("}\n");
-        }
-    }
-
-    public void genCsharpCode(File outputDirectory) throws IOException {
-        if (!outputDirectory.exists()) {
-            // create the pkg directory
-            if (!outputDirectory.mkdirs()) {
-                throw new IOException("Cannnot create directory: " + outputDirectory);
-            }
-        } else if (!outputDirectory.isDirectory()) {
-            throw new IOException(outputDirectory + " is not a directory.");
-        }
-
-        try (FileWriter cs = new FileWriter(new File(outputDirectory, getName() + ".cs"));) {
-            cs.write("// File generated by hadoop record compiler. Do not edit.\n");
-            cs.write("/**\n");
-            cs.write("* Licensed to the Apache Software Foundation (ASF) under one\n");
-            cs.write("* or more contributor license agreements.  See the NOTICE file\n");
-            cs.write("* distributed with this work for additional information\n");
-            cs.write("* regarding copyright ownership.  The ASF licenses this file\n");
-            cs.write("* to you under the Apache License, Version 2.0 (the\n");
-            cs.write("* \"License\"); you may not use this file except in compliance\n");
-            cs.write("* with the License.  You may obtain a copy of the License at\n");
-            cs.write("*\n");
-            cs.write("*     http://www.apache.org/licenses/LICENSE-2.0\n");
-            cs.write("*\n");
-            cs.write("* Unless required by applicable law or agreed to in writing, software\n");
-            cs.write("* distributed under the License is distributed on an \"AS IS\" BASIS,\n");
-            cs.write("* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n");
-            cs.write("* See the License for the specific language governing permissions and\n");
-            cs.write("* limitations under the License.\n");
-            cs.write("*/\n");
-            cs.write("\n");
-            cs.write("using System;\n");
-            cs.write("using Org.Apache.Jute;\n");
-            cs.write("\n");
-            cs.write("namespace " + getCsharpNameSpace() + "\n");
-            cs.write("{\n");
-
-            String className = getCsharpName();
-            cs.write("public class " + className + " : IRecord, IComparable \n");
-            cs.write("{\n");
-            cs.write("  public " + className + "() {\n");
-            cs.write("  }\n");
-
-            cs.write("  public " + className + "(\n");
-            int fIdx = 0;
-            int fLen = mFields.size();
-            for (Iterator<JField> i = mFields.iterator(); i.hasNext(); fIdx++) {
-                JField jf = i.next();
-                cs.write(jf.genCsharpConstructorParam(jf.getCsharpName()));
-                cs.write((fLen - 1 == fIdx) ? "" : ",\n");
-            }
-            cs.write(") {\n");
-            fIdx = 0;
-            for (Iterator<JField> i = mFields.iterator(); i.hasNext(); fIdx++) {
-                JField jf = i.next();
-                cs.write(jf.genCsharpConstructorSet(jf.getCsharpName()));
-            }
-            cs.write("  }\n");
-            fIdx = 0;
-            for (Iterator<JField> i = mFields.iterator(); i.hasNext(); fIdx++) {
-                JField jf = i.next();
-                cs.write(jf.genCsharpGetSet(fIdx));
-                cs.write("\n");
-            }
-            cs.write("  public void Serialize(IOutputArchive a_, String tag) {\n");
-            cs.write("    a_.StartRecord(this,tag);\n");
-            fIdx = 0;
-            for (Iterator<JField> i = mFields.iterator(); i.hasNext(); fIdx++) {
-                JField jf = i.next();
-                cs.write(jf.genCsharpWriteMethodName());
-            }
-            cs.write("    a_.EndRecord(this,tag);\n");
-            cs.write("  }\n");
-
-            cs.write("  public void Deserialize(IInputArchive a_, String tag) {\n");
-            cs.write("    a_.StartRecord(tag);\n");
-            fIdx = 0;
-            for (Iterator<JField> i = mFields.iterator(); i.hasNext(); fIdx++) {
-                JField jf = i.next();
-                cs.write(jf.genCsharpReadMethodName());
-            }
-            cs.write("    a_.EndRecord(tag);\n");
-            cs.write("}\n");
-
-            cs.write("  public override String ToString() {\n");
-            cs.write("    try {\n");
-            cs.write("      System.IO.MemoryStream ms = new System.IO.MemoryStream();\n");
-            cs.write("      MiscUtil.IO.EndianBinaryWriter writer =\n");
-            cs.write("        new MiscUtil.IO.EndianBinaryWriter(MiscUtil.Conversion.EndianBitConverter.Big, ms, System.Text.Encoding.UTF8);\n");
-            cs.write("      BinaryOutputArchive a_ = \n");
-            cs.write("        new BinaryOutputArchive(writer);\n");
-            cs.write("      a_.StartRecord(this,\"\");\n");
-            fIdx = 0;
-            for (Iterator<JField> i = mFields.iterator(); i.hasNext(); fIdx++) {
-                JField jf = i.next();
-                cs.write(jf.genCsharpWriteMethodName());
-            }
-            cs.write("      a_.EndRecord(this,\"\");\n");
-            cs.write("      ms.Position = 0;\n");
-            cs.write("      return System.Text.Encoding.UTF8.GetString(ms.ToArray());\n");
-            cs.write("    } catch (Exception ex) {\n");
-            cs.write("      Console.WriteLine(ex.StackTrace);\n");
-            cs.write("    }\n");
-            cs.write("    return \"ERROR\";\n");
-            cs.write("  }\n");
-
-            cs.write("  public void Write(MiscUtil.IO.EndianBinaryWriter writer) {\n");
-            cs.write("    BinaryOutputArchive archive = new BinaryOutputArchive(writer);\n");
-            cs.write("    Serialize(archive, \"\");\n");
-            cs.write("  }\n");
-
-            cs.write("  public void ReadFields(MiscUtil.IO.EndianBinaryReader reader) {\n");
-            cs.write("    BinaryInputArchive archive = new BinaryInputArchive(reader);\n");
-            cs.write("    Deserialize(archive, \"\");\n");
-            cs.write("  }\n");
-
-            cs.write("  public int CompareTo (object peer_) {\n");
-            boolean unimplemented = false;
-            for (JField f : mFields) {
-                if ((f.getType() instanceof JMap)
-                        || (f.getType() instanceof JVector)) {
-                    unimplemented = true;
-                }
-            }
-            if (unimplemented) {
-                cs.write("    throw new InvalidOperationException(\"comparing "
-                        + getCsharpName() + " is unimplemented\");\n");
-            } else {
-                cs.write("    if (!(peer_ is " + getCsharpName() + ")) {\n");
-                cs.write("      throw new InvalidOperationException(\"Comparing different types of records.\");\n");
-                cs.write("    }\n");
-                cs.write("    " + getCsharpName() + " peer = (" + getCsharpName() + ") peer_;\n");
-                cs.write("    int ret = 0;\n");
-                for (Iterator<JField> i = mFields.iterator(); i.hasNext(); fIdx++) {
-                    JField jf = i.next();
-                    cs.write(jf.genCsharpCompareTo());
-                    cs.write("    if (ret != 0) return ret;\n");
-                }
-                cs.write("     return ret;\n");
-            }
-            cs.write("  }\n");
-
-            cs.write("  public override bool Equals(object peer_) {\n");
-            cs.write("    if (!(peer_ is " + getCsharpName() + ")) {\n");
-            cs.write("      return false;\n");
-            cs.write("    }\n");
-            cs.write("    if (peer_ == this) {\n");
-            cs.write("      return true;\n");
-            cs.write("    }\n");
-            cs.write("    bool ret = false;\n");
-            cs.write("    " + getCsharpName() + " peer = (" + getCsharpName() + ")peer_;\n");
-            for (Iterator<JField> i = mFields.iterator(); i.hasNext(); fIdx++) {
-                JField jf = i.next();
-                cs.write(jf.genCsharpEquals());
-                cs.write("    if (!ret) return ret;\n");
-            }
-            cs.write("     return ret;\n");
-            cs.write("  }\n");
-
-            cs.write("  public override int GetHashCode() {\n");
-            cs.write("    int result = 17;\n");
-            cs.write("    int ret;\n");
-            for (Iterator<JField> i = mFields.iterator(); i.hasNext(); fIdx++) {
-                JField jf = i.next();
-                cs.write(jf.genCsharpHashCode());
-                cs.write("    result = 37*result + ret;\n");
-            }
-            cs.write("    return result;\n");
-            cs.write("  }\n");
-            cs.write("  public static string Signature() {\n");
-            cs.write("    return \"" + getSignature() + "\";\n");
-            cs.write("  }\n");
-
-            cs.write("}\n");
-            cs.write("}\n");
-
-            cs.close();
-        }
-    }
-
-    public static String getCsharpFQName(String name) {
-        String[] packages = name.split("\\.");
-        StringBuffer fQName = new StringBuffer();
-        for (int i = 0; i < packages.length; i++) {
-            String pack = packages[i];
-            pack = capitalize(pack);
-            pack = "Id".equals(pack) ? "ZKId" : pack;
-            fQName.append(capitalize(pack));
-            if (i != packages.length - 1) fQName.append(".");
-        }
-        return fQName.toString();
-    }    
-}

http://git-wip-us.apache.org/repos/asf/zookeeper/blob/b7181d2c/src/java/main/org/apache/jute/compiler/JString.java
----------------------------------------------------------------------
diff --git a/src/java/main/org/apache/jute/compiler/JString.java b/src/java/main/org/apache/jute/compiler/JString.java
deleted file mode 100644
index 7f246c3..0000000
--- a/src/java/main/org/apache/jute/compiler/JString.java
+++ /dev/null
@@ -1,46 +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.
- */
-
-package org.apache.jute.compiler;
-
-/**
- *
- */
-public class JString extends JCompType {
-    
-    /** Creates a new instance of JString */
-    public JString() {
-        super("char *", " ::std::string", "string", "String", "String", "String", "string");
-    }
-    
-    public String getSignature() {
-        return "s";
-    }
-    
-    public String genJavaReadWrapper(String fname, String tag, boolean decl) {
-        String ret = "";
-        if (decl) {
-            ret = "    String "+fname+";\n";
-        }
-        return ret + "        "+fname+"=a_.readString(\""+tag+"\");\n";
-    }
-    
-    public String genJavaWriteWrapper(String fname, String tag) {
-        return "        a_.writeString("+fname+",\""+tag+"\");\n";
-    }
-}

http://git-wip-us.apache.org/repos/asf/zookeeper/blob/b7181d2c/src/java/main/org/apache/jute/compiler/JType.java
----------------------------------------------------------------------
diff --git a/src/java/main/org/apache/jute/compiler/JType.java b/src/java/main/org/apache/jute/compiler/JType.java
deleted file mode 100644
index ee1b9c0..0000000
--- a/src/java/main/org/apache/jute/compiler/JType.java
+++ /dev/null
@@ -1,204 +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.
- */
-
-package org.apache.jute.compiler;
-
-/**
- * Abstract Base class for all types supported by Hadoop Record I/O.
- * 
- */
-abstract public class JType {
-    
-	private String mCName;
-    private String mCppName;
-    private String mCsharpName;
-    private String mJavaName;
-    protected String mMethodSuffix;
-    private String mWrapper;
-    private String mSharpWrapper;
-    private String mUnwrapMethod;
-
-    /**
-     * Creates a new instance of JType
-     */
-    JType(String cname, String cppname, String csharpName, String javaname, String suffix, String wrapper, String csharpWrapper, String unwrap) {
-    	mCName = cname;
-        mCppName = cppname;
-        mCsharpName = "Id".equals(csharpName) ? "ZKId" : csharpName;
-        mJavaName = javaname;
-        mMethodSuffix = suffix;
-        mWrapper = wrapper;
-        mSharpWrapper = csharpWrapper;
-        mUnwrapMethod = unwrap;
-    }
-    
-    abstract String getSignature();
-    
-    String genCppDecl(String fname) {
-        return "  "+mCppName+" m"+fname+";\n"; 
-    }
-    
-	String genCDecl(String name) {
-		return "    " + mCName + " "+name+";\n"; 
-	}
-
-    public String genCsharpDecl(String name) {
-        return "  private "+mCsharpName+" " +name+";\n";
-    }
-
-    String genJavaDecl (String fname) {
-        return "  private "+mJavaName+" " +fname+";\n";
-    }
-    
-    String genJavaConstructorParam (String fname) {
-        return "        "+mJavaName+" "+fname;
-    }
-    
-    String genCppGetSet(String fname, int fIdx) {
-        String getFunc = "  virtual "+mCppName+" get"+fname+"() const {\n";
-        getFunc += "    return m"+fname+";\n";
-        getFunc += "  }\n";
-        String setFunc = "  virtual void set"+fname+"("+mCppName+" m_) {\n";
-        setFunc += "    m"+fname+"=m_; bs_.set("+fIdx+");\n";
-        setFunc += "  }\n";
-        return getFunc+setFunc;
-    }
-
-    String genCsharpGetSet(String fname, int fIdx) {
-        String getFunc = "  public " + getCsharpType() + " " + capitalize(fname) + " { get; set; } ";
-        return getFunc;
-    }
-    
-    static String capitalize(String s) {
-        return s.substring(0,1).toUpperCase()+s.substring(1);
-    }
-    String genJavaGetSet(String fname, int fIdx) {
-        String getFunc = "  public "+mJavaName+" get"+capitalize(fname)+"() {\n";
-        getFunc += "    return "+fname+";\n";
-        getFunc += "  }\n";
-        String setFunc = "  public void set"+capitalize(fname)+"("+mJavaName+" m_) {\n";
-        setFunc += "    " + fname+"=m_;\n";
-        setFunc += "  }\n";
-        return getFunc+setFunc;
-    }
-    
-    String getCType() {
-    	return mCName;
-    }
-    String getCppType() {
-        return mCppName;
-    }
-    
-    String getCsharpType() {
-        return mCsharpName;
-    }
-
-    String getJavaType() {
-        return mJavaName;
-    }
-   
-    String getJavaWrapperType() {
-        return mWrapper;
-    }
-
-    String getCsharpWrapperType() {
-        return mSharpWrapper;
-    }
-    
-    String getMethodSuffix() {
-        return mMethodSuffix;
-    }
-    
-    String genJavaWriteMethod(String fname, String tag) {
-        return "    a_.write"+mMethodSuffix+"("+fname+",\""+tag+"\");\n";
-    }
-    
-    String genJavaReadMethod(String fname, String tag) {
-        return "    "+fname+"=a_.read"+mMethodSuffix+"(\""+tag+"\");\n";
-    }
-    
-    String genJavaReadWrapper(String fname, String tag, boolean decl) {
-        String ret = "";
-        if (decl) {
-            ret = "    "+mWrapper+" "+fname+";\n";
-        }
-        return ret + "    "+fname+"=new "+mWrapper+"(a_.read"+mMethodSuffix+"(\""+tag+"\"));\n";
-    }
-    
-    String genJavaWriteWrapper(String fname, String tag) {
-        return "        a_.write"+mMethodSuffix+"("+fname+"."+mUnwrapMethod+"(),\""+tag+"\");\n";
-    }
-    
-    String genJavaCompareTo(String fname) {
-        return "    ret = ("+fname+" == peer."+fname+")? 0 :(("+fname+"<peer."+fname+")?-1:1);\n";
-    }
-    
-    String genJavaEquals(String fname, String peer) {
-        return "    ret = ("+fname+"=="+peer+");\n";
-    }
-    
-    String genJavaHashCode(String fname) {
-        return "    ret = (int)"+fname+";\n";
-    }
-
-    String genJavaConstructorSet(String fname, String name) {
-        return "    this."+fname+"="+name+";\n";
-    }
-
-    String genCsharpWriteMethod(String fname, String tag) {
-        return "    a_.Write"+mMethodSuffix+"("+capitalize(fname)+",\""+tag+"\");\n";
-    }
-
-    String genCsharpReadMethod(String fname, String tag) {
-        return "    "+capitalize(fname)+"=a_.Read"+mMethodSuffix+"(\""+tag+"\");\n";
-    }
-
-    String genCsharpReadWrapper(String fname, String tag, boolean decl) {
-        String ret = "";
-        if (decl) {
-            ret = "    "+mWrapper+" "+fname+";\n";
-        }
-        return ret + "    "+fname+"=a_.Read"+mMethodSuffix+"(\""+tag+"\");\n";
-    }
-
-    String genCsharpWriteWrapper(String fname, String tag) {
-        if (mUnwrapMethod == null) return "        a_.Write"+mMethodSuffix+"("+fname+","+tag+");\n";
-        return "        a_.Write"+mMethodSuffix+"("+fname+"."+mUnwrapMethod+"(),\""+tag+"\");\n";
-    }
-
-    String genCsharpCompareTo(String name) {
-        return "    ret = ("+capitalize(name)+" == peer."+capitalize(name)+")? 0 :(("+capitalize(name)+"<peer."+capitalize(name)+")?-1:1);\n";
-    }
-
-    String genCsharpEquals(String name, String peer) {
-        String[] peerSplit = peer.split("\\.");
-        return "    ret = ("+capitalize(name)+"=="+peerSplit[0] + "." + capitalize(peerSplit[1]) + ");\n";
-    }
-
-    String genCsharpHashCode(String fname) {
-        return "    ret = (int)"+capitalize(fname)+";\n";
-    }
-
-    String genCsharpConstructorSet(String mName, String fname) {
-        return capitalize(fname)+"="+mName+";\n";
-    }
-
-    public String genCsharpConstructorParam(String fname) {
-        return "  "+mCsharpName+" " +fname+"\n";
-    }
-}