Search in sources :

Example 1 with DataSynchronizationJobParameters

use of org.hisp.dhis.scheduling.parameters.DataSynchronizationJobParameters in project dhis2-core by dhis2.

the class DataSynchronizationJob method execute.

@Override
public void execute(JobConfiguration jobConfiguration, JobProgress progress) {
    DataSynchronizationJobParameters jobParameters = (DataSynchronizationJobParameters) jobConfiguration.getJobParameters();
    dataValueSynchronization.synchronizeData(jobParameters.getPageSize());
    notifier.notify(jobConfiguration, "Data value sync successful");
    completenessSynchronization.synchronizeData();
    notifier.notify(jobConfiguration, "Complete data set registration sync successful");
    notifier.notify(jobConfiguration, "Data value and Complete data set registration sync successful");
}
Also used : DataSynchronizationJobParameters(org.hisp.dhis.scheduling.parameters.DataSynchronizationJobParameters)

Example 2 with DataSynchronizationJobParameters

use of org.hisp.dhis.scheduling.parameters.DataSynchronizationJobParameters in project dhis2-core by dhis2.

the class JobConfigurationObjectBundleHookTest method validateInternalNonConfigurableShownValidationErrorE7010Configurable.

@Test
void validateInternalNonConfigurableShownValidationErrorE7010Configurable() {
    Mockito.when(jobConfigurationService.getJobConfigurationByUid(Mockito.eq("jsdhJSJHD"))).thenReturn(analyticsTableJobConfig);
    Mockito.when(jobService.getJob(Mockito.eq(JobType.DATA_SYNC))).thenReturn(job);
    Mockito.when(job.validate()).thenReturn(new ErrorReport(Class.class, ErrorCode.E7010));
    analyticsTableJobConfig.setJobType(JobType.DATA_SYNC);
    JobConfiguration jobConfiguration = new JobConfiguration();
    jobConfiguration.setUid("jsdhJSJHD");
    jobConfiguration.setJobType(JobType.DATA_SYNC);
    jobConfiguration.setCronExpression(CRON_HOURLY);
    jobConfiguration.setEnabled(true);
    DataSynchronizationJobParameters jobParameters = new DataSynchronizationJobParameters();
    jobParameters.setPageSize(200);
    jobConfiguration.setJobParameters(jobParameters);
    List<ErrorReport> errorReports = hook.validate(jobConfiguration, null);
    Assertions.assertEquals(1, errorReports.size());
    Assertions.assertEquals(ErrorCode.E7010, errorReports.get(0).getErrorCode());
}
Also used : ErrorReport(org.hisp.dhis.feedback.ErrorReport) JobConfiguration(org.hisp.dhis.scheduling.JobConfiguration) DataSynchronizationJobParameters(org.hisp.dhis.scheduling.parameters.DataSynchronizationJobParameters) Test(org.junit.jupiter.api.Test)

Example 3 with DataSynchronizationJobParameters

use of org.hisp.dhis.scheduling.parameters.DataSynchronizationJobParameters in project dhis2-core by dhis2.

the class V2_35_2__Update_data_sync_job_parameters_with_system_setting_value method updateJobParamaters.

private void updateJobParamaters(final Context context, int dataValuesPageSize) throws JsonProcessingException, SQLException {
    if (dataValuesPageSize > 0) {
        Map<Integer, JobParameters> updatedJobParameters = new HashMap<>();
        String sql = "SELECT jobconfigurationid, jsonbjobparameters FROM jobconfiguration " + "WHERE jobtype = '" + JobType.DATA_SYNC.name() + "';";
        try (Statement stmt = context.getConnection().createStatement();
            ResultSet rs = stmt.executeQuery(sql)) {
            while (rs.next()) {
                DataSynchronizationJobParameters jobparams = reader.readValue(rs.getString("jsonbjobparameters"));
                jobparams.setPageSize(dataValuesPageSize);
                updatedJobParameters.put(rs.getInt("jobconfigurationid"), jobparams);
            }
        }
        for (Map.Entry<Integer, JobParameters> jobParams : updatedJobParameters.entrySet()) {
            try (PreparedStatement ps = context.getConnection().prepareStatement("UPDATE jobconfiguration SET jsonbjobparameters = ? where  jobconfigurationid = ?;")) {
                PGobject pg = new PGobject();
                pg.setType("jsonb");
                pg.setValue(writer.writeValueAsString(jobParams.getValue()));
                ps.setObject(1, pg);
                ps.setInt(2, jobParams.getKey());
                ps.execute();
            }
        }
    }
}
Also used : HashMap(java.util.HashMap) PreparedStatement(java.sql.PreparedStatement) Statement(java.sql.Statement) ResultSet(java.sql.ResultSet) PreparedStatement(java.sql.PreparedStatement) JobParameters(org.hisp.dhis.scheduling.JobParameters) MetadataSyncJobParameters(org.hisp.dhis.scheduling.parameters.MetadataSyncJobParameters) DataSynchronizationJobParameters(org.hisp.dhis.scheduling.parameters.DataSynchronizationJobParameters) HashMap(java.util.HashMap) Map(java.util.Map) DataSynchronizationJobParameters(org.hisp.dhis.scheduling.parameters.DataSynchronizationJobParameters) PGobject(org.postgresql.util.PGobject)

Aggregations

DataSynchronizationJobParameters (org.hisp.dhis.scheduling.parameters.DataSynchronizationJobParameters)3 PreparedStatement (java.sql.PreparedStatement)1 ResultSet (java.sql.ResultSet)1 Statement (java.sql.Statement)1 HashMap (java.util.HashMap)1 Map (java.util.Map)1 ErrorReport (org.hisp.dhis.feedback.ErrorReport)1 JobConfiguration (org.hisp.dhis.scheduling.JobConfiguration)1 JobParameters (org.hisp.dhis.scheduling.JobParameters)1 MetadataSyncJobParameters (org.hisp.dhis.scheduling.parameters.MetadataSyncJobParameters)1 Test (org.junit.jupiter.api.Test)1 PGobject (org.postgresql.util.PGobject)1