diff --git a/quartz-manager-parent/quartz-manager-starter-api/src/main/java/it/fabioformosa/quartzmanager/controllers/AbstractQuartzManagerController.java b/quartz-manager-parent/quartz-manager-starter-api/src/main/java/it/fabioformosa/quartzmanager/controllers/AbstractQuartzManagerController.java new file mode 100644 index 0000000..454ca75 --- /dev/null +++ b/quartz-manager-parent/quartz-manager-starter-api/src/main/java/it/fabioformosa/quartzmanager/controllers/AbstractQuartzManagerController.java @@ -0,0 +1,7 @@ +package it.fabioformosa.quartzmanager.controllers; + +abstract public class AbstractQuartzManagerController { + + protected static final String QUARTZ_MANAGER_CONTEXT_PATH = "/quartz-manager"; + +} diff --git a/quartz-manager-parent/quartz-manager-starter-api/src/main/java/it/fabioformosa/quartzmanager/controllers/AbstractTriggerController.java b/quartz-manager-parent/quartz-manager-starter-api/src/main/java/it/fabioformosa/quartzmanager/controllers/AbstractTriggerController.java deleted file mode 100644 index 2d0da31..0000000 --- a/quartz-manager-parent/quartz-manager-starter-api/src/main/java/it/fabioformosa/quartzmanager/controllers/AbstractTriggerController.java +++ /dev/null @@ -1,5 +0,0 @@ -package it.fabioformosa.quartzmanager.controllers; - -public class AbstractTriggerController { - -} diff --git a/quartz-manager-parent/quartz-manager-starter-api/src/main/java/it/fabioformosa/quartzmanager/controllers/JobController.java b/quartz-manager-parent/quartz-manager-starter-api/src/main/java/it/fabioformosa/quartzmanager/controllers/JobController.java index 5361818..55eaf84 100644 --- a/quartz-manager-parent/quartz-manager-starter-api/src/main/java/it/fabioformosa/quartzmanager/controllers/JobController.java +++ b/quartz-manager-parent/quartz-manager-starter-api/src/main/java/it/fabioformosa/quartzmanager/controllers/JobController.java @@ -8,11 +8,12 @@ import org.springframework.web.bind.annotation.RestController; import java.util.List; import java.util.stream.Collectors; -@RequestMapping("/quartz-manager/jobs") -@RestController -public class JobController extends AbstractTriggerController { +import static it.fabioformosa.quartzmanager.controllers.AbstractQuartzManagerController.QUARTZ_MANAGER_CONTEXT_PATH; - private JobService jobService; +@RequestMapping(QUARTZ_MANAGER_CONTEXT_PATH + "/jobs") +@RestController +public class JobController extends AbstractQuartzManagerController { + final private JobService jobService; public JobController(JobService jobService) { this.jobService = jobService; diff --git a/quartz-manager-parent/quartz-manager-starter-api/src/main/java/it/fabioformosa/quartzmanager/controllers/SchedulerController.java b/quartz-manager-parent/quartz-manager-starter-api/src/main/java/it/fabioformosa/quartzmanager/controllers/SchedulerController.java index aa49f9f..95d658e 100644 --- a/quartz-manager-parent/quartz-manager-starter-api/src/main/java/it/fabioformosa/quartzmanager/controllers/SchedulerController.java +++ b/quartz-manager-parent/quartz-manager-starter-api/src/main/java/it/fabioformosa/quartzmanager/controllers/SchedulerController.java @@ -10,14 +10,13 @@ import it.fabioformosa.quartzmanager.dto.SchedulerDTO; import it.fabioformosa.quartzmanager.services.SchedulerService; import lombok.extern.slf4j.Slf4j; import org.quartz.SchedulerException; -import org.springframework.core.convert.ConversionService; import org.springframework.http.HttpStatus; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseStatus; import org.springframework.web.bind.annotation.RestController; -import javax.annotation.Resource; +import static it.fabioformosa.quartzmanager.controllers.AbstractQuartzManagerController.QUARTZ_MANAGER_CONTEXT_PATH; /** * This controller provides scheduler info about config and status. It provides @@ -28,19 +27,17 @@ import javax.annotation.Resource; @Slf4j @RestController @SecurityRequirement(name = "basic-auth") -@RequestMapping("/quartz-manager/scheduler") +@RequestMapping(SchedulerController.SCHEDULER_CONTROLLER_BASE_URL) public class SchedulerController { - private SchedulerService schedulerService; + static protected final String SCHEDULER_CONTROLLER_BASE_URL = QUARTZ_MANAGER_CONTEXT_PATH + "/scheduler"; - public SchedulerController(SchedulerService schedulerService, ConversionService conversionService) { + final private SchedulerService schedulerService; + + public SchedulerController(SchedulerService schedulerService) { this.schedulerService = schedulerService; - this.conversionService = conversionService; } - @Resource - private ConversionService conversionService; - @GetMapping @Operation(summary = "Get the scheduler details") @ApiResponses(value = { diff --git a/quartz-manager-parent/quartz-manager-starter-api/src/main/java/it/fabioformosa/quartzmanager/controllers/SimpleTriggerController.java b/quartz-manager-parent/quartz-manager-starter-api/src/main/java/it/fabioformosa/quartzmanager/controllers/SimpleTriggerController.java index cd39af6..8bdf766 100644 --- a/quartz-manager-parent/quartz-manager-starter-api/src/main/java/it/fabioformosa/quartzmanager/controllers/SimpleTriggerController.java +++ b/quartz-manager-parent/quartz-manager-starter-api/src/main/java/it/fabioformosa/quartzmanager/controllers/SimpleTriggerController.java @@ -23,11 +23,11 @@ import javax.validation.Valid; @RequestMapping(SimpleTriggerController.SIMPLE_TRIGGER_CONTROLLER_BASE_URL) @SecurityRequirement(name = "basic-auth") @RestController -public class SimpleTriggerController extends AbstractTriggerController { +public class SimpleTriggerController extends AbstractQuartzManagerController { - static public final String SIMPLE_TRIGGER_CONTROLLER_BASE_URL = "/quartz-manager/simple-triggers"; + static protected final String SIMPLE_TRIGGER_CONTROLLER_BASE_URL = QUARTZ_MANAGER_CONTEXT_PATH + "/simple-triggers"; - private SimpleTriggerService simpleSchedulerService; + final private SimpleTriggerService simpleSchedulerService; public SimpleTriggerController(SimpleTriggerService simpleSchedulerService) { this.simpleSchedulerService = simpleSchedulerService; diff --git a/quartz-manager-parent/quartz-manager-starter-api/src/main/java/it/fabioformosa/quartzmanager/controllers/TriggerController.java b/quartz-manager-parent/quartz-manager-starter-api/src/main/java/it/fabioformosa/quartzmanager/controllers/TriggerController.java index 04f4a54..cd58752 100644 --- a/quartz-manager-parent/quartz-manager-starter-api/src/main/java/it/fabioformosa/quartzmanager/controllers/TriggerController.java +++ b/quartz-manager-parent/quartz-manager-starter-api/src/main/java/it/fabioformosa/quartzmanager/controllers/TriggerController.java @@ -15,11 +15,11 @@ import java.util.List; @RequestMapping(TriggerController.TRIGGER_CONTROLLER_BASE_URL) @SecurityRequirement(name = "basic-auth") @RestController -public class TriggerController extends AbstractTriggerController { +public class TriggerController extends AbstractQuartzManagerController { - static public final String TRIGGER_CONTROLLER_BASE_URL = "/quartz-manager/triggers"; + static protected final String TRIGGER_CONTROLLER_BASE_URL = QUARTZ_MANAGER_CONTEXT_PATH + "/triggers"; - private TriggerService triggerService; + final private TriggerService triggerService; public TriggerController(TriggerService triggerService) { this.triggerService = triggerService; diff --git a/quartz-manager-parent/quartz-manager-starter-api/src/main/java/it/fabioformosa/quartzmanager/controllers/UserController.java b/quartz-manager-parent/quartz-manager-starter-api/src/main/java/it/fabioformosa/quartzmanager/controllers/UserController.java index 64ffb37..832f544 100644 --- a/quartz-manager-parent/quartz-manager-starter-api/src/main/java/it/fabioformosa/quartzmanager/controllers/UserController.java +++ b/quartz-manager-parent/quartz-manager-starter-api/src/main/java/it/fabioformosa/quartzmanager/controllers/UserController.java @@ -8,16 +8,20 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.RestController; +import static it.fabioformosa.quartzmanager.controllers.AbstractQuartzManagerController.QUARTZ_MANAGER_CONTEXT_PATH; + @RestController -@RequestMapping(value = "/quartz-manager/api", produces = MediaType.APPLICATION_JSON_VALUE) +@RequestMapping(value = UserController.USER_CONTROLLER_BASE_URL, produces = MediaType.APPLICATION_JSON_VALUE) public class UserController { - @GetMapping("/whoami") - public @ResponseBody Object user() { - SecurityContext context = SecurityContextHolder.getContext(); - if(context != null && context.getAuthentication() != null) - return context.getAuthentication().getPrincipal(); - return "\"NO_AUTH\""; - } + static protected final String USER_CONTROLLER_BASE_URL = QUARTZ_MANAGER_CONTEXT_PATH + "/api"; + + @GetMapping("/whoami") + public @ResponseBody Object user() { + SecurityContext context = SecurityContextHolder.getContext(); + if (context != null && context.getAuthentication() != null) + return context.getAuthentication().getPrincipal(); + return "\"NO_AUTH\""; + } } diff --git a/quartz-manager-parent/quartz-manager-starter-api/src/main/java/it/fabioformosa/quartzmanager/controllers/WebsocketController.java b/quartz-manager-parent/quartz-manager-starter-api/src/main/java/it/fabioformosa/quartzmanager/controllers/WebsocketController.java index ab53b6b..b2f3239 100644 --- a/quartz-manager-parent/quartz-manager-starter-api/src/main/java/it/fabioformosa/quartzmanager/controllers/WebsocketController.java +++ b/quartz-manager-parent/quartz-manager-starter-api/src/main/java/it/fabioformosa/quartzmanager/controllers/WebsocketController.java @@ -4,12 +4,14 @@ import org.springframework.messaging.handler.annotation.MessageMapping; import org.springframework.messaging.handler.annotation.SendTo; import org.springframework.stereotype.Controller; +import static it.fabioformosa.quartzmanager.controllers.AbstractQuartzManagerController.QUARTZ_MANAGER_CONTEXT_PATH; + @Controller public class WebsocketController { - @MessageMapping({ "/quartz-manager/logs", "/quartz-manager/progress" }) + @MessageMapping({ QUARTZ_MANAGER_CONTEXT_PATH + "/logs", QUARTZ_MANAGER_CONTEXT_PATH + "/progress" }) @SendTo("/topic/logs") - public String subscribe() throws Exception { + public String subscribe() { return "subscribed"; }