summaryrefslogtreecommitdiffstats
path: root/aai-resources
diff options
context:
space:
mode:
authorFiete Ostkamp <Fiete.Ostkamp@telekom.de>2023-10-18 14:29:59 +0200
committerFiete Ostkamp <Fiete.Ostkamp@telekom.de>2023-10-18 14:29:59 +0200
commit7a3084fa7d00fc77bc286ca0a487b14d31f919e8 (patch)
treee5ac43ef683a64fbd502d57447bd41c6f0cf940a /aai-resources
parenta24b9261f0f5b990ef2b0b79feb0ae052a43520f (diff)
Update spring-boot to 2.2
- update spring-boot to latest available 2.2.X release - pom inheritance via aai-parent pom makes it necessary to also explicitly specify spring framework versions - replace deprecations around Profiles Issue-ID: AAI-3665 Change-Id: I74b22a76ef14217b888ae6bb12cb83d86f9e4241 Signed-off-by: Fiete Ostkamp <Fiete.Ostkamp@telekom.de>
Diffstat (limited to 'aai-resources')
-rw-r--r--aai-resources/.classpath35
-rw-r--r--aai-resources/pom.xml5
-rw-r--r--aai-resources/src/main/java/org/onap/aai/ResourcesApp.java4
-rw-r--r--aai-resources/src/main/java/org/onap/aai/ResourcesProfiles.java (renamed from aai-resources/src/main/java/org/onap/aai/Profiles.java)4
-rw-r--r--aai-resources/src/main/java/org/onap/aai/interceptors/pre/OneWaySslAuthorization.java4
-rw-r--r--aai-resources/src/main/java/org/onap/aai/rest/LegacyMoxyConsumer.java17
-rw-r--r--aai-resources/src/main/java/org/onap/aai/rest/security/WebSecurityConfig.java2
-rw-r--r--aai-resources/src/main/java/org/onap/aai/service/AuthorizationService.java4
-rw-r--r--aai-resources/src/main/java/org/onap/aai/web/JerseyConfiguration.java4
-rw-r--r--aai-resources/src/main/resources/application.properties2
-rw-r--r--aai-resources/src/test/java/org/onap/aai/ResourcesTestConfiguration.java5
-rw-r--r--aai-resources/src/test/resources/application-test.properties3
12 files changed, 57 insertions, 32 deletions
diff --git a/aai-resources/.classpath b/aai-resources/.classpath
index bc00f63..fadd195 100644
--- a/aai-resources/.classpath
+++ b/aai-resources/.classpath
@@ -1,58 +1,61 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
- <classpathentry kind="src" output="target/classes" path="src/main/java">
+ <classpathentry excluding="**" kind="src" output="target/classes" path="src/main/resources">
<attributes>
+ <attribute name="maven.pomderived" value="true"/>
<attribute name="optional" value="true"/>
+ </attributes>
+ </classpathentry>
+ <classpathentry excluding="**" kind="src" output="target/test-classes" path="src/test/resources">
+ <attributes>
<attribute name="maven.pomderived" value="true"/>
+ <attribute name="test" value="true"/>
+ <attribute name="optional" value="true"/>
</attributes>
</classpathentry>
- <classpathentry excluding="**" kind="src" output="target/classes" path="src/main/resources">
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8">
<attributes>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
- <classpathentry excluding="**" kind="src" output="target/test-classes" path="src/test/resources">
+ <classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
<attributes>
<attribute name="maven.pomderived" value="true"/>
- <attribute name="test" value="true"/>
</attributes>
</classpathentry>
- <classpathentry kind="src" output="target/test-classes" path="src/test/java">
+ <classpathentry excluding="**" kind="src" output="target/classes" path="src/main/docker">
<attributes>
- <attribute name="optional" value="true"/>
<attribute name="maven.pomderived" value="true"/>
- <attribute name="test" value="true"/>
+ <attribute name="optional" value="true"/>
</attributes>
</classpathentry>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8">
+ <classpathentry excluding="**" kind="src" output="target/classes" path="src/main/swm">
<attributes>
<attribute name="maven.pomderived" value="true"/>
+ <attribute name="optional" value="true"/>
</attributes>
</classpathentry>
- <classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
+ <classpathentry kind="src" output="target/classes" path="src/main/java">
<attributes>
+ <attribute name="optional" value="true"/>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
- <classpathentry excluding="**" kind="src" output="target/classes" path="src/main/docker">
+ <classpathentry kind="src" output="target/test-classes" path="src/test/java">
<attributes>
+ <attribute name="optional" value="true"/>
<attribute name="maven.pomderived" value="true"/>
+ <attribute name="test" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="src" path="target/generated-sources/annotations">
<attributes>
<attribute name="optional" value="true"/>
- <attribute name="maven.pomderived" value="true"/>
- <attribute name="ignore_optional_problems" value="true"/>
- <attribute name="m2e-apt" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="src" output="target/test-classes" path="target/generated-test-sources/test-annotations">
<attributes>
<attribute name="optional" value="true"/>
- <attribute name="maven.pomderived" value="true"/>
- <attribute name="ignore_optional_problems" value="true"/>
- <attribute name="m2e-apt" value="true"/>
<attribute name="test" value="true"/>
</attributes>
</classpathentry>
diff --git a/aai-resources/pom.xml b/aai-resources/pom.xml
index 0da4672..dcc125c 100644
--- a/aai-resources/pom.xml
+++ b/aai-resources/pom.xml
@@ -32,6 +32,10 @@
</parent>
<properties>
<java.version>1.8</java.version>
+ <spring.boot.version>2.2.13.RELEASE</spring.boot.version>
+ <spring.version>5.2.12.RELEASE</spring.version>
+ <spring.jms.version>${spring.version}</spring.jms.version>
+ <spring.test.version>${spring.version}</spring.test.version>
<start-class>org.onap.aai.ResourcesApp</start-class>
<!-- Default docker registry that maven fabric plugin will try to pull from -->
@@ -93,7 +97,6 @@
<!-- Integration tests will be skipped by default. Could be enabled here or by -DskipITs=false-->
<skipITs>true</skipITs>
- <!-- <swagger.version>1.5.24</swagger.version> -->
<!-- https://mvnrepository.com/artifact/io.swagger/swagger-core -->
<swagger.version>1.6.8</swagger.version>
</properties>
diff --git a/aai-resources/src/main/java/org/onap/aai/ResourcesApp.java b/aai-resources/src/main/java/org/onap/aai/ResourcesApp.java
index 0538416..007b0d1 100644
--- a/aai-resources/src/main/java/org/onap/aai/ResourcesApp.java
+++ b/aai-resources/src/main/java/org/onap/aai/ResourcesApp.java
@@ -42,6 +42,7 @@ import org.springframework.boot.autoconfigure.jdbc.DataSourceTransactionManagerA
import org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.core.env.Environment;
+import org.springframework.core.env.Profiles;
@SpringBootApplication(
exclude = {DataSourceAutoConfiguration.class, DataSourceTransactionManagerAutoConfiguration.class,
@@ -88,7 +89,8 @@ public class ResourcesApp {
logger.info("Starting AAIGraph connections and the NodeInjestor");
- if (env.acceptsProfiles(Profiles.TWO_WAY_SSL) && env.acceptsProfiles(Profiles.ONE_WAY_SSL)) {
+ // if (env.acceptsProfiles(Profiles.TWO_WAY_SSL) && env.acceptsProfiles(Profiles.ONE_WAY_SSL)) {
+ if (env.acceptsProfiles(Profiles.of(ResourcesProfiles.TWO_WAY_SSL, ResourcesProfiles.ONE_WAY_SSL))) {
logger.warn("You have seriously misconfigured your application");
}
diff --git a/aai-resources/src/main/java/org/onap/aai/Profiles.java b/aai-resources/src/main/java/org/onap/aai/ResourcesProfiles.java
index 9c7c05f..7fecfec 100644
--- a/aai-resources/src/main/java/org/onap/aai/Profiles.java
+++ b/aai-resources/src/main/java/org/onap/aai/ResourcesProfiles.java
@@ -20,7 +20,7 @@
package org.onap.aai;
-public final class Profiles {
+public final class ResourcesProfiles {
public static final String DMAAP = "dmaap";
public static final String DME2 = "dme2";
@@ -32,6 +32,6 @@ public final class Profiles {
public static final String AAF_CERT_AUTHENTICATION = "aaf-cert-auth";
public static final String TWO_WAY_SSL = "two-way-ssl";
- private Profiles() {
+ private ResourcesProfiles() {
}
}
diff --git a/aai-resources/src/main/java/org/onap/aai/interceptors/pre/OneWaySslAuthorization.java b/aai-resources/src/main/java/org/onap/aai/interceptors/pre/OneWaySslAuthorization.java
index bc7390e..b532105 100644
--- a/aai-resources/src/main/java/org/onap/aai/interceptors/pre/OneWaySslAuthorization.java
+++ b/aai-resources/src/main/java/org/onap/aai/interceptors/pre/OneWaySslAuthorization.java
@@ -32,7 +32,7 @@ import javax.ws.rs.container.PreMatching;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
-import org.onap.aai.Profiles;
+import org.onap.aai.ResourcesProfiles;
import org.onap.aai.exceptions.AAIException;
import org.onap.aai.interceptors.AAIContainerFilter;
import org.onap.aai.logging.ErrorLogHelper;
@@ -40,7 +40,7 @@ import org.onap.aai.service.AuthorizationService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Profile;
-@Profile(Profiles.ONE_WAY_SSL)
+@Profile(ResourcesProfiles.ONE_WAY_SSL)
@PreMatching
@Priority(AAIRequestFilterPriority.AUTHORIZATION)
public class OneWaySslAuthorization extends AAIContainerFilter implements ContainerRequestFilter {
diff --git a/aai-resources/src/main/java/org/onap/aai/rest/LegacyMoxyConsumer.java b/aai-resources/src/main/java/org/onap/aai/rest/LegacyMoxyConsumer.java
index f429bf7..5208726 100644
--- a/aai-resources/src/main/java/org/onap/aai/rest/LegacyMoxyConsumer.java
+++ b/aai-resources/src/main/java/org/onap/aai/rest/LegacyMoxyConsumer.java
@@ -32,6 +32,7 @@ import java.util.stream.Collectors;
import javax.servlet.http.HttpServletRequest;
import javax.ws.rs.*;
import javax.ws.rs.core.*;
+import javax.ws.rs.core.Response.Status;
import org.apache.commons.lang3.ObjectUtils;
import org.javatuples.Pair;
@@ -189,6 +190,22 @@ public class LegacyMoxyConsumer extends RESTAPI {
}
/**
+ * Only PUT, DELETE and OPTIONS methods are allowed for /relationship-list/relationship endpoints
+ * This prevents the GET Path matching for "/{uri: .+}" to match for paths ending with /relationship-list/relationship
+ * The METHOD_NOT_ALLOWED code will be mapped to a BadRequest in the InvalidResponseStatus interceptor
+ */
+ @GET
+ @Path("/{uri: .+}/relationship-list/relationship")
+ @Consumes({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
+ @Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
+ public Response disallowGetOnRelationshipListRelationship() {
+ return Response
+ .status(Status.METHOD_NOT_ALLOWED)
+ .allow("PUT","DELETE","OPTIONS")
+ .build();
+ }
+
+ /**
* Gets the legacy.
*
* @param content the content
diff --git a/aai-resources/src/main/java/org/onap/aai/rest/security/WebSecurityConfig.java b/aai-resources/src/main/java/org/onap/aai/rest/security/WebSecurityConfig.java
index ca303b1..c63a70a 100644
--- a/aai-resources/src/main/java/org/onap/aai/rest/security/WebSecurityConfig.java
+++ b/aai-resources/src/main/java/org/onap/aai/rest/security/WebSecurityConfig.java
@@ -72,7 +72,7 @@ public class WebSecurityConfig extends KeycloakWebSecurityConfigurerAdapter {
}
@Override
- public void configure(WebSecurity web) throws Exception {
+ public void configure(WebSecurity web) {
web.ignoring().regexMatchers("^.*/util/echo$");
}
diff --git a/aai-resources/src/main/java/org/onap/aai/service/AuthorizationService.java b/aai-resources/src/main/java/org/onap/aai/service/AuthorizationService.java
index a5eca4e..31dd953 100644
--- a/aai-resources/src/main/java/org/onap/aai/service/AuthorizationService.java
+++ b/aai-resources/src/main/java/org/onap/aai/service/AuthorizationService.java
@@ -32,14 +32,14 @@ import java.util.stream.Stream;
import javax.annotation.PostConstruct;
import org.eclipse.jetty.util.security.Password;
-import org.onap.aai.Profiles;
+import org.onap.aai.ResourcesProfiles;
import org.onap.aai.util.AAIConstants;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.context.annotation.Profile;
import org.springframework.stereotype.Service;
-@Profile(Profiles.ONE_WAY_SSL)
+@Profile(ResourcesProfiles.ONE_WAY_SSL)
@Service
public class AuthorizationService {
diff --git a/aai-resources/src/main/java/org/onap/aai/web/JerseyConfiguration.java b/aai-resources/src/main/java/org/onap/aai/web/JerseyConfiguration.java
index c22832c..24004d1 100644
--- a/aai-resources/src/main/java/org/onap/aai/web/JerseyConfiguration.java
+++ b/aai-resources/src/main/java/org/onap/aai/web/JerseyConfiguration.java
@@ -52,6 +52,7 @@ import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Profile;
import org.springframework.core.env.Environment;
+import org.springframework.core.env.Profiles;
@Configuration
public class JerseyConfiguration {
@@ -67,7 +68,6 @@ public class JerseyConfiguration {
private final Reflections loggingReflections = new Reflections(LOGGING_INTERCEPTOR_PACKAGE);
private final Environment environment;
- @Autowired
public JerseyConfiguration(Environment environment) {
this.environment = environment;
}
@@ -127,7 +127,7 @@ public class JerseyConfiguration {
private boolean isEnabledByActiveProfiles(AnnotatedElement annotatedElement) {
return !annotatedElement.isAnnotationPresent(Profile.class)
- || environment.acceptsProfiles(annotatedElement.getAnnotation(Profile.class).value());
+ || environment.acceptsProfiles(Profiles.of(annotatedElement.getAnnotation(Profile.class).value()));
}
private class MissingFilterPriorityException extends RuntimeException {
diff --git a/aai-resources/src/main/resources/application.properties b/aai-resources/src/main/resources/application.properties
index f8e60c4..af2e16e 100644
--- a/aai-resources/src/main/resources/application.properties
+++ b/aai-resources/src/main/resources/application.properties
@@ -98,7 +98,7 @@ management.server.port=8448
management.endpoints.enabled-by-default=true
#To Enable Actuator Endpoint, you can override this in OOM Charts
management.endpoints.web.exposure.include=info, health, prometheus
-management.metrics.web.server.auto-time-requests=false
+management.metrics.web.server.request.autotime.enabled=false
management.metrics.distribution.percentiles-histogram[http.server.requests]=true
management.metrics.distribution.sla[http.server.requests]=20ms, 30ms, 40ms, 50ms, 60ms, 70ms, 80ms, 90ms, 100ms, 500ms, 1000ms, 5000ms, 7000ms
management.metrics.tags.group_id=aai
diff --git a/aai-resources/src/test/java/org/onap/aai/ResourcesTestConfiguration.java b/aai-resources/src/test/java/org/onap/aai/ResourcesTestConfiguration.java
index 7e91341..93b1519 100644
--- a/aai-resources/src/test/java/org/onap/aai/ResourcesTestConfiguration.java
+++ b/aai-resources/src/test/java/org/onap/aai/ResourcesTestConfiguration.java
@@ -38,6 +38,7 @@ import org.springframework.boot.test.context.TestConfiguration;
import org.springframework.boot.web.client.RestTemplateBuilder;
import org.springframework.context.annotation.Bean;
import org.springframework.core.env.Environment;
+import org.springframework.core.env.Profiles;
import org.springframework.http.HttpStatus;
import org.springframework.http.client.ClientHttpResponse;
import org.springframework.http.client.HttpComponentsClientHttpRequestFactory;
@@ -61,7 +62,7 @@ public class ResourcesTestConfiguration {
RestTemplate restTemplate(RestTemplateBuilder builder) throws Exception {
RestTemplate restTemplate = null;
- if (env.acceptsProfiles("one-way-ssl", "two-way-ssl")) {
+ if (env.acceptsProfiles(Profiles.of(ResourcesProfiles.TWO_WAY_SSL, ResourcesProfiles.ONE_WAY_SSL))) {
char[] trustStorePassword = env.getProperty("server.ssl.trust-store-password").toCharArray();
char[] keyStorePassword = env.getProperty("server.ssl.key-store-password").toCharArray();
@@ -69,7 +70,7 @@ public class ResourcesTestConfiguration {
String trustStore = env.getProperty("server.ssl.trust-store");
SSLContextBuilder sslContextBuilder = SSLContextBuilder.create();
- if (env.acceptsProfiles("two-way-ssl")) {
+ if (env.acceptsProfiles(Profiles.of(ResourcesProfiles.TWO_WAY_SSL))) {
sslContextBuilder =
sslContextBuilder.loadKeyMaterial(loadPfx(keyStore, keyStorePassword), keyStorePassword);
}
diff --git a/aai-resources/src/test/resources/application-test.properties b/aai-resources/src/test/resources/application-test.properties
index e228229..4c2b8d0 100644
--- a/aai-resources/src/test/resources/application-test.properties
+++ b/aai-resources/src/test/resources/application-test.properties
@@ -30,7 +30,6 @@ server.local.startpath=src/main/resources/
server.basic.auth.location=${server.local.startpath}etc/auth/realm.properties
server.port=8447
-security.require-ssl=false
server.ssl.enabled=false
#server.ssl.enabled-protocols=TLSv1.1,TLSv1.2
#server.ssl.key-store=${server.local.startpath}etc/auth/aai_keystore
@@ -77,5 +76,5 @@ schema.translator.list=config
management.server.port=0
management.endpoints.enabled-by-default=true
management.endpoints.web.exposure.include=info, health, prometheus
-management.metrics.web.server.auto-time-requests=false
+management.metrics.web.server.request.autotime.enabled=false
scrape.uri.metrics=true