diff options
Diffstat (limited to 'pdf-as-web/src/main/java')
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(), |
