void attachConfigurationValues(final JobConfiguration jobConfiguration, final Integer configurationType) { final String sql = String.format(SELECT_VALUES_BY_JOB_CONFIGURATION_ID, this.tableName); final List<ValueRecord> valueRecords = this.jdbcTemplate.query( sql, new Object[]{jobConfiguration.getJobConfigurationId()}, new int[]{Types.NUMERIC}, this.valueRecordRowMapper); this.attachByConfigurationType(jobConfiguration, configurationType, valueRecords); }
private Map<String, Object> map(final JobConfiguration jobConfiguration, final String applicationName) { final Map<String, Object> keyValues = new HashMap<>(); keyValues.put(JobConfigurationDomain.JOB_NAME, jobConfiguration.getJobName()); keyValues.put(JobConfigurationDomain.JOB_INCREMENTER, jobConfiguration.getJobIncrementer() .getIncrementerIdentifier()); keyValues.put(JobConfigurationDomain.APLLICATION_NAME, applicationName); if (jobConfiguration.getJobConfigurationId() != null) { keyValues.put(JobConfigurationDomain.JOB_CONFIGURATION_ID, jobConfiguration.getJobConfigurationId()); } final Integer jobConfigurationType = JobConfigurationType.determineJobConfigurationType(jobConfiguration); keyValues.put(JobConfigurationDomain.JOB_CONFIGURATION_TYPE, jobConfigurationType); return keyValues; }
@Test public void getJobConfigurationWithListenerIT() throws NoSuchJobConfigurationException { final JobListenerConfiguration jobListenerConfiguration = DomainTestHelper.createJobListenerConfiguration ("src/test/", "*.txt", JobListenerType.LOCAL_FOLDER_LISTENER); jobListenerConfiguration.setBeanName("testBean"); final JobConfiguration jobConfiguration = DomainTestHelper.createJobConfiguration(jobListenerConfiguration); final JobConfiguration addedJobConfiguration = this.getJobConfigurationRepository().add(jobConfiguration, APPLICATION_NAME); assertThat(addedJobConfiguration).isNotNull(); assertThat(addedJobConfiguration.getJobConfigurationId()).isNotNull(); assertThat(addedJobConfiguration.getJobListenerConfiguration()).isNotNull(); final JobConfiguration fetchedJobConfiguration = this.getJobConfigurationRepository().getJobConfiguration (addedJobConfiguration.getJobConfigurationId(), APPLICATION_NAME); assertThat(fetchedJobConfiguration.getJobConfigurationId()).isEqualTo(addedJobConfiguration.getJobConfigurationId()); }
@Test public void getJobConfigurationIT() throws NoSuchJobConfigurationException { final JobSchedulerConfiguration jobSchedulerConfiguration = DomainTestHelper.createJobSchedulerConfiguration(null, 10L, 10L, JobSchedulerType.PERIOD); jobSchedulerConfiguration.setBeanName("testBean"); final JobConfiguration jobConfiguration = DomainTestHelper.createJobConfiguration(jobSchedulerConfiguration); final JobConfiguration addedJobConfiguration = this.getJobConfigurationRepository().add(jobConfiguration, APPLICATION_NAME); assertThat(addedJobConfiguration).isNotNull(); assertThat(addedJobConfiguration.getJobConfigurationId()).isNotNull(); assertThat(addedJobConfiguration.getJobSchedulerConfiguration()).isNotNull(); final JobConfiguration fetchedJobConfiguration = this.getJobConfigurationRepository().getJobConfiguration (addedJobConfiguration.getJobConfigurationId(), APPLICATION_NAME); assertThat(fetchedJobConfiguration.getJobConfigurationId()).isEqualTo(addedJobConfiguration.getJobConfigurationId()); }
public void update(final JobConfiguration jobConfiguration, final String applicationName) { final String sql = String.format(UPDATE_STATEMENT, this.tableName); this.jdbcTemplate.update( sql, new Object[]{jobConfiguration.getJobName(), jobConfiguration.getJobIncrementer().getIncrementerIdentifier(), jobConfiguration.getJobConfigurationId(), applicationName}, new int[]{Types.VARCHAR, Types.VARCHAR, Types.NUMERIC, Types.VARCHAR}); }
@Test public void getJobConfigurationWithListenerIT() throws NoSuchJobConfigurationException { final JobListenerConfiguration jobListenerConfiguration = DomainTestHelper.createJobListenerConfiguration ("src/test/", "*.txt", JobListenerType.LOCAL_FOLDER_LISTENER); jobListenerConfiguration.setBeanName("testBean"); final JobConfiguration jobConfiguration = DomainTestHelper.createJobConfiguration(jobListenerConfiguration); final JobConfiguration addedJobConfiguration = this.getJobConfigurationRepository().add(jobConfiguration, APPLICATION_NAME); assertThat(addedJobConfiguration).isNotNull(); assertThat(addedJobConfiguration.getJobConfigurationId()).isNotNull(); assertThat(addedJobConfiguration.getJobListenerConfiguration()).isNotNull(); final JobConfiguration fetchedJobConfiguration = this.getJobConfigurationRepository().getJobConfiguration (addedJobConfiguration.getJobConfigurationId(), APPLICATION_NAME); assertThat(fetchedJobConfiguration.getJobConfigurationId()).isEqualTo(addedJobConfiguration.getJobConfigurationId()); }
@Test public void getJobConfigurationIT() throws NoSuchJobConfigurationException { final JobSchedulerConfiguration jobSchedulerConfiguration = DomainTestHelper.createJobSchedulerConfiguration(null, 10L, 10L, JobSchedulerType.PERIOD); jobSchedulerConfiguration.setBeanName("testBean"); final JobConfiguration jobConfiguration = DomainTestHelper.createJobConfiguration(jobSchedulerConfiguration); final JobConfiguration addedJobConfiguration = this.getJobConfigurationRepository().add(jobConfiguration, APPLICATION_NAME); assertThat(addedJobConfiguration).isNotNull(); assertThat(addedJobConfiguration.getJobConfigurationId()).isNotNull(); assertThat(addedJobConfiguration.getJobSchedulerConfiguration()).isNotNull(); final JobConfiguration fetchedJobConfiguration = this.getJobConfigurationRepository().getJobConfiguration (addedJobConfiguration.getJobConfigurationId(), APPLICATION_NAME); assertThat(fetchedJobConfiguration.getJobConfigurationId()).isEqualTo(addedJobConfiguration.getJobConfigurationId()); }
private List<ValueRecord> getValueRecords(final JobConfiguration jobConfiguration) { final Integer jobConfigurationType = JobConfigurationType.determineJobConfigurationType(jobConfiguration); final List<ValueRecord> valueRecords; if (JobConfigurationType.SCHEDULER.equals(jobConfigurationType)) { valueRecords = JobSchedulerConfigurationMapper.map(jobConfiguration.getJobSchedulerConfiguration(), jobConfiguration.getJobConfigurationId()); } else if (JobConfigurationType.LISTENER.equals(jobConfigurationType)) { valueRecords = JobListenerConfigurationMapper.map(jobConfiguration.getJobListenerConfiguration(), jobConfiguration.getJobConfigurationId()); } else { throw new SpringBatchLightminApplicationException("Unknown JobConfigurationType : " + jobConfigurationType); } return valueRecords; }
@Test public void addIT() { final JobSchedulerConfiguration jobSchedulerConfiguration = DomainTestHelper.createJobSchedulerConfiguration(null, 10L, 10L, JobSchedulerType.PERIOD); jobSchedulerConfiguration.setBeanName("testBean"); final JobConfiguration jobConfiguration = DomainTestHelper.createJobConfiguration(jobSchedulerConfiguration); final JobConfiguration addedJobConfiguration = this.getJobConfigurationRepository().add(jobConfiguration, APPLICATION_NAME); assertThat(addedJobConfiguration).isNotNull(); assertThat(addedJobConfiguration.getJobConfigurationId()).isNotNull(); assertThat(addedJobConfiguration.getJobSchedulerConfiguration()).isNotNull(); final JobConfiguration secondAddedJobConfiguration = this.getJobConfigurationRepository().add(jobConfiguration, APPLICATION_NAME); assertThat(secondAddedJobConfiguration).isNotNull(); assertThat(secondAddedJobConfiguration.getJobConfigurationId()).isNotNull(); assertThat(secondAddedJobConfiguration.getJobSchedulerConfiguration()).isNotNull(); final Collection<JobConfiguration> allResult = this.getJobConfigurationRepository().getAllJobConfigurations(APPLICATION_NAME); assertThat(allResult).hasSize(2); }
@Test(expected = NoSuchJobConfigurationException.class) public void deleteIT() throws NoSuchJobConfigurationException { final JobSchedulerConfiguration jobSchedulerConfiguration = DomainTestHelper.createJobSchedulerConfiguration(null, 10L, 10L, JobSchedulerType.PERIOD); jobSchedulerConfiguration.setBeanName("testBean"); final JobConfiguration jobConfiguration = DomainTestHelper.createJobConfiguration(jobSchedulerConfiguration); final JobConfiguration addedJobConfiguration = this.getJobConfigurationRepository().add(jobConfiguration, APPLICATION_NAME); assertThat(addedJobConfiguration).isNotNull(); assertThat(addedJobConfiguration.getJobConfigurationId()).isNotNull(); assertThat(addedJobConfiguration.getJobSchedulerConfiguration()).isNotNull(); this.getJobConfigurationRepository().delete(addedJobConfiguration, APPLICATION_NAME); this.getJobConfigurationRepository().getJobConfiguration(addedJobConfiguration.getJobConfigurationId(), APPLICATION_NAME); }
@Test(expected = NoSuchJobConfigurationException.class) public void deleteIT() throws NoSuchJobConfigurationException { final JobSchedulerConfiguration jobSchedulerConfiguration = DomainTestHelper.createJobSchedulerConfiguration(null, 10L, 10L, JobSchedulerType.PERIOD); jobSchedulerConfiguration.setBeanName("testBean"); final JobConfiguration jobConfiguration = DomainTestHelper.createJobConfiguration(jobSchedulerConfiguration); final JobConfiguration addedJobConfiguration = this.getJobConfigurationRepository().add(jobConfiguration, APPLICATION_NAME); assertThat(addedJobConfiguration).isNotNull(); assertThat(addedJobConfiguration.getJobConfigurationId()).isNotNull(); assertThat(addedJobConfiguration.getJobSchedulerConfiguration()).isNotNull(); this.getJobConfigurationRepository().delete(addedJobConfiguration, APPLICATION_NAME); this.getJobConfigurationRepository().getJobConfiguration(addedJobConfiguration.getJobConfigurationId(), APPLICATION_NAME); }
void attachParameters(final JobConfiguration jobConfiguration) { final Long jobConfigurationId = jobConfiguration.getJobConfigurationId(); final String sql = String.format(GET_JOB_PARAMETERS_QUERY, this.tableName); final List<JobConfigurationParameter> jobConfigurationParameters = this.jdbcTemplate.query(sql, new JobConfigurationParameterRowMapper(), jobConfigurationId); final Map<String, Object> jobParameters = new HashMap<>(); for (final JobConfigurationParameter jobConfigurationParameter : jobConfigurationParameters) { final String key = jobConfigurationParameter.getParameterName(); final Long typeId = jobConfigurationParameter.getParameterType(); final String valueString = jobConfigurationParameter.getParameterValue(); final ParameterType parameterType = ParameterType.getById(typeId); final Object value = this.createValue(valueString, parameterType); jobParameters.put(key, value); } jobConfiguration.setJobParameters(jobParameters); }
@Override public void delete(final JobConfiguration jobConfiguration, final String applicationName) throws NoSuchJobConfigurationException { final Long jobConfigurationId = jobConfiguration.getJobConfigurationId(); if (this.checkJobConfigurationExists(jobConfigurationId, applicationName)) { this.jobConfigurationParameterDAO.delete(jobConfigurationId); this.jobConfigurationValueDAO.delete(jobConfigurationId); this.jobConfigurationDAO.delete(jobConfigurationId, applicationName); } else { final String message = "No jobConfiguration could be found for id:" + jobConfiguration; log.error(message); throw new NoSuchJobConfigurationException(message); } }
@Test(expected = NoSuchJobConfigurationException.class) public void deleteJobConfigurationIdNotExistingIT() throws NoSuchJobConfigurationException { final JobSchedulerConfiguration jobSchedulerConfiguration = DomainTestHelper.createJobSchedulerConfiguration(null, 10L, 10L, JobSchedulerType.PERIOD); jobSchedulerConfiguration.setBeanName("testBean"); final JobConfiguration jobConfiguration = DomainTestHelper.createJobConfiguration(jobSchedulerConfiguration); final JobConfiguration addedJobConfiguration = this.getJobConfigurationRepository().add(jobConfiguration, APPLICATION_NAME); assertThat(addedJobConfiguration).isNotNull(); assertThat(addedJobConfiguration.getJobConfigurationId()).isNotNull(); assertThat(addedJobConfiguration.getJobSchedulerConfiguration()).isNotNull(); addedJobConfiguration.setJobConfigurationId(-100L); this.getJobConfigurationRepository().delete(addedJobConfiguration, APPLICATION_NAME); }
@Test(expected = NoSuchJobConfigurationException.class) public void deleteJobConfigurationIdNotExistingIT() throws NoSuchJobConfigurationException { final JobSchedulerConfiguration jobSchedulerConfiguration = DomainTestHelper.createJobSchedulerConfiguration(null, 10L, 10L, JobSchedulerType.PERIOD); jobSchedulerConfiguration.setBeanName("testBean"); final JobConfiguration jobConfiguration = DomainTestHelper.createJobConfiguration(jobSchedulerConfiguration); final JobConfiguration addedJobConfiguration = this.getJobConfigurationRepository().add(jobConfiguration, APPLICATION_NAME); assertThat(addedJobConfiguration).isNotNull(); assertThat(addedJobConfiguration.getJobConfigurationId()).isNotNull(); assertThat(addedJobConfiguration.getJobSchedulerConfiguration()).isNotNull(); addedJobConfiguration.setJobConfigurationId(-100L); this.getJobConfigurationRepository().delete(addedJobConfiguration, APPLICATION_NAME); }
@Test(expected = NoSuchJobConfigurationException.class) public void updateJobConfigurationIdNotExistingIT() throws NoSuchJobConfigurationException { final JobSchedulerConfiguration jobSchedulerConfiguration = DomainTestHelper.createJobSchedulerConfiguration(null, 10L, 10L, JobSchedulerType.PERIOD); jobSchedulerConfiguration.setBeanName("testBean"); final JobConfiguration jobConfiguration = DomainTestHelper.createJobConfiguration(jobSchedulerConfiguration); final JobConfiguration addedJobConfiguration = this.getJobConfigurationRepository().add(jobConfiguration, APPLICATION_NAME); assertThat(addedJobConfiguration).isNotNull(); assertThat(addedJobConfiguration.getJobConfigurationId()).isNotNull(); assertThat(addedJobConfiguration.getJobSchedulerConfiguration()).isNotNull(); addedJobConfiguration.setJobName("updated"); addedJobConfiguration.setJobConfigurationId(-1000L); this.getJobConfigurationRepository().update(addedJobConfiguration, APPLICATION_NAME); }
@Test(expected = NoSuchJobConfigurationException.class) public void updateJobConfigurationIdNotExistingIT() throws NoSuchJobConfigurationException { final JobSchedulerConfiguration jobSchedulerConfiguration = DomainTestHelper.createJobSchedulerConfiguration(null, 10L, 10L, JobSchedulerType.PERIOD); jobSchedulerConfiguration.setBeanName("testBean"); final JobConfiguration jobConfiguration = DomainTestHelper.createJobConfiguration(jobSchedulerConfiguration); final JobConfiguration addedJobConfiguration = this.getJobConfigurationRepository().add(jobConfiguration, APPLICATION_NAME); assertThat(addedJobConfiguration).isNotNull(); assertThat(addedJobConfiguration.getJobConfigurationId()).isNotNull(); assertThat(addedJobConfiguration.getJobSchedulerConfiguration()).isNotNull(); addedJobConfiguration.setJobName("updated"); addedJobConfiguration.setJobConfigurationId(-1000L); this.getJobConfigurationRepository().update(addedJobConfiguration, APPLICATION_NAME); }
@Override public JobConfiguration update(final JobConfiguration jobConfiguration, final String applicationName) throws NoSuchJobConfigurationException { final Long jobConfigurationId = jobConfiguration.getJobConfigurationId(); if (this.checkJobConfigurationExists(jobConfigurationId, applicationName)) { this.jobConfigurationDAO.update(jobConfiguration, applicationName); this.jobConfigurationValueDAO.update(jobConfiguration); this.jobConfigurationParameterDAO.delete(jobConfigurationId); this.jobConfigurationParameterDAO.add(jobConfiguration); return jobConfiguration; } else { final String message = "No jobConfiguration could be found for id:" + jobConfiguration; log.error(message); throw new NoSuchJobConfigurationException(message); } }
public static JobConfiguration map(final org.tuxdevelop.spring.batch.lightmin.domain.JobConfiguration jobConfiguration) { final JobConfiguration response = new JobConfiguration(); response.setJobConfigurationId(jobConfiguration.getJobConfigurationId()); response.setJobName(jobConfiguration.getJobName()); response.setJobIncrementer(map(jobConfiguration.getJobIncrementer())); response.setJobParameters(map(jobConfiguration.getJobParameters())); response.setJobSchedulerConfiguration(map(jobConfiguration.getJobSchedulerConfiguration())); response.setJobListenerConfiguration(map(jobConfiguration.getJobListenerConfiguration())); return response; }
public static JobConfiguration map(final org.tuxdevelop.spring.batch.lightmin.domain.JobConfiguration jobConfiguration) { final JobConfiguration response = new JobConfiguration(); response.setJobConfigurationId(jobConfiguration.getJobConfigurationId()); response.setJobName(jobConfiguration.getJobName()); response.setJobIncrementer(map(jobConfiguration.getJobIncrementer())); response.setJobParameters(map(jobConfiguration.getJobParameters())); response.setJobSchedulerConfiguration(map(jobConfiguration.getJobSchedulerConfiguration())); response.setJobListenerConfiguration(map(jobConfiguration.getJobListenerConfiguration())); return response; }