Search in sources :

Example 1 with NoNameCoder

use of com.thoughtworks.xstream.io.naming.NoNameCoder in project camel by apache.

the class DefaultCompositeApiClient method configureXStream.

static XStream configureXStream() {
    final PureJavaReflectionProvider reflectionProvider = new PureJavaReflectionProvider(new FieldDictionary(new AnnotationFieldKeySorter()));
    final XppDriver hierarchicalStreamDriver = new XppDriver(new NoNameCoder()) {

        @Override
        public HierarchicalStreamWriter createWriter(final Writer out) {
            return new CompactWriter(out, getNameCoder());
        }
    };
    final XStream xStream = new XStream(reflectionProvider, hierarchicalStreamDriver);
    xStream.aliasSystemAttribute(null, "class");
    xStream.ignoreUnknownElements();
    XStreamUtils.addDefaultPermissions(xStream);
    xStream.registerConverter(new DateTimeConverter());
    xStream.setMarshallingStrategy(new TreeMarshallingStrategy());
    xStream.processAnnotations(ADDITIONAL_TYPES);
    return xStream;
}
Also used : AnnotationFieldKeySorter(org.apache.camel.component.salesforce.api.dto.AnnotationFieldKeySorter) TreeMarshallingStrategy(com.thoughtworks.xstream.core.TreeMarshallingStrategy) CompactWriter(com.thoughtworks.xstream.io.xml.CompactWriter) XppDriver(com.thoughtworks.xstream.io.xml.XppDriver) XStream(com.thoughtworks.xstream.XStream) FieldDictionary(com.thoughtworks.xstream.converters.reflection.FieldDictionary) DateTimeConverter(org.apache.camel.component.salesforce.api.utils.DateTimeConverter) NoNameCoder(com.thoughtworks.xstream.io.naming.NoNameCoder) HierarchicalStreamWriter(com.thoughtworks.xstream.io.HierarchicalStreamWriter) ObjectWriter(com.fasterxml.jackson.databind.ObjectWriter) Writer(java.io.Writer) CompactWriter(com.thoughtworks.xstream.io.xml.CompactWriter) PureJavaReflectionProvider(com.thoughtworks.xstream.converters.reflection.PureJavaReflectionProvider)

Example 2 with NoNameCoder

use of com.thoughtworks.xstream.io.naming.NoNameCoder in project camel by apache.

the class ApprovalRequestsTest method shouldSerializeAsXml.

@Test
public void shouldSerializeAsXml() {
    final String xml = //
    "<ProcessApprovalRequest>" + //
    "<requests>" + //
    "<actionType>Submit</actionType>" + //
    "<contextActorId>005D00000015rZy</contextActorId>" + //
    "<contextId>001D000000I8mIm</contextId>" + //
    "<comments>this is a test 1</comments>" + //
    "<nextApproverIds>005D00000015rY9</nextApproverIds>" + //
    "<processDefinitionNameOrId>PTO_Request_Process</processDefinitionNameOrId>" + //
    "<skipEntryCriteria>true</skipEntryCriteria>" + //
    "</requests>" + //
    "<requests>" + //
    "<actionType>Submit</actionType>" + //
    "<contextActorId>005D00000015rZy</contextActorId>" + //
    "<contextId>001D000000I8dIm</contextId>" + //
    "<comments>this is a test 2</comments>" + //
    "<nextApproverIds>005D00000015xY9</nextApproverIds>" + //
    "<processDefinitionNameOrId>PTO_Request_Process</processDefinitionNameOrId>" + //
    "<skipEntryCriteria>true</skipEntryCriteria>" + //
    "</requests>" + "</ProcessApprovalRequest>";
    final XStream xStream = new XStream(new XppDriver(new NoNameCoder()) {

        @Override
        public HierarchicalStreamWriter createWriter(final Writer out) {
            return new CompactWriter(out, getNameCoder());
        }
    });
    xStream.ignoreUnknownElements();
    XStreamUtils.addDefaultPermissions(xStream);
    xStream.registerConverter(new DateTimeConverter());
    xStream.processAnnotations(ApprovalRequests.class);
    final String serialized = xStream.toXML(requests);
    assertEquals("Approval requests should serialize as XML", xml, serialized);
}
Also used : CompactWriter(com.thoughtworks.xstream.io.xml.CompactWriter) XppDriver(com.thoughtworks.xstream.io.xml.XppDriver) HierarchicalStreamWriter(com.thoughtworks.xstream.io.HierarchicalStreamWriter) XStream(com.thoughtworks.xstream.XStream) DateTimeConverter(org.apache.camel.component.salesforce.api.utils.DateTimeConverter) NoNameCoder(com.thoughtworks.xstream.io.naming.NoNameCoder) HierarchicalStreamWriter(com.thoughtworks.xstream.io.HierarchicalStreamWriter) Writer(java.io.Writer) CompactWriter(com.thoughtworks.xstream.io.xml.CompactWriter) Test(org.junit.Test)

