@Override public <T extends IdentifiableObject> List<ErrorReport> validate( T object, ObjectBundle bundle ) { if ( !JobConfiguration.class.isInstance( object ) ) { return new ArrayList<>(); } JobConfiguration jobConfiguration = (JobConfiguration) object; List<ErrorReport> errorReports = new ArrayList<>( validateInternal( jobConfiguration ) ); if ( errorReports.size() == 0 ) { jobConfiguration.setNextExecutionTime( null ); if ( jobConfiguration.isContinuousExecution() ) { jobConfiguration.setCronExpression( CONTINOUS_CRON ); } log.info( "Validation of '" + jobConfiguration.getName() + "' succeeded" ); } else { log.info( "Validation of '" + jobConfiguration.getName() + "' failed." ); log.info( errorReports ); } return errorReports; }
jobConfig.setNextExecutionTime( null ); jobConfig.setJobStatus( SCHEDULED ); jobConfigurationService.updateJobConfiguration( jobConfig );
/** * Set status properties of job after finish. If the job was executed manually and the job is disabled we want * to set the status back to DISABLED. * * @param clock Clock for keeping track of time usage * @param schedulingManager reference to scheduling manager * @param jobConfiguration the job configuration */ private void setFinishingStatus( Clock clock, SchedulingManager schedulingManager, JobConfiguration jobConfiguration ) { if ( jobConfiguration.isInMemoryJob() ) { return; } if ( !jobConfiguration.isContinuousExecution() ) { jobConfiguration.setJobStatus( JobStatus.SCHEDULED ); } if ( !jobConfiguration.isEnabled() ) { jobConfiguration.setJobStatus( JobStatus.DISABLED ); } jobConfiguration.setNextExecutionTime( null ); jobConfiguration.setLastExecuted( new Date() ); jobConfiguration.setLastRuntimeExecution( clock.time() ); schedulingManager.jobConfigurationFinished( jobConfiguration ); }
jobConfiguration.setNextExecutionTime( null );