aboutsummaryrefslogtreecommitdiff
path: root/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/util/MandateBuilder.java
diff options
context:
space:
mode:
Diffstat (limited to 'id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/util/MandateBuilder.java')
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/util/MandateBuilder.java59
1 files changed, 59 insertions, 0 deletions
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/util/MandateBuilder.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/util/MandateBuilder.java
new file mode 100644
index 000000000..b56a54c90
--- /dev/null
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/util/MandateBuilder.java
@@ -0,0 +1,59 @@
+package at.gv.egovernment.moa.id.util;
+
+import java.util.Iterator;
+
+import javax.xml.bind.JAXBContext;
+import javax.xml.bind.JAXBException;
+import javax.xml.bind.Unmarshaller;
+
+import org.w3c.dom.Element;
+import org.w3._2000._09.xmldsig_.*;
+import at.gv.e_government.reference.namespace.*;
+import at.gv.e_government.reference.namespace.mandates._20040701_.Mandate;
+import at.gv.e_government.reference.namespace.persondata._20020228_.AbstractPersonType;
+import at.gv.e_government.reference.namespace.persondata._20020228_.IdentificationType;
+import at.gv.egovernment.moa.logging.Logger;
+import at.gv.egovernment.moa.spss.MOAException;
+import at.gv.egovernment.moa.util.Constants;
+
+@SuppressWarnings("unused")
+public class MandateBuilder {
+
+ public static final String MANDATE_DATE_OF_BIRTH_FORMAT = "yyyy-MM-dd";
+
+ public static Mandate buildMandate(Element mandate) {
+
+ try {
+ JAXBContext jc = JAXBContext.newInstance("at.gv.e_government.reference.namespace.mandates._20040701_");
+
+ Unmarshaller u = jc.createUnmarshaller();
+ Mandate mand = (Mandate) u.unmarshal(mandate);
+ return mand;
+ } catch (JAXBException e) {
+ Logger.error("Failed to parse Mandate", e);
+ }
+ return null;
+ }
+
+ public static IdentificationType getWBPKIdentification(AbstractPersonType person) {
+ Iterator<IdentificationType> typesIt = person.getIdentification().iterator();
+ while(typesIt.hasNext()) {
+ IdentificationType id = typesIt.next();
+ if(id.getType().startsWith(Constants.URN_PREFIX_WBPK)) {
+ return id;
+ }
+ }
+ return null;
+ }
+
+ public static IdentificationType getBPKIdentification(AbstractPersonType person) {
+ Iterator<IdentificationType> typesIt = person.getIdentification().iterator();
+ while(typesIt.hasNext()) {
+ IdentificationType id = typesIt.next();
+ if(id.getType().startsWith(Constants.URN_PREFIX_BPK)) {
+ return id;
+ }
+ }
+ return null;
+ }
+}