Example 3 with NoNameCoder

use of com.thoughtworks.xstream.io.naming.NoNameCoder in project ddf by codice.

the class TestGetRecordsResponseConverter method testMarshalRecordCollectionFullXml.

@Ignore
public void testMarshalRecordCollectionFullXml() throws UnsupportedEncodingException, JAXBException {
    final int totalResults = 5;
    TransformerManager mockMetacardManager = mock(TransformerManager.class);
    when(mockMetacardManager.getTransformerBySchema(anyString())).thenReturn(new CswRecordConverter(TestCswRecordConverter.getCswMetacardType()));
    GetRecordsResponseConverter rrConverter = new GetRecordsResponseConverter(new CswTransformProvider(mockMetacardManager, null));
    XStream xstream = new XStream(new StaxDriver(new NoNameCoder()));
    xstream.registerConverter(rrConverter);
    xstream.alias(CswConstants.CSW_NAMESPACE_PREFIX + CswConstants.NAMESPACE_DELIMITER + CswConstants.GET_RECORDS_RESPONSE, CswRecordCollection.class);
    GetRecordsType getRecords = new GetRecordsType();
    QueryType query = new QueryType();
    ElementSetNameType set = new ElementSetNameType();
    set.setValue(ElementSetType.FULL);
    query.setElementSetName(set);
    ObjectFactory objectFactory = new ObjectFactory();
    getRecords.setAbstractQuery(objectFactory.createAbstractQuery(query));
    CswRecordCollection collection = createCswRecordCollection(getRecords, totalResults);
    collection.setElementSetType(ElementSetType.FULL);
    String xml = xstream.toXML(collection);
    JAXBElement<GetRecordsResponseType> jaxb = (JAXBElement<GetRecordsResponseType>) getJaxBContext().createUnmarshaller().unmarshal(new ByteArrayInputStream(xml.getBytes("UTF-8")));
    GetRecordsResponseType response = jaxb.getValue();
    // Assert the GetRecordsResponse elements and attributes
    assertThat(response, not(nullValue()));
    SearchResultsType resultsType = response.getSearchResults();
    assertThat(resultsType, not(nullValue()));
    assertThat(resultsType.getElementSet(), is(ElementSetType.FULL));
    assertThat(resultsType.getNumberOfRecordsMatched().intValue(), is(totalResults));
    assertThat(resultsType.getNumberOfRecordsReturned().intValue(), is(totalResults));
    assertThat(resultsType.getRecordSchema(), is(CswConstants.CSW_OUTPUT_SCHEMA));
}
Also used : TransformerManager(org.codice.ddf.spatial.ogc.csw.catalog.common.transformer.TransformerManager) XStream(com.thoughtworks.xstream.XStream) SearchResultsType(net.opengis.cat.csw.v_2_0_2.SearchResultsType) GetRecordsType(net.opengis.cat.csw.v_2_0_2.GetRecordsType) Matchers.anyString(org.mockito.Matchers.anyString) JAXBElement(javax.xml.bind.JAXBElement) NoNameCoder(com.thoughtworks.xstream.io.naming.NoNameCoder) StaxDriver(com.thoughtworks.xstream.io.xml.StaxDriver) ObjectFactory(net.opengis.cat.csw.v_2_0_2.ObjectFactory) ByteArrayInputStream(java.io.ByteArrayInputStream) CswRecordCollection(org.codice.ddf.spatial.ogc.csw.catalog.common.CswRecordCollection) ElementSetNameType(net.opengis.cat.csw.v_2_0_2.ElementSetNameType) GetRecordsResponseType(net.opengis.cat.csw.v_2_0_2.GetRecordsResponseType) QueryType(net.opengis.cat.csw.v_2_0_2.QueryType) Ignore(jdk.nashorn.internal.ir.annotations.Ignore)

