From a81bb20acd0542e17ac3fd859ed62004657e405a Mon Sep 17 00:00:00 2001 From: "fabio.formosa" Date: Thu, 1 Oct 2020 00:27:29 +0200 Subject: [PATCH] #19 split in quartz-manager-core and quartz-manager-api --- .../security/helpers/impl/JwtTokenHelper.java | 162 ----------------- quartz-manager-parent/pom.xml | 28 ++- .../quartz-manager-api}/.gitignore | 0 .../quartz-manager-api}/pom.xml | 115 ++---------- .../fabioformosa/QuartManagerApplication.java | 0 .../it/fabioformosa/ServletInitializer.java | 0 .../configuration/WebSecurityConfigJWT.java | 0 .../properties/InMemoryAccountProperties.java | 0 .../properties/JwtSecurityProperties.java | 0 .../controllers/AuthenticationController.java | 0 .../controllers/QuartzManagerController.java | 0 .../controllers/SessionController.java | 0 .../controllers/UserController.java | 0 .../quartzmanager/jobs/myjobs/SampleJob.java | 9 +- .../jobs/tests/MisfireTestJob.java | 0 .../security/helpers/LoginConfigurer.java | 0 .../impl/AjaxAuthenticationFilter.java | 0 .../helpers/impl/AnonAuthentication.java | 0 .../impl/AuthenticationFailureHandler.java | 0 .../impl/AuthenticationSuccessHandler.java | 0 .../helpers/impl/ComboEntryPoint.java | 0 .../helpers/impl/FormLoginConfig.java | 0 .../helpers/impl/JwtAuthenticationFilter.java | 0 .../impl/JwtAuthenticationSuccessHandler.java | 0 .../JwtAuthenticationSuccessHandlerImpl.java | 0 .../impl/JwtTokenAuthenticationFilter.java | 0 .../impl/JwtTokenBasedAuthentication.java | 0 .../security/helpers/impl/JwtTokenHelper.java | 163 ++++++++++++++++++ .../JwtUsernamePasswordFiterLoginConfig.java | 0 .../security/helpers/impl/LogoutSuccess.java | 0 .../impl/QuartzManagerHttpSecurity.java | 0 .../helpers/impl/RESTRequestMatcher.java | 0 .../impl/RestAuthenticationEntryPoint.java | 0 .../helpers/impl/WebsocketRequestMatcher.java | 0 .../security/model/Authority.java | 0 .../quartzmanager/security/model/User.java | 0 .../security/model/UserRequest.java | 0 .../security/model/UserTokenState.java | 0 .../repository/AuthorityRepository.java | 0 .../security/repository/UserRepository.java | 0 .../security/service/AuthorityService.java | 0 .../security/service/UserService.java | 0 .../service/impl/AuthorityServiceImpl.java | 0 .../impl/CustomUserDetailsService.java | 0 .../service/impl/UserServiceImpl.java | 0 .../main/resources/_disabled_import.sql_off | 0 .../src/main/resources/application.yml | 0 .../src/main/resources/banner.txt | 0 .../src/main/resources/logback.xml | 0 .../quartz-manager-2-screenshot_800.PNG | Bin .../src/main/resources/quartz.properties | 0 .../QuartManagerApplicationTests.java | 6 +- .../quartz-manager-core/.classpath | 39 +++++ .../quartz-manager-core/.project | 41 +++++ .../org.eclipse.core.resources.prefs | 6 + .../.settings/org.eclipse.jdt.core.prefs | 12 ++ .../.settings/org.eclipse.m2e.core.prefs | 4 + .../org.eclipse.wst.common.component | 6 + ....eclipse.wst.common.project.facet.core.xml | 5 + .../org.eclipse.wst.validation.prefs | 2 + .../org.springframework.ide.eclipse.prefs | 2 + .../quartz-manager-core/pom.xml | 129 ++++++++++++++ .../aspects/ProgressNotifier.java | 0 .../aspects/WebSocketProgressNotifier.java | 0 .../configuration/SchedulerConfig.java | 0 .../configuration/SwaggerConfig.java | 0 .../configuration/WebsocketConfig.java | 0 .../controllers/SchedulerController.java | 0 .../controllers/WebsocketController.java | 0 .../dto/SchedulerConfigParam.java | 0 .../quartzmanager/dto/TriggerStatus.java | 0 .../quartzmanager/enums/SchedulerStates.java | 0 .../ExceptionHandlingController.java | 0 .../exceptions/ExceptionResponse.java | 0 .../exceptions/ResourceConflictException.java | 0 .../jobs/AbstractLoggingJob.java | 0 .../jobs/entities/LogRecord.java | 0 .../AutowiringSpringBeanJobFactory.java | 0 .../scheduler/TriggerMonitor.java | 0 .../scheduler/TriggerMonitorImpl.java | 0 .../src/test/resources/application.properties | 1 + .../target/classes/META-INF/MANIFEST.MF | 6 + .../quartz-manager-core/pom.properties | 7 + .../quartz-manager-core/pom.xml | 129 ++++++++++++++ .../aspects/ProgressNotifier.class | Bin 0 -> 230 bytes .../aspects/WebSocketProgressNotifier.class | Bin 0 -> 2873 bytes .../configuration/SchedulerConfig.class | Bin 0 -> 5293 bytes .../configuration/SwaggerConfig.class | Bin 0 -> 4551 bytes .../configuration/WebsocketConfig.class | Bin 0 -> 2103 bytes .../controllers/SchedulerController.class | Bin 0 -> 7254 bytes .../controllers/WebsocketController.class | Bin 0 -> 815 bytes .../dto/SchedulerConfigParam.class | Bin 0 -> 1384 bytes .../quartzmanager/dto/TriggerStatus.class | Bin 0 -> 2195 bytes .../quartzmanager/enums/SchedulerStates.class | Bin 0 -> 1287 bytes .../ExceptionHandlingController.class | Bin 0 -> 1705 bytes .../exceptions/ExceptionResponse.class | Bin 0 -> 870 bytes .../ResourceConflictException.class | Bin 0 -> 896 bytes .../jobs/AbstractLoggingJob.class | Bin 0 -> 2431 bytes .../jobs/entities/LogRecord$LogType.class | Bin 0 -> 1434 bytes .../jobs/entities/LogRecord.class | Bin 0 -> 2137 bytes .../AutowiringSpringBeanJobFactory.class | Bin 0 -> 1463 bytes .../scheduler/TriggerMonitor.class | Bin 0 -> 282 bytes .../scheduler/TriggerMonitorImpl.class | Bin 0 -> 716 bytes .../test-classes/application.properties | 1 + 104 files changed, 601 insertions(+), 272 deletions(-) delete mode 100644 quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/security/helpers/impl/JwtTokenHelper.java rename {quartz-manager-api => quartz-manager-parent/quartz-manager-api}/.gitignore (100%) rename {quartz-manager-api => quartz-manager-parent/quartz-manager-api}/pom.xml (54%) rename {quartz-manager-api => quartz-manager-parent/quartz-manager-api}/src/main/java/it/fabioformosa/QuartManagerApplication.java (100%) rename {quartz-manager-api => quartz-manager-parent/quartz-manager-api}/src/main/java/it/fabioformosa/ServletInitializer.java (100%) rename {quartz-manager-api => quartz-manager-parent/quartz-manager-api}/src/main/java/it/fabioformosa/quartzmanager/configuration/WebSecurityConfigJWT.java (100%) rename {quartz-manager-api => quartz-manager-parent/quartz-manager-api}/src/main/java/it/fabioformosa/quartzmanager/configuration/properties/InMemoryAccountProperties.java (100%) rename {quartz-manager-api => quartz-manager-parent/quartz-manager-api}/src/main/java/it/fabioformosa/quartzmanager/configuration/properties/JwtSecurityProperties.java (100%) rename {quartz-manager-api => quartz-manager-parent/quartz-manager-api}/src/main/java/it/fabioformosa/quartzmanager/controllers/AuthenticationController.java (100%) rename {quartz-manager-api => quartz-manager-parent/quartz-manager-api}/src/main/java/it/fabioformosa/quartzmanager/controllers/QuartzManagerController.java (100%) rename {quartz-manager-api => quartz-manager-parent/quartz-manager-api}/src/main/java/it/fabioformosa/quartzmanager/controllers/SessionController.java (100%) rename {quartz-manager-api => quartz-manager-parent/quartz-manager-api}/src/main/java/it/fabioformosa/quartzmanager/controllers/UserController.java (100%) rename {quartz-manager-api => quartz-manager-parent/quartz-manager-api}/src/main/java/it/fabioformosa/quartzmanager/jobs/myjobs/SampleJob.java (70%) rename {quartz-manager-api => quartz-manager-parent/quartz-manager-api}/src/main/java/it/fabioformosa/quartzmanager/jobs/tests/MisfireTestJob.java (100%) rename {quartz-manager-api => quartz-manager-parent/quartz-manager-api}/src/main/java/it/fabioformosa/quartzmanager/security/helpers/LoginConfigurer.java (100%) rename {quartz-manager-api => quartz-manager-parent/quartz-manager-api}/src/main/java/it/fabioformosa/quartzmanager/security/helpers/impl/AjaxAuthenticationFilter.java (100%) rename {quartz-manager-api => quartz-manager-parent/quartz-manager-api}/src/main/java/it/fabioformosa/quartzmanager/security/helpers/impl/AnonAuthentication.java (100%) rename {quartz-manager-api => quartz-manager-parent/quartz-manager-api}/src/main/java/it/fabioformosa/quartzmanager/security/helpers/impl/AuthenticationFailureHandler.java (100%) rename {quartz-manager-api => quartz-manager-parent/quartz-manager-api}/src/main/java/it/fabioformosa/quartzmanager/security/helpers/impl/AuthenticationSuccessHandler.java (100%) rename {quartz-manager-api => quartz-manager-parent/quartz-manager-api}/src/main/java/it/fabioformosa/quartzmanager/security/helpers/impl/ComboEntryPoint.java (100%) rename {quartz-manager-api => quartz-manager-parent/quartz-manager-api}/src/main/java/it/fabioformosa/quartzmanager/security/helpers/impl/FormLoginConfig.java (100%) rename {quartz-manager-api => quartz-manager-parent/quartz-manager-api}/src/main/java/it/fabioformosa/quartzmanager/security/helpers/impl/JwtAuthenticationFilter.java (100%) rename {quartz-manager-api => quartz-manager-parent/quartz-manager-api}/src/main/java/it/fabioformosa/quartzmanager/security/helpers/impl/JwtAuthenticationSuccessHandler.java (100%) rename {quartz-manager-api => quartz-manager-parent/quartz-manager-api}/src/main/java/it/fabioformosa/quartzmanager/security/helpers/impl/JwtAuthenticationSuccessHandlerImpl.java (100%) rename {quartz-manager-api => quartz-manager-parent/quartz-manager-api}/src/main/java/it/fabioformosa/quartzmanager/security/helpers/impl/JwtTokenAuthenticationFilter.java (100%) rename {quartz-manager-api => quartz-manager-parent/quartz-manager-api}/src/main/java/it/fabioformosa/quartzmanager/security/helpers/impl/JwtTokenBasedAuthentication.java (100%) create mode 100644 quartz-manager-parent/quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/security/helpers/impl/JwtTokenHelper.java rename {quartz-manager-api => quartz-manager-parent/quartz-manager-api}/src/main/java/it/fabioformosa/quartzmanager/security/helpers/impl/JwtUsernamePasswordFiterLoginConfig.java (100%) rename {quartz-manager-api => quartz-manager-parent/quartz-manager-api}/src/main/java/it/fabioformosa/quartzmanager/security/helpers/impl/LogoutSuccess.java (100%) rename {quartz-manager-api => quartz-manager-parent/quartz-manager-api}/src/main/java/it/fabioformosa/quartzmanager/security/helpers/impl/QuartzManagerHttpSecurity.java (100%) rename {quartz-manager-api => quartz-manager-parent/quartz-manager-api}/src/main/java/it/fabioformosa/quartzmanager/security/helpers/impl/RESTRequestMatcher.java (100%) rename {quartz-manager-api => quartz-manager-parent/quartz-manager-api}/src/main/java/it/fabioformosa/quartzmanager/security/helpers/impl/RestAuthenticationEntryPoint.java (100%) rename {quartz-manager-api => quartz-manager-parent/quartz-manager-api}/src/main/java/it/fabioformosa/quartzmanager/security/helpers/impl/WebsocketRequestMatcher.java (100%) rename {quartz-manager-api => quartz-manager-parent/quartz-manager-api}/src/main/java/it/fabioformosa/quartzmanager/security/model/Authority.java (100%) rename {quartz-manager-api => quartz-manager-parent/quartz-manager-api}/src/main/java/it/fabioformosa/quartzmanager/security/model/User.java (100%) rename {quartz-manager-api => quartz-manager-parent/quartz-manager-api}/src/main/java/it/fabioformosa/quartzmanager/security/model/UserRequest.java (100%) rename {quartz-manager-api => quartz-manager-parent/quartz-manager-api}/src/main/java/it/fabioformosa/quartzmanager/security/model/UserTokenState.java (100%) rename {quartz-manager-api => quartz-manager-parent/quartz-manager-api}/src/main/java/it/fabioformosa/quartzmanager/security/repository/AuthorityRepository.java (100%) rename {quartz-manager-api => quartz-manager-parent/quartz-manager-api}/src/main/java/it/fabioformosa/quartzmanager/security/repository/UserRepository.java (100%) rename {quartz-manager-api => quartz-manager-parent/quartz-manager-api}/src/main/java/it/fabioformosa/quartzmanager/security/service/AuthorityService.java (100%) rename {quartz-manager-api => quartz-manager-parent/quartz-manager-api}/src/main/java/it/fabioformosa/quartzmanager/security/service/UserService.java (100%) rename {quartz-manager-api => quartz-manager-parent/quartz-manager-api}/src/main/java/it/fabioformosa/quartzmanager/security/service/impl/AuthorityServiceImpl.java (100%) rename {quartz-manager-api => quartz-manager-parent/quartz-manager-api}/src/main/java/it/fabioformosa/quartzmanager/security/service/impl/CustomUserDetailsService.java (100%) rename {quartz-manager-api => quartz-manager-parent/quartz-manager-api}/src/main/java/it/fabioformosa/quartzmanager/security/service/impl/UserServiceImpl.java (100%) rename {quartz-manager-api => quartz-manager-parent/quartz-manager-api}/src/main/resources/_disabled_import.sql_off (100%) rename {quartz-manager-api => quartz-manager-parent/quartz-manager-api}/src/main/resources/application.yml (100%) rename {quartz-manager-api => quartz-manager-parent/quartz-manager-api}/src/main/resources/banner.txt (100%) rename {quartz-manager-api => quartz-manager-parent/quartz-manager-api}/src/main/resources/logback.xml (100%) rename {quartz-manager-api => quartz-manager-parent/quartz-manager-api}/src/main/resources/quartz-manager-2-screenshot_800.PNG (100%) rename {quartz-manager-api => quartz-manager-parent/quartz-manager-api}/src/main/resources/quartz.properties (100%) rename {quartz-manager-api => quartz-manager-parent/quartz-manager-api}/src/test/java/it/fabioformosa/QuartManagerApplicationTests.java (90%) create mode 100644 quartz-manager-parent/quartz-manager-core/.classpath create mode 100644 quartz-manager-parent/quartz-manager-core/.project create mode 100644 quartz-manager-parent/quartz-manager-core/.settings/org.eclipse.core.resources.prefs create mode 100644 quartz-manager-parent/quartz-manager-core/.settings/org.eclipse.jdt.core.prefs create mode 100644 quartz-manager-parent/quartz-manager-core/.settings/org.eclipse.m2e.core.prefs create mode 100644 quartz-manager-parent/quartz-manager-core/.settings/org.eclipse.wst.common.component create mode 100644 quartz-manager-parent/quartz-manager-core/.settings/org.eclipse.wst.common.project.facet.core.xml create mode 100644 quartz-manager-parent/quartz-manager-core/.settings/org.eclipse.wst.validation.prefs create mode 100644 quartz-manager-parent/quartz-manager-core/.settings/org.springframework.ide.eclipse.prefs create mode 100644 quartz-manager-parent/quartz-manager-core/pom.xml rename {quartz-manager-api => quartz-manager-parent/quartz-manager-core}/src/main/java/it/fabioformosa/quartzmanager/aspects/ProgressNotifier.java (100%) rename {quartz-manager-api => quartz-manager-parent/quartz-manager-core}/src/main/java/it/fabioformosa/quartzmanager/aspects/WebSocketProgressNotifier.java (100%) rename {quartz-manager-api => quartz-manager-parent/quartz-manager-core}/src/main/java/it/fabioformosa/quartzmanager/configuration/SchedulerConfig.java (100%) rename {quartz-manager-api => quartz-manager-parent/quartz-manager-core}/src/main/java/it/fabioformosa/quartzmanager/configuration/SwaggerConfig.java (100%) rename {quartz-manager-api => quartz-manager-parent/quartz-manager-core}/src/main/java/it/fabioformosa/quartzmanager/configuration/WebsocketConfig.java (100%) rename {quartz-manager-api => quartz-manager-parent/quartz-manager-core}/src/main/java/it/fabioformosa/quartzmanager/controllers/SchedulerController.java (100%) rename {quartz-manager-api => quartz-manager-parent/quartz-manager-core}/src/main/java/it/fabioformosa/quartzmanager/controllers/WebsocketController.java (100%) rename {quartz-manager-api => quartz-manager-parent/quartz-manager-core}/src/main/java/it/fabioformosa/quartzmanager/dto/SchedulerConfigParam.java (100%) rename {quartz-manager-api => quartz-manager-parent/quartz-manager-core}/src/main/java/it/fabioformosa/quartzmanager/dto/TriggerStatus.java (100%) rename {quartz-manager-api => quartz-manager-parent/quartz-manager-core}/src/main/java/it/fabioformosa/quartzmanager/enums/SchedulerStates.java (100%) rename {quartz-manager-api => quartz-manager-parent/quartz-manager-core}/src/main/java/it/fabioformosa/quartzmanager/exceptions/ExceptionHandlingController.java (100%) rename {quartz-manager-api => quartz-manager-parent/quartz-manager-core}/src/main/java/it/fabioformosa/quartzmanager/exceptions/ExceptionResponse.java (100%) rename {quartz-manager-api => quartz-manager-parent/quartz-manager-core}/src/main/java/it/fabioformosa/quartzmanager/exceptions/ResourceConflictException.java (100%) rename {quartz-manager-api => quartz-manager-parent/quartz-manager-core}/src/main/java/it/fabioformosa/quartzmanager/jobs/AbstractLoggingJob.java (100%) rename {quartz-manager-api => quartz-manager-parent/quartz-manager-core}/src/main/java/it/fabioformosa/quartzmanager/jobs/entities/LogRecord.java (100%) rename {quartz-manager-api => quartz-manager-parent/quartz-manager-core}/src/main/java/it/fabioformosa/quartzmanager/scheduler/AutowiringSpringBeanJobFactory.java (100%) rename {quartz-manager-api => quartz-manager-parent/quartz-manager-core}/src/main/java/it/fabioformosa/quartzmanager/scheduler/TriggerMonitor.java (100%) rename {quartz-manager-api => quartz-manager-parent/quartz-manager-core}/src/main/java/it/fabioformosa/quartzmanager/scheduler/TriggerMonitorImpl.java (100%) create mode 100644 quartz-manager-parent/quartz-manager-core/src/test/resources/application.properties create mode 100644 quartz-manager-parent/quartz-manager-core/target/classes/META-INF/MANIFEST.MF create mode 100644 quartz-manager-parent/quartz-manager-core/target/classes/META-INF/maven/it.fabioformosa.quartz-manager/quartz-manager-core/pom.properties create mode 100644 quartz-manager-parent/quartz-manager-core/target/classes/META-INF/maven/it.fabioformosa.quartz-manager/quartz-manager-core/pom.xml create mode 100644 quartz-manager-parent/quartz-manager-core/target/classes/it/fabioformosa/quartzmanager/aspects/ProgressNotifier.class create mode 100644 quartz-manager-parent/quartz-manager-core/target/classes/it/fabioformosa/quartzmanager/aspects/WebSocketProgressNotifier.class create mode 100644 quartz-manager-parent/quartz-manager-core/target/classes/it/fabioformosa/quartzmanager/configuration/SchedulerConfig.class create mode 100644 quartz-manager-parent/quartz-manager-core/target/classes/it/fabioformosa/quartzmanager/configuration/SwaggerConfig.class create mode 100644 quartz-manager-parent/quartz-manager-core/target/classes/it/fabioformosa/quartzmanager/configuration/WebsocketConfig.class create mode 100644 quartz-manager-parent/quartz-manager-core/target/classes/it/fabioformosa/quartzmanager/controllers/SchedulerController.class create mode 100644 quartz-manager-parent/quartz-manager-core/target/classes/it/fabioformosa/quartzmanager/controllers/WebsocketController.class create mode 100644 quartz-manager-parent/quartz-manager-core/target/classes/it/fabioformosa/quartzmanager/dto/SchedulerConfigParam.class create mode 100644 quartz-manager-parent/quartz-manager-core/target/classes/it/fabioformosa/quartzmanager/dto/TriggerStatus.class create mode 100644 quartz-manager-parent/quartz-manager-core/target/classes/it/fabioformosa/quartzmanager/enums/SchedulerStates.class create mode 100644 quartz-manager-parent/quartz-manager-core/target/classes/it/fabioformosa/quartzmanager/exceptions/ExceptionHandlingController.class create mode 100644 quartz-manager-parent/quartz-manager-core/target/classes/it/fabioformosa/quartzmanager/exceptions/ExceptionResponse.class create mode 100644 quartz-manager-parent/quartz-manager-core/target/classes/it/fabioformosa/quartzmanager/exceptions/ResourceConflictException.class create mode 100644 quartz-manager-parent/quartz-manager-core/target/classes/it/fabioformosa/quartzmanager/jobs/AbstractLoggingJob.class create mode 100644 quartz-manager-parent/quartz-manager-core/target/classes/it/fabioformosa/quartzmanager/jobs/entities/LogRecord$LogType.class create mode 100644 quartz-manager-parent/quartz-manager-core/target/classes/it/fabioformosa/quartzmanager/jobs/entities/LogRecord.class create mode 100644 quartz-manager-parent/quartz-manager-core/target/classes/it/fabioformosa/quartzmanager/scheduler/AutowiringSpringBeanJobFactory.class create mode 100644 quartz-manager-parent/quartz-manager-core/target/classes/it/fabioformosa/quartzmanager/scheduler/TriggerMonitor.class create mode 100644 quartz-manager-parent/quartz-manager-core/target/classes/it/fabioformosa/quartzmanager/scheduler/TriggerMonitorImpl.class create mode 100644 quartz-manager-parent/quartz-manager-core/target/test-classes/application.properties diff --git a/quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/security/helpers/impl/JwtTokenHelper.java b/quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/security/helpers/impl/JwtTokenHelper.java deleted file mode 100644 index b7f24d7..0000000 --- a/quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/security/helpers/impl/JwtTokenHelper.java +++ /dev/null @@ -1,162 +0,0 @@ -package it.fabioformosa.quartzmanager.security.helpers.impl; - -import java.nio.charset.StandardCharsets; -import java.util.Base64; -import java.util.Date; -import java.util.Map; - -import javax.servlet.http.Cookie; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - -import org.joda.time.DateTime; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import io.jsonwebtoken.Claims; -import io.jsonwebtoken.Jwts; -import io.jsonwebtoken.SignatureAlgorithm; -import it.fabioformosa.quartzmanager.configuration.properties.JwtSecurityProperties; - -/** - * - * @author Fabio.Formosa - * - */ - -public class JwtTokenHelper { - - private static final Logger log = LoggerFactory.getLogger(JwtTokenHelper.class); - - private static String base64EncodeSecretKey(String secretKey) { - return Base64.getEncoder().encodeToString(secretKey.getBytes(StandardCharsets.UTF_8)); - } - - // @Value("${app.name}") - private final String appName; - - // @Autowired - private final JwtSecurityProperties jwtSecurityProps; - - private SignatureAlgorithm SIGNATURE_ALGORITHM = SignatureAlgorithm.HS512; - - // @Autowired - public JwtTokenHelper(String appName, JwtSecurityProperties jwtSecurityProps) { - super(); - this.appName = appName; - this.jwtSecurityProps = jwtSecurityProps; - } - - public Boolean canTokenBeRefreshed(String token) { - try { - final Date expirationDate = getClaimsFromToken(token).getExpiration(); - // String username = getUsernameFromToken(token); - // UserDetails userDetails = userDetailsService.loadUserByUsername(username); - return expirationDate.compareTo(generateCurrentDate()) > 0; - } catch (Exception e) { - return false; - } - } - - private Date generateCurrentDate() { - return new Date(getCurrentTimeMillis()); - } - - private Date generateExpirationDate() { - return new Date(getCurrentTimeMillis() + jwtSecurityProps.getExpirationInSec() * 1000); - } - - private String generateToken(Map claims) { - return Jwts.builder().setClaims(claims).setExpiration(generateExpirationDate()) - .signWith(SIGNATURE_ALGORITHM, base64EncodeSecretKey(jwtSecurityProps.getSecret())).compact(); - } - - public String generateToken(String username) { - return Jwts.builder().setIssuer(appName).setSubject(username).setIssuedAt(generateCurrentDate()) - .setExpiration(generateExpirationDate()) - .signWith(SIGNATURE_ALGORITHM, base64EncodeSecretKey(jwtSecurityProps.getSecret())).compact(); - } - - private Claims getClaimsFromToken(String token) { - Claims claims; - try { - claims = Jwts.parser().setSigningKey(base64EncodeSecretKey(jwtSecurityProps.getSecret())) - .parseClaimsJws(token).getBody(); - } catch (Exception e) { - claims = null; - log.error("Error getting claims from jwt token due to " + e.getMessage(), e); - } - return claims; - } - - /** - * Find a specific HTTP cookie in a request. - * - * @param request - * The HTTP request object. - * @param name - * The cookie name to look for. - * @return The cookie, or null if not found. - */ - public Cookie getCookieValueByName(HttpServletRequest request, String name) { - if (request.getCookies() == null) - return null; - for (int i = 0; i < request.getCookies().length; i++) - if (request.getCookies()[i].getName().equals(name)) - return request.getCookies()[i]; - return null; - } - - private long getCurrentTimeMillis() { - return DateTime.now().getMillis(); - } - - public String getUsernameFromToken(String token) { - String username; - try { - final Claims claims = getClaimsFromToken(token); - username = claims.getSubject(); - } catch (Exception e) { - username = null; - log.error("Error getting claims from jwt token due to " + e.getMessage(), e); - throw e; - } - return username; - } - - public String refreshToken(String token) { - String refreshedToken; - try { - final Claims claims = getClaimsFromToken(token); - claims.setIssuedAt(generateCurrentDate()); - refreshedToken = generateToken(claims); - } catch (Exception e) { - log.error("Error refreshing jwt token due to " + e.getMessage(), e); - refreshedToken = null; - } - return refreshedToken; - } - - public String retrieveToken(HttpServletRequest request) { - if (jwtSecurityProps.getCookieStrategy().isEnabled() == true) { - Cookie authCookie = getCookieValueByName(request, jwtSecurityProps.getCookieStrategy().getCookie()); - if (authCookie != null) - return authCookie.getValue(); - } - - if (jwtSecurityProps.getHeaderStrategy().isEnabled()) { - String authHeader = request.getHeader(jwtSecurityProps.getHeaderStrategy().getHeader()); - if (authHeader != null && authHeader.startsWith("Bearer ")) - return authHeader.substring(7); - } - - if(request.getParameter("access_token") != null) - return request.getParameter("access_token"); - - return null; - } - - public void setHeader(HttpServletResponse response, String token) { - response.addHeader(jwtSecurityProps.getHeaderStrategy().getHeader(), "Bearer " + token); - } -} diff --git a/quartz-manager-parent/pom.xml b/quartz-manager-parent/pom.xml index c37c579..3ae3655 100644 --- a/quartz-manager-parent/pom.xml +++ b/quartz-manager-parent/pom.xml @@ -1,7 +1,33 @@ - + 4.0.0 + + + org.springframework.boot + spring-boot-starter-parent + 2.3.4.RELEASE + + it.fabioformosa.quartz-manager quartz-manager-parent 2.2.1-SNAPSHOT + pom + + + quartz-manager-core + quartz-manager-api + + + + + + it.fabioformosa.quartz-manager + quartz-manager-core + 2.2.1-SNAPSHOT + + + + \ No newline at end of file diff --git a/quartz-manager-api/.gitignore b/quartz-manager-parent/quartz-manager-api/.gitignore similarity index 100% rename from quartz-manager-api/.gitignore rename to quartz-manager-parent/quartz-manager-api/.gitignore diff --git a/quartz-manager-api/pom.xml b/quartz-manager-parent/quartz-manager-api/pom.xml similarity index 54% rename from quartz-manager-api/pom.xml rename to quartz-manager-parent/quartz-manager-api/pom.xml index 78086ae..066cd07 100644 --- a/quartz-manager-api/pom.xml +++ b/quartz-manager-parent/quartz-manager-api/pom.xml @@ -3,21 +3,19 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 - it.fabioformosa + + it.fabioformosa.quartz-manager + quartz-manager-parent + 2.2.1-SNAPSHOT + + quartz-manager-api - 2.2.1-SNAPSHOT - war + + war quartz-manager Manager Panel for Quartz Scheduler - - org.springframework.boot - spring-boot-parent - 2.1.4.RELEASE - - - UTF-8 UTF-8 @@ -26,15 +24,16 @@ + + it.fabioformosa.quartz-manager + quartz-manager-core + + org.springframework.boot spring-boot-starter-web - - org.springframework.boot - spring-boot-starter-mail - org.springframework.boot spring-boot-starter-security @@ -47,18 +46,6 @@ org.springframework.boot spring-boot-devtools - - org.springframework.boot - spring-boot-starter-websocket - - - org.springframework - spring-messaging - - - org.springframework - spring-tx - org.springframework.boot spring-boot-configuration-processor @@ -81,10 +68,6 @@ jjwt 0.9.0 - - joda-time - joda-time - com.fasterxml.jackson.core jackson-databind @@ -119,60 +102,7 @@ org.apache.commons commons-lang3 - 3.10 - - - - org.quartz-scheduler - quartz - - - org.apache.commons - commons-io - 1.3.2 - - - - - io.projectreactor - reactor-core - - - io.projectreactor - reactor-net - 2.0.8.RELEASE - - - io.projectreactor.spring - reactor-spring-context - 2.0.7.RELEASE - - - io.netty - netty-all - - - org.springframework.boot - spring-boot-starter-aop - - - org.yaml - snakeyaml - - - - - io.springfox - springfox-swagger2 - ${springfox.version} - - - io.springfox - springfox-swagger-ui - ${springfox.version} - - @@ -199,25 +129,6 @@ 1.8 - - - - - - - - - - - - - - - - - - - diff --git a/quartz-manager-api/src/main/java/it/fabioformosa/QuartManagerApplication.java b/quartz-manager-parent/quartz-manager-api/src/main/java/it/fabioformosa/QuartManagerApplication.java similarity index 100% rename from quartz-manager-api/src/main/java/it/fabioformosa/QuartManagerApplication.java rename to quartz-manager-parent/quartz-manager-api/src/main/java/it/fabioformosa/QuartManagerApplication.java diff --git a/quartz-manager-api/src/main/java/it/fabioformosa/ServletInitializer.java b/quartz-manager-parent/quartz-manager-api/src/main/java/it/fabioformosa/ServletInitializer.java similarity index 100% rename from quartz-manager-api/src/main/java/it/fabioformosa/ServletInitializer.java rename to quartz-manager-parent/quartz-manager-api/src/main/java/it/fabioformosa/ServletInitializer.java diff --git a/quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/configuration/WebSecurityConfigJWT.java b/quartz-manager-parent/quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/configuration/WebSecurityConfigJWT.java similarity index 100% rename from quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/configuration/WebSecurityConfigJWT.java rename to quartz-manager-parent/quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/configuration/WebSecurityConfigJWT.java diff --git a/quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/configuration/properties/InMemoryAccountProperties.java b/quartz-manager-parent/quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/configuration/properties/InMemoryAccountProperties.java similarity index 100% rename from quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/configuration/properties/InMemoryAccountProperties.java rename to quartz-manager-parent/quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/configuration/properties/InMemoryAccountProperties.java diff --git a/quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/configuration/properties/JwtSecurityProperties.java b/quartz-manager-parent/quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/configuration/properties/JwtSecurityProperties.java similarity index 100% rename from quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/configuration/properties/JwtSecurityProperties.java rename to quartz-manager-parent/quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/configuration/properties/JwtSecurityProperties.java diff --git a/quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/controllers/AuthenticationController.java b/quartz-manager-parent/quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/controllers/AuthenticationController.java similarity index 100% rename from quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/controllers/AuthenticationController.java rename to quartz-manager-parent/quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/controllers/AuthenticationController.java diff --git a/quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/controllers/QuartzManagerController.java b/quartz-manager-parent/quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/controllers/QuartzManagerController.java similarity index 100% rename from quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/controllers/QuartzManagerController.java rename to quartz-manager-parent/quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/controllers/QuartzManagerController.java diff --git a/quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/controllers/SessionController.java b/quartz-manager-parent/quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/controllers/SessionController.java similarity index 100% rename from quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/controllers/SessionController.java rename to quartz-manager-parent/quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/controllers/SessionController.java diff --git a/quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/controllers/UserController.java b/quartz-manager-parent/quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/controllers/UserController.java similarity index 100% rename from quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/controllers/UserController.java rename to quartz-manager-parent/quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/controllers/UserController.java diff --git a/quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/jobs/myjobs/SampleJob.java b/quartz-manager-parent/quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/jobs/myjobs/SampleJob.java similarity index 70% rename from quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/jobs/myjobs/SampleJob.java rename to quartz-manager-parent/quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/jobs/myjobs/SampleJob.java index a6e032c..203c5b5 100644 --- a/quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/jobs/myjobs/SampleJob.java +++ b/quartz-manager-parent/quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/jobs/myjobs/SampleJob.java @@ -6,11 +6,12 @@ import it.fabioformosa.quartzmanager.jobs.AbstractLoggingJob; import it.fabioformosa.quartzmanager.jobs.entities.LogRecord; import it.fabioformosa.quartzmanager.jobs.entities.LogRecord.LogType; + public class SampleJob extends AbstractLoggingJob { - @Override - public LogRecord doIt(JobExecutionContext jobExecutionContext) { - return new LogRecord(LogType.INFO, "Hello!"); - } + @Override + public LogRecord doIt(JobExecutionContext jobExecutionContext) { + return new LogRecord(LogType.INFO, "Hello!"); + } } diff --git a/quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/jobs/tests/MisfireTestJob.java b/quartz-manager-parent/quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/jobs/tests/MisfireTestJob.java similarity index 100% rename from quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/jobs/tests/MisfireTestJob.java rename to quartz-manager-parent/quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/jobs/tests/MisfireTestJob.java diff --git a/quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/security/helpers/LoginConfigurer.java b/quartz-manager-parent/quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/security/helpers/LoginConfigurer.java similarity index 100% rename from quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/security/helpers/LoginConfigurer.java rename to quartz-manager-parent/quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/security/helpers/LoginConfigurer.java diff --git a/quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/security/helpers/impl/AjaxAuthenticationFilter.java b/quartz-manager-parent/quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/security/helpers/impl/AjaxAuthenticationFilter.java similarity index 100% rename from quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/security/helpers/impl/AjaxAuthenticationFilter.java rename to quartz-manager-parent/quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/security/helpers/impl/AjaxAuthenticationFilter.java diff --git a/quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/security/helpers/impl/AnonAuthentication.java b/quartz-manager-parent/quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/security/helpers/impl/AnonAuthentication.java similarity index 100% rename from quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/security/helpers/impl/AnonAuthentication.java rename to quartz-manager-parent/quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/security/helpers/impl/AnonAuthentication.java diff --git a/quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/security/helpers/impl/AuthenticationFailureHandler.java b/quartz-manager-parent/quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/security/helpers/impl/AuthenticationFailureHandler.java similarity index 100% rename from quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/security/helpers/impl/AuthenticationFailureHandler.java rename to quartz-manager-parent/quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/security/helpers/impl/AuthenticationFailureHandler.java diff --git a/quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/security/helpers/impl/AuthenticationSuccessHandler.java b/quartz-manager-parent/quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/security/helpers/impl/AuthenticationSuccessHandler.java similarity index 100% rename from quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/security/helpers/impl/AuthenticationSuccessHandler.java rename to quartz-manager-parent/quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/security/helpers/impl/AuthenticationSuccessHandler.java diff --git a/quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/security/helpers/impl/ComboEntryPoint.java b/quartz-manager-parent/quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/security/helpers/impl/ComboEntryPoint.java similarity index 100% rename from quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/security/helpers/impl/ComboEntryPoint.java rename to quartz-manager-parent/quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/security/helpers/impl/ComboEntryPoint.java diff --git a/quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/security/helpers/impl/FormLoginConfig.java b/quartz-manager-parent/quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/security/helpers/impl/FormLoginConfig.java similarity index 100% rename from quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/security/helpers/impl/FormLoginConfig.java rename to quartz-manager-parent/quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/security/helpers/impl/FormLoginConfig.java diff --git a/quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/security/helpers/impl/JwtAuthenticationFilter.java b/quartz-manager-parent/quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/security/helpers/impl/JwtAuthenticationFilter.java similarity index 100% rename from quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/security/helpers/impl/JwtAuthenticationFilter.java rename to quartz-manager-parent/quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/security/helpers/impl/JwtAuthenticationFilter.java diff --git a/quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/security/helpers/impl/JwtAuthenticationSuccessHandler.java b/quartz-manager-parent/quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/security/helpers/impl/JwtAuthenticationSuccessHandler.java similarity index 100% rename from quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/security/helpers/impl/JwtAuthenticationSuccessHandler.java rename to quartz-manager-parent/quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/security/helpers/impl/JwtAuthenticationSuccessHandler.java diff --git a/quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/security/helpers/impl/JwtAuthenticationSuccessHandlerImpl.java b/quartz-manager-parent/quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/security/helpers/impl/JwtAuthenticationSuccessHandlerImpl.java similarity index 100% rename from quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/security/helpers/impl/JwtAuthenticationSuccessHandlerImpl.java rename to quartz-manager-parent/quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/security/helpers/impl/JwtAuthenticationSuccessHandlerImpl.java diff --git a/quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/security/helpers/impl/JwtTokenAuthenticationFilter.java b/quartz-manager-parent/quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/security/helpers/impl/JwtTokenAuthenticationFilter.java similarity index 100% rename from quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/security/helpers/impl/JwtTokenAuthenticationFilter.java rename to quartz-manager-parent/quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/security/helpers/impl/JwtTokenAuthenticationFilter.java diff --git a/quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/security/helpers/impl/JwtTokenBasedAuthentication.java b/quartz-manager-parent/quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/security/helpers/impl/JwtTokenBasedAuthentication.java similarity index 100% rename from quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/security/helpers/impl/JwtTokenBasedAuthentication.java rename to quartz-manager-parent/quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/security/helpers/impl/JwtTokenBasedAuthentication.java diff --git a/quartz-manager-parent/quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/security/helpers/impl/JwtTokenHelper.java b/quartz-manager-parent/quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/security/helpers/impl/JwtTokenHelper.java new file mode 100644 index 0000000..a4bc953 --- /dev/null +++ b/quartz-manager-parent/quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/security/helpers/impl/JwtTokenHelper.java @@ -0,0 +1,163 @@ +package it.fabioformosa.quartzmanager.security.helpers.impl; + +import java.nio.charset.StandardCharsets; +import java.time.LocalDateTime; +import java.time.ZoneId; +import java.util.Base64; +import java.util.Date; +import java.util.Map; + +import javax.servlet.http.Cookie; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import io.jsonwebtoken.Claims; +import io.jsonwebtoken.Jwts; +import io.jsonwebtoken.SignatureAlgorithm; +import it.fabioformosa.quartzmanager.configuration.properties.JwtSecurityProperties; + +/** + * + * @author Fabio.Formosa + * + */ + +public class JwtTokenHelper { + + private static final Logger log = LoggerFactory.getLogger(JwtTokenHelper.class); + + private static String base64EncodeSecretKey(String secretKey) { + return Base64.getEncoder().encodeToString(secretKey.getBytes(StandardCharsets.UTF_8)); + } + + // @Value("${app.name}") + private final String appName; + + // @Autowired + private final JwtSecurityProperties jwtSecurityProps; + + private SignatureAlgorithm SIGNATURE_ALGORITHM = SignatureAlgorithm.HS512; + + // @Autowired + public JwtTokenHelper(String appName, JwtSecurityProperties jwtSecurityProps) { + super(); + this.appName = appName; + this.jwtSecurityProps = jwtSecurityProps; + } + + public Boolean canTokenBeRefreshed(String token) { + try { + final Date expirationDate = getClaimsFromToken(token).getExpiration(); + // String username = getUsernameFromToken(token); + // UserDetails userDetails = userDetailsService.loadUserByUsername(username); + return expirationDate.compareTo(generateCurrentDate()) > 0; + } catch (Exception e) { + return false; + } + } + + private Date generateCurrentDate() { + return new Date(getCurrentTimeMillis()); + } + + private Date generateExpirationDate() { + return new Date(getCurrentTimeMillis() + jwtSecurityProps.getExpirationInSec() * 1000); + } + + private String generateToken(Map claims) { + return Jwts.builder().setClaims(claims).setExpiration(generateExpirationDate()) + .signWith(SIGNATURE_ALGORITHM, base64EncodeSecretKey(jwtSecurityProps.getSecret())).compact(); + } + + public String generateToken(String username) { + return Jwts.builder().setIssuer(appName).setSubject(username).setIssuedAt(generateCurrentDate()) + .setExpiration(generateExpirationDate()) + .signWith(SIGNATURE_ALGORITHM, base64EncodeSecretKey(jwtSecurityProps.getSecret())).compact(); + } + + private Claims getClaimsFromToken(String token) { + Claims claims; + try { + claims = Jwts.parser().setSigningKey(base64EncodeSecretKey(jwtSecurityProps.getSecret())) + .parseClaimsJws(token).getBody(); + } catch (Exception e) { + claims = null; + log.error("Error getting claims from jwt token due to " + e.getMessage(), e); + } + return claims; + } + + /** + * Find a specific HTTP cookie in a request. + * + * @param request + * The HTTP request object. + * @param name + * The cookie name to look for. + * @return The cookie, or null if not found. + */ + public Cookie getCookieValueByName(HttpServletRequest request, String name) { + if (request.getCookies() == null) + return null; + for (int i = 0; i < request.getCookies().length; i++) + if (request.getCookies()[i].getName().equals(name)) + return request.getCookies()[i]; + return null; + } + + private long getCurrentTimeMillis() { + return LocalDateTime.now().atZone(ZoneId.of("Europe/Rome")).toInstant().toEpochMilli(); + } + + public String getUsernameFromToken(String token) { + String username; + try { + final Claims claims = getClaimsFromToken(token); + username = claims.getSubject(); + } catch (Exception e) { + username = null; + log.error("Error getting claims from jwt token due to " + e.getMessage(), e); + throw e; + } + return username; + } + + public String refreshToken(String token) { + String refreshedToken; + try { + final Claims claims = getClaimsFromToken(token); + claims.setIssuedAt(generateCurrentDate()); + refreshedToken = generateToken(claims); + } catch (Exception e) { + log.error("Error refreshing jwt token due to " + e.getMessage(), e); + refreshedToken = null; + } + return refreshedToken; + } + + public String retrieveToken(HttpServletRequest request) { + if (jwtSecurityProps.getCookieStrategy().isEnabled() == true) { + Cookie authCookie = getCookieValueByName(request, jwtSecurityProps.getCookieStrategy().getCookie()); + if (authCookie != null) + return authCookie.getValue(); + } + + if (jwtSecurityProps.getHeaderStrategy().isEnabled()) { + String authHeader = request.getHeader(jwtSecurityProps.getHeaderStrategy().getHeader()); + if (authHeader != null && authHeader.startsWith("Bearer ")) + return authHeader.substring(7); + } + + if(request.getParameter("access_token") != null) + return request.getParameter("access_token"); + + return null; + } + + public void setHeader(HttpServletResponse response, String token) { + response.addHeader(jwtSecurityProps.getHeaderStrategy().getHeader(), "Bearer " + token); + } +} diff --git a/quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/security/helpers/impl/JwtUsernamePasswordFiterLoginConfig.java b/quartz-manager-parent/quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/security/helpers/impl/JwtUsernamePasswordFiterLoginConfig.java similarity index 100% rename from quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/security/helpers/impl/JwtUsernamePasswordFiterLoginConfig.java rename to quartz-manager-parent/quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/security/helpers/impl/JwtUsernamePasswordFiterLoginConfig.java diff --git a/quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/security/helpers/impl/LogoutSuccess.java b/quartz-manager-parent/quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/security/helpers/impl/LogoutSuccess.java similarity index 100% rename from quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/security/helpers/impl/LogoutSuccess.java rename to quartz-manager-parent/quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/security/helpers/impl/LogoutSuccess.java diff --git a/quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/security/helpers/impl/QuartzManagerHttpSecurity.java b/quartz-manager-parent/quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/security/helpers/impl/QuartzManagerHttpSecurity.java similarity index 100% rename from quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/security/helpers/impl/QuartzManagerHttpSecurity.java rename to quartz-manager-parent/quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/security/helpers/impl/QuartzManagerHttpSecurity.java diff --git a/quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/security/helpers/impl/RESTRequestMatcher.java b/quartz-manager-parent/quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/security/helpers/impl/RESTRequestMatcher.java similarity index 100% rename from quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/security/helpers/impl/RESTRequestMatcher.java rename to quartz-manager-parent/quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/security/helpers/impl/RESTRequestMatcher.java diff --git a/quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/security/helpers/impl/RestAuthenticationEntryPoint.java b/quartz-manager-parent/quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/security/helpers/impl/RestAuthenticationEntryPoint.java similarity index 100% rename from quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/security/helpers/impl/RestAuthenticationEntryPoint.java rename to quartz-manager-parent/quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/security/helpers/impl/RestAuthenticationEntryPoint.java diff --git a/quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/security/helpers/impl/WebsocketRequestMatcher.java b/quartz-manager-parent/quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/security/helpers/impl/WebsocketRequestMatcher.java similarity index 100% rename from quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/security/helpers/impl/WebsocketRequestMatcher.java rename to quartz-manager-parent/quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/security/helpers/impl/WebsocketRequestMatcher.java diff --git a/quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/security/model/Authority.java b/quartz-manager-parent/quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/security/model/Authority.java similarity index 100% rename from quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/security/model/Authority.java rename to quartz-manager-parent/quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/security/model/Authority.java diff --git a/quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/security/model/User.java b/quartz-manager-parent/quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/security/model/User.java similarity index 100% rename from quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/security/model/User.java rename to quartz-manager-parent/quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/security/model/User.java diff --git a/quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/security/model/UserRequest.java b/quartz-manager-parent/quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/security/model/UserRequest.java similarity index 100% rename from quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/security/model/UserRequest.java rename to quartz-manager-parent/quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/security/model/UserRequest.java diff --git a/quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/security/model/UserTokenState.java b/quartz-manager-parent/quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/security/model/UserTokenState.java similarity index 100% rename from quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/security/model/UserTokenState.java rename to quartz-manager-parent/quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/security/model/UserTokenState.java diff --git a/quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/security/repository/AuthorityRepository.java b/quartz-manager-parent/quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/security/repository/AuthorityRepository.java similarity index 100% rename from quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/security/repository/AuthorityRepository.java rename to quartz-manager-parent/quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/security/repository/AuthorityRepository.java diff --git a/quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/security/repository/UserRepository.java b/quartz-manager-parent/quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/security/repository/UserRepository.java similarity index 100% rename from quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/security/repository/UserRepository.java rename to quartz-manager-parent/quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/security/repository/UserRepository.java diff --git a/quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/security/service/AuthorityService.java b/quartz-manager-parent/quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/security/service/AuthorityService.java similarity index 100% rename from quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/security/service/AuthorityService.java rename to quartz-manager-parent/quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/security/service/AuthorityService.java diff --git a/quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/security/service/UserService.java b/quartz-manager-parent/quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/security/service/UserService.java similarity index 100% rename from quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/security/service/UserService.java rename to quartz-manager-parent/quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/security/service/UserService.java diff --git a/quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/security/service/impl/AuthorityServiceImpl.java b/quartz-manager-parent/quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/security/service/impl/AuthorityServiceImpl.java similarity index 100% rename from quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/security/service/impl/AuthorityServiceImpl.java rename to quartz-manager-parent/quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/security/service/impl/AuthorityServiceImpl.java diff --git a/quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/security/service/impl/CustomUserDetailsService.java b/quartz-manager-parent/quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/security/service/impl/CustomUserDetailsService.java similarity index 100% rename from quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/security/service/impl/CustomUserDetailsService.java rename to quartz-manager-parent/quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/security/service/impl/CustomUserDetailsService.java diff --git a/quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/security/service/impl/UserServiceImpl.java b/quartz-manager-parent/quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/security/service/impl/UserServiceImpl.java similarity index 100% rename from quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/security/service/impl/UserServiceImpl.java rename to quartz-manager-parent/quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/security/service/impl/UserServiceImpl.java diff --git a/quartz-manager-api/src/main/resources/_disabled_import.sql_off b/quartz-manager-parent/quartz-manager-api/src/main/resources/_disabled_import.sql_off similarity index 100% rename from quartz-manager-api/src/main/resources/_disabled_import.sql_off rename to quartz-manager-parent/quartz-manager-api/src/main/resources/_disabled_import.sql_off diff --git a/quartz-manager-api/src/main/resources/application.yml b/quartz-manager-parent/quartz-manager-api/src/main/resources/application.yml similarity index 100% rename from quartz-manager-api/src/main/resources/application.yml rename to quartz-manager-parent/quartz-manager-api/src/main/resources/application.yml diff --git a/quartz-manager-api/src/main/resources/banner.txt b/quartz-manager-parent/quartz-manager-api/src/main/resources/banner.txt similarity index 100% rename from quartz-manager-api/src/main/resources/banner.txt rename to quartz-manager-parent/quartz-manager-api/src/main/resources/banner.txt diff --git a/quartz-manager-api/src/main/resources/logback.xml b/quartz-manager-parent/quartz-manager-api/src/main/resources/logback.xml similarity index 100% rename from quartz-manager-api/src/main/resources/logback.xml rename to quartz-manager-parent/quartz-manager-api/src/main/resources/logback.xml diff --git a/quartz-manager-api/src/main/resources/quartz-manager-2-screenshot_800.PNG b/quartz-manager-parent/quartz-manager-api/src/main/resources/quartz-manager-2-screenshot_800.PNG similarity index 100% rename from quartz-manager-api/src/main/resources/quartz-manager-2-screenshot_800.PNG rename to quartz-manager-parent/quartz-manager-api/src/main/resources/quartz-manager-2-screenshot_800.PNG diff --git a/quartz-manager-api/src/main/resources/quartz.properties b/quartz-manager-parent/quartz-manager-api/src/main/resources/quartz.properties similarity index 100% rename from quartz-manager-api/src/main/resources/quartz.properties rename to quartz-manager-parent/quartz-manager-api/src/main/resources/quartz.properties diff --git a/quartz-manager-api/src/test/java/it/fabioformosa/QuartManagerApplicationTests.java b/quartz-manager-parent/quartz-manager-api/src/test/java/it/fabioformosa/QuartManagerApplicationTests.java similarity index 90% rename from quartz-manager-api/src/test/java/it/fabioformosa/QuartManagerApplicationTests.java rename to quartz-manager-parent/quartz-manager-api/src/test/java/it/fabioformosa/QuartManagerApplicationTests.java index 6bd3165..199dc21 100644 --- a/quartz-manager-api/src/test/java/it/fabioformosa/QuartManagerApplicationTests.java +++ b/quartz-manager-parent/quartz-manager-api/src/test/java/it/fabioformosa/QuartManagerApplicationTests.java @@ -11,8 +11,8 @@ import org.springframework.test.context.web.WebAppConfiguration; @WebAppConfiguration public class QuartManagerApplicationTests { - @Test - public void contextLoads() { - } + @Test + public void contextLoads() { + } } diff --git a/quartz-manager-parent/quartz-manager-core/.classpath b/quartz-manager-parent/quartz-manager-core/.classpath new file mode 100644 index 0000000..68d786e --- /dev/null +++ b/quartz-manager-parent/quartz-manager-core/.classpath @@ -0,0 +1,39 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/quartz-manager-parent/quartz-manager-core/.project b/quartz-manager-parent/quartz-manager-core/.project new file mode 100644 index 0000000..90a540a --- /dev/null +++ b/quartz-manager-parent/quartz-manager-core/.project @@ -0,0 +1,41 @@ + + + quartz-manager-core + + + + + + org.eclipse.wst.common.project.facet.core.builder + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.springframework.ide.eclipse.boot.validation.springbootbuilder + + + + + org.eclipse.wst.validation.validationbuilder + + + + + org.eclipse.m2e.core.maven2Builder + + + + + + org.eclipse.jem.workbench.JavaEMFNature + org.eclipse.wst.common.modulecore.ModuleCoreNature + org.eclipse.jdt.core.javanature + org.eclipse.m2e.core.maven2Nature + org.eclipse.wst.common.project.facet.core.nature + + diff --git a/quartz-manager-parent/quartz-manager-core/.settings/org.eclipse.core.resources.prefs b/quartz-manager-parent/quartz-manager-core/.settings/org.eclipse.core.resources.prefs new file mode 100644 index 0000000..04cfa2c --- /dev/null +++ b/quartz-manager-parent/quartz-manager-core/.settings/org.eclipse.core.resources.prefs @@ -0,0 +1,6 @@ +eclipse.preferences.version=1 +encoding//src/main/java=UTF-8 +encoding//src/main/resources=UTF-8 +encoding//src/test/java=UTF-8 +encoding//src/test/resources=UTF-8 +encoding/=UTF-8 diff --git a/quartz-manager-parent/quartz-manager-core/.settings/org.eclipse.jdt.core.prefs b/quartz-manager-parent/quartz-manager-core/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000..980631a --- /dev/null +++ b/quartz-manager-parent/quartz-manager-core/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,12 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.methodParameters=generate +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 +org.eclipse.jdt.core.compiler.compliance=1.8 +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning +org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=ignore +org.eclipse.jdt.core.compiler.release=disabled +org.eclipse.jdt.core.compiler.source=1.8 diff --git a/quartz-manager-parent/quartz-manager-core/.settings/org.eclipse.m2e.core.prefs b/quartz-manager-parent/quartz-manager-core/.settings/org.eclipse.m2e.core.prefs new file mode 100644 index 0000000..14b697b --- /dev/null +++ b/quartz-manager-parent/quartz-manager-core/.settings/org.eclipse.m2e.core.prefs @@ -0,0 +1,4 @@ +activeProfiles= +eclipse.preferences.version=1 +resolveWorkspaceProjects=true +version=1 diff --git a/quartz-manager-parent/quartz-manager-core/.settings/org.eclipse.wst.common.component b/quartz-manager-parent/quartz-manager-core/.settings/org.eclipse.wst.common.component new file mode 100644 index 0000000..f8a2789 --- /dev/null +++ b/quartz-manager-parent/quartz-manager-core/.settings/org.eclipse.wst.common.component @@ -0,0 +1,6 @@ + + + + + + diff --git a/quartz-manager-parent/quartz-manager-core/.settings/org.eclipse.wst.common.project.facet.core.xml b/quartz-manager-parent/quartz-manager-core/.settings/org.eclipse.wst.common.project.facet.core.xml new file mode 100644 index 0000000..6302d3e --- /dev/null +++ b/quartz-manager-parent/quartz-manager-core/.settings/org.eclipse.wst.common.project.facet.core.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/quartz-manager-parent/quartz-manager-core/.settings/org.eclipse.wst.validation.prefs b/quartz-manager-parent/quartz-manager-core/.settings/org.eclipse.wst.validation.prefs new file mode 100644 index 0000000..6f1cba6 --- /dev/null +++ b/quartz-manager-parent/quartz-manager-core/.settings/org.eclipse.wst.validation.prefs @@ -0,0 +1,2 @@ +disabled=06target +eclipse.preferences.version=1 diff --git a/quartz-manager-parent/quartz-manager-core/.settings/org.springframework.ide.eclipse.prefs b/quartz-manager-parent/quartz-manager-core/.settings/org.springframework.ide.eclipse.prefs new file mode 100644 index 0000000..e587c65 --- /dev/null +++ b/quartz-manager-parent/quartz-manager-core/.settings/org.springframework.ide.eclipse.prefs @@ -0,0 +1,2 @@ +boot.validation.initialized=true +eclipse.preferences.version=1 diff --git a/quartz-manager-parent/quartz-manager-core/pom.xml b/quartz-manager-parent/quartz-manager-core/pom.xml new file mode 100644 index 0000000..7dcc613 --- /dev/null +++ b/quartz-manager-parent/quartz-manager-core/pom.xml @@ -0,0 +1,129 @@ + + + 4.0.0 + + it.fabioformosa.quartz-manager + quartz-manager-parent + 2.2.1-SNAPSHOT + + + quartz-manager-core + + quartz-manager-core + TBD + + https://github.com/fabioformosa/quartz-manager + + ${basedir}/../.. + UTF-8 + UTF-8 + 2.9.2 + 1.8 + + + + + + org.springframework.boot + spring-boot-starter + + + org.springframework.boot + spring-boot-starter-web + + + org.springframework.boot + spring-boot-devtools + + + org.springframework.boot + spring-boot-starter-websocket + + + org.springframework.boot + spring-boot-starter-test + test + + + + + com.fasterxml.jackson.core + jackson-annotations + + + com.h2database + h2 + runtime + + + org.projectlombok + lombok + provided + + + org.apache.commons + commons-lang3 + + + + + org.quartz-scheduler + quartz + + + org.apache.commons + commons-io + 1.3.2 + + + + + io.projectreactor + reactor-core + + + io.projectreactor + reactor-net + 2.0.8.RELEASE + + + io.projectreactor.spring + reactor-spring-context + 2.0.7.RELEASE + + + io.netty + netty-all + + + org.springframework.boot + spring-boot-starter-aop + + + org.yaml + snakeyaml + + + + + io.springfox + springfox-swagger2 + ${springfox.version} + + + io.springfox + springfox-swagger-ui + ${springfox.version} + + + + + + + + org.springframework.boot + spring-boot-maven-plugin + + + + diff --git a/quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/aspects/ProgressNotifier.java b/quartz-manager-parent/quartz-manager-core/src/main/java/it/fabioformosa/quartzmanager/aspects/ProgressNotifier.java similarity index 100% rename from quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/aspects/ProgressNotifier.java rename to quartz-manager-parent/quartz-manager-core/src/main/java/it/fabioformosa/quartzmanager/aspects/ProgressNotifier.java diff --git a/quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/aspects/WebSocketProgressNotifier.java b/quartz-manager-parent/quartz-manager-core/src/main/java/it/fabioformosa/quartzmanager/aspects/WebSocketProgressNotifier.java similarity index 100% rename from quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/aspects/WebSocketProgressNotifier.java rename to quartz-manager-parent/quartz-manager-core/src/main/java/it/fabioformosa/quartzmanager/aspects/WebSocketProgressNotifier.java diff --git a/quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/configuration/SchedulerConfig.java b/quartz-manager-parent/quartz-manager-core/src/main/java/it/fabioformosa/quartzmanager/configuration/SchedulerConfig.java similarity index 100% rename from quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/configuration/SchedulerConfig.java rename to quartz-manager-parent/quartz-manager-core/src/main/java/it/fabioformosa/quartzmanager/configuration/SchedulerConfig.java diff --git a/quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/configuration/SwaggerConfig.java b/quartz-manager-parent/quartz-manager-core/src/main/java/it/fabioformosa/quartzmanager/configuration/SwaggerConfig.java similarity index 100% rename from quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/configuration/SwaggerConfig.java rename to quartz-manager-parent/quartz-manager-core/src/main/java/it/fabioformosa/quartzmanager/configuration/SwaggerConfig.java diff --git a/quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/configuration/WebsocketConfig.java b/quartz-manager-parent/quartz-manager-core/src/main/java/it/fabioformosa/quartzmanager/configuration/WebsocketConfig.java similarity index 100% rename from quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/configuration/WebsocketConfig.java rename to quartz-manager-parent/quartz-manager-core/src/main/java/it/fabioformosa/quartzmanager/configuration/WebsocketConfig.java diff --git a/quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/controllers/SchedulerController.java b/quartz-manager-parent/quartz-manager-core/src/main/java/it/fabioformosa/quartzmanager/controllers/SchedulerController.java similarity index 100% rename from quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/controllers/SchedulerController.java rename to quartz-manager-parent/quartz-manager-core/src/main/java/it/fabioformosa/quartzmanager/controllers/SchedulerController.java diff --git a/quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/controllers/WebsocketController.java b/quartz-manager-parent/quartz-manager-core/src/main/java/it/fabioformosa/quartzmanager/controllers/WebsocketController.java similarity index 100% rename from quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/controllers/WebsocketController.java rename to quartz-manager-parent/quartz-manager-core/src/main/java/it/fabioformosa/quartzmanager/controllers/WebsocketController.java diff --git a/quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/dto/SchedulerConfigParam.java b/quartz-manager-parent/quartz-manager-core/src/main/java/it/fabioformosa/quartzmanager/dto/SchedulerConfigParam.java similarity index 100% rename from quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/dto/SchedulerConfigParam.java rename to quartz-manager-parent/quartz-manager-core/src/main/java/it/fabioformosa/quartzmanager/dto/SchedulerConfigParam.java diff --git a/quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/dto/TriggerStatus.java b/quartz-manager-parent/quartz-manager-core/src/main/java/it/fabioformosa/quartzmanager/dto/TriggerStatus.java similarity index 100% rename from quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/dto/TriggerStatus.java rename to quartz-manager-parent/quartz-manager-core/src/main/java/it/fabioformosa/quartzmanager/dto/TriggerStatus.java diff --git a/quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/enums/SchedulerStates.java b/quartz-manager-parent/quartz-manager-core/src/main/java/it/fabioformosa/quartzmanager/enums/SchedulerStates.java similarity index 100% rename from quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/enums/SchedulerStates.java rename to quartz-manager-parent/quartz-manager-core/src/main/java/it/fabioformosa/quartzmanager/enums/SchedulerStates.java diff --git a/quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/exceptions/ExceptionHandlingController.java b/quartz-manager-parent/quartz-manager-core/src/main/java/it/fabioformosa/quartzmanager/exceptions/ExceptionHandlingController.java similarity index 100% rename from quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/exceptions/ExceptionHandlingController.java rename to quartz-manager-parent/quartz-manager-core/src/main/java/it/fabioformosa/quartzmanager/exceptions/ExceptionHandlingController.java diff --git a/quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/exceptions/ExceptionResponse.java b/quartz-manager-parent/quartz-manager-core/src/main/java/it/fabioformosa/quartzmanager/exceptions/ExceptionResponse.java similarity index 100% rename from quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/exceptions/ExceptionResponse.java rename to quartz-manager-parent/quartz-manager-core/src/main/java/it/fabioformosa/quartzmanager/exceptions/ExceptionResponse.java diff --git a/quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/exceptions/ResourceConflictException.java b/quartz-manager-parent/quartz-manager-core/src/main/java/it/fabioformosa/quartzmanager/exceptions/ResourceConflictException.java similarity index 100% rename from quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/exceptions/ResourceConflictException.java rename to quartz-manager-parent/quartz-manager-core/src/main/java/it/fabioformosa/quartzmanager/exceptions/ResourceConflictException.java diff --git a/quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/jobs/AbstractLoggingJob.java b/quartz-manager-parent/quartz-manager-core/src/main/java/it/fabioformosa/quartzmanager/jobs/AbstractLoggingJob.java similarity index 100% rename from quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/jobs/AbstractLoggingJob.java rename to quartz-manager-parent/quartz-manager-core/src/main/java/it/fabioformosa/quartzmanager/jobs/AbstractLoggingJob.java diff --git a/quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/jobs/entities/LogRecord.java b/quartz-manager-parent/quartz-manager-core/src/main/java/it/fabioformosa/quartzmanager/jobs/entities/LogRecord.java similarity index 100% rename from quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/jobs/entities/LogRecord.java rename to quartz-manager-parent/quartz-manager-core/src/main/java/it/fabioformosa/quartzmanager/jobs/entities/LogRecord.java diff --git a/quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/scheduler/AutowiringSpringBeanJobFactory.java b/quartz-manager-parent/quartz-manager-core/src/main/java/it/fabioformosa/quartzmanager/scheduler/AutowiringSpringBeanJobFactory.java similarity index 100% rename from quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/scheduler/AutowiringSpringBeanJobFactory.java rename to quartz-manager-parent/quartz-manager-core/src/main/java/it/fabioformosa/quartzmanager/scheduler/AutowiringSpringBeanJobFactory.java diff --git a/quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/scheduler/TriggerMonitor.java b/quartz-manager-parent/quartz-manager-core/src/main/java/it/fabioformosa/quartzmanager/scheduler/TriggerMonitor.java similarity index 100% rename from quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/scheduler/TriggerMonitor.java rename to quartz-manager-parent/quartz-manager-core/src/main/java/it/fabioformosa/quartzmanager/scheduler/TriggerMonitor.java diff --git a/quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/scheduler/TriggerMonitorImpl.java b/quartz-manager-parent/quartz-manager-core/src/main/java/it/fabioformosa/quartzmanager/scheduler/TriggerMonitorImpl.java similarity index 100% rename from quartz-manager-api/src/main/java/it/fabioformosa/quartzmanager/scheduler/TriggerMonitorImpl.java rename to quartz-manager-parent/quartz-manager-core/src/main/java/it/fabioformosa/quartzmanager/scheduler/TriggerMonitorImpl.java diff --git a/quartz-manager-parent/quartz-manager-core/src/test/resources/application.properties b/quartz-manager-parent/quartz-manager-core/src/test/resources/application.properties new file mode 100644 index 0000000..4dfe84c --- /dev/null +++ b/quartz-manager-parent/quartz-manager-core/src/test/resources/application.properties @@ -0,0 +1 @@ +name: Phil \ No newline at end of file diff --git a/quartz-manager-parent/quartz-manager-core/target/classes/META-INF/MANIFEST.MF b/quartz-manager-parent/quartz-manager-core/target/classes/META-INF/MANIFEST.MF new file mode 100644 index 0000000..82fd185 --- /dev/null +++ b/quartz-manager-parent/quartz-manager-core/target/classes/META-INF/MANIFEST.MF @@ -0,0 +1,6 @@ +Manifest-Version: 1.0 +Implementation-Title: quartz-manager-core +Implementation-Version: 2.2.1-SNAPSHOT +Build-Jdk-Spec: 1.8 +Created-By: Maven Integration for Eclipse + diff --git a/quartz-manager-parent/quartz-manager-core/target/classes/META-INF/maven/it.fabioformosa.quartz-manager/quartz-manager-core/pom.properties b/quartz-manager-parent/quartz-manager-core/target/classes/META-INF/maven/it.fabioformosa.quartz-manager/quartz-manager-core/pom.properties new file mode 100644 index 0000000..6bd5ff6 --- /dev/null +++ b/quartz-manager-parent/quartz-manager-core/target/classes/META-INF/maven/it.fabioformosa.quartz-manager/quartz-manager-core/pom.properties @@ -0,0 +1,7 @@ +#Generated by Maven Integration for Eclipse +#Wed Sep 30 23:21:55 CEST 2020 +version=2.2.1-SNAPSHOT +groupId=it.fabioformosa.quartz-manager +m2e.projectName=quartz-manager-core +m2e.projectLocation=E\:\\git\\quartz-manager\\quartz-manager-parent\\quartz-manager-core +artifactId=quartz-manager-core diff --git a/quartz-manager-parent/quartz-manager-core/target/classes/META-INF/maven/it.fabioformosa.quartz-manager/quartz-manager-core/pom.xml b/quartz-manager-parent/quartz-manager-core/target/classes/META-INF/maven/it.fabioformosa.quartz-manager/quartz-manager-core/pom.xml new file mode 100644 index 0000000..7dcc613 --- /dev/null +++ b/quartz-manager-parent/quartz-manager-core/target/classes/META-INF/maven/it.fabioformosa.quartz-manager/quartz-manager-core/pom.xml @@ -0,0 +1,129 @@ + + + 4.0.0 + + it.fabioformosa.quartz-manager + quartz-manager-parent + 2.2.1-SNAPSHOT + + + quartz-manager-core + + quartz-manager-core + TBD + + https://github.com/fabioformosa/quartz-manager + + ${basedir}/../.. + UTF-8 + UTF-8 + 2.9.2 + 1.8 + + + + + + org.springframework.boot + spring-boot-starter + + + org.springframework.boot + spring-boot-starter-web + + + org.springframework.boot + spring-boot-devtools + + + org.springframework.boot + spring-boot-starter-websocket + + + org.springframework.boot + spring-boot-starter-test + test + + + + + com.fasterxml.jackson.core + jackson-annotations + + + com.h2database + h2 + runtime + + + org.projectlombok + lombok + provided + + + org.apache.commons + commons-lang3 + + + + + org.quartz-scheduler + quartz + + + org.apache.commons + commons-io + 1.3.2 + + + + + io.projectreactor + reactor-core + + + io.projectreactor + reactor-net + 2.0.8.RELEASE + + + io.projectreactor.spring + reactor-spring-context + 2.0.7.RELEASE + + + io.netty + netty-all + + + org.springframework.boot + spring-boot-starter-aop + + + org.yaml + snakeyaml + + + + + io.springfox + springfox-swagger2 + ${springfox.version} + + + io.springfox + springfox-swagger-ui + ${springfox.version} + + + + + + + + org.springframework.boot + spring-boot-maven-plugin + + + + diff --git a/quartz-manager-parent/quartz-manager-core/target/classes/it/fabioformosa/quartzmanager/aspects/ProgressNotifier.class b/quartz-manager-parent/quartz-manager-core/target/classes/it/fabioformosa/quartzmanager/aspects/ProgressNotifier.class new file mode 100644 index 0000000000000000000000000000000000000000..7c7a05a18a79fa7ba1bbd948f60ee2b87b218ee9 GIT binary patch literal 230 zcmZ9Gv2MaZ5JYFe!GxrsNl8x{u0i|(lq3=o{bH}3L⁢&IskxQse{jQ4x!TC{nCu zM|zr>-@or40CPO&=n)n^xr%o_R6!3Rvis~<)7ODpu0>6%s_qN*`N64bIC80lk-4aI2b0Np%LmP8E5+*_GTfW;AA5wOW=$$cs6FMzq ivI!T6#v~O?Ur_FDFx(V5LBcuSipinptPn`18u2EE#d>&B)4JPWH;U2losFb zCyF1L@w+pA(itaAWyaBQhH?C&e~_d8?j{XOX~7vks5ne{#6yv(GX?5y-BTqo~J&l`7q zYub{ohN!@X8FSt=3Z|Vm&Shq(prJ|N$bW-gi73!fqyaN;+4)IXEEP;&3Ji@pZr<=p zF1gdLS(H~Cch;y28lF`w8EGzKfv!wTJ4exTCFz>J<=9?aU|Xte`&Lm-S)P?C$RXQy z{OX~=(N*y?(zHFsC+j=zqG8q*jG?mcT(Ml4BkVdads*hn1?dWG31F%*G}6m_3hfwG zF;^)FkViu?T?d0>Iiqo~JZ2(+AD z$jVZX3=Izp#8gIChN>>3VW)s`f8#mdS-yXonJjxPh+)$@2<+C;3SCi;>1acHEB0Wo zh9@3am1_l7M;E$zhrIM_5ofZyy2I(N@#C%N#Xb#v3~cCzwNoAYVK7O=IV%@gldEFz zh%g87q=rKRn?f-4no>v)pSg8tH(;3=1V zt6&WC;l))%kL!rz1U0;SG&;LhDs)e&`w!?irHr)G$hcgfp{fl9H>Bff1=miv@R`yZ z)^S?tby9D_mGhQU_QJZ)=y+D?c2alcxrQ?WTf?zpJ77ImA4n^b7}YU`aW)vDs~dZ@ zGs)`YYe_1Z2_4TVnKsI#WJ#KS!eQIckY+7~z=ut%u&6+iwlCdzvrxB_!e}c}m{9jQ zuj2(=V2>c$87C8@eDmEYud*5Fm+*>)m+4)|O7&33MZ7AY5oDaLj}@_;sG#Sjebp6% zRGB(5$f}+cwpYzjShjmgwFIeS8hL?c0w)Tl$M@cO7jnQPu!UI-Gfdf?MjssMC@9C) zQ(yJof>iFQ9NRh^TWso@RIG!?-AF)DPtg|}%w>)7+s^@r@7nkE8!YsDTKbn#GV ztD`Tjnr=t7?7FprsCFiSgAeGW_cSwhPK}vWbAcIO<(UVAV?`N@B!lkWsaqyTjmG*j z5ZE3@s%EX`De?4NP}a*<_k?BFs(7lk%s81E2o3Va+1W9(RGTC%>0r!_SZdbnT=SpA zepOonJ%P!U+4K0uq~kA^q>*rnCC8SwAIEN1M1;Rat_`X%NU!6cneuVJmlbaVj_P42be;hk_AH zbgGG*KW`y+;U*p#?fC(__1V zPj8K^;Kd3q@vDMd1(z!*_QonG^=^(vFIC_Z;L66u-X**ifr>~3Dk2woe_$WOZeSM< zpobHyABQl&br6S<;Gj8!qnN-kcERH?IYwr20&_TtMM}MkAzb4u_?nX6Vwkr*jawMO zuWZAAP*X)ZMRdln7U^dEhIgnZXzx3`hxZxvL0rcN_>ev&i1rbwC@ps2V|>C4&5`;P spOL!8^UtZFC@@Ene~?3?2B9IQp;s`YvA-}#lAvEuqyb;ntLZxMFP7RHYXATM literal 0 HcmV?d00001 diff --git a/quartz-manager-parent/quartz-manager-core/target/classes/it/fabioformosa/quartzmanager/configuration/SchedulerConfig.class b/quartz-manager-parent/quartz-manager-core/target/classes/it/fabioformosa/quartzmanager/configuration/SchedulerConfig.class new file mode 100644 index 0000000000000000000000000000000000000000..1ea237be23e20f49792ebd844ec950fc967b1eb6 GIT binary patch literal 5293 zcmbtX30E7}75*NGNXP@S3E0M|9Zc+0fIw-JCXR849c*H#Sd463+ilvB7{L&skw+uj z*riF^v`xCEO_#KF_kB;=R3_oHKcGLVr{8;Tw1MELw$70>^Ok$Rd+&GeyYD~${ovmK zp27z~v$nM;-%PdmAcy;O8f&vtV0WO~_JEM_ft zTnz^i5ZJq7-Z0}?Gq)6Duz$9}IZQHjzG;cmVeiawP3qre{q#sk4@6+F60wXpOg&6GsOcx}%_D zK^OTUi&vyfXdk^mhfzm+(q77$UeTp3scq6v4Jql`VN%5C*n=qyqF3N#qX0ICIE;gc z$e#}xIE*6#dkU6ET*?;$-P(E5G=-Nw6OM$D= zEn(CA8J(JJmMuwpHBUNgfwhbYVpw3Txd84YB#f90Vhm3h_y|7AlAwcFW_j-p@CO#! zSey9SvmtjsZQvQ4&@oMVtV?IDtf^u;C4(NrNdu#D!9I$gxAM%T$s8TVLLg_KGcbnd z1v)FU;|{BiqRSm zwBeyJEGz|)VQy^MWMCOK4QID8qnd-`we{TZ4hFWC$mLR({61)b zY3=5%Z9|!~XY%>1omMRdyBEo0|D5wPx{$Z!@#l*h4I(cv(JTqh6g}srE&G+E>RM!4 zRE34%$ZF`IV8BCBmz(W)1fKl=O(2W9%x$I#Jkc4^62#|O z(i)v;X~(tV)T;P2XL`%?R>3K{X)A;;(y@NEAIVqj2;)_JNw$h#W)vGym&ejNUN`Ut zzN%Xn*$e2yWMHT0Y7Ax7s-IcM*A09_Hl$r3t}hTBreZw>qozh_?XAmM?>8(EbBygd2L+nP!P3qkymVW??T{BTK`e>U(J z{8h8kA69vJt)X8D=q}zd@UCpCWd|jbUNvDwR>nta_iPE1EbsaT(tIb~$fFETIH|I6 z!j>1Y?#dz-aAy37tQkD1cdc|a_e8zRzspki`Gy-)j>8Uzw(7FNYm>YLFWTw?OcDCY z%+BWgh^$dmr>=J+R!-g#7jcxqY-JlO&?3)6{s(1K%l{C+?FED(PfOl7`P;#%IR6Fz z+XnBU^Ibl)U@w2=PVgGEkH2y$7oZCd^FJ&PL+aSi=N24LLNa`6;d}Qc4qmy3Ly4im z5*`_9E#c9jcR1dvWOgCI=RP7i%3b}G_n4BuU+?AHG0umm?>HW(&JXiV>+a@Uly3w4 zwh6vS7|d*Lls3Fc1+smQZ6ZeXBPRpB0Ro8k2DRVOr5>Q%!))Ro!!Uu2a5S!94l4LDjN>fVQyb1=m?P%pva1l5yBQk}Lb4tdelWz%rr>{X2FoRi+vEmBM@yj4xP-a~wKpD$@o0z9r z7pG%G@8ePnVpZ&&YQZzK-~_Qht8n(|O@6qz9oO(l$_)|U3_eAnz8kM8RO5Jw8$QkF z02h5m;giu%a6~%yGM{B^I|koFY6FXjp$)85gBn(o&r|y8nqYSL+Cz*>mSL?1Q;$SB zBCv`aRZEA|D!k;I9od9Kv#-;`tiC->k+#Q#(O*(@c&T^fII} zbu_h)RJ^et-^O>8?QfA~jmU68k)gkpi+nPSD>D=?zFU3#o(j$!Wk}|ShWdH}8~A<| zk@P5VNukip4ON^IQXH1^A-qi|N=rkE!*$Gko5Py9Kg5ryrpyuTu6hptSi$a;k}AM8 zi(lhTnfK96+@&jjIx|ey{cM=|`KuCsGaUFA{&1x=mMq~kv78?Ksgh_nF78zOx> zNZcMW^(aw1PL@jNYO|shv!aaj-<8=>yv02&+}VeJ;5~*~Qog-~3&1Iv`TtbEB^CKD OzTe~f1~==JeE)ysCA9_s literal 0 HcmV?d00001 diff --git a/quartz-manager-parent/quartz-manager-core/target/classes/it/fabioformosa/quartzmanager/configuration/SwaggerConfig.class b/quartz-manager-parent/quartz-manager-core/target/classes/it/fabioformosa/quartzmanager/configuration/SwaggerConfig.class new file mode 100644 index 0000000000000000000000000000000000000000..bfa5c258589cb502ed3cfc6ffdbfb024781034fb GIT binary patch literal 4551 zcmb_fX?qjb6@IU`5sC;z1X8DgIFv=Uu?C!yfCL2D5yY)*jAcxnq)A7kYiU555i=u$ z(NsLR`qdsDwHOS&iB<(l*(0lHz^jvorSE=$wPW+)>PTx>QPj_V5y zoU?4pzaY??8eS0Sn{>)Dj$Z6apdSMQdkU5C|#gWDd>uQX%= zAHbl%uHyCF<;(fGH^&9^EfCm5LN<;hKByx0jKFwmhnt5N)b>LOJc}U`!jm;=k{P+3 z#Uayi=AM@9r{g7xnO6cxdbCQ!h1hYpr>Rlo!;ZWYOf74!xb&8XsedNHyxl0X-(;HrjM zV%BzUQst$o`VfJcLs4M2$K+v?aqJMEBb@+m1<$nv78E>t*Wig1dog^BE#>O9+}!-D zL({pL94p{ZZgwh$S6R}p2CZ>uI_!-@V?%TK;(Yk~b#nVu`egcK3~x|Eu3-@Hp#r_M zJvlV4=071YQT6?Xm(lf#Nv|88&rV#Jn#|7>^9q_$0w&6& znXEVbmC*MjF>hlP1Xjb6!13*v8>Lhn5>-W1_PoD#;uw{v4&v=(W;^W)c!Ml{c<}*o z+g!-1b3(sw`Qc$8fS|Lqviz2%XS!BHF^BbLnYBImdV;9dy(>$_FomzVHU3qUq&>{| z?rked`8CtIs}{ytARc`M!uBjnyX?66J3dJesNB0TL;?rapI_L3qchCphPCImHE3bI zy6gq!(H*>{VMX9v*FZc(J|^%+d|TE2 z@J2A!w9-|-UW?UFxVM=IzOKqo0_?#yAkxB9>-7da}7Ten0}cvKRlx|lU<|)vbyMfP z8;0xYBO@{VM&Q`ihOVt9dEF?)Y~_!TFQm$}^s7#J)=(Eh7FjYfUJNLD$qK6Ux@%-w zm24i1H#I?(;|+HrmfiM^loze@-Rok=&GC*Km8a)zbx({e7|-H4o@9D?9|l_=8wm#Z z)Hu@l7HW3nE@FS@M-SqBs^7pM9^*3+F5r7NM*@#y4_EDtRz1PD67&wAYR|=cNG|>Z zPu|7TEgVcfw~7z7Fx-Mp1>-He(DyH#UF^NbM>2aC=ZmYj*uo|L{KzV1TA2SEWrQ{y z3gjN7)RQmaInL+i;-a0yGls*5YAG`QImAqa^E>0(3n-Q5l zk?BuiU8|)kG9~>Ce24i9Oo!SK!!OQp`uZ` ze**h>zjz91JVOK(NUw*=B13xl=LT-llmV`<@vDdbQ>gQ+murr~=2ssj9fpGj<(gUI3NGVm|xA+|`{yo+83l3Do{}4R?81O32@t-*UGw^?9gmLBo literal 0 HcmV?d00001 diff --git a/quartz-manager-parent/quartz-manager-core/target/classes/it/fabioformosa/quartzmanager/configuration/WebsocketConfig.class b/quartz-manager-parent/quartz-manager-core/target/classes/it/fabioformosa/quartzmanager/configuration/WebsocketConfig.class new file mode 100644 index 0000000000000000000000000000000000000000..3b981152bee6a92f385992e74f75a158160b789f GIT binary patch literal 2103 zcmbtV*>Vy=6g^EA2tl)`xFzljiA%f0Ekq+OiKV!dW06Yv)IdWzfobe%67|(D@BsHQjMOF9Qq5Ir(&t2xn&#&JB%pey>j3KKmuZW`36>aL;6Z}n682i31 zTv3&Vm$X|^)us_vX_qg_qNhu1(%uhV$I;KQtWA}B4Wry@#fZAx&}NNq$Rcl@3=z0+ zU2R(^xuR!{C|N>t0<@>n^T^vhqt~QqK{t&w41;sZRrU@;UuLSn(0^Z-WfFZDN?`zl z3?q5v%4f}bQJPnxSd$Fnd0i5W#J#o9@1pRYhXF%T5*I7-JY+73+f61l@70FKGgMNCs|oLzR-)hy8J+8RmEB zE`eAYw3?C(IwNfZ#H3cRZaqD7zTJvSG{3mFdfGf!$MSvY#%;_b2!g1 zEXw6Jdxq72PsiUqcBViZe@o3=r0(a_)5ExgD{)+AaQ-i{o_W4Yz*J7=vH)Q#_ zQB~!VpqFqhh3mM%klavq#h+M@9foI_=$_~uuz%Teq*+%bxh2k93`4wObk)$kDLE+~Ii?j=dO$N5FS?HLZfY`Rv}WkGq0rbDhXxQW&E zNGjAsR=%~}Grm2=Tb5_B`!(fnQm)e69ch literal 0 HcmV?d00001 diff --git a/quartz-manager-parent/quartz-manager-core/target/classes/it/fabioformosa/quartzmanager/controllers/SchedulerController.class b/quartz-manager-parent/quartz-manager-core/target/classes/it/fabioformosa/quartzmanager/controllers/SchedulerController.class new file mode 100644 index 0000000000000000000000000000000000000000..56e7e06ebd4f67cf3c1846d953713e88ba2a6f31 GIT binary patch literal 7254 zcmbVQX?mRecqYb-PsTb?T_7=`HuH|-sAh8`u8J` z16ZrB2%}74lj%eU^?uVDv@#=>tw#@L^^9}vh@RGmj7)UEN;?@Vl`=ARG%+x2B(r>N zDGY`YQkZ!_Kcq)fdU`0@)qlVka1?4fV)1xlf2?zV^ZwT6JqjwOFrE8sM^8I_dMay_ zS1jKL1ufCmQdn0Gwev=W@{~2CFgtE#hN5MG?gCHVqHtWa zuqT^#%n_r{w9WpM(VR|Oj_#P`uCORB(jJcLg~4c#VO!bEfWe(LPR0~Y9ah?Otc=3? z_^Itv5GUGOvXiu?Z8S+_Gu5eY=u-%_SV<#-a?ICIi#ZW2#G)|HP?$ea&8_+Xc^}bm zCKglUA;a<1S6Ei>O7GdaC8gVTQ^Sc?s-juX(ohXeVMg3c8=cvaek0SX(-y8-2lP~* zo-yUy9}GFeCXI9H6xvRK2JsK2rJDy$I`ESEhAHSJ9joX#Z(FyX(ML#Vt*6&$#!L?l za>y97GS@`MjQ(i9nN9}X*KRl+`sgUvaa+Y9!InZ;kV`2l(WtOE(Xy?rbyvKtr*3s! zds}Z^OIPRCSbN>5@UpA13TwhxO(0M7goY^2BhjSMpQS=`gXT{VDrDKvC+5CD!z|3M z##*ck<06H1{~u~JT#WS!5gO5l6H!hpid;U<{qd$SE>Tzzm`Io-qx7eT!fI^5Mh%-l z_|=eFk1=ZKbPVId#bZnsT&AHJTNGv$7R1tyk)Z|MHQOUptW`rBwkp&OW~`A8GnKOQ zYkDo8SGSRA)sGP1_1hb^hp}x+?N8?Q2->k-f@23wUcWsiQ8V2Rs-C|=x0~PJgSVI}ZrW%8m!iA>=QD4ynlStMkpGe!`0b|rnC}Hd(zJhMZ z=cmFN21Rt#=UR!&CxK&kPgi?STOv^x>)hHUaNMim3Kw`zMjtT3xKbf{YD9@mOT>&| zALa`*uhuXfHPz@xGK>Mne?VA&hXwUcnA)d>P1#;FKWur!R~pqFm8Tm7!ob4#W6hMOX= zkqv{epA}%?O=>uVG3E;D-N_6?rAVS!%=`!!OEMW>D-Nl$4aeInnf!VUH{f~19SOME zSfRFrf|sHrxDhvn@d5&{NZg&$aI*+7o%=mCMGWD0tA-Z}ziN-4yIAyov4-0urX^&1 zS>bHoxJFWT-J#(ncqwPOt8`YPlkp@ZHpo3NwS&zQvxo)E9o@Ooh)5!q=R<~EOq zkb9$sHwn2JBv(3@!do=FRrb|#Uw6hhWLjA}xcBWE-XVKyxp(3`{ge+wh4W9NGWoVG zhW!Dn-yc(06@>T{h-J!{PAUV}uuk~}SL&oknC>buE7x#+Rl*!fGu>op_KPRZZ#)sC zCys2Egh+*x*#U#4eI`p}${cXppy&bHN>}1R7MF>YG11%HyDL$NhZNXA3?rxE7>+aL znRa40>m;qQv|AkZ%H$&&9+k-|PCD!wjbs%b!-vCooSF61`N~LVM*OOsL|CLhDcH9R4qRq0q>7>m45YWSqcJHur9C(CrQ|40YBGLibz z8lDp7)4H2?CE8kL=(8F==gQNwtFtrK*;hXptJ7JssM9OfiG$BCUgUyE5S2qQ` z?2q{Q$|dO`r>4-7x<-|TZ=#GuM#ZR}wTZ21QU7JVi)Z^Z`YpE0qim%OA@7#MWs`0l zcAU}ZHvSdXMLN6ov-9e0>+G$>k6C7d;B(E+#;l{GxwBPj;7>LDOj2OTWTh7G{X)Yp zF^BN5J^sLyXE@*b#?m5|X&XFaB$->6vGWZY;3VYGt|FSMmik>yJ9PNXs<4@^sTwtdnMv3L z3bN3Soepg^OVx(eY z`UMM&Qgw!=7O68?@YrPgtuPxV-ZPZ&@kvQf7&M$e%!n)|O1I76$x1EJ)LE*IQP0}$ zFXZ8QGO|3BF|&CGz^RY$rwH$`;~~9xG2k0U?h#IEXr|X0rhk(1phAp9(#BXp>N%5a z<}O}n1drxNM)Sw>iziv{OR_OISrLQy^{)w&4@hfPF}9J1Y9&Q-Q!v7l8% z969+SZ5&0%n2T=@cB6X{n9=?H!@;zif5ONwHi-qWM^6wm&m&T2XsUmwU3nJ&YY~ z9yOb=lnK3D9ECIZo5rs&zsgX_@2bFe1heIa%AMo+l8$+#;;143BC^KS#?0=c<6a5m227pnl4k&5sY z{>%AWaRro(dY8jd$}b*T*Z2^Y%x)OR$};fv{Bc~U*r;xZuN()>8oGK@Bi}AnY?NEJ zJc{-`OV2!p*!|pDhC2SwbE&MSwi~bjVxf(!!JA!)8Yv$+_!2F^62#F#IhIm_PFkak zDjNi5@-^+!5ke?7uH?JNv8RlU`o2BKa8;Z``wLo(LsuBb zP#N_}b*y?4+g9a}eiF?q<(We!hr{xET@KIB;TCy)Q4Y7u^Joq)ljof|yhfh)Rn<_>VJwV&VIEu+-i!NanWBB($0cQWe~Fzw;ClFe*G^Ax zwv1~ATsuAB+G+L&T@#JtVTF4zL(Dafae1HqAU>4C$Kv;5RbljQEcD(#p>VgX_>{LI z@*qAVZ?iwYGKVi7$5)FMIh&yX^ilTRgx%$Y-5#8Wy|l>{bnlh?y2`b{JWn*=0yWr$ zZ{s^u($hQiES87ybk$OcnC~(wCgNftw-*upJ$#?*Rv7pJe(0*+&S^zC=DMo?XdFLr z!A)I%t}ro*k`&e;k3m;3FN)?CqUcxnH4$F4dOn_hBOLvB`Yl<7+2`PQ!jrK#jgFee z_ms>3_Y9yvmX}0V$EtBWqtMw%1OELO{^y4<)kMqQiwQ5b#k&0)hiH^LE+^?toZwNSYUfz-F z!YSFWor3*Er)GZ>+22g|w@k|Z;wjm$pU6JuYd_!9enWwMXk0awouK}0Y*IawQBRzb`dz0_ eeV5Cl&rP9=h}Yf3>E$$l8`x@(+AHrirvDdZPHX1? literal 0 HcmV?d00001 diff --git a/quartz-manager-parent/quartz-manager-core/target/classes/it/fabioformosa/quartzmanager/controllers/WebsocketController.class b/quartz-manager-parent/quartz-manager-core/target/classes/it/fabioformosa/quartzmanager/controllers/WebsocketController.class new file mode 100644 index 0000000000000000000000000000000000000000..fa7e86e1495cd9f335af0918479361b39cfd7873 GIT binary patch literal 815 zcmbtSO>Yx15PjYx%|}~W(gH0|5VsZtzHmY1LsbQ*El8va2TtD2Wb1aMHVNqxGuR5)ZIuUL+Svw7Xt>+H#2NcuR A_5c6? literal 0 HcmV?d00001 diff --git a/quartz-manager-parent/quartz-manager-core/target/classes/it/fabioformosa/quartzmanager/dto/SchedulerConfigParam.class b/quartz-manager-parent/quartz-manager-core/target/classes/it/fabioformosa/quartzmanager/dto/SchedulerConfigParam.class new file mode 100644 index 0000000000000000000000000000000000000000..63d456381f1849e356f648a72bf3d4657c176085 GIT binary patch literal 1384 zcmbVK(M}Ul5IwgoZ7GG;VnGC?V5@BfRs|77c@Se#Qj`QzLyQl%?WHVfcX8Po^_w)& z1WKZbAK*tBXYSSlrTE~>o!QyBXU;iufBpXc6Tl)?LhuPJnXa)b%ci|+I}Q6#8ttMb08xB`Q&W7g>6 zrgEOkj{;&{Al#52*6gN5zePbH_{6kKcU8cj&6NZKYj#yd;KyJT{fG#}il(JrHXCK- zY|C<82_%YkMb=BwG5Nb)47hvdp}=zS{{*ZE^kvrzxl%s_u13*^AZH^{gb*fa8_M0Y zt6Hmal|z#TYRcW{C?WEsB~G>N^NQ&QX&yK{+Z@Q!AnK-KS9c)0&VRzLy+zJhHR6)Z z6;FNjsow$3C?3ARHy3$k;a@YC=qBQ zhaoy66hUnP%3_p7y(YwQg}xXdK^+XRLt_FIV+@d=I>vB*@)*fesD%DKNaqk;i_sa^ zkSWbC)`lbi&6ByrG*drDDew1DnMw21YZ#-Gry3MJ+DAx!rh-R1sEflIznk)PjCU@x zE3Ekl!(X~CkM_JgfyuVsRf_CQFh71yrsvo=v7OKeBVJcWUQmmo*Uf`@7cA%oraG{G z?MF~scj*pRT)u;%2%T3R$%}?puDuI7n)^ocLryBsU$yu zf02LSg;r@LaZj+E4EVJpCv;e9`l^@<;<9qa{V!(dw4uX|6VR!f4MK>e&^JB}iC z?1!ypFO)qDt3Rn<1QpwAlf<@;{GbN?8LY0=WwR+LyX*(PUKKRpmR<`=uZ4RmPXjdW z&?prIjc)jX+G;hbD%z3NI`S!QguAl-T1GyEysXpZg*%0#FuDxG#K zB@}xY4YK=oQyz7k8|QCX_2Vym@6ZtEGJ^G2@%|V?fIB1JMTO>99*(=Vg)9yO6#t^qpklzkl zFudZM7CUv9X4zJnfhPmFk+_a*J!UB`h8fWnW<>GK2;$r=kX@!0$s%OwD=QEez3$7iQ-H2O@esZ7EdOMuOy0R zZ1HrW_}j#^ui4_OiQ?;Yqm%X<7|w=Gl|PaD8)Z`OF)5$$+euKob@&I}evjn=VjCw= zBcki5&<)hWMXZFF8~el*-r3fBMkBc8=MxiMuoJxB0j-wv5GN;F?W{VeX#uV>0)yRyOxYC+t`=D UzUqVJe_I#Jmq^ePJX7@aUswl6!vFvP literal 0 HcmV?d00001 diff --git a/quartz-manager-parent/quartz-manager-core/target/classes/it/fabioformosa/quartzmanager/enums/SchedulerStates.class b/quartz-manager-parent/quartz-manager-core/target/classes/it/fabioformosa/quartzmanager/enums/SchedulerStates.class new file mode 100644 index 0000000000000000000000000000000000000000..59622a3a251f37ab0f9503c5ff11eee14160c8b1 GIT binary patch literal 1287 zcmbVMT~8W86g?v!3+t*BEv+B@rWMdit<^Mv7>%Wd6p?g=g!E~E5!Woc?XsBIr~afC zA2e-h`rIGY^v*(c)5I4@c4yAaxo6J3bC=(LzFz`(g$)H`3~Pp)J>(6;KD3>V-R0R& zJ?^-lJKW-J;beu?>vXev^GLLMrf_tZyP~Tg$S`@#Pk7ekRy$iD5`*%-S}qsMyA124 z5kzyOpdaj4Dup);;mUSZmy_{Axw@CEZI`MAonhm{h{}Lx0P@DNxcTC>x=6qJJj=4@t z_9?Yla8O=Vw|h=gyfx&_%>38lD>905*NwKt-JU~~U7xsA%8!)5W^QYhdL%%fU~p?z zHWNT2^^rGH3jwh?*+7y(Ej12}_!EQ#Vfows0alMs2F@{chG`Gn4tgNrfx96O%!Ypw zFVM%dUJv$>(CeW-X7w}7e*&WR@1r@!&cz zOr9_dlKzN-htfNq&=VcQqZsg*o+y%dI!s`L(v@n7KIZH10-4KtURvA>%wOQy@>kj! uxEhGFD@Ref@8?5D85-qrYMf;*u<{G+<~V63#IX8B3cvK^*XWN=qV>Q0r86P` literal 0 HcmV?d00001 diff --git a/quartz-manager-parent/quartz-manager-core/target/classes/it/fabioformosa/quartzmanager/exceptions/ExceptionHandlingController.class b/quartz-manager-parent/quartz-manager-core/target/classes/it/fabioformosa/quartzmanager/exceptions/ExceptionHandlingController.class new file mode 100644 index 0000000000000000000000000000000000000000..26f9f21ca18833dda13b099cf79b35ebb028efad GIT binary patch literal 1705 zcmcgtX-`u@6g^W~x>zYzK*5bgq?O8ZUnn6#mS9rAP|}3>Y1&T9;Ol#J-W1UPWTJk6 zL=u01KgxLL(H6s!lxY0W+1}iH&%JZ*>Ca!^e*k!j=`aEe3sPGZUX*UdRW;Y+)`tdH z`csWNyegC>_DZ6zrR#XsVr#j~ow6;R>b&b{<=VDTVFVd^xA_jYZ0=O8wc@rYX@>3@ z=}0}x(3MIT7=rU|S;WwVXdEGQGbD1-5vz?_QK$`Gv;{*l=a#r#;7Xc(^DwBlq{pz7 z`xjWVgj5O7ZK#r<3@WxXNZnND&eu;^w+oX^=Ui2_yt<<5R1~j?U01!gwzRHWWK^dr zibY3D{gFUK^Rnu2-B6VE=l>ghrt@6exwY_TX9@e@dV|uaiGuVbJ=2`yxSIPcVVFL% z2D_qY6{SC@NLJ38VLp$7VP(c3d`ct{%2FPnefo!@E!!Sm}7-4wbF_3dJien6S8DdqTSA^$LgEI7` z(x>AZnD^qCFfbD>m`#%~(hL(F@-&J`JP0GhFm|rRGSNFv&)@Lkn1W@hwYIvHdo#bm zFn%T({DwF-%f^txBO?iq>An6e)pQ-%x|>4sx9oh$FilE`8NB%CDGK!8>xm^6lIXVJ`P4&6UM z7QL zfa@!nl#j}kM7 zYP5ADC)u5uotgKUIqx5@ZveKil15BmTRZsXAfv1`cF$ZWf$3`h{nS|3b2} zb-_cLyXJabf0mRzHC@|K2b$-f9r_oWyk@LYi#Yw<7=1(+S=5j2B)!lw>CBSn(=9l< z{(|wxC~bnyR1_S;B-!3q0&>WcCoqL+I)4{Gq3|$JJU+6xh*=`y;!4CuQtKPfDDU>WaB&cb?!O$`rEHBUjbalIgO?+j zm^Yz}dhB6uiN2AE-P)+j! z%c)AV9JW=G66(p}fq=Lxut=!X$jG$iaHNXs-+#P)_TcAJ0WZmB9roDVnnAbXXmCTI zbW=y#>nqKxpHXe@enRcNYgprV$)!93RoLv~3}aj4 za;)PlJvKU6;a&}#Biwnu7wj~U132vhHu$yE0$N*IY<|GzJ3ex-b1Y4u>hS$>L545v s`7^3}v^iVd-2I5n8B5Pa>twm&5Z1<3Q--CCq2*QNI%x#=WQSk+4fF2FMF0Q* literal 0 HcmV?d00001 diff --git a/quartz-manager-parent/quartz-manager-core/target/classes/it/fabioformosa/quartzmanager/jobs/AbstractLoggingJob.class b/quartz-manager-parent/quartz-manager-core/target/classes/it/fabioformosa/quartzmanager/jobs/AbstractLoggingJob.class new file mode 100644 index 0000000000000000000000000000000000000000..04b7027c9c5e412c0dc187838903cbcfec9fc04d GIT binary patch literal 2431 zcmbVO>rxa)7(LBxU>Psqg^Mv@(8z)^NmMkVF-S1cuwYn%G3M4g+q(?zPLDmaO7cFb z{5DCUBvpBUJX9*DXI8QS6w9sJxqRJyzSHNs^!)wLAAbS3h}c1!z@;GZDzX&liZ*o} zOYc!bn&hXt3}sarZ(WySZ?+UCM*7Kuu2zGvdPkQWbO;B(1pbjOR1Q%&7u}KI-YOI+9srRIp^XN%nNkMC`v^=znAY_Ynxk| zu@IlS_{=)&PILy`i#u3w@Hw+!XIZ%@*bR0ntAfDjerZW!jCdht%X_UN*fT=~Q*NZy z({9bk=|C}&{=+3+QngDjhrg_yx4|3fI1bV$h zM}hBA(zq87QFl-ixRD0w%})pyAv8}aUx$yCNw&-LY-=WEN7_tFA~h|x8TXJ-)=!wW z#k6PN3T&So*nL(`+3M;z#f`P|-^uH+?Xo*aG7?`~>iiMQAe(bmb?htWrC zKi~4a+h0$=c#b2#VdyDe+Hitb3jz$`t<(a(u_-r~dA!@v&WUGud*_mYbcvfyz$i|^ z9`I~sw4AYv1WxnThj($7zATNO(ZQ|oLtneCU;BJITI~x4%ikWe+)yY3g%1C3if7+9o%Kh?KUKiwGd_D1|Zq E0vO4N(EtDd literal 0 HcmV?d00001 diff --git a/quartz-manager-parent/quartz-manager-core/target/classes/it/fabioformosa/quartzmanager/jobs/entities/LogRecord$LogType.class b/quartz-manager-parent/quartz-manager-core/target/classes/it/fabioformosa/quartzmanager/jobs/entities/LogRecord$LogType.class new file mode 100644 index 0000000000000000000000000000000000000000..c05c974973486fb356d84aedb1602928ab3c262c GIT binary patch literal 1434 zcmbtUU2hUW6g^YEw_A!-QQG>A3bYohwtj$0ZD>NIplpjFJ`HqAw}IWdyEMTkf0ELN zHX0kB{ZYm{3%0!YBAd+4oS8fKo_pua{QCXv6u@IV4`71fh3;f_c|$jMO{-(tJoB;3 zE$35*8@wf~%)Z&MGs19mM;CUcWVWiJX<9o88g2CsL;zlf@IF7}nKn0CnS#;nFnEjQ zjS9o7(pbK;Q@{{WaRE^Ve{N_JOP0gV;-+8VMfIw9x$wo`d@Ez+s=-V zItzH7pcJwc;GpD+W_GQn*wE!^h0kumlC-D%HN9nUr)$yTyAik2M{dj{UJ?nlXc)qB zSqnRWrxZ-m`-2a2@Jblb)b#EUrt?uh1t{q|SD><3KRr)K`17T9x z6t20ma)oXl{bk5yA}Xl{(hKv)xPHFTPn9mEZbpS?Q*oS}cnWODD`ySvZsKD&GW{QKA60OqlgM^53s8#!-u&Gp~- zLCX)d^IKa7(Yu!Rbi)MBu3rls<3(=dn$W5GjbF^RAJp^cRT$pYziX$dy@vBsZP#o^ z3cYn58EUGrsvWsa=Lv5Xsfph1QS+$!N%1Bbd6NJH%C}4yGB<@{5+zRHWfZtxgK8_< z35>44&@Ec@FS(u@ttf1k&l&gQP*YnhYTd6J3q2UNVdIiQPkCx<01B6FR6zsdUDozLV>f)Z}EUVl+sj<7AnlyvHf7op)XYz7YAzSmtq0 z;p*|WB)4mAw^=tq0rzELjy7xJwXD#xg}Ydgp_&!x8ynw(o$J?od&a9P%$}?$S-!=z zV<(DCBPEfXf9uQBc21f=_MCVUpUHemmGU zPhFYbp-xe^rFI4Tndg~cy{W^{gn9g^uzapLU{UFJ0bg>`diYuEMNXE9QcgB7KDmGK z$uZ<<(bC2s^+SByp_llLRSt2nGQE#tWo93x$_I?RI>fbojQ$b(UgvX!$iOwm80Ain z(f>N7&-eo-5)^!nFZf2hIJ%0ZamLKi0vM2_fN}m6Q~ruiNy6bNrhSz^G5VfDj>upY zaycI3+lfJnuW$pCyvaJ3vd%ZUI)B~O`DWJnR#)dTrn*EfW}TCo-& zus5@?3xs`m2CNKS2lfIpR4ndJw`_}9*hRuFodGMe-GP;vQnG-23JI?{j50cNA8_|o zasChwWUvnKu())970N}CA188&M{%8x1ALcl;%Xc{nZ3ER1vz|A=p25)GoDi1bN;KV GqyGWDE3u9M literal 0 HcmV?d00001 diff --git a/quartz-manager-parent/quartz-manager-core/target/classes/it/fabioformosa/quartzmanager/scheduler/AutowiringSpringBeanJobFactory.class b/quartz-manager-parent/quartz-manager-core/target/classes/it/fabioformosa/quartzmanager/scheduler/AutowiringSpringBeanJobFactory.class new file mode 100644 index 0000000000000000000000000000000000000000..a5b7c730f00ab8292902d647259f8108afa4fde1 GIT binary patch literal 1463 zcmb_cT~8B16g|_HR@zmd2!e{D_|X>Zf|{6!F@c8qk)kFL;_K{oS_a#lI=dD0(O;yA zhTwxgz#nD2GrK?{#rVL(&d1%kXYRS@?Ed=w<0pWJxSvCcp)Mo0#XYH7N_SPr-S>U2 zqfcEP@V3xy=x>W=zeB5)ex!D#mO*=?XU0{*gO|#yb3ao0V-6XH$4a-|(7tVH-W9t_ zzdJ;rj0D;poS$WQFeu+wK_vDfccs_sNS{Yi1+_S|vdgt#D0oy!QU=3XV-Scr5)w~a zt4okA**;_>YP`q2jxdB0m}Q3S6B)?pDMPwc-eSnqR8!=U#(4+B$TN&IWFTJkyPnXS zCYzzyP(JT$aV^b031*^g88SR?oK2glurXf?9tmpwiy(}6;M3KQN|tpj9VsB)O)cA` zUtMa^TZ7Jzw-pQ^Oo48OD##9KA8LryLY9J`9G- z4stkGz*St!VTPf02K{z$9kUD$k3D9kV3;VKtk`Ig^(-NVx&L5I0`4f!sB_Hhi2dlg zh_+Sp4L5F$geIjXLJ^&`8hJBr@!#$~-JQ$jtpduJ&!NIl9n_@La~&+;9>YwVYDrph z(xeQ}O647^PEZK%HXMO~V&VD8`liKF3pVQp~^m-ue3?v}@AQ!n~!tG)0P)`F&hk zuYAMw!U3+Nu<(VVG3Et(VvMkhgf(ulXXC5{oAPl3H|f4C-8zR`lzE%-hZu!NDSQWa wDP-!d(VU{WP?O^CawWvtn~HmvErl=VW?7DCmj-~PYydza#=}3*ae>>sY+(&%G1EKwKcOZI` zkgS%L0Y#c>B#qMN(M{+g&X61OJMM>k6!@2&q39YHNrt24x-z(C2E$NjC>_k%e1V@Z zBx{lg)EQ#sN}C~ms(Qjh467NW;4x$yawIM$QAg+&?}UP3y`j21Y;!HGKM%&uK#mz| zjpc~i@rjHV2s7UcL$O?0L^%b9%?wE3SDYjL<~XyH*q3 z6=%{;RQi951A7MS5mt;|f}Ud`>Co1v&5%r!=aXin6V(@F9?5X9Mlv}IB1?8=Zs(9E zkM@TRlD~_ePiZi7`CW3 NK_7$^!!}6=JD+1Np~(OM literal 0 HcmV?d00001 diff --git a/quartz-manager-parent/quartz-manager-core/target/test-classes/application.properties b/quartz-manager-parent/quartz-manager-core/target/test-classes/application.properties new file mode 100644 index 0000000..4dfe84c --- /dev/null +++ b/quartz-manager-parent/quartz-manager-core/target/test-classes/application.properties @@ -0,0 +1 @@ +name: Phil \ No newline at end of file