From c559071dcf6d1fc0f3dbea3cfb0820719c42439f Mon Sep 17 00:00:00 2001 From: Bojan Suzic Date: Fri, 7 Nov 2014 15:08:58 +0100 Subject: stork2-commons update --- .../peps/tests/ComplexAttributesMarshalling.java | 246 +++++++++++++++------ 1 file changed, 174 insertions(+), 72 deletions(-) (limited to 'id/server/stork2-commons/src/test/java') diff --git a/id/server/stork2-commons/src/test/java/eu/stork/peps/tests/ComplexAttributesMarshalling.java b/id/server/stork2-commons/src/test/java/eu/stork/peps/tests/ComplexAttributesMarshalling.java index d411a2f42..fc6e65f70 100644 --- a/id/server/stork2-commons/src/test/java/eu/stork/peps/tests/ComplexAttributesMarshalling.java +++ b/id/server/stork2-commons/src/test/java/eu/stork/peps/tests/ComplexAttributesMarshalling.java @@ -1,22 +1,11 @@ /* - * This work is Open Source and licensed by the European Commission under the - * conditions of the European Public License v1.1 - * - * (http://www.osor.eu/eupl/european-union-public-licence-eupl-v.1.1); - * - * any use of this file implies acceptance of the conditions of this license. - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - * --- - * - * Test cases for marshalling complex attributes. - * - * Implemented are two testcases for marshalling and unmarshalling. These testcases are - * for canonical residenc address and has bank account. + * This work is Open Source and licensed by the European Commission under the conditions of the European Public License + * v1.1 (http://www.osor.eu/eupl/european-union-public-licence-eupl-v.1.1); any use of this file implies acceptance of + * the conditions of this license. Unless required by applicable law or agreed to in writing, software distributed under + * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + * implied. See the License for the specific language governing permissions and limitations under the License. --- Test + * cases for marshalling complex attributes. Implemented are two testcases for marshalling and unmarshalling. These + * testcases are for canonical residenc address and has bank account. */ package eu.stork.peps.tests; @@ -24,6 +13,7 @@ package eu.stork.peps.tests; import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; +import java.io.StringWriter; import javax.xml.bind.JAXBContext; import javax.xml.bind.JAXBElement; @@ -32,38 +22,55 @@ import javax.xml.bind.Marshaller; import javax.xml.bind.Unmarshaller; import javax.xml.transform.stream.StreamSource; +import org.joda.time.DateTime; import org.junit.Test; -import eu.stork.peps.complex.attributes.CanonicalAddressType; -import eu.stork.peps.complex.attributes.HasAccountInBankType; -import eu.stork.peps.complex.attributes.ObjectFactory; +import eu.stork.peps.complex.attributes.eu.stork.names.tc.stork._1_0.assertion.CanonicalAddressType; +import eu.stork.peps.complex.attributes.eu.stork.names.tc.stork._1_0.assertion.HasAccountInBankType; +import eu.stork.peps.complex.attributes.eu.stork.names.tc.stork._1_0.assertion.MandateContentType; +import eu.stork.peps.complex.attributes.eu.stork.names.tc.stork._1_0.assertion.MandateType; +import eu.stork.peps.complex.attributes.eu.stork.names.tc.stork._1_0.assertion.ObjectFactory; +import eu.stork.peps.complex.attributes.eu.stork.names.tc.stork._1_0.assertion.RepresentationPersonType; /** - * @author Advania - * - * Examples on how to use the jaxb marshaller. - * - * The classes are created from the StorkcomplexAttributes.xsd schema located in resources. - * + * @author Advania Examples on how to use the jaxb marshaller. The classes are created from the + * StorkcomplexAttributes.xsd schema located in resources. * @version $Revision: 1.00 $, $Date: 2014-17-02 11:15:00 $ * */ public class ComplexAttributesMarshalling { + MandateContentType mtObject = new MandateContentType(); + RepresentationPersonType rpObject = new RepresentationPersonType(); + RepresentationPersonType rptObject = new RepresentationPersonType(); + + void initMandateValues() { + // Fill in the information ... + mtObject.setIsChained(false); + // mtObject.setIsJoined("IsJoined"); + mtObject.setTypeOfPower("The Force"); + mtObject.setIsChained(false); + // ... fill in info for the representative + rpObject.setTextRegisteredAddress("Address at some street"); + rpObject.setDateOfBirth(DateTime.now().toString()); + rpObject.setEIdentifier("123456"); + rpObject.setGivenName("Name of some person"); + rpObject.setLegalForm("Type of person"); + // .... fill in the info for the represented + rptObject.setTextRegisteredAddress("Another Address at some street"); + rptObject.setDateOfBirth(DateTime.now().toString()); + rptObject.setEIdentifier("654321"); + rptObject.setGivenName("Another Name of some person"); + rptObject.setLegalForm("Yet another type of person"); + } + /** - * Test marshalling canonical address - * + * Test marshalling canonical address * - * IS - * Reykjavik - * RVK - * Reykjavik - * 101 - * Laugavegur - * 1 - * 10 - * + * IS Reykjavik RVK + * Reykjavik 101 Laugavegur + * 1 10 */ @Test public void testMarshallCanonicalResidencAddress() @@ -88,30 +95,133 @@ public class ComplexAttributesMarshalling { m.marshal(objf.createCanonicalResidenceAddress(object), new FileOutputStream("CanonicalAddressType.xml")); m.marshal(objf.createCanonicalResidenceAddress(object), System.out); } - catch (JAXBException e ) - { - e.printStackTrace(); - - } catch (FileNotFoundException e) { + catch ( Exception e ) { e.printStackTrace(); + } + } + + @Test + public void testForDiana() { + initMandateValues(); + try { + // Create the marshallers' + + final JAXBContext mandateTypeContext = JAXBContext.newInstance(MandateType.class); + final Marshaller mandateMarshaller = mandateTypeContext.createMarshaller(); + final Unmarshaller mandateUnmarshaller = mandateTypeContext.createUnmarshaller(); + + // final JAXBContext MandateContentTypecontext = JAXBContext.newInstance(MandateContentType.class); + // final Marshaller mandM = MandateContentTypecontext.createMarshaller(); + // + // final JAXBContext RepresentationPersonTypecontext = + // JAXBContext.newInstance(RepresentationPersonType.class); + // final Marshaller repM = RepresentationPersonTypecontext.createMarshaller(); + // + + final ObjectFactory objf = new ObjectFactory(); + MandateType mandate = new MandateType(); + RepresentationPersonType representative = new RepresentationPersonType(); + representative.setDateOfBirth("1990-01-01"); + representative.setGivenName("Bilbo"); + representative.setSurname("Baggins"); + representative.setEIdentifier("IT/IT/12345678990"); + mandate.setRepresentative(representative); + + RepresentationPersonType represented = new RepresentationPersonType(); + represented.setTextRegisteredAddress("Via...."); + represented.setELPIdentifier("IT/1111111"); + represented.setLegalName("Shire Corp."); + mandate.setRepresented(represented); + + MandateContentType mandateContent1 = new MandateContentType(); + // OriginalMandateType omt1 = new OriginalMandateType(); + // omt1.setMimeType("text/plain"); + // omt1.setValue("Chief executive officer".getBytes()); + mandateContent1.setOriginalMandate("Chief executive officer".getBytes()); + mandateContent1.setOriginalMandateType("text/plain"); + MandateContentType mandateContent2 = new MandateContentType(); + // mandateContent2.setOriginalMandate(omt1); + mandateContent2.setOriginalMandate("Chief executive officer2".getBytes()); + mandateContent2.setOriginalMandateType("text/plain"); + mandate.getMandateContent().add(mandateContent1); + mandate.getMandateContent().add(mandateContent2); + + // create a hashmap + // HashMap complexMandate = new HashMap(); + + // marshall the mandatecontent + StringWriter sw = new StringWriter(); + mandateMarshaller.marshal(objf.createMandate(mandate), sw); + + System.out.print(sw.toString()); + + // add it to the hashmap + // complexMandate.put("representative", sw.toString()); + // sw.flush(); + // + // // continue with the rest of the objects. + // repM.marshal(objf.createRepresentationPerson(rpObject), sw); + // System.out.print(sw.toString()); + // complexMandate.put("representative", sw.toString()); + // sw.flush(); + // + // MandateType mandateType = new MandateType(); + // + // repM.marshal(objf.createRepresentationPerson(rptObject), sw); + // System.out.print(sw.toString()); + // complexMandate.put("represented", sw.toString()); + // sw.flush(); + // + // // add the complex values to the attr.list. + // PersonalAttribute pal = new PersonalAttribute(); + // + // pal.setName("mandateContent"); + // pal.setIsRequired(pal.isRequired()); + // pal.setStatus(STORKStatusCode.STATUS_AVAILABLE.toString()); + // pal.setComplexValue(complexMandate); + // + // System.out.println(pal.toString()); } - + catch ( JAXBException e ) { + e.printStackTrace(); + } + } + + @Test + public void testMandateContent() { + initMandateValues(); + try { + final MandateType object = new MandateType(); + // Make the object .... + object.getMandateContent().add(mtObject); + object.setRepresented(rpObject); + object.setRepresentative(rptObject); + + final JAXBContext context = JAXBContext.newInstance(MandateType.class); + // Create the marshaller + final Marshaller m = context.createMarshaller(); + m.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true); + final ObjectFactory objf = new ObjectFactory(); + // Various types of output + m.marshal(objf.createMandate(object), new FileOutputStream("MandateContentType.xml")); + m.marshal(objf.createMandate(object), System.out); + + StringWriter sw = new StringWriter(); + m.marshal(objf.createMandate(object), sw); + } + catch ( Exception e ) { + e.printStackTrace(); + } + } /** - * Test unmarshalling canonical address - * + * Test unmarshalling canonical address * - * IS - * Reykjavik - * RVK - * Reykjavik - * 101 - * Laugavegur - * 1 - * 10 - * + * IS Reykjavik RVK + * Reykjavik 101 Laugavegur + * 1 10 */ @Test public void testUnmarshallCanonicalAddress() @@ -140,12 +250,8 @@ public class ComplexAttributesMarshalling { } /** - * Test marshalling has bank account - * - * - * Arion - * 3 - * + * Test marshalling has bank account Arion 3 */ @Test public void testMarshallHasBankAccount() @@ -162,22 +268,18 @@ public class ComplexAttributesMarshalling { m.marshal(o.createHasAccountInBank(object), System.out); } - catch (JAXBException e ) - { + catch (FileNotFoundException e) { + e.printStackTrace(); + + }catch ( Exception e ) { e.printStackTrace(); - } catch (FileNotFoundException e) { - e.printStackTrace(); - } } + /** - * Test unmarshalling has bank account - * - * - * Arion - * 3 - * + * Test unmarshalling has bank account Arion 3 */ @Test public void testUnmarshallHasBankAccount() -- cgit v1.2.3