Class ContextHelper
- java.lang.Object
-
- org.ikasan.job.orchestration.util.ContextHelper
-
public class ContextHelper extends java.lang.Object
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.StringGLOBAL_EVENT
-
Constructor Summary
Constructors Constructor Description ContextHelper()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static voidaddContextTemplateReplacementTokens(org.ikasan.spec.scheduled.context.model.ContextTemplate contextTemplate)Add all replacement tokens to a ContextTemplatestatic voidaddSchedulerJobReplacementTokens(org.ikasan.spec.scheduled.job.model.SchedulerJob schedulerJob)Helper method to add replacement tokens to a scheduler job.static java.util.List<ContextTransition>determineIfJobsTransitionFromOtherContexts(org.ikasan.spec.scheduled.context.model.Context context, java.lang.String jobName, java.lang.String childContextName, java.util.Map<java.lang.String,org.ikasan.spec.scheduled.job.model.InternalEventDrivenJob> internalEventDrivenJobMap)static java.util.List<ContextTransition>determineIfJobsTransitionToOtherContexts(org.ikasan.spec.scheduled.context.model.Context parentContext, java.util.Map<java.lang.String,org.ikasan.spec.scheduled.job.model.SchedulerJob> schedulerJobs, org.ikasan.spec.scheduled.context.model.Context child, java.util.Map<java.lang.String,org.ikasan.spec.scheduled.job.model.InternalEventDrivenJob> internalEventDrivenJobMap)The purpose of this method is to determine if a job has dependencies that transition outside the child context provided.static java.util.List<ContextTransition>determineIfSchedulerJobsTransitionFromOtherContexts(org.ikasan.spec.scheduled.context.model.Context context, java.lang.String jobName, java.lang.String childContextName, java.util.Map<java.lang.String,org.ikasan.spec.scheduled.job.model.SchedulerJob> internalEventDrivenJobMap)Similar to the method above, a helper method to determine if any jobs transition from outside the given context for the given job.static voidenrichJobs(org.ikasan.spec.scheduled.instance.model.ContextInstance context)static voidenrichJobs(org.ikasan.spec.scheduled.instance.model.ContextInstance context, java.util.Map<java.lang.String,org.ikasan.spec.scheduled.job.model.SchedulerJob> schedulerJobMap)static AggregateContextInstanceStatusgetAggregateContextInstanceStatus(org.ikasan.spec.scheduled.instance.model.ContextInstance contextInstance)static AggregateContextInstanceStatusgetAggregateContextInstanceStatus(org.ikasan.spec.scheduled.instance.model.ContextInstance contextInstance, java.util.Map<java.lang.String,org.ikasan.spec.scheduled.job.model.InternalEventDrivenJob> internalEventDrivenJobMap, java.util.Map<java.lang.String,org.ikasan.spec.scheduled.instance.model.QuartzScheduleDrivenJobInstance> quartzSchedulerJobMap, org.ikasan.spec.scheduled.instance.model.ContextInstance parent)static AggregateContextInstanceStatusgetAggregateContextInstanceStatus(org.ikasan.spec.scheduled.instance.model.ContextInstance parent, org.ikasan.spec.scheduled.instance.model.ContextInstance contextInstance, java.util.Map<java.lang.String,org.ikasan.spec.scheduled.job.model.InternalEventDrivenJob> internalEventDrivenJobMap)static java.util.List<java.lang.String>getAllAgents(org.ikasan.spec.scheduled.context.model.Context context)static java.util.Map<java.lang.String,org.ikasan.spec.scheduled.context.model.Context>getAllContexts(org.ikasan.spec.scheduled.context.model.Context context)static java.util.List<org.ikasan.spec.scheduled.job.model.SchedulerJob>getAllJobs(org.ikasan.spec.scheduled.context.model.ContextTemplate context)static java.util.Map<java.lang.String,org.ikasan.spec.scheduled.instance.model.SchedulerJobInstance>getAllJobs(org.ikasan.spec.scheduled.instance.model.ContextInstance context)static org.ikasan.spec.scheduled.context.model.ContextgetChildContext(java.lang.String childContextName, org.ikasan.spec.scheduled.context.model.Context context)static org.ikasan.spec.scheduled.instance.model.ContextInstancegetChildContextInstance(java.lang.String childContextName, org.ikasan.spec.scheduled.instance.model.ContextInstance contextInstance)static org.ikasan.spec.scheduled.context.model.ContextTemplategetChildContextTemplate(java.lang.String childContextName, org.ikasan.spec.scheduled.context.model.ContextTemplate contextTemplate)static org.ikasan.spec.scheduled.status.model.ContextJobInstanceStatusgetContextJobInstanceStatus(org.ikasan.spec.scheduled.instance.model.ContextInstance contextInstance, java.util.Map<java.lang.String,org.ikasan.spec.scheduled.instance.model.InternalEventDrivenJobInstance> internalEventDrivenJobs)Looks at the context instance and get the status for all the jobs It will return 1 record per job that sits across multiple context if targetResidingContextOnly = false If the job has targetResidingContextOnly set to true, it will return a single record for itstatic java.util.List<java.lang.String>getContextsWhereJobFilterMatchResides(org.ikasan.spec.scheduled.context.model.Context context, java.lang.String jobNameFilter)static java.lang.StringgetIdentifier(java.lang.String identifier)static java.util.Map<java.lang.String,org.ikasan.spec.scheduled.job.model.SchedulerJob>getJobsOutsideLogicalGrouping(org.ikasan.spec.scheduled.context.model.Context context)This helper method returns a map of jobs within a context that are not present within any logical constructs within the context.static org.ikasan.spec.scheduled.context.model.ContextTemplategetParentContextTemplate(java.lang.String childContextName, org.ikasan.spec.scheduled.context.model.ContextTemplate contextTemplate)static java.util.List<org.ikasan.spec.scheduled.instance.model.SchedulerJobInstance>getPrecedingJobsFromOutsideContext(org.ikasan.spec.scheduled.context.model.Context context, java.lang.String jobName, java.lang.String childContextName, java.util.Map<java.lang.String,org.ikasan.spec.scheduled.job.model.InternalEventDrivenJob> internalEventDrivenJobMap)Helper method to return a list of jobs that act as a catalyst for the provided job within the provided context.static org.ikasan.spec.scheduled.instance.model.SchedulerJobInstancegetSchedulerJobInstance(java.lang.String jobName, java.lang.String childContextName, org.ikasan.spec.scheduled.instance.model.ContextInstance contextInstance)static java.util.List<org.ikasan.spec.scheduled.instance.model.ContextParameterInstance>getUniqueContextParameterInstancesFromJobInstances(java.util.Map<java.lang.String,org.ikasan.spec.scheduled.instance.model.InternalEventDrivenJobInstance> internalJobs)static java.util.List<org.ikasan.spec.scheduled.instance.model.ContextParameterInstance>getUniqueContextParameterInstancesFromJobs(java.util.Map<java.lang.String,org.ikasan.spec.scheduled.job.model.InternalEventDrivenJob> internalJobs)static voidholdAllJobs(org.ikasan.spec.scheduled.instance.model.ContextInstance context, java.util.Map<java.lang.String,org.ikasan.spec.scheduled.instance.model.InternalEventDrivenJobInstance> internalEventDrivenJobInstanceMap)static voidreleaseAllJobs(org.ikasan.spec.scheduled.instance.model.ContextInstance context, java.util.Map<java.lang.String,org.ikasan.spec.scheduled.instance.model.InternalEventDrivenJobInstance> internalEventDrivenJobInstanceMap)static voidremoveChildContextTemplate(java.lang.String childContextName, org.ikasan.spec.scheduled.context.model.ContextTemplate contextTemplate)static org.ikasan.spec.scheduled.context.model.ContextTemplatereplaceChildContextTemplate(org.ikasan.spec.scheduled.context.model.ContextTemplate contextTemplate, org.ikasan.spec.scheduled.context.model.ContextTemplate updated)voidsetAgentNameReplacement(java.lang.String agentNameReplacement)voidsetContextNameReplacement(java.lang.String contextNameReplacement)voidsetEnvNameReplacement(java.lang.String envNameReplacement)static voidsetJobStatusAll(org.ikasan.spec.scheduled.instance.model.ContextInstance context, java.util.Map<java.lang.String,org.ikasan.spec.scheduled.instance.model.InternalEventDrivenJobInstance> internalEventDrivenJobInstanceMap, org.ikasan.spec.scheduled.instance.model.InstanceStatus instanceStatus)voidsetUseUnderscoreSeparatedContextNameConvention(boolean useUnderscoreSeparatedContextNameConvention)static java.util.LinkedList<java.util.List<org.ikasan.spec.scheduled.job.model.SchedulerJob>>traceJobThroughContext(org.ikasan.spec.scheduled.context.model.Context context, java.lang.String jobName, java.lang.String childContextName)
-
-
-
Field Detail
-
GLOBAL_EVENT
public static final java.lang.String GLOBAL_EVENT
- See Also:
- Constant Field Values
-
-
Method Detail
-
addSchedulerJobReplacementTokens
public static void addSchedulerJobReplacementTokens(org.ikasan.spec.scheduled.job.model.SchedulerJob schedulerJob)
Helper method to add replacement tokens to a scheduler job.- Parameters:
schedulerJob-
-
addContextTemplateReplacementTokens
public static void addContextTemplateReplacementTokens(org.ikasan.spec.scheduled.context.model.ContextTemplate contextTemplate)
Add all replacement tokens to a ContextTemplate- Parameters:
contextTemplate-
-
getUniqueContextParameterInstancesFromJobInstances
public static java.util.List<org.ikasan.spec.scheduled.instance.model.ContextParameterInstance> getUniqueContextParameterInstancesFromJobInstances(java.util.Map<java.lang.String,org.ikasan.spec.scheduled.instance.model.InternalEventDrivenJobInstance> internalJobs)
- Parameters:
internalJobs-- Returns:
-
getUniqueContextParameterInstancesFromJobs
public static java.util.List<org.ikasan.spec.scheduled.instance.model.ContextParameterInstance> getUniqueContextParameterInstancesFromJobs(java.util.Map<java.lang.String,org.ikasan.spec.scheduled.job.model.InternalEventDrivenJob> internalJobs)
- Parameters:
internalJobs-- Returns:
-
determineIfJobsTransitionToOtherContexts
public static java.util.List<ContextTransition> determineIfJobsTransitionToOtherContexts(org.ikasan.spec.scheduled.context.model.Context parentContext, java.util.Map<java.lang.String,org.ikasan.spec.scheduled.job.model.SchedulerJob> schedulerJobs, org.ikasan.spec.scheduled.context.model.Context child, java.util.Map<java.lang.String,org.ikasan.spec.scheduled.job.model.InternalEventDrivenJob> internalEventDrivenJobMap)
The purpose of this method is to determine if a job has dependencies that transition outside the child context provided.- Parameters:
parentContext- the parent context.schedulerJobs- the map of scheduler jobs in the child context.child- the child context we will detremine if jobs transition from.- Returns:
-
getAggregateContextInstanceStatus
public static AggregateContextInstanceStatus getAggregateContextInstanceStatus(org.ikasan.spec.scheduled.instance.model.ContextInstance contextInstance)
-
getAggregateContextInstanceStatus
public static AggregateContextInstanceStatus getAggregateContextInstanceStatus(org.ikasan.spec.scheduled.instance.model.ContextInstance contextInstance, java.util.Map<java.lang.String,org.ikasan.spec.scheduled.job.model.InternalEventDrivenJob> internalEventDrivenJobMap, java.util.Map<java.lang.String,org.ikasan.spec.scheduled.instance.model.QuartzScheduleDrivenJobInstance> quartzSchedulerJobMap, org.ikasan.spec.scheduled.instance.model.ContextInstance parent)
-
getAggregateContextInstanceStatus
public static AggregateContextInstanceStatus getAggregateContextInstanceStatus(org.ikasan.spec.scheduled.instance.model.ContextInstance parent, org.ikasan.spec.scheduled.instance.model.ContextInstance contextInstance, java.util.Map<java.lang.String,org.ikasan.spec.scheduled.job.model.InternalEventDrivenJob> internalEventDrivenJobMap)
-
getContextJobInstanceStatus
public static org.ikasan.spec.scheduled.status.model.ContextJobInstanceStatus getContextJobInstanceStatus(org.ikasan.spec.scheduled.instance.model.ContextInstance contextInstance, java.util.Map<java.lang.String,org.ikasan.spec.scheduled.instance.model.InternalEventDrivenJobInstance> internalEventDrivenJobs)Looks at the context instance and get the status for all the jobs It will return 1 record per job that sits across multiple context if targetResidingContextOnly = false If the job has targetResidingContextOnly set to true, it will return a single record for it- Parameters:
contextInstance- - instanceinternalEventDrivenJobs- - internal jobs- Returns:
- List of ContextJobInstanceStatusImpl
-
getJobsOutsideLogicalGrouping
public static java.util.Map<java.lang.String,org.ikasan.spec.scheduled.job.model.SchedulerJob> getJobsOutsideLogicalGrouping(org.ikasan.spec.scheduled.context.model.Context context)
This helper method returns a map of jobs within a context that are not present within any logical constructs within the context.- Parameters:
context-- Returns:
-
getPrecedingJobsFromOutsideContext
public static java.util.List<org.ikasan.spec.scheduled.instance.model.SchedulerJobInstance> getPrecedingJobsFromOutsideContext(org.ikasan.spec.scheduled.context.model.Context context, java.lang.String jobName, java.lang.String childContextName, java.util.Map<java.lang.String,org.ikasan.spec.scheduled.job.model.InternalEventDrivenJob> internalEventDrivenJobMap)Helper method to return a list of jobs that act as a catalyst for the provided job within the provided context.- Parameters:
context-jobName-childContextName-internalEventDrivenJobMap-- Returns:
-
determineIfJobsTransitionFromOtherContexts
public static java.util.List<ContextTransition> determineIfJobsTransitionFromOtherContexts(org.ikasan.spec.scheduled.context.model.Context context, java.lang.String jobName, java.lang.String childContextName, java.util.Map<java.lang.String,org.ikasan.spec.scheduled.job.model.InternalEventDrivenJob> internalEventDrivenJobMap)
-
determineIfSchedulerJobsTransitionFromOtherContexts
public static java.util.List<ContextTransition> determineIfSchedulerJobsTransitionFromOtherContexts(org.ikasan.spec.scheduled.context.model.Context context, java.lang.String jobName, java.lang.String childContextName, java.util.Map<java.lang.String,org.ikasan.spec.scheduled.job.model.SchedulerJob> internalEventDrivenJobMap)
Similar to the method above, a helper method to determine if any jobs transition from outside the given context for the given job. A list of ContextTransition objects are returned which contains information about all contexts that transition here.- Parameters:
context-jobName-childContextName-internalEventDrivenJobMap-- Returns:
-
getIdentifier
public static java.lang.String getIdentifier(java.lang.String identifier)
-
traceJobThroughContext
public static java.util.LinkedList<java.util.List<org.ikasan.spec.scheduled.job.model.SchedulerJob>> traceJobThroughContext(org.ikasan.spec.scheduled.context.model.Context context, java.lang.String jobName, java.lang.String childContextName)
-
getChildContext
public static org.ikasan.spec.scheduled.context.model.Context getChildContext(java.lang.String childContextName, org.ikasan.spec.scheduled.context.model.Context context)
-
getChildContextInstance
public static org.ikasan.spec.scheduled.instance.model.ContextInstance getChildContextInstance(java.lang.String childContextName, org.ikasan.spec.scheduled.instance.model.ContextInstance contextInstance)
-
getChildContextTemplate
public static org.ikasan.spec.scheduled.context.model.ContextTemplate getChildContextTemplate(java.lang.String childContextName, org.ikasan.spec.scheduled.context.model.ContextTemplate contextTemplate)
-
getParentContextTemplate
public static org.ikasan.spec.scheduled.context.model.ContextTemplate getParentContextTemplate(java.lang.String childContextName, org.ikasan.spec.scheduled.context.model.ContextTemplate contextTemplate)
-
removeChildContextTemplate
public static void removeChildContextTemplate(java.lang.String childContextName, org.ikasan.spec.scheduled.context.model.ContextTemplate contextTemplate)
-
replaceChildContextTemplate
public static org.ikasan.spec.scheduled.context.model.ContextTemplate replaceChildContextTemplate(org.ikasan.spec.scheduled.context.model.ContextTemplate contextTemplate, org.ikasan.spec.scheduled.context.model.ContextTemplate updated)
-
holdAllJobs
public static void holdAllJobs(org.ikasan.spec.scheduled.instance.model.ContextInstance context, java.util.Map<java.lang.String,org.ikasan.spec.scheduled.instance.model.InternalEventDrivenJobInstance> internalEventDrivenJobInstanceMap)
-
setJobStatusAll
public static void setJobStatusAll(org.ikasan.spec.scheduled.instance.model.ContextInstance context, java.util.Map<java.lang.String,org.ikasan.spec.scheduled.instance.model.InternalEventDrivenJobInstance> internalEventDrivenJobInstanceMap, org.ikasan.spec.scheduled.instance.model.InstanceStatus instanceStatus)
-
releaseAllJobs
public static void releaseAllJobs(org.ikasan.spec.scheduled.instance.model.ContextInstance context, java.util.Map<java.lang.String,org.ikasan.spec.scheduled.instance.model.InternalEventDrivenJobInstance> internalEventDrivenJobInstanceMap)
-
enrichJobs
public static void enrichJobs(org.ikasan.spec.scheduled.instance.model.ContextInstance context)
-
enrichJobs
public static void enrichJobs(org.ikasan.spec.scheduled.instance.model.ContextInstance context, java.util.Map<java.lang.String,org.ikasan.spec.scheduled.job.model.SchedulerJob> schedulerJobMap)
-
getContextsWhereJobFilterMatchResides
public static java.util.List<java.lang.String> getContextsWhereJobFilterMatchResides(org.ikasan.spec.scheduled.context.model.Context context, java.lang.String jobNameFilter)
-
getAllContexts
public static java.util.Map<java.lang.String,org.ikasan.spec.scheduled.context.model.Context> getAllContexts(org.ikasan.spec.scheduled.context.model.Context context)
-
getAllJobs
public static java.util.Map<java.lang.String,org.ikasan.spec.scheduled.instance.model.SchedulerJobInstance> getAllJobs(org.ikasan.spec.scheduled.instance.model.ContextInstance context)
-
getAllJobs
public static java.util.List<org.ikasan.spec.scheduled.job.model.SchedulerJob> getAllJobs(org.ikasan.spec.scheduled.context.model.ContextTemplate context)
-
getSchedulerJobInstance
public static org.ikasan.spec.scheduled.instance.model.SchedulerJobInstance getSchedulerJobInstance(java.lang.String jobName, java.lang.String childContextName, org.ikasan.spec.scheduled.instance.model.ContextInstance contextInstance)
-
getAllAgents
public static java.util.List<java.lang.String> getAllAgents(org.ikasan.spec.scheduled.context.model.Context context)
-
setAgentNameReplacement
public void setAgentNameReplacement(java.lang.String agentNameReplacement)
-
setContextNameReplacement
public void setContextNameReplacement(java.lang.String contextNameReplacement)
-
setEnvNameReplacement
public void setEnvNameReplacement(java.lang.String envNameReplacement)
-
setUseUnderscoreSeparatedContextNameConvention
public void setUseUnderscoreSeparatedContextNameConvention(boolean useUnderscoreSeparatedContextNameConvention)
-
-