private void documentRequest(Point point) { Method method = point.getMethod(); Service service = method.getDeclaringService(); StringBuilder buffer = new StringBuilder(); buffer.append(String.format("* <<%s,%s>> ", getId(service, method), getHttpMethod(method))); point.path().forEach(locator -> { buffer.append("/"); String link = String.format("<<%s,%s>>", getId(locator.getService()), getUrlSegment(locator)); buffer.append(link); }); if (method.isAction()) { buffer.append("/"); String link = String.format("<<%s,%s>>", getId(service), getUrlSegment(method)); buffer.append(link); } docBuffer.addLine(buffer.toString()); }
private String getName(Concept concept) { String name = concept.getName().toString(); String parent = null; if (concept instanceof StructMember) { StructMember member = (StructMember) concept; parent = member.getDeclaringType().getName().toString(); } else if (concept instanceof Method) { Method method = (Method) concept; parent = method.getDeclaringService().getName().toString(); } if (parent != null) { name = parent + "/" + name; } return name; }
private void generateGetMethod(Method method) { Parameter mainParameter = jaxrsGeneratorUtils.getMainUpdateParameter(method); if (mainParameter == null) { throw new IllegalStateException("Method \"" + method + "\" doesn't have any struct parameter"); } // Most "Get" methods return the type that is declared in the model, but the root resource needs to return // "Response", because it has to be able to return the type declared in the model and also the XML schema and // the RSDL. Service service = method.getDeclaringService(); boolean isRoot = service == service.getModel().getRoot(); javaBuffer.addImport(GET.class); javaBuffer.addLine("@GET"); if (isRoot) { javaBuffer.addImport(Response.class); addResponseReturnMethod("get()"); } else { Type mainType = mainParameter.getType(); JavaTypeReference mainTypeReference = schemaNames.getXjcTypeReference(mainType); javaBuffer.addImports(mainTypeReference.getImports()); //add doGet() method with default implementation generateDoGetMethod(mainParameter, mainTypeReference); generateDoc(method); javaBuffer.addLine(); //add get() method addMethod(mainTypeReference.getText(), "get()"); } javaBuffer.addLine(); }