aboutsummaryrefslogtreecommitdiff
path: root/simpleSigning/src/main/java/at
diff options
context:
space:
mode:
Diffstat (limited to 'simpleSigning/src/main/java/at')
-rw-r--r--simpleSigning/src/main/java/at/gv/egiz/simpleSigning/ErrorSignature.java9
-rw-r--r--simpleSigning/src/main/java/at/gv/egiz/simpleSigning/JQueryServlet.java5
-rw-r--r--simpleSigning/src/main/java/at/gv/egiz/simpleSigning/StartSignature.java67
-rw-r--r--simpleSigning/src/main/java/at/gv/egiz/simpleSigning/helper/SessionHelper.java17
4 files changed, 92 insertions, 6 deletions
diff --git a/simpleSigning/src/main/java/at/gv/egiz/simpleSigning/ErrorSignature.java b/simpleSigning/src/main/java/at/gv/egiz/simpleSigning/ErrorSignature.java
index 446d1c1..c8128b0 100644
--- a/simpleSigning/src/main/java/at/gv/egiz/simpleSigning/ErrorSignature.java
+++ b/simpleSigning/src/main/java/at/gv/egiz/simpleSigning/ErrorSignature.java
@@ -2,6 +2,7 @@ package at.gv.egiz.simpleSigning;
import java.io.IOException;
import java.io.OutputStream;
+import java.net.URLDecoder;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
@@ -56,6 +57,10 @@ public class ErrorSignature extends HttpServlet {
}
}
+ if(error != null) {
+ error = URLDecoder.decode(error, "UTF-8");
+ }
+
if (error == null) {
error = "UNKNOWN ERROR";
}
@@ -71,6 +76,10 @@ public class ErrorSignature extends HttpServlet {
}
}
+ if(cause != null) {
+ cause = URLDecoder.decode(cause, "UTF-8");
+ }
+
if (cause == null) {
cause = "UNKNOWN CAUSE";
}
diff --git a/simpleSigning/src/main/java/at/gv/egiz/simpleSigning/JQueryServlet.java b/simpleSigning/src/main/java/at/gv/egiz/simpleSigning/JQueryServlet.java
index bbed2fa..87693b5 100644
--- a/simpleSigning/src/main/java/at/gv/egiz/simpleSigning/JQueryServlet.java
+++ b/simpleSigning/src/main/java/at/gv/egiz/simpleSigning/JQueryServlet.java
@@ -35,14 +35,9 @@ public class JQueryServlet extends HttpServlet {
.toFile(PDFASJsServlet.class
.getResource("/js/jquery.js")));
- String postMessage = FileUtils.readFileToString(FileUtils
- .toFile(PDFASJsServlet.class
- .getResource("/js/jquery.ba-postmessage.min.js")));
-
resp.setContentType("text/javascript");
OutputStream os = resp.getOutputStream();
os.write(jquery.getBytes());
- os.write(postMessage.getBytes());
os.close();
}
}
diff --git a/simpleSigning/src/main/java/at/gv/egiz/simpleSigning/StartSignature.java b/simpleSigning/src/main/java/at/gv/egiz/simpleSigning/StartSignature.java
index 09a9f6d..b153c30 100644
--- a/simpleSigning/src/main/java/at/gv/egiz/simpleSigning/StartSignature.java
+++ b/simpleSigning/src/main/java/at/gv/egiz/simpleSigning/StartSignature.java
@@ -42,6 +42,7 @@ public class StartSignature extends HttpServlet {
private static final String PARAM_EVENTID = "EVENTID";
private static final String PARAM_TYPE = "TYPE";
private static final String PARAM_TARGETURL = "TARGETURL";
+ private static final String PARAM_RESIZE = "RESIZE";
private static final String PARAM_NEW = "NEW";
private static final String PARAM_NEW_V = "1";
@@ -83,7 +84,11 @@ public class StartSignature extends HttpServlet {
FileItemStream fileItem = iter.next();
if ("pdf-file".equals(fileItem.getFieldName())) {
uploadForm = IOUtils.toByteArray(fileItem.openStream());
- SessionHelper.setDocument(req, uploadForm);
+ if(uploadForm.length > 5) {
+ SessionHelper.setDocument(req, uploadForm);
+ } else {
+ logger.info("No Document uploaded");
+ }
} else if ("txtContent".equals(fileItem.getFieldName())) {
String txtContent = IOUtils.toString(fileItem
.openStream());
@@ -247,6 +252,66 @@ public class StartSignature extends HttpServlet {
return;
}
+ // Resize Iframe for BKU communication
+
+ String resizeDone = req.getParameter(PARAM_RESIZE);
+
+ if(resizeDone != null && resizeDone.equals("1")) {
+ SessionHelper.setResizeDone(req);
+ }
+
+ if(!SessionHelper.getResizeDone(req)) {
+ String form = FileUtils.readFileToString(FileUtils
+ .toFile(PDFASJsServlet.class
+ .getResource("/html/resize_form.html")));
+ form = form.replace("##ACTIONURL##",
+ Configuration.getPublicUrl() + "/Start;jsessionid=" + req.getSession().getId());
+
+ String resize = FileUtils.readFileToString(FileUtils
+ .toFile(PDFASJsServlet.class
+ .getResource("/js/resizing_response.js")));
+
+ resize = resize.replace("##REPLACE##EVENTID##",
+ SessionHelper.getEventID(req));
+ resize = resize.replace("##REPLACE##TARGETURL##",
+ SessionHelper.getTargetURL(req));
+
+
+ // Handy Signatur: style="width: 255px; height: 250px;"
+
+ // Online BKU: width: 225px; height: 225px;
+
+ if(SessionHelper.getConnector(req).equals("mobilebku")) {
+ resize = resize.replace("##REPLACE##HEIGHT##",
+ "255");
+
+ resize = resize.replace("##REPLACE##WIDTH##",
+ "250");
+ } else {
+ resize = resize.replace("##REPLACE##HEIGHT##",
+ "225");
+
+ resize = resize.replace("##REPLACE##WIDTH##",
+ "225");
+ }
+
+
+ String postman = FileUtils.readFileToString(FileUtils
+ .toFile(PDFASJsServlet.class
+ .getResource("/js/postman.js")));
+
+ String script_txt = postman + resize;
+
+ form = form.replace("##REPLACE##SCRIPT##", script_txt);
+
+ resp.setContentType("text/html");
+ OutputStream os = resp.getOutputStream();
+ os.write(form.getBytes());
+ os.close();
+
+ return;
+ }
+
// Step 4. Start Signature Process with PDF-AS
String template = FileUtils.readFileToString(FileUtils
diff --git a/simpleSigning/src/main/java/at/gv/egiz/simpleSigning/helper/SessionHelper.java b/simpleSigning/src/main/java/at/gv/egiz/simpleSigning/helper/SessionHelper.java
index 0f2c6b5..8815b87 100644
--- a/simpleSigning/src/main/java/at/gv/egiz/simpleSigning/helper/SessionHelper.java
+++ b/simpleSigning/src/main/java/at/gv/egiz/simpleSigning/helper/SessionHelper.java
@@ -14,6 +14,7 @@ public class SessionHelper {
private static final String SESSION_CONNECTOR = "SESSION_CONNECTOR";
private static final String SESSION_EVENTID = "SESSION_EVENTID";
private static final String SESSION_DOCUMENT = "SESSION_DOCUMENT";
+ private static final String SESSION_RESIZE_DONE = "SESSION_RESIZE_DONE";
private static final String SESSION_TYPE_TEXT = "TEXT";
private static final String SESSION_TYPE_PDF = "PDF";
@@ -98,6 +99,19 @@ public class SessionHelper {
}
}
+ public static void setResizeDone(HttpServletRequest request) {
+ request.getSession().setAttribute(SESSION_RESIZE_DONE, Boolean.TRUE);
+ }
+
+ public static boolean getResizeDone(HttpServletRequest request) {
+ Object s = request.getSession().getAttribute(SESSION_RESIZE_DONE);
+ if (s != null && s instanceof Boolean) {
+ return ((Boolean)s).booleanValue();
+ } else {
+ return false;
+ }
+ }
+
public static void setDocument(HttpServletRequest request, byte[] doc) {
if(doc == null) {
logger.info("[" + request.getSession().getId() + "]: setting Document to NULL!!!");
@@ -113,9 +127,12 @@ public class SessionHelper {
if (session != null) {
Object obj = session.getAttribute(SESSION_DOCUMENT);
if (obj != null && obj instanceof byte[]) {
+ logger.info("[" + request.getSession().getId() + "]: getting Document is byte with Size {}",
+ ((byte[]) obj).length);
return (byte[]) obj;
}
}
+ logger.info("[" + request.getSession().getId() + "]: getting Document is null");
return null;
}