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
-
-
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
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 J2E 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
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
-
-
-
Method Detail
-
getSrcDir
public static java.lang.String getSrcDir()
Get default sources directory
-
getBinDir
public static java.lang.String getBinDir()
Get default binaries directory
-
getBuildDir
public static java.lang.String getBuildDir()
Get default build directory
-
getJarDir
public static java.lang.String getJarDir()
Get 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- 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- 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- 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
-
getClassPath
public static java.lang.String getClassPath(boolean force)
Get classpath including J2E libs, JDBC drivers and all third party libs- Parameters:
force
- Force scanning all jar from server and webapp
-
getBasePathFromClassName
public static java.lang.String getBasePathFromClassName(java.lang.String className)
Get base path from class name
-
getSourcePathFromClassName
public static java.lang.String getSourcePathFromClassName(java.lang.String className)
Get source path from class name
-
getBinaryPathFromClassName
public static java.lang.String getBinaryPathFromClassName(java.lang.String className)
Get 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
-
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
-
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
-
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
-
getBusinessObjectClassName
public static java.lang.String getBusinessObjectClassName(ObjectDB obj)
Get class name for business object- Parameters:
obj
- Business object
-
getBusinessObjectSourcePath
public static java.lang.String getBusinessObjectSourcePath(ObjectDB obj)
Get source relative path for business object- Parameters:
obj
- Business object
-
getBusinessObjectBinaryPath
public static java.lang.String getBusinessObjectBinaryPath(ObjectDB obj)
Get binary relative path for business object- Parameters:
obj
- 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?
-
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
-
getWorkflowClassName
public static java.lang.String getWorkflowClassName(java.lang.String module, java.lang.String name)
Alias to getBusinessProcessClassName
-
getProcessClassName
public static java.lang.String getProcessClassName(ObjectDB pcs)
Get class name for business process- Parameters:
pcs
- Business process
-
getProcessSourcePath
public static java.lang.String getProcessSourcePath(ObjectDB pcs)
Get source relative path for business process- Parameters:
pcs
- Business process
-
getProcessBinaryPath
public static java.lang.String getProcessBinaryPath(ObjectDB pcs)
Get binary relative path for business process- Parameters:
pcs
- 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?
-
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
-
getExternalObjectClassName
public static java.lang.String getExternalObjectClassName(ObjectDB ext)
Get class name for external object- Parameters:
ext
- External object
-
getExternalObjectSourcePath
public static java.lang.String getExternalObjectSourcePath(ObjectDB ext)
Get source relative path for external object- Parameters:
ext
- External object
-
getExternalObjectBinaryPath
public static java.lang.String getExternalObjectBinaryPath(ObjectDB ext)
Get binary relative path for external object- Parameters:
ext
- 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?
-
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
-
getDispositionClassName
public static java.lang.String getDispositionClassName(ObjectDB dis)
Get Java class name for disposition- Parameters:
dis
- Disposition
-
getDispositionBasePath
public static java.lang.String getDispositionBasePath(ObjectDB dis)
Get base relative path for disposition- Parameters:
dis
- Disposition
-
getDispositionSourcePath
public static java.lang.String getDispositionSourcePath(ObjectDB dis)
Get source relative path for disposition- Parameters:
dis
- Disposition
-
getDispositionBinaryPath
public static java.lang.String getDispositionBinaryPath(ObjectDB dis)
Get binary relative path for disposition- Parameters:
dis
- Disposition
-
compileDispositionAndLoadClass
public static java.lang.String compileDispositionAndLoadClass(ObjectDB dis, boolean force)
Compile and load class for disposition- Parameters:
dis
- Dispositionforce
- Force?
-
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
-
getAdapterClassName
public static java.lang.String getAdapterClassName(ObjectDB adp)
Get class name for adapter- Parameters:
adp
- Adapter
-
getAdapterBasePath
public static java.lang.String getAdapterBasePath(ObjectDB adp)
Get base relative path for disposition- Parameters:
adp
- Business process
-
getAdapterSourcePath
public static java.lang.String getAdapterSourcePath(ObjectDB adp)
Get source relative path for business process- Parameters:
adp
- Business process
-
getAdapterBinaryPath
public static java.lang.String getAdapterBinaryPath(ObjectDB adp)
Get binary relative path for business process- Parameters:
adp
- Business process
-
compileAdapterAndLoadClass
public static java.lang.String compileAdapterAndLoadClass(ObjectDB adp, boolean force)
Compile and load class for adapter- Parameters:
adp
- Adapterforce
- Force?
-
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
-
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
-
getSharedCodeClassName
public static java.lang.String getSharedCodeClassName(ObjectDB scr)
Get class name for shared code- Parameters:
scr
- Shared code
-
getSharedCodeBasePath
public static java.lang.String getSharedCodeBasePath(ObjectDB scr)
Get base relative path for disposition- Parameters:
scr
- Shared code
-
getSharedCodeSourcePath
public static java.lang.String getSharedCodeSourcePath(ObjectDB scr)
Get source relative path for shared code- Parameters:
scr
- Shared code
-
getSharedCodeBinaryPath
public static java.lang.String getSharedCodeBinaryPath(ObjectDB scr)
Get binary relative path for shared code- Parameters:
scr
- 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?
-
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- Throws:
java.io.IOException
-
getCompiler
public static javax.tools.JavaCompiler getCompiler() throws JavaCompilationException
Get Java compiler- Returns:
- Java compiler
- Throws:
JavaCompilationException
- 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?
-
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?
-
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?
-
isJavaSource
public static boolean isJavaSource(java.lang.String docId)
Is document a Java source- Parameters:
docId
- Document ID
-
isJavaSource
public static boolean isJavaSource(DocumentDB doc)
Is document a Java source- Parameters:
doc
- Document
-
isJavaArchive
public static boolean isJavaArchive(DocumentDB doc)
Is document a Java archive (JAR)- Parameters:
doc
- Document
-
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
-
-