aboutsummaryrefslogtreecommitdiff
path: root/pdf-as-web/src/main/java
diff options
context:
space:
mode:
Diffstat (limited to 'pdf-as-web/src/main/java')
-rw-r--r--pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/config/PdfAsWebSpringConfiguration.java15
-rw-r--r--pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/config/WebConfiguration.java5
-rw-r--r--pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/helper/PdfAsHelper.java2
-rw-r--r--pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/ExternSignServlet.java19
-rw-r--r--pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/ReloadServlet.java36
-rw-r--r--pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/VerifyServlet.java5
-rw-r--r--pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/web_xml_bridges/ServletBridge.java24
7 files changed, 51 insertions, 55 deletions
diff --git a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/config/PdfAsWebSpringConfiguration.java b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/config/PdfAsWebSpringConfiguration.java
new file mode 100644
index 00000000..fcaf2b81
--- /dev/null
+++ b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/config/PdfAsWebSpringConfiguration.java
@@ -0,0 +1,15 @@
+package at.gv.egiz.pdfas.web.config;
+
+import lombok.Getter;
+import lombok.NonNull;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.stereotype.Component;
+
+@Component
+@Slf4j
+public class PdfAsWebSpringConfiguration {
+ @Value("${pdf-as-web.conf}")
+ @Getter
+ @NonNull String pdfAsWebConfPath;
+}
diff --git a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/config/WebConfiguration.java b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/config/WebConfiguration.java
index c7d36d9a..0b3fdf05 100644
--- a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/config/WebConfiguration.java
+++ b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/config/WebConfiguration.java
@@ -68,6 +68,7 @@ public class WebConfiguration implements IConfigurationConstants {
public static final String MOA_LIST = "moal";
public static final String MOA_URL = "url";
+ public static final String MOA_TIMEOUT = "timeout";
public static final String MOA_KEYID = "KeyIdentifier";
public static final String MOA_CERT = "Certificate";
@@ -394,6 +395,10 @@ public class WebConfiguration implements IConfigurationConstants {
public static String getMoaURL(String keyIdentifier) {
return properties.getProperty(MOA_LIST + "." + keyIdentifier + "." + MOA_URL);
}
+
+ public static String getMoaTimeout(String keyIdentifier) {
+ return properties.getProperty(MOA_LIST + "." + keyIdentifier + "." + MOA_TIMEOUT);
+ }
public static String getMoaKeyID(String keyIdentifier) {
return properties.getProperty(MOA_LIST + "." + keyIdentifier + "." + MOA_KEYID);
diff --git a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/helper/PdfAsHelper.java b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/helper/PdfAsHelper.java
index 841acca9..95e9089f 100644
--- a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/helper/PdfAsHelper.java
+++ b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/helper/PdfAsHelper.java
@@ -433,11 +433,13 @@ public class PdfAsHelper {
}
String url = WebConfiguration.getMoaURL(keyIdentifier);
+ String timeout = WebConfiguration.getMoaTimeout(keyIdentifier);
String keyId = WebConfiguration.getMoaKeyID(keyIdentifier);
String certificate = WebConfiguration
.getMoaCertificate(keyIdentifier);
config.setValue(IConfigurationConstants.MOA_SIGN_URL, url);
+ config.setValue(IConfigurationConstants.MOA_SIGN_TIMEOUT, timeout);
config.setValue(IConfigurationConstants.MOA_SIGN_KEY_ID, keyId);
config.setValue(IConfigurationConstants.MOA_SIGN_CERTIFICATE,
certificate);
diff --git a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/ExternSignServlet.java b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/ExternSignServlet.java
index 0a806369..a28a4835 100644
--- a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/ExternSignServlet.java
+++ b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/ExternSignServlet.java
@@ -28,6 +28,7 @@ import java.io.IOException;
import java.util.List;
import java.util.Map;
+import at.gv.egiz.pdfas.web.config.PdfAsWebSpringConfiguration;
import jakarta.servlet.ServletException;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
@@ -64,17 +65,18 @@ import lombok.extern.slf4j.Slf4j;
import org.apache.commons.fileupload2.jakarta.servlet6.JakartaServletDiskFileUpload;
import org.apache.commons.fileupload2.jakarta.servlet6.JakartaServletFileUpload;
import org.apache.commons.io.FilenameUtils;
+import org.springframework.boot.web.servlet.ServletRegistration;
+import org.springframework.stereotype.Component;
/**
* Servlet implementation class Sign
*/
@Slf4j
+@Component
+@ServletRegistration(urlMappings = "/Sign")
public class ExternSignServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
-
- // TODO: get this from spring instead of -D
- public static final String PDF_AS_WEB_CONF = "pdf-as-web.conf";
private static final String UPLOAD_PDF_DATA = "pdf-file";
private static final String UPLOAD_DIRECTORY = "upload";
@@ -83,15 +85,8 @@ public class ExternSignServlet extends HttpServlet {
* Default constructor.
*/
- public ExternSignServlet(){
- String webconfig = System.getProperty(PDF_AS_WEB_CONF);
-
- if(webconfig == null) {
- log.error("No web configuration provided! Please specify: " + PDF_AS_WEB_CONF);
- throw new RuntimeException("No web configuration provided! Please specify: " + PDF_AS_WEB_CONF);
- }
-
- WebConfiguration.configure(webconfig);
+ public ExternSignServlet(final PdfAsWebSpringConfiguration config) {
+ WebConfiguration.configure(config.getPdfAsWebConfPath());
PdfAsHelper.init();
try {
diff --git a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/ReloadServlet.java b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/ReloadServlet.java
index c4db303f..89d33e80 100644
--- a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/ReloadServlet.java
+++ b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/ReloadServlet.java
@@ -3,17 +3,26 @@ package at.gv.egiz.pdfas.web.servlets;
import java.io.IOException;
import java.io.OutputStream;
+import at.gv.egiz.pdfas.web.config.PdfAsWebSpringConfiguration;
import jakarta.servlet.ServletException;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
+import lombok.extern.slf4j.Slf4j;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import at.gv.egiz.pdfas.web.config.WebConfiguration;
import at.gv.egiz.pdfas.web.helper.PdfAsHelper;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.boot.web.servlet.ServletRegistration;
+import org.springframework.stereotype.Component;
+@Slf4j
+@Component
+@ServletRegistration(urlMappings = "/Reload")
public class ReloadServlet extends HttpServlet {
/**
@@ -21,17 +30,12 @@ public class ReloadServlet extends HttpServlet {
*/
private static final long serialVersionUID = 6108555300743896727L;
- private static final Logger logger = LoggerFactory
- .getLogger(ReloadServlet.class);
-
- public static final String PDF_AS_WEB_CONF = "pdf-as-web.conf";
public static final String PARAM_PASSWD = "PASSWD";
- /**
- * @see HttpServlet#HttpServlet()
- */
- public ReloadServlet() {
+ private final PdfAsWebSpringConfiguration config;
+ public ReloadServlet(final PdfAsWebSpringConfiguration config) {
super();
+ this.config = config;
}
/**
@@ -42,15 +46,15 @@ public class ReloadServlet extends HttpServlet {
HttpServletResponse response) throws ServletException, IOException {
if(!WebConfiguration.getReloadEnabled()) {
- logger.info("Reload Servlet disabled. " + request.getRemoteAddr() + " tried to call it");
+ log.info("Reload Servlet disabled. " + request.getRemoteAddr() + " tried to call it");
response.setStatus(HttpServletResponse.SC_FORBIDDEN);
response.setContentLength(0);
return;
}
- logger.info("Called Reload Servlet from: " + request.getRemoteAddr());
+ log.info("Called Reload Servlet from: " + request.getRemoteAddr());
- logger.info("Checking Password!");
+ log.info("Checking Password!");
String pwd = request.getParameter(PARAM_PASSWD);
@@ -66,17 +70,11 @@ public class ReloadServlet extends HttpServlet {
return;
}
- String webconfig = System.getProperty(PDF_AS_WEB_CONF);
-
- if(webconfig == null) {
- logger.error("No web configuration provided! Please specify: " + PDF_AS_WEB_CONF);
- throw new RuntimeException("No web configuration provided! Please specify: " + PDF_AS_WEB_CONF);
- }
-
+ String webconfig = config.getPdfAsWebConfPath();
WebConfiguration.configure(webconfig);
PdfAsHelper.reloadConfig();
- logger.info("Reloaded!");
+ log.info("Reloaded!");
StringBuilder sb = new StringBuilder();
diff --git a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/VerifyServlet.java b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/VerifyServlet.java
index 4a80e25d..2334597a 100644
--- a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/VerifyServlet.java
+++ b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/VerifyServlet.java
@@ -58,10 +58,15 @@ import at.gv.egiz.pdfas.web.stats.StatisticEvent.Operation;
import at.gv.egiz.pdfas.web.stats.StatisticEvent.Source;
import at.gv.egiz.pdfas.web.stats.StatisticEvent.Status;
import at.gv.egiz.pdfas.web.stats.StatisticFrontend;
+import org.springframework.boot.web.servlet.ServletRegistration;
+import org.springframework.stereotype.Component;
/**
* Servlet implementation class VerifyServlet
*/
+
+@Component
+@ServletRegistration(urlMappings = "/Verify")
public class VerifyServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
diff --git a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/web_xml_bridges/ServletBridge.java b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/web_xml_bridges/ServletBridge.java
index af59a7d6..3337a417 100644
--- a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/web_xml_bridges/ServletBridge.java
+++ b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/web_xml_bridges/ServletBridge.java
@@ -18,14 +18,6 @@ public class ServletBridge {
}
@Bean
- public ServletRegistrationBean<Servlet> signServlet() {
- return new ServletRegistrationBean<>(
- new ExternSignServlet(),
- "/Sign"
- );
- }
-
- @Bean
public ServletRegistrationBean<Servlet> visBlockServlet() {
return new ServletRegistrationBean<>(
new VisBlockServlet(),
@@ -42,14 +34,6 @@ public class ServletBridge {
}
@Bean
- public ServletRegistrationBean<Servlet> reloadServlet() {
- return new ServletRegistrationBean<>(
- new ReloadServlet(),
- "/Reload"
- );
- }
-
- @Bean
public ServletRegistrationBean<Servlet> dataURLServlet() {
return new ServletRegistrationBean<>(
new DataURLServlet(),
@@ -66,14 +50,6 @@ public class ServletBridge {
}
@Bean
- public ServletRegistrationBean<Servlet> verifyServlet() {
- return new ServletRegistrationBean<>(
- new VerifyServlet(),
- "/Verify"
- );
- }
-
- @Bean
public ServletRegistrationBean<Servlet> pdfData() {
return new ServletRegistrationBean<>(
new PDFData(),