Package com.smeup.jardis.jariko.commons
Class JarikoUtils
- java.lang.Object
-
- com.smeup.jardis.jariko.commons.JarikoUtils
-
public class JarikoUtils extends Object
- Author:
- lana
-
-
Constructor Summary
Constructors Constructor Description JarikoUtils()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static voidaddUserPathsOnTheTopOfProgramFinders(List<com.smeup.rpgparser.rpginterop.RpgProgramFinder> programFinders, String localWorkspace, com.smeup.jardis.core.JardisSession jardisSession)Add on the top of the UserProgramFinder retrieved from the directories where the user will place his programs and copies, after that add the ResourceProgramFinderstatic StringclearErrorMessage(String errorMessage)Clear the errorMessage contained in ErrorEventstatic DebuggingSourcesMgrcreateDebuggingSrcMgr(com.smeup.jardis.core.dap.handler.Context context, com.smeup.jardis.core.JardisSession jardisSession)static DebuggingSourcesMgrcreateDebuggingSrcMgr(com.smeup.jardis.core.dap.handler.Context context, JarikoDebugeeContext jarikoDebugeeContext, com.smeup.jardis.core.JardisSession jardisSession)static Function<com.smeup.jardis.core.JardisSession,JarikoDebugeeContext>createDefaultContextSupplier(Path localWorkspace, Function<com.smeup.jardis.core.JardisConsts.LanguageId,String> pathForLanguageConfig)static StringcreateMD5Hash(String input)static WorkspaceMgrcreateWorkspaceMgr(com.smeup.jardis.core.Context context, com.smeup.jardis.core.JardisSession jardisSession)static com.smeup.rpgparser.parsing.facade.CopyIdextractCopyId(String pathOrName)static StringextractCopyName(String pathOrName)static StringextractCopyName(URI uri)static Collection<String>extractIssues(String errorMessage)static StringextractProgramName(String pathOrName)Extracts from parameter the program namestatic StringextractProgramName(URI uri)static JarikoLanguageConfiggetJarikoLanguageConfig(com.smeup.jardis.core.Context context)static com.smeup.rpgparser.interpreter.JarikoVersiongetJarikoVersion()static List<Path>getRpgPaths(Path localWorkspace, com.smeup.jardis.core.JardisSession jardisSession)static List<com.smeup.rpgparser.parsing.facade.SourceReference>getStatements(com.smeup.rpgparser.parsing.ast.CompilationUnit compilationUnit, String pgmName)static booleanisCopy(String pathOrName)static booleanisCopy(URI uri)static StringreadUri(URI uri)static voidremoveUserProgramFinders(List<com.smeup.rpgparser.rpginterop.RpgProgramFinder> programFinders)Remove from programFinders all instances of UserProgramFinder and ResourceProgramFinderstatic Function<String,URI>sourceUriSupplier(Supplier<List<com.smeup.rpgparser.rpginterop.RpgProgramFinder>> programFinders)Provides a function that supplies a URI for a given RPG program name.static voidupdateReloadConfig(com.smeup.rpgparser.execution.Configuration configuration, String localWorkspace, com.smeup.jardis.core.JardisSession jardisSession)Update reload config by adding on the top of the metadata producer (when implemented in Kokos) the searching of reload metadata is, first inside the user workspace, just like for the searching for the programs and copy, and then by using the metadata producer implemented in kokos.static PathuriToPath(URI uri)Converts an uri to pathstatic voidvalidateJardisSession(com.smeup.jardis.core.Context context, com.smeup.jardis.core.JardisSession jardisSession)
-
-
-
Method Detail
-
extractProgramName
public static String extractProgramName(String pathOrName)
Extracts from parameter the program name
-
isCopy
public static boolean isCopy(URI uri)
-
uriToPath
public static Path uriToPath(URI uri)
Converts an uri to path- Parameters:
uri- to convert- Returns:
- the path
-
readUri
public static String readUri(URI uri) throws IOException
- Throws:
IOException
-
isCopy
public static boolean isCopy(String pathOrName)
-
extractCopyId
public static com.smeup.rpgparser.parsing.facade.CopyId extractCopyId(String pathOrName)
-
getJarikoLanguageConfig
public static JarikoLanguageConfig getJarikoLanguageConfig(com.smeup.jardis.core.Context context)
-
createWorkspaceMgr
public static WorkspaceMgr createWorkspaceMgr(com.smeup.jardis.core.Context context, com.smeup.jardis.core.JardisSession jardisSession)
-
getStatements
public static List<com.smeup.rpgparser.parsing.facade.SourceReference> getStatements(com.smeup.rpgparser.parsing.ast.CompilationUnit compilationUnit, String pgmName)
-
createDefaultContextSupplier
public static Function<com.smeup.jardis.core.JardisSession,JarikoDebugeeContext> createDefaultContextSupplier(Path localWorkspace, Function<com.smeup.jardis.core.JardisConsts.LanguageId,String> pathForLanguageConfig)
-
sourceUriSupplier
public static Function<String,URI> sourceUriSupplier(Supplier<List<com.smeup.rpgparser.rpginterop.RpgProgramFinder>> programFinders)
Provides a function that supplies a URI for a given RPG program name.- Parameters:
programFinders- A supplier that provides a list of RpgProgramFinder instances.- Returns:
- A function that takes an RPG program name and returns its URI.
-
addUserPathsOnTheTopOfProgramFinders
public static void addUserPathsOnTheTopOfProgramFinders(List<com.smeup.rpgparser.rpginterop.RpgProgramFinder> programFinders, String localWorkspace, com.smeup.jardis.core.JardisSession jardisSession)
Add on the top of the UserProgramFinder retrieved from the directories where the user will place his programs and copies, after that add the ResourceProgramFinder
-
updateReloadConfig
public static void updateReloadConfig(com.smeup.rpgparser.execution.Configuration configuration, String localWorkspace, com.smeup.jardis.core.JardisSession jardisSession)Update reload config by adding on the top of the metadata producer (when implemented in Kokos) the searching of reload metadata is, first inside the user workspace, just like for the searching for the programs and copy, and then by using the metadata producer implemented in kokos.
-
validateJardisSession
public static void validateJardisSession(com.smeup.jardis.core.Context context, com.smeup.jardis.core.JardisSession jardisSession) throws IllegalStateException- Throws:
IllegalStateException
-
getRpgPaths
public static List<Path> getRpgPaths(Path localWorkspace, com.smeup.jardis.core.JardisSession jardisSession)
- Returns:
- Paths containing directory rpg. In case of localWorkspace is not null the paths will be searched in localWorkspace else paths will be all paths that the user will have added in his workspace.
-
removeUserProgramFinders
public static void removeUserProgramFinders(List<com.smeup.rpgparser.rpginterop.RpgProgramFinder> programFinders)
Remove from programFinders all instances of UserProgramFinder and ResourceProgramFinder
-
clearErrorMessage
public static String clearErrorMessage(String errorMessage)
Clear the errorMessage contained in ErrorEvent
-
extractIssues
public static Collection<String> extractIssues(String errorMessage)
-
createMD5Hash
public static String createMD5Hash(String input) throws NoSuchAlgorithmException
- Throws:
NoSuchAlgorithmException
-
createDebuggingSrcMgr
public static DebuggingSourcesMgr createDebuggingSrcMgr(com.smeup.jardis.core.dap.handler.Context context, com.smeup.jardis.core.JardisSession jardisSession)
-
createDebuggingSrcMgr
public static DebuggingSourcesMgr createDebuggingSrcMgr(com.smeup.jardis.core.dap.handler.Context context, JarikoDebugeeContext jarikoDebugeeContext, com.smeup.jardis.core.JardisSession jardisSession)
-
getJarikoVersion
public static com.smeup.rpgparser.interpreter.JarikoVersion getJarikoVersion()
-
-