diff options
author | xg353y <xg353y@intl.att.com> | 2018-05-18 17:59:06 +0200 |
---|---|---|
committer | xg353y <xg353y@intl.att.com> | 2018-05-22 14:46:36 +0200 |
commit | 2aad6d681dcbea5564425648375f7ddca2080940 (patch) | |
tree | 34a3c864b1369c961b0998a1f3e808713f62bb3c /src/main/java | |
parent | f172e9d4656c960e81f72cc6d6e52770271df9c9 (diff) |
Generate API documents
Adding maven plugins to scan Clamp code automatically and generate
swagger.json, html and pdf documents with the exposed Clamp API
information.
Issue-ID: CLAMP-169
Change-Id: Ia46cd2aa7000251b30c9eaaa040f1f8d9246af45
Signed-off-by: xg353y <xg353y@intl.att.com>
Diffstat (limited to 'src/main/java')
-rw-r--r-- | src/main/java/org/onap/clamp/clds/service/JaxrsApplication.java | 39 |
1 files changed, 0 insertions, 39 deletions
diff --git a/src/main/java/org/onap/clamp/clds/service/JaxrsApplication.java b/src/main/java/org/onap/clamp/clds/service/JaxrsApplication.java index 3f9db33a..56fbca8d 100644 --- a/src/main/java/org/onap/clamp/clds/service/JaxrsApplication.java +++ b/src/main/java/org/onap/clamp/clds/service/JaxrsApplication.java @@ -23,51 +23,12 @@ package org.onap.clamp.clds.service; -import com.att.eelf.configuration.EELFLogger; -import com.att.eelf.configuration.EELFManager; - -import java.util.HashSet; -import java.util.List; -import java.util.Optional; -import java.util.Set; -import java.util.function.Function; -import java.util.stream.Collectors; - import javax.ws.rs.ApplicationPath; import javax.ws.rs.core.Application; -import org.springframework.beans.factory.config.BeanDefinition; -import org.springframework.context.annotation.ClassPathScanningCandidateComponentProvider; -import org.springframework.core.type.filter.AnnotationTypeFilter; import org.springframework.stereotype.Component; - @Component @ApplicationPath("/restservices/clds/v1") public class JaxrsApplication extends Application { - private static final EELFLogger logger = EELFManager.getInstance().getLogger(JaxrsApplication.class); - private Function<BeanDefinition, Optional<Class<?>>> beanDefinitionToClass = b -> { - try { - return Optional.of(Class.forName(b.getBeanClassName())); - } catch (ClassNotFoundException e) { - logger.error("Could not get class annotated with @Path for swagger documentation generation", e); - return Optional.empty(); - } - }; - - @Override - public Set<Class<?>> getClasses() { - Set<Class<?>> resources = new HashSet<>(); - resources.add(JacksonObjectMapperProvider.class); - resources.add(io.swagger.v3.jaxrs2.integration.resources.OpenApiResource.class); - resources.addAll(scan()); - return resources; - } - - private List<Class<?>> scan() { - ClassPathScanningCandidateComponentProvider scanner = new ClassPathScanningCandidateComponentProvider(false); - scanner.addIncludeFilter(new AnnotationTypeFilter(javax.ws.rs.Path.class)); - return scanner.findCandidateComponents("org.onap.clamp.clds").stream().map(beanDefinitionToClass) - .filter(Optional::isPresent).map(Optional::get).collect(Collectors.toList()); - } }
\ No newline at end of file |