ModelEmitterAnnotations.annotate(supportedAnnotations, method, methodBuilder); Optional<String> description = method.getDescription(); if (description.isPresent() && !description.get().isEmpty()) { if (!method.getConsumedMediaTypes().isEmpty() && (method.getConsumedType().isPresent() || !method.getMultiFormDataParameter().isEmpty() || !method .getFormParameters() .isEmpty())) { for (RamlMediaType ramlMediaType : method.getConsumedMediaTypes()) { Type type = method.getConsumedType().get().getType(); body.ofType(typeHandler.writeType(typeRegistry, method.getConsumedType().get())); if (!method.getHeaderParameters().isEmpty()) { writeHeaderParameters(method.getHeaderParameters(), methodBuilder); if (!method.getQueryParameters().isEmpty()) { writeQueryParameters(method.getQueryParameters(), methodBuilder);
@Override public TypeHandler pickTypeWriter(RamlResourceMethod method, RamlMediaType producedMediaType) throws IOException { return pickTypeHandler(method.getProducedType().get().getType()); } };
@Override public void writeResponses(TypeRegistry typeRegistry, Collection<RamlResourceMethod> methods, TypeSelector selector, MethodBuilder methodBuilder) throws IOException { // We have no clue what the error responses are, however, we want to generate // well formed raml, so we pick one. ResponseBuilder responseBuilder = null; for (RamlResourceMethod method : methods) { if (!method.getProducedType().isPresent()) { continue; } for (RamlMediaType producedMediaType : method.getProducedMediaTypes()) { if (responseBuilder == null) { responseBuilder = ResponseBuilder.response(200); } BodyBuilder body = BodyBuilder.body(producedMediaType.toStringRepresentation()); responseBuilder.withBodies(body); TypeHandler typeHandler = selector.pickTypeWriter(method, producedMediaType); TypeBuilder type = typeHandler.writeType(typeRegistry, method.getProducedType().get()); body.ofType(type); } } if (responseBuilder != null) { methodBuilder.withResponses(responseBuilder); } }
private ResourceBuilder handleResource(RamlResource ramlResource) throws IOException { ResourceBuilder resourceBuilder = ResourceBuilder.resource(ramlResource.getPath()); Multimap<String, RamlResourceMethod> methods = ArrayListMultimap.create(); for (RamlResourceMethod method : ramlResource.getMethods()) { String key = method.getHttpMethod(); methods.put(key, method); } for (String key : methods.keySet()) { MethodBuilder methodBuilder = MethodBuilder.method(key); writeMethod(methods.get(key), methodBuilder); resourceBuilder.with(methodBuilder); } for (RamlResource child : ramlResource.getChildren()) { resources(resourceBuilder, child); } return resourceBuilder; }
private void writeFormParam(RamlResourceMethod method, BodyBuilder body) throws IOException { TypeBuilder typeBuilder = TypeBuilder.type("object"); List<RamlFormParameter> formData = method.getFormParameters(); for (RamlFormParameter formDatum : formData) { typeBuilder.withProperty(TypePropertyBuilder.property(formDatum.getName(), RamlTypes.fromType(formDatum.getType()) .getRamlSyntax())); } body.ofType(typeBuilder); }
private void writeMultiPartFormData(RamlResourceMethod method, BodyBuilder body) throws IOException { TypeBuilder typeBuilder = TypeBuilder.type("object"); List<RamlMultiFormDataParameter> formData = method.getMultiFormDataParameter(); for (RamlMultiFormDataParameter formDatum : formData) { Type type = formDatum.getPartEntity().getType(); TypeHandler typeHandler = pickTypeHandler(type); typeBuilder.withProperty(TypePropertyBuilder.property(formDatum.getName(), typeHandler.writeType(typeRegistry, formDatum.getPartEntity()))); } body.ofType(typeBuilder); }