final public JSON object() throws ParseException { JSON m = JSON.json(); jj_consume_token(O_OPENBRACE); switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case SINGLE_QUOTED_STRING: case QUOTED_STRING: case UNQUOTED_STRING: members(m); break; default: ; } jj_consume_token(O_CLOSEBRACE); {if (true) return m;} throw new Error("Missing return statement in function"); }
final public JSON object() throws ParseException { JSON m = JSON.json(); jj_consume_token(O_OPENBRACE); switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case SINGLE_QUOTED_STRING: case QUOTED_STRING: case UNQUOTED_STRING: members(m); break; default: ; } jj_consume_token(O_CLOSEBRACE); {if (true) return m;} throw new Error("Missing return statement in function"); }
@Test public void testBuild() throws Exception { CompilerAssert<File, File> helper = incrementalCompiler("metamodel.path"); helper.assertCompile(); // File ser = helper.getSourceOutput().getPath("juzu", "metamodel.ser"); ModuleMetaModel mm = (ModuleMetaModel)Tools.unserialize(MetaModelState.class, ser).metaModel; // JSON expected = json() .set("applications", json(). list("values", json(). list("controllers"). set("handle", "ElementHandle.Package[qn=metamodel.path]"). list("templates", json(). set("path", "foo.gtmpl"). list("refs") ) ) ); assertEquals(expected, mm.toJSON()); }
@Test public void testBuild() throws Exception { CompilerAssert<File, File> helper = incrementalCompiler("metamodel.path"); helper.assertCompile(); // File ser = helper.getSourceOutput().getPath("juzu", "metamodel.ser"); ModuleMetaModel mm = (ModuleMetaModel)Tools.unserialize(MetaModelState.class, ser).metaModel; // JSON expected = json() .set("applications", json(). list("values", json(). list("controllers"). set("handle", "ElementHandle.Package[qn=metamodel.path]"). list("templates", json(). set("path", "foo.gtmpl"). list("refs") ) ) ); assertEquals(expected, mm.toJSON()); }
@Test public void testChangeValue() throws Exception { CompilerAssert<File, File> helper = incrementalCompiler("metamodel.path"); helper.assertCompile(); // File a = helper.getSourcePath().getPath("metamodel", "path", "A.java"); Tools.write(Tools.read(a).replace("foo.gtmpl", "bar.gtmpl"), a); File foo = helper.getSourcePath().getPath("metamodel", "path", "templates", "foo.gtmpl"); File bar = new File(foo.getParentFile(), "bar.gtmpl"); assertTrue(foo.renameTo(bar)); // helper.assertCompile(); File ser = helper.getSourceOutput().getPath("juzu", "metamodel.ser"); ModuleMetaModel mm = (ModuleMetaModel)Tools.unserialize(MetaModelState.class, ser).metaModel; // JSON expected = json() .set("applications", json().list("values", json(). list("controllers"). set("handle", "ElementHandle.Package[qn=metamodel.path]"). list("templates", json(). set("path", "bar.gtmpl"). list("refs") ) ) ); assertEquals(expected, mm.toJSON()); }
@Test public void testAdd() throws Exception { CompilerAssert<File, File> helper = compiler("metamodel.application"); helper.assertCompile(); // File ser = helper.getSourceOutput().getPath("juzu", "metamodel.ser"); ModuleMetaModel mm = (ModuleMetaModel)Tools.unserialize(MetaModelState.class, ser).metaModel; List<MetaModelEvent> events = mm.getQueue().clear(); assertEquals(1, events.size()); assertEquals(MetaModelEvent.AFTER_ADD, events.get(0).getType()); assertTrue(events.get(0).getObject() instanceof ApplicationMetaModel); // JSON expected = json() .set("applications", json(). list("values", json(). list("controllers"). set("handle", "ElementHandle.Package[qn=metamodel.application]"). list("templates") ) ); assertEquals(expected, mm.toJSON()); }
@Test public void testChangeValue() throws Exception { CompilerAssert<File, File> helper = incrementalCompiler("metamodel.path"); helper.assertCompile(); // File a = helper.getSourcePath().getPath("metamodel", "path", "A.java"); Tools.write(Tools.read(a).replace("foo.gtmpl", "bar.gtmpl"), a); File foo = helper.getSourcePath().getPath("metamodel", "path", "templates", "foo.gtmpl"); File bar = new File(foo.getParentFile(), "bar.gtmpl"); assertTrue(foo.renameTo(bar)); // helper.assertCompile(); File ser = helper.getSourceOutput().getPath("juzu", "metamodel.ser"); ModuleMetaModel mm = (ModuleMetaModel)Tools.unserialize(MetaModelState.class, ser).metaModel; // JSON expected = json() .set("applications", json().list("values", json(). list("controllers"). set("handle", "ElementHandle.Package[qn=metamodel.path]"). list("templates", json(). set("path", "bar.gtmpl"). list("refs") ) ) ); assertEquals(expected, mm.toJSON()); }
@Test public void testAdd() throws Exception { CompilerAssert<File, File> helper = compiler("metamodel.application"); helper.assertCompile(); // File ser = helper.getSourceOutput().getPath("juzu", "metamodel.ser"); ModuleMetaModel mm = (ModuleMetaModel)Tools.unserialize(MetaModelState.class, ser).metaModel; List<MetaModelEvent> events = mm.getQueue().clear(); assertEquals(1, events.size()); assertEquals(MetaModelEvent.AFTER_ADD, events.get(0).getType()); assertTrue(events.get(0).getObject() instanceof ApplicationMetaModel); // JSON expected = json() .set("applications", json(). list("values", json(). list("controllers"). set("handle", "ElementHandle.Package[qn=metamodel.application]"). list("templates") ) ); assertEquals(expected, mm.toJSON()); }
@Test public void testRemoveAnnotation() throws Exception { CompilerAssert<File, File> helper = incrementalCompiler("metamodel.path"); helper.assertCompile(); // File a = helper.getSourcePath().getPath("metamodel", "path", "A.java"); Tools.write(Tools.read(a).replace("@Path(\"foo.gtmpl\")", ""), a); // helper.assertCompile(); File ser = helper.getSourceOutput().getPath("juzu", "metamodel.ser"); ModuleMetaModel mm = (ModuleMetaModel)Tools.unserialize(MetaModelState.class, ser).metaModel; // JSON expected = json() .set("applications", json(). list("values", json(). list("controllers"). set("handle", "ElementHandle.Package[qn=metamodel.path]"). list("templates") ) ); assertEquals(expected, mm.toJSON()); }
@Test public void testRemoveAnnotation() throws Exception { CompilerAssert<File, File> helper = incrementalCompiler("metamodel.path"); helper.assertCompile(); // File a = helper.getSourcePath().getPath("metamodel", "path", "A.java"); Tools.write(Tools.read(a).replace("@Path(\"foo.gtmpl\")", ""), a); // helper.assertCompile(); File ser = helper.getSourceOutput().getPath("juzu", "metamodel.ser"); ModuleMetaModel mm = (ModuleMetaModel)Tools.unserialize(MetaModelState.class, ser).metaModel; // JSON expected = json() .set("applications", json(). list("values", json(). list("controllers"). set("handle", "ElementHandle.Package[qn=metamodel.path]"). list("templates") ) ); assertEquals(expected, mm.toJSON()); }
@Test public void testPathRemoveApplication() throws Exception { CompilerAssert<File, File> helper = incrementalCompiler("metamodel.path"); helper.assertCompile(); // assertDelete(helper.getSourcePath().getPath("metamodel", "path", "package-info.java")); // helper.assertCompile(); File ser = helper.getSourceOutput().getPath("juzu", "metamodel.ser"); ModuleMetaModel mm = (ModuleMetaModel)Tools.unserialize(MetaModelState.class, ser).metaModel; // JSON expected = json(). set("applications", json().list("values") ); // assertEquals(expected, mm.toJSON()); }
@Test public void testPathRemoveApplication() throws Exception { CompilerAssert<File, File> helper = incrementalCompiler("metamodel.path"); helper.assertCompile(); // assertDelete(helper.getSourcePath().getPath("metamodel", "path", "package-info.java")); // helper.assertCompile(); File ser = helper.getSourceOutput().getPath("juzu", "metamodel.ser"); ModuleMetaModel mm = (ModuleMetaModel)Tools.unserialize(MetaModelState.class, ser).metaModel; // JSON expected = json(). set("applications", json().list("values") ); // assertEquals(expected, mm.toJSON()); }
@Test public void testRemoveApplication() throws Exception { CompilerAssert<File, File> helper = incrementalCompiler("metamodel.controller"); helper.assertCompile(); File ser = helper.getSourceOutput().getPath("juzu", "metamodel.ser"); MetaModelState unserialize = Tools.unserialize(MetaModelState.class, ser); ModuleMetaModel mm = (ModuleMetaModel)unserialize.metaModel; mm.getQueue().clear(); Tools.serialize(unserialize, ser); // assertDelete(helper.getSourcePath().getPath("metamodel", "controller", "package-info.java")); // helper.assertCompile(); mm = (ModuleMetaModel)Tools.unserialize(MetaModelState.class, ser).metaModel; // JSON expected = json(). set("applications", json(). list("values") ); assertEquals(expected, mm.toJSON()); // List<MetaModelEvent> events = mm.getQueue().clear(); assertEquals(3, events.size()); assertEquals(MetaModelEvent.BEFORE_REMOVE, events.get(0).getType()); assertInstanceOf(HandlerMetaModel.class, events.get(0).getObject()); assertEquals(MetaModelEvent.BEFORE_REMOVE, events.get(1).getType()); assertInstanceOf(ControllerMetaModel.class, events.get(1).getObject()); assertEquals(MetaModelEvent.BEFORE_REMOVE, events.get(2).getType()); assertInstanceOf(ApplicationMetaModel.class, events.get(2).getObject()); }
@Test public void testRemoveApplication() throws Exception { CompilerAssert<File, File> helper = incrementalCompiler("metamodel.controller"); helper.assertCompile(); File ser = helper.getSourceOutput().getPath("juzu", "metamodel.ser"); MetaModelState unserialize = Tools.unserialize(MetaModelState.class, ser); ModuleMetaModel mm = (ModuleMetaModel)unserialize.metaModel; mm.getQueue().clear(); Tools.serialize(unserialize, ser); // assertDelete(helper.getSourcePath().getPath("metamodel", "controller", "package-info.java")); // helper.assertCompile(); mm = (ModuleMetaModel)Tools.unserialize(MetaModelState.class, ser).metaModel; // JSON expected = json(). set("applications", json(). list("values") ); assertEquals(expected, mm.toJSON()); // List<MetaModelEvent> events = mm.getQueue().clear(); assertEquals(3, events.size()); assertEquals(MetaModelEvent.BEFORE_REMOVE, events.get(0).getType()); assertInstanceOf(HandlerMetaModel.class, events.get(0).getObject()); assertEquals(MetaModelEvent.BEFORE_REMOVE, events.get(1).getType()); assertInstanceOf(ControllerMetaModel.class, events.get(1).getObject()); assertEquals(MetaModelEvent.BEFORE_REMOVE, events.get(2).getType()); assertInstanceOf(ApplicationMetaModel.class, events.get(2).getObject()); }
@Test public void testRemove() throws Exception { CompilerAssert<File, File> helper = incrementalCompiler("metamodel.application"); helper.assertCompile(); // File ser = helper.getSourceOutput().getPath("juzu", "metamodel.ser"); MetaModelState unserialize = Tools.unserialize(MetaModelState.class, ser); ModuleMetaModel mm = (ModuleMetaModel)unserialize.metaModel; mm.getQueue().clear(); Tools.serialize(unserialize, ser); // assertTrue(helper.getSourcePath().getPath("metamodel", "application", "package-info.java").delete()); // helper.assertCompile(); ser = helper.getSourceOutput().getPath("juzu", "metamodel.ser"); mm = (ModuleMetaModel)Tools.unserialize(MetaModelState.class, ser).metaModel; // List<MetaModelEvent> events = mm.getQueue().clear(); assertEquals(1, events.size()); assertEquals(MetaModelEvent.BEFORE_REMOVE, events.get(0).getType()); assertTrue(events.get(0).getObject() instanceof ApplicationMetaModel); // JSON expected = json(). set("applications", json(). list("values") ); assertEquals(expected, mm.toJSON()); }
@Test public void testRemove() throws Exception { CompilerAssert<File, File> helper = incrementalCompiler("metamodel.application"); helper.assertCompile(); // File ser = helper.getSourceOutput().getPath("juzu", "metamodel.ser"); MetaModelState unserialize = Tools.unserialize(MetaModelState.class, ser); ModuleMetaModel mm = (ModuleMetaModel)unserialize.metaModel; mm.getQueue().clear(); Tools.serialize(unserialize, ser); // assertTrue(helper.getSourcePath().getPath("metamodel", "application", "package-info.java").delete()); // helper.assertCompile(); ser = helper.getSourceOutput().getPath("juzu", "metamodel.ser"); mm = (ModuleMetaModel)Tools.unserialize(MetaModelState.class, ser).metaModel; // List<MetaModelEvent> events = mm.getQueue().clear(); assertEquals(1, events.size()); assertEquals(MetaModelEvent.BEFORE_REMOVE, events.get(0).getType()); assertTrue(events.get(0).getObject() instanceof ApplicationMetaModel); // JSON expected = json(). set("applications", json(). list("values") ); assertEquals(expected, mm.toJSON()); }