From d85bdbfd9c3258cf31a8fe909b60a04024cf188a Mon Sep 17 00:00:00 2001 From: jiqimaogou Date: Sat, 22 Feb 2014 22:46:46 +0800 Subject: [PATCH 1/2] More convenient to use --- .../com/foxykeep/cpcodegenerator/Main.java | 28 +++++++++++-------- 1 file changed, 17 insertions(+), 11 deletions(-) diff --git a/generator/src/com/foxykeep/cpcodegenerator/Main.java b/generator/src/com/foxykeep/cpcodegenerator/Main.java index 7585182..e939773 100644 --- a/generator/src/com/foxykeep/cpcodegenerator/Main.java +++ b/generator/src/com/foxykeep/cpcodegenerator/Main.java @@ -21,8 +21,9 @@ public class Main { public static void main(final String[] args) { - - final File fileInputDir = new File("input"); + final String dir = System.getProperty("user.dir"); + System.out.println("current dir = " + dir); + final File fileInputDir = new File(dir + File.separator + "example"); if (!fileInputDir.exists() || !fileInputDir.isDirectory()) { return; } @@ -48,6 +49,9 @@ public static void main(final String[] args) { // For each file in the input folder for (File file : fileInputDir.listFiles()) { final String fileName = file.getName(); + if ("format.json".equals(fileName)) { + continue; + } System.out.println("Generating code for " + fileName); final char[] buffer = new char[2048]; @@ -73,7 +77,8 @@ public static void main(final String[] args) { return; } - final String content = sb.toString(); + String content = sb.toString(); + content = content.substring(content.indexOf("{")); if (content.length() == 0) { System.out.println("file is empty."); return; @@ -84,8 +89,7 @@ public static void main(final String[] args) { final JSONObject jsonDatabase = root.getJSONObject("database"); // Classes generation - String classPackage, classesPrefix, contentClassesPrefix, dbAuthorityPackage, - providerFolder; + String classPackage, classesPrefix, contentClassesPrefix, dbAuthorityPackage, providerFolder; int dbVersion; boolean hasProviderSubclasses; classPackage = jsonDatabase.getString("package"); @@ -97,17 +101,19 @@ public static void main(final String[] args) { dbVersion = jsonDatabase.getInt("version"); hasProviderSubclasses = jsonDatabase.optBoolean("has_subclasses"); - ArrayList classDataList = TableData.getClassesData(root.getJSONArray( - "tables"), contentClassesPrefix, dbVersion); + ArrayList classDataList = TableData.getClassesData( + root.getJSONArray("tables"), contentClassesPrefix, dbVersion); // Database generation DatabaseGenerator.generate(fileName, classPackage, dbVersion, dbAuthorityPackage, classesPrefix, classDataList, providerFolder, hasProviderSubclasses); - FileCache.saveFile(PathUtils.getAndroidFullPath(fileName, classPackage, - providerFolder + "." + PathUtils.UTIL) + "ColumnMetadata.java", - String.format(columnMetadataText, classPackage, - providerFolder + "." + PathUtils.UTIL)); + FileCache.saveFile( + PathUtils.getAndroidFullPath(fileName, classPackage, providerFolder + "." + + PathUtils.UTIL) + + "ColumnMetadata.java", + String.format(columnMetadataText, classPackage, providerFolder + "." + + PathUtils.UTIL)); } catch (JSONException e) { e.printStackTrace(); From a0beb4856da925daded3f43da0957ac3c28d9d75 Mon Sep 17 00:00:00 2001 From: jiqimaogou Date: Sat, 22 Feb 2014 22:57:14 +0800 Subject: [PATCH 2/2] use first argument as input file. --- generator/src/com/foxykeep/cpcodegenerator/Main.java | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/generator/src/com/foxykeep/cpcodegenerator/Main.java b/generator/src/com/foxykeep/cpcodegenerator/Main.java index e939773..0cda55b 100644 --- a/generator/src/com/foxykeep/cpcodegenerator/Main.java +++ b/generator/src/com/foxykeep/cpcodegenerator/Main.java @@ -23,7 +23,15 @@ public class Main { public static void main(final String[] args) { final String dir = System.getProperty("user.dir"); System.out.println("current dir = " + dir); - final File fileInputDir = new File(dir + File.separator + "example"); + File fileInputDir; + if (args.length > 0) { + fileInputDir = new File(args[0]); + if (!fileInputDir.isAbsolute()) { + fileInputDir = new File(dir + File.separator + args[0]); + } + } else { + fileInputDir = new File(dir + File.separator + "example"); + } if (!fileInputDir.exists() || !fileInputDir.isDirectory()) { return; }