Skip to content

Commit

Permalink
Cleanup logs (#1739)
Browse files Browse the repository at this point in the history
* fix

* cleanups!

---------

Co-authored-by: a <a>
  • Loading branch information
Frooodle authored Aug 23, 2024
1 parent d3ef335 commit c7e5987
Show file tree
Hide file tree
Showing 21 changed files with 59 additions and 49 deletions.
35 changes: 19 additions & 16 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ plugins {
id "edu.sc.seis.launch4j" version "3.0.6"
id "com.diffplug.spotless" version "6.25.0"
id "com.github.jk1.dependency-license-report" version "2.9"
//id "nebula.lint" version "19.0.3"
}

import com.github.jk1.license.render.*
Expand Down Expand Up @@ -100,14 +101,20 @@ spotless {
}
}

//gradleLint {
// rules=['unused-dependency']
// }
tasks.wrapper {
gradleVersion = "8.7"
}

//tasks.withType(JavaCompile) {
// options.compilerArgs << "-Xlint:deprecation"
//}
configurations.all {
exclude group: "org.springframework.boot", module: "spring-boot-starter-tomcat"
}
dependencies {
//security updates
implementation "ch.qos.logback:logback-classic:$logbackVersion"
implementation "ch.qos.logback:logback-core:$logbackVersion"
implementation "org.springframework:spring-webmvc:6.1.9"

implementation("io.github.pixee:java-security-toolkit:1.2.0")
Expand All @@ -116,50 +123,46 @@ dependencies {
implementation 'com.github.Carleslc.Simple-YAML:Simple-Yaml:1.8.4'

// Exclude Tomcat and include Jetty
implementation("org.springframework.boot:spring-boot-starter-web:$springBootVersion") {
exclude group: "org.springframework.boot", module: "spring-boot-starter-tomcat"
}
implementation("org.springframework.boot:spring-boot-starter-web:$springBootVersion")
implementation "org.springframework.boot:spring-boot-starter-jetty:$springBootVersion"

implementation "org.springframework.boot:spring-boot-starter-thymeleaf:$springBootVersion"

if (System.getenv("DOCKER_ENABLE_SECURITY") != "false") {
implementation "org.springframework.boot:spring-boot-starter-security:$springBootVersion"
implementation "org.thymeleaf.extras:thymeleaf-extras-springsecurity5:3.1.2.RELEASE"
runtimeOnly "org.thymeleaf.extras:thymeleaf-extras-springsecurity5:3.1.2.RELEASE"
implementation "org.springframework.boot:spring-boot-starter-data-jpa:$springBootVersion"
implementation "org.springframework.boot:spring-boot-starter-oauth2-client:$springBootVersion"

//2.2.x requires rebuild of DB file.. need migration path
implementation "com.h2database:h2:2.1.214"
runtimeOnly "com.h2database:h2:2.1.214"
// implementation "com.h2database:h2:2.2.224"
}

testImplementation "org.springframework.boot:spring-boot-starter-test:$springBootVersion"

// Batik
implementation "org.apache.xmlgraphics:batik-all:1.17"

// TwelveMonkeys
implementation "com.twelvemonkeys.imageio:imageio-batik:$imageioVersion"
implementation "com.twelvemonkeys.imageio:imageio-bmp:$imageioVersion"
runtimeOnly "com.twelvemonkeys.imageio:imageio-batik:$imageioVersion"
runtimeOnly "com.twelvemonkeys.imageio:imageio-bmp:$imageioVersion"
// implementation "com.twelvemonkeys.imageio:imageio-hdr:$imageioVersion"
// implementation "com.twelvemonkeys.imageio:imageio-icns:$imageioVersion"
// implementation "com.twelvemonkeys.imageio:imageio-iff:$imageioVersion"
implementation "com.twelvemonkeys.imageio:imageio-jpeg:$imageioVersion"
runtimeOnly "com.twelvemonkeys.imageio:imageio-jpeg:$imageioVersion"
// implementation "com.twelvemonkeys.imageio:imageio-pcx:$imageioVersion@
// implementation "com.twelvemonkeys.imageio:imageio-pict:$imageioVersion"
// implementation "com.twelvemonkeys.imageio:imageio-pnm:$imageioVersion"
// implementation "com.twelvemonkeys.imageio:imageio-psd:$imageioVersion"
// implementation "com.twelvemonkeys.imageio:imageio-sgi:$imageioVersion"
// implementation "com.twelvemonkeys.imageio:imageio-tga:$imageioVersion"
// implementation "com.twelvemonkeys.imageio:imageio-thumbsdb:$imageioVersion"
implementation "com.twelvemonkeys.imageio:imageio-tiff:$imageioVersion"
implementation "com.twelvemonkeys.imageio:imageio-webp:$imageioVersion"
runtimeOnly "com.twelvemonkeys.imageio:imageio-tiff:$imageioVersion"
runtimeOnly "com.twelvemonkeys.imageio:imageio-webp:$imageioVersion"
// implementation "com.twelvemonkeys.imageio:imageio-xwd:$imageioVersion"

implementation "commons-io:commons-io:2.16.1"
implementation "org.springdoc:springdoc-openapi-starter-webmvc-ui:2.2.0"

//general PDF

// https://mvnrepository.com/artifact/com.opencsv/opencsv
Expand Down Expand Up @@ -196,7 +199,7 @@ dependencies {
compileOnly "org.projectlombok:lombok:$lombokVersion"
annotationProcessor "org.projectlombok:lombok:$lombokVersion"

testImplementation 'org.mockito:mockito-inline:5.2.0'
testRuntimeOnly 'org.mockito:mockito-inline:5.2.0'
}

tasks.withType(JavaCompile).configureEach {
Expand Down
1 change: 1 addition & 0 deletions src/main/java/stirling/software/SPDF/SPdfApplication.java
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,7 @@ public void init() {
public static void main(String[] args) throws IOException, InterruptedException {

SpringApplication app = new SpringApplication(SPdfApplication.class);
app.setAdditionalProfiles("default");
app.addInitializers(new ConfigInitializer());
Map<String, String> propertyFiles = new HashMap<>();

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Lazy;
import org.springframework.security.authentication.dao.DaoAuthenticationProvider;
import org.springframework.security.config.annotation.method.configuration.EnableMethodSecurity;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
Expand Down Expand Up @@ -150,8 +149,7 @@ public SecurityFilterChain filterChain(HttpSecurity http) throws Exception {
})
.permitAll()
.anyRequest()
.authenticated())
.authenticationProvider(authenticationProvider());
.authenticated());

// Handle OAUTH2 Logins
if (applicationProperties.getSecurity().getOAUTH2() != null
Expand Down Expand Up @@ -379,14 +377,6 @@ public IPRateLimitingFilter rateLimitingFilter() {
return new IPRateLimitingFilter(maxRequestsPerIp, maxRequestsPerIp);
}

@Bean
public DaoAuthenticationProvider authenticationProvider() {
DaoAuthenticationProvider authProvider = new DaoAuthenticationProvider();
authProvider.setUserDetailsService(userDetailsService);
authProvider.setPasswordEncoder(passwordEncoder());
return authProvider;
}

@Bean
public PersistentTokenRepository persistentTokenRepository() {
return new JPATokenRepositoryImpl();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ private String getApiDocsUrl() {

Map<String, List<String>> outputToFileTypes = new HashMap<>();

public List getExtensionTypes(boolean output, String operationName) {
public List<String> getExtensionTypes(boolean output, String operationName) {
if (outputToFileTypes.size() == 0) {
outputToFileTypes.put("PDF", Arrays.asList("pdf"));
outputToFileTypes.put(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@
@EqualsAndHashCode
public class UrlToPdfRequest {

@Schema(description = "The input URL to be converted to a PDF file", required = true)
@Schema(
description = "The input URL to be converted to a PDF file",
requiredMode = Schema.RequiredMode.REQUIRED)
private String urlInput;
}
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,6 @@
@EqualsAndHashCode(callSuper = true)
public class ContainsTextRequest extends PDFWithPageNums {

@Schema(description = "The text to check for", required = true)
@Schema(description = "The text to check for", requiredMode = Schema.RequiredMode.REQUIRED)
private String text;
}
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,6 @@
@EqualsAndHashCode(callSuper = true)
public class FileSizeRequest extends PDFComparison {

@Schema(description = "File Size", required = true)
@Schema(description = "File Size", requiredMode = Schema.RequiredMode.REQUIRED)
private String fileSize;
}
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,6 @@
@EqualsAndHashCode(callSuper = true)
public class PageRotationRequest extends PDFComparison {

@Schema(description = "Rotation in degrees", required = true)
@Schema(description = "Rotation in degrees", requiredMode = Schema.RequiredMode.REQUIRED)
private int rotation;
}
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,6 @@
@EqualsAndHashCode(callSuper = true)
public class PageSizeRequest extends PDFComparison {

@Schema(description = "Standard Page Size", required = true)
@Schema(description = "Standard Page Size", requiredMode = Schema.RequiredMode.REQUIRED)
private String standardPageSize;
}
Original file line number Diff line number Diff line change
Expand Up @@ -20,13 +20,13 @@ public class OverlayPdfsRequest extends PDFFile {
@Schema(
description =
"The mode of overlaying: 'SequentialOverlay' for sequential application, 'InterleavedOverlay' for round-robin application, 'FixedRepeatOverlay' for fixed repetition based on provided counts",
required = true)
requiredMode = Schema.RequiredMode.REQUIRED)
private String overlayMode;

@Schema(
description =
"An array of integers specifying the number of times each corresponding overlay file should be applied in the 'FixedRepeatOverlay' mode. This should match the length of the overlayFiles array.",
required = false)
requiredMode = Schema.RequiredMode.NOT_REQUIRED)
private int[] counts;

@Schema(description = "Overlay position 0 is Foregound, 1 is Background")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,14 +13,14 @@ public class SplitPdfBySizeOrCountRequest extends PDFFile {
@Schema(
description =
"Determines the type of split: 0 for size, 1 for page count, 2 for document count",
required = false,
requiredMode = Schema.RequiredMode.NOT_REQUIRED,
defaultValue = "0")
private int splitType;

@Schema(
description =
"Value for split: size in MB (e.g., '10MB') or number of pages (e.g., '5')",
required = false,
requiredMode = Schema.RequiredMode.NOT_REQUIRED,
defaultValue = "10MB")
private String splitValue;
}
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ public class AddStampRequest extends PDFWithPageNums {
@Schema(
description = "The stamp type (text or image)",
allowableValues = {"text", "image"},
required = true)
requiredMode = Schema.RequiredMode.REQUIRED)
private String stampType;

@Schema(description = "The stamp text")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ public class AutoSplitPdfRequest extends PDFFile {
@Schema(
description =
"Flag indicating if the duplex mode is active, where the page after the divider also gets removed.",
required = false,
requiredMode = Schema.RequiredMode.NOT_REQUIRED,
defaultValue = "false")
private boolean duplexMode;
}
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ public class ExtractHeaderRequest extends PDFFile {
@Schema(
description =
"Flag indicating whether to use the first text as a fallback if no suitable title is found. Defaults to false.",
required = false,
requiredMode = Schema.RequiredMode.NOT_REQUIRED,
defaultValue = "false")
private boolean useFirstTextAsFallback;
}
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,9 @@
@Data
@EqualsAndHashCode
public class ExtractImageScansRequest {
@Schema(description = "The input file containing image scans", required = true)
@Schema(
description = "The input file containing image scans",
requiredMode = Schema.RequiredMode.REQUIRED)
private MultipartFile fileInput;

@Schema(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@
@EqualsAndHashCode(callSuper = true)
public class PrintFileRequest extends PDFFile {

@Schema(description = "Name of printer to match against", required = true)
@Schema(
description = "Name of printer to match against",
requiredMode = Schema.RequiredMode.REQUIRED)
private String printerName;
}
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ public class AddWatermarkRequest extends PDFFile {
@Schema(
description = "The watermark type (text or image)",
allowableValues = {"text", "image"},
required = true)
requiredMode = Schema.RequiredMode.REQUIRED)
private String watermarkType;

@Schema(description = "The watermark text")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@
@EqualsAndHashCode(callSuper = true)
public class PDFPasswordRequest extends PDFFile {

@Schema(description = "The password of the PDF file", required = true)
@Schema(
description = "The password of the PDF file",
requiredMode = Schema.RequiredMode.REQUIRED)
private String password;
}
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,10 @@
@EqualsAndHashCode(callSuper = true)
public class RedactPdfRequest extends PDFFile {

@Schema(description = "List of text to redact from the PDF", type = "string", required = true)
@Schema(
description = "List of text to redact from the PDF",
type = "string",
requiredMode = Schema.RequiredMode.REQUIRED)
private String listOfText;

@Schema(description = "Whether to use regex for the listOfText", defaultValue = "false")
Expand Down
3 changes: 2 additions & 1 deletion src/main/java/stirling/software/SPDF/utils/GeneralUtils.java
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URI;
import java.net.URL;
import java.nio.file.FileVisitResult;
import java.nio.file.Files;
Expand Down Expand Up @@ -77,7 +78,7 @@ public static boolean isValidURL(String urlStr) {

public static boolean isURLReachable(String urlStr) {
try {
URL url = new URL(urlStr);
URL url = URI.create(urlStr).toURL();
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("HEAD");
int responseCode = connection.getResponseCode();
Expand Down
10 changes: 7 additions & 3 deletions src/main/resources/application.properties
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
multipart.enabled=true

logging.level.org.springframework=WARN
logging.level.org.hibernate=WARN
logging.level.org.eclipse.jetty=WARN
logging.level.com.zaxxer.hikari=WARN

spring.jpa.open-in-view=false

server.forward-headers-strategy=NATIVE

Expand All @@ -24,10 +30,8 @@ spring.devtools.livereload.enabled=true

spring.thymeleaf.encoding=UTF-8

server.connection-timeout=${SYSTEM_CONNECTIONTIMEOUTMINUTES:20m}
spring.mvc.async.request-timeout=${SYSTEM_CONNECTIONTIMEOUTMILLISECONDS:1200000}

spring.resources.static-locations=file:customFiles/static/
spring.mvc.async.request-timeout=${SYSTEM_CONNECTIONTIMEOUTMILLISECONDS:1200000}
#spring.thymeleaf.prefix=file:/customFiles/templates/,classpath:/templates/
#spring.thymeleaf.cache=false

Expand Down

0 comments on commit c7e5987

Please sign in to comment.