public void generate() throws Exception { DaoGenerator daoGenerator = new DaoGenerator(); daoGenerator.generateAll(schema, "../DaoTestBase/src/main/java"); daoGenerator.generateAll(schema2, "../DaoTestBase/src/main/java"); daoGenerator.generateAll(schemaUnitTest, "../DaoTest/src/test/java"); }
public DaoGenerator() throws IOException { System.out.println("greenDAO Generator"); System.out.println("Copyright 2011-2016 Markus Junginger, greenrobot.de. Licensed under GPL V3."); System.out.println("This program comes with ABSOLUTELY NO WARRANTY"); patternKeepIncludes = compilePattern("INCLUDES"); patternKeepFields = compilePattern("FIELDS"); patternKeepMethods = compilePattern("METHODS"); Configuration config = getConfiguration("dao.ftl"); templateDao = config.getTemplate("dao.ftl"); templateDaoMaster = config.getTemplate("dao-master.ftl"); templateDaoSession = config.getTemplate("dao-session.ftl"); templateEntity = config.getTemplate("entity.ftl"); templateDaoUnitTest = config.getTemplate("dao-unit-test.ftl"); templateContentProvider = config.getTemplate("content-provider.ftl"); }
private void generate(Template template, File outDirFile, String javaPackage, String javaClassName, Schema schema, Entity entity) throws Exception { generate(template, outDirFile, javaPackage, javaClassName, schema, entity, null); }
/** Generates all entities and DAOs for the given schema. */ public void generateAll(Schema schema, String outDir) throws Exception { generateAll(schema, outDir, null, null); }
long start = System.currentTimeMillis(); File outDirFile = toFileForceExists(outDir); File outDirEntityFile = outDirEntity != null ? toFileForceExists(outDirEntity) : outDirFile; File outDirTestFile = outDirTest != null ? toFileForceExists(outDirTest) : null; generate(templateDao, outDirFile, entity.getJavaPackageDao(), entity.getClassNameDao(), schema, entity); if (!entity.isProtobuf() && !entity.isSkipGeneration()) { generate(templateEntity, outDirEntityFile, entity.getJavaPackage(), entity.getClassName(), schema, entity); File javaFilename = toJavaFilename(outDirTestFile, javaPackageTest, classNameTest); if (!javaFilename.exists()) { generate(templateDaoUnitTest, outDirTestFile, javaPackageTest, classNameTest, schema, entity); } else { System.out.println("Skipped " + javaFilename.getCanonicalPath()); Map<String, Object> additionalObjectsForTemplate = new HashMap<>(); additionalObjectsForTemplate.put("contentProvider", contentProvider); generate(templateContentProvider, outDirFile, entity.getJavaPackage(), entity.getClassName() + "ContentProvider", schema, entity, additionalObjectsForTemplate); generate(templateDaoMaster, outDirFile, schema.getDefaultJavaPackageDao(), schema.getPrefix() + "DaoMaster", schema, null); generate(templateDaoSession, outDirFile, schema.getDefaultJavaPackageDao(), schema.getPrefix() + "DaoSession", schema, null);
private void generate(Template template, File outDirFile, String javaPackage, String javaClassName, Schema schema, Entity entity, Map<String, Object> additionalObjectsForTemplate) throws Exception { Map<String, Object> root = new HashMap<>(); root.put("schema", schema); root.put("entity", entity); if (additionalObjectsForTemplate != null) { root.putAll(additionalObjectsForTemplate); } try { File file = toJavaFilename(outDirFile, javaPackage, javaClassName); //noinspection ResultOfMethodCallIgnored file.getParentFile().mkdirs(); if (entity != null && entity.getHasKeepSections()) { checkKeepSections(file, root); } Writer writer = new FileWriter(file); try { template.process(root, writer); writer.flush(); System.out.println("Written " + file.getCanonicalPath()); } finally { writer.close(); } } catch (Exception ex) { System.err.println("Data map for template: " + root); System.err.println("Error while generating " + javaPackage + "." + javaClassName + " (" + outDirFile.getCanonicalPath() + ")"); throw ex; } }
public static void main(String[] args) throws Exception { Schema schema = new Schema(11, "com.github.yuweiguocn.demo.greendao.db"); addTest(schema); addTest2(schema); addTest3(schema); new DaoGenerator().generateAll(schema, "../GreenDaoUpgradeHelper/app/src/main/java-gen"); }
public static void main(String...args){ Schema rootSchema = new Schema(5, "com.thirtydegreesray.openhub.dao"); addAuthUser(rootSchema); addTraceUser(rootSchema); addTraceRepo(rootSchema); addBookMarkUser(rootSchema); addBookMarkRepo(rootSchema); addLocalUser(rootSchema); addLocalRepo(rootSchema); addTrace(rootSchema); addBookmark(rootSchema); addMyTrendingLanguage(rootSchema); try { new DaoGenerator().generateAll(rootSchema, "E:/Work/Android/github/OpenHub/OpenHub/app/src/main/java"); } catch (Exception e) { e.printStackTrace(); } }
@Test public void testMinimalSchema() throws Exception { Schema schema = new Schema(1, "org.greenrobot.testdao"); Entity addressEntity = schema.addEntity("Addresse"); Property idProperty = addressEntity.addIdProperty().getProperty(); addressEntity.addIntProperty("count").index(); addressEntity.addIntProperty("dummy").notNull(); assertEquals(1, schema.getEntities().size()); assertEquals(3, addressEntity.getProperties().size()); File outputDir = new File("build/test-out"); outputDir.mkdirs(); File daoFile = new File(outputDir, "org/greenrobot/testdao/" + addressEntity.getClassName() + "Dao.java"); daoFile.delete(); assertFalse(daoFile.exists()); new DaoGenerator().generateAll(schema, outputDir.getPath()); assertEquals("PRIMARY KEY", idProperty.getConstraints()); assertTrue(daoFile.toString(), daoFile.exists()); }
public void generate() throws Exception { DaoGenerator daoGenerator = new DaoGenerator(); String src = "../app/src/main/java/"; daoGenerator.generateAll(schema, src); }
public static void main(String[] args) throws Exception{ Schema schema = new Schema(1, "com.codingbingo.fastreader.dao"); Entity book = schema.addEntity("Book"); book.addIdProperty().primaryKey().autoincrement(); book.addStringProperty("bookName").notNull(); book.addStringProperty("bookImagePath"); book.addStringProperty("description"); book.addStringProperty("tags"); book.addStringProperty("writer"); book.addStringProperty("charSet"); book.addStringProperty("bookPath"); book.addIntProperty("currentChapter"); book.addIntProperty("currentPosition"); book.addIntProperty("processStatus").notNull(); Entity chapter = schema.addEntity("Chapter"); chapter.addIdProperty().primaryKey().autoincrement(); chapter.addStringProperty("title"); chapter.addIntProperty("position").notNull(); chapter.addIntProperty("pageCount"); chapter.addBooleanProperty("isRead"); Property bookIdProperty = chapter.addLongProperty("bookId").notNull().getProperty(); chapter.addToOne(book, bookIdProperty); new DaoGenerator().generateAll(schema, "/Users/bingo/Git/FastReader/app/src/main/java"); }