diff --git a/build.gradle b/build.gradle index c268b4dfa..e6a1d8372 100644 --- a/build.gradle +++ b/build.gradle @@ -27,6 +27,7 @@ ext { springSecuritySamlVersion = "6.5.0" openSamlVersion = "4.3.2" commonmarkVersion = "0.24.0" + googleJavaFormatVersion = "1.27.0" tempJrePath = null } @@ -475,7 +476,7 @@ spotless { target project(':proprietary').sourceSets.main.allJava target project(':stirling-pdf').sourceSets.main.allJava - googleJavaFormat("1.27.0").aosp().reorderImports(false) + googleJavaFormat(googleJavaFormatVersion).aosp().reorderImports(false) importOrder("java", "javax", "org", "com", "net", "io", "jakarta", "lombok", "me", "stirling") toggleOffOn() diff --git a/common/build.gradle b/common/build.gradle index 76c07ae8d..86dae83a4 100644 --- a/common/build.gradle +++ b/common/build.gradle @@ -2,7 +2,12 @@ bootRun { enabled = false } - +spotless { + java { + target sourceSets.main.allJava + googleJavaFormat(googleJavaFormatVersion).aosp() + } +} dependencies { api 'org.springframework.boot:spring-boot-starter-web' api 'org.springframework.boot:spring-boot-starter-thymeleaf' @@ -17,4 +22,4 @@ dependencies { api 'org.snakeyaml:snakeyaml-engine:2.9' api "org.springdoc:springdoc-openapi-starter-webmvc-ui:2.8.8" api 'jakarta.mail:jakarta.mail-api:2.1.3' -} \ No newline at end of file +} diff --git a/common/src/main/java/org/apache/pdfbox/examples/util/DeletingRandomAccessFile.java b/common/src/main/java/org/apache/pdfbox/examples/util/DeletingRandomAccessFile.java index 2c0341e19..d6e131ff9 100644 --- a/common/src/main/java/org/apache/pdfbox/examples/util/DeletingRandomAccessFile.java +++ b/common/src/main/java/org/apache/pdfbox/examples/util/DeletingRandomAccessFile.java @@ -4,10 +4,8 @@ import java.io.File; import java.io.IOException; import java.nio.file.Files; import java.nio.file.Path; - -import org.apache.pdfbox.io.RandomAccessReadBufferedFile; - import lombok.extern.slf4j.Slf4j; +import org.apache.pdfbox.io.RandomAccessReadBufferedFile; /** A custom RandomAccessRead implementation that deletes the file when closed */ @Slf4j diff --git a/common/src/main/java/stirling/software/common/configuration/AppConfig.java b/common/src/main/java/stirling/software/common/configuration/AppConfig.java index e799c7c63..393e29f1f 100644 --- a/common/src/main/java/stirling/software/common/configuration/AppConfig.java +++ b/common/src/main/java/stirling/software/common/configuration/AppConfig.java @@ -248,17 +248,16 @@ public class AppConfig { return applicationProperties.getSystem().getDatasource(); } - @Bean(name = "runningProOrHigher") @Profile("default") public boolean runningProOrHigher() { - return false; + return false; } @Bean(name = "runningEE") @Profile("default") public boolean runningEnterprise() { - return false; + return false; } @Bean(name = "GoogleDriveEnabled") @@ -273,10 +272,9 @@ public class AppConfig { return "NORMAL"; } - @Bean(name = "disablePixel") public boolean disablePixel() { - return Boolean.parseBoolean(env.getProperty("DISABLE_PIXEL", "false")); + return Boolean.parseBoolean(env.getProperty("DISABLE_PIXEL", "false")); } @Bean(name = "machineType") diff --git a/common/src/main/java/stirling/software/common/configuration/ConfigInitializer.java b/common/src/main/java/stirling/software/common/configuration/ConfigInitializer.java index 50090ee51..436e0c909 100644 --- a/common/src/main/java/stirling/software/common/configuration/ConfigInitializer.java +++ b/common/src/main/java/stirling/software/common/configuration/ConfigInitializer.java @@ -10,9 +10,7 @@ import java.nio.file.Path; import java.nio.file.Paths; import java.nio.file.StandardCopyOption; import java.util.List; - import lombok.extern.slf4j.Slf4j; - import stirling.software.common.util.YamlHelper; /** diff --git a/common/src/main/java/stirling/software/common/configuration/FileFallbackTemplateResolver.java b/common/src/main/java/stirling/software/common/configuration/FileFallbackTemplateResolver.java index 320d9aaac..7bb41812d 100644 --- a/common/src/main/java/stirling/software/common/configuration/FileFallbackTemplateResolver.java +++ b/common/src/main/java/stirling/software/common/configuration/FileFallbackTemplateResolver.java @@ -3,16 +3,13 @@ package stirling.software.common.configuration; import java.io.IOException; import java.io.InputStream; import java.util.Map; - +import lombok.extern.slf4j.Slf4j; import org.springframework.core.io.Resource; import org.springframework.core.io.ResourceLoader; import org.thymeleaf.IEngineConfiguration; import org.thymeleaf.templateresolver.AbstractConfigurableTemplateResolver; import org.thymeleaf.templateresource.FileTemplateResource; import org.thymeleaf.templateresource.ITemplateResource; - -import lombok.extern.slf4j.Slf4j; - import stirling.software.common.model.InputStreamTemplateResource; @Slf4j diff --git a/common/src/main/java/stirling/software/common/configuration/InstallationPathConfig.java b/common/src/main/java/stirling/software/common/configuration/InstallationPathConfig.java index d087f2a7a..591238eab 100644 --- a/common/src/main/java/stirling/software/common/configuration/InstallationPathConfig.java +++ b/common/src/main/java/stirling/software/common/configuration/InstallationPathConfig.java @@ -2,7 +2,6 @@ package stirling.software.common.configuration; import java.io.File; import java.nio.file.Paths; - import lombok.extern.slf4j.Slf4j; @Slf4j diff --git a/common/src/main/java/stirling/software/common/configuration/PostHogConfig.java b/common/src/main/java/stirling/software/common/configuration/PostHogConfig.java index 589b5cac9..3cc89e640 100644 --- a/common/src/main/java/stirling/software/common/configuration/PostHogConfig.java +++ b/common/src/main/java/stirling/software/common/configuration/PostHogConfig.java @@ -1,15 +1,12 @@ package stirling.software.common.configuration; +import com.posthog.java.PostHog; +import jakarta.annotation.PreDestroy; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; -import com.posthog.java.PostHog; - -import jakarta.annotation.PreDestroy; - -import lombok.extern.slf4j.Slf4j; - @Configuration @Slf4j public class PostHogConfig { diff --git a/common/src/main/java/stirling/software/common/configuration/PostHogLoggerImpl.java b/common/src/main/java/stirling/software/common/configuration/PostHogLoggerImpl.java index 5fadfb352..19c4b0a92 100644 --- a/common/src/main/java/stirling/software/common/configuration/PostHogLoggerImpl.java +++ b/common/src/main/java/stirling/software/common/configuration/PostHogLoggerImpl.java @@ -1,10 +1,8 @@ package stirling.software.common.configuration; -import org.springframework.stereotype.Component; - import com.posthog.java.PostHogLogger; - import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; @Slf4j @Component diff --git a/common/src/main/java/stirling/software/common/configuration/RuntimePathConfig.java b/common/src/main/java/stirling/software/common/configuration/RuntimePathConfig.java index 53fa97c25..99c125a0c 100644 --- a/common/src/main/java/stirling/software/common/configuration/RuntimePathConfig.java +++ b/common/src/main/java/stirling/software/common/configuration/RuntimePathConfig.java @@ -2,13 +2,10 @@ package stirling.software.common.configuration; import java.nio.file.Files; import java.nio.file.Path; - -import org.apache.commons.lang3.StringUtils; -import org.springframework.context.annotation.Configuration; - import lombok.Getter; import lombok.extern.slf4j.Slf4j; - +import org.apache.commons.lang3.StringUtils; +import org.springframework.context.annotation.Configuration; import stirling.software.common.model.ApplicationProperties; import stirling.software.common.model.ApplicationProperties.CustomPaths.Operations; import stirling.software.common.model.ApplicationProperties.CustomPaths.Pipeline; diff --git a/common/src/main/java/stirling/software/common/configuration/YamlPropertySourceFactory.java b/common/src/main/java/stirling/software/common/configuration/YamlPropertySourceFactory.java index efb98f260..17ad21bfd 100644 --- a/common/src/main/java/stirling/software/common/configuration/YamlPropertySourceFactory.java +++ b/common/src/main/java/stirling/software/common/configuration/YamlPropertySourceFactory.java @@ -1,7 +1,6 @@ package stirling.software.common.configuration; import java.util.Properties; - import org.springframework.beans.factory.config.YamlPropertiesFactoryBean; import org.springframework.core.env.PropertiesPropertySource; import org.springframework.core.env.PropertySource; diff --git a/common/src/main/java/stirling/software/common/model/ApplicationProperties.java b/common/src/main/java/stirling/software/common/model/ApplicationProperties.java index 58ff13f50..6949b2a21 100644 --- a/common/src/main/java/stirling/software/common/model/ApplicationProperties.java +++ b/common/src/main/java/stirling/software/common/model/ApplicationProperties.java @@ -12,7 +12,11 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; import java.util.List; - +import lombok.Data; +import lombok.Getter; +import lombok.Setter; +import lombok.ToString; +import lombok.extern.slf4j.Slf4j; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.context.annotation.Bean; import org.springframework.core.Ordered; @@ -24,13 +28,6 @@ import org.springframework.core.io.FileSystemResource; import org.springframework.core.io.Resource; import org.springframework.core.io.support.EncodedResource; import org.springframework.stereotype.Component; - -import lombok.Data; -import lombok.Getter; -import lombok.Setter; -import lombok.ToString; -import lombok.extern.slf4j.Slf4j; - import stirling.software.common.configuration.InstallationPathConfig; import stirling.software.common.configuration.YamlPropertySourceFactory; import stirling.software.common.model.exception.UnsupportedProviderException; diff --git a/common/src/main/java/stirling/software/common/model/FileInfo.java b/common/src/main/java/stirling/software/common/model/FileInfo.java index 41a3a4717..2c2b13ed5 100644 --- a/common/src/main/java/stirling/software/common/model/FileInfo.java +++ b/common/src/main/java/stirling/software/common/model/FileInfo.java @@ -5,7 +5,6 @@ import java.nio.file.Paths; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; import java.util.Locale; - import lombok.AllArgsConstructor; import lombok.Data; diff --git a/common/src/main/java/stirling/software/common/model/InputStreamTemplateResource.java b/common/src/main/java/stirling/software/common/model/InputStreamTemplateResource.java index 4bc81cafa..eb7dc61f8 100644 --- a/common/src/main/java/stirling/software/common/model/InputStreamTemplateResource.java +++ b/common/src/main/java/stirling/software/common/model/InputStreamTemplateResource.java @@ -4,7 +4,6 @@ import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.Reader; - import org.thymeleaf.templateresource.ITemplateResource; public class InputStreamTemplateResource implements ITemplateResource { diff --git a/common/src/main/java/stirling/software/common/model/PdfMetadata.java b/common/src/main/java/stirling/software/common/model/PdfMetadata.java index ef8684788..a640e9c63 100644 --- a/common/src/main/java/stirling/software/common/model/PdfMetadata.java +++ b/common/src/main/java/stirling/software/common/model/PdfMetadata.java @@ -1,7 +1,6 @@ package stirling.software.common.model; import java.util.Calendar; - import lombok.Builder; import lombok.Data; diff --git a/common/src/main/java/stirling/software/common/model/api/GeneralFile.java b/common/src/main/java/stirling/software/common/model/api/GeneralFile.java index 84675dcb5..ee67e53f5 100644 --- a/common/src/main/java/stirling/software/common/model/api/GeneralFile.java +++ b/common/src/main/java/stirling/software/common/model/api/GeneralFile.java @@ -1,11 +1,9 @@ package stirling.software.common.model.api; -import org.springframework.web.multipart.MultipartFile; - import io.swagger.v3.oas.annotations.media.Schema; - import lombok.Data; import lombok.EqualsAndHashCode; +import org.springframework.web.multipart.MultipartFile; @Data @EqualsAndHashCode diff --git a/common/src/main/java/stirling/software/common/model/api/PDFFile.java b/common/src/main/java/stirling/software/common/model/api/PDFFile.java index 8ea3f0456..3dcceb9a4 100644 --- a/common/src/main/java/stirling/software/common/model/api/PDFFile.java +++ b/common/src/main/java/stirling/software/common/model/api/PDFFile.java @@ -1,12 +1,10 @@ package stirling.software.common.model.api; -import org.springframework.web.multipart.MultipartFile; - import io.swagger.v3.oas.annotations.media.Schema; - import lombok.Data; import lombok.EqualsAndHashCode; import lombok.NoArgsConstructor; +import org.springframework.web.multipart.MultipartFile; @Data @NoArgsConstructor diff --git a/common/src/main/java/stirling/software/common/model/api/converters/HTMLToPdfRequest.java b/common/src/main/java/stirling/software/common/model/api/converters/HTMLToPdfRequest.java index 106d36f17..59cc09e27 100644 --- a/common/src/main/java/stirling/software/common/model/api/converters/HTMLToPdfRequest.java +++ b/common/src/main/java/stirling/software/common/model/api/converters/HTMLToPdfRequest.java @@ -1,10 +1,8 @@ package stirling.software.common.model.api.converters; import io.swagger.v3.oas.annotations.media.Schema; - import lombok.Data; import lombok.EqualsAndHashCode; - import stirling.software.common.model.api.PDFFile; @Data diff --git a/common/src/main/java/stirling/software/common/model/api/security/RedactionArea.java b/common/src/main/java/stirling/software/common/model/api/security/RedactionArea.java index e0028a8ae..349363f74 100644 --- a/common/src/main/java/stirling/software/common/model/api/security/RedactionArea.java +++ b/common/src/main/java/stirling/software/common/model/api/security/RedactionArea.java @@ -1,7 +1,6 @@ package stirling.software.common.model.api.security; import io.swagger.v3.oas.annotations.media.Schema; - import lombok.Data; import lombok.EqualsAndHashCode; diff --git a/common/src/main/java/stirling/software/common/model/enumeration/Role.java b/common/src/main/java/stirling/software/common/model/enumeration/Role.java index 9e3231918..6924808a1 100644 --- a/common/src/main/java/stirling/software/common/model/enumeration/Role.java +++ b/common/src/main/java/stirling/software/common/model/enumeration/Role.java @@ -2,7 +2,6 @@ package stirling.software.common.model.enumeration; import java.util.LinkedHashMap; import java.util.Map; - import lombok.Getter; import lombok.RequiredArgsConstructor; diff --git a/common/src/main/java/stirling/software/common/model/oauth2/GitHubProvider.java b/common/src/main/java/stirling/software/common/model/oauth2/GitHubProvider.java index ef5c15497..a62eb21fb 100644 --- a/common/src/main/java/stirling/software/common/model/oauth2/GitHubProvider.java +++ b/common/src/main/java/stirling/software/common/model/oauth2/GitHubProvider.java @@ -2,9 +2,7 @@ package stirling.software.common.model.oauth2; import java.util.ArrayList; import java.util.Collection; - import lombok.NoArgsConstructor; - import stirling.software.common.model.enumeration.UsernameAttribute; @NoArgsConstructor diff --git a/common/src/main/java/stirling/software/common/model/oauth2/GoogleProvider.java b/common/src/main/java/stirling/software/common/model/oauth2/GoogleProvider.java index b229ddc53..34ce9d106 100644 --- a/common/src/main/java/stirling/software/common/model/oauth2/GoogleProvider.java +++ b/common/src/main/java/stirling/software/common/model/oauth2/GoogleProvider.java @@ -2,9 +2,7 @@ package stirling.software.common.model.oauth2; import java.util.ArrayList; import java.util.Collection; - import lombok.NoArgsConstructor; - import stirling.software.common.model.enumeration.UsernameAttribute; @NoArgsConstructor diff --git a/common/src/main/java/stirling/software/common/model/oauth2/KeycloakProvider.java b/common/src/main/java/stirling/software/common/model/oauth2/KeycloakProvider.java index 5d01fa865..420230a0e 100644 --- a/common/src/main/java/stirling/software/common/model/oauth2/KeycloakProvider.java +++ b/common/src/main/java/stirling/software/common/model/oauth2/KeycloakProvider.java @@ -2,9 +2,7 @@ package stirling.software.common.model.oauth2; import java.util.ArrayList; import java.util.Collection; - import lombok.NoArgsConstructor; - import stirling.software.common.model.enumeration.UsernameAttribute; @NoArgsConstructor diff --git a/common/src/main/java/stirling/software/common/model/oauth2/Provider.java b/common/src/main/java/stirling/software/common/model/oauth2/Provider.java index 55b6b4257..3c24720cc 100644 --- a/common/src/main/java/stirling/software/common/model/oauth2/Provider.java +++ b/common/src/main/java/stirling/software/common/model/oauth2/Provider.java @@ -5,10 +5,8 @@ import static stirling.software.common.model.enumeration.UsernameAttribute.EMAIL import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; - import lombok.Data; import lombok.NoArgsConstructor; - import stirling.software.common.model.enumeration.UsernameAttribute; import stirling.software.common.model.exception.UnsupportedClaimException; diff --git a/common/src/main/java/stirling/software/common/service/CustomPDFDocumentFactory.java b/common/src/main/java/stirling/software/common/service/CustomPDFDocumentFactory.java index e4b9173d0..04c8b1e28 100644 --- a/common/src/main/java/stirling/software/common/service/CustomPDFDocumentFactory.java +++ b/common/src/main/java/stirling/software/common/service/CustomPDFDocumentFactory.java @@ -8,7 +8,8 @@ import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.StandardCopyOption; import java.util.concurrent.atomic.AtomicLong; - +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; import org.apache.pdfbox.Loader; import org.apache.pdfbox.examples.util.DeletingRandomAccessFile; import org.apache.pdfbox.io.IOUtils; @@ -18,10 +19,6 @@ import org.apache.pdfbox.io.ScratchFile; import org.apache.pdfbox.pdmodel.PDDocument; import org.springframework.stereotype.Component; import org.springframework.web.multipart.MultipartFile; - -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; - import stirling.software.common.model.api.PDFFile; /** diff --git a/common/src/main/java/stirling/software/common/service/PdfMetadataService.java b/common/src/main/java/stirling/software/common/service/PdfMetadataService.java index 621e19d46..86481b88a 100644 --- a/common/src/main/java/stirling/software/common/service/PdfMetadataService.java +++ b/common/src/main/java/stirling/software/common/service/PdfMetadataService.java @@ -1,12 +1,10 @@ package stirling.software.common.service; import java.util.Calendar; - import org.apache.pdfbox.pdmodel.PDDocument; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.stereotype.Service; - import stirling.software.common.model.ApplicationProperties; import stirling.software.common.model.PdfMetadata; diff --git a/common/src/main/java/stirling/software/common/service/PostHogService.java b/common/src/main/java/stirling/software/common/service/PostHogService.java index 2bc219832..16102a4e0 100644 --- a/common/src/main/java/stirling/software/common/service/PostHogService.java +++ b/common/src/main/java/stirling/software/common/service/PostHogService.java @@ -1,5 +1,6 @@ package stirling.software.common.service; +import com.posthog.java.PostHog; import java.io.File; import java.lang.management.GarbageCollectorMXBean; import java.lang.management.ManagementFactory; @@ -16,15 +17,11 @@ import java.util.HashMap; import java.util.Locale; import java.util.Map; import java.util.TimeZone; - import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.core.env.Environment; import org.springframework.stereotype.Service; - -import com.posthog.java.PostHog; - import stirling.software.common.model.ApplicationProperties; @Service diff --git a/common/src/main/java/stirling/software/common/util/CheckProgramInstall.java b/common/src/main/java/stirling/software/common/util/CheckProgramInstall.java index f39daf8ae..1de2b2d20 100644 --- a/common/src/main/java/stirling/software/common/util/CheckProgramInstall.java +++ b/common/src/main/java/stirling/software/common/util/CheckProgramInstall.java @@ -3,7 +3,6 @@ package stirling.software.common.util; import java.io.IOException; import java.util.Arrays; import java.util.List; - import stirling.software.common.util.ProcessExecutor.ProcessExecutorResult; public class CheckProgramInstall { diff --git a/common/src/main/java/stirling/software/common/util/EmlToPdf.java b/common/src/main/java/stirling/software/common/util/EmlToPdf.java index 6e00b746c..2fec5e9f2 100644 --- a/common/src/main/java/stirling/software/common/util/EmlToPdf.java +++ b/common/src/main/java/stirling/software/common/util/EmlToPdf.java @@ -19,7 +19,10 @@ import java.util.Map; import java.util.Properties; import java.util.regex.Matcher; import java.util.regex.Pattern; - +import lombok.Data; +import lombok.Getter; +import lombok.experimental.UtilityClass; +import lombok.extern.slf4j.Slf4j; import org.apache.pdfbox.cos.COSDictionary; import org.apache.pdfbox.cos.COSName; import org.apache.pdfbox.pdmodel.PDDocument; @@ -35,11 +38,6 @@ import org.apache.pdfbox.pdmodel.interactive.annotation.PDAppearanceDictionary; import org.apache.pdfbox.pdmodel.interactive.annotation.PDAppearanceStream; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; - -import lombok.Data; -import lombok.Getter; -import lombok.experimental.UtilityClass; -import lombok.extern.slf4j.Slf4j; import stirling.software.common.model.api.converters.EmlToPdfRequest; @Slf4j @@ -49,7 +47,8 @@ public class EmlToPdf { private static final class StyleConstants { // Font and layout constants static final int DEFAULT_FONT_SIZE = 12; - static final String DEFAULT_FONT_FAMILY = "-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif"; + static final String DEFAULT_FONT_FAMILY = + "-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif"; static final float DEFAULT_LINE_HEIGHT = 1.4f; static final String DEFAULT_ZOOM = "1.0"; @@ -76,7 +75,8 @@ public class EmlToPdf { } private static final class MimeConstants { - static final Pattern MIME_ENCODED_PATTERN = Pattern.compile("=\\?([^?]+)\\?([BbQq])\\?([^?]*)\\?="); + static final Pattern MIME_ENCODED_PATTERN = + Pattern.compile("=\\?([^?]+)\\?([BbQq])\\?([^?]*)\\?="); static final String PAPERCLIP_EMOJI = "\uD83D\uDCCE"; // 📎 static final String ATTACHMENT_ICON_PLACEHOLDER = "icon"; @@ -113,7 +113,8 @@ public class EmlToPdf { return jakartaMailAvailable; } - public static String convertEmlToHtml(byte[] emlBytes, EmlToPdfRequest request) throws IOException { + public static String convertEmlToHtml(byte[] emlBytes, EmlToPdfRequest request) + throws IOException { validateEmlInput(emlBytes); if (isJakartaMailAvailable()) { @@ -147,11 +148,14 @@ public class EmlToPdf { } // Convert HTML to PDF - byte[] pdfBytes = convertHtmlToPdf(weasyprintPath, request, htmlContent, disableSanitize); + byte[] pdfBytes = + convertHtmlToPdf(weasyprintPath, request, htmlContent, disableSanitize); // Attach files if available and requested if (shouldAttachFiles(emailContent, request)) { - pdfBytes = attachFilesToPdf(pdfBytes, emailContent.getAttachments(), pdfDocumentFactory); + pdfBytes = + attachFilesToPdf( + pdfBytes, emailContent.getAttachments(), pdfDocumentFactory); } return pdfBytes; @@ -177,16 +181,20 @@ public class EmlToPdf { private static boolean shouldAttachFiles(EmailContent emailContent, EmlToPdfRequest request) { return emailContent != null - && request != null - && request.isIncludeAttachments() - && !emailContent.getAttachments().isEmpty(); + && request != null + && request.isIncludeAttachments() + && !emailContent.getAttachments().isEmpty(); } - private static byte[] convertHtmlToPdf(String weasyprintPath, EmlToPdfRequest request, - String htmlContent, boolean disableSanitize) + private static byte[] convertHtmlToPdf( + String weasyprintPath, + EmlToPdfRequest request, + String htmlContent, + boolean disableSanitize) throws IOException, InterruptedException { - stirling.software.common.model.api.converters.HTMLToPdfRequest htmlRequest = createHtmlRequest(request); + stirling.software.common.model.api.converters.HTMLToPdfRequest htmlRequest = + createHtmlRequest(request); try { return FileToPdf.convertHtmlToPdf( @@ -218,8 +226,7 @@ public class EmlToPdf { return "attachment_" + filename.hashCode() + "_" + System.nanoTime(); } - private static String convertEmlToHtmlBasic( - byte[] emlBytes, EmlToPdfRequest request) { + private static String convertEmlToHtmlBasic(byte[] emlBytes, EmlToPdfRequest request) { if (emlBytes == null || emlBytes.length == 0) { throw new IllegalArgumentException("EML file is empty or null"); } @@ -335,7 +342,6 @@ public class EmlToPdf { Object message = mimeMessageConstructor.newInstance(session, new ByteArrayInputStream(emlBytes)); - return extractEmailContentAdvanced(message, request); } catch (ReflectiveOperationException e) { @@ -346,8 +352,7 @@ public class EmlToPdf { } } - private static String convertEmlToHtmlAdvanced( - byte[] emlBytes, EmlToPdfRequest request) { + private static String convertEmlToHtmlAdvanced(byte[] emlBytes, EmlToPdfRequest request) { EmailContent content = extractEmailContentAdvanced(emlBytes, request); return generateEnhancedEmailHtml(content, request); } @@ -479,8 +484,12 @@ public class EmlToPdf { // Create attachment info with paperclip emoji before filename attachmentInfo .append("