Moti Asayag has uploaded a new change for review. Change subject: restapi: Validate action links are terminated properly ......................................................................
restapi: Validate action links are terminated properly Due to code generator limitations, the action links are not allowed to be terminated by "/". The patch provides the validation for it. Signed-off-by: Moti Asayag <[email protected]> Change-Id: I22e52348e3ecc95599907fb04f6ec63fdc2b07b0 --- M backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/rsdl/RsdlManager.java 1 file changed, 18 insertions(+), 0 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/84/27984/1 diff --git a/backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/rsdl/RsdlManager.java b/backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/rsdl/RsdlManager.java index ebb7bf3..d8d9811 100644 --- a/backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/rsdl/RsdlManager.java +++ b/backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/rsdl/RsdlManager.java @@ -3,10 +3,12 @@ import java.io.File; import java.io.IOException; import java.io.InputStream; +import java.util.ArrayList; import java.util.List; import javax.xml.bind.JAXB; +import org.apache.commons.lang.StringUtils; import org.ovirt.engine.api.model.RSDL; import org.ovirt.engine.api.utils.ApiRootLinksCreator; import org.ovirt.engine.core.common.mode.ApplicationMode; @@ -27,6 +29,7 @@ private static final String GENERAL_METADATA_REL = "*"; private static final String GENERAL_METADATA_NAME = "The oVirt RESTful API generic descriptor."; private static final String GENERAL_METADATA_DESCRIPTION = "These options are valid for entire application."; + private static final String ILLEGAL_ACTION_LINK_SUFFIX = "/"; private static final String METADATA_FILE_NAME = "/rsdl_metadata.yaml"; @@ -37,6 +40,7 @@ String outputFileNameGluster = args[2]; MetaData metadata = loadMetaData(); + validateActionLinksFormat(metadata); generateRsdlFile(metadata, baseUri, outputFileName, ApiRootLinksCreator.getAllRels(baseUri)); generateRsdlFile(metadata, baseUri, outputFileNameGluster, ApiRootLinksCreator.getGlusterRels(baseUri)); @@ -44,6 +48,20 @@ + outputFileNameGluster); } + private static void validateActionLinksFormat(MetaData metadata) { + List<String> illegalActionLinks = new ArrayList<>(); + for (Action action : metadata.getActions()) { + String actionLink = action.getName().split("[|]")[0]; + if (actionLink.endsWith(ILLEGAL_ACTION_LINK_SUFFIX)) { + illegalActionLinks.add(action.getName()); + } + } + + if (!illegalActionLinks.isEmpty()) { + throw new RuntimeException("Invalid link suffix:\n" + StringUtils.join(illegalActionLinks, '\n')); + } + } + private static void generateRsdlFile(MetaData metadata, String baseUri, String outputFileName, List<String> rels) throws IOException, ClassNotFoundException { RSDL rsdl = buildRsdl(metadata, rels, baseUri); -- To view, visit http://gerrit.ovirt.org/27984 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I22e52348e3ecc95599907fb04f6ec63fdc2b07b0 Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Moti Asayag <[email protected]> _______________________________________________ Engine-patches mailing list [email protected] http://lists.ovirt.org/mailman/listinfo/engine-patches