Example 4 with NoNameCoder

use of com.thoughtworks.xstream.io.naming.NoNameCoder in project openolat by klemens.

the class InstitutionConfiguration method getInstitutionConfigXStream.

public static XStream getInstitutionConfigXStream() {
    XStream xstream = new XStream(new XppDriver(new NoNameCoder()));
    xstream.alias("configuration", InstitutionConfiguration.class);
    xstream.addImplicitCollection(InstitutionConfiguration.class, "institution", "institution", InstitutionPortletEntry.class);
    xstream.alias("institution", InstitutionPortletEntry.class);
    xstream.addImplicitCollection(InstitutionPortletEntry.class, "polymorphlink", "polymorphlink", PolymorphLink.class);
    xstream.aliasAttribute(InstitutionPortletEntry.class, "shortname", "shortname");
    xstream.alias("logo", Value.class);
    xstream.alias("name", Value.class);
    xstream.alias("url", Value.class);
    xstream.alias("supervisor", InstitutionPortletSupervisorEntry.class);
    xstream.addImplicitCollection(InstitutionPortletEntry.class, "supervisor", "supervisor", InstitutionPortletSupervisorEntry.class);
    xstream.alias("person", Value.class);
    xstream.alias("phone", Value.class);
    xstream.alias("email", Value.class);
    xstream.alias("blog", Value.class);
    // polymorph link
    xstream.alias("polymorphlink", PolymorphLink.class);
    xstream.aliasAttribute(PolymorphLink.class, "defaultId", "default_targetid");
    xstream.aliasAttribute(PolymorphLink.class, "linkType", "type");
    xstream.aliasAttribute(PolymorphLink.class, "linkText", "text");
    // polymorph link element
    xstream.alias("element", PolymorphLinkElement.class);
    xstream.addImplicitCollection(PolymorphLink.class, "element", "element", PolymorphLinkElement.class);
    xstream.aliasAttribute(PolymorphLinkElement.class, "attribute", "attribute");
    xstream.aliasAttribute(PolymorphLinkElement.class, "value", "value");
    xstream.aliasAttribute(PolymorphLinkElement.class, "cond", "condition");
    xstream.aliasAttribute(PolymorphLinkElement.class, "id", "targetid");
    xstream.aliasAttribute(Value.class, "value", "value");
    return xstream;
}
Also used : XppDriver(com.thoughtworks.xstream.io.xml.XppDriver) XStream(com.thoughtworks.xstream.XStream) NoNameCoder(com.thoughtworks.xstream.io.naming.NoNameCoder)

Example 5 with NoNameCoder

use of com.thoughtworks.xstream.io.naming.NoNameCoder in project OpenOLAT by OpenOLAT.

the class InstitutionConfiguration method getInstitutionConfigXStream.

