@Test public void testProcessParameters_TypesThatAreNotRefOrBody(@Injectable final HeaderParameter headerParameter, @Injectable final QueryParameter queryParameter, @Injectable final CookieParameter cookieParameter, @Injectable final PathParameter pathParameter) throws Exception { expectedModelProcessorCreation(); new Expectations() { { headerParameter.getSchema(); result = null; headerParameter.getContent(); result = null; queryParameter.getSchema(); result = null; queryParameter.getContent(); result = null; cookieParameter.getSchema(); result = null; cookieParameter.getContent(); result = null; pathParameter.getSchema(); result = null; pathParameter.getContent(); result = null; } }; final List<Parameter> processedParameters = new ParameterProcessor(cache, openAPI) .processParameters(Arrays.asList(headerParameter, queryParameter, cookieParameter, pathParameter)); new FullVerifications() {{ headerParameter.get$ref(); times = 1; queryParameter.get$ref(); times = 1; cookieParameter.get$ref(); times = 1; pathParameter.get$ref(); times = 1; }}; assertEquals(processedParameters.size(), 4); assertEquals(processedParameters.get(0), headerParameter); assertEquals(processedParameters.get(1), queryParameter); assertEquals(processedParameters.get(2), cookieParameter); assertEquals(processedParameters.get(3), pathParameter); }
public List<Parameter> processParameters(List<Parameter> parameters) { if (parameters == null) { return null; } final List<Parameter> processedPathLevelParameters = new ArrayList<>(); final List<Parameter> refParameters = new ArrayList<>(); for (Parameter parameter : parameters) { if (parameter.get$ref() != null) { RefFormat refFormat = computeRefFormat(parameter.get$ref()); final Parameter resolvedParameter = cache.loadRef(parameter.get$ref(), refFormat, Parameter.class); if (parameter.get$ref().startsWith("#") && parameter.get$ref().indexOf("#/components/parameters") <= -1) { continue; } if(resolvedParameter == null) { processedPathLevelParameters.add(parameter); continue; } boolean matched = false; for(Parameter param : processedPathLevelParameters) { if(param != null && param.getName() != null && param.getName().equals(resolvedParameter.getName())) { matched = true; break; } } for(Parameter param : parameters) { if(param.getName() != null) { if (param.getName().equals(resolvedParameter.getName())) { matched = true; break; } } } if(matched) { refParameters.add(resolvedParameter); } else { processedPathLevelParameters.add(resolvedParameter); } } else { processedPathLevelParameters.add(parameter); } } for(Parameter resolvedParameter : refParameters) { int pos = 0; for(Parameter param : processedPathLevelParameters) { if(param.getName().equals(resolvedParameter.getName())) { processedPathLevelParameters.set(pos, resolvedParameter); break; } pos++; } } for (Parameter parameter : processedPathLevelParameters) { Schema schema = parameter.getSchema(); if(schema != null){ schemaProcessor.processSchema(schema); }else if(parameter.getContent() != null){ Map<String,MediaType> content = parameter.getContent(); for( String mediaName : content.keySet()) { MediaType mediaType = content.get(mediaName); if(mediaType.getSchema()!= null) { schema = mediaType.getSchema(); if (schema != null) { schemaProcessor.processSchema(schema); } } if(mediaType.getExamples() != null) { for(Example ex: mediaType.getExamples().values()){ exampleProcessor.processExample(ex); } } } } else if(parameter.getContent() != null){ Map<String,MediaType> content = parameter.getContent(); for( String mediaName : content.keySet()) { MediaType mediaType = content.get(mediaName); if(mediaType.getSchema()!= null) { schema = mediaType.getSchema(); if (schema != null) { schemaProcessor.processSchema(schema); } } if(mediaType.getExamples() != null) { for(Example ex: mediaType.getExamples().values()){ exampleProcessor.processExample(ex); } } } } } return processedPathLevelParameters; }
ParameterProcessor { public List<Parameter> processParameters(List<Parameter> parameters) { if (parameters == null) { return null; } final List<Parameter> processedPathLevelParameters = new ArrayList<>(); final List<Parameter> refParameters = new ArrayList<>(); for (Parameter parameter : parameters) { if (parameter.get$ref() != null) { RefFormat refFormat = computeRefFormat(parameter.get$ref()); final Parameter resolvedParameter = cache.loadRef(parameter.get$ref(), refFormat, Parameter.class); if (parameter.get$ref().startsWith("#") && parameter.get$ref().indexOf("#/components/parameters") <= -1) { continue; } if(resolvedParameter == null) { processedPathLevelParameters.add(parameter); continue; } boolean matched = false; for(Parameter param : processedPathLevelParameters) { if(param != null && param.getName() != null && param.getName().equals(resolvedParameter.getName())) { matched = true; break; } } for(Parameter param : parameters) { if(param.getName() != null) { if (param.getName().equals(resolvedParameter.getName())) { matched = true; break; } } } if(matched) { refParameters.add(resolvedParameter); } else { processedPathLevelParameters.add(resolvedParameter); } } else { processedPathLevelParameters.add(parameter); } } for(Parameter resolvedParameter : refParameters) { int pos = 0; for(Parameter param : processedPathLevelParameters) { if(param.getName().equals(resolvedParameter.getName())) { processedPathLevelParameters.set(pos, resolvedParameter); break; } pos++; } } for (Parameter parameter : processedPathLevelParameters) { Schema schema = parameter.getSchema(); if(schema != null){ schemaProcessor.processSchema(schema); }else if(parameter.getContent() != null){ Map<String,MediaType> content = parameter.getContent(); for( String mediaName : content.keySet()) { MediaType mediaType = content.get(mediaName); if(mediaType.getSchema()!= null) { schema = mediaType.getSchema(); if (schema != null) { schemaProcessor.processSchema(schema); } } if(mediaType.getExamples() != null) { for(Example ex: mediaType.getExamples().values()){ exampleProcessor.processExample(ex); } } } } else if(parameter.getContent() != null){ Map<String,MediaType> content = parameter.getContent(); for( String mediaName : content.keySet()) { MediaType mediaType = content.get(mediaName); if(mediaType.getSchema()!= null) { schema = mediaType.getSchema(); if (schema != null) { schemaProcessor.processSchema(schema); } } if(mediaType.getExamples() != null) { for(Example ex: mediaType.getExamples().values()){ exampleProcessor.processExample(ex); } } } } } return processedPathLevelParameters; } }
ParameterProcessor { public List<Parameter> processParameters(List<Parameter> parameters) { if (parameters == null) { return null; } final List<Parameter> processedPathLevelParameters = new ArrayList<>(); final List<Parameter> refParameters = new ArrayList<>(); for (Parameter parameter : parameters) { if (parameter.get$ref() != null) { RefFormat refFormat = computeRefFormat(parameter.get$ref()); final Parameter resolvedParameter = cache.loadRef(parameter.get$ref(), refFormat, Parameter.class); if (parameter.get$ref().startsWith("#") && parameter.get$ref().indexOf("#/components/parameters") <= -1) { continue; } if(resolvedParameter == null) { processedPathLevelParameters.add(parameter); continue; } boolean matched = false; for(Parameter param : processedPathLevelParameters) { if(param != null && param.getName() != null && param.getName().equals(resolvedParameter.getName())) { matched = true; break; } } for(Parameter param : parameters) { if(param.getName() != null) { if (param.getName().equals(resolvedParameter.getName())) { matched = true; break; } } } if(matched) { refParameters.add(resolvedParameter); } else { processedPathLevelParameters.add(resolvedParameter); } } else { processedPathLevelParameters.add(parameter); } } for(Parameter resolvedParameter : refParameters) { int pos = 0; for(Parameter param : processedPathLevelParameters) { if(param.getName().equals(resolvedParameter.getName())) { processedPathLevelParameters.set(pos, resolvedParameter); break; } pos++; } } for (Parameter parameter : processedPathLevelParameters) { Schema schema = parameter.getSchema(); if(schema != null){ schemaProcessor.processSchema(schema); }else if(parameter.getContent() != null){ Map<String,MediaType> content = parameter.getContent(); for( String mediaName : content.keySet()) { MediaType mediaType = content.get(mediaName); if(mediaType.getSchema()!= null) { schema = mediaType.getSchema(); if (schema != null) { schemaProcessor.processSchema(schema); } } if(mediaType.getExamples() != null) { for(Example ex: mediaType.getExamples().values()){ exampleProcessor.processExample(ex); } } } } else if(parameter.getContent() != null){ Map<String,MediaType> content = parameter.getContent(); for( String mediaName : content.keySet()) { MediaType mediaType = content.get(mediaName); if(mediaType.getSchema()!= null) { schema = mediaType.getSchema(); if (schema != null) { schemaProcessor.processSchema(schema); } } if(mediaType.getExamples() != null) { for(Example ex: mediaType.getExamples().values()){ exampleProcessor.processExample(ex); } } } } } return processedPathLevelParameters; } ParameterProcessor(ResolverCache cache, OpenAPI openAPI); }
ParameterProcessor { public List<Parameter> processParameters(List<Parameter> parameters) { if (parameters == null) { return null; } final List<Parameter> processedPathLevelParameters = new ArrayList<>(); final List<Parameter> refParameters = new ArrayList<>(); for (Parameter parameter : parameters) { if (parameter.get$ref() != null) { RefFormat refFormat = computeRefFormat(parameter.get$ref()); final Parameter resolvedParameter = cache.loadRef(parameter.get$ref(), refFormat, Parameter.class); if (parameter.get$ref().startsWith("#") && parameter.get$ref().indexOf("#/components/parameters") <= -1) { continue; } if(resolvedParameter == null) { processedPathLevelParameters.add(parameter); continue; } boolean matched = false; for(Parameter param : processedPathLevelParameters) { if(param != null && param.getName() != null && param.getName().equals(resolvedParameter.getName())) { matched = true; break; } } for(Parameter param : parameters) { if(param.getName() != null) { if (param.getName().equals(resolvedParameter.getName())) { matched = true; break; } } } if(matched) { refParameters.add(resolvedParameter); } else { processedPathLevelParameters.add(resolvedParameter); } } else { processedPathLevelParameters.add(parameter); } } for(Parameter resolvedParameter : refParameters) { int pos = 0; for(Parameter param : processedPathLevelParameters) { if(param.getName().equals(resolvedParameter.getName())) { processedPathLevelParameters.set(pos, resolvedParameter); break; } pos++; } } for (Parameter parameter : processedPathLevelParameters) { Schema schema = parameter.getSchema(); if(schema != null){ schemaProcessor.processSchema(schema); }else if(parameter.getContent() != null){ Map<String,MediaType> content = parameter.getContent(); for( String mediaName : content.keySet()) { MediaType mediaType = content.get(mediaName); if(mediaType.getSchema()!= null) { schema = mediaType.getSchema(); if (schema != null) { schemaProcessor.processSchema(schema); } } if(mediaType.getExamples() != null) { for(Example ex: mediaType.getExamples().values()){ exampleProcessor.processExample(ex); } } } } else if(parameter.getContent() != null){ Map<String,MediaType> content = parameter.getContent(); for( String mediaName : content.keySet()) { MediaType mediaType = content.get(mediaName); if(mediaType.getSchema()!= null) { schema = mediaType.getSchema(); if (schema != null) { schemaProcessor.processSchema(schema); } } if(mediaType.getExamples() != null) { for(Example ex: mediaType.getExamples().values()){ exampleProcessor.processExample(ex); } } } } } return processedPathLevelParameters; } ParameterProcessor(ResolverCache cache, OpenAPI openAPI); void processParameter(Parameter parameter); List<Parameter> processParameters(List<Parameter> parameters); }
ParameterProcessor { public List<Parameter> processParameters(List<Parameter> parameters) { if (parameters == null) { return null; } final List<Parameter> processedPathLevelParameters = new ArrayList<>(); final List<Parameter> refParameters = new ArrayList<>(); for (Parameter parameter : parameters) { if (parameter.get$ref() != null) { RefFormat refFormat = computeRefFormat(parameter.get$ref()); final Parameter resolvedParameter = cache.loadRef(parameter.get$ref(), refFormat, Parameter.class); if (parameter.get$ref().startsWith("#") && parameter.get$ref().indexOf("#/components/parameters") <= -1) { continue; } if(resolvedParameter == null) { processedPathLevelParameters.add(parameter); continue; } boolean matched = false; for(Parameter param : processedPathLevelParameters) { if(param != null && param.getName() != null && param.getName().equals(resolvedParameter.getName())) { matched = true; break; } } for(Parameter param : parameters) { if(param.getName() != null) { if (param.getName().equals(resolvedParameter.getName())) { matched = true; break; } } } if(matched) { refParameters.add(resolvedParameter); } else { processedPathLevelParameters.add(resolvedParameter); } } else { processedPathLevelParameters.add(parameter); } } for(Parameter resolvedParameter : refParameters) { int pos = 0; for(Parameter param : processedPathLevelParameters) { if(param.getName().equals(resolvedParameter.getName())) { processedPathLevelParameters.set(pos, resolvedParameter); break; } pos++; } } for (Parameter parameter : processedPathLevelParameters) { Schema schema = parameter.getSchema(); if(schema != null){ schemaProcessor.processSchema(schema); }else if(parameter.getContent() != null){ Map<String,MediaType> content = parameter.getContent(); for( String mediaName : content.keySet()) { MediaType mediaType = content.get(mediaName); if(mediaType.getSchema()!= null) { schema = mediaType.getSchema(); if (schema != null) { schemaProcessor.processSchema(schema); } } if(mediaType.getExamples() != null) { for(Example ex: mediaType.getExamples().values()){ exampleProcessor.processExample(ex); } } } } else if(parameter.getContent() != null){ Map<String,MediaType> content = parameter.getContent(); for( String mediaName : content.keySet()) { MediaType mediaType = content.get(mediaName); if(mediaType.getSchema()!= null) { schema = mediaType.getSchema(); if (schema != null) { schemaProcessor.processSchema(schema); } } if(mediaType.getExamples() != null) { for(Example ex: mediaType.getExamples().values()){ exampleProcessor.processExample(ex); } } } } } return processedPathLevelParameters; } ParameterProcessor(ResolverCache cache, OpenAPI openAPI); void processParameter(Parameter parameter); List<Parameter> processParameters(List<Parameter> parameters);  }