aboutsummaryrefslogtreecommitdiff
path: root/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/xmlbind/CreatePDFSignatureResponseBuilder.java
diff options
context:
space:
mode:
Diffstat (limited to 'moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/xmlbind/CreatePDFSignatureResponseBuilder.java')
-rw-r--r--moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/xmlbind/CreatePDFSignatureResponseBuilder.java215
1 files changed, 106 insertions, 109 deletions
diff --git a/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/xmlbind/CreatePDFSignatureResponseBuilder.java b/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/xmlbind/CreatePDFSignatureResponseBuilder.java
index bdb9a71..6f9880f 100644
--- a/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/xmlbind/CreatePDFSignatureResponseBuilder.java
+++ b/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/xmlbind/CreatePDFSignatureResponseBuilder.java
@@ -39,117 +39,114 @@ import at.gv.egovernment.moaspss.util.Constants;
/**
* Convert a <code>CreateCMSSignatureResponse</code> API object into its XML
* representation, according to the MOA XML schema.
- *
+ *
* @version $Id$
*/
public class CreatePDFSignatureResponseBuilder {
- private static final String MOA_NS_URI = Constants.MOA_NS_URI;
-
- private static final Logger logger = LoggerFactory.getLogger(CreatePDFSignatureResponseBuilder.class);
-
- /** The XML document containing the response element. */
- private Document responseDoc;
- /** The response <code>CreateCMSSignatureResponse</code> DOM element. */
- private Element responseElem;
-
- /**
- * Create a new <code>CreateCMSSignatureResponseBuilder</code>:
- *
- * @throws MOASystemException
- * An error occurred setting up the resulting XML document.
- */
- public CreatePDFSignatureResponseBuilder() throws MOASystemException {
- responseDoc = ResponseBuilderUtils.createResponse("CreatePDFSignatureResponse");
- responseElem = responseDoc.getDocumentElement();
- }
-
- /**
- * Build a document containing a <code>CreateCMSSignatureResponse</code> DOM
- * element being the XML representation of the given
- * <code>CreateCMSSignatureResponse</code> API object.
- *
- * @param response
- * The <code>CreateCMSSignatureResponse</code> to convert to XML.
- * @return A document containing the <code>CreateCMSSignatureResponse</code>
- * DOM element.
- */
- public Document build(CreatePDFRespone response) {
- Iterator<SignedPDFInfo> iter = response.getSignatureInfoList().iterator();
-
- while (iter.hasNext()) {
- SignedPDFInfo signedPDFInfo = iter.next();
- addPDFSignature(signedPDFInfo);
- }
-
- return responseDoc;
- }
-
- /**
- * Add a <code>CMSSignature</code> element to the response.
- *
- * @param cmsSignatureResponse
- * The content to put under the <code>CMSSignature</code>
- * element.
- */
- private void addPDFSignature(SignedPDFInfo signedPDFInfo) {
- Element pdfSignature = responseDoc.createElementNS(MOA_NS_URI, "PDFSignature");
-
- if(signedPDFInfo.getSignatureID() != null) {
- Element signatureID = responseDoc.createElementNS(MOA_NS_URI, "SignatureID");
- signatureID.setTextContent(signedPDFInfo.getSignatureID());
- pdfSignature.appendChild(signatureID);
- }
-
- switch (signedPDFInfo.getResponseType()) {
- case SignedPDFInfo.SUCCESS_SIGNATURE:
- pdfSignature.appendChild(addSuccessSignature(signedPDFInfo));
- break;
-
- default:
- pdfSignature.appendChild(addErrorResponse(signedPDFInfo));
- break;
- }
-
- responseElem.appendChild(pdfSignature);
- }
-
- private Element addSuccessSignature(SignedPDFInfo signedPDFInfo) {
- try {
- String base64Value = Base64Utils.encode(signedPDFInfo.getPdfDocument());
- Element cmsSignature = responseDoc.createElementNS(MOA_NS_URI, "PDFSignature");
- cmsSignature.setTextContent(base64Value);
-
- return cmsSignature;
- } catch (IOException e) {
- logger.error("Failed to encode pdf signature", e);
- signedPDFInfo.setErrorCode(2300);
- signedPDFInfo.setErrorInfo("Failed to encode the signed document");
- return addErrorResponse(signedPDFInfo);
- }
-
-
- }
-
- /**
- * Add a <code>ErrorResponse</code> element to the response.
- *
- * @param errorResponse
- * The API object containing the information to put into the
- * <code>ErrorResponse</code> DOM element.
- */
- private Element addErrorResponse(SignedPDFInfo signedPDFInfo) {
- Element errorElem = responseDoc.createElementNS(MOA_NS_URI, "ErrorResponse");
- Element errorCodeElem = responseDoc.createElementNS(MOA_NS_URI, "ErrorCode");
- Element infoElem = responseDoc.createElementNS(MOA_NS_URI, "Info");
- String errorCodeStr = Integer.toString(signedPDFInfo.getErrorCode());
-
- errorCodeElem.appendChild(responseDoc.createTextNode(errorCodeStr));
- errorElem.appendChild(errorCodeElem);
- infoElem.appendChild(responseDoc.createTextNode(signedPDFInfo.getErrorInfo()));
- errorElem.appendChild(errorCodeElem);
- errorElem.appendChild(infoElem);
-
- return errorElem;
- }
+ private static final String MOA_NS_URI = Constants.MOA_NS_URI;
+
+ private static final Logger logger = LoggerFactory.getLogger(CreatePDFSignatureResponseBuilder.class);
+
+ /** The XML document containing the response element. */
+ private final Document responseDoc;
+ /** The response <code>CreateCMSSignatureResponse</code> DOM element. */
+ private final Element responseElem;
+
+ /**
+ * Create a new <code>CreateCMSSignatureResponseBuilder</code>:
+ *
+ * @throws MOASystemException An error occurred setting up the resulting XML
+ * document.
+ */
+ public CreatePDFSignatureResponseBuilder() throws MOASystemException {
+ responseDoc = ResponseBuilderUtils.createResponse("CreatePDFSignatureResponse");
+ responseElem = responseDoc.getDocumentElement();
+ }
+
+ /**
+ * Build a document containing a <code>CreateCMSSignatureResponse</code> DOM
+ * element being the XML representation of the given
+ * <code>CreateCMSSignatureResponse</code> API object.
+ *
+ * @param response The <code>CreateCMSSignatureResponse</code> to convert to
+ * XML.
+ * @return A document containing the <code>CreateCMSSignatureResponse</code> DOM
+ * element.
+ */
+ public Document build(CreatePDFRespone response) {
+ final Iterator<SignedPDFInfo> iter = response.getSignatureInfoList().iterator();
+
+ while (iter.hasNext()) {
+ final SignedPDFInfo signedPDFInfo = iter.next();
+ addPDFSignature(signedPDFInfo);
+ }
+
+ return responseDoc;
+ }
+
+ /**
+ * Add a <code>CMSSignature</code> element to the response.
+ *
+ * @param cmsSignatureResponse The content to put under the
+ * <code>CMSSignature</code> element.
+ */
+ private void addPDFSignature(SignedPDFInfo signedPDFInfo) {
+ final Element pdfSignature = responseDoc.createElementNS(MOA_NS_URI, "PDFSignature");
+
+ if (signedPDFInfo.getSignatureID() != null) {
+ final Element signatureID = responseDoc.createElementNS(MOA_NS_URI, "SignatureID");
+ signatureID.setTextContent(signedPDFInfo.getSignatureID());
+ pdfSignature.appendChild(signatureID);
+ }
+
+ switch (signedPDFInfo.getResponseType()) {
+ case SignedPDFInfo.SUCCESS_SIGNATURE:
+ pdfSignature.appendChild(addSuccessSignature(signedPDFInfo));
+ break;
+
+ default:
+ pdfSignature.appendChild(addErrorResponse(signedPDFInfo));
+ break;
+ }
+
+ responseElem.appendChild(pdfSignature);
+ }
+
+ private Element addSuccessSignature(SignedPDFInfo signedPDFInfo) {
+ try {
+ final String base64Value = Base64Utils.encode(signedPDFInfo.getPdfDocument());
+ final Element cmsSignature = responseDoc.createElementNS(MOA_NS_URI, "PDFSignature");
+ cmsSignature.setTextContent(base64Value);
+
+ return cmsSignature;
+ } catch (final IOException e) {
+ logger.error("Failed to encode pdf signature", e);
+ signedPDFInfo.setErrorCode(2300);
+ signedPDFInfo.setErrorInfo("Failed to encode the signed document");
+ return addErrorResponse(signedPDFInfo);
+ }
+
+ }
+
+ /**
+ * Add a <code>ErrorResponse</code> element to the response.
+ *
+ * @param errorResponse The API object containing the information to put into
+ * the <code>ErrorResponse</code> DOM element.
+ */
+ private Element addErrorResponse(SignedPDFInfo signedPDFInfo) {
+ final Element errorElem = responseDoc.createElementNS(MOA_NS_URI, "ErrorResponse");
+ final Element errorCodeElem = responseDoc.createElementNS(MOA_NS_URI, "ErrorCode");
+ final Element infoElem = responseDoc.createElementNS(MOA_NS_URI, "Info");
+ final String errorCodeStr = Integer.toString(signedPDFInfo.getErrorCode());
+
+ errorCodeElem.appendChild(responseDoc.createTextNode(errorCodeStr));
+ errorElem.appendChild(errorCodeElem);
+ infoElem.appendChild(responseDoc.createTextNode(signedPDFInfo.getErrorInfo()));
+ errorElem.appendChild(errorCodeElem);
+ errorElem.appendChild(infoElem);
+
+ return errorElem;
+ }
}