agave-jobs/jobs-core/src/main/java/org/iplantc/service/jobs/callbacks/JobCallbackManager.java
/**
    * Check for the existence of an updated local job id. 
    * <br>
    * <br>
    * <strong>note:</strong> This can currently be set once, though it may make sense 
    * to update this more than once if job ids are reused on the 
    * remote {@link ExecutionSystem} (<em>I'm talking about you LSF</em>)
    * 
    * @param callback
    * @throws JobCallbackException
    * @throws JobException
    */
Check for the existence of an updated local job id.


note: This can currently be set once, though it may make sense
to update this more than once if job ids are reused on the
remote  ExecutionSystem (I'm talking about you LSF)


Check for the existence of an updated local job id . note : This can currently be set once though it may make sense to update this more than once if job ids are reused on the remote ExecutionSystem ( I ' m talking about you LSF )
private void validateLocalSchedulerJobId(JobCallback callback) 
   throws JobCallbackException, JobException
   {   
       if (StringUtils.equals(callback.getJob().getLocalJobId(), callback.getLocalSchedulerJobId())) 
       {
           return;
       }
       else if (StringUtils.isEmpty(callback.getLocalSchedulerJobId())) 
       {
           return;
       }
       else if (StringUtils.isEmpty(callback.getJob().getLocalJobId()))
       {
           log.debug("Job " + callback.getJob().getUuid() + " received notification of its local job id " 
                   + callback.getLocalSchedulerJobId());
           callback.getJob().setLocalJobId(callback.getLocalSchedulerJobId());
       } 
       else 
       {
           throw new JobCallbackException("Job " + callback.getJob().getUuid() 
                   + " has already been assigned a local id by the scheduler.");
       }
   }
private void validateLocalSchedulerJobId ( JobCallback callback ) throws JobCallbackException , JobException { if ( StringUtils . equals ( callback . getJob ( ) . getLocalJobId ( ) , callback . getLocalSchedulerJobId ( ) ) ) { return ; } else if ( StringUtils . isEmpty ( callback . getLocalSchedulerJobId ( ) ) ) { return ; } else if ( StringUtils . isEmpty ( callback . getJob ( ) . getLocalJobId ( ) ) ) { log . debug ( "Job " + callback . getJob ( ) . getUuid ( ) + " received notification of its local job id " + callback . getLocalSchedulerJobId ( ) ) ; callback . getJob ( ) . setLocalJobId ( callback . getLocalSchedulerJobId ( ) ) ; } else { throw new JobCallbackException ( "Job " + callback . getJob ( ) . getUuid ( ) + " has already been assigned a local id by the scheduler." ) ; } }
Check for the existence of an updated local job id.
Check for the existence of an updated local job id .
// if the job new local job id is null, ignore // ignore when the new local job id is empty or null // if the current local scheduler job id is empty, approve the update // If the local scheduler job is already set, throw an exception. We can  // just as easily fail silently or update the job in case of local scheduler  // job id reuse.