mirror of
https://github.com/fabioformosa/quartz-manager.git
synced 2025-12-30 22:23:15 +09:00
#63 extracted a constant for the quartz-manager
This commit is contained in:
@@ -0,0 +1,7 @@
|
||||
package it.fabioformosa.quartzmanager.controllers;
|
||||
|
||||
abstract public class AbstractQuartzManagerController {
|
||||
|
||||
protected static final String QUARTZ_MANAGER_CONTEXT_PATH = "/quartz-manager";
|
||||
|
||||
}
|
||||
@@ -1,5 +0,0 @@
|
||||
package it.fabioformosa.quartzmanager.controllers;
|
||||
|
||||
public class AbstractTriggerController {
|
||||
|
||||
}
|
||||
@@ -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;
|
||||
|
||||
@@ -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 = {
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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\"";
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -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";
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user