diff options
| author | Bojan Suzic <bojan.suzic@iaik.tugraz.at> | 2014-11-07 15:08:58 +0100 | 
|---|---|---|
| committer | Bojan Suzic <bojan.suzic@iaik.tugraz.at> | 2014-11-07 15:08:58 +0100 | 
| commit | c559071dcf6d1fc0f3dbea3cfb0820719c42439f (patch) | |
| tree | 0e611fbded7ed3284319151a268ef2ad454483b9 /id/server/stork2-commons/src/test | |
| parent | 244e3e0e95af0941ac0e27ec6e619e587fdce162 (diff) | |
| download | moa-id-spss-c559071dcf6d1fc0f3dbea3cfb0820719c42439f.tar.gz moa-id-spss-c559071dcf6d1fc0f3dbea3cfb0820719c42439f.tar.bz2 moa-id-spss-c559071dcf6d1fc0f3dbea3cfb0820719c42439f.zip | |
stork2-commons update
Diffstat (limited to 'id/server/stork2-commons/src/test')
| -rw-r--r-- | id/server/stork2-commons/src/test/java/eu/stork/peps/tests/ComplexAttributesMarshalling.java | 246 | 
1 files changed, 174 insertions, 72 deletions
| 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
 -	 * <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
 +     * Test marshalling canonical address <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
  	 *  <canonicalResidenceAddress xmlns="urn:eu:stork:names:tc:STORK:1.0:assertion">
 -	 *   <countryCodeAddress>IS</countryCodeAddress>
 -	 *   <state>Reykjavik</state>
 -	 *   <municipalityCode>RVK</municipalityCode>
 -	 *   <town>Reykjavik</town>
 -	 *   <postalCode>101</postalCode>
 -	 *   <streetName>Laugavegur</streetName>
 -	 *   <streetNumber>1</streetNumber>
 -	 *   <apartmentNumber>10</apartmentNumber>
 -	 *	</canonicalResidenceAddress>
 +     * <countryCodeAddress>IS</countryCodeAddress> <state>Reykjavik</state> <municipalityCode>RVK</municipalityCode>
 +     * <town>Reykjavik</town> <postalCode>101</postalCode> <streetName>Laugavegur</streetName>
 +     * <streetNumber>1</streetNumber> <apartmentNumber>10</apartmentNumber> </canonicalResidenceAddress>
  	 */
  	@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<String, String> complexMandate = new HashMap<String, String>();
 +
 +            // 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
 -	 * <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
 +     * Test unmarshalling canonical address <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
  	 *  <canonicalResidenceAddress xmlns="urn:eu:stork:names:tc:STORK:1.0:assertion">
 -	 *   <countryCodeAddress>IS</countryCodeAddress>
 -	 *   <state>Reykjavik</state>
 -	 *   <municipalityCode>RVK</municipalityCode>
 -	 *   <town>Reykjavik</town>
 -	 *   <postalCode>101</postalCode>
 -	 *   <streetName>Laugavegur</streetName>
 -	 *   <streetNumber>1</streetNumber>
 -	 *   <apartmentNumber>10</apartmentNumber>
 -	 *	</canonicalResidenceAddress>
 +     * <countryCodeAddress>IS</countryCodeAddress> <state>Reykjavik</state> <municipalityCode>RVK</municipalityCode>
 +     * <town>Reykjavik</town> <postalCode>101</postalCode> <streetName>Laugavegur</streetName>
 +     * <streetNumber>1</streetNumber> <apartmentNumber>10</apartmentNumber> </canonicalResidenceAddress>
  	 */
  	@Test
  	public void testUnmarshallCanonicalAddress() 
 @@ -140,12 +250,8 @@ public class ComplexAttributesMarshalling {  	}
  	/**
 -	 * Test marshalling has bank account
 -	 * <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
 -	 * 		<hasAccountInBank xmlns="urn:eu:stork:names:tc:STORK:1.0:assertion">
 -	 * 			<bankName>Arion</bankName>
 -	 * 			<AQAA>3</AQAA>
 -	 * 		</hasAccountInBank>
 +     * Test marshalling has bank account <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <hasAccountInBank
 +     * xmlns="urn:eu:stork:names:tc:STORK:1.0:assertion"> <bankName>Arion</bankName> <AQAA>3</AQAA> </hasAccountInBank>
  	 */
  	@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
 -	 * <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
 -	 * 		<hasAccountInBank xmlns="urn:eu:stork:names:tc:STORK:1.0:assertion">
 -	 * 			<bankName>Arion</bankName>
 -	 * 			<AQAA>3</AQAA>
 -	 * 		</hasAccountInBank>
 +     * Test unmarshalling has bank account <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <hasAccountInBank
 +     * xmlns="urn:eu:stork:names:tc:STORK:1.0:assertion"> <bankName>Arion</bankName> <AQAA>3</AQAA> </hasAccountInBank>
  	 */
  	@Test
  	public void testUnmarshallHasBankAccount()
 | 
