Search in sources :

Example 46 with Module

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

the class ModuleLoader2 method logLoadedProject.

public static String logLoadedProject(Project project, long startTime) {
    StringBuilder sb = new StringBuilder();
    if (project.isModuleProject()) {
        sb.append(JULLogger.infoBlock("Loaded module:"));
    } else {
        sb.append(JULLogger.infoBlock("Loaded project:"));
    }
    sb.append("\nName: ").append(project.getName());
    if (project.getModules().getSize() > 0) {
        sb.append("\nModules: ");
        for (Module module : project.getModules()) {
            sb.append("\n - ");
            sb.append(module.getName());
        }
    }
    sb.append("\nLoading time: ").append(TimeUnit.NANOSECONDS.toMillis(System.nanoTime() - startTime)).append(" ms");
    sb.append("\n");
    return sb.toString();
}
Also used : Module(com.developmentontheedge.be5.metadata.model.Module)

Example 47 with Module

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

the class ModuleLoader2 method mergeAllModules.

public static void mergeAllModules(final Project model, List<Project> modules, final LoadContext context) throws ProjectLoadException {
    modules = new LinkedList<>(modules);
    for (Project module : modules) {
        module.mergeHostProject(model);
    }
    final Project compositeModule = foldModules(model, modules, context);
    if (compositeModule != null) {
        model.merge(compositeModule);
    }
}
Also used : Project(com.developmentontheedge.be5.metadata.model.Project)

Example 48 with Module

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

the class ModuleLoader2 method findAndLoadProjectWithModules.

public static Project findAndLoadProjectWithModules() throws ProjectLoadException {
    loadAllProjects(true);
    Project project = null;
    for (Map.Entry<String, Project> module : modulesMap.entrySet()) {
        if (module.getValue() != null && !module.getValue().isModuleProject()) {
            if (project != null) {
                throw new RuntimeException("Several projects were found: " + project + ", " + module);
            } else {
                project = module.getValue();
            }
        }
    }
    if (project == null) {
        // todo create new not module project for tests?
        log.info("Project not found, try load main module.");
        project = new ProjectTopologicalSort(modulesMap.values()).getRoot();
    }
    ModuleLoader2.mergeModules(project, new JULLogger(log));
    return project;
}
Also used : Project(com.developmentontheedge.be5.metadata.model.Project) JULLogger(com.developmentontheedge.be5.metadata.util.JULLogger) HashMap(java.util.HashMap) Map(java.util.Map)

Example 49 with Module

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

the class ProjectTopologicalSort method dfs.

private void dfs(String v) {
    used.put(v, true);
    for (Module module : g.get(v).getModules()) {
        if (!used.getOrDefault(module.getName(), false)) {
            if (!g.containsKey(module.getName())) {
                throw new RuntimeException("Module " + module.getName() + " not found, required for " + v + ". Add module to classpath.");
            }
            dfs(module.getName());
        }
    }
    ans.add(g.get(v));
}
Also used : Module(com.developmentontheedge.be5.metadata.model.Module)

Example 50 with Module

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

the class Project method getModulesAndApplication.

public List<Module> getModulesAndApplication() {
    List<Module> result = getModules().stream().toList();
    BeModelElement appElement = get(getProjectOrigin());
    if (appElement instanceof Module)
        result.add((Module) appElement);
    return result;
}
Also used : BeModelElement(com.developmentontheedge.be5.metadata.model.base.BeModelElement)

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