public static XStream getInstitutionConfigXStream() {
    XStream xstream = new XStream(new XppDriver(new NoNameCoder()));
    xstream.alias("configuration", InstitutionConfiguration.class);
    xstream.addImplicitCollection(InstitutionConfiguration.class, "institution", "institution", InstitutionPortletEntry.class);
    xstream.alias("institution", InstitutionPortletEntry.class);
    xstream.addImplicitCollection(InstitutionPortletEntry.class, "polymorphlink", "polymorphlink", PolymorphLink.class);
    xstream.aliasAttribute(InstitutionPortletEntry.class, "shortname", "shortname");
    xstream.alias("logo", Value.class);
    xstream.alias("name", Value.class);
    xstream.alias("url", Value.class);
    xstream.alias("supervisor", InstitutionPortletSupervisorEntry.class);
    xstream.addImplicitCollection(InstitutionPortletEntry.class, "supervisor", "supervisor", InstitutionPortletSupervisorEntry.class);
    xstream.alias("person", Value.class);
    xstream.alias("phone", Value.class);
    xstream.alias("email", Value.class);
    xstream.alias("blog", Value.class);
    // polymorph link
    xstream.alias("polymorphlink", PolymorphLink.class);
    xstream.aliasAttribute(PolymorphLink.class, "defaultId", "default_targetid");
    xstream.aliasAttribute(PolymorphLink.class, "linkType", "type");
    xstream.aliasAttribute(PolymorphLink.class, "linkText", "text");
    // polymorph link element
    xstream.alias("element", PolymorphLinkElement.class);
    xstream.addImplicitCollection(PolymorphLink.class, "element", "element", PolymorphLinkElement.class);
    xstream.aliasAttribute(PolymorphLinkElement.class, "attribute", "attribute");
    xstream.aliasAttribute(PolymorphLinkElement.class, "value", "value");
    xstream.aliasAttribute(PolymorphLinkElement.class, "cond", "condition");
    xstream.aliasAttribute(PolymorphLinkElement.class, "id", "targetid");
    xstream.aliasAttribute(Value.class, "value", "value");
    return xstream;
}
Also used : XppDriver(com.thoughtworks.xstream.io.xml.XppDriver) XStream(com.thoughtworks.xstream.XStream) NoNameCoder(com.thoughtworks.xstream.io.naming.NoNameCoder)

Aggregations

NoNameCoder (com.thoughtworks.xstream.io.naming.NoNameCoder)13 XStream (com.thoughtworks.xstream.XStream)9 StaxDriver (com.thoughtworks.xstream.io.xml.StaxDriver)4 XppDriver (com.thoughtworks.xstream.io.xml.XppDriver)4 MarshallingContext (com.thoughtworks.xstream.converters.MarshallingContext)3 TreeMarshaller (com.thoughtworks.xstream.core.TreeMarshaller)3 CompactWriter (com.thoughtworks.xstream.io.xml.CompactWriter)3 PrettyPrintWriter (com.thoughtworks.xstream.io.xml.PrettyPrintWriter)3 ByteArrayInputStream (java.io.ByteArrayInputStream)3 StringWriter (java.io.StringWriter)3 HierarchicalStreamWriter (com.thoughtworks.xstream.io.HierarchicalStreamWriter)2 Writer (java.io.Writer)2 JAXBElement (javax.xml.bind.JAXBElement)2 ElementSetNameType (net.opengis.cat.csw.v_2_0_2.ElementSetNameType)2 GetRecordsResponseType (net.opengis.cat.csw.v_2_0_2.GetRecordsResponseType)2 GetRecordsType (net.opengis.cat.csw.v_2_0_2.GetRecordsType)2 ObjectFactory (net.opengis.cat.csw.v_2_0_2.ObjectFactory)2 QueryType (net.opengis.cat.csw.v_2_0_2.QueryType)2 SearchResultsType (net.opengis.cat.csw.v_2_0_2.SearchResultsType)2 DateTimeConverter (org.apache.camel.component.salesforce.api.utils.DateTimeConverter)2