#63 extracted a constant for the quartz-manager

This commit is contained in:
Fabio Formosa
2022-09-29 19:28:52 +02:00
parent 0adb8bf94b
commit 8935d77d0f
8 changed files with 40 additions and 34 deletions

View File

@@ -0,0 +1,7 @@
package it.fabioformosa.quartzmanager.controllers;
abstract public class AbstractQuartzManagerController {
protected static final String QUARTZ_MANAGER_CONTEXT_PATH = "/quartz-manager";
}

View File

@@ -1,5 +0,0 @@
package it.fabioformosa.quartzmanager.controllers;
public class AbstractTriggerController {
}

View File

@@ -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;

View File

@@ -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 = {

View File

@@ -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;

View File

@@ -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;

View File

@@ -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\"";
}
}

View File

@@ -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";
}