Class ContextHelper


  • public class ContextHelper
    extends java.lang.Object
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static java.lang.String GLOBAL_EVENT  
    • Constructor Summary

      Constructors 
      Constructor Description
      ContextHelper()  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      static void addContextTemplateReplacementTokens​(org.ikasan.spec.scheduled.context.model.ContextTemplate contextTemplate)
      Add all replacement tokens to a ContextTemplate
      static void addSchedulerJobReplacementTokens​(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 void enrichJobs​(org.ikasan.spec.scheduled.instance.model.ContextInstance context)  
      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)  
      static AggregateContextInstanceStatus getAggregateContextInstanceStatus​(org.ikasan.spec.scheduled.instance.model.ContextInstance contextInstance)  
      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)  
      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)  
      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.Context getChildContext​(java.lang.String childContextName, org.ikasan.spec.scheduled.context.model.Context context)  
      static org.ikasan.spec.scheduled.instance.model.ContextInstance getChildContextInstance​(java.lang.String childContextName, org.ikasan.spec.scheduled.instance.model.ContextInstance contextInstance)  
      static org.ikasan.spec.scheduled.context.model.ContextTemplate getChildContextTemplate​(java.lang.String childContextName, org.ikasan.spec.scheduled.context.model.ContextTemplate contextTemplate)  
      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
      static java.util.List<java.lang.String> getContextsWhereJobFilterMatchResides​(org.ikasan.spec.scheduled.context.model.Context context, java.lang.String jobNameFilter)  
      static java.lang.String getIdentifier​(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.ContextTemplate getParentContextTemplate​(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.SchedulerJobInstance getSchedulerJobInstance​(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 void holdAllJobs​(org.ikasan.spec.scheduled.instance.model.ContextInstance context, java.util.Map<java.lang.String,​org.ikasan.spec.scheduled.instance.model.InternalEventDrivenJobInstance> internalEventDrivenJobInstanceMap)  
      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)  
      static void removeChildContextTemplate​(java.lang.String childContextName, org.ikasan.spec.scheduled.context.model.ContextTemplate contextTemplate)  
      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)  
      void setAgentNameReplacement​(java.lang.String agentNameReplacement)  
      void setContextNameReplacement​(java.lang.String contextNameReplacement)  
      void setEnvNameReplacement​(java.lang.String envNameReplacement)  
      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)  
      void setUseUnderscoreSeparatedContextNameConvention​(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)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • ContextHelper

        public ContextHelper()
    • 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 - - instance
        internalEventDrivenJobs - - 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)