mirror of
https://github.com/fabioformosa/quartz-manager.git
synced 2026-05-14 22:00:30 +09:00
#78 fixed some smells
This commit is contained in:
@@ -38,7 +38,7 @@ public class OpenApiConfig {
|
||||
@ConditionalOnProperty(name = "quartz-manager.oas.enabled")
|
||||
@Bean
|
||||
public GroupedOpenApi quartzManagerStoreOpenApi(@Autowired(required = false) @Qualifier("quartzManagerOpenApiCustomiser") Optional<OpenApiCustomiser> openApiCustomiser) {
|
||||
String paths[] = {QuartzManagerPaths.QUARTZ_MANAGER_BASE_CONTEXT_PATH + "/**"};
|
||||
String[] paths = {QuartzManagerPaths.QUARTZ_MANAGER_BASE_CONTEXT_PATH + "/**"};
|
||||
GroupedOpenApi.Builder groupedOpenApiBuilder = GroupedOpenApi.builder().group("quartz-manager").pathsToMatch(paths);
|
||||
openApiCustomiser.ifPresent(oaCustomizer -> groupedOpenApiBuilder.addOpenApiCustomiser(oaCustomizer));
|
||||
return groupedOpenApiBuilder.build();
|
||||
|
||||
@@ -46,7 +46,8 @@ public class SchedulerConfig {
|
||||
}
|
||||
|
||||
@Bean(name = "quartzManagerScheduler")
|
||||
public SchedulerFactoryBean schedulerFactoryBean(@Qualifier("quartzJobFactory") JobFactory jobFactory, @Autowired(required = false) @Qualifier("ManagedQuartzProperties") Properties quartzProperties) throws IOException {
|
||||
public SchedulerFactoryBean schedulerFactoryBean(@Qualifier("quartzJobFactory") JobFactory jobFactory,
|
||||
@Autowired(required = false) @Qualifier("ManagedQuartzProperties") Properties quartzProperties) {
|
||||
SchedulerFactoryBean factory = new SchedulerFactoryBean();
|
||||
factory.setJobFactory(jobFactory);
|
||||
Properties mergedProperties = new Properties();
|
||||
|
||||
@@ -20,7 +20,7 @@ import java.util.stream.Collectors;
|
||||
@SecurityRequirement(name = OpenAPIConfigConsts.QUARTZ_MANAGER_SEC_OAS_SCHEMA)
|
||||
@RestController
|
||||
public class JobController {
|
||||
final private JobService jobService;
|
||||
private final JobService jobService;
|
||||
|
||||
public JobController(JobService jobService) {
|
||||
this.jobService = jobService;
|
||||
@@ -30,10 +30,10 @@ public class JobController {
|
||||
@Operation(summary = "Get the list of job classes eligible for Quartz-Manager")
|
||||
@ApiResponses(value = {
|
||||
@ApiResponse(responseCode = "200", description = "Return a list of qualified java classes",
|
||||
content = { @Content(mediaType = "application/json",
|
||||
schema = @Schema(implementation = String.class)) })
|
||||
content = {@Content(mediaType = "application/json",
|
||||
schema = @Schema(implementation = String.class))})
|
||||
})
|
||||
public List<String> listJobs(){
|
||||
public List<String> listJobs() {
|
||||
return jobService.getJobClasses().stream().map(Class::getName).collect(Collectors.toList());
|
||||
}
|
||||
|
||||
|
||||
@@ -31,9 +31,9 @@ import static it.fabioformosa.quartzmanager.api.common.config.QuartzManagerPaths
|
||||
@RequestMapping(SchedulerController.SCHEDULER_CONTROLLER_BASE_URL)
|
||||
public class SchedulerController {
|
||||
|
||||
static protected final String SCHEDULER_CONTROLLER_BASE_URL = QUARTZ_MANAGER_BASE_CONTEXT_PATH + "/scheduler";
|
||||
protected static final String SCHEDULER_CONTROLLER_BASE_URL = QUARTZ_MANAGER_BASE_CONTEXT_PATH + "/scheduler";
|
||||
|
||||
final private SchedulerService schedulerService;
|
||||
private final SchedulerService schedulerService;
|
||||
|
||||
public SchedulerController(SchedulerService schedulerService) {
|
||||
this.schedulerService = schedulerService;
|
||||
|
||||
@@ -27,9 +27,9 @@ import javax.validation.Valid;
|
||||
@RestController
|
||||
public class SimpleTriggerController {
|
||||
|
||||
static protected final String SIMPLE_TRIGGER_CONTROLLER_BASE_URL = QuartzManagerPaths.QUARTZ_MANAGER_BASE_CONTEXT_PATH + "/simple-triggers";
|
||||
protected static final String SIMPLE_TRIGGER_CONTROLLER_BASE_URL = QuartzManagerPaths.QUARTZ_MANAGER_BASE_CONTEXT_PATH + "/simple-triggers";
|
||||
|
||||
final private SimpleTriggerService simpleSchedulerService;
|
||||
private final SimpleTriggerService simpleSchedulerService;
|
||||
|
||||
public SimpleTriggerController(SimpleTriggerService simpleSchedulerService) {
|
||||
this.simpleSchedulerService = simpleSchedulerService;
|
||||
|
||||
@@ -25,9 +25,9 @@ import static it.fabioformosa.quartzmanager.api.common.config.QuartzManagerPaths
|
||||
@RestController
|
||||
public class TriggerController {
|
||||
|
||||
static protected final String TRIGGER_CONTROLLER_BASE_URL = QUARTZ_MANAGER_BASE_CONTEXT_PATH + "/triggers";
|
||||
protected static final String TRIGGER_CONTROLLER_BASE_URL = QUARTZ_MANAGER_BASE_CONTEXT_PATH + "/triggers";
|
||||
|
||||
final private TriggerService triggerService;
|
||||
private final TriggerService triggerService;
|
||||
|
||||
public TriggerController(TriggerService triggerService) {
|
||||
this.triggerService = triggerService;
|
||||
|
||||
@@ -18,7 +18,7 @@ public class ExceptionHandlingController {
|
||||
ExceptionResponse response = new ExceptionResponse();
|
||||
response.setErrorCode("Conflict");
|
||||
response.setErrorMessage(ex.getMessage());
|
||||
return new ResponseEntity<ExceptionResponse>(response, HttpStatus.CONFLICT);
|
||||
return new ResponseEntity<>(response, HttpStatus.CONFLICT);
|
||||
}
|
||||
|
||||
@ExceptionHandler(TriggerNotFoundException.class)
|
||||
|
||||
@@ -18,7 +18,7 @@ public enum MisfireInstruction {
|
||||
this.num = num;
|
||||
}
|
||||
|
||||
static public MisfireInstruction parseInt(int num) {
|
||||
public static MisfireInstruction parseInt(int num) {
|
||||
return Arrays.stream(MisfireInstruction.values())
|
||||
.filter(misfireInstruction -> misfireInstruction.getNum() == num)
|
||||
.findFirst().orElseThrow(() -> new IllegalArgumentException(num + " is not a valid misfire instruction code!"));
|
||||
|
||||
@@ -8,7 +8,7 @@ public class ResourceConflictException extends RuntimeException {
|
||||
|
||||
private static final long serialVersionUID = 1791564636123821405L;
|
||||
|
||||
private Long resourceId;
|
||||
private final Long resourceId;
|
||||
|
||||
public ResourceConflictException(Long resourceId, String message) {
|
||||
super(message);
|
||||
|
||||
@@ -22,10 +22,10 @@ public abstract class AbstractQuartzManagerJob implements Job {
|
||||
private static final Logger log = LoggerFactory.getLogger(AbstractQuartzManagerJob.class);
|
||||
|
||||
@Resource
|
||||
private WebhookSender webSocketProgressNotifier;
|
||||
private WebhookSender<TriggerFiredBundleDTO> webSocketProgressNotifier;
|
||||
|
||||
@Resource
|
||||
private WebhookSender webSocketLogsNotifier;
|
||||
private WebhookSender<LogRecord> webSocketLogsNotifier;
|
||||
|
||||
/**
|
||||
* @param jobExecutionContext
|
||||
|
||||
@@ -9,7 +9,7 @@ import org.springframework.scheduling.quartz.SpringBeanJobFactory;
|
||||
public final class AutowiringSpringBeanJobFactory extends SpringBeanJobFactory
|
||||
implements ApplicationContextAware {
|
||||
|
||||
private transient AutowireCapableBeanFactory beanFactory;
|
||||
private AutowireCapableBeanFactory beanFactory;
|
||||
|
||||
@Override
|
||||
protected Object createJobInstance(final TriggerFiredBundle bundle)
|
||||
|
||||
@@ -27,14 +27,14 @@ public class JobService {
|
||||
.map(String::trim)
|
||||
.filter(StringUtils::isNotBlank)
|
||||
.collect(Collectors.toList());
|
||||
if (splitPackages.size() > 0)
|
||||
if (!splitPackages.isEmpty())
|
||||
this.jobClassPackages.addAll(splitPackages);
|
||||
}
|
||||
|
||||
@PostConstruct
|
||||
public void initJobClassList() {
|
||||
List<Class<? extends AbstractQuartzManagerJob>> foundJobClasses = jobClassPackages.stream().flatMap(jobClassPackage -> findJobClassesInPackage(jobClassPackage).stream()).collect(Collectors.toList());
|
||||
if (foundJobClasses.size() > 0) {
|
||||
if (!foundJobClasses.isEmpty()) {
|
||||
log.info("Found the following eligible job classes: {}", foundJobClasses);
|
||||
this.jobClasses.addAll(foundJobClasses);
|
||||
}
|
||||
|
||||
@@ -13,7 +13,7 @@ class JobServiceTest {
|
||||
JobService jobService = new JobService("it.fabioformosa.quartzmanager.api.jobs, it.fabioformosa.samplepackage");
|
||||
jobService.initJobClassList();
|
||||
Assertions.assertThat(jobService).isNotNull();
|
||||
Assertions.assertThat(jobService.getJobClasses().size()).isEqualTo(2);
|
||||
Assertions.assertThat(jobService.getJobClasses()).hasSize(2);
|
||||
}
|
||||
|
||||
@ParameterizedTest
|
||||
@@ -26,7 +26,7 @@ class JobServiceTest {
|
||||
JobService jobService = new JobService(packageStr);
|
||||
jobService.initJobClassList();
|
||||
Assertions.assertThat(jobService).isNotNull();
|
||||
Assertions.assertThat(jobService.getJobClasses().size()).isEqualTo(1);
|
||||
Assertions.assertThat(jobService.getJobClasses()).hasSize(1);
|
||||
}
|
||||
|
||||
@ParameterizedTest
|
||||
|
||||
@@ -52,7 +52,7 @@ class SimpleTriggerServiceIntegrationTest {
|
||||
Assertions.assertThat(simpleTriggerDTO.getRepeatCount()).isEqualTo(repeatCount);
|
||||
Assertions.assertThat(simpleTriggerDTO.getRepeatInterval()).isEqualTo(repeatInterval);
|
||||
Assertions.assertThat(simpleTriggerDTO.getMisfireInstruction()).isEqualTo(misfireInstructionFireNow.getNum());
|
||||
Assertions.assertThat(simpleTriggerDTO.getTimesTriggered()).isEqualTo(0);
|
||||
Assertions.assertThat(simpleTriggerDTO.getTimesTriggered()).isZero();
|
||||
Assertions.assertThat(simpleTriggerDTO.getFinalFireTime()).isEqualTo(DateUtils.fromLocalDateTimeToDate(expectedFinalDateTime));
|
||||
Assertions.assertThat(simpleTriggerDTO.getNextFireTime()).isEqualTo(startDate);
|
||||
Assertions.assertThat(simpleTriggerDTO.getJobKeyDTO().getName()).isNotNull();
|
||||
@@ -72,13 +72,13 @@ class SimpleTriggerServiceIntegrationTest {
|
||||
SimpleTriggerDTO simpleTriggerDTO = simpleTriggerService.scheduleSimpleTrigger(simpleTriggerCommand);
|
||||
|
||||
Assertions.assertThat(simpleTriggerDTO.getTriggerKeyDTO().getName()).isEqualTo(simpleTriggerTestName);
|
||||
Assertions.assertThat(simpleTriggerDTO.getTimesTriggered()).isEqualTo(0);
|
||||
Assertions.assertThat(simpleTriggerDTO.getTimesTriggered()).isZero();
|
||||
Assertions.assertThat(simpleTriggerDTO.getJobKeyDTO().getName()).isNotNull();
|
||||
Assertions.assertThat(simpleTriggerDTO.getStartTime()).isNotNull();
|
||||
Assertions.assertThat(simpleTriggerDTO.getEndTime()).isNull();
|
||||
Assertions.assertThat(simpleTriggerDTO.getFinalFireTime()).isNotNull();
|
||||
Assertions.assertThat(simpleTriggerDTO.getRepeatCount()).isEqualTo(0);
|
||||
Assertions.assertThat(simpleTriggerDTO.getRepeatInterval()).isEqualTo(0);
|
||||
Assertions.assertThat(simpleTriggerDTO.getRepeatCount()).isZero();
|
||||
Assertions.assertThat(simpleTriggerDTO.getRepeatInterval()).isZero();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -13,7 +13,7 @@ class ValidRepetitionValidatorTest {
|
||||
private ValidRepetitionValidator validRepetitionValidator = new ValidRepetitionValidator();
|
||||
|
||||
@Test
|
||||
public void givenACountAndIntervalSet_whenTheValidatorIsCalled_shouldReturnValid() {
|
||||
void givenACountAndIntervalSet_whenTheValidatorIsCalled_shouldReturnValid() {
|
||||
TriggerRepetitionDTO repetitionDTO = new SimpleTriggerInputDTO();
|
||||
repetitionDTO.setRepeatCount(10);
|
||||
repetitionDTO.setRepeatInterval(1000L);
|
||||
@@ -22,7 +22,7 @@ class ValidRepetitionValidatorTest {
|
||||
}
|
||||
|
||||
@Test
|
||||
public void givenACountAndIntervalUnSet_whenTheValidatorIsCalled_shouldReturnInValid() {
|
||||
void givenACountAndIntervalUnSet_whenTheValidatorIsCalled_shouldReturnInValid() {
|
||||
TriggerRepetitionDTO repetitionDTO = new SimpleTriggerInputDTO();
|
||||
boolean valid = validRepetitionValidator.isValid(repetitionDTO, null);
|
||||
Assertions.assertThat(valid).isTrue();
|
||||
@@ -30,7 +30,7 @@ class ValidRepetitionValidatorTest {
|
||||
|
||||
@ParameterizedTest
|
||||
@CsvSource({"10, ", ",1000"})
|
||||
public void givenACountAndIntervalNotSet_whenTheValidatorIsCalled_shouldReturnInValid(String repeatCountStr, String repeatIntervalStr) {
|
||||
void givenACountAndIntervalNotSet_whenTheValidatorIsCalled_shouldReturnInValid(String repeatCountStr, String repeatIntervalStr) {
|
||||
Integer repeatCount = null;
|
||||
if (StringUtils.isNotBlank(repeatCountStr))
|
||||
repeatCount = Integer.valueOf(repeatCountStr);
|
||||
|
||||
Reference in New Issue
Block a user