diff options
author | Thomas Lenz <thomas.lenz@egiz.gv.at> | 2018-10-02 14:45:08 +0200 |
---|---|---|
committer | Thomas Lenz <thomas.lenz@egiz.gv.at> | 2018-10-02 14:45:08 +0200 |
commit | 52f37f0f24af08aced6e4bdb94821e22ba391cae (patch) | |
tree | a1a8f55f3d0c75bc343717e236e91e167eb3f9c8 /id/server/modules/eID4UExtensions/src/main/java/at/gv/egiz/eid4u/impl/attributes/natural/PhotoTypeAttributeValueMarshaller.java | |
parent | 833533bd77ac8fb423aae4c72ed9dbc0b43c6d72 (diff) | |
download | moa-id-spss-52f37f0f24af08aced6e4bdb94821e22ba391cae.tar.gz moa-id-spss-52f37f0f24af08aced6e4bdb94821e22ba391cae.tar.bz2 moa-id-spss-52f37f0f24af08aced6e4bdb94821e22ba391cae.zip |
move eID4U module into eID4U git repo
Diffstat (limited to 'id/server/modules/eID4UExtensions/src/main/java/at/gv/egiz/eid4u/impl/attributes/natural/PhotoTypeAttributeValueMarshaller.java')
-rw-r--r-- | id/server/modules/eID4UExtensions/src/main/java/at/gv/egiz/eid4u/impl/attributes/natural/PhotoTypeAttributeValueMarshaller.java | 67 |
1 files changed, 0 insertions, 67 deletions
diff --git a/id/server/modules/eID4UExtensions/src/main/java/at/gv/egiz/eid4u/impl/attributes/natural/PhotoTypeAttributeValueMarshaller.java b/id/server/modules/eID4UExtensions/src/main/java/at/gv/egiz/eid4u/impl/attributes/natural/PhotoTypeAttributeValueMarshaller.java deleted file mode 100644 index 59f1817a4..000000000 --- a/id/server/modules/eID4UExtensions/src/main/java/at/gv/egiz/eid4u/impl/attributes/natural/PhotoTypeAttributeValueMarshaller.java +++ /dev/null @@ -1,67 +0,0 @@ -package at.gv.egiz.eid4u.impl.attributes.natural; - -import java.io.Reader; -import java.io.StringReader; -import java.io.StringWriter; - -import javax.xml.bind.JAXBContext; -import javax.xml.bind.JAXBException; -import javax.xml.bind.Marshaller; -import javax.xml.bind.Unmarshaller; -import javax.xml.stream.XMLInputFactory; -import javax.xml.stream.XMLStreamException; -import javax.xml.stream.XMLStreamReader; - -import at.gv.egiz.eid4u.impl.attributes.xjc.Document; -import eu.eidas.auth.commons.EidasStringUtil; -import eu.eidas.auth.commons.attribute.AttributeValue; -import eu.eidas.auth.commons.attribute.AttributeValueMarshaller; -import eu.eidas.auth.commons.attribute.AttributeValueMarshallingException; - -public class PhotoTypeAttributeValueMarshaller implements AttributeValueMarshaller<Document>{ - - @Override - public String marshal(AttributeValue<Document> value) throws AttributeValueMarshallingException { - try { - JAXBContext context = JAXBContext.newInstance(Document.class); - Marshaller m = context.createMarshaller(); - StringWriter sw = new StringWriter(); - m.marshal(value, sw); - return EidasStringUtil.encodeToBase64(sw.toString()); - - } catch (JAXBException e) { - throw new AttributeValueMarshallingException("Can NOT create JAXB marshaller for type 'Document'", e); - - } - - } - - @Override - public AttributeValue<Document> unmarshal(String value, boolean isNonLatinScriptAlternateVersion) - throws AttributeValueMarshallingException { - try { - Reader reader = new StringReader(EidasStringUtil.decodeStringFromBase64(value)); - - //initialize XML reader to prevent XXE - XMLInputFactory xif = XMLInputFactory.newInstance(); - xif.setProperty(XMLInputFactory.IS_SUPPORTING_EXTERNAL_ENTITIES, false); - xif.setProperty(XMLInputFactory.SUPPORT_DTD, false); - XMLStreamReader xmlReader = xif.createXMLStreamReader(reader); - - //unmarshal - JAXBContext context = JAXBContext.newInstance(Document.class); - Unmarshaller um = context.createUnmarshaller(); - Object obj = um.unmarshal(xmlReader); - - if (!(obj instanceof Document)) - throw new AttributeValueMarshallingException("Unmarshalled result is NOT of type 'Document'"); - - return new DocumentAttributeValue((Document)obj, isNonLatinScriptAlternateVersion); - - } catch (JAXBException | XMLStreamException e) { - throw new AttributeValueMarshallingException("Can NOT create JAXB unmarshaller for type 'Document'", e); - - } - - } -} |