use of org.apache.cxf.aegis.type.AegisType in project cxf by apache.
the class AbstractEncodedTest method writeRef.
public Element writeRef(Object instance) {
AegisType type = mapping.getType(instance.getClass());
assertNotNull("no type found for " + instance.getClass().getName());
// create the document
Element element = createElement("urn:Bean", "root", "b");
MapNamespaceContext namespaces = new MapNamespaceContext();
// we should not add the out namespace here, as it is not a part of root element
/*for (Map.Entry<String, String> entry : getNamespaces().entrySet()) {
namespaces.addNamespace(entry.getKey(), entry.getValue());
}*/
ElementWriter rootWriter = getElementWriter(element, namespaces);
Context context = getContext();
// get AegisType based on the object instance
assertNotNull("type is null", type);
// write the ref
SoapRefType soapRefType = new SoapRefType(type);
MessageWriter cwriter = rootWriter.getElementWriter(soapRefType.getSchemaType());
soapRefType.writeObject(instance, cwriter, context);
cwriter.close();
// write the trailing blocks (referenced objects)
trailingBlocks.writeBlocks(rootWriter, context);
return element;
}
use of org.apache.cxf.aegis.type.AegisType in project cxf by apache.
the class AbstractEncodedTest method readRef.
public Object readRef(ElementReader root) throws XMLStreamException {
Context context = getContext();
// get AegisType based on the element qname
MessageReader reader = root.getNextElementReader();
AegisType type = this.mapping.getType(reader.getName());
assertNotNull("type is null", type);
// read ref
SoapRefType soapRefType = new SoapRefType(type);
SoapRef ref = (SoapRef) soapRefType.readObject(reader, context);
reader.readToEnd();
// read the trailing blocks (referenced objects)
List<Object> roots = trailingBlocks.readBlocks(root, context);
assertNotNull(roots);
// close the input stream
root.getXMLStreamReader().close();
// return the ref
return ref.get();
}
use of org.apache.cxf.aegis.type.AegisType in project cxf by apache.
the class AbstractEncodedTest method readWriteReadRef.
public <T> T readWriteReadRef(String file, Class<T> typeClass) throws XMLStreamException {
Context context = getContext();
AegisType type = mapping.getType(typeClass);
assertNotNull("no type found for " + typeClass.getName());
// read file
ElementReader reader = new ElementReader(getClass().getResourceAsStream(file));
T value = typeClass.cast(type.readObject(reader, context));
reader.getXMLStreamReader().close();
// write value to element
Element element = writeRef(value);
// reread value from element
value = typeClass.cast(readRef(element));
return value;
}
use of org.apache.cxf.aegis.type.AegisType in project cxf by apache.
the class ConfigurationTest method testNillableDefaultTrue.
@Test
public void testNillableDefaultTrue() throws Exception {
config.setDefaultNillable(true);
AegisType type = tm.getTypeCreator().createType(AnnotatedBean1.class);
BeanTypeInfo info = ((BeanType) type).getTypeInfo();
assertTrue(info.isNillable(new QName(info.getDefaultNamespace(), "bogusProperty")));
}
use of org.apache.cxf.aegis.type.AegisType in project cxf by apache.
the class ConfigurationTest method testNillableDefaultFalse.
@Test
public void testNillableDefaultFalse() throws Exception {
config.setDefaultNillable(false);
AegisType type = tm.getTypeCreator().createType(AnnotatedBean1.class);
BeanTypeInfo info = ((BeanType) type).getTypeInfo();
assertFalse(info.isNillable(new QName(info.getDefaultNamespace(), "bogusProperty")));
}
Aggregations