/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.geronimo.microprofile.openapi.impl.processor;
import org.apache.geronimo.microprofile.openapi.config.GeronimoOpenAPIConfig;
import org.apache.geronimo.microprofile.openapi.impl.model.APIResponseImpl;
import org.apache.geronimo.microprofile.openapi.impl.model.APIResponsesImpl;
import org.apache.geronimo.microprofile.openapi.impl.model.CallbackImpl;
import org.apache.geronimo.microprofile.openapi.impl.model.ComponentsImpl;
import org.apache.geronimo.microprofile.openapi.impl.model.ContactImpl;
import org.apache.geronimo.microprofile.openapi.impl.model.ContentImpl;
import org.apache.geronimo.microprofile.openapi.impl.model.EncodingImpl;
import org.apache.geronimo.microprofile.openapi.impl.model.ExampleImpl;
import org.apache.geronimo.microprofile.openapi.impl.model.ExternalDocumentationImpl;
import org.apache.geronimo.microprofile.openapi.impl.model.HeaderImpl;
import org.apache.geronimo.microprofile.openapi.impl.model.InfoImpl;
import org.apache.geronimo.microprofile.openapi.impl.model.LicenseImpl;
import org.apache.geronimo.microprofile.openapi.impl.model.LinkImpl;
import org.apache.geronimo.microprofile.openapi.impl.model.MediaTypeImpl;
import org.apache.geronimo.microprofile.openapi.impl.model.OAuthFlowImpl;
import org.apache.geronimo.microprofile.openapi.impl.model.OAuthFlowsImpl;
import org.apache.geronimo.microprofile.openapi.impl.model.OperationImpl;
import org.apache.geronimo.microprofile.openapi.impl.model.ParameterImpl;
import org.apache.geronimo.microprofile.openapi.impl.model.PathItemImpl;
import org.apache.geronimo.microprofile.openapi.impl.model.PathsImpl;
import org.apache.geronimo.microprofile.openapi.impl.model.RequestBodyImpl;
import org.apache.geronimo.microprofile.openapi.impl.model.ScopesImpl;
import org.apache.geronimo.microprofile.openapi.impl.model.SecurityRequirementImpl;
import org.apache.geronimo.microprofile.openapi.impl.model.SecuritySchemeImpl;
import org.apache.geronimo.microprofile.openapi.impl.model.ServerImpl;
import org.apache.geronimo.microprofile.openapi.impl.model.ServerVariableImpl;
import org.apache.geronimo.microprofile.openapi.impl.model.ServerVariablesImpl;
import org.apache.geronimo.microprofile.openapi.impl.model.TagImpl;
import org.apache.geronimo.microprofile.openapi.impl.processor.reflect.FieldElement;
import org.apache.geronimo.microprofile.openapi.impl.processor.spi.NamingStrategy;
import org.eclipse.microprofile.openapi.OASConfig;
import org.eclipse.microprofile.openapi.annotations.Components;
import org.eclipse.microprofile.openapi.annotations.ExternalDocumentation;
import org.eclipse.microprofile.openapi.annotations.OpenAPIDefinition;
import org.eclipse.microprofile.openapi.annotations.callbacks.Callback;
import org.eclipse.microprofile.openapi.annotations.enums.ParameterIn;
import org.eclipse.microprofile.openapi.annotations.enums.ParameterStyle;
import org.eclipse.microprofile.openapi.annotations.enums.SecuritySchemeIn;
import org.eclipse.microprofile.openapi.annotations.enums.SecuritySchemeType;
import org.eclipse.microprofile.openapi.annotations.extensions.Extension;
import org.eclipse.microprofile.openapi.annotations.headers.Header;
import org.eclipse.microprofile.openapi.annotations.info.Contact;
import org.eclipse.microprofile.openapi.annotations.info.Info;
import org.eclipse.microprofile.openapi.annotations.info.License;
import org.eclipse.microprofile.openapi.annotations.links.Link;
import org.eclipse.microprofile.openapi.annotations.links.LinkParameter;
import org.eclipse.microprofile.openapi.annotations.media.Content;
import org.eclipse.microprofile.openapi.annotations.media.ExampleObject;
import org.eclipse.microprofile.openapi.annotations.media.Schema;
import org.eclipse.microprofile.openapi.annotations.parameters.Parameter;
import org.eclipse.microprofile.openapi.annotations.parameters.Parameters;
import org.eclipse.microprofile.openapi.annotations.parameters.RequestBody;
import org.eclipse.microprofile.openapi.annotations.responses.APIResponse;
import org.eclipse.microprofile.openapi.annotations.security.OAuthFlow;
import org.eclipse.microprofile.openapi.annotations.security.OAuthFlows;
import org.eclipse.microprofile.openapi.annotations.security.SecurityRequirement;
import org.eclipse.microprofile.openapi.annotations.security.SecurityScheme;
import org.eclipse.microprofile.openapi.annotations.servers.Server;
import org.eclipse.microprofile.openapi.annotations.servers.ServerVariable;
import org.eclipse.microprofile.openapi.annotations.servers.Servers;
import org.eclipse.microprofile.openapi.annotations.tags.Tag;
import org.eclipse.microprofile.openapi.annotations.tags.Tags;
import org.eclipse.microprofile.openapi.models.OpenAPI;
import org.eclipse.microprofile.openapi.models.Operation;
import org.eclipse.microprofile.openapi.models.PathItem;
import org.eclipse.microprofile.openapi.models.examples.Example;
import org.eclipse.microprofile.openapi.models.media.Encoding;
import org.eclipse.microprofile.openapi.models.media.MediaType;
import org.eclipse.microprofile.openapi.models.responses.APIResponses;
import org.eclipse.microprofile.openapi.models.security.Scopes;
import javax.enterprise.inject.Vetoed;
import javax.json.Json;
import javax.json.JsonNumber;
import javax.json.JsonReader;
import javax.json.JsonReaderFactory;
import javax.json.JsonValue;
import javax.ws.rs.ApplicationPath;
import javax.ws.rs.BeanParam;
import javax.ws.rs.CookieParam;
import javax.ws.rs.DELETE;
import javax.ws.rs.GET;
import javax.ws.rs.HEAD;
import javax.ws.rs.HeaderParam;
import javax.ws.rs.HttpMethod;
import javax.ws.rs.OPTIONS;
import javax.ws.rs.POST;
import javax.ws.rs.PUT;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.QueryParam;
import javax.ws.rs.container.Suspended;
import javax.ws.rs.core.Context;
import javax.ws.rs.core.Response;
import java.io.StringReader;
import java.lang.annotation.Annotation;
import java.lang.reflect.AnnotatedElement;
import java.lang.reflect.ParameterizedType;
import java.lang.reflect.Type;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import java.util.concurrent.CompletionStage;
import java.util.function.Supplier;
import java.util.stream.Stream;
import static java.util.Arrays.asList;
import static java.util.Collections.emptyMap;
import static java.util.Collections.singletonList;
import static java.util.Locale.ROOT;
import static java.util.Optional.of;
import static java.util.Optional.ofNullable;
import static java.util.stream.Collectors.joining;
import static java.util.stream.Collectors.toList;
import static java.util.stream.Collectors.toMap;
@Vetoed
public class AnnotationProcessor {
private final GeronimoOpenAPIConfig config;
private final SchemaProcessor schemaProcessor;
private final NamingStrategy operationNamingStrategy;
private final JsonReaderFactory jsonReaderFactory;
private final Collection<String> operationId = new HashSet<>();
public AnnotationProcessor(final GeronimoOpenAPIConfig config, final NamingStrategy strategy,
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
Apache Geronimo Microprofile OpenAPI Implementation.zip (88个子文件)
145
pom.xml 13KB
README.adoc 1KB
geronimo-openapi-maven-plugin
pom.xml 6KB
src
it
generation-test
pom.xml 2KB
src
main
java
com
test
MyApp.java 1KB
SomeEndpoint.java 1KB
verify.bsh 234B
test
java
org
apache
geronimo
microprofile
openapi
mojo
OpenAPIMojoTest.java 4KB
main
java
org
apache
geronimo
microprofile
openapi
mojo
OpenAPIMojo.java 11KB
.gitignore 68B
geronimo-openapi-impl
pom.xml 7KB
src
test
resources
arquillian.xml 2KB
META-INF
services
org.jboss.arquillian.core.spi.LoadableExtension 62B
org.eclipse.microprofile.config.spi.ConfigSourceProvider 70B
persistence.xml 1KB
java
org
apache
geronimo
microprofile
openapi
test
TckMetaInfBugWorkaround.java 2KB
ArquillianSetup.java 3KB
YamlAnswerTest.java 3KB
impl
serialization
SerializationTest.java 3KB
processor
SchemaProcessorTest.java 12KB
AnnotationProcessorTest.java 11KB
model
OpenAPIImplTest.java 1KB
openjpa
Entity2.java 1KB
Entity1.java 2KB
main
resources
META-INF
services
org.eclipse.microprofile.openapi.spi.OASFactoryResolver 78B
org.apache.cxf.jaxrs.ext.JAXRSServerFactoryCustomizationExtension 59B
javax.enterprise.inject.spi.Extension 70B
beans.xml 1KB
java
org
apache
geronimo
microprofile
openapi
cdi
GeronimoOpenAPIExtension.java 12KB
cxf
CxfForceSetup.java 2KB
jaxrs
BaseOpenAPIYamlBodyWriter.java 2KB
OpenAPIFilter.java 4KB
JacksonOpenAPIYamlBodyWriter.java 3KB
OpenAPIEndpoint.java 1KB
impl
processor
reflect
MethodElement.java 5KB
FieldElement.java 2KB
ClassElement.java 3KB
AnnotatedMethodElement.java 1KB
AnnotationProcessor.java 63KB
spi
NamingStrategy.java 3KB
AnnotatedTypeElement.java 1KB
SchemaProcessor.java 26KB
loader
yaml
Yaml.java 10KB
ApiBindings.java 8KB
DefaultLoader.java 3KB
filter
FilterImpl.java 9KB
model
MediaTypeImpl.java 4KB
ContentImpl.java 2KB
PathItemImpl.java 9KB
ContactImpl.java 3KB
ServerVariablesImpl.java 2KB
DiscriminatorImpl.java 2KB
InfoImpl.java 4KB
ExampleImpl.java 4KB
SecurityRequirementImpl.java 2KB
ServerImpl.java 3KB
XMLImpl.java 3KB
APIResponsesImpl.java 3KB
OpenAPIImpl.java 6KB
HeaderImpl.java 7KB
LicenseImpl.java 2KB
LinkImpl.java 5KB
ExtensibleImpl.java 2KB
OAuthFlowImpl.java 3KB
ReferenceImpl.java 1KB
OAuthFlowsImpl.java 3KB
OperationImpl.java 9KB
APIMap.java 784B
ServerVariableImpl.java 3KB
ComponentsImpl.java 10KB
RequestBodyImpl.java 3KB
CallbackImpl.java 3KB
codec
Serializers.java 5KB
Deserializers.java 5KB
ParameterImpl.java 8KB
TagImpl.java 4KB
SchemaImpl.java 19KB
EncodingImpl.java 4KB
PathsImpl.java 2KB
SecuritySchemeImpl.java 5KB
ScopesImpl.java 2KB
APIResponseImpl.java 5KB
ExternalDocumentationImpl.java 3KB
resolver
OASFactoryResolverImpl.java 9KB
config
GeronimoOpenAPIConfig.java 1KB
PrefixedConfig.java 1KB
OpenAPIConfigMpConfigImpl.java 1KB
DefaultOpenAPIConfig.java 2KB
共 88 条
- 1
资源评论
zero2100
- 粉丝: 161
- 资源: 2464
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功