private static String generateRequestExmple(final DocHttpMethod httpMethod) { List<DocParameter> params = httpMethod.getParams(); Type type = null; for (DocParameter docParameter : params) { if (requestBodyParamFilter.filter(httpMethod, docParameter)) { type = docParameter.getType(); break; } } if (type == null) { return REQUEST_HAS_NO_BODY_MSG; } String generateExample = null; try { generateExample = requestExampleGenerator.generateExample(type); generateExample = Utils.getIndentJson(generateExample); } catch (Exception e) { logger.warning( "Could not generate request example for method: " + httpMethod.getMethodSignatureName() + " with the request parameter type " + type.qualifiedTypeName() + ". Exception was: " + e); generateExample = RestDocConstants.FAILED_TO_CREATE_REQUEST_EXAMPLE + "." + LINE_SEPARATOR + "Parameter type: " + type.qualifiedTypeName() + "." + LINE_SEPARATOR + "The exception caught was " + e; } return generateExample; }
/** @param options */ private void setFlags(final String[][] options) { int flagPos = 0; int contentPos = 1; for (int i = 0; i < options.length; i++) { String flagName = options[i][flagPos]; String flagValue = null; if (options[i].length > 1) { flagValue = options[i][contentPos]; } if (RestDocConstants.VELOCITY_TEMPLATE_PATH_FLAG.equals(flagName)) { velocityTemplatePath = flagValue; logger.log(Level.INFO, "Updating flag " + flagName + " value = " + flagValue); } else if (RestDocConstants.DOC_DEST_PATH_FLAG.equals(flagName)) { docPath = flagValue; logger.log(Level.INFO, "Updating flag " + flagName + " value = " + flagValue); } else if (RestDocConstants.VERSION_FLAG.equals(flagName)) { version = flagValue; logger.log(Level.INFO, "Updating flag " + flagName + " value = " + flagValue); } else if (RestDocConstants.DOC_CSS_PATH_FLAG.equals(flagName)) { docCssPath = flagValue; logger.log(Level.INFO, "Updating flag " + flagName + " value = " + flagValue); } else if (RestDocConstants.REQUEST_EXAMPLE_GENERATOR_CLASS_FLAG.equals(flagName)) { requestExampleGeneratorName = flagValue; logger.log(Level.INFO, "Updating flag " + flagName + " value = " + flagValue); } else if (RestDocConstants.RESPONSE_EXAMPLE_GENERATOR_CLASS_FLAG.equals(flagName)) { responseExampleGeneratorName = flagValue; logger.log(Level.INFO, "Updating flag " + flagName + " value = " + flagValue); } else if (RestDocConstants.REQUEST_BODY_PARAM_FILTER_CLASS_FLAG.equals(flagName)) { requestBodyParamFilterName = flagValue; logger.log(Level.INFO, "Updating flag " + flagName + " value = " + flagValue); } } if (!StringUtils.isBlank(velocityTemplatePath)) { isUserDefineTemplatePath = true; int fileNameIndex = velocityTemplatePath.lastIndexOf(File.separator) + 1; velocityTemplateFileName = velocityTemplatePath.substring(fileNameIndex); velocityTemplatePath = velocityTemplatePath.substring(0, fileNameIndex - 1); } else { velocityTemplateFileName = RestDocConstants.VELOCITY_TEMPLATE_FILE_NAME; velocityTemplatePath = this.getClass().getClassLoader().getResource(velocityTemplateFileName).getPath(); } if (StringUtils.isBlank(docPath)) { docPath = RestDocConstants.DOC_DEST_PATH; } if (StringUtils.isBlank(version)) { version = RestDocConstants.VERSION; } if (StringUtils.isBlank(docCssPath)) { docCssPath = RestDocConstants.DOC_CSS_PATH; } initRequestExampleGenerator(requestExampleGeneratorName); logger.log( Level.INFO, "Updating request example generator class to " + requestExampleGenerator.getClass().getName()); initResponseExampleGenerator(responseExampleGeneratorName); logger.log( Level.INFO, "Updating response example generator class to " + responseExampleGenerator.getClass().getName()); initRequestBodyParamFilter(); logger.log( Level.INFO, "Updating request body parameter filter class to " + requestBodyParamFilter.getClass().getName()); }