aboutsummaryrefslogtreecommitdiff
path: root/spss.server/src/at/gv/egovernment/moa/spss/api/impl
diff options
context:
space:
mode:
Diffstat (limited to 'spss.server/src/at/gv/egovernment/moa/spss/api/impl')
-rw-r--r--spss.server/src/at/gv/egovernment/moa/spss/api/impl/Base64TransformImpl.java22
-rw-r--r--spss.server/src/at/gv/egovernment/moa/spss/api/impl/CMSContentExplicitImpl.java40
-rw-r--r--spss.server/src/at/gv/egovernment/moa/spss/api/impl/CMSContentReferenceImpl.java38
-rw-r--r--spss.server/src/at/gv/egovernment/moa/spss/api/impl/CMSDataObjectImpl.java46
-rw-r--r--spss.server/src/at/gv/egovernment/moa/spss/api/impl/CanonicalizationTransformImpl.java25
-rw-r--r--spss.server/src/at/gv/egovernment/moa/spss/api/impl/CheckResultImpl.java52
-rw-r--r--spss.server/src/at/gv/egovernment/moa/spss/api/impl/ContentBinaryImpl.java40
-rw-r--r--spss.server/src/at/gv/egovernment/moa/spss/api/impl/ContentImpl.java28
-rw-r--r--spss.server/src/at/gv/egovernment/moa/spss/api/impl/ContentReferenceImpl.java24
-rw-r--r--spss.server/src/at/gv/egovernment/moa/spss/api/impl/ContentXMLImpl.java40
-rw-r--r--spss.server/src/at/gv/egovernment/moa/spss/api/impl/CreateSignatureEnvironmentProfileExplicitImpl.java66
-rw-r--r--spss.server/src/at/gv/egovernment/moa/spss/api/impl/CreateSignatureEnvironmentProfileIDImpl.java39
-rw-r--r--spss.server/src/at/gv/egovernment/moa/spss/api/impl/CreateSignatureInfoImpl.java50
-rw-r--r--spss.server/src/at/gv/egovernment/moa/spss/api/impl/CreateSignatureLocationImpl.java31
-rw-r--r--spss.server/src/at/gv/egovernment/moa/spss/api/impl/CreateTransformsInfoImpl.java51
-rw-r--r--spss.server/src/at/gv/egovernment/moa/spss/api/impl/CreateTransformsInfoProfileExplicitImpl.java62
-rw-r--r--spss.server/src/at/gv/egovernment/moa/spss/api/impl/CreateTransformsInfoProfileIDImpl.java38
-rw-r--r--spss.server/src/at/gv/egovernment/moa/spss/api/impl/CreateXMLSignatureRequestImpl.java53
-rw-r--r--spss.server/src/at/gv/egovernment/moa/spss/api/impl/CreateXMLSignatureResponseImpl.java37
-rw-r--r--spss.server/src/at/gv/egovernment/moa/spss/api/impl/DataObjectInfoImpl.java79
-rw-r--r--spss.server/src/at/gv/egovernment/moa/spss/api/impl/ElementSelectorImpl.java47
-rw-r--r--spss.server/src/at/gv/egovernment/moa/spss/api/impl/EnvelopedSignatureTransformImpl.java22
-rw-r--r--spss.server/src/at/gv/egovernment/moa/spss/api/impl/ErrorResponseImpl.java52
-rw-r--r--spss.server/src/at/gv/egovernment/moa/spss/api/impl/ExclusiveCanonicalizationTransformImpl.java48
-rw-r--r--spss.server/src/at/gv/egovernment/moa/spss/api/impl/ManifestRefsCheckResultImpl.java44
-rw-r--r--spss.server/src/at/gv/egovernment/moa/spss/api/impl/ManifestRefsCheckResultInfoImpl.java32
-rw-r--r--spss.server/src/at/gv/egovernment/moa/spss/api/impl/MetaInfoImpl.java59
-rw-r--r--spss.server/src/at/gv/egovernment/moa/spss/api/impl/ReferenceInfoImpl.java38
-rw-r--r--spss.server/src/at/gv/egovernment/moa/spss/api/impl/ReferencesCheckResultImpl.java46
-rw-r--r--spss.server/src/at/gv/egovernment/moa/spss/api/impl/ReferencesCheckResultInfoImpl.java46
-rw-r--r--spss.server/src/at/gv/egovernment/moa/spss/api/impl/SPSSFactoryImpl.java559
-rw-r--r--spss.server/src/at/gv/egovernment/moa/spss/api/impl/SignatureEnvironmentResponseImpl.java41
-rw-r--r--spss.server/src/at/gv/egovernment/moa/spss/api/impl/SignatureManifestCheckParamsImpl.java52
-rw-r--r--spss.server/src/at/gv/egovernment/moa/spss/api/impl/SignerInfoImpl.java81
-rw-r--r--spss.server/src/at/gv/egovernment/moa/spss/api/impl/SingleSignatureInfoImpl.java49
-rw-r--r--spss.server/src/at/gv/egovernment/moa/spss/api/impl/SupplementProfileExplicitImpl.java39
-rw-r--r--spss.server/src/at/gv/egovernment/moa/spss/api/impl/SupplementProfileIDImpl.java37
-rw-r--r--spss.server/src/at/gv/egovernment/moa/spss/api/impl/TransformImpl.java26
-rw-r--r--spss.server/src/at/gv/egovernment/moa/spss/api/impl/TransformParameterBinaryImpl.java42
-rw-r--r--spss.server/src/at/gv/egovernment/moa/spss/api/impl/TransformParameterImpl.java25
-rw-r--r--spss.server/src/at/gv/egovernment/moa/spss/api/impl/TransformParameterURIImpl.java24
-rw-r--r--spss.server/src/at/gv/egovernment/moa/spss/api/impl/TransformPatameterHashImpl.java54
-rw-r--r--spss.server/src/at/gv/egovernment/moa/spss/api/impl/VerifyCMSSignatureRequestImpl.java93
-rw-r--r--spss.server/src/at/gv/egovernment/moa/spss/api/impl/VerifyCMSSignatureResponseElementImpl.java62
-rw-r--r--spss.server/src/at/gv/egovernment/moa/spss/api/impl/VerifyCMSSinatureResponseImpl.java37
-rw-r--r--spss.server/src/at/gv/egovernment/moa/spss/api/impl/VerifySignatureInfoImpl.java47
-rw-r--r--spss.server/src/at/gv/egovernment/moa/spss/api/impl/VerifySignatureLocationImpl.java15
-rw-r--r--spss.server/src/at/gv/egovernment/moa/spss/api/impl/VerifyTransformsDataImpl.java36
-rw-r--r--spss.server/src/at/gv/egovernment/moa/spss/api/impl/VerifyTransformsInfoProfileExplicitImpl.java61
-rw-r--r--spss.server/src/at/gv/egovernment/moa/spss/api/impl/VerifyTransformsInfoProfileIDImpl.java38
-rw-r--r--spss.server/src/at/gv/egovernment/moa/spss/api/impl/VerifyXMLSignatureRequestImpl.java113
-rw-r--r--spss.server/src/at/gv/egovernment/moa/spss/api/impl/VerifyXMLSignatureResponseImpl.java134
-rw-r--r--spss.server/src/at/gv/egovernment/moa/spss/api/impl/X509IssuerSerialImpl.java45
-rw-r--r--spss.server/src/at/gv/egovernment/moa/spss/api/impl/XMLDataObjectAssociationImpl.java45
-rw-r--r--spss.server/src/at/gv/egovernment/moa/spss/api/impl/XPathFilter2TransformImpl.java43
-rw-r--r--spss.server/src/at/gv/egovernment/moa/spss/api/impl/XPathFilterImpl.java64
-rw-r--r--spss.server/src/at/gv/egovernment/moa/spss/api/impl/XPathTransformImpl.java59
-rw-r--r--spss.server/src/at/gv/egovernment/moa/spss/api/impl/XSLTransformImpl.java37
58 files changed, 3253 insertions, 0 deletions
diff --git a/spss.server/src/at/gv/egovernment/moa/spss/api/impl/Base64TransformImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/Base64TransformImpl.java
new file mode 100644
index 000000000..4af075da2
--- /dev/null
+++ b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/Base64TransformImpl.java
@@ -0,0 +1,22 @@
+package at.gv.egovernment.moa.spss.api.impl;
+
+import at.gv.egovernment.moa.spss.api.common.Base64Transform;
+
+/**
+ * Default implementation of <code>Base64Transform</code>.
+ *
+ * @author Fatemeh Philippi
+ * @version $Id$
+ */
+public class Base64TransformImpl
+ extends TransformImpl
+ implements Base64Transform {
+
+ /**
+ * Create a new <code>Base64TransformImpl</code> object.
+ */
+ public Base64TransformImpl() {
+ setAlgorithmURI(BASE64_DECODING);
+ }
+
+}
diff --git a/spss.server/src/at/gv/egovernment/moa/spss/api/impl/CMSContentExplicitImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/CMSContentExplicitImpl.java
new file mode 100644
index 000000000..dd700cf21
--- /dev/null
+++ b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/CMSContentExplicitImpl.java
@@ -0,0 +1,40 @@
+package at.gv.egovernment.moa.spss.api.impl;
+
+import java.io.InputStream;
+
+import at.gv.egovernment.moa.spss.api.cmsverify.CMSContentExcplicit;
+
+/**
+ * Default implementation of <code>CMSContentExplicit</code>.
+ *
+ * @author Fatemeh Philippi
+ * @version $Id$
+ */
+public class CMSContentExplicitImpl implements CMSContentExcplicit {
+
+ /** The binary content, as a stream. */
+ private InputStream binaryContent;
+
+ /**
+ * Sets the binary content as a stream.
+ *
+ * @param content The binary content as a stream.
+ */
+ public void setBinaryContent(InputStream content) {
+ this.binaryContent = content;
+ }
+
+ public InputStream getBinaryContent() {
+ return binaryContent;
+ }
+
+ /**
+ * Gets the type of content.
+ *
+ * @return EXPLICIT_CONTENT
+ */
+ public int getContentType() {
+ return EXPLICIT_CONTENT;
+ }
+
+}
diff --git a/spss.server/src/at/gv/egovernment/moa/spss/api/impl/CMSContentReferenceImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/CMSContentReferenceImpl.java
new file mode 100644
index 000000000..f9c080a0d
--- /dev/null
+++ b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/CMSContentReferenceImpl.java
@@ -0,0 +1,38 @@
+package at.gv.egovernment.moa.spss.api.impl;
+
+import at.gv.egovernment.moa.spss.api.cmsverify.CMSContentReference;
+
+/**
+ * Default implementation of <code>CMSContentReference</code>.
+ *
+ * @author Fatemeh Philippi
+ * @version $Id$
+ */
+public class CMSContentReferenceImpl implements CMSContentReference {
+
+ /** The reference pointing to the actual data. */
+ private String reference;
+
+ /**
+ * Sets the reference URI.
+ *
+ * @param referenceURI The URI pointing to the content data.
+ */
+ public void setReference(String referenceURI) {
+ this.reference = referenceURI;
+ }
+
+ public String getReference() {
+ return reference;
+ }
+
+ /**
+ * Gets the content type.
+ *
+ * @return REFERENCE_CONTENT
+ */
+ public int getContentType() {
+ return REFERENCE_CONTENT;
+ }
+
+}
diff --git a/spss.server/src/at/gv/egovernment/moa/spss/api/impl/CMSDataObjectImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/CMSDataObjectImpl.java
new file mode 100644
index 000000000..6eec4e847
--- /dev/null
+++ b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/CMSDataObjectImpl.java
@@ -0,0 +1,46 @@
+package at.gv.egovernment.moa.spss.api.impl;
+
+import at.gv.egovernment.moa.spss.api.cmsverify.CMSContent;
+import at.gv.egovernment.moa.spss.api.cmsverify.CMSDataObject;
+import at.gv.egovernment.moa.spss.api.common.MetaInfo;
+
+/**
+ * Default implementation of <code>CMLSDataObject</code>.
+ *
+ * @author Fatemeh Philippi
+ * @version $Id$
+ */
+public class CMSDataObjectImpl implements CMSDataObject {
+
+ /** The <code>MetaInfo</code> associated with the CMS data object. */
+ private MetaInfo metaInfo;
+ /** The <code>CMSContent</code> contained in this data object. */
+ private CMSContent cmsContent;
+
+ /**
+ * Sets the meta information associated with the CMS data object.
+ *
+ * @param metaInfo The meta information.
+ */
+ public void setMetaInfo(MetaInfo metaInfo) {
+ this.metaInfo = metaInfo;
+ }
+
+ public MetaInfo getMetaInfo() {
+ return metaInfo;
+ }
+
+ /**
+ * Sets the data of this <code>CMSDataObject</code>.
+ *
+ * @param cmsContent The actual data of this <code>CMSDataObject</code>.
+ */
+ public void setContent(CMSContent cmsContent) {
+ this.cmsContent = cmsContent;
+ }
+
+ public CMSContent getContent() {
+ return cmsContent;
+ }
+
+}
diff --git a/spss.server/src/at/gv/egovernment/moa/spss/api/impl/CanonicalizationTransformImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/CanonicalizationTransformImpl.java
new file mode 100644
index 000000000..cf446d1b4
--- /dev/null
+++ b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/CanonicalizationTransformImpl.java
@@ -0,0 +1,25 @@
+package at.gv.egovernment.moa.spss.api.impl;
+
+import at.gv.egovernment.moa.spss.api.common.CanonicalizationTransform;
+
+/**
+ * Default implementation of <code>CanonicalizationTransform</code>.
+ *
+ * @author Fatemeh Philippi
+ * @version $Id$
+ */
+public class CanonicalizationTransformImpl
+ extends TransformImpl
+ implements CanonicalizationTransform {
+
+ /**
+ * Create a new <code>CanonicalizationTransformImpl</code> object.
+ *
+ * @param algorithmURI Algorithm URI of the canonicalization
+ * <code>Transform</code> type.
+ */
+ public CanonicalizationTransformImpl(String algorithmURI) {
+ setAlgorithmURI(algorithmURI);
+ }
+
+}
diff --git a/spss.server/src/at/gv/egovernment/moa/spss/api/impl/CheckResultImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/CheckResultImpl.java
new file mode 100644
index 000000000..2acb12e51
--- /dev/null
+++ b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/CheckResultImpl.java
@@ -0,0 +1,52 @@
+package at.gv.egovernment.moa.spss.api.impl;
+
+import org.w3c.dom.NodeList;
+
+import at.gv.egovernment.moa.spss.api.common.CheckResult;
+
+/**
+ * Default implementation of <code>CheckResult</code>.
+ *
+ * @author Fatemeh Philippi
+ * @version $Id$
+ */
+public class CheckResultImpl implements CheckResult {
+ /** The result code. */
+ private int code;
+
+ /** Additional information. */
+ private NodeList info;
+
+ /**
+ * Sets a result code.
+ *
+ * @param code The result code.
+ */
+ public void setCode(int code) {
+ this.code = code;
+ }
+
+ /**
+ * @see at.gv.egovernment.moa.spss.api.CheckResult#getCode()
+ */
+ public int getCode() {
+ return code;
+ }
+
+ /**
+ * Sets a descriptive information.
+ *
+ * @param info The descriptive information.
+ */
+ public void setInfo(NodeList info) {
+ this.info = info;
+ }
+
+ /**
+ * @see at.gv.egovernment.moa.spss.api.CheckResult#getInfo()
+ */
+ public NodeList getInfo() {
+ return info;
+ }
+
+}
diff --git a/spss.server/src/at/gv/egovernment/moa/spss/api/impl/ContentBinaryImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/ContentBinaryImpl.java
new file mode 100644
index 000000000..bbed6bf8b
--- /dev/null
+++ b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/ContentBinaryImpl.java
@@ -0,0 +1,40 @@
+package at.gv.egovernment.moa.spss.api.impl;
+
+import java.io.InputStream;
+
+import at.gv.egovernment.moa.spss.api.common.ContentBinary;
+
+/**
+ * Default implementation of <code>ContentBinary</code>.
+ *
+ * @author Fatemeh Philippi
+ * @version $Id$
+ */
+public class ContentBinaryImpl extends ContentImpl implements ContentBinary {
+
+ /** The binary content as a stream. */
+ private InputStream binaryContent;
+
+ /**
+ * Sets the binary content as a stream.
+ *
+ * @param binaryContent The binary content as a stream.
+ */
+ public void setBinaryContent(InputStream binaryContent) {
+ this.binaryContent = binaryContent;
+ }
+
+ public InputStream getBinaryContent() {
+ return binaryContent;
+ }
+
+ /**
+ * Gets the type of content.
+ *
+ * @return BINARY_CONTENT
+ */
+ public int getContentType() {
+ return BINARY_CONTENT;
+ }
+
+}
diff --git a/spss.server/src/at/gv/egovernment/moa/spss/api/impl/ContentImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/ContentImpl.java
new file mode 100644
index 000000000..7f331d2cd
--- /dev/null
+++ b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/ContentImpl.java
@@ -0,0 +1,28 @@
+package at.gv.egovernment.moa.spss.api.impl;
+
+import at.gv.egovernment.moa.spss.api.common.Content;
+
+/**
+ * Default base class for <code>Content</code> implementations.
+ *
+ * @author Patrick Peck
+ * @version $Id$
+ */
+public abstract class ContentImpl implements Content {
+ /** The reference pointing to the content data. */
+ private String reference;
+
+ /**
+ * Sets the reference pointing to the content data.
+ *
+ * @param referenceURI The URI of the content data.
+ */
+ public void setReference(String referenceURI) {
+ this.reference = referenceURI;
+ }
+
+ public String getReference() {
+ return reference;
+ }
+
+}
diff --git a/spss.server/src/at/gv/egovernment/moa/spss/api/impl/ContentReferenceImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/ContentReferenceImpl.java
new file mode 100644
index 000000000..50609aa0e
--- /dev/null
+++ b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/ContentReferenceImpl.java
@@ -0,0 +1,24 @@
+package at.gv.egovernment.moa.spss.api.impl;
+
+import at.gv.egovernment.moa.spss.api.common.ContentReference;
+
+/**
+ * Default implementation of <code>ContentReference</code>.
+ *
+ * @author Patrick Peck
+ * @version $Id$
+ */
+public class ContentReferenceImpl
+ extends ContentImpl
+ implements ContentReference {
+
+ /**
+ * Gets the type of content.
+ *
+ * @return REFERENCE_CONTENT
+ */
+ public int getContentType() {
+ return REFERENCE_CONTENT;
+ }
+
+}
diff --git a/spss.server/src/at/gv/egovernment/moa/spss/api/impl/ContentXMLImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/ContentXMLImpl.java
new file mode 100644
index 000000000..c03f5edde
--- /dev/null
+++ b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/ContentXMLImpl.java
@@ -0,0 +1,40 @@
+package at.gv.egovernment.moa.spss.api.impl;
+
+import org.w3c.dom.NodeList;
+
+import at.gv.egovernment.moa.spss.api.common.ContentXML;
+
+/**
+ * Default implementation of <code>ContentXML</code>.
+ *
+ * @author Fatemeh Philippi
+ * @version $Id$
+ */
+public class ContentXMLImpl extends ContentImpl implements ContentXML {
+
+ /** The nodes making up the XML content. */
+ private NodeList xmlContent;
+
+ /**
+ * Sets the nodes making up the XML content.
+ *
+ * @param xmlContent The XML content.
+ */
+ public void setXMLContent(NodeList xmlContent) {
+ this.xmlContent = xmlContent;
+ }
+
+ public NodeList getXMLContent() {
+ return xmlContent;
+ }
+
+ /**
+ * Gets the type of content.
+ *
+ * @return XML_CONTENT
+ */
+ public int getContentType() {
+ return XML_CONTENT;
+ }
+
+}
diff --git a/spss.server/src/at/gv/egovernment/moa/spss/api/impl/CreateSignatureEnvironmentProfileExplicitImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/CreateSignatureEnvironmentProfileExplicitImpl.java
new file mode 100644
index 000000000..22e4cd61d
--- /dev/null
+++ b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/CreateSignatureEnvironmentProfileExplicitImpl.java
@@ -0,0 +1,66 @@
+package at.gv.egovernment.moa.spss.api.impl;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
+import at.gv.egovernment.moa.spss.api.xmlsign.CreateSignatureEnvironmentProfileExplicit;
+import at.gv.egovernment.moa.spss.api.xmlsign.CreateSignatureLocation;
+
+/**
+ * Default implementation of
+ * <codeCreateSignatureEnvironmentProfileExplicit</code>.
+ *
+ * @author Patrick Peck
+ * @version $Id$
+ */
+public class CreateSignatureEnvironmentProfileExplicitImpl
+ implements CreateSignatureEnvironmentProfileExplicit {
+
+ /** The insertion location of the signature to be created. */
+ private CreateSignatureLocation createSignatureLocation;
+
+ /** Supplemental information for evaluating the signature environment. */
+ private List supplements;
+
+ /**
+ * Sets the insertion location of the signature to be created.
+ *
+ * @param createSignatureLocation The insertion location of the signature to
+ * be created.
+ */
+ public void setCreateSignatureLocation(CreateSignatureLocation createSignatureLocation) {
+ this.createSignatureLocation = createSignatureLocation;
+ }
+
+ public CreateSignatureLocation getCreateSignatureLocation() {
+ return createSignatureLocation;
+ }
+
+ /**
+ * Sets the supplemental information for evaluating the signature
+ * environment.
+ *
+ * @param supplements The supplemental information.
+ */
+ public void setSupplements(List supplements) {
+ this.supplements =
+ supplements != null
+ ? Collections.unmodifiableList(new ArrayList(supplements))
+ : null;
+ }
+
+ public List getSupplements() {
+ return supplements;
+ }
+
+ /**
+ * Gets the type of profile.
+ *
+ * @return EXPLICIT_CREATESIGNATUREENVIRONMENTPROFILE
+ */
+ public int getCreateSignatureEnvironmentProfileType() {
+ return EXPLICIT_CREATESIGNATUREENVIRONMENTPROFILE;
+ }
+
+}
diff --git a/spss.server/src/at/gv/egovernment/moa/spss/api/impl/CreateSignatureEnvironmentProfileIDImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/CreateSignatureEnvironmentProfileIDImpl.java
new file mode 100644
index 000000000..1c7dc6439
--- /dev/null
+++ b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/CreateSignatureEnvironmentProfileIDImpl.java
@@ -0,0 +1,39 @@
+package at.gv.egovernment.moa.spss.api.impl;
+
+import at.gv.egovernment.moa.spss.api.xmlsign.CreateSignatureEnvironmentProfileID;
+
+/**
+ * Default implementation of <code>CreateSignatureEnvironmentProfileID</code>.
+ *
+ * @author Patrick Peck
+ * @version $Id$
+ */
+public class CreateSignatureEnvironmentProfileIDImpl
+ implements CreateSignatureEnvironmentProfileID {
+
+ /** The profile ID. */
+ private String createSignatureEnvironmentProfileID;
+
+ /**
+ * Sets the profile ID.
+ *
+ * @param profileID The profile ID.
+ */
+ public void setCreateSignatureEnvironmentProfileID(String profileID) {
+ this.createSignatureEnvironmentProfileID = profileID;
+ }
+
+ public String getCreateSignatureEnvironmentProfileID() {
+ return createSignatureEnvironmentProfileID;
+ }
+
+ /**
+ * Gets the type of profile.
+ *
+ * @return ID_CREATESIGNATUREENVIRONMENTPROFILE
+ */
+ public int getCreateSignatureEnvironmentProfileType() {
+ return ID_CREATESIGNATUREENVIRONMENTPROFILE;
+ }
+
+}
diff --git a/spss.server/src/at/gv/egovernment/moa/spss/api/impl/CreateSignatureInfoImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/CreateSignatureInfoImpl.java
new file mode 100644
index 000000000..097af7fff
--- /dev/null
+++ b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/CreateSignatureInfoImpl.java
@@ -0,0 +1,50 @@
+package at.gv.egovernment.moa.spss.api.impl;
+
+import at.gv.egovernment.moa.spss.api.common.Content;
+import at.gv.egovernment.moa.spss.api.xmlsign.CreateSignatureEnvironmentProfile;
+import at.gv.egovernment.moa.spss.api.xmlsign.CreateSignatureInfo;
+
+/**
+ * Default implementation of <code>CreateSignatureInfo</code>.
+ *
+ * @author Fatemeh Philippi
+ * @version $Id$
+ */
+public class CreateSignatureInfoImpl implements CreateSignatureInfo {
+
+ /** The signature environment that will contain the newly created
+ * signature. */
+ private Content createSignatureEnvironment;
+
+ /** Additional information about the signature environment. */
+ private CreateSignatureEnvironmentProfile createSignatureEnvironmentProfile;
+
+ /**
+ * Sets the signature environment that will contain the newly created
+ * signature.
+ *
+ * @param createSignatureEnvironment The signature environment.
+ */
+ public void setCreateSignatureEnvironment(Content createSignatureEnvironment) {
+ this.createSignatureEnvironment = createSignatureEnvironment;
+ }
+
+ public Content getCreateSignatureEnvironment() {
+ return createSignatureEnvironment;
+ }
+
+ /**
+ * Sets the signature environment profile containing additional information
+ * about the signature environment.
+ *
+ * @param profile The signature environment profile.
+ */
+ public void setCreateSignatureEnvironmentProfile(CreateSignatureEnvironmentProfile profile) {
+ this.createSignatureEnvironmentProfile = profile;
+ }
+
+ public CreateSignatureEnvironmentProfile getCreateSignatureEnvironmentProfile() {
+ return createSignatureEnvironmentProfile;
+ }
+
+}
diff --git a/spss.server/src/at/gv/egovernment/moa/spss/api/impl/CreateSignatureLocationImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/CreateSignatureLocationImpl.java
new file mode 100644
index 000000000..c0b36f505
--- /dev/null
+++ b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/CreateSignatureLocationImpl.java
@@ -0,0 +1,31 @@
+package at.gv.egovernment.moa.spss.api.impl;
+
+import at.gv.egovernment.moa.spss.api.xmlsign.CreateSignatureLocation;
+
+/**
+ * Default implementation of <code>CreateSignatureLocation</code>.
+ *
+ * @author Fatemeh Philippi
+ * @version $Id$
+ */
+public class CreateSignatureLocationImpl
+ extends ElementSelectorImpl
+ implements CreateSignatureLocation {
+
+ /** The index of the newly created signature. */
+ private int index;
+
+ /**
+ * Sets the index of the newly created signature.
+ *
+ * @param index The index of the newly created signature.
+ */
+ public void setIndex(int index) {
+ this.index = index;
+ }
+
+ public int getIndex() {
+ return index;
+ }
+
+}
diff --git a/spss.server/src/at/gv/egovernment/moa/spss/api/impl/CreateTransformsInfoImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/CreateTransformsInfoImpl.java
new file mode 100644
index 000000000..ff4108248
--- /dev/null
+++ b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/CreateTransformsInfoImpl.java
@@ -0,0 +1,51 @@
+package at.gv.egovernment.moa.spss.api.impl;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
+import at.gv.egovernment.moa.spss.api.common.MetaInfo;
+import at.gv.egovernment.moa.spss.api.xmlsign.CreateTransformsInfo;
+
+/**
+ * Default implementation of <code>CreateTransformsInfo</code>.
+ *
+ * @author Fatemeh Philippi
+ * @version $Id$
+ */
+public class CreateTransformsInfoImpl implements CreateTransformsInfo {
+ /** The dsig:Transforms. */
+ private List transforms;
+ /** Meta information about the data resulting from the transforms. */
+ private MetaInfo finalDataMetaInfo;
+
+ /**
+ * Sets the transforms.
+ *
+ * @param transforms The transforms.
+ */
+ public void setTransforms(List transforms) {
+ this.transforms =
+ transforms != null
+ ? Collections.unmodifiableList(new ArrayList(transforms))
+ : null;
+ }
+
+ public List getTransforms() {
+ return transforms;
+ }
+
+ /**
+ * Sets the meta information about the data resulting from the transforms.
+ *
+ * @param finalDataMetaInfo The meta information.
+ */
+ public void setFinalDataMetaInfo(MetaInfo finalDataMetaInfo) {
+ this.finalDataMetaInfo = finalDataMetaInfo;
+ }
+
+ public MetaInfo getFinalDataMetaInfo() {
+ return finalDataMetaInfo;
+ }
+
+}
diff --git a/spss.server/src/at/gv/egovernment/moa/spss/api/impl/CreateTransformsInfoProfileExplicitImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/CreateTransformsInfoProfileExplicitImpl.java
new file mode 100644
index 000000000..508b6c083
--- /dev/null
+++ b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/CreateTransformsInfoProfileExplicitImpl.java
@@ -0,0 +1,62 @@
+package at.gv.egovernment.moa.spss.api.impl;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
+import at.gv.egovernment.moa.spss.api.xmlsign.CreateTransformsInfo;
+import at.gv.egovernment.moa.spss.api.xmlsign.CreateTransformsInfoProfileExplicit;
+
+/**
+ * Default implementation of <code>CreateTransformsInfoProfileExplicit</code>.
+ *
+ * @author Fatemeh Philippi
+ * @version $Id$
+ */
+public class CreateTransformsInfoProfileExplicitImpl
+ implements CreateTransformsInfoProfileExplicit {
+
+ /** Transformation information. */
+ private CreateTransformsInfo transformsInfo;
+ /** Additional data for the transformations. */
+ private List supplements = new ArrayList();
+
+ /**
+ * Sets the transformation information.
+ *
+ * @param transformsInfo The transformation information.
+ */
+ public void setCreateTransformsInfo(CreateTransformsInfo transformsInfo) {
+ this.transformsInfo = transformsInfo;
+ }
+
+ public CreateTransformsInfo getCreateTransformsInfo() {
+ return transformsInfo;
+ }
+
+ /**
+ * Sets the additional data for the transformations.
+ *
+ * @param supplements The additional data.
+ */
+ public void setSupplements(List supplements) {
+ this.supplements =
+ supplements != null
+ ? Collections.unmodifiableList(new ArrayList(supplements))
+ : null;
+ }
+
+ public List getSupplements() {
+ return supplements;
+ }
+
+ /**
+ * Gets the type of profile.
+ *
+ * @return EXPLICIT_CREATETRANSFORMSINFOPROFILE
+ */
+ public int getCreateTransformsInfoProfileType() {
+ return EXPLICIT_CREATETRANSFORMSINFOPROFILE;
+ }
+
+}
diff --git a/spss.server/src/at/gv/egovernment/moa/spss/api/impl/CreateTransformsInfoProfileIDImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/CreateTransformsInfoProfileIDImpl.java
new file mode 100644
index 000000000..5cd1fcc48
--- /dev/null
+++ b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/CreateTransformsInfoProfileIDImpl.java
@@ -0,0 +1,38 @@
+package at.gv.egovernment.moa.spss.api.impl;
+
+import at.gv.egovernment.moa.spss.api.xmlsign.CreateTransformsInfoProfileID;
+
+/**
+ * Default implementation of <code>CreateTransformsInfoProfileID</code>.
+ *
+ * @author Fatemeh Philippi
+ * @version $Id$
+ */
+public class CreateTransformsInfoProfileIDImpl
+ implements CreateTransformsInfoProfileID {
+
+ /** The profile ID. */
+ private String createTransformsID;
+
+ /**
+ * Sets the profile ID.
+ * @param createTransformsID The profile ID.
+ */
+ public void setCreateTransformsInfoProfileID(String createTransformsID) {
+ this.createTransformsID = createTransformsID;
+ }
+
+ public String getCreateTransformsInfoProfileID() {
+ return createTransformsID;
+ }
+
+ /**
+ * Gets the type of profile.
+ *
+ * @return ID_CREATETRANSFORMSINFOPROFILE
+ */
+ public int getCreateTransformsInfoProfileType() {
+ return ID_CREATETRANSFORMSINFOPROFILE;
+ }
+
+}
diff --git a/spss.server/src/at/gv/egovernment/moa/spss/api/impl/CreateXMLSignatureRequestImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/CreateXMLSignatureRequestImpl.java
new file mode 100644
index 000000000..08f94cc31
--- /dev/null
+++ b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/CreateXMLSignatureRequestImpl.java
@@ -0,0 +1,53 @@
+package at.gv.egovernment.moa.spss.api.impl;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
+import at.gv.egovernment.moa.spss.api.xmlsign.CreateXMLSignatureRequest;
+
+/**
+ * Default implementation of <code>CreateXMLSignatureRequest</code>.
+ *
+ * @author Fatemeh Philippi
+ * @version $Id$
+ */
+public class CreateXMLSignatureRequestImpl
+ implements CreateXMLSignatureRequest {
+
+ /** The identifier for selecting the private keys for creating the signature.*/
+ private String keyIdentifier;
+ /** Information for creating a single signature. */
+ private List singleSignatureInfos = new ArrayList();
+
+ /**
+ * Sets the identifier for selecting the private keys for creating the
+ * signature.
+ *
+ * @param keyIdentifier The identifier for selecting the private keys.
+ */
+ public void setKeyIdentifier(String keyIdentifier) {
+ this.keyIdentifier = keyIdentifier;
+ }
+
+ public String getKeyIdentifier() {
+ return keyIdentifier;
+ }
+
+ /**
+ * Sets the information for creating single signatures.
+ *
+ * @param singleSignaureInfos The information for creating single signatures.
+ */
+ public void setSingleSignatureInfos(List singleSignaureInfos) {
+ this.singleSignatureInfos =
+ singleSignaureInfos != null
+ ? Collections.unmodifiableList(new ArrayList(singleSignaureInfos))
+ : null;
+ }
+
+ public List getSingleSignatureInfos() {
+ return singleSignatureInfos;
+ }
+
+}
diff --git a/spss.server/src/at/gv/egovernment/moa/spss/api/impl/CreateXMLSignatureResponseImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/CreateXMLSignatureResponseImpl.java
new file mode 100644
index 000000000..590258e30
--- /dev/null
+++ b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/CreateXMLSignatureResponseImpl.java
@@ -0,0 +1,37 @@
+package at.gv.egovernment.moa.spss.api.impl;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
+import at.gv.egovernment.moa.spss.api.xmlsign.CreateXMLSignatureResponse;
+
+/**
+ * Default implementation of <code>CreateXMLSignatureResponse</code>.
+ *
+ * @author Fatemeh Philippi
+ * @version $Id$
+ */
+public class CreateXMLSignatureResponseImpl
+ implements CreateXMLSignatureResponse {
+
+ /** The elements contained in the response. */
+ private List responseElements = new ArrayList();
+
+ /**
+ * Sets the elements contained in the response.
+ *
+ * @param responseElements The response elements.
+ */
+ public void setResponseElements(List responseElements) {
+ this.responseElements =
+ responseElements != null
+ ? Collections.unmodifiableList(new ArrayList(responseElements))
+ : null;
+ }
+
+ public List getResponseElements() {
+ return responseElements;
+ }
+
+}
diff --git a/spss.server/src/at/gv/egovernment/moa/spss/api/impl/DataObjectInfoImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/DataObjectInfoImpl.java
new file mode 100644
index 000000000..8ab2241de
--- /dev/null
+++ b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/DataObjectInfoImpl.java
@@ -0,0 +1,79 @@
+package at.gv.egovernment.moa.spss.api.impl;
+
+import at.gv.egovernment.moa.spss.api.common.Content;
+import at.gv.egovernment.moa.spss.api.xmlsign.CreateTransformsInfoProfile;
+import at.gv.egovernment.moa.spss.api.xmlsign.DataObjectInfo;
+
+/**
+ * Default implementation of <code>DataObjectInfo</code>.
+ *
+ * @author Fatemeh Philippi
+ * @version $Id$
+ */
+public class DataObjectInfoImpl implements DataObjectInfo {
+ /** The signature structure type. */
+ private String stucture;
+ /** Whether a reference will be placed in the signature itself or in the
+ * manifest */
+ private boolean childOfManifest;
+ /** The data object to be signed. */
+ private Content dataObject;
+ /** The profile containing additional information for the transformations. */
+ private CreateTransformsInfoProfile createTransformsInfoProfile;
+
+ /**
+ * Sets the signature structure type.
+ *
+ * @param structure The signature structure type.
+ */
+ public void setStructure(String structure) {
+ this.stucture = structure;
+ }
+
+ public String getStructure() {
+ return stucture;
+ }
+
+ /**
+ * Sets whether a reference will be placed in the signature itself or in the
+ * manifest.
+ *
+ * @param childOfManifest Whether to put the reference in the signature of
+ * in the manifest.
+ */
+ public void setChildOfManifest(boolean childOfManifest) {
+ this.childOfManifest = childOfManifest;
+ }
+
+ public boolean isChildOfManifest() {
+ return childOfManifest;
+ }
+
+ /**
+ * Sets the data object to be signed.
+ *
+ * @param dataObject The data object to be signed.
+ */
+ public void setDataObject(Content dataObject) {
+ this.dataObject = dataObject;
+ }
+
+ public Content getDataObject() {
+ return dataObject;
+ }
+
+ /**
+ * Sets additional information for the transformations.
+ *
+ * @param profile The profile containing additional information for the
+ * transformations.
+ */
+ public void setCreateTransformsInfoProfile(CreateTransformsInfoProfile profile) {
+ this.createTransformsInfoProfile = profile;
+ }
+
+ public CreateTransformsInfoProfile getCreateTransformsInfoProfile() {
+ return createTransformsInfoProfile;
+ }
+
+}
diff --git a/spss.server/src/at/gv/egovernment/moa/spss/api/impl/ElementSelectorImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/ElementSelectorImpl.java
new file mode 100644
index 000000000..e460bd584
--- /dev/null
+++ b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/ElementSelectorImpl.java
@@ -0,0 +1,47 @@
+package at.gv.egovernment.moa.spss.api.impl;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import at.gv.egovernment.moa.spss.api.common.ElementSelector;
+
+/**
+ * Default implementation of <code>ElementSelector</code>.
+ *
+ * @author Fatemeh Philippi
+ * @version $Id$
+ */
+public class ElementSelectorImpl implements ElementSelector {
+ /** The XPath expression pointing to the element. */
+ private String xPathExpression;
+ /** The namespace declarations to apply for evaluating the XPath */
+ private Map namespaceDeclarations = new HashMap();
+
+ /**
+ * Sets the XPath expression pointing to the element.
+ *
+ * @param xPathExpression XPath expression pointing to the element.
+ */
+ public void setXPathExpression(String xPathExpression) {
+ this.xPathExpression = xPathExpression;
+ }
+
+ public String getXPathExpression() {
+ return xPathExpression;
+ }
+
+ /**
+ * Sets namespace declarations to apply for evaluating the XPath.
+ *
+ * @param namespaceDeclarations The namespace declarations to apply for
+ * evaluating the XPath.
+ */
+ public void setNamespaceDeclarations(Map namespaceDeclarations) {
+ this.namespaceDeclarations = namespaceDeclarations;
+ }
+
+ public Map getNamespaceDeclarations() {
+ return namespaceDeclarations;
+ }
+
+}
diff --git a/spss.server/src/at/gv/egovernment/moa/spss/api/impl/EnvelopedSignatureTransformImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/EnvelopedSignatureTransformImpl.java
new file mode 100644
index 000000000..a1be3d86a
--- /dev/null
+++ b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/EnvelopedSignatureTransformImpl.java
@@ -0,0 +1,22 @@
+package at.gv.egovernment.moa.spss.api.impl;
+
+import at.gv.egovernment.moa.spss.api.common.EnvelopedSignatureTransform;
+
+/**
+ * Default implementation of <code>EnvelopedSignatureTransform</code>.
+ *
+ * @author Fatemeh Philippi
+ * @version $Id$
+ */
+public class EnvelopedSignatureTransformImpl
+ extends TransformImpl
+ implements EnvelopedSignatureTransform {
+
+ /**
+ * Create a <code>EnvelopedSignatureTransformImpl</code>.
+ */
+ public EnvelopedSignatureTransformImpl() {
+ setAlgorithmURI(ENVELOPED_SIGNATURE);
+ }
+
+}
diff --git a/spss.server/src/at/gv/egovernment/moa/spss/api/impl/ErrorResponseImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/ErrorResponseImpl.java
new file mode 100644
index 000000000..d7047ab44
--- /dev/null
+++ b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/ErrorResponseImpl.java
@@ -0,0 +1,52 @@
+package at.gv.egovernment.moa.spss.api.impl;
+
+import at.gv.egovernment.moa.spss.api.xmlsign.ErrorResponse;
+
+/**
+ * Default implementation of <code>ErrorResponse</code>.
+ *
+ * @author Fatemeh Philippi
+ * @version $Id$
+ */
+public class ErrorResponseImpl implements ErrorResponse {
+ /** The error code. */
+ private int code;
+ /** Verbose error message. */
+ private String info;
+
+ /**
+ * Sets the error code.
+ *
+ * @param code The error code.
+ */
+ public void setErrorCode(int code) {
+ this.code = code;
+ }
+
+ public int getErrorCode() {
+ return code;
+ }
+
+ /**
+ * Sets the verbose error information.
+ *
+ * @param info The verbose error information.
+ */
+ public void setInfo(String info) {
+ this.info = info;
+ }
+
+ public String getInfo() {
+ return info;
+ }
+
+ /**
+ * Gets the response type.
+ *
+ * @return ERROR_RESPONSE
+ */
+ public int getResponseType() {
+ return ERROR_RESPONSE;
+ }
+
+}
diff --git a/spss.server/src/at/gv/egovernment/moa/spss/api/impl/ExclusiveCanonicalizationTransformImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/ExclusiveCanonicalizationTransformImpl.java
new file mode 100644
index 000000000..bf21c8634
--- /dev/null
+++ b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/ExclusiveCanonicalizationTransformImpl.java
@@ -0,0 +1,48 @@
+package at.gv.egovernment.moa.spss.api.impl;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
+import at.gv.egovernment.moa.spss.api.common.ExclusiveCanonicalizationTransform;
+
+/**
+ * Default implementation of <code>ExclusiveCanonicalizationTransform</code>.
+ *
+ * @author Patrick Peck
+ * @version $Id$
+ */
+public class ExclusiveCanonicalizationTransformImpl
+ extends TransformImpl
+ implements ExclusiveCanonicalizationTransform {
+
+ /** The namespaces to treat according to canonical XML. */
+ private List inclusiveNamespacePrefixes;
+
+ /**
+ * Create a <code>ExclusiveCanonicalizationTransformImpl</code> object.
+ *
+ * @param algorithmURI The algorithm URI identifying the transformation
+ * algorithm.
+ */
+ public ExclusiveCanonicalizationTransformImpl(String algorithmURI) {
+ setAlgorithmURI(algorithmURI);
+ }
+
+ /**
+ * Sets the namespaces to treat according to canonical XML.
+ * @param inclusiveNamespacePrefixes The namespaces to treat according to
+ * canonical XML.
+ */
+ public void setInclusiveNamespacePrefixes(List inclusiveNamespacePrefixes) {
+ this.inclusiveNamespacePrefixes =
+ inclusiveNamespacePrefixes != null
+ ? Collections.unmodifiableList(new ArrayList(inclusiveNamespacePrefixes))
+ : null;
+ }
+
+ public List getInclusiveNamespacePrefixes() {
+ return inclusiveNamespacePrefixes;
+ }
+
+}
diff --git a/spss.server/src/at/gv/egovernment/moa/spss/api/impl/ManifestRefsCheckResultImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/ManifestRefsCheckResultImpl.java
new file mode 100644
index 000000000..9174e3a46
--- /dev/null
+++ b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/ManifestRefsCheckResultImpl.java
@@ -0,0 +1,44 @@
+package at.gv.egovernment.moa.spss.api.impl;
+
+import at.gv.egovernment.moa.spss.api.xmlverify.ManifestRefsCheckResult;
+import at.gv.egovernment.moa.spss.api.xmlverify.ManifestRefsCheckResultInfo;
+
+/**
+ * Default implementation of <code>ManifestRefsCheckResult</code>.
+ *
+ * @author Fatemeh Philippi
+ * @version $Id$
+ */
+public class ManifestRefsCheckResultImpl implements ManifestRefsCheckResult {
+ /** The numerical check code. */
+ private int code;
+ /** Additional information about the check. */
+ private ManifestRefsCheckResultInfo info;
+
+ /**
+ * Sets the check code.
+ *
+ * @param code A numerical representation of the result of the manifest check.
+ */
+ public void setCode(int code) {
+ this.code = code;
+ }
+
+ public int getCode() {
+ return code;
+ }
+
+ /**
+ * Sets a reference to the manifest.
+ *
+ * @param info The reference to the manifest.
+ */
+ public void setInfo(ManifestRefsCheckResultInfo info) {
+ this.info = info;
+ }
+
+ public ManifestRefsCheckResultInfo getInfo() {
+ return info;
+ }
+
+}
diff --git a/spss.server/src/at/gv/egovernment/moa/spss/api/impl/ManifestRefsCheckResultInfoImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/ManifestRefsCheckResultInfoImpl.java
new file mode 100644
index 000000000..0071a14f3
--- /dev/null
+++ b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/ManifestRefsCheckResultInfoImpl.java
@@ -0,0 +1,32 @@
+package at.gv.egovernment.moa.spss.api.impl;
+
+import at.gv.egovernment.moa.spss.api.xmlverify.ManifestRefsCheckResultInfo;
+
+/**
+ * Default implementation of <code>ManifestRefsCheckResultInfo</code>.
+ *
+ * @author Fatemeh Philippi
+ * @version $Id$
+ */
+public class ManifestRefsCheckResultInfoImpl
+ extends ReferencesCheckResultInfoImpl
+ implements ManifestRefsCheckResultInfo {
+
+ /** The position of the signature reference containing the reference to the
+ * manifest being described by this object.*/
+ private int referringSignatureReference;
+
+ /**
+ * Sets the position of the signature reference containing the reference to
+ * the manifest being described by this object.
+ * @param referringSignatureReference The position of the signature reference.
+ */
+ public void setReferringSignatureReference(int referringSignatureReference) {
+ this.referringSignatureReference = referringSignatureReference;
+ }
+
+ public int getReferringSignatureReference() {
+ return referringSignatureReference;
+ }
+
+}
diff --git a/spss.server/src/at/gv/egovernment/moa/spss/api/impl/MetaInfoImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/MetaInfoImpl.java
new file mode 100644
index 000000000..c435dd8fd
--- /dev/null
+++ b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/MetaInfoImpl.java
@@ -0,0 +1,59 @@
+package at.gv.egovernment.moa.spss.api.impl;
+
+import org.w3c.dom.NodeList;
+
+import at.gv.egovernment.moa.spss.api.common.MetaInfo;
+
+/**
+ * Default implementation of <code>MetaInfo</code>.
+ * @author Fatemeh Philippi
+ * @version $Id$
+ */
+public class MetaInfoImpl implements MetaInfo {
+ /** Information about the MIME type. */
+ private String mimeType;
+ /** URI pointing to a description of the content. */
+ private String description;
+ /** Descriptive XML content. */
+ private NodeList anyElements;
+
+ /**
+ * Sets the MIME type.
+ *
+ * @param mimeType The MIME type to set.
+ */
+ public void setMimeType(String mimeType) {
+ this.mimeType = mimeType;
+ }
+
+ public String getMimeType() {
+ return mimeType;
+ }
+
+ /**
+ * Sets the URI pointing to a description of the content.
+ *
+ * @param description The URI pointing to a description of the content.
+ */
+ public void setDescription(String description) {
+ this.description = description;
+ }
+
+ public String getDescription() {
+ return description;
+ }
+
+ /**
+ * Sets descriptive XML content.
+ *
+ * @param anyElements The elements to set.
+ */
+ public void setAnyElements(NodeList anyElements) {
+ this.anyElements = anyElements;
+ }
+
+ public NodeList getAnyElements() {
+ return anyElements;
+ }
+
+}
diff --git a/spss.server/src/at/gv/egovernment/moa/spss/api/impl/ReferenceInfoImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/ReferenceInfoImpl.java
new file mode 100644
index 000000000..923a4bce1
--- /dev/null
+++ b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/ReferenceInfoImpl.java
@@ -0,0 +1,38 @@
+package at.gv.egovernment.moa.spss.api.impl;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
+import at.gv.egovernment.moa.spss.api.xmlverify.ReferenceInfo;
+
+/**
+ * Default implementation of <code>ReferenceInfo</code>.
+ *
+ * @author Fatemeh Philippi
+ * @version $Id$
+ */
+public class ReferenceInfoImpl implements ReferenceInfo {
+ /** Profile containing the transforms allowed in the signature. */
+ private List verifyTransformsInfoProfiles;
+
+ /**
+ * Sets the transforms profile used for verifying the transforms contained
+ * in the signature.
+ *
+ * @param verifyTransformsInfoProfiles The profiles containing the transforms
+ * allowed in the signature.
+ */
+ public void setVerifyTransformsInfoProfiles(List verifyTransformsInfoProfiles) {
+ this.verifyTransformsInfoProfiles =
+ verifyTransformsInfoProfiles != null
+ ? Collections.unmodifiableList(
+ new ArrayList(verifyTransformsInfoProfiles))
+ : null;
+ }
+
+ public List getVerifyTransformsInfoProfiles() {
+ return verifyTransformsInfoProfiles;
+ }
+
+}
diff --git a/spss.server/src/at/gv/egovernment/moa/spss/api/impl/ReferencesCheckResultImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/ReferencesCheckResultImpl.java
new file mode 100644
index 000000000..6bb4d30ac
--- /dev/null
+++ b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/ReferencesCheckResultImpl.java
@@ -0,0 +1,46 @@
+package at.gv.egovernment.moa.spss.api.impl;
+
+import at.gv.egovernment.moa.spss.api.xmlverify.ReferencesCheckResult;
+import at.gv.egovernment.moa.spss.api.xmlverify.ReferencesCheckResultInfo;
+
+/**
+ * Default implementation of <code>ReferencesCheckResult</code>.
+ *
+ * @author Patrick Peck
+ * @version $Id$
+ */
+public class ReferencesCheckResultImpl implements ReferencesCheckResult {
+ /** The check code. */
+ private int code;
+ /** Additional information about the reference check. */
+ private ReferencesCheckResultInfo info;
+
+ /**
+ * Sets the check code.
+ *
+ * @param code A numerical representation of the result of the reference
+ * check.
+ */
+ public void setCode(int code) {
+ this.code = code;
+ }
+
+ public int getCode() {
+ return code;
+ }
+
+ /**
+ * Sets additional information about the reference check.
+ *
+ * @param manifestRefsCheckResultInfo Additional information about the
+ * reference check.
+ */
+ public void setInfo(ReferencesCheckResultInfo manifestRefsCheckResultInfo) {
+ this.info = manifestRefsCheckResultInfo;
+ }
+
+ public ReferencesCheckResultInfo getInfo() {
+ return info;
+ }
+
+}
diff --git a/spss.server/src/at/gv/egovernment/moa/spss/api/impl/ReferencesCheckResultInfoImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/ReferencesCheckResultInfoImpl.java
new file mode 100644
index 000000000..a21b417ae
--- /dev/null
+++ b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/ReferencesCheckResultInfoImpl.java
@@ -0,0 +1,46 @@
+package at.gv.egovernment.moa.spss.api.impl;
+
+import org.w3c.dom.NodeList;
+
+import at.gv.egovernment.moa.spss.api.xmlverify.ReferencesCheckResultInfo;
+
+/**
+ * Default implementation of <code>ReferencesCheckResultInfo</code>.
+ *
+ * @author Patrick Peck
+ * @version $Id$
+ */
+public class ReferencesCheckResultInfoImpl
+ implements ReferencesCheckResultInfo {
+
+ /** Additional information about the references check. */
+ private NodeList anyOtherInfo;
+ /** The indexes of the failed references. */
+ private int[] failedReferences = new int[0];
+
+ /**
+ * Sets additional information about the references check.
+ * @param anyOtherInfo Additional information about the references check.
+ */
+ public void setAnyOtherInfo(NodeList anyOtherInfo) {
+ this.anyOtherInfo = anyOtherInfo;
+ }
+
+ public NodeList getAnyOtherInfo() {
+ return anyOtherInfo;
+ }
+
+ /**
+ * Sets the indexes of the failed references.
+ *
+ * @param failedReferences The indexes of the failed references.
+ */
+ public void setFailedReferences(int[] failedReferences) {
+ this.failedReferences = failedReferences;
+ }
+
+ public int[] getFailedReferences() {
+ return failedReferences;
+ }
+
+}
diff --git a/spss.server/src/at/gv/egovernment/moa/spss/api/impl/SPSSFactoryImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/SPSSFactoryImpl.java
new file mode 100644
index 000000000..ab6240f79
--- /dev/null
+++ b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/SPSSFactoryImpl.java
@@ -0,0 +1,559 @@
+package at.gv.egovernment.moa.spss.api.impl;
+
+import java.io.InputStream;
+import java.math.BigInteger;
+import java.security.cert.X509Certificate;
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+
+import org.w3c.dom.Element;
+import org.w3c.dom.NodeList;
+
+import at.gv.egovernment.moa.spss.api.SPSSFactory;
+import at.gv.egovernment.moa.spss.api.cmsverify.CMSContent;
+import at.gv.egovernment.moa.spss.api.cmsverify.CMSDataObject;
+import at.gv.egovernment.moa.spss.api.cmsverify.VerifyCMSSignatureRequest;
+import at.gv.egovernment.moa.spss.api.cmsverify.VerifyCMSSignatureResponse;
+import at.gv.egovernment.moa.spss.api.cmsverify.VerifyCMSSignatureResponseElement;
+import at.gv.egovernment.moa.spss.api.common.CheckResult;
+import at.gv.egovernment.moa.spss.api.common.Content;
+import at.gv.egovernment.moa.spss.api.common.MetaInfo;
+import at.gv.egovernment.moa.spss.api.common.SignerInfo;
+import at.gv.egovernment.moa.spss.api.common.Transform;
+import at.gv.egovernment.moa.spss.api.common.X509IssuerSerial;
+import at.gv.egovernment.moa.spss.api.common.XMLDataObjectAssociation;
+import at.gv.egovernment.moa.spss.api.common.XPathFilter;
+import at.gv.egovernment.moa.spss.api.xmlsign.CreateSignatureEnvironmentProfile;
+import at.gv.egovernment.moa.spss.api.xmlsign.CreateSignatureInfo;
+import at.gv.egovernment.moa.spss.api.xmlsign.CreateSignatureLocation;
+import at.gv.egovernment.moa.spss.api.xmlsign.CreateTransformsInfo;
+import at.gv.egovernment.moa.spss.api.xmlsign.CreateTransformsInfoProfile;
+import at.gv.egovernment.moa.spss.api.xmlsign.CreateXMLSignatureRequest;
+import at.gv.egovernment.moa.spss.api.xmlsign.CreateXMLSignatureResponse;
+import at.gv.egovernment.moa.spss.api.xmlsign.DataObjectInfo;
+import at.gv.egovernment.moa.spss.api.xmlsign.ErrorResponse;
+import at.gv.egovernment.moa.spss.api.xmlsign.SignatureEnvironmentResponse;
+import at.gv.egovernment.moa.spss.api.xmlsign.SingleSignatureInfo;
+import at.gv.egovernment.moa.spss.api.xmlverify.ManifestRefsCheckResult;
+import at.gv.egovernment.moa.spss.api.xmlverify.ManifestRefsCheckResultInfo;
+import at.gv.egovernment.moa.spss.api.xmlverify.ReferenceInfo;
+import at.gv.egovernment.moa.spss.api.xmlverify.ReferencesCheckResult;
+import at.gv.egovernment.moa.spss.api.xmlverify.ReferencesCheckResultInfo;
+import at.gv.egovernment.moa.spss.api.xmlverify.SignatureManifestCheckParams;
+import at.gv.egovernment.moa.spss.api.xmlverify.SupplementProfile;
+import at.gv.egovernment.moa.spss.api.xmlverify.TransformParameter;
+import at.gv.egovernment.moa.spss.api.xmlverify.VerifySignatureInfo;
+import at.gv.egovernment.moa.spss.api.xmlverify.VerifySignatureLocation;
+import at.gv.egovernment.moa.spss.api.xmlverify.VerifyTransformsInfoProfile;
+import at.gv.egovernment.moa.spss.api.xmlverify.VerifyXMLSignatureRequest;
+import at.gv.egovernment.moa.spss.api.xmlverify.VerifyXMLSignatureResponse;
+
+/**
+ * Default implementation of <code>SPSSFactory</code>.
+ *
+ * @author Patrick Peck
+ * @version $Id$
+ */
+public class SPSSFactoryImpl extends SPSSFactory {
+
+ public CreateXMLSignatureRequest createCreateXMLSignatureRequest(
+ String keyIdentifier,
+ List singleSignatureInfos) {
+ CreateXMLSignatureRequestImpl createXMLSignatureRequest =
+ new CreateXMLSignatureRequestImpl();
+ createXMLSignatureRequest.setKeyIdentifier(keyIdentifier);
+ createXMLSignatureRequest.setSingleSignatureInfos(singleSignatureInfos);
+ return createXMLSignatureRequest;
+ }
+
+ public SingleSignatureInfo createSingleSignatureInfo(
+ List dataObjectInfos,
+ CreateSignatureInfo createSignatureInfo,
+ boolean securityLayerConform) {
+ SingleSignatureInfoImpl singleSignatureInfo = new SingleSignatureInfoImpl();
+ singleSignatureInfo.setDataObjectInfos(dataObjectInfos);
+ singleSignatureInfo.setCreateSignatureInfo(createSignatureInfo);
+ singleSignatureInfo.setSecurityLayerConform(securityLayerConform);
+ return singleSignatureInfo;
+ }
+ public DataObjectInfo createDataObjectInfo(
+ String structure,
+ boolean childOfManifest,
+ Content dataObject,
+ CreateTransformsInfoProfile createTransformsInfoProfile) {
+ DataObjectInfoImpl dataObjectInfo = new DataObjectInfoImpl();
+ dataObjectInfo.setStructure(structure);
+ dataObjectInfo.setChildOfManifest(childOfManifest);
+ dataObjectInfo.setDataObject(dataObject);
+ dataObjectInfo.setCreateTransformsInfoProfile(createTransformsInfoProfile);
+ return dataObjectInfo;
+ }
+
+ public CreateTransformsInfoProfile createCreateTransformsInfoProfile(String profileID) {
+
+ CreateTransformsInfoProfileIDImpl createTransformsInfoProfile =
+ new CreateTransformsInfoProfileIDImpl();
+ createTransformsInfoProfile.setCreateTransformsInfoProfileID(profileID);
+ return createTransformsInfoProfile;
+ }
+
+ public CreateTransformsInfoProfile createCreateTransformsInfoProfile(
+ CreateTransformsInfo transformsInfo,
+ List supplements) {
+ CreateTransformsInfoProfileExplicitImpl createTransformsInfoProfile =
+ new CreateTransformsInfoProfileExplicitImpl();
+ createTransformsInfoProfile.setCreateTransformsInfo(transformsInfo);
+ createTransformsInfoProfile.setSupplements(supplements);
+ return createTransformsInfoProfile;
+ }
+
+ public CreateTransformsInfo createCreateTransformsInfo(
+ List transforms,
+ MetaInfo finalDataMetaInfo) {
+ CreateTransformsInfoImpl createTransformsInfo =
+ new CreateTransformsInfoImpl();
+
+ createTransformsInfo.setTransforms(transforms);
+ createTransformsInfo.setFinalDataMetaInfo(finalDataMetaInfo);
+ return createTransformsInfo;
+ }
+
+ public CreateSignatureInfo createCreateSignatureInfo(
+ Content createSignatureEnvironment,
+ CreateSignatureEnvironmentProfile createSignatureEnvironmentProfile) {
+ CreateSignatureInfoImpl createSignatureInfo = new CreateSignatureInfoImpl();
+ createSignatureInfo.setCreateSignatureEnvironment(
+ createSignatureEnvironment);
+ createSignatureInfo.setCreateSignatureEnvironmentProfile(
+ createSignatureEnvironmentProfile);
+ return createSignatureInfo;
+ }
+
+ public CreateSignatureEnvironmentProfile createCreateSignatureEnvironmentProfile(
+ CreateSignatureLocation createSignatureLocation,
+ List supplements) {
+ CreateSignatureEnvironmentProfileExplicitImpl createSignatureEnvironmentProfile =
+ new CreateSignatureEnvironmentProfileExplicitImpl();
+ createSignatureEnvironmentProfile.setCreateSignatureLocation(
+ createSignatureLocation);
+ createSignatureEnvironmentProfile.setSupplements(supplements);
+ return createSignatureEnvironmentProfile;
+ }
+
+ public CreateSignatureLocation createCreateSignatureLocation(
+ String signatureLocationXPath,
+ int signatureLocationIndex,
+ Map namespaceDeclarations) {
+ CreateSignatureLocationImpl createSignatureLocation =
+ new CreateSignatureLocationImpl();
+ createSignatureLocation.setIndex(signatureLocationIndex);
+ createSignatureLocation.setNamespaceDeclarations(namespaceDeclarations);
+ createSignatureLocation.setXPathExpression(signatureLocationXPath);
+ return createSignatureLocation;
+ }
+
+ public CreateSignatureEnvironmentProfile createCreateSignatureEnvironmentProfile(String profileID) {
+ CreateSignatureEnvironmentProfileIDImpl createSignatureEnvironmentProfile =
+ new CreateSignatureEnvironmentProfileIDImpl();
+ createSignatureEnvironmentProfile.setCreateSignatureEnvironmentProfileID(
+ profileID);
+ return createSignatureEnvironmentProfile;
+ }
+
+ public CreateXMLSignatureResponse createCreateXMLSignatureResponse(List responseElements) {
+ CreateXMLSignatureResponseImpl createXMLSignatureResponse =
+ new CreateXMLSignatureResponseImpl();
+ createXMLSignatureResponse.setResponseElements(responseElements);
+ return createXMLSignatureResponse;
+ }
+
+ public SignatureEnvironmentResponse createSignatureEnvironmentResponse(Element signatureEnvironment) {
+ SignatureEnvironmentResponseImpl signatureEnvironmentResponse =
+ new SignatureEnvironmentResponseImpl();
+ signatureEnvironmentResponse.setSignatureEnvironment(signatureEnvironment);
+ return signatureEnvironmentResponse;
+ }
+
+ public ErrorResponse createErrorResponse(int code, String info) {
+ ErrorResponseImpl errorResponse = new ErrorResponseImpl();
+ errorResponse.setErrorCode(code);
+ errorResponse.setInfo(info);
+ return errorResponse;
+ }
+
+ public VerifyCMSSignatureRequest createVerifyCMSSignatureRequest(
+ int[] signatories,
+ Date dateTime,
+ InputStream cmsSignature,
+ CMSDataObject dataObject,
+ String trustProfileID) {
+ VerifyCMSSignatureRequestImpl verifyCMSSignatureRequest =
+ new VerifyCMSSignatureRequestImpl();
+ verifyCMSSignatureRequest.setDateTime(dateTime);
+ verifyCMSSignatureRequest.setCMSSignature(cmsSignature);
+ verifyCMSSignatureRequest.setDataObject(dataObject);
+ verifyCMSSignatureRequest.setTrustProfileId(trustProfileID);
+ verifyCMSSignatureRequest.setSignatories(signatories);
+ return verifyCMSSignatureRequest;
+ }
+
+ public CMSDataObject createCMSDataObject(
+ MetaInfo metaInfo,
+ CMSContent content) {
+
+ CMSDataObjectImpl cmsDataObject = new CMSDataObjectImpl();
+ cmsDataObject.setMetaInfo(metaInfo);
+ cmsDataObject.setContent(content);
+
+ return cmsDataObject;
+ }
+
+ public CMSContent createCMSContent(InputStream binaryContent) {
+ CMSContentExplicitImpl cmsContent = new CMSContentExplicitImpl();
+
+ cmsContent.setBinaryContent(binaryContent);
+ return cmsContent;
+ }
+
+ public CMSContent createCMSContent(String referenceURI) {
+ CMSContentReferenceImpl cmsContent = new CMSContentReferenceImpl();
+
+ cmsContent.setReference(referenceURI);
+ return cmsContent;
+ }
+
+
+ public CMSDataObject createCMSDataObject(
+ MetaInfo metaInfo,
+ String referenceURI) {
+ CMSDataObjectImpl cmsDataObject = new CMSDataObjectImpl();
+ CMSContentReferenceImpl cmsContent = new CMSContentReferenceImpl();
+ cmsDataObject.setMetaInfo(metaInfo);
+ cmsContent.setReference(referenceURI);
+ return cmsDataObject;
+ }
+
+ public VerifyCMSSignatureResponse createVerifyCMSSignatureResponse(List responseElements) {
+ VerifyCMSSinatureResponseImpl verifyCMSSignatureResponse =
+ new VerifyCMSSinatureResponseImpl();
+ verifyCMSSignatureResponse.setResponseElements(responseElements);
+ return verifyCMSSignatureResponse;
+ }
+
+ public VerifyCMSSignatureResponseElement createVerifyCMSSignatureResponseElement(
+ SignerInfo signerInfo,
+ CheckResult signatureCheck,
+ CheckResult certificateCheck) {
+ VerifyCMSSignatureResponseElementImpl verifyCMSSignatureResponseElement =
+ new VerifyCMSSignatureResponseElementImpl();
+ verifyCMSSignatureResponseElement.setSignerInfo(signerInfo);
+ verifyCMSSignatureResponseElement.setSignatureCheck(signatureCheck);
+ verifyCMSSignatureResponseElement.setCertificateCheck(certificateCheck);
+ return verifyCMSSignatureResponseElement;
+ }
+
+ public VerifyXMLSignatureRequest createVerifyXMLSignatureRequest(
+ Date dateTime,
+ VerifySignatureInfo verifySignatureInfo,
+ List supplementProfiles,
+ SignatureManifestCheckParams signatureManifestParams,
+ boolean returnHashInputData,
+ String trustProfileID) {
+ VerifyXMLSignatureRequestImpl verifyXMLSignatureRequest =
+ new VerifyXMLSignatureRequestImpl();
+ verifyXMLSignatureRequest.setDateTime(dateTime);
+ verifyXMLSignatureRequest.setSignatureInfo(verifySignatureInfo);
+ verifyXMLSignatureRequest.setSupplementProfiles(supplementProfiles);
+ verifyXMLSignatureRequest.setSignatureManifestCheckParams(
+ signatureManifestParams);
+ verifyXMLSignatureRequest.setReturnHashInputData(returnHashInputData);
+ verifyXMLSignatureRequest.setTrustProfileId(trustProfileID);
+ return verifyXMLSignatureRequest;
+ }
+
+ public VerifySignatureInfo createVerifySignatureInfo(
+ Content verifySignatureEnvironment,
+ VerifySignatureLocation verifySignatureLocation) {
+ VerifySignatureInfoImpl verifySignatureInfo = new VerifySignatureInfoImpl();
+ verifySignatureInfo.setVerifySignatureEnvironment(
+ verifySignatureEnvironment);
+ verifySignatureInfo.setVerifySignatureLocation(verifySignatureLocation);
+ return verifySignatureInfo;
+ }
+
+ public VerifySignatureLocation createVerifySignatureLocation(
+ String xPathExpression,
+ Map namespaceDeclarations) {
+ VerifySignatureLocationImpl verifySignatureLocation =
+ new VerifySignatureLocationImpl();
+ verifySignatureLocation.setXPathExpression(xPathExpression);
+ verifySignatureLocation.setNamespaceDeclarations(namespaceDeclarations);
+ return verifySignatureLocation;
+ }
+
+ public SupplementProfile createSupplementProfile(String profileID) {
+ SupplementProfileIDImpl supplementProfileID = new SupplementProfileIDImpl();
+ supplementProfileID.setSupplementProfileID(profileID);
+ return supplementProfileID;
+ }
+
+ public SupplementProfile createSupplementProfile(XMLDataObjectAssociation supplementProfile) {
+ SupplementProfileExplicitImpl supplementProfileExplicit =
+ new SupplementProfileExplicitImpl();
+ supplementProfileExplicit.setSupplementProfile(supplementProfile);
+ return supplementProfileExplicit;
+ }
+
+ public SignatureManifestCheckParams createSignatureManifestCheckParams(
+ List referenceInfos,
+ boolean returnReferenceInputData) {
+ SignatureManifestCheckParamsImpl signatureManifestCheckParams =
+ new SignatureManifestCheckParamsImpl();
+ signatureManifestCheckParams.setReferenceInfos(referenceInfos);
+ signatureManifestCheckParams.setReturnReferenceInputData(
+ returnReferenceInputData);
+ return signatureManifestCheckParams;
+ }
+
+ public ReferenceInfo createReferenceInfo(List verifyTransformsInfoProfiles) {
+ ReferenceInfoImpl referenceInfo = new ReferenceInfoImpl();
+ referenceInfo.setVerifyTransformsInfoProfiles(verifyTransformsInfoProfiles);
+ return referenceInfo;
+ }
+
+ public VerifyTransformsInfoProfile createVerifyTransformsInfoProfile(
+ List transforms,
+ List transformParameters) {
+ VerifyTransformsInfoProfileExplicitImpl verifyTransformsInfoProfile =
+ new VerifyTransformsInfoProfileExplicitImpl();
+
+ verifyTransformsInfoProfile.setTransforms(transforms);
+ verifyTransformsInfoProfile.setTransformParameters(transformParameters);
+
+ return verifyTransformsInfoProfile;
+ }
+
+ public VerifyTransformsInfoProfile createVerifyTransformsInfoProfile(String profileID) {
+ VerifyTransformsInfoProfileIDImpl verifyTransformsInfoProfile =
+ new VerifyTransformsInfoProfileIDImpl();
+ verifyTransformsInfoProfile.setVerifyTransformsInfoProfileID(profileID);
+ return verifyTransformsInfoProfile;
+ }
+
+
+ public TransformParameter createTransformParameter(String URI, String digestMethod, byte[] digestValue) {
+ TransformPatameterHashImpl transformParameter =
+ new TransformPatameterHashImpl();
+ transformParameter.setURI(URI);
+ transformParameter.setDigestMethod(digestMethod);
+ transformParameter.setDigestValue(digestValue);
+ return transformParameter;
+ }
+
+ public TransformParameter createTransformParameter(
+ String URI,
+ InputStream binaryData) {
+ TransformParameterBinaryImpl transformParameter =
+ new TransformParameterBinaryImpl();
+ transformParameter.setURI(URI);
+ transformParameter.setBinaryContent(binaryData);
+ return transformParameter;
+ }
+
+ public TransformParameter createTransformParameter(String URI) {
+ TransformParameterURIImpl transformParameter =
+ new TransformParameterURIImpl();
+ transformParameter.setURI(URI);
+ return transformParameter;
+ }
+
+ public VerifyXMLSignatureResponse createVerifyXMLSignatureResponse(
+ SignerInfo signerInfo,
+ List hashInputDatas,
+ List referenceInputDatas,
+ ReferencesCheckResult signatureCheck,
+ ReferencesCheckResult signatureManifestCheck,
+ List xmlDsigManifestChecks,
+ CheckResult certificateCheck) {
+ VerifyXMLSignatureResponseImpl verifyXMLSignatureResponse =
+ new VerifyXMLSignatureResponseImpl();
+ verifyXMLSignatureResponse.setSignerInfo(signerInfo);
+ verifyXMLSignatureResponse.setHashInputDatas(hashInputDatas);
+ verifyXMLSignatureResponse.setReferenceInputDatas(referenceInputDatas);
+ verifyXMLSignatureResponse.setSignatureCheck(signatureCheck);
+ verifyXMLSignatureResponse.setSignatureManifestCheck(
+ signatureManifestCheck);
+ verifyXMLSignatureResponse.setXMLDsigManifestChecks(xmlDsigManifestChecks);
+ verifyXMLSignatureResponse.setCertificateCheck(certificateCheck);
+ return verifyXMLSignatureResponse;
+ }
+
+ public ReferencesCheckResult createReferencesCheckResult(
+ int code,
+ ReferencesCheckResultInfo info) {
+ ReferencesCheckResultImpl referencesCheckResult =
+ new ReferencesCheckResultImpl();
+ referencesCheckResult.setCode(code);
+ referencesCheckResult.setInfo(info);
+ return referencesCheckResult;
+ }
+
+ public ReferencesCheckResultInfo createReferencesCheckResultInfo(
+ NodeList anyOtherInfo,
+ int[] failedReferences) {
+ ReferencesCheckResultInfoImpl referencesCheckResultInfo =
+ new ReferencesCheckResultInfoImpl();
+ referencesCheckResultInfo.setAnyOtherInfo(anyOtherInfo);
+ referencesCheckResultInfo.setFailedReferences(failedReferences);
+ return referencesCheckResultInfo;
+ }
+
+ public ManifestRefsCheckResult createManifestRefsCheckResult(
+ int code,
+ ManifestRefsCheckResultInfo info) {
+ ManifestRefsCheckResultImpl manifestRefsCheckResult =
+ new ManifestRefsCheckResultImpl();
+ manifestRefsCheckResult.setCode(code);
+ manifestRefsCheckResult.setInfo(info);
+ return manifestRefsCheckResult;
+ }
+
+ public ManifestRefsCheckResultInfo createManifestRefsCheckResultInfo(
+ NodeList anyOtherInfo,
+ int[] failedReferences,
+ int referringSigReference) {
+ ManifestRefsCheckResultInfoImpl manifestRefsCheckResultInfo =
+ new ManifestRefsCheckResultInfoImpl();
+ manifestRefsCheckResultInfo.setAnyOtherInfo(anyOtherInfo);
+ manifestRefsCheckResultInfo.setReferringSignatureReference(
+ referringSigReference);
+ manifestRefsCheckResultInfo.setFailedReferences(failedReferences);
+ return manifestRefsCheckResultInfo;
+ }
+
+ public Content createContent(InputStream binaryData, String referenceURI) {
+ ContentBinaryImpl content = new ContentBinaryImpl();
+ content.setBinaryContent(binaryData);
+ content.setReference(referenceURI);
+ return content;
+ }
+
+ public Content createContent(String referenceURI) {
+ ContentReferenceImpl content = new ContentReferenceImpl();
+ content.setReference(referenceURI);
+ return content;
+ }
+
+ public Content createContent(NodeList xmlData, String referenceURI) {
+ ContentXMLImpl content = new ContentXMLImpl();
+ content.setXMLContent(xmlData);
+ content.setReference(referenceURI);
+ return content;
+ }
+
+ public XMLDataObjectAssociation createXMLDataObjectAssociation(
+ MetaInfo metaInfo,
+ Content xmlContent) {
+ XMLDataObjectAssociationImpl xmlDataObjectAssociation =
+ new XMLDataObjectAssociationImpl();
+ xmlDataObjectAssociation.setMetaInfo(metaInfo);
+ xmlDataObjectAssociation.setContent(xmlContent);
+ return xmlDataObjectAssociation;
+ }
+
+ public MetaInfo createMetaInfo(
+ String mimeType,
+ String description,
+ NodeList otherInfo) {
+ MetaInfoImpl metaInfo = new MetaInfoImpl();
+ metaInfo.setMimeType(mimeType);
+ metaInfo.setDescription(description);
+ metaInfo.setAnyElements(otherInfo);
+ return metaInfo;
+ }
+
+ public Transform createCanonicalizationTransform(String algorithmURI) {
+ CanonicalizationTransformImpl transform = new CanonicalizationTransformImpl(algorithmURI);
+ return transform;
+ }
+
+ public Transform createExclusiveCanonicalizationTransform(String algorithmURI, List inclusiveNamespacePrefixes) {
+ ExclusiveCanonicalizationTransformImpl transform = new ExclusiveCanonicalizationTransformImpl(algorithmURI);
+ transform.setInclusiveNamespacePrefixes(inclusiveNamespacePrefixes);
+ return transform;
+ }
+
+ public Transform createBase64Transform() {
+ Base64TransformImpl transform = new Base64TransformImpl();
+ return transform;
+ }
+
+ public Transform createEnvelopedSignatureTransform() {
+ EnvelopedSignatureTransformImpl transform =
+ new EnvelopedSignatureTransformImpl();
+ return transform;
+ }
+
+ public Transform createXSLTTransform(Element styleSheet) {
+ XSLTransformImpl transform = new XSLTransformImpl();
+ transform.setStylesheet(styleSheet);
+ return transform;
+ }
+
+ public Transform createXPathTransform(
+ String xPathExpression,
+ Map namespaceDeclarations) {
+ XPathTransformImpl transform = new XPathTransformImpl();
+ transform.setXPathExpression(xPathExpression);
+ transform.setNamespaceDelcarations(namespaceDeclarations);
+ return transform;
+ }
+
+ public Transform createXPathFilter2Transform(List xPathFilters) {
+ XPathFilter2TransformImpl transform = new XPathFilter2TransformImpl();
+ transform.setFilters(xPathFilters);
+ return transform;
+ }
+
+ public XPathFilter createXPathFilter(
+ String filterType,
+ String xPathExpression,
+ Map namespaceDeclarations) {
+ XPathFilterImpl xPathFilter = new XPathFilterImpl();
+ xPathFilter.setFilterType(filterType);
+ xPathFilter.setXPathExpression(xPathExpression);
+ xPathFilter.setNamespaceDelcarations(namespaceDeclarations);
+ return xPathFilter;
+ }
+
+ public CheckResult createCheckResult(int code, NodeList info) {
+ CheckResultImpl checkResult = new CheckResultImpl();
+ checkResult.setCode(code);
+ checkResult.setInfo(info);
+ return checkResult;
+ }
+
+ public SignerInfo createSignerInfo(
+ X509Certificate signerCertificate,
+ boolean qualifiedCertificate,
+ boolean publicAuthority,
+ String publicAuthorityID) {
+ SignerInfoImpl signerInfo = new SignerInfoImpl();
+ signerInfo.setSignerCertificate(signerCertificate);
+ signerInfo.setQualifiedCertificate(qualifiedCertificate);
+ signerInfo.setPublicAuthority(publicAuthority);
+ signerInfo.setPublicAuhtorityID(publicAuthorityID);
+ return signerInfo;
+ }
+
+ public X509IssuerSerial createX509IssuerSerial(
+ String issuerName,
+ BigInteger serialNumber) {
+ X509IssuerSerialImpl x509IssuerSerial = new X509IssuerSerialImpl();
+ x509IssuerSerial.setX509IssuerName(issuerName);
+ x509IssuerSerial.setX509SerialNumber(serialNumber);
+ return x509IssuerSerial;
+ }
+
+}
diff --git a/spss.server/src/at/gv/egovernment/moa/spss/api/impl/SignatureEnvironmentResponseImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/SignatureEnvironmentResponseImpl.java
new file mode 100644
index 000000000..57d30ad3b
--- /dev/null
+++ b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/SignatureEnvironmentResponseImpl.java
@@ -0,0 +1,41 @@
+package at.gv.egovernment.moa.spss.api.impl;
+
+import org.w3c.dom.Element;
+
+import at.gv.egovernment.moa.spss.api.xmlsign.SignatureEnvironmentResponse;
+
+/**
+ * Default implementation of <code>SignatureEnvironmentResponse</code>.
+ *
+ * @author Fatemeh Philippi
+ * @version $Id$
+ */
+public class SignatureEnvironmentResponseImpl
+ implements SignatureEnvironmentResponse {
+
+ /** The signature environment containing the XML signature. */
+ private Element signatureEnvironment;
+
+ /**
+ * Sets the XML structure which contains the signature.
+ *
+ * @param signatureEnvironment A general XML structure containing the signature.
+ */
+ public void setSignatureEnvironment(Element signatureEnvironment) {
+ this.signatureEnvironment = signatureEnvironment;
+ }
+
+ public Element getSignatureEnvironment() {
+ return signatureEnvironment;
+ }
+
+ /**
+ * Gets the type of <code>CreateXMLSignatureResponseElement</code>.
+ *
+ * @return SIGNATURE_ENVIRONMENT_RESPONSE
+ */
+ public int getResponseType() {
+ return SIGNATURE_ENVIRONMENT_RESPONSE;
+ }
+
+}
diff --git a/spss.server/src/at/gv/egovernment/moa/spss/api/impl/SignatureManifestCheckParamsImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/SignatureManifestCheckParamsImpl.java
new file mode 100644
index 000000000..5924f8447
--- /dev/null
+++ b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/SignatureManifestCheckParamsImpl.java
@@ -0,0 +1,52 @@
+package at.gv.egovernment.moa.spss.api.impl;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
+import at.gv.egovernment.moa.spss.api.xmlverify.SignatureManifestCheckParams;
+
+/**
+ * Default implementation of <code>SignatureManifestCheckParams</code>.
+ *
+ * @author Fatemeh Philippi
+ * @version $Id$
+ */
+public class SignatureManifestCheckParamsImpl
+ implements SignatureManifestCheckParams {
+
+ /** Referential information. */
+ private List referenceInfos;
+ /** Whether to return the signature source data. */
+ private boolean returnReferenceInputData = true;
+
+ /**
+ * Sets the referantial information.
+ *
+ * @param referenceInfos The referential information.
+ */
+ public void setReferenceInfos(List referenceInfos) {
+ this.referenceInfos =
+ referenceInfos != null
+ ? Collections.unmodifiableList(new ArrayList(referenceInfos))
+ : null;
+ }
+
+ public List getReferenceInfos() {
+ return referenceInfos;
+ }
+
+ /**
+ * Sets whether to return signature source data.
+ *
+ * @param returnReferenceInputData Whether to return signature source data.
+ */
+ public void setReturnReferenceInputData(boolean returnReferenceInputData) {
+ this.returnReferenceInputData = returnReferenceInputData;
+ }
+
+ public boolean getReturnReferenceInputData() {
+ return returnReferenceInputData;
+ }
+
+}
diff --git a/spss.server/src/at/gv/egovernment/moa/spss/api/impl/SignerInfoImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/SignerInfoImpl.java
new file mode 100644
index 000000000..277f1a008
--- /dev/null
+++ b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/SignerInfoImpl.java
@@ -0,0 +1,81 @@
+package at.gv.egovernment.moa.spss.api.impl;
+
+import java.security.cert.X509Certificate;
+
+import at.gv.egovernment.moa.spss.api.common.SignerInfo;
+
+/**
+ * Default implementation of <code>SignerInfo</code>.
+ *
+ * @author Fatemeh Philippi
+ * @version $Id$
+ */
+public class SignerInfoImpl implements SignerInfo {
+
+ /** The signer certificate. */
+ private X509Certificate signerCertificate;
+ /** Determines, whether <code>signerCertificate</code> is a qualified
+ * certificate. */
+ private boolean qualifiedCertificate;
+ /** Determines, whether <code>signerCertificate</code> is from a public
+ * authority. */
+ private boolean publicAuthority;
+ /** The public authority ID of the <code>signerCertificate</code>. */
+ private String publicAuthorityID;
+
+ /**
+ * Sets the signer certificate.
+ *
+ * @param signerCertificate The signer certificate.
+ */
+ public void setSignerCertificate(X509Certificate signerCertificate) {
+ this.signerCertificate = signerCertificate;
+ }
+
+ public X509Certificate getSignerCertificate() {
+ return signerCertificate;
+ }
+
+ /**
+ * Sets, whether the certificate contained in this object is qualified or not.
+ *
+ * @param qualifiedCertificate Is <code>true</code>, if the certificate is
+ * qualified, otherwise <code>false</code>.
+ */
+ public void setQualifiedCertificate(boolean qualifiedCertificate) {
+ this.qualifiedCertificate = qualifiedCertificate;
+ }
+
+ public boolean isQualifiedCertificate() {
+ return qualifiedCertificate;
+ }
+
+ /**
+ * Sets, whether the certificate contained in this object is an
+ * e-government certificate or not.
+ *
+ * @param publicAuthority Is <code>true</code>, if the certificate is
+ * public authority certificate, otherwise <code>false</code>.
+ */
+ public void setPublicAuthority(boolean publicAuthority) {
+ this.publicAuthority = publicAuthority;
+ }
+
+ public boolean isPublicAuthority() {
+ return publicAuthority;
+ }
+
+ /**
+ * Sets the public authority ID of the signer certificate.
+ *
+ * @param publicAuhtorityID The public authority ID of the signer certificate.
+ */
+ public void setPublicAuhtorityID(String publicAuhtorityID) {
+ this.publicAuthorityID = publicAuhtorityID;
+ }
+
+ public String getPublicAuhtorityID() {
+ return publicAuthorityID;
+ }
+
+}
diff --git a/spss.server/src/at/gv/egovernment/moa/spss/api/impl/SingleSignatureInfoImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/SingleSignatureInfoImpl.java
new file mode 100644
index 000000000..b50a65c68
--- /dev/null
+++ b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/SingleSignatureInfoImpl.java
@@ -0,0 +1,49 @@
+package at.gv.egovernment.moa.spss.api.impl;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
+import at.gv.egovernment.moa.spss.api.xmlsign.CreateSignatureInfo;
+import at.gv.egovernment.moa.spss.api.xmlsign.SingleSignatureInfo;
+
+/**
+ * @author Fatemeh Philippi
+ * @version $Id$
+ */
+public class SingleSignatureInfoImpl implements SingleSignatureInfo {
+
+ private List dataObjectInfos = new ArrayList();
+
+ private CreateSignatureInfo createSignatureInfo;
+
+ private boolean securityLayerConform = true;
+
+ public void setDataObjectInfos(List dataObjectInfos) {
+ this.dataObjectInfos =
+ dataObjectInfos != null
+ ? Collections.unmodifiableList(new ArrayList(dataObjectInfos))
+ : null;
+ }
+
+ public List getDataObjectInfos() {
+ return dataObjectInfos;
+ }
+
+ public void setCreateSignatureInfo(CreateSignatureInfo createSignatureInfo) {
+ this.createSignatureInfo = createSignatureInfo;
+ }
+
+ public CreateSignatureInfo getCreateSignatureInfo() {
+ return createSignatureInfo;
+ }
+
+ public void setSecurityLayerConform(boolean securityLayerConform) {
+ this.securityLayerConform = securityLayerConform;
+ }
+
+ public boolean isSecurityLayerConform() {
+ return securityLayerConform;
+ }
+
+}
diff --git a/spss.server/src/at/gv/egovernment/moa/spss/api/impl/SupplementProfileExplicitImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/SupplementProfileExplicitImpl.java
new file mode 100644
index 000000000..78723fec2
--- /dev/null
+++ b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/SupplementProfileExplicitImpl.java
@@ -0,0 +1,39 @@
+package at.gv.egovernment.moa.spss.api.impl;
+
+import at.gv.egovernment.moa.spss.api.common.XMLDataObjectAssociation;
+import at.gv.egovernment.moa.spss.api.xmlverify.SupplementProfileExplicit;
+
+/**
+ * Default implementation of <code>SupplementProfileExplicit</code>.
+ *
+ * @author Fatemeh Philippi
+ * @version $Id$
+ */
+public class SupplementProfileExplicitImpl implements SupplementProfileExplicit {
+
+ /** Supplemental information for verifying a signature. */
+ private XMLDataObjectAssociation supplement;
+
+ /**
+ * Sets the supplemental information for verifying a signature.
+ *
+ * @param supplement The supplemental information for verifying a signature.
+ */
+ public void setSupplementProfile(XMLDataObjectAssociation supplement) {
+ this.supplement = supplement;
+ }
+
+ public XMLDataObjectAssociation getSupplementProfile() {
+ return supplement;
+ }
+
+ /**
+ * Gets the type of <code>SupplementProfile</code>.
+ *
+ * @return EXPLICIT_SUPPLEMENTPROFILE
+ */
+ public int getSupplementProfileType() {
+ return EXPLICIT_SUPPLEMENTPROFILE;
+ }
+
+}
diff --git a/spss.server/src/at/gv/egovernment/moa/spss/api/impl/SupplementProfileIDImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/SupplementProfileIDImpl.java
new file mode 100644
index 000000000..320827fad
--- /dev/null
+++ b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/SupplementProfileIDImpl.java
@@ -0,0 +1,37 @@
+package at.gv.egovernment.moa.spss.api.impl;
+
+import at.gv.egovernment.moa.spss.api.xmlverify.SupplementProfileID;
+
+/**
+ * Default implementation of <code>SupplementProfileID</code>.
+ *
+ * @author Fatemeh Philippi
+ * @version $Id$
+ */
+public class SupplementProfileIDImpl implements SupplementProfileID {
+ /** The profile ID. */
+ private String profileID;
+
+ /**
+ * Sets the <code>SupplementProfile</code> profile ID.
+ *
+ * @param profileID The profile ID.
+ */
+ public void setSupplementProfileID(String profileID) {
+ this.profileID = profileID;
+ }
+
+ public String getSupplementProfileID() {
+ return profileID;
+ }
+
+ /**
+ * Gets the type of <code>SupplementProfile</code>.
+ *
+ * @return ID_SUPPLEMENTPROFILE
+ */
+ public int getSupplementProfileType() {
+ return ID_SUPPLEMENTPROFILE;
+ }
+
+}
diff --git a/spss.server/src/at/gv/egovernment/moa/spss/api/impl/TransformImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/TransformImpl.java
new file mode 100644
index 000000000..51c7a543f
--- /dev/null
+++ b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/TransformImpl.java
@@ -0,0 +1,26 @@
+package at.gv.egovernment.moa.spss.api.impl;
+
+import at.gv.egovernment.moa.spss.api.common.Transform;
+
+/**
+ * @author Fatemeh Philippi
+ * @version $Id$
+ */
+public class TransformImpl implements Transform {
+ /** The URI identifying the transformation algorithm. */
+ private String algorithmURI;
+
+ /**
+ * Sets the URI identifying the transformation algorithm.
+ *
+ * @param algorithmURI The URI identifying the transformation algorithm.
+ */
+ public void setAlgorithmURI(String algorithmURI) {
+ this.algorithmURI = algorithmURI;
+ }
+
+ public String getAlgorithmURI() {
+ return algorithmURI;
+ }
+
+}
diff --git a/spss.server/src/at/gv/egovernment/moa/spss/api/impl/TransformParameterBinaryImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/TransformParameterBinaryImpl.java
new file mode 100644
index 000000000..2901fb1bb
--- /dev/null
+++ b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/TransformParameterBinaryImpl.java
@@ -0,0 +1,42 @@
+package at.gv.egovernment.moa.spss.api.impl;
+
+import java.io.InputStream;
+
+import at.gv.egovernment.moa.spss.api.xmlverify.TransformParameterBinary;
+
+/**
+ * Default implementation of <code>TransformParameterBinary</code>.
+ *
+ * @author Fatemeh Philippi
+ * @version $Id$
+ */
+public class TransformParameterBinaryImpl
+ extends TransformParameterImpl
+ implements TransformParameterBinary {
+
+ /** The binary content as a stream. */
+ private InputStream binaryContent;
+
+ /**
+ * Sets the binary content as a stream.
+ *
+ * @param binaryContent The binary content as a stream.
+ */
+ public void setBinaryContent(InputStream binaryContent) {
+ this.binaryContent = binaryContent;
+ }
+
+ public InputStream getBinaryContent() {
+ return binaryContent;
+ }
+
+ /**
+ * Gets the <code>TransformParameter</code> type.
+ *
+ * @return BINARY_TRANSFORMPARAMETER
+ */
+ public int getTransformParameterType() {
+ return BINARY_TRANSFORMPARAMETER;
+ }
+
+}
diff --git a/spss.server/src/at/gv/egovernment/moa/spss/api/impl/TransformParameterImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/TransformParameterImpl.java
new file mode 100644
index 000000000..9fe60638e
--- /dev/null
+++ b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/TransformParameterImpl.java
@@ -0,0 +1,25 @@
+package at.gv.egovernment.moa.spss.api.impl;
+
+/**
+ * Default base implementation of <code>TransformParameter</code>.
+ *
+ * @author Patrick Peck
+ * @version $Id$
+ */
+public abstract class TransformParameterImpl {
+ /** An URI identifying the <code>TransformParameter</code>. */
+ private String uri;
+
+ /**
+ * Sets the URI identifying the <code>TransformParameter</code>.
+ * @param uri The URI identifying the <code>TransformParameter</code>.
+ */
+ public void setURI(String uri) {
+ this.uri = uri;
+ }
+
+ public String getURI() {
+ return uri;
+ }
+
+}
diff --git a/spss.server/src/at/gv/egovernment/moa/spss/api/impl/TransformParameterURIImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/TransformParameterURIImpl.java
new file mode 100644
index 000000000..25449504c
--- /dev/null
+++ b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/TransformParameterURIImpl.java
@@ -0,0 +1,24 @@
+package at.gv.egovernment.moa.spss.api.impl;
+
+import at.gv.egovernment.moa.spss.api.xmlverify.TransformParameterURI;
+
+/**
+ * Default implementation of <code>TransformParameterURI</code>.
+ *
+ * @author Fatemeh Philippi
+ * @version $Id$
+ */
+public class TransformParameterURIImpl
+ extends TransformParameterImpl
+ implements TransformParameterURI {
+
+ /**
+ * Gets the type of <code>TransformParameter</code>.
+ *
+ * @return URI_TRANSFORMPARAMETER
+ */
+ public int getTransformParameterType() {
+ return URI_TRANSFORMPARAMETER;
+ }
+
+}
diff --git a/spss.server/src/at/gv/egovernment/moa/spss/api/impl/TransformPatameterHashImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/TransformPatameterHashImpl.java
new file mode 100644
index 000000000..a7843e68c
--- /dev/null
+++ b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/TransformPatameterHashImpl.java
@@ -0,0 +1,54 @@
+package at.gv.egovernment.moa.spss.api.impl;
+
+import at.gv.egovernment.moa.spss.api.xmlverify.TransformParameterHash;
+
+/**
+ * Default implementation of <code>TransformParameterHash</code>
+ *
+ * @author Fatemeh Philippi
+ * @version $Id$
+ */
+public class TransformPatameterHashImpl
+ extends TransformParameterImpl
+ implements TransformParameterHash {
+
+ /** The method used to calculate the digest value. */
+ private String digestMethod;
+ /** The digest value. */
+ private byte[] digestValue;
+
+ /**
+ * Sets method used to calculate the digest value.
+ * @param digestMethod The method used to calculate the digest value.
+ */
+ public void setDigestMethod(String digestMethod) {
+ this.digestMethod = digestMethod;
+ }
+
+ public String getDigestMethod() {
+ return digestMethod;
+ }
+
+ /**
+ * Sets the digest value.
+ *
+ * @param digestValue The digest value.
+ */
+ public void setDigestValue(byte[] digestValue) {
+ this.digestValue = digestValue;
+ }
+
+ public byte[] getDigestValue() {
+ return digestValue;
+ }
+
+ /**
+ * Gets the type of <code>TransformParameter</code>.
+ *
+ * @return HASH_TRANSFORMPARAMETER
+ */
+ public int getTransformParameterType() {
+ return HASH_TRANSFORMPARAMETER;
+ }
+
+}
diff --git a/spss.server/src/at/gv/egovernment/moa/spss/api/impl/VerifyCMSSignatureRequestImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/VerifyCMSSignatureRequestImpl.java
new file mode 100644
index 000000000..a3c37aaef
--- /dev/null
+++ b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/VerifyCMSSignatureRequestImpl.java
@@ -0,0 +1,93 @@
+package at.gv.egovernment.moa.spss.api.impl;
+
+import java.io.InputStream;
+import java.util.Date;
+
+import at.gv.egovernment.moa.spss.api.cmsverify.CMSDataObject;
+import at.gv.egovernment.moa.spss.api.cmsverify.VerifyCMSSignatureRequest;
+
+/**
+ * Default implementation of <code>VerifyCMSSignatureRequest</code>.
+ *
+ * @author Fatemeh Philippi
+ * @version $Id$
+ */
+public class VerifyCMSSignatureRequestImpl
+ implements VerifyCMSSignatureRequest {
+
+ /** The indexes of the signatories whose signature should be verified. */
+ private int[] signatories;
+ /** The profile ID of trusted certificates. */
+ private String trustProfileId;
+ /** The data object necessary for signature verification. */
+ private CMSDataObject dataObject;
+ /** The CMS signature to verify. */
+ private InputStream cmsSignature;
+ /** The date for which to verify the signature. */
+ private Date dateTime;
+
+ /**
+ * Sets the indexes of the signatories whose signature should be verified.
+ *
+ * @param signatories The indexes of the signatories whose signature should be
+ * verified.
+ */
+ public void setSignatories(int[] signatories) {
+ this.signatories = signatories;
+ }
+
+ public int[] getSignatories() {
+ return signatories;
+ }
+
+ /**
+ * Sets the date for which to verify the signature.
+ *
+ * @param dateTime The date for which to verify the signature.
+ */
+ public void setDateTime(Date dateTime) {
+ this.dateTime = dateTime;
+ }
+
+ public Date getDateTime() {
+ return dateTime;
+ }
+
+ /**
+ * Sets the CMS signature to verify.
+ * @param signature The CMS signature to verify.
+ */
+ public void setCMSSignature(InputStream signature) {
+ this.cmsSignature = signature;
+
+ }
+
+ public InputStream getCMSSignature() {
+ return cmsSignature;
+ }
+
+ /**
+ * Sets the data object necessary for signature verification.
+ * @param dataObject The data object necessary for signature verification.
+ */
+ public void setDataObject(CMSDataObject dataObject) {
+ this.dataObject = dataObject;
+ }
+
+ public CMSDataObject getDataObject() {
+ return dataObject;
+ }
+
+ /**
+ * Sets the profile ID of trusted certificates.
+ * @param trustProfileId The profile ID of trusted certificates.
+ */
+ public void setTrustProfileId(String trustProfileId) {
+ this.trustProfileId = trustProfileId;
+ }
+
+ public String getTrustProfileId() {
+ return trustProfileId;
+ }
+
+}
diff --git a/spss.server/src/at/gv/egovernment/moa/spss/api/impl/VerifyCMSSignatureResponseElementImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/VerifyCMSSignatureResponseElementImpl.java
new file mode 100644
index 000000000..40dc04683
--- /dev/null
+++ b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/VerifyCMSSignatureResponseElementImpl.java
@@ -0,0 +1,62 @@
+package at.gv.egovernment.moa.spss.api.impl;
+
+import at.gv.egovernment.moa.spss.api.cmsverify.VerifyCMSSignatureResponseElement;
+import at.gv.egovernment.moa.spss.api.common.CheckResult;
+import at.gv.egovernment.moa.spss.api.common.SignerInfo;
+
+/**
+ * Default implementation of <code>VerifyCMSSignatureResponseElement</code>.
+ *
+ * @author Fatemeh Philippi
+ * @version $Id$
+ */
+public class VerifyCMSSignatureResponseElementImpl
+ implements VerifyCMSSignatureResponseElement {
+
+ /** Information about the signer certificate. */
+ private SignerInfo signerInfo;
+ /** Information about the signature check. */
+ private CheckResult signatureCheck;
+ /** Information about the certificate check. */
+ private CheckResult certificateCheck;
+
+ /**
+ * Sets a SignerInfo element according to CMS.
+ *
+ * @param signerInfo The SignerInfo element according to CMS.
+ */
+ public void setSignerInfo(SignerInfo signerInfo) {
+ this.signerInfo = signerInfo;
+ }
+
+ public SignerInfo getSignerInfo() {
+ return signerInfo;
+ }
+
+ /**
+ * Sets a result of the signature verification.
+ *
+ * @param signatureCheck The result of the signature verification.
+ */
+ public void setSignatureCheck(CheckResult signatureCheck) {
+ this.signatureCheck = signatureCheck;
+ }
+
+ public CheckResult getSignatureCheck() {
+ return signatureCheck;
+ }
+
+ /**
+ * Sets a result of the certificate verification.
+ *
+ * @param certificateCheck The result of the certificate verification.
+ */
+ public void setCertificateCheck(CheckResult certificateCheck) {
+ this.certificateCheck = certificateCheck;
+ }
+
+ public CheckResult getCertificateCheck() {
+ return certificateCheck;
+ }
+
+}
diff --git a/spss.server/src/at/gv/egovernment/moa/spss/api/impl/VerifyCMSSinatureResponseImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/VerifyCMSSinatureResponseImpl.java
new file mode 100644
index 000000000..f258380e0
--- /dev/null
+++ b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/VerifyCMSSinatureResponseImpl.java
@@ -0,0 +1,37 @@
+package at.gv.egovernment.moa.spss.api.impl;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
+import at.gv.egovernment.moa.spss.api.cmsverify.VerifyCMSSignatureResponse;
+
+/**
+ * Default implementation of <code>VerifyCMSSignatureResponse</code>.
+ *
+ * @author Fatemeh Philippi
+ * @version $Id$
+ */
+public class VerifyCMSSinatureResponseImpl
+ implements VerifyCMSSignatureResponse {
+
+ /** The elements contained in the response. */
+ private List responseElements;
+
+ /**
+ * Sets the elements contained in the response.
+ *
+ * @param responseElements The elements contained in the response.
+ */
+ public void setResponseElements(List responseElements) {
+ this.responseElements =
+ responseElements != null
+ ? Collections.unmodifiableList(new ArrayList(responseElements))
+ : null;
+ }
+
+ public List getResponseElements() {
+ return responseElements;
+ }
+
+}
diff --git a/spss.server/src/at/gv/egovernment/moa/spss/api/impl/VerifySignatureInfoImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/VerifySignatureInfoImpl.java
new file mode 100644
index 000000000..2653e2fd2
--- /dev/null
+++ b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/VerifySignatureInfoImpl.java
@@ -0,0 +1,47 @@
+package at.gv.egovernment.moa.spss.api.impl;
+
+import at.gv.egovernment.moa.spss.api.common.Content;
+import at.gv.egovernment.moa.spss.api.xmlverify.VerifySignatureInfo;
+import at.gv.egovernment.moa.spss.api.xmlverify.VerifySignatureLocation;
+
+/**
+ * Default implementation of <code>VerifySignatureInfo</code>.
+ *
+ * @author Fatemeh Philippi
+ * @version $Id$
+ */
+public class VerifySignatureInfoImpl implements VerifySignatureInfo {
+ /** The location of the signature to be verified. */
+ private VerifySignatureLocation verifySignatureLocation;
+ /** The environment containing the signature to be verified. */
+ private Content verifySignatureEnvironment;
+
+ /**
+ * Sets the location of the signature to be verified.
+ *
+ * @param verifySignatureLocation The location of the signature to be
+ * verified.
+ */
+ public void setVerifySignatureLocation(VerifySignatureLocation verifySignatureLocation) {
+ this.verifySignatureLocation = verifySignatureLocation;
+ }
+
+ public VerifySignatureLocation getVerifySignatureLocation() {
+ return verifySignatureLocation;
+ }
+
+ /**
+ * Sets the signature environment containing the signature to be verified.
+ *
+ * @param verifySignatureEnvironment The signature environment containing the
+ * signature to be verified.
+ */
+ public void setVerifySignatureEnvironment(Content verifySignatureEnvironment) {
+ this.verifySignatureEnvironment = verifySignatureEnvironment;
+ }
+
+ public Content getVerifySignatureEnvironment() {
+ return verifySignatureEnvironment;
+ }
+
+}
diff --git a/spss.server/src/at/gv/egovernment/moa/spss/api/impl/VerifySignatureLocationImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/VerifySignatureLocationImpl.java
new file mode 100644
index 000000000..933e42987
--- /dev/null
+++ b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/VerifySignatureLocationImpl.java
@@ -0,0 +1,15 @@
+package at.gv.egovernment.moa.spss.api.impl;
+
+import at.gv.egovernment.moa.spss.api.xmlverify.VerifySignatureLocation;
+
+/**
+ * Default implementation of <code>VerifySignatureLocation</code>.
+ *
+ * @author Fatemeh Philippi
+ * @version $Id$
+ */
+public class VerifySignatureLocationImpl
+ extends ElementSelectorImpl
+ implements VerifySignatureLocation {
+
+}
diff --git a/spss.server/src/at/gv/egovernment/moa/spss/api/impl/VerifyTransformsDataImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/VerifyTransformsDataImpl.java
new file mode 100644
index 000000000..594f9c246
--- /dev/null
+++ b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/VerifyTransformsDataImpl.java
@@ -0,0 +1,36 @@
+package at.gv.egovernment.moa.spss.api.impl;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
+import at.gv.egovernment.moa.spss.api.xmlverify.ReferenceInfo;
+
+/**
+ * Default implementation of <codeReferenceInfo</code>.
+ *
+ * @author Fatemeh Philippi
+ * @version $Id$
+ */
+public class VerifyTransformsDataImpl implements ReferenceInfo {
+ /** Information about the transformations contained in the signature. */
+ private List verifyTransformsInfoProfiles;
+
+ /**
+ * Sets the information about the transformations contained in the signature.
+ *
+ * @param verifyTransformsInfoProfiles The profiles containing transformation
+ * information.
+ */
+ public void setVerifyTransformsInfoProfiles(List verifyTransformsInfoProfiles) {
+ this.verifyTransformsInfoProfiles =
+ verifyTransformsInfoProfiles != null
+ ? Collections.unmodifiableList(
+ new ArrayList(verifyTransformsInfoProfiles))
+ : null;
+ }
+
+ public List getVerifyTransformsInfoProfiles() {
+ return verifyTransformsInfoProfiles;
+ }
+}
diff --git a/spss.server/src/at/gv/egovernment/moa/spss/api/impl/VerifyTransformsInfoProfileExplicitImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/VerifyTransformsInfoProfileExplicitImpl.java
new file mode 100644
index 000000000..d9a864499
--- /dev/null
+++ b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/VerifyTransformsInfoProfileExplicitImpl.java
@@ -0,0 +1,61 @@
+package at.gv.egovernment.moa.spss.api.impl;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
+import at.gv.egovernment.moa.spss.api.xmlverify.VerifyTransformsInfoProfileExplicit;
+
+/**
+ * Default implementation of <code>VerifyTransformsInfoProfileExplicit</code>.
+ *
+ * @author Fatemeh Philippi
+ * @version $Id$
+ */
+public class VerifyTransformsInfoProfileExplicitImpl
+ implements VerifyTransformsInfoProfileExplicit {
+
+ /** The transforms contained in this profile. */
+ private List transforms;
+ /** Additional information for the transforms. */
+ private List transformParameters = new ArrayList();
+
+ /**
+ * Sets the transforms contained in this profile.
+ *
+ * @param transforms The transforms contained in this profile.
+ */
+ public void setTransforms(List transforms) {
+ this.transforms =
+ transforms != null
+ ? Collections.unmodifiableList(new ArrayList(transforms))
+ : null;
+ }
+
+ public List getTransforms() {
+ return transforms;
+ }
+
+ /**
+ * Sets additional information for the transforms.
+ *
+ * @param transformParameters Additional information for the transforms.
+ */
+ public void setTransformParameters(List transformParameters) {
+ this.transformParameters = new ArrayList(transformParameters);
+ }
+
+ public List getTransformParameters() {
+ return transformParameters;
+ }
+
+ /**
+ * Gets the type of <code>VerifyTransformsInfoProfile</code>.
+ *
+ * @return EXPLICIT_VERIFYTRANSFORMSINFOPROFILE
+ */
+ public int getVerifyTransformsInfoProfileType() {
+ return EXPLICIT_VERIFYTRANSFORMSINFOPROFILE;
+ }
+
+}
diff --git a/spss.server/src/at/gv/egovernment/moa/spss/api/impl/VerifyTransformsInfoProfileIDImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/VerifyTransformsInfoProfileIDImpl.java
new file mode 100644
index 000000000..fb1f10cea
--- /dev/null
+++ b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/VerifyTransformsInfoProfileIDImpl.java
@@ -0,0 +1,38 @@
+package at.gv.egovernment.moa.spss.api.impl;
+
+import at.gv.egovernment.moa.spss.api.xmlverify.VerifyTransformsInfoProfileID;
+
+/**
+ * Default implementation of <code>VerifyTransformsInfoProfileID</code>.
+ *
+ * @author Fatemeh Philippi
+ * @version $Id$
+ */
+public class VerifyTransformsInfoProfileIDImpl implements VerifyTransformsInfoProfileID {
+
+ /** The profile ID. */
+ private String verifyTransformsInfoProfileID;
+
+ /**
+ * Sets the profile ID.
+ *
+ * @param profileID The profile ID.
+ */
+ public void setVerifyTransformsInfoProfileID(String profileID) {
+ this.verifyTransformsInfoProfileID = profileID;
+ }
+
+ public String getVerifyTransformsInfoProfileID() {
+ return verifyTransformsInfoProfileID;
+ }
+
+ /**
+ * Gets the type of <code>VerifyTransformsInfoProfile</code>.
+ *
+ * @return ID_VERIFYTRANSFORMSINFOPROFILE
+ */
+ public int getVerifyTransformsInfoProfileType() {
+ return ID_VERIFYTRANSFORMSINFOPROFILE;
+ }
+
+} \ No newline at end of file
diff --git a/spss.server/src/at/gv/egovernment/moa/spss/api/impl/VerifyXMLSignatureRequestImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/VerifyXMLSignatureRequestImpl.java
new file mode 100644
index 000000000..26d7def4c
--- /dev/null
+++ b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/VerifyXMLSignatureRequestImpl.java
@@ -0,0 +1,113 @@
+package at.gv.egovernment.moa.spss.api.impl;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Date;
+import java.util.List;
+
+import at.gv.egovernment.moa.spss.api.xmlverify.SignatureManifestCheckParams;
+import at.gv.egovernment.moa.spss.api.xmlverify.VerifySignatureInfo;
+import at.gv.egovernment.moa.spss.api.xmlverify.VerifyXMLSignatureRequest;
+
+/**
+ * Default implementation of <code>VerifyXMLSignatureRequest</code>.
+ *
+ * @author Fatemeh Philippi
+ * @version $Id$
+ */
+public class VerifyXMLSignatureRequestImpl
+ implements VerifyXMLSignatureRequest {
+ /** Date and time for signature verification. */
+ private Date dateTime;
+ /** The signature to be verified. */
+ private VerifySignatureInfo verifySignatureInfo;
+ /** Supplemental information about the singature. */
+ private List supplementProfiles;
+ /** Additional parameters for checking the signature manifest. */
+ private SignatureManifestCheckParams signatureManifestCheckParams;
+ /** Whether to return the hash input data. */
+ private boolean returnHashInputData;
+ /** The profile ID of the trust profile containing the trusted certificates.
+ */
+ private String trustProfileId;
+
+ /**
+ * Sets the date and time for signature verification.
+ *
+ * @param dateTime The date and time for signature verification.
+ */
+ public void setDateTime(Date dateTime) {
+ this.dateTime = dateTime;
+ }
+
+ public Date getDateTime() {
+ return dateTime;
+ }
+
+ /**
+ * Sets the signature to be verified.
+ *
+ * @param signatureInfo The signature to be verified.
+ */
+ public void setSignatureInfo(VerifySignatureInfo signatureInfo) {
+ this.verifySignatureInfo = signatureInfo;
+ }
+
+ public VerifySignatureInfo getSignatureInfo() {
+ return verifySignatureInfo;
+ }
+
+ /**
+ * Sets supplemental information about the singature.
+ * @param supplementProfiles
+ */
+ public void setSupplementProfiles(List supplementProfiles) {
+ this.supplementProfiles =
+ supplementProfiles != null
+ ? Collections.unmodifiableList(new ArrayList(supplementProfiles))
+ : null;
+ }
+
+ public List getSupplementProfiles() {
+ return supplementProfiles;
+ }
+
+ /**
+ * Sets supplemental information about the singature.
+ * @param params Supplemental information about the singature.
+ */
+ public void setSignatureManifestCheckParams(SignatureManifestCheckParams params) {
+ this.signatureManifestCheckParams = params;
+ }
+
+ public SignatureManifestCheckParams getSignatureManifestCheckParams() {
+ return signatureManifestCheckParams;
+ }
+
+ /**
+ * Sets whether to return hash input data.
+ *
+ * @param returnSignedData Whether to return hash input data.
+ */
+ public void setReturnHashInputData(boolean returnSignedData) {
+ this.returnHashInputData = returnSignedData;
+ }
+
+ public boolean getReturnHashInputData() {
+ return returnHashInputData;
+ }
+
+ /**
+ * Sets the profile ID of trusted certificates.
+ *
+ * @param trustProfileId The profile ID of trusted certificates.
+ */
+ public void setTrustProfileId(String trustProfileId) {
+ this.trustProfileId = trustProfileId;
+ }
+
+ public String getTrustProfileId() {
+ return trustProfileId;
+ }
+
+}
diff --git a/spss.server/src/at/gv/egovernment/moa/spss/api/impl/VerifyXMLSignatureResponseImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/VerifyXMLSignatureResponseImpl.java
new file mode 100644
index 000000000..f163013c1
--- /dev/null
+++ b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/VerifyXMLSignatureResponseImpl.java
@@ -0,0 +1,134 @@
+package at.gv.egovernment.moa.spss.api.impl;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
+import at.gv.egovernment.moa.spss.api.common.CheckResult;
+import at.gv.egovernment.moa.spss.api.common.SignerInfo;
+import at.gv.egovernment.moa.spss.api.xmlverify.ReferencesCheckResult;
+import at.gv.egovernment.moa.spss.api.xmlverify.VerifyXMLSignatureResponse;
+
+/**
+ * @author Fatemeh Philippi
+ * @version $Id$
+ */
+public class VerifyXMLSignatureResponseImpl
+ implements VerifyXMLSignatureResponse {
+
+ /** Information about the signer certificate. */
+ private SignerInfo signerInfo;
+ /** The hash input data objects. */
+ private List hashInputDatas = new ArrayList();
+ /** The reference input data objects. */
+ private List referenceInputDatas = new ArrayList();
+ /** Information about the signature check. */
+ private ReferencesCheckResult signatureCheck;
+ /** Information about the signature manifest check. */
+ private ReferencesCheckResult signatureManifestCheck;
+ /** Information about the XMLDsig manifest check. */
+ private List xmlDsigManifestChecks = new ArrayList();
+ /** Information about the certificate check. */
+ private CheckResult certificateCheck;
+
+ /**
+ * Sets information about the signer certificate.
+ *
+ * @param signerInfo Information about the signer certificate.
+ */
+ public void setSignerInfo(SignerInfo signerInfo) {
+ this.signerInfo = signerInfo;
+ }
+
+ public SignerInfo getSignerInfo() {
+ return signerInfo;
+ }
+
+ /**
+ * Sets data signed by the signatory.
+ *
+ * @param hashInputDatas The signed datas.
+ */
+ public void setHashInputDatas(List hashInputDatas) {
+ this.hashInputDatas =
+ hashInputDatas != null
+ ? Collections.unmodifiableList(new ArrayList(hashInputDatas))
+ : null;
+ }
+
+ public List getHashInputDatas() {
+ return hashInputDatas;
+ }
+
+ /**
+ * Sets the source data elements.
+ *
+ * @param referenceInputDatas The source data elements.
+ */
+ public void setReferenceInputDatas(List referenceInputDatas) {
+ this.referenceInputDatas =
+ referenceInputDatas != null
+ ? Collections.unmodifiableList(new ArrayList(referenceInputDatas))
+ : null;
+ }
+
+ public List getReferenceInputDatas() {
+ return referenceInputDatas;
+ }
+
+ /**
+ * Sets the result of the signature verification.
+ *
+ * @param signatureCheck The result of the signature verification.
+ */
+ public void setSignatureCheck(ReferencesCheckResult signatureCheck) {
+ this.signatureCheck = signatureCheck;
+ }
+
+ public ReferencesCheckResult getSignatureCheck() {
+ return signatureCheck;
+ }
+
+ /**
+ * Sets the result of the signature manifest verification.
+ *
+ * @param signatureManifestCheck The result of the signature manifest verification.
+ */
+ public void setSignatureManifestCheck(ReferencesCheckResult signatureManifestCheck) {
+ this.signatureManifestCheck = signatureManifestCheck;
+ }
+
+ public ReferencesCheckResult getSignatureManifestCheck() {
+ return signatureManifestCheck;
+ }
+
+ /**
+ * Sets the result of the certification verification.
+ *
+ * @param certificateCheck The result of the certificate verification.
+ */
+ public void setCertificateCheck(CheckResult certificateCheck) {
+ this.certificateCheck = certificateCheck;
+ }
+
+ public CheckResult getCertificateCheck() {
+ return certificateCheck;
+ }
+
+ /**
+ * Sets the XMLDSigManifestChecks.
+ *
+ * @param xmlDsigManifestChecks The XMLDSigManifestChecks.
+ */
+ public void setXMLDsigManifestChecks(List xmlDsigManifestChecks) {
+ this.xmlDsigManifestChecks =
+ xmlDsigManifestChecks != null
+ ? Collections.unmodifiableList(new ArrayList(xmlDsigManifestChecks))
+ : null;
+ }
+
+ public List getXMLDsigManifestChecks() {
+ return xmlDsigManifestChecks;
+ }
+
+}
diff --git a/spss.server/src/at/gv/egovernment/moa/spss/api/impl/X509IssuerSerialImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/X509IssuerSerialImpl.java
new file mode 100644
index 000000000..e6d644fd9
--- /dev/null
+++ b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/X509IssuerSerialImpl.java
@@ -0,0 +1,45 @@
+package at.gv.egovernment.moa.spss.api.impl;
+
+import java.math.BigInteger;
+
+import at.gv.egovernment.moa.spss.api.common.X509IssuerSerial;
+
+/**
+ * Default implementation of <code>X509IssuerSerial</code>.
+ *
+ * @author Fatemeh Philippi
+ * @version $Id$
+ */
+public class X509IssuerSerialImpl implements X509IssuerSerial {
+ /** The certificate serial number. */
+ private BigInteger x509SerialNumber;
+ /** The certificate issuer DN. */
+ private String x509IssuerName;
+
+ /**
+ * Sets the issuer distinguished name.
+ *
+ * @param x509IssuerName The issuer distinguished name.
+ */
+ public void setX509IssuerName(String x509IssuerName) {
+ this.x509IssuerName = x509IssuerName;
+ }
+
+ public String getX509IssuerName() {
+ return x509IssuerName;
+ }
+
+ /**
+ * Sets the certificate serial number.
+ *
+ * @param x509SerialNumber The issuer serial number.
+ */
+ public void setX509SerialNumber(BigInteger x509SerialNumber) {
+ this.x509SerialNumber = x509SerialNumber;
+ }
+
+ public BigInteger getX509SerialNumber() {
+ return x509SerialNumber;
+ }
+
+}
diff --git a/spss.server/src/at/gv/egovernment/moa/spss/api/impl/XMLDataObjectAssociationImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/XMLDataObjectAssociationImpl.java
new file mode 100644
index 000000000..b603c3367
--- /dev/null
+++ b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/XMLDataObjectAssociationImpl.java
@@ -0,0 +1,45 @@
+package at.gv.egovernment.moa.spss.api.impl;
+
+import at.gv.egovernment.moa.spss.api.common.Content;
+import at.gv.egovernment.moa.spss.api.common.MetaInfo;
+import at.gv.egovernment.moa.spss.api.common.XMLDataObjectAssociation;
+
+/**
+ * Default implementation of <code>XMLDataObjectAssociation</code>.
+ *
+ * @author Fatemeh Philippi
+ * @version $Id$
+ */
+public class XMLDataObjectAssociationImpl implements XMLDataObjectAssociation {
+
+ /** Meta information about the <code>Content</code> object. */
+ private MetaInfo metaInfo;
+ /** The actual data contained in this object. */
+ private Content content;
+
+ /**
+ * Sets meta information about the <code>Content</code> object.
+ * @param metaInfo Meta information about the <code>Content</code> object.
+ */
+ public void setMetaInfo(MetaInfo metaInfo) {
+ this.metaInfo = metaInfo;
+ }
+
+ public MetaInfo getMetaInfo() {
+ return metaInfo;
+ }
+
+ /**
+ * Sets the actual data contained in this object.
+ *
+ * @param content The actual data contained in this object.
+ */
+ public void setContent(Content content) {
+ this.content = content;
+ }
+
+ public Content getContent() {
+ return content;
+ }
+
+}
diff --git a/spss.server/src/at/gv/egovernment/moa/spss/api/impl/XPathFilter2TransformImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/XPathFilter2TransformImpl.java
new file mode 100644
index 000000000..a96a8f161
--- /dev/null
+++ b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/XPathFilter2TransformImpl.java
@@ -0,0 +1,43 @@
+package at.gv.egovernment.moa.spss.api.impl;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import at.gv.egovernment.moa.spss.api.common.XPathFilter2Transform;
+
+/**
+ * Default implementation of <code>XPathFilter2Transform</code>.
+ *
+ * @author Fatemeh Philippi
+ * @version $Id$
+ */
+public class XPathFilter2TransformImpl
+ extends TransformImpl
+ implements XPathFilter2Transform {
+
+ /** The XPath filters. */
+ private List filters;
+
+ /**
+ * Create a new <code>XPathFilter2TransformImpl</code> object.
+ */
+ public XPathFilter2TransformImpl() {
+ setAlgorithmURI(XPATH_FILTER2);
+ }
+
+ /**
+ * Sets the XPath filters contained in this
+ * <code>XPathFilter2Transform</code>.
+ *
+ * @param filters The XPath filters contained in this
+ * <code>XPathFilter2Transform</code>.
+ */
+ public void setFilters(List filters) {
+ this.filters = new ArrayList(filters);
+ }
+
+ public List getFilters() {
+ return filters;
+ }
+
+}
diff --git a/spss.server/src/at/gv/egovernment/moa/spss/api/impl/XPathFilterImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/XPathFilterImpl.java
new file mode 100644
index 000000000..72d91bc58
--- /dev/null
+++ b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/XPathFilterImpl.java
@@ -0,0 +1,64 @@
+package at.gv.egovernment.moa.spss.api.impl;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import at.gv.egovernment.moa.spss.api.common.XPathFilter;
+
+/**
+ * Default implementation of <code>XPathFilter</code>.
+ *
+ * @author Fatemeh Philippi
+ * @version $Id$
+ */
+public class XPathFilterImpl implements XPathFilter {
+ /** The type of filter. */
+ private String filterType;
+ /** The XPath expression of the filter. */
+ private String xPathExpression;
+ /** The namespace prefix to URI mapping to while evaluating the XPath
+ * expression. */
+ private Map namespaceDeclarations = new HashMap();
+
+ /**
+ * Sets the type of filter.
+ *
+ * @param filterType The type of filter.
+ */
+ public void setFilterType(String filterType) {
+ this.filterType = filterType;
+ }
+
+ public String getFilterType() {
+ return filterType;
+ }
+
+ /**
+ * Sets the XPath expression of the filter.
+ *
+ * @param xPathExpression The XPath expression of the filter.
+ */
+ public void setXPathExpression(String xPathExpression) {
+ this.xPathExpression = xPathExpression;
+ }
+
+ public String getXPathExpression() {
+ return xPathExpression;
+ }
+
+ /**
+ * Sets the namespace prefix to URI mapping to while evaluating the XPath
+ * expression.
+ *
+ * @param namespaceDeclarations The namespace prefix to URI mapping to while
+ * evaluating the XPath expression.
+ */
+ public void setNamespaceDelcarations(Map namespaceDeclarations) {
+ this.namespaceDeclarations = namespaceDeclarations;
+ }
+
+ public Map getNamespaceDeclarations() {
+ return namespaceDeclarations;
+ }
+
+}
diff --git a/spss.server/src/at/gv/egovernment/moa/spss/api/impl/XPathTransformImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/XPathTransformImpl.java
new file mode 100644
index 000000000..1c9817ecc
--- /dev/null
+++ b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/XPathTransformImpl.java
@@ -0,0 +1,59 @@
+package at.gv.egovernment.moa.spss.api.impl;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import at.gv.egovernment.moa.spss.api.common.XPathTransform;
+
+/**
+ * Default implementation of <code>XPathTransform</code>.
+ *
+ * @author Fatemeh Philippi
+ * @version $Id$
+ */
+public class XPathTransformImpl
+ extends TransformImpl
+ implements XPathTransform {
+
+ /** The XPath expression to evaluate. */
+ private String xPathExpression;
+ /** The namespace prefix to URI mapping to while evaluating the XPath
+ * expression. */
+ private Map namespaceDeclarations = new HashMap();
+
+ /**
+ * Create a new <code>XPathTransformImpl</code> object.
+ */
+ public XPathTransformImpl() {
+ setAlgorithmURI(XPATH);
+ }
+
+ /**
+ * Sets the XPath expression to evaluate.
+ *
+ * @param xPathExpression The XPath expression to evaluate.
+ */
+ public void setXPathExpression(String xPathExpression) {
+ this.xPathExpression = xPathExpression;
+ }
+
+ public String getXPathExpression() {
+ return xPathExpression;
+ }
+
+ /**
+ * Sets the namespace prefix to URI mapping to while evaluating the XPath
+ * expression.
+ *
+ * @param namespaceDeclarations The namespace prefix to URI mapping to while
+ * evaluating the XPath expression.
+ */
+ public void setNamespaceDelcarations(Map namespaceDeclarations) {
+ this.namespaceDeclarations = namespaceDeclarations;
+ }
+
+ public Map getNamespaceDeclarations() {
+ return namespaceDeclarations;
+ }
+
+}
diff --git a/spss.server/src/at/gv/egovernment/moa/spss/api/impl/XSLTransformImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/XSLTransformImpl.java
new file mode 100644
index 000000000..c6ddc0fd6
--- /dev/null
+++ b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/XSLTransformImpl.java
@@ -0,0 +1,37 @@
+package at.gv.egovernment.moa.spss.api.impl;
+
+import org.w3c.dom.Element;
+
+import at.gv.egovernment.moa.spss.api.common.XSLTTransform;
+
+/**
+ * Default implementation of <code>XSLTTransform</code>.
+ *
+ * @author Fatemeh Philippi
+ * @version $Id$
+ */
+public class XSLTransformImpl extends TransformImpl implements XSLTTransform {
+ /** The XSLT stylesheet to apply. */
+ private Element styleSheet;
+
+ /**
+ * Create a new <code>XSLTransformImpl</code> object.
+ */
+ public XSLTransformImpl() {
+ setAlgorithmURI(XSLT);
+ }
+
+ /**
+ * Sets the XSLT stylesheet to apply.
+ *
+ * @param styleSheet The XSLT stylesheet to apply.
+ */
+ public void setStylesheet(Element styleSheet) {
+ this.styleSheet = styleSheet;
+ }
+
+ public Element getStylesheet() {
+ return styleSheet;
+ }
+
+}