Package com.simplicite.util.tools
Class JavaTool
- java.lang.Object
-
- com.simplicite.util.tools.JavaTool
-
public class JavaTool extends java.lang.Object
Java toolbox
This class only provides static variables and methods
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
COMPILER_NOT_AVAILABLE
Compiler not available messagestatic java.lang.String
JAVACOMPILATION
Java compilation error message prefixstatic java.lang.String
NO_COMPILE
Java compilation error message prefix
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static java.lang.String
buildJar(java.lang.String binDir, java.lang.String jarPath, java.lang.String version)
Build a single jar with all source in bin directorystatic java.lang.String
buildJar(java.lang.String binDir, java.util.List<java.lang.String> paths, java.lang.String jarPath, java.lang.String version)
Build a single jar with specified sources in the bin directorystatic boolean
cleanSrcAndBinDirs()
Clean default sources and binaries directoriesstatic java.lang.String
compile(java.lang.String srcDir, java.lang.String binDir, java.lang.String file)
Compile Java filesstatic java.lang.String
compile(java.lang.String srcDir, java.lang.String binDir, java.lang.String[] files)
Compile Java file(s)static java.lang.String
compile(java.lang.String srcDir, java.lang.String binDir, java.lang.String cn, byte[] src, boolean force)
Compile class from sourcestatic java.lang.String
compileAdapterAndLoadClass(ObjectDB adp, boolean force)
Compile and load class for adapterstatic java.util.List<java.lang.String>
compileAndGetClassFiles(java.lang.String srcDir, java.lang.String binDir, boolean force)
Compile files and get classstatic java.lang.String
compileAndLoadClass(Grant g, java.lang.String cn, java.lang.String docId, boolean force)
Compile and load class from document IDstatic java.lang.String
compileAndLoadClass(java.lang.String cn, byte[] src, boolean force)
Compile and load class from sourcestatic java.lang.String
compileAndLoadClass(java.lang.String cn, DocumentDB doc, boolean force)
Compile and load class from documentstatic java.lang.String
compileAndLoadClass(java.lang.String srcDir, java.lang.String binDir, java.lang.String cn, byte[] src, boolean force)
Compile and load class from sourcestatic java.lang.String
compileBusinessObjectAndLoadClass(ObjectDB obj, boolean force)
Compile and load class for business objectstatic java.lang.String
compileDispositionAndLoadClass(ObjectDB dis, boolean force)
Compile and load class for dispositionstatic java.lang.String
compileExternalObjectAndLoadClass(ObjectDB ext, boolean force)
Compile and load class for external objectstatic java.lang.String
compileProcessAndLoadClass(ObjectDB pcs, boolean force)
Compile and load class for business processstatic java.lang.String
compileSharedCodeAndLoadClass(ObjectDB scr, boolean force)
Compile and load class for shared codestatic java.lang.String
format(java.lang.String source)
Format Java code (using Google Java Formatter)static java.lang.String
getAdapterBasePath(ObjectDB adp)
Get base relative path for dispositionstatic java.lang.String
getAdapterBinaryPath(ObjectDB adp)
Get binary relative path for business processstatic java.lang.String
getAdapterClassName(ObjectDB adp)
Get class name for adapterstatic java.lang.String
getAdapterClassName(java.lang.String module, java.lang.String name)
Get class name for adapterstatic java.lang.String
getAdapterSourcePath(ObjectDB adp)
Get source relative path for business processstatic java.lang.String
getBasePathFromClassName(java.lang.String className)
Get base path from class namestatic java.lang.String
getBinaryPathFromClassName(java.lang.String className)
Get source path from class namestatic java.lang.String
getBinDir()
Get default binaries directorystatic java.lang.String
getBuildDir()
Get default build directorystatic java.lang.String
getBusinessObjectBinaryPath(ObjectDB obj)
Get binary relative path for business objectstatic java.lang.String
getBusinessObjectClassName(ObjectDB obj)
Get class name for business objectstatic java.lang.String
getBusinessObjectClassName(java.lang.String module, java.lang.String name)
Get class name for business objectstatic java.lang.String
getBusinessObjectSourcePath(ObjectDB obj)
Get source relative path for business objectstatic java.lang.String
getBusinessProcessClassName(java.lang.String module, java.lang.String name)
Get class name for business processstatic java.lang.Class<?>
getClass(java.lang.String name)
Get a class from namestatic java.lang.String
getClassNameFromBinaryPath(java.lang.String path, java.lang.String dir)
Get class name from source pathstatic java.lang.String
getClassNameFromSourcePath(java.lang.String path, java.lang.String dir)
Get class name from source pathstatic java.lang.String
getClassPath(boolean force)
Get classpath including application server libs, JDBC drivers and all third party libsstatic java.net.URL[]
getClassPathItems()
Get classpath items from URL class loaderstatic javax.tools.JavaCompiler
getCompiler()
Get Java compilerstatic java.lang.String
getConfigurationObjectClassName(java.lang.String pkg, java.lang.String module, java.lang.String name)
Get class name for configuration objectstatic java.lang.String
getDispositionBasePath(ObjectDB dis)
Get base relative path for dispositionstatic java.lang.String
getDispositionBinaryPath(ObjectDB dis)
Get binary relative path for dispositionstatic java.lang.String
getDispositionClassName(ObjectDB dis)
Get Java class name for dispositionstatic java.lang.String
getDispositionClassName(java.lang.String module, java.lang.String name)
Get class name for dispositionstatic java.lang.String
getDispositionSourcePath(ObjectDB dis)
Get source relative path for dispositionstatic java.lang.String
getExternalObjectBinaryPath(ObjectDB ext)
Get binary relative path for external objectstatic java.lang.String
getExternalObjectClassName(ObjectDB ext)
Get class name for external objectstatic java.lang.String
getExternalObjectClassName(java.lang.String module, java.lang.String name)
Get class name for external objectstatic java.lang.String
getExternalObjectSourcePath(ObjectDB ext)
Get source relative path for external objectstatic java.lang.String
getJarDir()
Get default shared lib directorystatic DocumentDB
getJavaDocument(Grant g, java.lang.String docId)
Get document or null if not a Java source documentstatic java.lang.String
getModuleClassName(java.lang.String module)
Get class name for modulestatic java.lang.String
getProcessBinaryPath(ObjectDB pcs)
Get binary relative path for business processstatic java.lang.String
getProcessClassName(ObjectDB pcs)
Get class name for business processstatic java.lang.String
getProcessSourcePath(ObjectDB pcs)
Get source relative path for business processstatic java.lang.String
getSharedCodeBasePath(ObjectDB scr)
Get base relative path for dispositionstatic java.lang.String
getSharedCodeBinaryPath(ObjectDB scr)
Get binary relative path for shared codestatic java.lang.String
getSharedCodeClassName(ObjectDB scr)
Get class name for shared codestatic java.lang.String
getSharedCodeClassName(java.lang.String module, java.lang.String name)
Get class name for shared codestatic java.lang.String
getSharedCodeSourcePath(ObjectDB scr)
Get source relative path for shared codestatic java.lang.String
getSourcePathFromClassName(java.lang.String className)
Get source path from class namestatic java.lang.String
getSrcDir()
Get default sources directorystatic java.lang.String
getTestSharedCodeClassName(java.lang.String module, java.lang.String name)
Get class name for test shared codestatic java.lang.String
getWorkflowClassName(java.lang.String module, java.lang.String name)
Alias to getBusinessProcessClassNamestatic boolean
isJavaArchive(DocumentDB doc)
Is document a Java archive (JAR)static boolean
isJavaSource(DocumentDB doc)
Is document a Java sourcestatic boolean
isJavaSource(java.lang.String docId)
Is document a Java sourcestatic java.lang.Object
run(java.lang.Class<?> cls, java.lang.String method)
Run methodstatic java.lang.Object
run(java.lang.Class<?> cls, java.lang.String method, java.lang.Object[] args)
Run methodstatic java.lang.Object
run(java.lang.Class<?> cls, java.lang.String method, java.util.List<java.lang.Object> args)
Run methodstatic void
runMain(java.lang.Class<?> cls, java.lang.String method, java.lang.String[] args)
Run methodstatic void
runMain(java.lang.Class<?> cls, java.lang.String method, java.util.List<java.lang.String> args)
Run method
-
-
-
Field Detail
-
JAVACOMPILATION
public static final java.lang.String JAVACOMPILATION
Java compilation error message prefix- See Also:
- Constant Field Values
-
COMPILER_NOT_AVAILABLE
public static final java.lang.String COMPILER_NOT_AVAILABLE
Compiler not available message- See Also:
- Constant Field Values
-
NO_COMPILE
public static final java.lang.String NO_COMPILE
Java compilation error message prefix- See Also:
- Constant Field Values
-
-
Method Detail
-
getSrcDir
public static java.lang.String getSrcDir()
Get default sources directory- Returns:
- Default sources directory
-
getBinDir
public static java.lang.String getBinDir()
Get default binaries directory- Returns:
- Default binaries directory
-
getBuildDir
public static java.lang.String getBuildDir()
Get default build directory- Returns:
- Default build directory
-
getJarDir
public static java.lang.String getJarDir()
Get default shared lib directory- Returns:
- Default shared lib directory
-
cleanSrcAndBinDirs
public static boolean cleanSrcAndBinDirs()
Clean default sources and binaries directories- Returns:
- false if deletion of one of the dirs failed
-
run
public static java.lang.Object run(java.lang.Class<?> cls, java.lang.String method) throws java.lang.Exception
Run method- Parameters:
cls
- Classmethod
- Method- Returns:
- Method result
- Throws:
java.lang.Exception
-
run
public static java.lang.Object run(java.lang.Class<?> cls, java.lang.String method, java.util.List<java.lang.Object> args) throws java.lang.Exception
Run method- Parameters:
cls
- Classmethod
- Methodargs
- List of object arguments- Returns:
- Method result
- Throws:
java.lang.Exception
-
run
public static java.lang.Object run(java.lang.Class<?> cls, java.lang.String method, java.lang.Object[] args) throws java.lang.Exception
Run method- Parameters:
cls
- Classmethod
- Methodargs
- Array of object arguments- Returns:
- Method result
- Throws:
java.lang.Exception
-
runMain
public static void runMain(java.lang.Class<?> cls, java.lang.String method, java.util.List<java.lang.String> args) throws java.lang.Exception
Run method- Parameters:
cls
- Classmethod
- Methodargs
- List of string arguments- Throws:
java.lang.Exception
-
runMain
public static void runMain(java.lang.Class<?> cls, java.lang.String method, java.lang.String[] args) throws java.lang.Exception
Run method- Parameters:
cls
- Classmethod
- Methodargs
- Array of string arguments- Throws:
java.lang.Exception
-
getClassPathItems
public static java.net.URL[] getClassPathItems()
Get classpath items from URL class loader- Returns:
- Classpath items from URL class loader
-
getClassPath
public static java.lang.String getClassPath(boolean force)
Get classpath including application server libs, JDBC drivers and all third party libs- Parameters:
force
- Force scanning all jar from server and webapp- Returns:
- Classpath
-
getBasePathFromClassName
public static java.lang.String getBasePathFromClassName(java.lang.String className)
Get base path from class name- Returns:
- Base path from class name
-
getSourcePathFromClassName
public static java.lang.String getSourcePathFromClassName(java.lang.String className)
Get source path from class name- Returns:
- Source path from class name
-
getBinaryPathFromClassName
public static java.lang.String getBinaryPathFromClassName(java.lang.String className)
Get source path from class name- Returns:
- Source path from class name
-
getClassNameFromSourcePath
public static java.lang.String getClassNameFromSourcePath(java.lang.String path, java.lang.String dir)
Get class name from source path- Parameters:
path
- Source (.java) file pathdir
- Optional dir part of path- Returns:
- Class name
-
getClassNameFromBinaryPath
public static java.lang.String getClassNameFromBinaryPath(java.lang.String path, java.lang.String dir)
Get class name from source path- Parameters:
path
- Binary (.class) file pathdir
- Optional dir part of path- Returns:
- Class name
-
getConfigurationObjectClassName
public static java.lang.String getConfigurationObjectClassName(java.lang.String pkg, java.lang.String module, java.lang.String name)
Get class name for configuration object- Parameters:
pkg
- Packagemodule
- Module namename
- Object name- Returns:
- Class name
-
getBusinessObjectClassName
public static java.lang.String getBusinessObjectClassName(java.lang.String module, java.lang.String name)
Get class name for business object- Parameters:
module
- Module namename
- Business object name- Returns:
- Class name
-
getBusinessObjectClassName
public static java.lang.String getBusinessObjectClassName(ObjectDB obj)
Get class name for business object- Parameters:
obj
- Business object- Returns:
- Class name
-
getBusinessObjectSourcePath
public static java.lang.String getBusinessObjectSourcePath(ObjectDB obj)
Get source relative path for business object- Parameters:
obj
- Business object- Returns:
- Source relative path for business object
-
getBusinessObjectBinaryPath
public static java.lang.String getBusinessObjectBinaryPath(ObjectDB obj)
Get binary relative path for business object- Parameters:
obj
- Business object- Returns:
- Binary relative path for business object
-
compileBusinessObjectAndLoadClass
public static java.lang.String compileBusinessObjectAndLoadClass(ObjectDB obj, boolean force)
Compile and load class for business object- Parameters:
obj
- Business objectforce
- Force?- Returns:
- Compilation result (null if no error occurred)
-
getBusinessProcessClassName
public static java.lang.String getBusinessProcessClassName(java.lang.String module, java.lang.String name)
Get class name for business process- Parameters:
module
- Module namename
- Business process name- Returns:
- Class name
-
getWorkflowClassName
public static java.lang.String getWorkflowClassName(java.lang.String module, java.lang.String name)
Alias to getBusinessProcessClassName- Parameters:
module
- Module namename
- Business process name- Returns:
- Class name
-
getProcessClassName
public static java.lang.String getProcessClassName(ObjectDB pcs)
Get class name for business process- Parameters:
pcs
- Business process- Returns:
- Class name
-
getProcessSourcePath
public static java.lang.String getProcessSourcePath(ObjectDB pcs)
Get source relative path for business process- Parameters:
pcs
- Business process- Returns:
- Source relative path for business process
-
getProcessBinaryPath
public static java.lang.String getProcessBinaryPath(ObjectDB pcs)
Get binary relative path for business process- Parameters:
pcs
- Business process- Returns:
- Binary relative path for business process
-
compileProcessAndLoadClass
public static java.lang.String compileProcessAndLoadClass(ObjectDB pcs, boolean force)
Compile and load class for business process- Parameters:
pcs
- Business processforce
- Force?- Returns:
- Compilation result (null if no error occurred)
-
getExternalObjectClassName
public static java.lang.String getExternalObjectClassName(java.lang.String module, java.lang.String name)
Get class name for external object- Parameters:
module
- Module namename
- External object name- Returns:
- Class name
-
getExternalObjectClassName
public static java.lang.String getExternalObjectClassName(ObjectDB ext)
Get class name for external object- Parameters:
ext
- External object- Returns:
- Class name
-
getExternalObjectSourcePath
public static java.lang.String getExternalObjectSourcePath(ObjectDB ext)
Get source relative path for external object- Parameters:
ext
- External object- Returns:
- Source relative path for external object
-
getExternalObjectBinaryPath
public static java.lang.String getExternalObjectBinaryPath(ObjectDB ext)
Get binary relative path for external object- Parameters:
ext
- External object- Returns:
- Binary relative path for external object
-
compileExternalObjectAndLoadClass
public static java.lang.String compileExternalObjectAndLoadClass(ObjectDB ext, boolean force)
Compile and load class for external object- Parameters:
ext
- External objectforce
- Force?- Returns:
- Compilation result (null if no error occurred)
-
getDispositionClassName
public static java.lang.String getDispositionClassName(java.lang.String module, java.lang.String name)
Get class name for disposition- Parameters:
module
- Module namename
- Disposition name- Returns:
- Class name
-
getDispositionClassName
public static java.lang.String getDispositionClassName(ObjectDB dis)
Get Java class name for disposition- Parameters:
dis
- Disposition- Returns:
- Class name
-
getDispositionBasePath
public static java.lang.String getDispositionBasePath(ObjectDB dis)
Get base relative path for disposition- Parameters:
dis
- Disposition- Returns:
- Base relative path for disposition
-
getDispositionSourcePath
public static java.lang.String getDispositionSourcePath(ObjectDB dis)
Get source relative path for disposition- Parameters:
dis
- Disposition- Returns:
- Source relative path for disposition
-
getDispositionBinaryPath
public static java.lang.String getDispositionBinaryPath(ObjectDB dis)
Get binary relative path for disposition- Parameters:
dis
- Disposition- Returns:
- Binary relative path for disposition
-
compileDispositionAndLoadClass
public static java.lang.String compileDispositionAndLoadClass(ObjectDB dis, boolean force)
Compile and load class for disposition- Parameters:
dis
- Dispositionforce
- Force?- Returns:
- Compilation result (null if no error occurred)
-
getAdapterClassName
public static java.lang.String getAdapterClassName(java.lang.String module, java.lang.String name)
Get class name for adapter- Parameters:
module
- Module namename
- Adapter name- Returns:
- Class name
-
getAdapterClassName
public static java.lang.String getAdapterClassName(ObjectDB adp)
Get class name for adapter- Parameters:
adp
- Adapter- Returns:
- Class name
-
getAdapterBasePath
public static java.lang.String getAdapterBasePath(ObjectDB adp)
Get base relative path for disposition- Parameters:
adp
- Business process- Returns:
- Base relative path for disposition
-
getAdapterSourcePath
public static java.lang.String getAdapterSourcePath(ObjectDB adp)
Get source relative path for business process- Parameters:
adp
- Business process- Returns:
- Source relative path for business process
-
getAdapterBinaryPath
public static java.lang.String getAdapterBinaryPath(ObjectDB adp)
Get binary relative path for business process- Parameters:
adp
- Business process- Returns:
- Binary relative path for business process
-
compileAdapterAndLoadClass
public static java.lang.String compileAdapterAndLoadClass(ObjectDB adp, boolean force)
Compile and load class for adapter- Parameters:
adp
- Adapterforce
- Force?- Returns:
- Compilation result (null if no error occurred)
-
getModuleClassName
public static java.lang.String getModuleClassName(java.lang.String module)
Get class name for module- Parameters:
module
- Module name- Returns:
- Class name
-
getSharedCodeClassName
public static java.lang.String getSharedCodeClassName(java.lang.String module, java.lang.String name)
Get class name for shared code- Parameters:
module
- Module namename
- Shared code name- Returns:
- Class name
-
getTestSharedCodeClassName
public static java.lang.String getTestSharedCodeClassName(java.lang.String module, java.lang.String name)
Get class name for test shared code- Parameters:
module
- Module namename
- Test shared code name- Returns:
- Class name
-
getSharedCodeClassName
public static java.lang.String getSharedCodeClassName(ObjectDB scr)
Get class name for shared code- Parameters:
scr
- Shared code- Returns:
- Class name
-
getSharedCodeBasePath
public static java.lang.String getSharedCodeBasePath(ObjectDB scr)
Get base relative path for disposition- Parameters:
scr
- Shared code- Returns:
- Base relative path for disposition
-
getSharedCodeSourcePath
public static java.lang.String getSharedCodeSourcePath(ObjectDB scr)
Get source relative path for shared code- Parameters:
scr
- Shared code- Returns:
- Source relative path for shared code
-
getSharedCodeBinaryPath
public static java.lang.String getSharedCodeBinaryPath(ObjectDB scr)
Get binary relative path for shared code- Parameters:
scr
- Shared code- Returns:
- Binary relative path for shared code
-
compileSharedCodeAndLoadClass
public static java.lang.String compileSharedCodeAndLoadClass(ObjectDB scr, boolean force)
Compile and load class for shared code- Parameters:
scr
- Shared codeforce
- Force?- Returns:
- Compilation result (null if no error occurred)
-
getJavaDocument
public static DocumentDB getJavaDocument(Grant g, java.lang.String docId) throws java.io.IOException
Get document or null if not a Java source document- Parameters:
g
- GrantdocId
- Document ID- Returns:
- Document
- Throws:
java.io.IOException
-
getCompiler
public static javax.tools.JavaCompiler getCompiler()
Get Java compiler- Returns:
- Java compiler or null if no compiler is available
-
compile
public static java.lang.String compile(java.lang.String srcDir, java.lang.String binDir, java.lang.String[] files) throws JavaCompilationException
Compile Java file(s)- Parameters:
srcDir
- Sources directory pathbinDir
- Binaries directory pathfiles
- Java source relative file paths- Returns:
- Compilation logs
- Throws:
JavaCompilationException
-
compile
public static java.lang.String compile(java.lang.String srcDir, java.lang.String binDir, java.lang.String file) throws JavaCompilationException
Compile Java files- Parameters:
srcDir
- Sources directory pathbinDir
- Binaries directory path- Returns:
- Compilation result (null if no error occurred)
- Throws:
JavaCompilationException
-
compile
public static java.lang.String compile(java.lang.String srcDir, java.lang.String binDir, java.lang.String cn, byte[] src, boolean force)
Compile class from source- Parameters:
srcDir
- Source directory (if null defaults to system source directory)binDir
- Binary directory (if null defaults to system binary directory)cn
- Class namesrc
- Class source (as byte array)force
- Force?- Returns:
- Compilation result (null if no error occurred)
-
compileAndLoadClass
public static java.lang.String compileAndLoadClass(Grant g, java.lang.String cn, java.lang.String docId, boolean force)
Compile and load class from document ID- Parameters:
g
- Grantcn
- Class namedocId
- Document IDforce
- Force?- Returns:
- Compilation result (null if no error occurred)
-
compileAndLoadClass
public static java.lang.String compileAndLoadClass(java.lang.String cn, DocumentDB doc, boolean force)
Compile and load class from document- Parameters:
cn
- Class namedoc
- Documentforce
- Force?- Returns:
- Compilation result (null if no error occurred)
-
compileAndLoadClass
public static java.lang.String compileAndLoadClass(java.lang.String cn, byte[] src, boolean force)
Compile and load class from source- Parameters:
cn
- Class namesrc
- Class source (as byte array)force
- Force?- Returns:
- Compilation result (null if no error occurred)
-
compileAndLoadClass
public static java.lang.String compileAndLoadClass(java.lang.String srcDir, java.lang.String binDir, java.lang.String cn, byte[] src, boolean force)
Compile and load class from source- Parameters:
srcDir
- Source directorybinDir
- Binary directorycn
- Class namesrc
- Class source (as byte array)force
- Force?- Returns:
- Compilation result (null if no error occurred)
-
isJavaSource
public static boolean isJavaSource(java.lang.String docId)
Is document a Java source- Parameters:
docId
- Document ID- Returns:
- True if document is a Java source
-
isJavaSource
public static boolean isJavaSource(DocumentDB doc)
Is document a Java source- Parameters:
doc
- Document- Returns:
- True if document is a Java source
-
isJavaArchive
public static boolean isJavaArchive(DocumentDB doc)
Is document a Java archive (JAR)- Parameters:
doc
- Document- Returns:
- True if document is a Java archive (JAR)
-
compileAndGetClassFiles
public static java.util.List<java.lang.String> compileAndGetClassFiles(java.lang.String srcDir, java.lang.String binDir, boolean force) throws java.io.IOException, JavaCompilationException
Compile files and get class- Parameters:
srcDir
- Source dirbinDir
- Binary dirforce
- Force?- Returns:
- List of compiled class files
- Throws:
java.io.IOException
JavaCompilationException
-
getClass
public static java.lang.Class<?> getClass(java.lang.String name)
Get a class from name- Parameters:
name
- Class name- Returns:
- null if not found in class loader
-
buildJar
public static java.lang.String buildJar(java.lang.String binDir, java.lang.String jarPath, java.lang.String version)
Build a single jar with all source in bin directory- Parameters:
binDir
- Binary directoryjarPath
- JAR path- Returns:
- JAR path
-
buildJar
public static java.lang.String buildJar(java.lang.String binDir, java.util.List<java.lang.String> paths, java.lang.String jarPath, java.lang.String version)
Build a single jar with specified sources in the bin directory- Parameters:
binDir
- Binary directorypaths
- Relative paths to class to add to jarjarPath
- JAR pathversion
- Optional version- Returns:
- JAR path
-
format
public static java.lang.String format(java.lang.String source) throws JavaFormatException
Format Java code (using Google Java Formatter)- Parameters:
source
- Java code to format- Returns:
- Formatted Java code
- Throws:
JavaFormatException
-
-