diff options
Diffstat (limited to 'aai-traversal/src/main/java/org/onap/aai/web/JerseyConfiguration.java')
-rw-r--r-- | aai-traversal/src/main/java/org/onap/aai/web/JerseyConfiguration.java | 54 |
1 files changed, 29 insertions, 25 deletions
diff --git a/aai-traversal/src/main/java/org/onap/aai/web/JerseyConfiguration.java b/aai-traversal/src/main/java/org/onap/aai/web/JerseyConfiguration.java index b979fb8..231c82b 100644 --- a/aai-traversal/src/main/java/org/onap/aai/web/JerseyConfiguration.java +++ b/aai-traversal/src/main/java/org/onap/aai/web/JerseyConfiguration.java @@ -8,7 +8,7 @@ * 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 + * 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, @@ -22,8 +22,9 @@ package org.onap.aai.web; import org.glassfish.jersey.filter.LoggingFilter; import org.glassfish.jersey.server.ResourceConfig; import org.glassfish.jersey.servlet.ServletProperties; +import org.onap.aai.rest.DslConsumer; import org.onap.aai.rest.QueryConsumer; -import org.onap.aai.rest.retired.V3ThroughV7Consumer; +import org.onap.aai.rest.RecentAPIConsumer; import org.onap.aai.rest.search.ModelAndNamedQueryRestProvider; import org.onap.aai.rest.search.SearchProvider; import org.onap.aai.rest.util.EchoResponse; @@ -34,7 +35,6 @@ import org.springframework.core.env.Environment; import org.springframework.stereotype.Component; import javax.annotation.Priority; -import javax.ws.rs.ApplicationPath; import javax.ws.rs.container.ContainerRequestFilter; import javax.ws.rs.container.ContainerResponseFilter; import java.util.List; @@ -43,7 +43,6 @@ import java.util.logging.Logger; import java.util.stream.Collectors; @Component -@ApplicationPath("/aai") public class JerseyConfiguration extends ResourceConfig { private static final Logger log = Logger.getLogger(JerseyConfiguration.class.getName()); @@ -58,8 +57,8 @@ public class JerseyConfiguration extends ResourceConfig { register(SearchProvider.class); register(ModelAndNamedQueryRestProvider.class); register(QueryConsumer.class); - - register(V3ThroughV7Consumer.class); + register(RecentAPIConsumer.class); + register(DslConsumer.class); register(EchoResponse.class); //Request Filters @@ -83,25 +82,28 @@ public class JerseyConfiguration extends ResourceConfig { // Filter them based on the clazz that was passed in Set<Class<? extends ContainerRequestFilter>> filters = reflections.getSubTypesOf(ContainerRequestFilter.class); + // Check to ensure that each of the filter has the @Priority annotation and if not throw exception for (Class filterClass : filters) { if (filterClass.getAnnotation(Priority.class) == null) { - throw new RuntimeException( - "Container filter " + filterClass.getName() + " does not have @Priority annotation"); + throw new RuntimeException("Container filter " + filterClass.getName() + " does not have @Priority annotation"); } } // Turn the set back into a list List<Class<? extends ContainerRequestFilter>> filtersList = filters - .stream() - .filter(f -> !(f.isAnnotationPresent(Profile.class) - && !env.acceptsProfiles(f.getAnnotation(Profile.class).value())) - ) - .collect(Collectors.toList()); + .stream() + .filter(f -> { + if (f.isAnnotationPresent(Profile.class) + && !env.acceptsProfiles(f.getAnnotation(Profile.class).value())) { + return false; + } + return true; + }) + .collect(Collectors.toList()); // Sort them by their priority levels value - filtersList.sort((c1, c2) -> Integer.valueOf(c1.getAnnotation(Priority.class).value()) - .compareTo(c2.getAnnotation(Priority.class).value())); + filtersList.sort((c1, c2) -> Integer.valueOf(c1.getAnnotation(Priority.class).value()).compareTo(c2.getAnnotation(Priority.class).value())); // Then register this to the jersey application filtersList.forEach(this::register); @@ -112,29 +114,31 @@ public class JerseyConfiguration extends ResourceConfig { // Find all the classes within the interceptors package Reflections reflections = new Reflections("org.onap.aai.interceptors"); // Filter them based on the clazz that was passed in - Set<Class<? extends ContainerResponseFilter>> filters = reflections - .getSubTypesOf(ContainerResponseFilter.class); + Set<Class<? extends ContainerResponseFilter>> filters = reflections.getSubTypesOf(ContainerResponseFilter.class); + // Check to ensure that each of the filter has the @Priority annotation and if not throw exception for (Class filterClass : filters) { if (filterClass.getAnnotation(Priority.class) == null) { - throw new RuntimeException( - "Container filter " + filterClass.getName() + " does not have @Priority annotation"); + throw new RuntimeException("Container filter " + filterClass.getName() + " does not have @Priority annotation"); } } // Turn the set back into a list List<Class<? extends ContainerResponseFilter>> filtersList = filters.stream() - .filter(f -> !(f.isAnnotationPresent(Profile.class) - && !env.acceptsProfiles(f.getAnnotation(Profile.class).value()))) - .collect(Collectors.toList()); + .filter(f -> { + if (f.isAnnotationPresent(Profile.class) + && !env.acceptsProfiles(f.getAnnotation(Profile.class).value())) { + return false; + } + return true; + }) + .collect(Collectors.toList()); // Sort them by their priority levels value - filtersList.sort((c1, c2) -> Integer.valueOf(c1.getAnnotation(Priority.class).value()) - .compareTo(c2.getAnnotation(Priority.class).value())); + filtersList.sort((c1, c2) -> Integer.valueOf(c1.getAnnotation(Priority.class).value()).compareTo(c2.getAnnotation(Priority.class).value())); // Then register this to the jersey application filtersList.forEach(this::register); } - } |