Michael Pasternak has uploaded a new change for review. Change subject: codegen: refactor DeleteMethodTemplate ......................................................................
codegen: refactor DeleteMethodTemplate refactor DeleteMethodTemplate to include private use-case of delete - DeleteMethodWithBodyTemplate. Change-Id: I07d65aae848d2961cd1d11d14b2acb955444acb4 Signed-off-by: Michael Pasternak <[email protected]> --- M ovirt-engine-sdk-java-codegen/src/main/java/org/ovirt/engine/sdk/codegen/rsdl/RsdlCodegen.java M ovirt-engine-sdk-java-codegen/src/main/java/org/ovirt/engine/sdk/codegen/templates/DeleteMethodTemplate.java M ovirt-engine-sdk-java-codegen/src/main/java/org/ovirt/engine/sdk/codegen/templates/DeleteMethodWithBodyTemplate.java 3 files changed, 55 insertions(+), 52 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine-sdk-java refs/changes/35/11535/1 diff --git a/ovirt-engine-sdk-java-codegen/src/main/java/org/ovirt/engine/sdk/codegen/rsdl/RsdlCodegen.java b/ovirt-engine-sdk-java-codegen/src/main/java/org/ovirt/engine/sdk/codegen/rsdl/RsdlCodegen.java index aead0ff..fdffe46 100644 --- a/ovirt-engine-sdk-java-codegen/src/main/java/org/ovirt/engine/sdk/codegen/rsdl/RsdlCodegen.java +++ b/ovirt-engine-sdk-java-codegen/src/main/java/org/ovirt/engine/sdk/codegen/rsdl/RsdlCodegen.java @@ -35,7 +35,6 @@ import org.ovirt.engine.sdk.codegen.templates.CollectionListMethodTemplate; import org.ovirt.engine.sdk.codegen.templates.CollectionTemplate; import org.ovirt.engine.sdk.codegen.templates.DeleteMethodTemplate; -import org.ovirt.engine.sdk.codegen.templates.DeleteMethodWithBodyTemplate; import org.ovirt.engine.sdk.codegen.templates.ResourceActionMethodTemplate; import org.ovirt.engine.sdk.codegen.templates.SubCollectionAddMethodTemplate; import org.ovirt.engine.sdk.codegen.templates.SubCollectionGetterTemplate; @@ -79,7 +78,6 @@ private ResourceActionMethodTemplate resourceActionMethodTemplate; private CollectionActionMethodTemplate collectionActionMethodTemplate; private DeleteMethodTemplate deleteMethodTemplate; - private DeleteMethodWithBodyTemplate deleteMethodWithBodyTemplate; private UpdateMethodTemplate updateMethodTemplate; private CollectionAddMethodTemplate collectionAddMethodTemplate; private SubCollectionAddMethodTemplate subCollectionAddMethodTemplate; @@ -124,7 +122,6 @@ this.resourceActionMethodTemplate = new ResourceActionMethodTemplate(); this.collectionActionMethodTemplate = new CollectionActionMethodTemplate(); this.deleteMethodTemplate = new DeleteMethodTemplate(); - this.deleteMethodWithBodyTemplate = new DeleteMethodWithBodyTemplate(); this.updateMethodTemplate = new UpdateMethodTemplate(); this.collectionAddMethodTemplate = new CollectionAddMethodTemplate(); this.subCollectionAddMethodTemplate = new SubCollectionAddMethodTemplate(); @@ -543,15 +540,8 @@ if (rel.equals(DELETE_REL)) { if (!resourceHolder.hasMethod(DELETE_REL)) { - if (detailedLink.isSetRequest() && detailedLink.getRequest().isSetBody() - && detailedLink.getRequest().getBody().isSetType() && ! - detailedLink.getRequest().getBody().getType().equals("")) { - resourceHolder.addMethod(DELETE_REL, - this.deleteMethodWithBodyTemplate.getTemplate(docParams, detailedLink)); - } else { - resourceHolder.addMethod(DELETE_REL, - this.deleteMethodTemplate.getTemplate(docParams, detailedLink)); - } + resourceHolder.addMethod(DELETE_REL, + this.deleteMethodTemplate.getTemplate(docParams, detailedLink)); } } else if (rel.equals(UPDATE_REL)) { if (!resourceHolder.hasMethod(UPDATE_REL)) { diff --git a/ovirt-engine-sdk-java-codegen/src/main/java/org/ovirt/engine/sdk/codegen/templates/DeleteMethodTemplate.java b/ovirt-engine-sdk-java-codegen/src/main/java/org/ovirt/engine/sdk/codegen/templates/DeleteMethodTemplate.java index b21f731..0189edf 100644 --- a/ovirt-engine-sdk-java-codegen/src/main/java/org/ovirt/engine/sdk/codegen/templates/DeleteMethodTemplate.java +++ b/ovirt-engine-sdk-java-codegen/src/main/java/org/ovirt/engine/sdk/codegen/templates/DeleteMethodTemplate.java @@ -24,12 +24,23 @@ import org.ovirt.engine.sdk.entities.ParametersSet; /** - * Provides Resource action templating services + * Provides Resource delete templating services */ public class DeleteMethodTemplate extends AbstractOverloadableTemplate { + private static final String DOC_SEPARATOR = " *"; + private static DeleteMethodWithBodyTemplate deleteMethodWithBodyTemplate; + public DeleteMethodTemplate() { super(); + initStaticContext(); + } + + /** + * Initalises static context + */ + private static synchronized void initStaticContext() { + deleteMethodWithBodyTemplate = new DeleteMethodWithBodyTemplate(); } /** @@ -39,7 +50,7 @@ */ @Override public String getTemplate() { - return getTemplate(" *", "", "", ""); + return getTemplate(DOC_SEPARATOR, "", "", ""); } /** @@ -92,37 +103,54 @@ StringBuffer urlParamsToBuild = new StringBuffer(); StringBuffer templateBuff = new StringBuffer(); - if (dl.isSetRequest() && dl.getRequest().isSetUrl() && - dl.getRequest().getUrl().isSetParametersSets() && - !dl.getRequest().getUrl().getParametersSets().isEmpty()) { + if (dl.isSetRequest() && dl.getRequest().isSetBody() && dl.getRequest().getBody().isSetType() && ! + dl.getRequest().getBody().getType().equals("") && dl.getRequest().getBody().isRequired() != null + && dl.getRequest().getBody().isRequired()) { + // add delete() with body overload (body is mandatory) + templateBuff.append(deleteMethodWithBodyTemplate.getTemplate(docParams, dl)); + } else { + if (dl.isSetRequest() && dl.getRequest().isSetUrl() && + dl.getRequest().getUrl().isSetParametersSets() && + !dl.getRequest().getUrl().getParametersSets().isEmpty()) { - // add url params - for (ParametersSet parametersSet : dl.getRequest().getUrl().getParametersSets()) { - for (Parameter parameter : parametersSet.getParameters()) { - addUrlParams(methodExtraParamsDef, urlParamsToBuild, parameter); + // add url params + for (ParametersSet parametersSet : dl.getRequest().getUrl().getParametersSets()) { + for (Parameter parameter : parametersSet.getParameters()) { + addUrlParams(methodExtraParamsDef, urlParamsToBuild, parameter); + } + // add header params + methodExtraParamsDef = + addHeaderParams(dl, methodExtraParamsDef, + headersToBuild, urlParamsToBuild, templateBuff); } + } else { // add header params methodExtraParamsDef = addHeaderParams(dl, methodExtraParamsDef, headersToBuild, urlParamsToBuild, templateBuff); } - } else { - // add header params - methodExtraParamsDef = - addHeaderParams(dl, methodExtraParamsDef, - headersToBuild, urlParamsToBuild, templateBuff); - } - // add default method - templateBuff.append(getTemplate()); + // add default method + templateBuff.append(getTemplate()); - // add method overload containing url/matrix params - if (methodExtraParamsDef.length() > 0) { - templateBuff.append(getTemplate( - StringUtils.combine(docParams, DocsGen.generateUrlAndHeadersParams(dl)), - methodExtraParamsDef.toString(), - headersToBuild.toString(), - urlParamsToBuild.toString())); + // add delete() overload with url/header params + if (methodExtraParamsDef.length() > 0) { + templateBuff.append(getTemplate( + StringUtils.combine(DOC_SEPARATOR, DocsGen.generateUrlAndHeadersParams(dl)), + methodExtraParamsDef.toString(), + headersToBuild.toString(), + urlParamsToBuild.toString())); + } + + // add delete() with body overload (body is optional) + if (dl.isSetRequest() && dl.getRequest().isSetBody() && dl.getRequest().getBody().isSetType() + && !dl.getRequest().getBody().getType().equals("") + && ((dl.getRequest().getBody().isRequired() != null + && !dl.getRequest().getBody().isRequired()) + || + dl.getRequest().getBody().isRequired() == null)) { + templateBuff.append(deleteMethodWithBodyTemplate.getTemplate(docParams, dl)); + } } return templateBuff.toString(); diff --git a/ovirt-engine-sdk-java-codegen/src/main/java/org/ovirt/engine/sdk/codegen/templates/DeleteMethodWithBodyTemplate.java b/ovirt-engine-sdk-java-codegen/src/main/java/org/ovirt/engine/sdk/codegen/templates/DeleteMethodWithBodyTemplate.java index 73ff970..bd6580e 100644 --- a/ovirt-engine-sdk-java-codegen/src/main/java/org/ovirt/engine/sdk/codegen/templates/DeleteMethodWithBodyTemplate.java +++ b/ovirt-engine-sdk-java-codegen/src/main/java/org/ovirt/engine/sdk/codegen/templates/DeleteMethodWithBodyTemplate.java @@ -24,22 +24,12 @@ import org.ovirt.engine.sdk.entities.ParametersSet; /** - * Provides Resource action templating services + * Provides Resource delete with body templating services */ public class DeleteMethodWithBodyTemplate extends AbstractOverloadableTemplate { - private static DeleteMethodTemplate deleteMethodTemplate; - public DeleteMethodWithBodyTemplate() { super(); - initStaticContext(); - } - - /** - * Initalises static context - */ - private static synchronized void initStaticContext() { - deleteMethodTemplate = new DeleteMethodTemplate(); } /** @@ -110,11 +100,6 @@ addHeaderParams(detailedLink, methodExtraParamsDef, headersToBuild, urlParamsToBuild, templateBuff); } - - // add default method - templateBuff.append(deleteMethodTemplate.getTemplate( - " *", - detailedLink)); // add method overload containing url/matrix params if (methodExtraParamsDef.length() > 0) { -- To view, visit http://gerrit.ovirt.org/11535 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I07d65aae848d2961cd1d11d14b2acb955444acb4 Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine-sdk-java Gerrit-Branch: master Gerrit-Owner: Michael Pasternak <[email protected]> _______________________________________________ Engine-patches mailing list [email protected] http://lists.ovirt.org/mailman/listinfo/engine-patches
