Search in sources :

Example 26 with Module

use of com.developmentontheedge.be5.metadata.model.Module in project be5 by DevelopmentOnTheEdge.

the class YamlDeserializer method reloadDaemons.

public Daemons reloadDaemons(final Path path, final Module target) throws ReadException {
    final Daemons daemons = new Daemons(target);
    final DaemonsDeserializer deserializer = new DaemonsDeserializer(path, daemons);
    deserializer.deserialize();
    DataElementUtils.saveQuiet(daemons);
    return daemons;
}
Also used : Daemons(com.developmentontheedge.be5.metadata.model.Daemons)

Example 27 with Module

use of com.developmentontheedge.be5.metadata.model.Module in project be5 by DevelopmentOnTheEdge.

the class YamlDeserializer method reloadMassChanges.

public MassChanges reloadMassChanges(final Path path, final Module application) throws ReadException {
    final MassChanges massChanges = application.newMassChangeCollection();
    final MassChangesDeserializer massChangesDeserializer = new MassChangesDeserializer(path, massChanges);
    massChangesDeserializer.deserialize();
    DataElementUtils.saveQuiet(massChangesDeserializer.getResult());
    return massChangesDeserializer.getResult();
}
Also used : MassChanges(com.developmentontheedge.be5.metadata.model.MassChanges)

Example 28 with Module

use of com.developmentontheedge.be5.metadata.model.Module in project be5 by DevelopmentOnTheEdge.

the class ReadModelFromXmlTest method testWriteReadCustomizedModule.

@Test
public void testWriteReadCustomizedModule() throws Exception {
    final Project project = new Project("TestProject");
    final Module module = new Module("testmodule", project.getModules());
    DataElementUtils.saveQuiet(module);
    final Entity table = new Entity("customizedtable", module, EntityType.TABLE);
    DataElementUtils.saveQuiet(table);
    final Operation op1 = Operation.createOperation("normop", Operation.OPERATION_TYPE_JAVA, table);
    assertFalse(module.isCustomized());
    DataElementUtils.saveQuiet(op1);
    final Operation op2 = Operation.createOperation("custop", Operation.OPERATION_TYPE_JAVA, table);
    op2.setOriginModuleName(Project.APPLICATION);
    DataElementUtils.saveQuiet(op2);
    final Query q1 = new Query("normq", table);
    DataElementUtils.saveQuiet(q1);
    final Query q2 = new Query("custq", table);
    q2.setOriginModuleName(Project.APPLICATION);
    DataElementUtils.saveQuiet(q2);
    assertTrue(module.isCustomized());
    final Path tempFolder = Files.createTempDirectory("be4-temp");
    Serialization.save(project, tempFolder);
    final Project project2 = Serialization.load(tempFolder);
    final Module readModule = project2.getModule("testmodule");
    assertNotNull(readModule);
    assertTrue(readModule.isCustomized());
    final Entity readTable = readModule.getEntity("customizedtable");
    assertNotNull(readTable);
    assertTrue(readTable.isCustomized());
    assertEquals(1, readTable.getOperations().getSize());
    assertNotNull(readTable.getOperations().get("custop"));
    assertEquals(1, readTable.getQueries().getSize());
    assertNotNull(readTable.getQueries().get("custq"));
    FileUtils.deleteRecursively(tempFolder);
}
Also used : Path(java.nio.file.Path) Project(com.developmentontheedge.be5.metadata.model.Project) Entity(com.developmentontheedge.be5.metadata.model.Entity) Query(com.developmentontheedge.be5.metadata.model.Query) Operation(com.developmentontheedge.be5.metadata.model.Operation) Module(com.developmentontheedge.be5.metadata.model.Module) Test(org.junit.Test)

Example 29 with Module

use of com.developmentontheedge.be5.metadata.model.Module in project be5 by DevelopmentOnTheEdge.

the class ReadModelFromXmlTest method testWriteReadQueryFilters.

@Test
public void testWriteReadQueryFilters() throws Exception {
    final Project project = new Project("TestProject");
    final Module module = project.getApplication();
    DataElementUtils.saveQuiet(module);
    final Entity table = new Entity("table", module, EntityType.TABLE);
    DataElementUtils.saveQuiet(table);
    final Query query = new Query("q", table);
    DataElementUtils.saveQuiet(query);
    final Query query2 = new Query("q2", table);
    DataElementUtils.saveQuiet(query2);
    final Query filterQuery = new Query("filter query", table);
    DataElementUtils.saveQuiet(filterQuery);
    final QuickFilter qf1 = new QuickFilter("filter1", query);
    qf1.setTargetQueryName(filterQuery.getName());
    qf1.setQueryParam("param");
    qf1.setFilteringClass("test.class");
    DataElementUtils.saveQuiet(qf1);
    final QuickFilter qf2 = new QuickFilter("filter2", query2);
    qf2.setTargetQueryName(filterQuery.getName());
    qf2.setQueryParam("param2");
    DataElementUtils.saveQuiet(qf2);
    final Path tempFolder = Files.createTempDirectory("be4-temp");
    Serialization.save(project, tempFolder);
    final Project readProject = Serialization.load(tempFolder);
    final Entity readEntity = readProject.getApplication().getEntity("table");
    assertEquals("filter1", readEntity.getQueries().get("q").getQuickFilters()[0].getName());
    assertEquals("param", readEntity.getQueries().get("q").getQuickFilters()[0].getQueryParam());
    assertEquals("test.class", readEntity.getQueries().get("q").getQuickFilters()[0].getFilteringClass());
    assertSame(readEntity.getQueries().get("filter query"), readEntity.getQueries().get("q").getQuickFilters()[0].getTargetQuery());
    assertEquals("filter2", readEntity.getQueries().get("q2").getQuickFilters()[0].getName());
    assertEquals("param2", readEntity.getQueries().get("q2").getQuickFilters()[0].getQueryParam());
    assertNull(readEntity.getQueries().get("q2").getQuickFilters()[0].getFilteringClass());
    assertSame(readEntity.getQueries().get("filter query"), readEntity.getQueries().get("q2").getQuickFilters()[0].getTargetQuery());
    FileUtils.deleteRecursively(tempFolder);
}
Also used : Path(java.nio.file.Path) Project(com.developmentontheedge.be5.metadata.model.Project) Entity(com.developmentontheedge.be5.metadata.model.Entity) Query(com.developmentontheedge.be5.metadata.model.Query) Module(com.developmentontheedge.be5.metadata.model.Module) QuickFilter(com.developmentontheedge.be5.metadata.model.QuickFilter) Test(org.junit.Test)

