Package com.simplicite.util
Class ModuleDB
- java.lang.Object
-
- com.simplicite.util.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 footerstatic java.lang.String
POM_HEADER
POM file header
-
Constructor Summary
Constructors Constructor Description ModuleDB(ObjectDB mdl)
ConstructorModuleDB(java.lang.String id, java.lang.String name, java.lang.String version)
ConstructorModuleDB(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 argumentstatic java.lang.String
applyConfiguration(ObjectDB mdl, boolean force)
Apply Git configurationvoid
buildModuleArtifacts(Grant g, java.lang.String dir, java.lang.String format)
Build module artifactsvoid
buildModuleInfo(java.lang.String dir, java.lang.String format, java.util.List<java.lang.String> files)
Build module info filevoid
buildSQL(Grant g)
Generates SQL scripts (for all DB vendors) for specified modulestatic 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 numberstatic java.util.List<java.lang.String>
getAddonModules()
Addon modulesstatic java.lang.String
getBranchConfiguration(java.lang.String config)
Get branch configurationjava.util.List<java.lang.String>
getChildModules()
Get module's children modules dependenciesstatic java.util.List<java.lang.String>
getChildModules(java.lang.String name)
Get specified module's children modules dependenciesjava.lang.String
getComments()
Get commentsjava.lang.String
getConfiguration()
Get configurationstatic org.json.JSONObject
getConfiguration(java.lang.String config)
Get module configuration as JSON objectstatic java.util.List<java.lang.String>
getDatasets(java.lang.String name)
Get the list of the dataset names of a modulejava.lang.String
getDate()
Get datejava.lang.String
getId()
Get IDjava.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 objectstatic java.lang.String
getModuleId(java.lang.String name)
Returns module ID for specified namestatic java.lang.String
getModuleId(java.lang.String name, boolean create)
Returns module ID for specified namestatic java.lang.String
getModuleName(java.lang.String id)
Returns module name for specified IDstatic java.util.List<java.lang.String>
getModules(java.lang.String type)
Get modules per typestatic java.lang.String
getModuleVersionFromId(java.lang.String id)
Get module version from row IDstatic java.lang.String
getModuleVersionFromName(java.lang.String name)
Get module version from namejava.lang.String
getName()
Get namejava.util.List<java.lang.String>
getParentModules()
Get module's parent modules dependenciesstatic java.util.List<java.lang.String>
getParentModules(java.lang.String name)
Get specified module's parent modules dependenciesstatic org.json.JSONObject
getRemotesConfiguration(java.lang.String config)
Get module remotes configuration as JSON objectstatic org.json.JSONObject
getSonarConfiguration(java.lang.String config)
Get module Sonar configuration as JSON objectstatic java.util.List<java.lang.String>
getSystemModules()
System modulesstatic java.util.List<java.lang.String>
getUnitTests(java.lang.String name)
Get the list of the unit tests names of a modulejava.lang.String
getVersion()
Get versionboolean
hasJavaCode()
Check whether current module has Java codestatic boolean
hasJavaCode(java.lang.String name)
Check whether the specified module has Java codestatic boolean
isSystemModule(java.lang.String module)
Check if a module belongs to the core systemstatic boolean
isSystemTable(java.lang.String table)
Check if a table belongs to the core repositorystatic 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 modulestatic java.lang.String
moduleGradleBuild(ObjectDB mdl)
Generate a Gradle build file content for specified modulestatic 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 modulestatic java.lang.String
modulePOM(ObjectDB mdl)
Generate a Maven module-level POM file content for specified modulestatic 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 schemastatic java.lang.String
projectImportSpec(ObjectDB mdl)
Generate a import specification file content specified module and its child modulesstatic java.lang.String
projectImportSpec(java.lang.String name)
Generate a import specification file content specified module and its child modulesstatic java.lang.String
projectImportSpec(java.lang.String name, java.lang.String format)
Generate a import specification file content specified module and its child modulesstatic 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 modulesstatic java.lang.String
projectPOM(ObjectDB mdl)
Generate a Maven project-level POM file content for specified module and its child modulesstatic java.util.List<java.lang.String[]>
selectAllModuleObjectList()
Get all objects which have a link to modulestatic java.util.List<java.lang.String[]>
selectAllModuleObjectList(java.lang.String obj, java.lang.String role)
Get all objects which have a link to module
-
-
-
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
- IDname
- Nameversion
- 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
- IDname
- Nameversion
- Versionconfig
- Configurationcomments
- Commentsdate
- 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 nameversion
- Optional version number (defaults toGlobals.DEFAULT_MODULE_VERSION
type
- Optional typedesc
- Optional descriptionsettings
- Optional settingsprefix
- 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 namecreate
- 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
-
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 namerole
- 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
- Moduleforce
- 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
- Grantname
- Module nameversion
- Module versionconfig
- 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
- Grantname
- Module nameversion
- Module versionconfig
- 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 nameformat
- 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
- Grantname
- Module nameversion
- Module versionconfig
- 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
- Directoryformat
- Formatfiles
- 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
- Grantdir
- Directoryformat
- Format- Throws:
java.io.IOException
-
buildSQL
public void buildSQL(Grant g)
Generates SQL scripts (for all DB vendors) for specified module- Parameters:
g
- Grant
-
-