Juan Hernandez has uploaded a new change for review. Change subject: restapi: Fix RSDL generation of DELETE methods ......................................................................
restapi: Fix RSDL generation of DELETE methods The DELETE methods have beem moved from collection to entity methods in previous patches. As a side effect they now have one parameter less, as they don't receive the identifier of the entity. The RSDL generator needs to be changed accordingly as it expects this parameter. Change-Id: Ib6d008c46dd2c880479bc553c46578535304b7e7 Signed-off-by: Juan Hernandez <juan.hernan...@redhat.com> --- M backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/rsdl/RsdlBuilder.java 1 file changed, 10 insertions(+), 28 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/63/42263/1 diff --git a/backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/rsdl/RsdlBuilder.java b/backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/rsdl/RsdlBuilder.java index 4e99926..fb88590 100644 --- a/backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/rsdl/RsdlBuilder.java +++ b/backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/rsdl/RsdlBuilder.java @@ -352,35 +352,17 @@ } private void handleDelete(String prefix, Collection<DetailedLink> results, Method m) { - boolean collectionLevel = m.getAnnotation(Path.class) == null; - if (m.getParameterTypes().length>1) { - Class<?>[] parameterTypes = m.getParameterTypes(); - Annotation[][] parameterAnnotations = m.getParameterAnnotations(); - for (int i=0; i<parameterTypes.length; i++) { - //ignore the id parameter (string), that's annotated with @PathParam - if (!( parameterTypes[i].equals(String.class) && (!(parameterAnnotations[i].length==0)))) { - DetailedLink link = new RsdlBuilder.LinkBuilder().url(prefix - + (collectionLevel ? "" : "/{" + getSingleForm(prefix) + ":id}")) - .rel(DELETE) - .requestParameter(parameterTypes[i].getSimpleName()) - .httpMethod(HttpMethod.DELETE) - .build(); - addCommonActionParameters(link); - addAsyncMatrixParameter(link); - results.add(link); - return; //we can break, because we excpect only one parameter. - } - } - } else { - DetailedLink link = new RsdlBuilder.LinkBuilder().url(prefix - + (collectionLevel ? "" : "/{" + getSingleForm(prefix) + ":id}")) - .rel(DELETE) - .httpMethod(HttpMethod.DELETE) - .build(); - addCommonActionParameters(link); - addAsyncMatrixParameter(link); - results.add(link); + DetailedLink link = new RsdlBuilder.LinkBuilder().url(prefix) + .rel(DELETE) + .httpMethod(HttpMethod.DELETE) + .build(); + Class<?>[] parameterTypes = m.getParameterTypes(); + if (parameterTypes.length > 0) { + link.getRequest().getBody().setType(parameterTypes[0].getSimpleName()); } + addCommonActionParameters(link); + addAsyncMatrixParameter(link); + results.add(link); } private void handlePut(String prefix, Collection<DetailedLink> results, Class<?> returnType) { -- To view, visit https://gerrit.ovirt.org/42263 To unsubscribe, visit https://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Ib6d008c46dd2c880479bc553c46578535304b7e7 Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Juan Hernandez <juan.hernan...@redhat.com> _______________________________________________ Engine-patches mailing list Engine-patches@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-patches