use of org.raml.v2.api.model.v10.datamodel.TypeDeclaration in project raml-for-jax-rs by mulesoft-labs.
the class V08Finder method typesInBodies.
private void typesInBodies(Resource resource, Method method, List<BodyLike> body, GFinderListener listener) {
for (BodyLike typeDeclaration : body) {
if (typeDeclaration.schema() == null) {
continue;
}
if (globalSchemas.containsKey(typeDeclaration.schema().value())) {
V08GType type = new V08GType(typeDeclaration.schema().value(), typeDeclaration);
registry.addType(type);
listener.newTypeDeclaration(type);
} else {
V08GType type = new V08GType(resource, method, typeDeclaration);
registry.addType(type);
listener.newTypeDeclaration(type);
}
}
for (Response response : method.responses()) {
for (BodyLike typeDeclaration : response.body()) {
if (typeDeclaration.schema() == null) {
continue;
}
if (globalSchemas.containsKey(typeDeclaration.schema().value())) {
V08GType type = new V08GType(typeDeclaration.schema().value(), typeDeclaration);
registry.addType(type);
listener.newTypeDeclaration(type);
} else {
V08GType type = new V08GType(resource, method, response, typeDeclaration);
registry.addType(type);
listener.newTypeDeclaration(type);
}
}
}
}
use of org.raml.v2.api.model.v10.datamodel.TypeDeclaration in project raml-for-jax-rs by mulesoft-labs.
the class CurrentBuild method fetchType.
public V10GType fetchType(Resource resource, Method method, Response response, TypeDeclaration typeDeclaration) {
if (typeDeclaration instanceof JSONTypeDeclaration) {
return (V10GType) ((JsonSchemaTypeGenerator) builtTypes.get(typeDeclaration.type())).getType();
}
if (typeDeclaration instanceof XMLTypeDeclaration) {
return (V10GType) ((XmlSchemaTypeGenerator) builtTypes.get(typeDeclaration.type())).getType();
}
RamlToPojo ramlToPojo = fetchRamlToPojoBuilder();
if (ramlToPojo.isInline(typeDeclaration)) {
TypeName typeName = fetchRamlToPojoBuilder().fetchType(Names.javaTypeName(resource, method, response, typeDeclaration), typeDeclaration);
V10RamlToPojoGType type = new V10RamlToPojoGType(Names.javaTypeName(resource, method, response, typeDeclaration), typeDeclaration);
type.setJavaType(typeName);
return type;
} else {
TypeName typeName = fetchRamlToPojoBuilder().fetchType(typeDeclaration.type(), typeDeclaration);
V10RamlToPojoGType type = new V10RamlToPojoGType(typeDeclaration.type(), typeDeclaration);
type.setJavaType(typeName);
return type;
}
}
use of org.raml.v2.api.model.v10.datamodel.TypeDeclaration in project raml-for-jax-rs by mulesoft-labs.
the class TypeUtilsTest method bigRaml.
@Test
public void bigRaml() throws Exception {
Map<String, GType> finder = finder("big.raml");
ObjectTypeDeclaration object = (ObjectTypeDeclaration) finder.get("RamlDataType").implementation();
TypeDeclaration extending = findProperty(object, "NilValue");
ObjectTypeDeclaration extended = (ObjectTypeDeclaration) finder.get(extending.type());
assertTrue(TypeUtils.shouldCreateNewClass(extending, extended));
}
use of org.raml.v2.api.model.v10.datamodel.TypeDeclaration in project raml-for-jax-rs by mulesoft-labs.
the class TypeUtilsTest method shouldExtendingObjectWithProperties.
@Test
public void shouldExtendingObjectWithProperties() throws Exception {
ObjectTypeDeclaration typeDeclaration = (ObjectTypeDeclaration) finder("extendObjectWithProperties.raml").get("ObjectOne").implementation();
TypeDeclaration property = findProperty(typeDeclaration, "name");
assertTrue(TypeUtils.shouldCreateNewClass(property, null));
}
use of org.raml.v2.api.model.v10.datamodel.TypeDeclaration in project raml-for-jax-rs by mulesoft-labs.
the class TypeUtilsTest method shouldExtendingAnotherWithProperties.
@Test
public void shouldExtendingAnotherWithProperties() throws Exception {
Map<String, GType> finder = finder("extendingAnotherWithProperties.raml");
ObjectTypeDeclaration object = (ObjectTypeDeclaration) finder.get("ObjectOne").implementation();
TypeDeclaration extending = findProperty(object, "name");
ObjectTypeDeclaration extended = (ObjectTypeDeclaration) finder.get(extending.type()).implementation();
assertTrue(TypeUtils.shouldCreateNewClass(extending, extended));
}
Aggregations