diff --git a/build.gradle b/build.gradle index 58dfb77ab..413137fb7 100644 --- a/build.gradle +++ b/build.gradle @@ -412,7 +412,9 @@ configurations.all { // Exclude Tomcat exclude group: "org.springframework.boot", module: "spring-boot-starter-tomcat" } + dependencies { + implementation project(':stirling-common') //tmp for security bumps implementation 'ch.qos.logback:logback-core:1.5.18' @@ -447,8 +449,6 @@ dependencies { if (System.getenv("DOCKER_ENABLE_SECURITY") != "false") { - - implementation 'org.springframework.boot:spring-boot-starter-actuator' implementation 'io.micrometer:micrometer-registry-prometheus' implementation "org.springframework.boot:spring-boot-starter-security:$springBootVersion" diff --git a/settings.gradle b/settings.gradle index 6f039dc93..03629c96f 100644 --- a/settings.gradle +++ b/settings.gradle @@ -3,3 +3,5 @@ plugins { id 'org.gradle.toolchains.foojay-resolver-convention' version '0.10.0' } rootProject.name = 'Stirling-PDF' + +include 'stirling-common' \ No newline at end of file diff --git a/src/main/java/stirling/software/SPDF/EE/EEAppConfig.java b/src/main/java/stirling/software/SPDF/EE/EEAppConfig.java index dd08816e5..ea92b183e 100644 --- a/src/main/java/stirling/software/SPDF/EE/EEAppConfig.java +++ b/src/main/java/stirling/software/SPDF/EE/EEAppConfig.java @@ -8,10 +8,10 @@ import org.springframework.core.annotation.Order; import lombok.extern.slf4j.Slf4j; import stirling.software.SPDF.EE.KeygenLicenseVerifier.License; -import stirling.software.SPDF.model.ApplicationProperties; -import stirling.software.SPDF.model.ApplicationProperties.EnterpriseEdition; -import stirling.software.SPDF.model.ApplicationProperties.Premium; -import stirling.software.SPDF.model.ApplicationProperties.Premium.ProFeatures.GoogleDrive; +import stirling.software.common.configuration.ApplicationProperties; +import stirling.software.common.configuration.ApplicationProperties.EnterpriseEdition; +import stirling.software.common.configuration.ApplicationProperties.Premium; +import stirling.software.common.configuration.ApplicationProperties.Premium.ProFeatures.GoogleDrive; @Configuration @Order(Ordered.HIGHEST_PRECEDENCE) diff --git a/src/main/java/stirling/software/SPDF/EE/KeygenLicenseVerifier.java b/src/main/java/stirling/software/SPDF/EE/KeygenLicenseVerifier.java index 473f5f385..62913be90 100644 --- a/src/main/java/stirling/software/SPDF/EE/KeygenLicenseVerifier.java +++ b/src/main/java/stirling/software/SPDF/EE/KeygenLicenseVerifier.java @@ -19,8 +19,8 @@ import com.posthog.java.shaded.org.json.JSONObject; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; -import stirling.software.SPDF.model.ApplicationProperties; import stirling.software.SPDF.utils.GeneralUtils; +import stirling.software.common.configuration.ApplicationProperties; @Service @Slf4j diff --git a/src/main/java/stirling/software/SPDF/EE/LicenseKeyChecker.java b/src/main/java/stirling/software/SPDF/EE/LicenseKeyChecker.java index 8e5633f41..b9014bd3d 100644 --- a/src/main/java/stirling/software/SPDF/EE/LicenseKeyChecker.java +++ b/src/main/java/stirling/software/SPDF/EE/LicenseKeyChecker.java @@ -11,8 +11,8 @@ import org.springframework.stereotype.Component; import lombok.extern.slf4j.Slf4j; import stirling.software.SPDF.EE.KeygenLicenseVerifier.License; -import stirling.software.SPDF.model.ApplicationProperties; import stirling.software.SPDF.utils.GeneralUtils; +import stirling.software.common.configuration.ApplicationProperties; @Component @Slf4j diff --git a/src/main/java/stirling/software/SPDF/SPDFApplication.java b/src/main/java/stirling/software/SPDF/SPDFApplication.java index 34fb5257e..73a89d4fb 100644 --- a/src/main/java/stirling/software/SPDF/SPDFApplication.java +++ b/src/main/java/stirling/software/SPDF/SPDFApplication.java @@ -28,13 +28,14 @@ import lombok.extern.slf4j.Slf4j; import stirling.software.SPDF.UI.WebBrowser; import stirling.software.SPDF.config.ConfigInitializer; -import stirling.software.SPDF.config.InstallationPathConfig; -import stirling.software.SPDF.model.ApplicationProperties; import stirling.software.SPDF.utils.UrlUtils; +import stirling.software.common.configuration.ApplicationProperties; +import stirling.software.common.configuration.InstallationPathConfig; @Slf4j @EnableScheduling @SpringBootApplication( + scanBasePackages = {"stirling.software.common", "stirling.software.SPDF"}, exclude = { DataSourceAutoConfiguration.class, DataSourceTransactionManagerAutoConfiguration.class diff --git a/src/main/java/stirling/software/SPDF/UI/impl/DesktopBrowser.java b/src/main/java/stirling/software/SPDF/UI/impl/DesktopBrowser.java index 2f6593734..732928bed 100644 --- a/src/main/java/stirling/software/SPDF/UI/impl/DesktopBrowser.java +++ b/src/main/java/stirling/software/SPDF/UI/impl/DesktopBrowser.java @@ -43,8 +43,8 @@ import me.friwi.jcefmaven.MavenCefAppHandlerAdapter; import me.friwi.jcefmaven.impl.progress.ConsoleProgressHandler; import stirling.software.SPDF.UI.WebBrowser; -import stirling.software.SPDF.config.InstallationPathConfig; import stirling.software.SPDF.utils.UIScaling; +import stirling.software.common.configuration.InstallationPathConfig; @Component @Slf4j diff --git a/src/main/java/stirling/software/SPDF/config/AppUpdateService.java b/src/main/java/stirling/software/SPDF/config/AppUpdateService.java index a8afc16e7..6a851ec81 100644 --- a/src/main/java/stirling/software/SPDF/config/AppUpdateService.java +++ b/src/main/java/stirling/software/SPDF/config/AppUpdateService.java @@ -6,7 +6,7 @@ import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Scope; import stirling.software.SPDF.config.interfaces.ShowAdminInterface; -import stirling.software.SPDF.model.ApplicationProperties; +import stirling.software.common.configuration.ApplicationProperties; @Configuration class AppUpdateService { diff --git a/src/main/java/stirling/software/SPDF/config/ConfigInitializer.java b/src/main/java/stirling/software/SPDF/config/ConfigInitializer.java index 95584ef14..6c46526aa 100644 --- a/src/main/java/stirling/software/SPDF/config/ConfigInitializer.java +++ b/src/main/java/stirling/software/SPDF/config/ConfigInitializer.java @@ -13,6 +13,8 @@ import java.util.List; import lombok.extern.slf4j.Slf4j; +import stirling.software.common.configuration.InstallationPathConfig; + /** * A naive, line-based approach to merging "settings.yml" with "settings.yml.template" while * preserving exact whitespace, blank lines, and inline comments -- but we only rewrite the file if diff --git a/src/main/java/stirling/software/SPDF/config/EndpointConfiguration.java b/src/main/java/stirling/software/SPDF/config/EndpointConfiguration.java index 0ddd68958..6daddfa67 100644 --- a/src/main/java/stirling/software/SPDF/config/EndpointConfiguration.java +++ b/src/main/java/stirling/software/SPDF/config/EndpointConfiguration.java @@ -11,7 +11,7 @@ import org.springframework.stereotype.Service; import lombok.extern.slf4j.Slf4j; -import stirling.software.SPDF.model.ApplicationProperties; +import stirling.software.common.configuration.ApplicationProperties; @Service @Slf4j diff --git a/src/main/java/stirling/software/SPDF/config/InitialSetup.java b/src/main/java/stirling/software/SPDF/config/InitialSetup.java index 0adc3d133..96585400a 100644 --- a/src/main/java/stirling/software/SPDF/config/InitialSetup.java +++ b/src/main/java/stirling/software/SPDF/config/InitialSetup.java @@ -17,8 +17,8 @@ import jakarta.annotation.PostConstruct; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; -import stirling.software.SPDF.model.ApplicationProperties; import stirling.software.SPDF.utils.GeneralUtils; +import stirling.software.common.configuration.ApplicationProperties; @Component @Slf4j diff --git a/src/main/java/stirling/software/SPDF/config/LocaleConfiguration.java b/src/main/java/stirling/software/SPDF/config/LocaleConfiguration.java index ab37c3c5e..9067e5bf9 100644 --- a/src/main/java/stirling/software/SPDF/config/LocaleConfiguration.java +++ b/src/main/java/stirling/software/SPDF/config/LocaleConfiguration.java @@ -12,7 +12,7 @@ import org.springframework.web.servlet.i18n.SessionLocaleResolver; import lombok.RequiredArgsConstructor; -import stirling.software.SPDF.model.ApplicationProperties; +import stirling.software.common.configuration.ApplicationProperties; @Configuration @RequiredArgsConstructor diff --git a/src/main/java/stirling/software/SPDF/config/LogbackPropertyLoader.java b/src/main/java/stirling/software/SPDF/config/LogbackPropertyLoader.java index 99de07acb..f5839637d 100644 --- a/src/main/java/stirling/software/SPDF/config/LogbackPropertyLoader.java +++ b/src/main/java/stirling/software/SPDF/config/LogbackPropertyLoader.java @@ -1,5 +1,7 @@ package stirling.software.SPDF.config; +import stirling.software.common.configuration.InstallationPathConfig; + import ch.qos.logback.core.PropertyDefinerBase; public class LogbackPropertyLoader extends PropertyDefinerBase { diff --git a/src/main/java/stirling/software/SPDF/config/OpenApiConfig.java b/src/main/java/stirling/software/SPDF/config/OpenApiConfig.java index d4ff7d167..b55d60868 100644 --- a/src/main/java/stirling/software/SPDF/config/OpenApiConfig.java +++ b/src/main/java/stirling/software/SPDF/config/OpenApiConfig.java @@ -13,7 +13,7 @@ import io.swagger.v3.oas.models.security.SecurityScheme; import lombok.RequiredArgsConstructor; -import stirling.software.SPDF.model.ApplicationProperties; +import stirling.software.common.configuration.ApplicationProperties; @Configuration @RequiredArgsConstructor diff --git a/src/main/java/stirling/software/SPDF/config/RuntimePathConfig.java b/src/main/java/stirling/software/SPDF/config/RuntimePathConfig.java index 037c1dde3..8d35c42d1 100644 --- a/src/main/java/stirling/software/SPDF/config/RuntimePathConfig.java +++ b/src/main/java/stirling/software/SPDF/config/RuntimePathConfig.java @@ -9,9 +9,10 @@ import org.springframework.context.annotation.Configuration; import lombok.Getter; import lombok.extern.slf4j.Slf4j; -import stirling.software.SPDF.model.ApplicationProperties; -import stirling.software.SPDF.model.ApplicationProperties.CustomPaths.Operations; -import stirling.software.SPDF.model.ApplicationProperties.CustomPaths.Pipeline; +import stirling.software.common.configuration.ApplicationProperties; +import stirling.software.common.configuration.ApplicationProperties.CustomPaths.Operations; +import stirling.software.common.configuration.ApplicationProperties.CustomPaths.Pipeline; +import stirling.software.common.configuration.InstallationPathConfig; @Slf4j @Configuration diff --git a/src/main/java/stirling/software/SPDF/config/WebMvcConfig.java b/src/main/java/stirling/software/SPDF/config/WebMvcConfig.java index 63957fd0f..c3e204b3c 100644 --- a/src/main/java/stirling/software/SPDF/config/WebMvcConfig.java +++ b/src/main/java/stirling/software/SPDF/config/WebMvcConfig.java @@ -7,6 +7,8 @@ import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; import lombok.RequiredArgsConstructor; +import stirling.software.common.configuration.InstallationPathConfig; + @Configuration @RequiredArgsConstructor public class WebMvcConfig implements WebMvcConfigurer { diff --git a/src/main/java/stirling/software/SPDF/config/interfaces/DatabaseInterface.java b/src/main/java/stirling/software/SPDF/config/interfaces/DatabaseInterface.java index 34b457e89..1c7511a7c 100644 --- a/src/main/java/stirling/software/SPDF/config/interfaces/DatabaseInterface.java +++ b/src/main/java/stirling/software/SPDF/config/interfaces/DatabaseInterface.java @@ -3,8 +3,8 @@ package stirling.software.SPDF.config.interfaces; import java.sql.SQLException; import java.util.List; -import stirling.software.SPDF.model.exception.UnsupportedProviderException; import stirling.software.SPDF.utils.FileInfo; +import stirling.software.common.model.exception.UnsupportedProviderException; public interface DatabaseInterface { void exportDatabase() throws SQLException, UnsupportedProviderException; diff --git a/src/main/java/stirling/software/SPDF/config/security/AppUpdateAuthService.java b/src/main/java/stirling/software/SPDF/config/security/AppUpdateAuthService.java index 23ac9d761..c8b6e15ea 100644 --- a/src/main/java/stirling/software/SPDF/config/security/AppUpdateAuthService.java +++ b/src/main/java/stirling/software/SPDF/config/security/AppUpdateAuthService.java @@ -9,9 +9,9 @@ import org.springframework.stereotype.Service; import lombok.RequiredArgsConstructor; import stirling.software.SPDF.config.interfaces.ShowAdminInterface; -import stirling.software.SPDF.model.ApplicationProperties; import stirling.software.SPDF.model.User; import stirling.software.SPDF.repository.UserRepository; +import stirling.software.common.configuration.ApplicationProperties; @Service @RequiredArgsConstructor diff --git a/src/main/java/stirling/software/SPDF/config/security/CustomLogoutSuccessHandler.java b/src/main/java/stirling/software/SPDF/config/security/CustomLogoutSuccessHandler.java index d59ba5d16..8ca881308 100644 --- a/src/main/java/stirling/software/SPDF/config/security/CustomLogoutSuccessHandler.java +++ b/src/main/java/stirling/software/SPDF/config/security/CustomLogoutSuccessHandler.java @@ -25,11 +25,11 @@ import lombok.extern.slf4j.Slf4j; import stirling.software.SPDF.SPDFApplication; import stirling.software.SPDF.config.security.saml2.CertificateUtils; import stirling.software.SPDF.config.security.saml2.CustomSaml2AuthenticatedPrincipal; -import stirling.software.SPDF.model.ApplicationProperties; -import stirling.software.SPDF.model.ApplicationProperties.Security.OAUTH2; -import stirling.software.SPDF.model.ApplicationProperties.Security.SAML2; -import stirling.software.SPDF.model.provider.KeycloakProvider; import stirling.software.SPDF.utils.UrlUtils; +import stirling.software.common.configuration.ApplicationProperties; +import stirling.software.common.configuration.ApplicationProperties.Security.OAUTH2; +import stirling.software.common.configuration.ApplicationProperties.Security.SAML2; +import stirling.software.common.model.provider.KeycloakProvider; @Slf4j @RequiredArgsConstructor diff --git a/src/main/java/stirling/software/SPDF/config/security/InitialSecuritySetup.java b/src/main/java/stirling/software/SPDF/config/security/InitialSecuritySetup.java index 9339405da..f345bb658 100644 --- a/src/main/java/stirling/software/SPDF/config/security/InitialSecuritySetup.java +++ b/src/main/java/stirling/software/SPDF/config/security/InitialSecuritySetup.java @@ -11,9 +11,9 @@ import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import stirling.software.SPDF.config.interfaces.DatabaseInterface; -import stirling.software.SPDF.model.ApplicationProperties; import stirling.software.SPDF.model.Role; -import stirling.software.SPDF.model.exception.UnsupportedProviderException; +import stirling.software.common.configuration.ApplicationProperties; +import stirling.software.common.model.exception.UnsupportedProviderException; @Slf4j @Component diff --git a/src/main/java/stirling/software/SPDF/config/security/LoginAttemptService.java b/src/main/java/stirling/software/SPDF/config/security/LoginAttemptService.java index d65557822..2f8c0ac7f 100644 --- a/src/main/java/stirling/software/SPDF/config/security/LoginAttemptService.java +++ b/src/main/java/stirling/software/SPDF/config/security/LoginAttemptService.java @@ -10,8 +10,8 @@ import jakarta.annotation.PostConstruct; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; -import stirling.software.SPDF.model.ApplicationProperties; import stirling.software.SPDF.model.AttemptCounter; +import stirling.software.common.configuration.ApplicationProperties; @Service @Slf4j diff --git a/src/main/java/stirling/software/SPDF/config/security/SecurityConfiguration.java b/src/main/java/stirling/software/SPDF/config/security/SecurityConfiguration.java index a4c10d1ae..e665e83a4 100644 --- a/src/main/java/stirling/software/SPDF/config/security/SecurityConfiguration.java +++ b/src/main/java/stirling/software/SPDF/config/security/SecurityConfiguration.java @@ -37,10 +37,10 @@ import stirling.software.SPDF.config.security.saml2.CustomSaml2AuthenticationFai import stirling.software.SPDF.config.security.saml2.CustomSaml2AuthenticationSuccessHandler; import stirling.software.SPDF.config.security.saml2.CustomSaml2ResponseAuthenticationConverter; import stirling.software.SPDF.config.security.session.SessionPersistentRegistry; -import stirling.software.SPDF.model.ApplicationProperties; import stirling.software.SPDF.model.User; import stirling.software.SPDF.repository.JPATokenRepositoryImpl; import stirling.software.SPDF.repository.PersistentLoginRepository; +import stirling.software.common.configuration.ApplicationProperties; @Configuration @EnableWebSecurity diff --git a/src/main/java/stirling/software/SPDF/config/security/UserAuthenticationFilter.java b/src/main/java/stirling/software/SPDF/config/security/UserAuthenticationFilter.java index 85668dd28..4c3fd8e1c 100644 --- a/src/main/java/stirling/software/SPDF/config/security/UserAuthenticationFilter.java +++ b/src/main/java/stirling/software/SPDF/config/security/UserAuthenticationFilter.java @@ -28,11 +28,11 @@ import lombok.extern.slf4j.Slf4j; import stirling.software.SPDF.config.security.saml2.CustomSaml2AuthenticatedPrincipal; import stirling.software.SPDF.config.security.session.SessionPersistentRegistry; import stirling.software.SPDF.model.ApiKeyAuthenticationToken; -import stirling.software.SPDF.model.ApplicationProperties; -import stirling.software.SPDF.model.ApplicationProperties.Security; -import stirling.software.SPDF.model.ApplicationProperties.Security.OAUTH2; -import stirling.software.SPDF.model.ApplicationProperties.Security.SAML2; import stirling.software.SPDF.model.User; +import stirling.software.common.configuration.ApplicationProperties; +import stirling.software.common.configuration.ApplicationProperties.Security; +import stirling.software.common.configuration.ApplicationProperties.Security.OAUTH2; +import stirling.software.common.configuration.ApplicationProperties.Security.SAML2; @Slf4j @Component diff --git a/src/main/java/stirling/software/SPDF/config/security/UserService.java b/src/main/java/stirling/software/SPDF/config/security/UserService.java index ab6f0378c..d34ca153d 100644 --- a/src/main/java/stirling/software/SPDF/config/security/UserService.java +++ b/src/main/java/stirling/software/SPDF/config/security/UserService.java @@ -28,9 +28,10 @@ import stirling.software.SPDF.config.security.saml2.CustomSaml2AuthenticatedPrin import stirling.software.SPDF.config.security.session.SessionPersistentRegistry; import stirling.software.SPDF.controller.api.pipeline.UserServiceInterface; import stirling.software.SPDF.model.*; -import stirling.software.SPDF.model.exception.UnsupportedProviderException; import stirling.software.SPDF.repository.AuthorityRepository; import stirling.software.SPDF.repository.UserRepository; +import stirling.software.common.configuration.ApplicationProperties; +import stirling.software.common.model.exception.UnsupportedProviderException; @Service @Slf4j diff --git a/src/main/java/stirling/software/SPDF/config/security/database/DatabaseConfig.java b/src/main/java/stirling/software/SPDF/config/security/database/DatabaseConfig.java index 5c0df766e..0e00299e6 100644 --- a/src/main/java/stirling/software/SPDF/config/security/database/DatabaseConfig.java +++ b/src/main/java/stirling/software/SPDF/config/security/database/DatabaseConfig.java @@ -12,9 +12,9 @@ import org.springframework.context.annotation.Lazy; import lombok.Getter; import lombok.extern.slf4j.Slf4j; -import stirling.software.SPDF.config.InstallationPathConfig; -import stirling.software.SPDF.model.ApplicationProperties; -import stirling.software.SPDF.model.exception.UnsupportedProviderException; +import stirling.software.common.configuration.ApplicationProperties; +import stirling.software.common.configuration.InstallationPathConfig; +import stirling.software.common.model.exception.UnsupportedProviderException; @Slf4j @Getter diff --git a/src/main/java/stirling/software/SPDF/config/security/database/DatabaseService.java b/src/main/java/stirling/software/SPDF/config/security/database/DatabaseService.java index a8f95100d..98da09bb4 100644 --- a/src/main/java/stirling/software/SPDF/config/security/database/DatabaseService.java +++ b/src/main/java/stirling/software/SPDF/config/security/database/DatabaseService.java @@ -28,11 +28,11 @@ import org.springframework.stereotype.Service; import lombok.extern.slf4j.Slf4j; -import stirling.software.SPDF.config.InstallationPathConfig; import stirling.software.SPDF.config.interfaces.DatabaseInterface; -import stirling.software.SPDF.model.ApplicationProperties; import stirling.software.SPDF.model.exception.BackupNotFoundException; import stirling.software.SPDF.utils.FileInfo; +import stirling.software.common.configuration.ApplicationProperties; +import stirling.software.common.configuration.InstallationPathConfig; @Lazy @Slf4j diff --git a/src/main/java/stirling/software/SPDF/config/security/database/ScheduledTasks.java b/src/main/java/stirling/software/SPDF/config/security/database/ScheduledTasks.java index a0c4af046..73a33972a 100644 --- a/src/main/java/stirling/software/SPDF/config/security/database/ScheduledTasks.java +++ b/src/main/java/stirling/software/SPDF/config/security/database/ScheduledTasks.java @@ -10,7 +10,7 @@ import lombok.RequiredArgsConstructor; import stirling.software.SPDF.config.interfaces.DatabaseInterface; import stirling.software.SPDF.controller.api.H2SQLCondition; -import stirling.software.SPDF.model.exception.UnsupportedProviderException; +import stirling.software.common.model.exception.UnsupportedProviderException; @Component @Conditional(H2SQLCondition.class) diff --git a/src/main/java/stirling/software/SPDF/config/security/oauth2/CustomOAuth2AuthenticationSuccessHandler.java b/src/main/java/stirling/software/SPDF/config/security/oauth2/CustomOAuth2AuthenticationSuccessHandler.java index 1b320c2c7..c9efa5c22 100644 --- a/src/main/java/stirling/software/SPDF/config/security/oauth2/CustomOAuth2AuthenticationSuccessHandler.java +++ b/src/main/java/stirling/software/SPDF/config/security/oauth2/CustomOAuth2AuthenticationSuccessHandler.java @@ -19,11 +19,11 @@ import lombok.RequiredArgsConstructor; import stirling.software.SPDF.config.security.LoginAttemptService; import stirling.software.SPDF.config.security.UserService; -import stirling.software.SPDF.model.ApplicationProperties; -import stirling.software.SPDF.model.ApplicationProperties.Security.OAUTH2; import stirling.software.SPDF.model.AuthenticationType; -import stirling.software.SPDF.model.exception.UnsupportedProviderException; import stirling.software.SPDF.utils.RequestUriUtils; +import stirling.software.common.configuration.ApplicationProperties; +import stirling.software.common.configuration.ApplicationProperties.Security.OAUTH2; +import stirling.software.common.model.exception.UnsupportedProviderException; @RequiredArgsConstructor public class CustomOAuth2AuthenticationSuccessHandler diff --git a/src/main/java/stirling/software/SPDF/config/security/oauth2/CustomOAuth2UserService.java b/src/main/java/stirling/software/SPDF/config/security/oauth2/CustomOAuth2UserService.java index 117c9de8f..79c35201e 100644 --- a/src/main/java/stirling/software/SPDF/config/security/oauth2/CustomOAuth2UserService.java +++ b/src/main/java/stirling/software/SPDF/config/security/oauth2/CustomOAuth2UserService.java @@ -15,10 +15,10 @@ import lombok.extern.slf4j.Slf4j; import stirling.software.SPDF.config.security.LoginAttemptService; import stirling.software.SPDF.config.security.UserService; -import stirling.software.SPDF.model.ApplicationProperties; -import stirling.software.SPDF.model.ApplicationProperties.Security.OAUTH2; import stirling.software.SPDF.model.User; -import stirling.software.SPDF.model.UsernameAttribute; +import stirling.software.common.configuration.ApplicationProperties; +import stirling.software.common.configuration.ApplicationProperties.Security.OAUTH2; +import stirling.software.common.model.enumeration.UsernameAttribute; @Slf4j public class CustomOAuth2UserService implements OAuth2UserService { diff --git a/src/main/java/stirling/software/SPDF/config/security/oauth2/OAuth2Configuration.java b/src/main/java/stirling/software/SPDF/config/security/oauth2/OAuth2Configuration.java index c43d8a606..61786c96d 100644 --- a/src/main/java/stirling/software/SPDF/config/security/oauth2/OAuth2Configuration.java +++ b/src/main/java/stirling/software/SPDF/config/security/oauth2/OAuth2Configuration.java @@ -1,7 +1,8 @@ package stirling.software.SPDF.config.security.oauth2; import static org.springframework.security.oauth2.core.AuthorizationGrantType.AUTHORIZATION_CODE; -import static stirling.software.SPDF.utils.validation.Validator.*; +import static stirling.software.common.util.Validator.isStringEmpty; +import static stirling.software.common.util.Validator.validateProvider; import java.util.ArrayList; import java.util.HashSet; @@ -25,16 +26,16 @@ import org.springframework.security.oauth2.core.user.OAuth2UserAuthority; import lombok.extern.slf4j.Slf4j; import stirling.software.SPDF.config.security.UserService; -import stirling.software.SPDF.model.ApplicationProperties; -import stirling.software.SPDF.model.ApplicationProperties.Security.OAUTH2; -import stirling.software.SPDF.model.ApplicationProperties.Security.OAUTH2.Client; import stirling.software.SPDF.model.User; -import stirling.software.SPDF.model.UsernameAttribute; import stirling.software.SPDF.model.exception.NoProviderFoundException; -import stirling.software.SPDF.model.provider.GitHubProvider; -import stirling.software.SPDF.model.provider.GoogleProvider; -import stirling.software.SPDF.model.provider.KeycloakProvider; -import stirling.software.SPDF.model.provider.Provider; +import stirling.software.common.configuration.ApplicationProperties; +import stirling.software.common.configuration.ApplicationProperties.Security.OAUTH2; +import stirling.software.common.configuration.ApplicationProperties.Security.OAUTH2.Client; +import stirling.software.common.model.enumeration.UsernameAttribute; +import stirling.software.common.model.provider.GitHubProvider; +import stirling.software.common.model.provider.GoogleProvider; +import stirling.software.common.model.provider.KeycloakProvider; +import stirling.software.common.model.provider.Provider; @Slf4j @Configuration diff --git a/src/main/java/stirling/software/SPDF/config/security/saml2/CustomSaml2AuthenticationSuccessHandler.java b/src/main/java/stirling/software/SPDF/config/security/saml2/CustomSaml2AuthenticationSuccessHandler.java index e4e2d88ca..0e92b822c 100644 --- a/src/main/java/stirling/software/SPDF/config/security/saml2/CustomSaml2AuthenticationSuccessHandler.java +++ b/src/main/java/stirling/software/SPDF/config/security/saml2/CustomSaml2AuthenticationSuccessHandler.java @@ -18,11 +18,11 @@ import lombok.extern.slf4j.Slf4j; import stirling.software.SPDF.config.security.LoginAttemptService; import stirling.software.SPDF.config.security.UserService; -import stirling.software.SPDF.model.ApplicationProperties; -import stirling.software.SPDF.model.ApplicationProperties.Security.SAML2; import stirling.software.SPDF.model.AuthenticationType; -import stirling.software.SPDF.model.exception.UnsupportedProviderException; import stirling.software.SPDF.utils.RequestUriUtils; +import stirling.software.common.configuration.ApplicationProperties; +import stirling.software.common.configuration.ApplicationProperties.Security.SAML2; +import stirling.software.common.model.exception.UnsupportedProviderException; @AllArgsConstructor @Slf4j diff --git a/src/main/java/stirling/software/SPDF/config/security/saml2/SAML2Configuration.java b/src/main/java/stirling/software/SPDF/config/security/saml2/SAML2Configuration.java index 58c0a1637..a19dd8edb 100644 --- a/src/main/java/stirling/software/SPDF/config/security/saml2/SAML2Configuration.java +++ b/src/main/java/stirling/software/SPDF/config/security/saml2/SAML2Configuration.java @@ -24,8 +24,8 @@ import jakarta.servlet.http.HttpServletRequest; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; -import stirling.software.SPDF.model.ApplicationProperties; -import stirling.software.SPDF.model.ApplicationProperties.Security.SAML2; +import stirling.software.common.configuration.ApplicationProperties; +import stirling.software.common.configuration.ApplicationProperties.Security.SAML2; @Configuration @Slf4j diff --git a/src/main/java/stirling/software/SPDF/controller/api/SettingsController.java b/src/main/java/stirling/software/SPDF/controller/api/SettingsController.java index a64379a64..f75530e06 100644 --- a/src/main/java/stirling/software/SPDF/controller/api/SettingsController.java +++ b/src/main/java/stirling/software/SPDF/controller/api/SettingsController.java @@ -17,9 +17,9 @@ import io.swagger.v3.oas.annotations.tags.Tag; import lombok.RequiredArgsConstructor; import stirling.software.SPDF.config.EndpointConfiguration; -import stirling.software.SPDF.config.InstallationPathConfig; -import stirling.software.SPDF.model.ApplicationProperties; import stirling.software.SPDF.utils.GeneralUtils; +import stirling.software.common.configuration.ApplicationProperties; +import stirling.software.common.configuration.InstallationPathConfig; @Controller @Tag(name = "Settings", description = "Settings APIs") diff --git a/src/main/java/stirling/software/SPDF/controller/api/UserController.java b/src/main/java/stirling/software/SPDF/controller/api/UserController.java index ce4770499..67a6b9361 100644 --- a/src/main/java/stirling/software/SPDF/controller/api/UserController.java +++ b/src/main/java/stirling/software/SPDF/controller/api/UserController.java @@ -33,12 +33,12 @@ import lombok.extern.slf4j.Slf4j; import stirling.software.SPDF.config.security.UserService; import stirling.software.SPDF.config.security.saml2.CustomSaml2AuthenticatedPrincipal; import stirling.software.SPDF.config.security.session.SessionPersistentRegistry; -import stirling.software.SPDF.model.ApplicationProperties; import stirling.software.SPDF.model.AuthenticationType; import stirling.software.SPDF.model.Role; import stirling.software.SPDF.model.User; import stirling.software.SPDF.model.api.user.UsernameAndPass; -import stirling.software.SPDF.model.exception.UnsupportedProviderException; +import stirling.software.common.configuration.ApplicationProperties; +import stirling.software.common.model.exception.UnsupportedProviderException; @Controller @Tag(name = "User", description = "User APIs") diff --git a/src/main/java/stirling/software/SPDF/controller/api/converters/ConvertHtmlToPDF.java b/src/main/java/stirling/software/SPDF/controller/api/converters/ConvertHtmlToPDF.java index bfd67ef76..03fbea071 100644 --- a/src/main/java/stirling/software/SPDF/controller/api/converters/ConvertHtmlToPDF.java +++ b/src/main/java/stirling/software/SPDF/controller/api/converters/ConvertHtmlToPDF.java @@ -14,11 +14,11 @@ import io.swagger.v3.oas.annotations.tags.Tag; import lombok.RequiredArgsConstructor; import stirling.software.SPDF.config.RuntimePathConfig; -import stirling.software.SPDF.model.ApplicationProperties; import stirling.software.SPDF.model.api.converters.HTMLToPdfRequest; import stirling.software.SPDF.service.CustomPDFDocumentFactory; import stirling.software.SPDF.utils.FileToPdf; import stirling.software.SPDF.utils.WebResponseUtils; +import stirling.software.common.configuration.ApplicationProperties; @RestController @Tag(name = "Convert", description = "Convert APIs") diff --git a/src/main/java/stirling/software/SPDF/controller/api/converters/ConvertMarkdownToPdf.java b/src/main/java/stirling/software/SPDF/controller/api/converters/ConvertMarkdownToPdf.java index b8a190f90..3da91d945 100644 --- a/src/main/java/stirling/software/SPDF/controller/api/converters/ConvertMarkdownToPdf.java +++ b/src/main/java/stirling/software/SPDF/controller/api/converters/ConvertMarkdownToPdf.java @@ -24,11 +24,11 @@ import io.swagger.v3.oas.annotations.tags.Tag; import lombok.RequiredArgsConstructor; import stirling.software.SPDF.config.RuntimePathConfig; -import stirling.software.SPDF.model.ApplicationProperties; import stirling.software.SPDF.model.api.GeneralFile; import stirling.software.SPDF.service.CustomPDFDocumentFactory; import stirling.software.SPDF.utils.FileToPdf; import stirling.software.SPDF.utils.WebResponseUtils; +import stirling.software.common.configuration.ApplicationProperties; @RestController @Tag(name = "Convert", description = "Convert APIs") diff --git a/src/main/java/stirling/software/SPDF/controller/api/converters/ConvertWebsiteToPDF.java b/src/main/java/stirling/software/SPDF/controller/api/converters/ConvertWebsiteToPDF.java index 9ef490e9a..f26b4cf6b 100644 --- a/src/main/java/stirling/software/SPDF/controller/api/converters/ConvertWebsiteToPDF.java +++ b/src/main/java/stirling/software/SPDF/controller/api/converters/ConvertWebsiteToPDF.java @@ -20,13 +20,13 @@ import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import stirling.software.SPDF.config.RuntimePathConfig; -import stirling.software.SPDF.model.ApplicationProperties; import stirling.software.SPDF.model.api.converters.UrlToPdfRequest; import stirling.software.SPDF.service.CustomPDFDocumentFactory; import stirling.software.SPDF.utils.GeneralUtils; import stirling.software.SPDF.utils.ProcessExecutor; import stirling.software.SPDF.utils.ProcessExecutor.ProcessExecutorResult; import stirling.software.SPDF.utils.WebResponseUtils; +import stirling.software.common.configuration.ApplicationProperties; @RestController @Tag(name = "Convert", description = "Convert APIs") diff --git a/src/main/java/stirling/software/SPDF/controller/api/misc/OCRController.java b/src/main/java/stirling/software/SPDF/controller/api/misc/OCRController.java index 558ac1fbb..61682d37d 100644 --- a/src/main/java/stirling/software/SPDF/controller/api/misc/OCRController.java +++ b/src/main/java/stirling/software/SPDF/controller/api/misc/OCRController.java @@ -31,9 +31,9 @@ import io.swagger.v3.oas.annotations.tags.Tag; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; -import stirling.software.SPDF.model.ApplicationProperties; import stirling.software.SPDF.model.api.misc.ProcessPdfWithOcrRequest; import stirling.software.SPDF.service.CustomPDFDocumentFactory; +import stirling.software.common.configuration.ApplicationProperties; @RestController @RequestMapping("/api/v1/misc") diff --git a/src/main/java/stirling/software/SPDF/controller/web/AccountWebController.java b/src/main/java/stirling/software/SPDF/controller/web/AccountWebController.java index 327cda76c..cfc17e157 100644 --- a/src/main/java/stirling/software/SPDF/controller/web/AccountWebController.java +++ b/src/main/java/stirling/software/SPDF/controller/web/AccountWebController.java @@ -1,6 +1,6 @@ package stirling.software.SPDF.controller.web; -import static stirling.software.SPDF.utils.validation.Validator.validateProvider; +import static stirling.software.common.util.Validator.validateProvider; import java.time.Instant; import java.time.temporal.ChronoUnit; @@ -31,19 +31,19 @@ import lombok.extern.slf4j.Slf4j; import stirling.software.SPDF.config.security.saml2.CustomSaml2AuthenticatedPrincipal; import stirling.software.SPDF.config.security.session.SessionPersistentRegistry; -import stirling.software.SPDF.model.ApplicationProperties; -import stirling.software.SPDF.model.ApplicationProperties.Security; -import stirling.software.SPDF.model.ApplicationProperties.Security.OAUTH2; -import stirling.software.SPDF.model.ApplicationProperties.Security.OAUTH2.Client; -import stirling.software.SPDF.model.ApplicationProperties.Security.SAML2; import stirling.software.SPDF.model.Authority; import stirling.software.SPDF.model.Role; import stirling.software.SPDF.model.SessionEntity; import stirling.software.SPDF.model.User; -import stirling.software.SPDF.model.provider.GitHubProvider; -import stirling.software.SPDF.model.provider.GoogleProvider; -import stirling.software.SPDF.model.provider.KeycloakProvider; import stirling.software.SPDF.repository.UserRepository; +import stirling.software.common.configuration.ApplicationProperties; +import stirling.software.common.configuration.ApplicationProperties.Security; +import stirling.software.common.configuration.ApplicationProperties.Security.OAUTH2; +import stirling.software.common.configuration.ApplicationProperties.Security.OAUTH2.Client; +import stirling.software.common.configuration.ApplicationProperties.Security.SAML2; +import stirling.software.common.model.provider.GitHubProvider; +import stirling.software.common.model.provider.GoogleProvider; +import stirling.software.common.model.provider.KeycloakProvider; @Controller @Slf4j diff --git a/src/main/java/stirling/software/SPDF/controller/web/GeneralWebController.java b/src/main/java/stirling/software/SPDF/controller/web/GeneralWebController.java index 83337ae6a..c4b778f0b 100644 --- a/src/main/java/stirling/software/SPDF/controller/web/GeneralWebController.java +++ b/src/main/java/stirling/software/SPDF/controller/web/GeneralWebController.java @@ -24,12 +24,12 @@ import io.swagger.v3.oas.annotations.tags.Tag; import lombok.extern.slf4j.Slf4j; -import stirling.software.SPDF.config.InstallationPathConfig; import stirling.software.SPDF.config.RuntimePathConfig; import stirling.software.SPDF.controller.api.pipeline.UserServiceInterface; import stirling.software.SPDF.model.SignatureFile; import stirling.software.SPDF.service.SignatureService; import stirling.software.SPDF.utils.GeneralUtils; +import stirling.software.common.configuration.InstallationPathConfig; @Controller @Tag(name = "General", description = "General APIs") diff --git a/src/main/java/stirling/software/SPDF/controller/web/HomeWebController.java b/src/main/java/stirling/software/SPDF/controller/web/HomeWebController.java index 9a3b2b3e2..f0551d8c8 100644 --- a/src/main/java/stirling/software/SPDF/controller/web/HomeWebController.java +++ b/src/main/java/stirling/software/SPDF/controller/web/HomeWebController.java @@ -22,8 +22,8 @@ import io.swagger.v3.oas.annotations.Hidden; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; -import stirling.software.SPDF.model.ApplicationProperties; import stirling.software.SPDF.model.Dependency; +import stirling.software.common.configuration.ApplicationProperties; @Controller @Slf4j diff --git a/src/main/java/stirling/software/SPDF/controller/web/MetricsController.java b/src/main/java/stirling/software/SPDF/controller/web/MetricsController.java index 52c79073f..cd2bd7197 100644 --- a/src/main/java/stirling/software/SPDF/controller/web/MetricsController.java +++ b/src/main/java/stirling/software/SPDF/controller/web/MetricsController.java @@ -24,7 +24,7 @@ import lombok.extern.slf4j.Slf4j; import stirling.software.SPDF.config.EndpointInspector; import stirling.software.SPDF.config.StartupApplicationListener; -import stirling.software.SPDF.model.ApplicationProperties; +import stirling.software.common.configuration.ApplicationProperties; @RestController @RequestMapping("/api/v1/info") diff --git a/src/main/java/stirling/software/SPDF/controller/web/OtherWebController.java b/src/main/java/stirling/software/SPDF/controller/web/OtherWebController.java index ddd189e28..125b03b40 100644 --- a/src/main/java/stirling/software/SPDF/controller/web/OtherWebController.java +++ b/src/main/java/stirling/software/SPDF/controller/web/OtherWebController.java @@ -15,8 +15,8 @@ import io.swagger.v3.oas.annotations.tags.Tag; import lombok.RequiredArgsConstructor; -import stirling.software.SPDF.model.ApplicationProperties; import stirling.software.SPDF.utils.CheckProgramInstall; +import stirling.software.common.configuration.ApplicationProperties; @Controller @Tag(name = "Misc", description = "Miscellaneous APIs") diff --git a/src/main/java/stirling/software/SPDF/controller/web/UploadLimitService.java b/src/main/java/stirling/software/SPDF/controller/web/UploadLimitService.java index 200df6d07..62ef0e354 100644 --- a/src/main/java/stirling/software/SPDF/controller/web/UploadLimitService.java +++ b/src/main/java/stirling/software/SPDF/controller/web/UploadLimitService.java @@ -7,7 +7,7 @@ import org.springframework.stereotype.Service; import lombok.extern.slf4j.Slf4j; -import stirling.software.SPDF.model.ApplicationProperties; +import stirling.software.common.configuration.ApplicationProperties; @Service @Slf4j diff --git a/src/main/java/stirling/software/SPDF/service/LanguageService.java b/src/main/java/stirling/software/SPDF/service/LanguageService.java index e38105c59..971f9dcca 100644 --- a/src/main/java/stirling/software/SPDF/service/LanguageService.java +++ b/src/main/java/stirling/software/SPDF/service/LanguageService.java @@ -12,7 +12,7 @@ import org.springframework.stereotype.Service; import lombok.extern.slf4j.Slf4j; -import stirling.software.SPDF.model.ApplicationProperties; +import stirling.software.common.configuration.ApplicationProperties; @Service @Slf4j diff --git a/src/main/java/stirling/software/SPDF/service/PdfMetadataService.java b/src/main/java/stirling/software/SPDF/service/PdfMetadataService.java index b44ba59be..db3d105da 100644 --- a/src/main/java/stirling/software/SPDF/service/PdfMetadataService.java +++ b/src/main/java/stirling/software/SPDF/service/PdfMetadataService.java @@ -8,8 +8,8 @@ import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.stereotype.Service; import stirling.software.SPDF.controller.api.pipeline.UserServiceInterface; -import stirling.software.SPDF.model.ApplicationProperties; import stirling.software.SPDF.model.PdfMetadata; +import stirling.software.common.configuration.ApplicationProperties; @Service public class PdfMetadataService { diff --git a/src/main/java/stirling/software/SPDF/service/PostHogService.java b/src/main/java/stirling/software/SPDF/service/PostHogService.java index 69cb52061..06164ef4f 100644 --- a/src/main/java/stirling/software/SPDF/service/PostHogService.java +++ b/src/main/java/stirling/software/SPDF/service/PostHogService.java @@ -17,7 +17,7 @@ import org.springframework.stereotype.Service; import com.posthog.java.PostHog; import stirling.software.SPDF.controller.api.pipeline.UserServiceInterface; -import stirling.software.SPDF.model.ApplicationProperties; +import stirling.software.common.configuration.ApplicationProperties; @Service public class PostHogService { diff --git a/src/main/java/stirling/software/SPDF/service/SignatureService.java b/src/main/java/stirling/software/SPDF/service/SignatureService.java index 984bd0baf..1d25f409f 100644 --- a/src/main/java/stirling/software/SPDF/service/SignatureService.java +++ b/src/main/java/stirling/software/SPDF/service/SignatureService.java @@ -13,8 +13,8 @@ import org.thymeleaf.util.StringUtils; import lombok.extern.slf4j.Slf4j; -import stirling.software.SPDF.config.InstallationPathConfig; import stirling.software.SPDF.model.SignatureFile; +import stirling.software.common.configuration.InstallationPathConfig; @Service @Slf4j diff --git a/src/main/java/stirling/software/SPDF/utils/GeneralUtils.java b/src/main/java/stirling/software/SPDF/utils/GeneralUtils.java index 9172b5151..2fe76b0c0 100644 --- a/src/main/java/stirling/software/SPDF/utils/GeneralUtils.java +++ b/src/main/java/stirling/software/SPDF/utils/GeneralUtils.java @@ -27,8 +27,8 @@ import io.github.pixee.security.Urls; import lombok.extern.slf4j.Slf4j; -import stirling.software.SPDF.config.InstallationPathConfig; import stirling.software.SPDF.config.YamlHelper; +import stirling.software.common.configuration.InstallationPathConfig; @Slf4j public class GeneralUtils { diff --git a/src/main/java/stirling/software/SPDF/utils/ProcessExecutor.java b/src/main/java/stirling/software/SPDF/utils/ProcessExecutor.java index e5b8fbb36..7c2fa915a 100644 --- a/src/main/java/stirling/software/SPDF/utils/ProcessExecutor.java +++ b/src/main/java/stirling/software/SPDF/utils/ProcessExecutor.java @@ -17,7 +17,7 @@ import io.github.pixee.security.BoundedLineReader; import lombok.extern.slf4j.Slf4j; -import stirling.software.SPDF.model.ApplicationProperties; +import stirling.software.common.configuration.ApplicationProperties; @Slf4j public class ProcessExecutor { diff --git a/src/test/java/stirling/software/SPDF/SPDFApplicationTest.java b/src/test/java/stirling/software/SPDF/SPDFApplicationTest.java index c4dae34bf..028557505 100644 --- a/src/test/java/stirling/software/SPDF/SPDFApplicationTest.java +++ b/src/test/java/stirling/software/SPDF/SPDFApplicationTest.java @@ -10,7 +10,7 @@ import org.mockito.Mock; import org.mockito.junit.jupiter.MockitoExtension; import org.springframework.core.env.Environment; -import stirling.software.SPDF.model.ApplicationProperties; +import stirling.software.common.configuration.ApplicationProperties; @ExtendWith(MockitoExtension.class) public class SPDFApplicationTest { diff --git a/src/test/java/stirling/software/SPDF/config/security/CustomLogoutSuccessHandlerTest.java b/src/test/java/stirling/software/SPDF/config/security/CustomLogoutSuccessHandlerTest.java index 72dd95418..5b3315cc2 100644 --- a/src/test/java/stirling/software/SPDF/config/security/CustomLogoutSuccessHandlerTest.java +++ b/src/test/java/stirling/software/SPDF/config/security/CustomLogoutSuccessHandlerTest.java @@ -16,7 +16,7 @@ import org.springframework.security.oauth2.client.authentication.OAuth2Authentic import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse; -import stirling.software.SPDF.model.ApplicationProperties; +import stirling.software.common.configuration.ApplicationProperties; @ExtendWith(MockitoExtension.class) class CustomLogoutSuccessHandlerTest { diff --git a/src/test/java/stirling/software/SPDF/config/security/database/DatabaseConfigTest.java b/src/test/java/stirling/software/SPDF/config/security/database/DatabaseConfigTest.java index 0118e8e32..eda93d67a 100644 --- a/src/test/java/stirling/software/SPDF/config/security/database/DatabaseConfigTest.java +++ b/src/test/java/stirling/software/SPDF/config/security/database/DatabaseConfigTest.java @@ -15,8 +15,8 @@ import org.junit.jupiter.params.provider.ValueSource; import org.mockito.Mock; import org.mockito.junit.jupiter.MockitoExtension; -import stirling.software.SPDF.model.ApplicationProperties; -import stirling.software.SPDF.model.exception.UnsupportedProviderException; +import stirling.software.common.configuration.ApplicationProperties; +import stirling.software.common.model.exception.UnsupportedProviderException; @ExtendWith(MockitoExtension.class) class DatabaseConfigTest { diff --git a/src/test/java/stirling/software/SPDF/controller/api/converters/ConvertWebsiteToPdfTest.java b/src/test/java/stirling/software/SPDF/controller/api/converters/ConvertWebsiteToPdfTest.java index a67e84f60..092a13918 100644 --- a/src/test/java/stirling/software/SPDF/controller/api/converters/ConvertWebsiteToPdfTest.java +++ b/src/test/java/stirling/software/SPDF/controller/api/converters/ConvertWebsiteToPdfTest.java @@ -9,9 +9,9 @@ import org.mockito.Mock; import org.mockito.MockitoAnnotations; import stirling.software.SPDF.config.RuntimePathConfig; -import stirling.software.SPDF.model.ApplicationProperties; import stirling.software.SPDF.model.api.converters.UrlToPdfRequest; import stirling.software.SPDF.service.CustomPDFDocumentFactory; +import stirling.software.common.configuration.ApplicationProperties; public class ConvertWebsiteToPdfTest { diff --git a/stirling-common/.gitignore b/stirling-common/.gitignore new file mode 100644 index 000000000..90d48ccea --- /dev/null +++ b/stirling-common/.gitignore @@ -0,0 +1,196 @@ +### Eclipse ### +.metadata +bin/ +tmp/ +*.tmp +*.bak +*.exe +*.swp +*~.nib +local.properties +.settings/ +.loadpath +.recommenders +.classpath +.project +version.properties + +#### Stirling-PDF Files ### +pipeline/watchedFolders/ +pipeline/finishedFolders/ +customFiles/ +configs/ +watchedFolders/ +clientWebUI/ +!cucumber/ +!cucumber/exampleFiles/ +!cucumber/exampleFiles/example_html.zip +exampleYmlFiles/stirling/ +/testing/file_snapshots +SwaggerDoc.json + +# Gradle +.gradle +.lock + +# External tool builders +.externalToolBuilders/ + +# Locally stored "Eclipse launch configurations" +*.launch + +# PyDev specific (Python IDE for Eclipse) +*.pydevproject + +# CDT-specific (C/C++ Development Tooling) +.cproject + +# CDT- autotools +.autotools + +# Java annotation processor (APT) +.factorypath + +# PDT-specific (PHP Development Tools) +.buildpath + +# sbteclipse plugin +.target + +# Tern plugin +.tern-project + +# TeXlipse plugin +.texlipse + +# STS (Spring Tool Suite) +.springBeans + +# Code Recommenders +.recommenders/ + +# Annotation Processing +.apt_generated/ +.apt_generated_test/ + +# Scala IDE specific (Scala & Java development for Eclipse) +.cache-main +.scala_dependencies +.worksheet + +# Uncomment this line if you wish to ignore the project description file. +# Typically, this file would be tracked if it contains build/dependency configurations: +#.project + +### Eclipse Patch ### +# Spring Boot Tooling +.sts4-cache/ + +### Git ### +# Created by git for backups. To disable backups in Git: +# $ git config --global mergetool.keepBackup false +*.orig + +# Created by git when using merge tools for conflicts +*.BACKUP.* +*.BASE.* +*.LOCAL.* +*.REMOTE.* +*_BACKUP_*.txt +*_BASE_*.txt +*_LOCAL_*.txt +*_REMOTE_*.txt + +### Java ### +# Compiled class file +*.class + +# Log file +*.log + +# BlueJ files +*.ctxt + +# Mobile Tools for Java (J2ME) +.mtj.tmp/ + +# Package Files # +*.jar +*.war +*.nar +*.ear +*.zip +*.tar.gz +*.rar +*.db +/build + +# Byte-compiled / optimized / DLL files +__pycache__/ +*.py[cod] +*.pyo + +# Virtual environments +.env* +.venv* +env*/ +venv*/ +ENV/ +env.bak/ +venv.bak/ + +# VS Code +/.vscode/**/* +!/.vscode/settings.json +!/.vscode/extensions.json + +# IntelliJ IDEA +.idea/ +*.iml +out/ + +# Ignore Mac DS_Store files +.DS_Store +**/.DS_Store + +# cucumber +/cucumber/reports/** + +# Certs and Security Files +*.p12 +*.pk8 +*.pem +*.crt +*.cer +*.cert +*.der +*.key +*.csr +*.kdbx +*.jks +*.asc + +# SSH Keys +*.pub +*.priv +id_rsa +id_rsa.pub +id_ecdsa +id_ecdsa.pub +id_ed25519 +id_ed25519.pub +.ssh/ +*ssh + +# cache +.cache +.ruff_cache +.mypy_cache +.pytest_cache +.ipynb_checkpoints + +**/jcef-bundle/ + +# node_modules +node_modules/ +*.mjs diff --git a/src/main/java/stirling/software/SPDF/config/AppConfig.java b/stirling-common/src/main/java/stirling/software/common/configuration/AppConfig.java similarity index 98% rename from src/main/java/stirling/software/SPDF/config/AppConfig.java rename to stirling-common/src/main/java/stirling/software/common/configuration/AppConfig.java index fd55a471d..195bc9fd3 100644 --- a/src/main/java/stirling/software/SPDF/config/AppConfig.java +++ b/stirling-common/src/main/java/stirling/software/common/configuration/AppConfig.java @@ -1,4 +1,4 @@ -package stirling.software.SPDF.config; +package stirling.software.common.configuration; import java.io.IOException; import java.nio.file.Files; @@ -25,8 +25,6 @@ import org.thymeleaf.spring6.SpringTemplateEngine; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; -import stirling.software.SPDF.model.ApplicationProperties; - @Configuration @Lazy @Slf4j diff --git a/src/main/java/stirling/software/SPDF/model/ApplicationProperties.java b/stirling-common/src/main/java/stirling/software/common/configuration/ApplicationProperties.java similarity index 95% rename from src/main/java/stirling/software/SPDF/model/ApplicationProperties.java rename to stirling-common/src/main/java/stirling/software/common/configuration/ApplicationProperties.java index 82a17ff2c..23df62218 100644 --- a/src/main/java/stirling/software/SPDF/model/ApplicationProperties.java +++ b/stirling-common/src/main/java/stirling/software/common/configuration/ApplicationProperties.java @@ -1,6 +1,4 @@ -package stirling.software.SPDF.model; - -import static stirling.software.SPDF.utils.validation.Validator.*; +package stirling.software.common.configuration; import java.io.File; import java.io.FileNotFoundException; @@ -33,13 +31,12 @@ import lombok.Setter; import lombok.ToString; import lombok.extern.slf4j.Slf4j; -import stirling.software.SPDF.config.InstallationPathConfig; -import stirling.software.SPDF.config.YamlPropertySourceFactory; -import stirling.software.SPDF.model.exception.UnsupportedProviderException; -import stirling.software.SPDF.model.provider.GitHubProvider; -import stirling.software.SPDF.model.provider.GoogleProvider; -import stirling.software.SPDF.model.provider.KeycloakProvider; -import stirling.software.SPDF.model.provider.Provider; +import stirling.software.common.model.exception.UnsupportedProviderException; +import stirling.software.common.model.provider.GitHubProvider; +import stirling.software.common.model.provider.GoogleProvider; +import stirling.software.common.model.provider.KeycloakProvider; +import stirling.software.common.model.provider.Provider; +import stirling.software.common.util.Validator; @Configuration @ConfigurationProperties(prefix = "") @@ -248,11 +245,11 @@ public class ApplicationProperties { } public boolean isSettingsValid() { - return !isStringEmpty(this.getIssuer()) - && !isStringEmpty(this.getClientId()) - && !isStringEmpty(this.getClientSecret()) - && !isCollectionEmpty(this.getScopes()) - && !isStringEmpty(this.getUseAsUsername()); + return !Validator.isStringEmpty(this.getIssuer()) + && !Validator.isStringEmpty(this.getClientId()) + && !Validator.isStringEmpty(this.getClientSecret()) + && !Validator.isCollectionEmpty(this.getScopes()) + && !Validator.isStringEmpty(this.getUseAsUsername()); } @Data diff --git a/src/main/java/stirling/software/SPDF/config/FileFallbackTemplateResolver.java b/stirling-common/src/main/java/stirling/software/common/configuration/FileFallbackTemplateResolver.java similarity index 94% rename from src/main/java/stirling/software/SPDF/config/FileFallbackTemplateResolver.java rename to stirling-common/src/main/java/stirling/software/common/configuration/FileFallbackTemplateResolver.java index b6315db92..c0edba388 100644 --- a/src/main/java/stirling/software/SPDF/config/FileFallbackTemplateResolver.java +++ b/stirling-common/src/main/java/stirling/software/common/configuration/FileFallbackTemplateResolver.java @@ -1,4 +1,4 @@ -package stirling.software.SPDF.config; +package stirling.software.common.configuration; import java.io.IOException; import java.io.InputStream; @@ -10,8 +10,7 @@ import org.thymeleaf.IEngineConfiguration; import org.thymeleaf.templateresolver.AbstractConfigurableTemplateResolver; import org.thymeleaf.templateresource.FileTemplateResource; import org.thymeleaf.templateresource.ITemplateResource; - -import stirling.software.SPDF.model.InputStreamTemplateResource; +import stirling.software.common.model.InputStreamTemplateResource; public class FileFallbackTemplateResolver extends AbstractConfigurableTemplateResolver { diff --git a/src/main/java/stirling/software/SPDF/config/InstallationPathConfig.java b/stirling-common/src/main/java/stirling/software/common/configuration/InstallationPathConfig.java similarity index 98% rename from src/main/java/stirling/software/SPDF/config/InstallationPathConfig.java rename to stirling-common/src/main/java/stirling/software/common/configuration/InstallationPathConfig.java index 557a152e7..e3293e3bd 100644 --- a/src/main/java/stirling/software/SPDF/config/InstallationPathConfig.java +++ b/stirling-common/src/main/java/stirling/software/common/configuration/InstallationPathConfig.java @@ -1,4 +1,4 @@ -package stirling.software.SPDF.config; +package stirling.software.common.configuration; import java.io.File; import java.nio.file.Paths; diff --git a/src/main/java/stirling/software/SPDF/config/YamlPropertySourceFactory.java b/stirling-common/src/main/java/stirling/software/common/configuration/YamlPropertySourceFactory.java similarity index 95% rename from src/main/java/stirling/software/SPDF/config/YamlPropertySourceFactory.java rename to stirling-common/src/main/java/stirling/software/common/configuration/YamlPropertySourceFactory.java index e2818e898..783d6d621 100644 --- a/src/main/java/stirling/software/SPDF/config/YamlPropertySourceFactory.java +++ b/stirling-common/src/main/java/stirling/software/common/configuration/YamlPropertySourceFactory.java @@ -1,4 +1,4 @@ -package stirling.software.SPDF.config; +package stirling.software.common.configuration; import java.io.IOException; import java.util.Properties; diff --git a/src/main/java/stirling/software/SPDF/model/InputStreamTemplateResource.java b/stirling-common/src/main/java/stirling/software/common/model/InputStreamTemplateResource.java similarity index 96% rename from src/main/java/stirling/software/SPDF/model/InputStreamTemplateResource.java rename to stirling-common/src/main/java/stirling/software/common/model/InputStreamTemplateResource.java index b4271df02..02a104f88 100644 --- a/src/main/java/stirling/software/SPDF/model/InputStreamTemplateResource.java +++ b/stirling-common/src/main/java/stirling/software/common/model/InputStreamTemplateResource.java @@ -1,4 +1,4 @@ -package stirling.software.SPDF.model; +package stirling.software.common.model; import java.io.IOException; import java.io.InputStream; diff --git a/src/main/java/stirling/software/SPDF/model/UsernameAttribute.java b/stirling-common/src/main/java/stirling/software/common/model/enumeration/UsernameAttribute.java similarity index 90% rename from src/main/java/stirling/software/SPDF/model/UsernameAttribute.java rename to stirling-common/src/main/java/stirling/software/common/model/enumeration/UsernameAttribute.java index 23159ade1..86f95793c 100644 --- a/src/main/java/stirling/software/SPDF/model/UsernameAttribute.java +++ b/stirling-common/src/main/java/stirling/software/common/model/enumeration/UsernameAttribute.java @@ -1,4 +1,4 @@ -package stirling.software.SPDF.model; +package stirling.software.common.model.enumeration; import lombok.Getter; diff --git a/src/main/java/stirling/software/SPDF/model/exception/UnsupportedProviderException.java b/stirling-common/src/main/java/stirling/software/common/model/exception/UnsupportedProviderException.java similarity index 75% rename from src/main/java/stirling/software/SPDF/model/exception/UnsupportedProviderException.java rename to stirling-common/src/main/java/stirling/software/common/model/exception/UnsupportedProviderException.java index d0bd8330c..0b9a3375d 100644 --- a/src/main/java/stirling/software/SPDF/model/exception/UnsupportedProviderException.java +++ b/stirling-common/src/main/java/stirling/software/common/model/exception/UnsupportedProviderException.java @@ -1,4 +1,4 @@ -package stirling.software.SPDF.model.exception; +package stirling.software.common.model.exception; public class UnsupportedProviderException extends Exception { public UnsupportedProviderException(String message) { diff --git a/src/main/java/stirling/software/SPDF/model/exception/UnsupportedUsernameAttribute.java b/stirling-common/src/main/java/stirling/software/common/model/exception/UnsupportedUsernameAttribute.java similarity index 76% rename from src/main/java/stirling/software/SPDF/model/exception/UnsupportedUsernameAttribute.java rename to stirling-common/src/main/java/stirling/software/common/model/exception/UnsupportedUsernameAttribute.java index 0bf06ee20..c639dda60 100644 --- a/src/main/java/stirling/software/SPDF/model/exception/UnsupportedUsernameAttribute.java +++ b/stirling-common/src/main/java/stirling/software/common/model/exception/UnsupportedUsernameAttribute.java @@ -1,4 +1,4 @@ -package stirling.software.SPDF.model.exception; +package stirling.software.common.model.exception; public class UnsupportedUsernameAttribute extends RuntimeException { public UnsupportedUsernameAttribute(String message) { diff --git a/src/main/java/stirling/software/SPDF/model/provider/GitHubProvider.java b/stirling-common/src/main/java/stirling/software/common/model/provider/GitHubProvider.java similarity index 94% rename from src/main/java/stirling/software/SPDF/model/provider/GitHubProvider.java rename to stirling-common/src/main/java/stirling/software/common/model/provider/GitHubProvider.java index 7057ec903..35fe9c1f1 100644 --- a/src/main/java/stirling/software/SPDF/model/provider/GitHubProvider.java +++ b/stirling-common/src/main/java/stirling/software/common/model/provider/GitHubProvider.java @@ -1,11 +1,9 @@ -package stirling.software.SPDF.model.provider; +package stirling.software.common.model.provider; import java.util.ArrayList; import java.util.Collection; - import lombok.NoArgsConstructor; - -import stirling.software.SPDF.model.UsernameAttribute; +import stirling.software.common.model.enumeration.UsernameAttribute; @NoArgsConstructor public class GitHubProvider extends Provider { diff --git a/src/main/java/stirling/software/SPDF/model/provider/GoogleProvider.java b/stirling-common/src/main/java/stirling/software/common/model/provider/GoogleProvider.java similarity index 94% rename from src/main/java/stirling/software/SPDF/model/provider/GoogleProvider.java rename to stirling-common/src/main/java/stirling/software/common/model/provider/GoogleProvider.java index 1bb217c9f..b3e5b0c8b 100644 --- a/src/main/java/stirling/software/SPDF/model/provider/GoogleProvider.java +++ b/stirling-common/src/main/java/stirling/software/common/model/provider/GoogleProvider.java @@ -1,11 +1,9 @@ -package stirling.software.SPDF.model.provider; +package stirling.software.common.model.provider; import java.util.ArrayList; import java.util.Collection; - import lombok.NoArgsConstructor; - -import stirling.software.SPDF.model.UsernameAttribute; +import stirling.software.common.model.enumeration.UsernameAttribute; @NoArgsConstructor public class GoogleProvider extends Provider { diff --git a/src/main/java/stirling/software/SPDF/model/provider/KeycloakProvider.java b/stirling-common/src/main/java/stirling/software/common/model/provider/KeycloakProvider.java similarity index 93% rename from src/main/java/stirling/software/SPDF/model/provider/KeycloakProvider.java rename to stirling-common/src/main/java/stirling/software/common/model/provider/KeycloakProvider.java index c01d27c20..8b483b4a4 100644 --- a/src/main/java/stirling/software/SPDF/model/provider/KeycloakProvider.java +++ b/stirling-common/src/main/java/stirling/software/common/model/provider/KeycloakProvider.java @@ -1,11 +1,9 @@ -package stirling.software.SPDF.model.provider; +package stirling.software.common.model.provider; import java.util.ArrayList; import java.util.Collection; - import lombok.NoArgsConstructor; - -import stirling.software.SPDF.model.UsernameAttribute; +import stirling.software.common.model.enumeration.UsernameAttribute; @NoArgsConstructor public class KeycloakProvider extends Provider { diff --git a/src/main/java/stirling/software/SPDF/model/provider/Provider.java b/stirling-common/src/main/java/stirling/software/common/model/provider/Provider.java similarity index 93% rename from src/main/java/stirling/software/SPDF/model/provider/Provider.java rename to stirling-common/src/main/java/stirling/software/common/model/provider/Provider.java index c15bc34a6..280939be9 100644 --- a/src/main/java/stirling/software/SPDF/model/provider/Provider.java +++ b/stirling-common/src/main/java/stirling/software/common/model/provider/Provider.java @@ -1,16 +1,13 @@ -package stirling.software.SPDF.model.provider; - -import static stirling.software.SPDF.model.UsernameAttribute.EMAIL; +package stirling.software.common.model.provider; import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; - import lombok.Data; import lombok.NoArgsConstructor; - -import stirling.software.SPDF.model.UsernameAttribute; -import stirling.software.SPDF.model.exception.UnsupportedUsernameAttribute; +import stirling.software.common.model.enumeration.UsernameAttribute; +import stirling.software.common.model.exception.UnsupportedUsernameAttribute; +import static stirling.software.common.model.enumeration.UsernameAttribute.EMAIL; @Data @NoArgsConstructor diff --git a/src/main/java/stirling/software/SPDF/utils/validation/Validator.java b/stirling-common/src/main/java/stirling/software/common/util/Validator.java similarity index 87% rename from src/main/java/stirling/software/SPDF/utils/validation/Validator.java rename to stirling-common/src/main/java/stirling/software/common/util/Validator.java index 83b906857..6237095e7 100644 --- a/src/main/java/stirling/software/SPDF/utils/validation/Validator.java +++ b/stirling-common/src/main/java/stirling/software/common/util/Validator.java @@ -1,8 +1,7 @@ -package stirling.software.SPDF.utils.validation; +package stirling.software.common.util; import java.util.Collection; - -import stirling.software.SPDF.model.provider.Provider; +import stirling.software.common.model.provider.Provider; public class Validator { diff --git a/src/test/java/stirling/software/SPDF/utils/validation/ValidatorTest.java b/stirling-common/src/test/java/stirling/software/common/util/ValidatorTest.java similarity index 80% rename from src/test/java/stirling/software/SPDF/utils/validation/ValidatorTest.java rename to stirling-common/src/test/java/stirling/software/common/util/ValidatorTest.java index 1ec8acd91..ea49d917b 100644 --- a/src/test/java/stirling/software/SPDF/utils/validation/ValidatorTest.java +++ b/stirling-common/src/test/java/stirling/software/common/util/ValidatorTest.java @@ -1,24 +1,21 @@ -package stirling.software.SPDF.utils.validation; - -import static org.junit.jupiter.api.Assertions.assertFalse; -import static org.junit.jupiter.api.Assertions.assertTrue; -import static org.mockito.Mockito.mock; -import static org.mockito.Mockito.when; +package stirling.software.common.util; import java.util.List; import java.util.stream.Stream; - import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.Arguments; import org.junit.jupiter.params.provider.MethodSource; +import org.mockito.Mockito; import org.mockito.junit.jupiter.MockitoExtension; - -import stirling.software.SPDF.model.UsernameAttribute; -import stirling.software.SPDF.model.provider.GitHubProvider; -import stirling.software.SPDF.model.provider.GoogleProvider; -import stirling.software.SPDF.model.provider.Provider; +import stirling.software.common.model.enumeration.UsernameAttribute; +import stirling.software.common.model.provider.GitHubProvider; +import stirling.software.common.model.provider.GoogleProvider; +import stirling.software.common.model.provider.Provider; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertTrue; +import static org.mockito.Mockito.*; @ExtendWith(MockitoExtension.class) class ValidatorTest {