From 7a9e6cbd2a95535bafbee313c338b1788b92eac9 Mon Sep 17 00:00:00 2001 From: Ludy87 Date: Tue, 29 Jul 2025 22:21:01 +0200 Subject: [PATCH] move to --- .github/labeler-config-srvaroa.yml | 1 + .../configuration/InstallationPathConfig.java | 6 +++++ .../software/common/util/GeneralUtils.java | 26 +++++++++++++++++++ app/core/.gitignore | 3 +-- .../software/SPDF/config/InitialSetup.java | 1 + .../defaultWebUIConfigs/OCR images.json | 0 .../Prepare-pdfs-for-email.json | 0 .../split-rotate-auto-rename.json | 0 8 files changed, 35 insertions(+), 2 deletions(-) rename {pipeline => app/core/src/main/resources/static/pipeline}/defaultWebUIConfigs/OCR images.json (100%) rename {pipeline => app/core/src/main/resources/static/pipeline}/defaultWebUIConfigs/Prepare-pdfs-for-email.json (100%) rename {pipeline => app/core/src/main/resources/static/pipeline}/defaultWebUIConfigs/split-rotate-auto-rename.json (100%) diff --git a/.github/labeler-config-srvaroa.yml b/.github/labeler-config-srvaroa.yml index 44a234e3b..3719c0ad8 100644 --- a/.github/labeler-config-srvaroa.yml +++ b/.github/labeler-config-srvaroa.yml @@ -78,6 +78,7 @@ labels: - 'app/core/src/main/resources/banner.txt' - 'app/core/src/main/resources/static/python/png_to_webp.py' - 'app/core/src/main/resources/static/python/split_photos.py' + - 'app/core/src/main/resources/static/pipeline/defaultWebUIConfigs/**' - 'application.properties' - label: 'Security' diff --git a/app/common/src/main/java/stirling/software/common/configuration/InstallationPathConfig.java b/app/common/src/main/java/stirling/software/common/configuration/InstallationPathConfig.java index 08618329d..247a012ad 100644 --- a/app/common/src/main/java/stirling/software/common/configuration/InstallationPathConfig.java +++ b/app/common/src/main/java/stirling/software/common/configuration/InstallationPathConfig.java @@ -15,6 +15,7 @@ public class InstallationPathConfig { private static final String CUSTOM_FILES_PATH; private static final String CLIENT_WEBUI_PATH; private static final String SCRIPTS_PATH; + private static final String PIPELINE_PATH; // Config paths private static final String SETTINGS_PATH; @@ -33,6 +34,7 @@ public class InstallationPathConfig { CONFIG_PATH = BASE_PATH + "configs" + File.separator; CUSTOM_FILES_PATH = BASE_PATH + "customFiles" + File.separator; CLIENT_WEBUI_PATH = BASE_PATH + "clientWebUI" + File.separator; + PIPELINE_PATH = BASE_PATH + "pipeline" + File.separator; // Initialize config paths SETTINGS_PATH = CONFIG_PATH + "settings.yml"; @@ -95,6 +97,10 @@ public class InstallationPathConfig { return SCRIPTS_PATH; } + public static String getPipelinePath() { + return PIPELINE_PATH; + } + public static String getSettingsPath() { return SETTINGS_PATH; } diff --git a/app/common/src/main/java/stirling/software/common/util/GeneralUtils.java b/app/common/src/main/java/stirling/software/common/util/GeneralUtils.java index b132c0540..9dd296947 100644 --- a/app/common/src/main/java/stirling/software/common/util/GeneralUtils.java +++ b/app/common/src/main/java/stirling/software/common/util/GeneralUtils.java @@ -446,6 +446,32 @@ public class GeneralUtils { } } + public static void extractPipeline() throws IOException { + Path pipelinePath = + Paths.get(InstallationPathConfig.getPipelinePath(), "defaultWebUIConfigs"); + Files.createDirectories(pipelinePath); + + List defaultFiles = + List.of( + "OCR images.json", + "Prepare-pdfs-for-email.json", + "split-rotate-auto-rename.json"); + + for (String fileName : defaultFiles) { + Path pipelineFile = pipelinePath.resolve(fileName); + if (!Files.exists(pipelineFile)) { + ClassPathResource resource = + new ClassPathResource("static/pipeline/defaultWebUIConfigs/" + fileName); + try (InputStream in = resource.getInputStream()) { + Files.copy(in, pipelineFile, StandardCopyOption.REPLACE_EXISTING); + log.error("Extracted pipeline file: {}", pipelineFile); + } catch (IOException e) { + log.error("Failed to extract pipeline file", e); + } + } + } + } + public static Path extractScript(String scriptName) throws IOException { // Validate input if (scriptName == null || scriptName.trim().isEmpty()) { diff --git a/app/core/.gitignore b/app/core/.gitignore index 2b3880de6..d96ed4f36 100644 --- a/app/core/.gitignore +++ b/app/core/.gitignore @@ -16,8 +16,7 @@ local.properties version.properties #### Stirling-PDF Files ### -pipeline/watchedFolders/ -pipeline/finishedFolders/ +./pipeline/ customFiles/ configs/ watchedFolders/ diff --git a/app/core/src/main/java/stirling/software/SPDF/config/InitialSetup.java b/app/core/src/main/java/stirling/software/SPDF/config/InitialSetup.java index d242bfeab..2d261c660 100644 --- a/app/core/src/main/java/stirling/software/SPDF/config/InitialSetup.java +++ b/app/core/src/main/java/stirling/software/SPDF/config/InitialSetup.java @@ -35,6 +35,7 @@ public class InitialSetup { initEnableCSRFSecurity(); initLegalUrls(); initSetAppVersion(); + GeneralUtils.extractPipeline(); } public void initUUIDKey() throws IOException { diff --git a/pipeline/defaultWebUIConfigs/OCR images.json b/app/core/src/main/resources/static/pipeline/defaultWebUIConfigs/OCR images.json similarity index 100% rename from pipeline/defaultWebUIConfigs/OCR images.json rename to app/core/src/main/resources/static/pipeline/defaultWebUIConfigs/OCR images.json diff --git a/pipeline/defaultWebUIConfigs/Prepare-pdfs-for-email.json b/app/core/src/main/resources/static/pipeline/defaultWebUIConfigs/Prepare-pdfs-for-email.json similarity index 100% rename from pipeline/defaultWebUIConfigs/Prepare-pdfs-for-email.json rename to app/core/src/main/resources/static/pipeline/defaultWebUIConfigs/Prepare-pdfs-for-email.json diff --git a/pipeline/defaultWebUIConfigs/split-rotate-auto-rename.json b/app/core/src/main/resources/static/pipeline/defaultWebUIConfigs/split-rotate-auto-rename.json similarity index 100% rename from pipeline/defaultWebUIConfigs/split-rotate-auto-rename.json rename to app/core/src/main/resources/static/pipeline/defaultWebUIConfigs/split-rotate-auto-rename.json