use of org.apache.cxf.aegis.type.collection.MapType in project cxf by apache.
the class MapTest method testType.
@Test
public void testType() throws Exception {
Method m = MapService.class.getMethod("getMap", new Class[0]);
AegisType type = creator.createType(m, -1);
tm.register(type);
assertTrue(type instanceof MapType);
MapType mapType = (MapType) type;
QName keyName = mapType.getKeyName();
assertNotNull(keyName);
type = mapType.getKeyType();
assertNotNull(type);
assertTrue(type.getTypeClass().isAssignableFrom(String.class));
type = mapType.getValueType();
assertNotNull(type);
assertTrue(type.getTypeClass().isAssignableFrom(Integer.class));
}
use of org.apache.cxf.aegis.type.collection.MapType in project cxf by apache.
the class MapTest method testPDType.
@Test
public void testPDType() throws Exception {
PropertyDescriptor pd = Introspector.getBeanInfo(MapDTO.class, Object.class).getPropertyDescriptors()[0];
AegisType type = creator.createType(pd);
tm.register(type);
assertTrue(type instanceof MapType);
MapType mapType = (MapType) type;
QName keyName = mapType.getKeyName();
assertNotNull(keyName);
type = mapType.getKeyType();
assertNotNull(type);
assertTrue(type.getTypeClass().isAssignableFrom(String.class));
type = mapType.getValueType();
assertNotNull(type);
assertTrue(type.getTypeClass().isAssignableFrom(Integer.class));
}
use of org.apache.cxf.aegis.type.collection.MapType in project cxf by apache.
the class MapTest method testMapDTO.
@Test
public void testMapDTO() {
tm = new DefaultTypeMapping();
creator = new Java5TypeCreator();
creator.setConfiguration(new TypeCreationOptions());
tm.setTypeCreator(creator);
AegisType dto = creator.createType(MapDTO.class);
Set<AegisType> deps = dto.getDependencies();
AegisType type = deps.iterator().next();
assertTrue(type instanceof MapType);
MapType mapType = (MapType) type;
deps = dto.getDependencies();
assertEquals(1, deps.size());
type = mapType.getKeyType();
assertNotNull(type);
assertTrue(type.getTypeClass().isAssignableFrom(String.class));
type = mapType.getValueType();
assertNotNull(type);
assertTrue(type.getTypeClass().isAssignableFrom(Integer.class));
}
use of org.apache.cxf.aegis.type.collection.MapType in project cxf by apache.
the class AbstractTypeCreator method createMapType.
protected AegisType createMapType(TypeClassInfo info, AegisType keyType, AegisType valueType) {
QName schemaType = createMapQName(info, keyType, valueType);
MapType type = new MapType(schemaType, keyType, valueType);
type.setTypeMapping(getTypeMapping());
type.setTypeClass(info.getType());
return type;
}
use of org.apache.cxf.aegis.type.collection.MapType in project qi4j-sdk by Qi4j.
the class ValueCompositeCxfType method createType.
private AegisType createType(Type type, XmlSchema root) {
if (isCollection(type)) {
AegisType componentType = getOrCreateAegisType(getCollectionComponentType(type), root);
CollectionType resultType = new CollectionType(componentType);
QName schemaType = new QName("http://www.w3.org/2001/XMLSchema", "list");
resultType.setSchemaType(schemaType);
return resultType;
} else if (isMap(type)) {
AegisType keyType = getOrCreateAegisType(getMapKeyComponentType(type), root);
AegisType valueType = getOrCreateAegisType(getMapValueComponentType(type), root);
QName schemaType = new QName(Classes.toURI(Classes.RAW_CLASS.map(type)), "map");
return new MapType(schemaType, keyType, valueType);
} else if (isValueComposite(type)) {
ValueCompositeCxfType aegisType = module.newObject(ValueCompositeCxfType.class, getTypeMapping(), type);
getTypeMapping().register(aegisType);
return aegisType;
} else {
throw new NoSuchValueException(type.toString(), module.name());
}
}
Aggregations