Example 30 with Module

use of com.developmentontheedge.be5.metadata.model.Module in project be5 by DevelopmentOnTheEdge.

the class ReadModelFromXmlTest method testWriteReadOperationExtender.

@Test
public void testWriteReadOperationExtender() throws Exception {
    final Project project = new Project("TestProject");
    final Module module = project.getApplication();
    DataElementUtils.saveQuiet(module);
    final Entity table = new Entity("table", module, EntityType.TABLE);
    DataElementUtils.saveQuiet(table);
    final Operation op = Operation.createOperation("op", Operation.OPERATION_TYPE_JAVA, table);
    DataElementUtils.saveQuiet(op);
    final OperationExtender ex1 = new OperationExtender(op, module.getName());
    DataElementUtils.saveQuiet(ex1);
    ex1.setClassName("test.class.name");
    ex1.setInvokeOrder(1);
    final JavaScriptOperationExtender ex2 = new JavaScriptOperationExtender(op, module.getName());
    DataElementUtils.saveQuiet(ex2);
    ex2.setFileName("MyExtender.js");
    ex2.setCode("Hello world!");
    final Path tempFolder = Files.createTempDirectory("be4-temp");
    Serialization.save(project, tempFolder);
    final Project readProject = Serialization.load(tempFolder);
    final Entity readEntity = readProject.getApplication().getEntity("table");
    final BeModelCollection<OperationExtender> extenders = readEntity.getOperations().get("op").getExtenders();
    assertEquals(2, extenders.getSize());
    final OperationExtender readEx1 = extenders.get("application - 0001");
    assertEquals("test.class.name", readEx1.getClassName());
    assertEquals(1, readEx1.getInvokeOrder());
    final JavaScriptOperationExtender readEx2 = (JavaScriptOperationExtender) extenders.get("application - 0002");
    assertEquals(0, readEx2.getInvokeOrder());
    assertEquals("MyExtender.js", readEx2.getFileName());
    assertEquals("Hello world!", readEx2.getCode());
    FileUtils.deleteRecursively(tempFolder);
}
Also used : Path(java.nio.file.Path) Project(com.developmentontheedge.be5.metadata.model.Project) Entity(com.developmentontheedge.be5.metadata.model.Entity) JavaScriptOperationExtender(com.developmentontheedge.be5.metadata.model.JavaScriptOperationExtender) OperationExtender(com.developmentontheedge.be5.metadata.model.OperationExtender) JavaScriptOperationExtender(com.developmentontheedge.be5.metadata.model.JavaScriptOperationExtender) Operation(com.developmentontheedge.be5.metadata.model.Operation) Module(com.developmentontheedge.be5.metadata.model.Module) Test(org.junit.Test)

Aggregations

Module (com.developmentontheedge.be5.metadata.model.Module)26 Project (com.developmentontheedge.be5.metadata.model.Project)21 Entity (com.developmentontheedge.be5.metadata.model.Entity)19 Query (com.developmentontheedge.be5.metadata.model.Query)12 Test (org.junit.Test)9 Path (java.nio.file.Path)8 ArrayList (java.util.ArrayList)6 Operation (com.developmentontheedge.be5.metadata.model.Operation)5 YamlDeserializer (com.developmentontheedge.be5.metadata.serialization.yaml.YamlDeserializer)5 HashMap (java.util.HashMap)5 ProjectElementException (com.developmentontheedge.be5.metadata.exception.ProjectElementException)4 TableDef (com.developmentontheedge.be5.metadata.model.TableDef)4 Map (java.util.Map)4 FreemarkerCatalog (com.developmentontheedge.be5.metadata.model.FreemarkerCatalog)3 FreemarkerScript (com.developmentontheedge.be5.metadata.model.FreemarkerScript)3 BeModelElement (com.developmentontheedge.be5.metadata.model.base.BeModelElement)3 List (java.util.List)3 FreemarkerSqlException (com.developmentontheedge.be5.metadata.exception.FreemarkerSqlException)2 ReadException (com.developmentontheedge.be5.metadata.exception.ReadException)2 ColumnDef (com.developmentontheedge.be5.metadata.model.ColumnDef)2