Return-Path: Delivered-To: apmail-hadoop-zookeeper-commits-archive@locus.apache.org Received: (qmail 72321 invoked from network); 25 Jul 2008 21:20:09 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 25 Jul 2008 21:20:09 -0000 Received: (qmail 49856 invoked by uid 500); 25 Jul 2008 21:20:09 -0000 Delivered-To: apmail-hadoop-zookeeper-commits-archive@hadoop.apache.org Received: (qmail 49833 invoked by uid 500); 25 Jul 2008 21:20:09 -0000 Mailing-List: contact zookeeper-commits-help@hadoop.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: zookeeper-dev@ Delivered-To: mailing list zookeeper-commits@hadoop.apache.org Received: (qmail 49820 invoked by uid 99); 25 Jul 2008 21:20:09 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 25 Jul 2008 14:20:09 -0700 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 25 Jul 2008 21:19:22 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id C3C05238896C; Fri, 25 Jul 2008 14:19:48 -0700 (PDT) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r679901 - in /hadoop/zookeeper/trunk/src/java/main/org/apache: jute/compiler/ jute/compiler/generated/ zookeeper/version/util/ Date: Fri, 25 Jul 2008 21:19:48 -0000 To: zookeeper-commits@hadoop.apache.org From: phunt@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20080725211948.C3C05238896C@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: phunt Date: Fri Jul 25 14:19:47 2008 New Revision: 679901 URL: http://svn.apache.org/viewvc?rev=679901&view=rev Log: Addresses ZOOKEEPER-97 supports optional output directory in code generator Modified: hadoop/zookeeper/trunk/src/java/main/org/apache/jute/compiler/CGenerator.java hadoop/zookeeper/trunk/src/java/main/org/apache/jute/compiler/CppGenerator.java hadoop/zookeeper/trunk/src/java/main/org/apache/jute/compiler/JFile.java hadoop/zookeeper/trunk/src/java/main/org/apache/jute/compiler/JRecord.java hadoop/zookeeper/trunk/src/java/main/org/apache/jute/compiler/JavaGenerator.java hadoop/zookeeper/trunk/src/java/main/org/apache/jute/compiler/generated/Rcc.java hadoop/zookeeper/trunk/src/java/main/org/apache/jute/compiler/generated/rcc.jj hadoop/zookeeper/trunk/src/java/main/org/apache/zookeeper/version/util/VerGen.java Modified: hadoop/zookeeper/trunk/src/java/main/org/apache/jute/compiler/CGenerator.java URL: http://svn.apache.org/viewvc/hadoop/zookeeper/trunk/src/java/main/org/apache/jute/compiler/CGenerator.java?rev=679901&r1=679900&r2=679901&view=diff ============================================================================== --- hadoop/zookeeper/trunk/src/java/main/org/apache/jute/compiler/CGenerator.java (original) +++ hadoop/zookeeper/trunk/src/java/main/org/apache/jute/compiler/CGenerator.java Fri Jul 25 14:19:47 2008 @@ -34,15 +34,18 @@ private String mName; private ArrayList mInclFiles; private ArrayList 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 */ - CGenerator(String name, ArrayList ilist, ArrayList rlist) { + CGenerator(String name, ArrayList ilist, ArrayList rlist, File outputDirectory) { mFullName = name; + this.outputDirectory = outputDirectory; mName = (new File(name)).getName(); mInclFiles = ilist; mRecList = rlist; @@ -54,8 +57,9 @@ * record-level code is generated by JRecord. */ void genCode() throws IOException { - FileWriter c = new FileWriter(mName+".c"); - FileWriter h = new FileWriter(mName+".h"); + outputDirectory.mkdirs(); + FileWriter c = new FileWriter(new File(outputDirectory, mName+".c")); + FileWriter h = new FileWriter(new File(outputDirectory, mName+".h")); h.write("#ifndef __"+mName.toUpperCase().replace('.','_')+"__\n"); h.write("#define __"+mName.toUpperCase().replace('.','_')+"__\n"); Modified: hadoop/zookeeper/trunk/src/java/main/org/apache/jute/compiler/CppGenerator.java URL: http://svn.apache.org/viewvc/hadoop/zookeeper/trunk/src/java/main/org/apache/jute/compiler/CppGenerator.java?rev=679901&r1=679900&r2=679901&view=diff ============================================================================== --- hadoop/zookeeper/trunk/src/java/main/org/apache/jute/compiler/CppGenerator.java (original) +++ hadoop/zookeeper/trunk/src/java/main/org/apache/jute/compiler/CppGenerator.java Fri Jul 25 14:19:47 2008 @@ -34,15 +34,18 @@ private String mName; private ArrayList mInclFiles; private ArrayList 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, ArrayList ilist, ArrayList rlist) { + CppGenerator(String name, ArrayList ilist, ArrayList rlist, File outputDirectory) { mFullName = name; + this.outputDirectory = outputDirectory; mName = (new File(name)).getName(); mInclFiles = ilist; mRecList = rlist; @@ -54,8 +57,9 @@ * record-level code is generated by JRecord. */ void genCode() throws IOException { - FileWriter cc = new FileWriter(mName+".cc"); - FileWriter hh = new FileWriter(mName+".hh"); + outputDirectory.mkdirs(); + FileWriter cc = new FileWriter(new File(outputDirectory, mName+".cc")); + FileWriter hh = new FileWriter(new File(outputDirectory, mName+".hh")); hh.write("#ifndef __"+mName.toUpperCase().replace('.','_')+"__\n"); hh.write("#define __"+mName.toUpperCase().replace('.','_')+"__\n"); Modified: hadoop/zookeeper/trunk/src/java/main/org/apache/jute/compiler/JFile.java URL: http://svn.apache.org/viewvc/hadoop/zookeeper/trunk/src/java/main/org/apache/jute/compiler/JFile.java?rev=679901&r1=679900&r2=679901&view=diff ============================================================================== --- hadoop/zookeeper/trunk/src/java/main/org/apache/jute/compiler/JFile.java (original) +++ hadoop/zookeeper/trunk/src/java/main/org/apache/jute/compiler/JFile.java Fri Jul 25 14:19:47 2008 @@ -18,6 +18,7 @@ package org.apache.jute.compiler; +import java.io.File; import java.io.IOException; import java.util.ArrayList; @@ -54,16 +55,17 @@ /** Generate record code in given language. Language should be all * lowercase. + * @param outputDirectory */ - public void genCode(String language) throws IOException { + public void genCode(String language, File outputDirectory) throws IOException { if ("c++".equals(language)) { - CppGenerator gen = new CppGenerator(mName, mInclFiles, mRecords); + CppGenerator gen = new CppGenerator(mName, mInclFiles, mRecords, outputDirectory); gen.genCode(); } else if ("java".equals(language)) { - JavaGenerator gen = new JavaGenerator(mName, mInclFiles, mRecords); + JavaGenerator gen = new JavaGenerator(mName, mInclFiles, mRecords, outputDirectory); gen.genCode(); } else if ("c".equals(language)) { - CGenerator gen = new CGenerator(mName, mInclFiles, mRecords); + CGenerator gen = new CGenerator(mName, mInclFiles, mRecords, outputDirectory); gen.genCode(); } else { System.out.println("Cannnot recognize language:"+language); Modified: hadoop/zookeeper/trunk/src/java/main/org/apache/jute/compiler/JRecord.java URL: http://svn.apache.org/viewvc/hadoop/zookeeper/trunk/src/java/main/org/apache/jute/compiler/JRecord.java?rev=679901&r1=679900&r2=679901&view=diff ============================================================================== --- hadoop/zookeeper/trunk/src/java/main/org/apache/jute/compiler/JRecord.java (original) +++ hadoop/zookeeper/trunk/src/java/main/org/apache/jute/compiler/JRecord.java Fri Jul 25 14:19:47 2008 @@ -357,10 +357,10 @@ } - public void genJavaCode() throws IOException { + public void genJavaCode(File outputDirectory) throws IOException { String pkg = getJavaPackage(); String pkgpath = pkg.replaceAll("\\.", "/"); - File pkgdir = new File(pkgpath); + File pkgdir = new File(outputDirectory, pkgpath); if (!pkgdir.exists()) { // create the pkg directory boolean ret = pkgdir.mkdirs(); Modified: hadoop/zookeeper/trunk/src/java/main/org/apache/jute/compiler/JavaGenerator.java URL: http://svn.apache.org/viewvc/hadoop/zookeeper/trunk/src/java/main/org/apache/jute/compiler/JavaGenerator.java?rev=679901&r1=679900&r2=679901&view=diff ============================================================================== --- hadoop/zookeeper/trunk/src/java/main/org/apache/jute/compiler/JavaGenerator.java (original) +++ hadoop/zookeeper/trunk/src/java/main/org/apache/jute/compiler/JavaGenerator.java Fri Jul 25 14:19:47 2008 @@ -33,17 +33,20 @@ private String mName; private ArrayList mInclFiles; private ArrayList mRecList; + private final File outputDirectory; /** Creates a new instance of JavaGenerator * * @param name possibly full pathname to the file * @param incl included files (as JFile) * @param records List of records defined within this file + * @param outputDirectory */ - JavaGenerator(String name, ArrayList incl, ArrayList records) { + JavaGenerator(String name, ArrayList incl, ArrayList records, File outputDirectory) { mName = name; mInclFiles = incl; mRecList = records; + this.outputDirectory = outputDirectory; } /** @@ -53,7 +56,7 @@ void genCode() throws IOException { for (Iterator i = mRecList.iterator(); i.hasNext(); ) { JRecord rec = (JRecord) i.next(); - rec.genJavaCode(); + rec.genJavaCode(outputDirectory); } } } Modified: hadoop/zookeeper/trunk/src/java/main/org/apache/jute/compiler/generated/Rcc.java URL: http://svn.apache.org/viewvc/hadoop/zookeeper/trunk/src/java/main/org/apache/jute/compiler/generated/Rcc.java?rev=679901&r1=679900&r2=679901&view=diff ============================================================================== --- hadoop/zookeeper/trunk/src/java/main/org/apache/jute/compiler/generated/Rcc.java (original) +++ hadoop/zookeeper/trunk/src/java/main/org/apache/jute/compiler/generated/Rcc.java Fri Jul 25 14:19:47 2008 @@ -29,15 +29,16 @@ import java.io.IOException; public class Rcc implements RccConstants { - private static String language = "java"; - private static ArrayList recFiles = new ArrayList(); - private static JFile curFile; - private static Hashtable recTab; + private static Hashtable recTab = new Hashtable(); private static String curDir = System.getProperty("user.dir"); private static String curFileName; private static String curModuleName; public static void main(String args[]) { + String language = "java"; + ArrayList recFiles = new ArrayList(); + JFile curFile=null; + for (int i=0; i