From 2aad6d681dcbea5564425648375f7ddca2080940 Mon Sep 17 00:00:00 2001 From: xg353y Date: Fri, 18 May 2018 17:59:06 +0200 Subject: 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 --- .../onap/clamp/clds/service/JaxrsApplication.java | 39 ---------------------- 1 file changed, 39 deletions(-) (limited to 'src/main/java/org/onap') 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 3f9db33a8..56fbca8da 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>> 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> getClasses() { - Set> resources = new HashSet<>(); - resources.add(JacksonObjectMapperProvider.class); - resources.add(io.swagger.v3.jaxrs2.integration.resources.OpenApiResource.class); - resources.addAll(scan()); - return resources; - } - - private List> 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 -- cgit 1.2.3-korg