Class ModuleDB

  • All Implemented Interfaces:
    java.io.Serializable

    public class ModuleDB
    extends java.lang.Object
    implements java.io.Serializable
    Module definition
    See Also:
    Serialized Form
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static java.lang.String POM_FOOTER
      POM file footer
      static java.lang.String POM_HEADER
      POM file header
    • Constructor Summary

      Constructors 
      Constructor Description
      ModuleDB​(ObjectDB mdl)
      Constructor
      ModuleDB​(java.lang.String id, java.lang.String name, java.lang.String version)
      Constructor
      ModuleDB​(java.lang.String id, java.lang.String name, java.lang.String version, java.lang.String config, java.lang.String comments, java.lang.String date)
      Constructor
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods 
      Modifier and Type Method Description
      static java.lang.String applyConfiguration​(ObjectDB mdl)
      Deprecated.
      Use applyConfiguration with force argument
      static java.lang.String applyConfiguration​(ObjectDB mdl, boolean force)
      Apply Git configuration
      void buildModuleArtifacts​(Grant g, java.lang.String dir, java.lang.String format)
      Build module artifacts
      void buildModuleInfo​(java.lang.String dir, java.lang.String format, java.util.List<java.lang.String> files)
      Build module info file
      void buildSQL​(Grant g)
      Generates SQL scripts (for all DB vendors) for specified module
      static java.lang.String createModule​(java.lang.String name, java.lang.String version, java.lang.String type, java.lang.String desc, java.lang.String settings, java.lang.String prefix)
      Create module for specified name and version number
      static java.util.List<java.lang.String> getAddonModules()
      Addon modules
      static java.lang.String getBranchConfiguration​(java.lang.String config)
      Get branch configuration
      static java.lang.String getBranchConfiguration​(org.json.JSONObject config)
      Get branch configuration
      java.util.List<java.lang.String> getChildModules()
      Get module's children modules dependencies
      static java.util.List<java.lang.String> getChildModules​(java.lang.String name)
      Get specified module's children modules dependencies
      java.lang.String getComments()
      Get comments
      java.lang.String getConfiguration()
      Get configuration
      static org.json.JSONObject getConfiguration​(java.lang.String config)
      Get module configuration as JSON object
      static java.util.List<java.lang.String> getDatasets​(java.lang.String name)
      Get the list of the dataset names of a module
      java.lang.String getDate()
      Get date
      java.lang.String getId()
      Get ID
      java.lang.String getLastUpdate()
      Deprecated, for removal: This API element is subject to removal in a future version. 
      static org.json.JSONObject getMavenConfiguration​(java.lang.String config)
      Get module Maven configuration as JSON object
      static java.lang.String getModuleId​(java.lang.String name)
      Returns module ID for specified name
      static java.lang.String getModuleId​(java.lang.String name, boolean create)
      Returns module ID for specified name
      static java.lang.String getModuleName​(java.lang.String id)
      Returns module name for specified ID
      static java.util.List<java.lang.String> getModules​(java.lang.String type)
      Get modules per type
      static java.lang.String getModuleVersionFromId​(java.lang.String id)
      Get module version from row ID
      static java.lang.String getModuleVersionFromName​(java.lang.String name)
      Get module version from name
      java.lang.String getName()
      Get name
      java.util.List<java.lang.String> getParentModules()
      Get module's parent modules dependencies
      static java.util.List<java.lang.String> getParentModules​(java.lang.String name)
      Get specified module's parent modules dependencies
      static org.json.JSONObject getRemotesConfiguration​(java.lang.String config)
      Get module remotes configuration as JSON object
      static org.json.JSONObject getSonarConfiguration​(java.lang.String config)
      Get module Sonar configuration as JSON object
      static java.util.List<java.lang.String> getSystemModules()
      System modules
      static java.util.List<java.lang.String> getUnitTests​(java.lang.String name)
      Get the list of the unit tests names of a module
      java.lang.String getVersion()
      Get version
      boolean hasJavaCode()
      Check whether current module has Java code
      static boolean hasJavaCode​(java.lang.String name)
      Check whether the specified module has Java code
      static boolean isSystemModule​(java.lang.String module)
      Check if a module belongs to the core system
      static boolean isSystemTable​(java.lang.String table)
      Check if a table belongs to the core repository
      static java.lang.String moduleGradleBuild​(Grant g, java.lang.String name, java.lang.String version, java.lang.String config)
      Generate a Gradle build file content for specified module
      static java.lang.String moduleGradleBuild​(ObjectDB mdl)
      Generate a Gradle build file content for specified module
      static java.lang.String modulePOM​(Grant g, java.lang.String name, java.lang.String version, java.lang.String config)
      Generate a Maven module-level POM file content for specified module
      static java.lang.String modulePOM​(ObjectDB mdl)
      Generate a Maven module-level POM file content for specified module
      static java.util.List<java.lang.String> notSystemModuleObjectList()
      Get all objects which have a link to module and role 'module', 'system' are ignored.
      java.lang.String openAPI​(int spec, boolean json)
      Generate OpenAPI/Swagger schema
      static java.lang.String projectImportSpec​(ObjectDB mdl)
      Generate a import specification file content specified module and its child modules
      static java.lang.String projectImportSpec​(java.lang.String name)
      Generate a import specification file content specified module and its child modules
      static java.lang.String projectImportSpec​(java.lang.String name, java.lang.String format)
      Generate a import specification file content specified module and its child modules
      static java.lang.String projectPOM​(Grant g, java.lang.String name, java.lang.String version, java.lang.String config)
      Generate a Maven project-level POM file content for specified module and its child modules
      static java.lang.String projectPOM​(ObjectDB mdl)
      Generate a Maven project-level POM file content for specified module and its child modules
      static java.util.List<java.lang.String[]> selectAllModuleObjectList()
      Get all objects which have a link to module
      static java.util.List<java.lang.String[]> selectAllModuleObjectList​(java.lang.String obj, java.lang.String role)
      Get all objects which have a link to module
      • Methods inherited from class java.lang.Object

        equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • POM_HEADER

        public static final java.lang.String POM_HEADER
        POM file header
        See Also:
        Constant Field Values
      • POM_FOOTER

        public static final java.lang.String POM_FOOTER
        POM file footer
        See Also:
        Constant Field Values
    • Constructor Detail

      • ModuleDB

        public ModuleDB​(java.lang.String id,
                        java.lang.String name,
                        java.lang.String version)
        Constructor
        Parameters:
        id - ID
        name - Name
        version - Version
      • ModuleDB

        public ModuleDB​(java.lang.String id,
                        java.lang.String name,
                        java.lang.String version,
                        java.lang.String config,
                        java.lang.String comments,
                        java.lang.String date)
        Constructor
        Parameters:
        id - ID
        name - Name
        version - Version
        config - Configuration
        comments - Comments
        date - Date
      • ModuleDB

        public ModuleDB​(ObjectDB mdl)
        Constructor
        Parameters:
        mdl - Module object
    • Method Detail

      • getId

        public java.lang.String getId()
        Get ID
        Returns:
        ID
      • getName

        public java.lang.String getName()
        Get name
        Returns:
        Name
      • getVersion

        public java.lang.String getVersion()
        Get version
        Returns:
        Version
      • getConfiguration

        public java.lang.String getConfiguration()
        Get configuration
        Returns:
        Configuration
      • getComments

        public java.lang.String getComments()
        Get comments
        Returns:
        Comments
      • getLastUpdate

        @Deprecated(forRemoval=true,
                    since="4.0")
        public java.lang.String getLastUpdate()
        Deprecated, for removal: This API element is subject to removal in a future version.
      • getDate

        public java.lang.String getDate()
        Get date
        Returns:
        Date
      • createModule

        public static java.lang.String createModule​(java.lang.String name,
                                                    java.lang.String version,
                                                    java.lang.String type,
                                                    java.lang.String desc,
                                                    java.lang.String settings,
                                                    java.lang.String prefix)
        Create module for specified name and version number
        Parameters:
        name - Module name
        version - Optional version number (defaults to Globals.DEFAULT_MODULE_VERSION
        type - Optional type
        desc - Optional description
        settings - Optional settings
        prefix - Optional prefix
        Returns:
        Module ID
      • getModuleName

        public static java.lang.String getModuleName​(java.lang.String id)
        Returns module name for specified ID
        Parameters:
        id - Module row ID
        Returns:
        Module name if exists or null
      • getModuleId

        public static java.lang.String getModuleId​(java.lang.String name)
        Returns module ID for specified name
        Parameters:
        name - Module name
        Returns:
        Module ID or null s
      • getModuleId

        public static java.lang.String getModuleId​(java.lang.String name,
                                                   boolean create)
        Returns module ID for specified name
        Parameters:
        name - Module name
        create - Create module if not exists?
        Returns:
        Module ID
      • getModuleVersionFromId

        public static java.lang.String getModuleVersionFromId​(java.lang.String id)
        Get module version from row ID
        Parameters:
        id - Module ID
        Returns:
        Module version
      • getModuleVersionFromName

        public static java.lang.String getModuleVersionFromName​(java.lang.String name)
        Get module version from name
        Parameters:
        name - Module name
        Returns:
        Module version
      • getChildModules

        public static java.util.List<java.lang.String> getChildModules​(java.lang.String name)
        Get specified module's children modules dependencies
        Parameters:
        name - Parent module name
        Returns:
        List of children modules
      • getChildModules

        public java.util.List<java.lang.String> getChildModules()
        Get module's children modules dependencies
        Returns:
        List of children modules
      • getParentModules

        public static java.util.List<java.lang.String> getParentModules​(java.lang.String name)
        Get specified module's parent modules dependencies
        Parameters:
        name - Child module name
        Returns:
        List of parent modules
      • getParentModules

        public java.util.List<java.lang.String> getParentModules()
        Get module's parent modules dependencies
        Returns:
        List of children modules
      • openAPI

        public java.lang.String openAPI​(int spec,
                                        boolean json)
        Generate OpenAPI/Swagger schema
        Parameters:
        spec - OpenAPI specification (one of JSONTool.OPENAPI_OAS*)
      • hasJavaCode

        public static boolean hasJavaCode​(java.lang.String name)
        Check whether the specified module has Java code
        Parameters:
        name - Module name
        Returns:
        True if module has Java code
      • hasJavaCode

        public boolean hasJavaCode()
        Check whether current module has Java code
        Returns:
        True if module has Java code
      • getConfiguration

        public static org.json.JSONObject getConfiguration​(java.lang.String config)
                                                    throws java.lang.Exception
        Get module configuration as JSON object
        Parameters:
        config - Module configuration string
        Returns:
        JSON object (empty if configuration is empty or not parsable)
        Throws:
        java.lang.Exception
      • getRemotesConfiguration

        public static org.json.JSONObject getRemotesConfiguration​(java.lang.String config)
        Get module remotes configuration as JSON object
        Parameters:
        config - Module configuration string
        Returns:
        JSON object
      • getBranchConfiguration

        public static java.lang.String getBranchConfiguration​(java.lang.String config)
        Get branch configuration
        Parameters:
        config - Module configuration string
        Returns:
        Branch name
      • getBranchConfiguration

        public static java.lang.String getBranchConfiguration​(org.json.JSONObject config)
        Get branch configuration
        Parameters:
        config - Module configuration JSON object
        Returns:
        Branch name
      • getMavenConfiguration

        public static org.json.JSONObject getMavenConfiguration​(java.lang.String config)
        Get module Maven configuration as JSON object
        Parameters:
        config - Module configuration string
        Returns:
        JSON object
      • getSonarConfiguration

        public static org.json.JSONObject getSonarConfiguration​(java.lang.String config)
        Get module Sonar configuration as JSON object
        Parameters:
        config - Module configuration string
        Returns:
        JSON object
      • selectAllModuleObjectList

        public static java.util.List<java.lang.String[]> selectAllModuleObjectList()
        Get all objects which have a link to module
        Returns:
        List of objects with link to module
      • selectAllModuleObjectList

        public static java.util.List<java.lang.String[]> selectAllModuleObjectList​(java.lang.String obj,
                                                                                   java.lang.String role)
        Get all objects which have a link to module
        Parameters:
        obj - optional object name
        role - optional role OBJ, SYS, MDL...
        Returns:
        List of objects with link to module
      • notSystemModuleObjectList

        public static java.util.List<java.lang.String> notSystemModuleObjectList()
        Get all objects which have a link to module and role 'module', 'system' are ignored.
        Returns:
        List of non system module's objects
      • getSystemModules

        public static java.util.List<java.lang.String> getSystemModules()
        System modules
      • getAddonModules

        public static java.util.List<java.lang.String> getAddonModules()
        Addon modules
      • getModules

        public static java.util.List<java.lang.String> getModules​(java.lang.String type)
        Get modules per type
        Parameters:
        type - Type from MDL_TYPE
        Returns:
        List of names
      • isSystemModule

        public static boolean isSystemModule​(java.lang.String module)
        Check if a module belongs to the core system
        Parameters:
        module - Module name
        Returns:
        True if module is a core system module
      • isSystemTable

        public static boolean isSystemTable​(java.lang.String table)
        Check if a table belongs to the core repository
        Parameters:
        table - Table name
        Returns:
        True if contains a row module ID column
      • applyConfiguration

        public static java.lang.String applyConfiguration​(ObjectDB mdl,
                                                          boolean force)
        Apply Git configuration
        Parameters:
        mdl - Module
        force - Force apply?
        Returns:
        Message
      • applyConfiguration

        @Deprecated(forRemoval=false,
                    since="5")
        public static java.lang.String applyConfiguration​(ObjectDB mdl)
        Deprecated.
        Use applyConfiguration with force argument
      • modulePOM

        public static java.lang.String modulePOM​(ObjectDB mdl)
        Generate a Maven module-level POM file content for specified module
        Parameters:
        mdl - Module object
        Returns:
        Project POM file content
      • modulePOM

        public static java.lang.String modulePOM​(Grant g,
                                                 java.lang.String name,
                                                 java.lang.String version,
                                                 java.lang.String config)
        Generate a Maven module-level POM file content for specified module
        Parameters:
        g - Grant
        name - Module name
        version - Module version
        config - Module configuration
        Returns:
        Project POM file content
      • projectPOM

        public static java.lang.String projectPOM​(ObjectDB mdl)
        Generate a Maven project-level POM file content for specified module and its child modules
        Parameters:
        mdl - Module object
        Returns:
        Project POM file content
      • projectPOM

        public static java.lang.String projectPOM​(Grant g,
                                                  java.lang.String name,
                                                  java.lang.String version,
                                                  java.lang.String config)
        Generate a Maven project-level POM file content for specified module and its child modules
        Parameters:
        g - Grant
        name - Module name
        version - Module version
        config - Module configuration
        Returns:
        Project POM file content
      • getDatasets

        public static java.util.List<java.lang.String> getDatasets​(java.lang.String name)
        Get the list of the dataset names of a module
        Parameters:
        name - Module name
        Returns:
        List of the dataset names of the module
      • getUnitTests

        public static java.util.List<java.lang.String> getUnitTests​(java.lang.String name)
        Get the list of the unit tests names of a module
        Parameters:
        name - Module name
        Returns:
        List of the unit tests names of the module
      • projectImportSpec

        public static java.lang.String projectImportSpec​(ObjectDB mdl)
        Generate a import specification file content specified module and its child modules
        Parameters:
        mdl - Module object
        Returns:
        Import specification file content
      • projectImportSpec

        public static java.lang.String projectImportSpec​(java.lang.String name)
        Generate a import specification file content specified module and its child modules
        Parameters:
        name - Module name
        Returns:
        Import specification file content
      • projectImportSpec

        public static java.lang.String projectImportSpec​(java.lang.String name,
                                                         java.lang.String format)
        Generate a import specification file content specified module and its child modules
        Parameters:
        name - Module name
        format - Format : json (default) or yaml
        Returns:
        Import specification file content
      • moduleGradleBuild

        public static java.lang.String moduleGradleBuild​(ObjectDB mdl)
        Generate a Gradle build file content for specified module
        Parameters:
        mdl - Module object
        Returns:
        Gradle build file content
      • moduleGradleBuild

        public static java.lang.String moduleGradleBuild​(Grant g,
                                                         java.lang.String name,
                                                         java.lang.String version,
                                                         java.lang.String config)
        Generate a Gradle build file content for specified module
        Parameters:
        g - Grant
        name - Module name
        version - Module version
        config - Module configuration
        Returns:
        Gradle build file content
      • buildModuleInfo

        public void buildModuleInfo​(java.lang.String dir,
                                    java.lang.String format,
                                    java.util.List<java.lang.String> files)
                             throws java.io.IOException
        Build module info file
        Parameters:
        dir - Directory
        format - Format
        files - Optional list of configuration files
        Throws:
        java.io.IOException
      • buildModuleArtifacts

        public void buildModuleArtifacts​(Grant g,
                                         java.lang.String dir,
                                         java.lang.String format)
                                  throws java.io.IOException
        Build module artifacts
        Parameters:
        g - Grant
        dir - Directory
        format - Format
        Throws:
        java.io.IOException
      • buildSQL

        public void buildSQL​(Grant g)
        Generates SQL scripts (for all DB vendors) for specified module
        Parameters:
        g - Grant