<parent>
<groupId>org.onap.aai.resources</groupId>
<artifactId>resources</artifactId>
- <version>1.15.6-SNAPSHOT</version>
+ <version>1.16.0-SNAPSHOT</version>
</parent>
<properties>
- <java.version>11</java.version>
+ <java.version>17</java.version>
<start-class>org.onap.aai.ResourcesApp</start-class>
<!-- Default docker registry that maven fabric plugin will try to pull from -->
<janusgraph.version>1.0.1</janusgraph.version>
<javax.servlet.version>4.0.1</javax.servlet.version>
- <testcontainers.version>1.19.8</testcontainers.version>
+ <testcontainers.version>1.20.4</testcontainers.version>
<mockito.core.version>4.4.0</mockito.core.version>
- <eclipse.persistence.version>2.7.7</eclipse.persistence.version>
<!-- Setting some default value to not complain by editor but it will be overridden by gmaven plugin -->
<!-- Integration tests will be skipped by default. Could be enabled here or by -DskipITs=false-->
<skipITs>true</skipITs>
<swagger.version>1.6.8</swagger.version>
- <spring-cloud.version>2021.0.9</spring-cloud.version>
+ <spring-cloud.version>2022.0.5</spring-cloud.version>
<!-- fix the driver version to match the one defined in janusgraph-cql
spring-boot (2.4) is otherwise downgrading it to 4.9.0 -->
<!-- see https://github.com/spring-projects/spring-boot/blob/d336a96b7f204a398b8237560c5dfa7095c53460/spring-boot-project/spring-boot-dependencies/build.gradle#L163 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jersey</artifactId>
- <exclusions>
+ <!-- <exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
- </exclusions>
+ </exclusions> -->
</dependency>
- <dependency>
+ <!-- <dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jetty</artifactId>
- </dependency>
+ </dependency> -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
<scope>test</scope>
</dependency>
<dependency>
- <groupId>org.springframework.cloud</groupId>
- <artifactId>spring-cloud-starter-sleuth</artifactId>
+ <groupId>io.micrometer</groupId>
+ <artifactId>micrometer-tracing-bridge-brave</artifactId>
</dependency>
<dependency>
- <groupId>org.springframework.cloud</groupId>
- <artifactId>spring-cloud-sleuth-zipkin</artifactId>
+ <groupId>io.zipkin.reporter2</groupId>
+ <artifactId>zipkin-reporter-brave</artifactId>
</dependency>
<dependency>
<groupId>io.micrometer</groupId>
<version>1.8.13</version>
</dependency>
<dependency>
- <groupId>javax.ws.rs</groupId>
- <artifactId>javax.ws.rs-api</artifactId>
- <version>2.1</version>
+ <groupId>jakarta.ws.rs</groupId>
+ <artifactId>jakarta.ws.rs-api</artifactId>
</dependency>
<dependency>
<groupId>jakarta.xml.bind</groupId>
<artifactId>jopt-simple</artifactId>
</dependency>
<dependency>
- <groupId>io.swagger</groupId>
- <artifactId>swagger-core</artifactId>
- <version>${swagger.version}</version>
+ <groupId>io.swagger.core.v3</groupId>
+ <artifactId>swagger-core-jakarta</artifactId>
+ <version>2.2.27</version>
<exclusions>
<exclusion>
<groupId>javax.ws.rs</groupId>
</exclusion>
</exclusions>
</dependency>
- <dependency>
- <groupId>io.swagger</groupId>
- <artifactId>swagger-annotations</artifactId>
- <version>${swagger.version}</version>
- </dependency>
<dependency>
<groupId>io.swagger</groupId>
<artifactId>swagger-jersey2-jaxrs</artifactId>
<version>6.6</version>
</dependency>
<dependency>
- <groupId>org.hamcrest</groupId>
- <artifactId>hamcrest</artifactId>
- <version>2.2</version>
- <exclusions>
- <exclusion>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- </exclusion>
- </exclusions>
+ <groupId>org.hamcrest</groupId>
+ <artifactId>hamcrest</artifactId>
+ <exclusions>
+ <exclusion>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ </exclusion>
+ </exclusions>
</dependency>
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
</dependency>
<dependency>
- <groupId>com.fasterxml.jackson.jaxrs</groupId>
- <artifactId>jackson-jaxrs-json-provider</artifactId>
+ <groupId>com.fasterxml.jackson.jakarta.rs</groupId>
+ <artifactId>jackson-jakarta-rs-json-provider</artifactId>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
</exclusion>
+ <exclusion>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ </exclusion>
</exclusions>
</dependency>
<dependency>
with jersey 2 which we are using -->
<!-- Use this to make http requests instead of jersey 1.0 client -->
<dependency>
- <groupId>org.apache.httpcomponents</groupId>
- <artifactId>httpclient</artifactId>
+ <groupId>org.apache.httpcomponents.client5</groupId>
+ <artifactId>httpclient5</artifactId>
</dependency>
<dependency>
<groupId>org.assertj</groupId>
<dependency>
<groupId>org.janusgraph</groupId>
<artifactId>janusgraph-inmemory</artifactId>
- <version>${janusgraph.version}</version>
</dependency>
<dependency>
<version>${testcontainers.version}</version>
<scope>test</scope>
</dependency>
+ <!-- testcontainers k6 needs junit -->
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <scope>test</scope>
+ </dependency>
<dependency>
<groupId>org.xmlunit</groupId>
<artifactId>xmlunit-matchers</artifactId>
<type>pom</type>
<scope>import</scope>
</dependency>
- <dependency>
- <groupId>com.google.guava</groupId>
- <artifactId>guava</artifactId>
- <version>33.3.1-jre</version>
- </dependency>
<!-- cassandra driver -->
<dependency>
<groupId>com.datastax.oss</groupId>
<artifactId>java-driver-query-builder</artifactId>
<version>${cassandra-driver.version}</version>
</dependency>
- <dependency>
- <groupId>com.datastax.oss</groupId>
- <artifactId>native-protocol</artifactId>
- <version>${datastax.native-protocol.version}</version>
- </dependency>
<!-- /cassandra driver -->
<dependency>
<groupId>org.apache.commons</groupId>
<include>application.properties</include>
<include>dme2.properties</include>
<include>logback.xml</include>
- <include>localhost-access-logback.xml</include>
</includes>
<targetPath>${project.build.directory}/swm/package/nix/dist_files/opt/app/${project.artifactId}/appconfig</targetPath>
<filtering>false</filtering>
<directory>${project.basedir}/src/main/resources/</directory>
<includes>
<include>logback.xml</include>
- <include>localhost-access-logback.xml</include>
<include>hbase-site.xml</include>
</includes>
<targetPath>${project.build.directory}/swm/package/nix/dist_files/opt/app/${project.artifactId}/appconfig</targetPath>
<plugin>
<groupId>com.mycila</groupId>
<artifactId>license-maven-plugin</artifactId>
- <version>3.0</version>
<configuration>
<header>LICENSE.TXT</header>
<includes>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
- <version>3.1.2</version>
<configuration>
<classesDirectory>${project.build.outputDirectory}</classesDirectory>
</configuration>
-FROM eclipse-temurin:11-jre-alpine
+FROM eclipse-temurin:17-jre-alpine
USER nobody
ENV SERVER_PORT=8447
JVM_OPTS="${PRE_JVM_ARGS}";
JVM_OPTS="${JVM_OPTS} -XX:HeapDumpPath=/opt/app/aai-resources/logs/ajsc-jetty/heap-dump";
-JVM_OPTS="${JVM_OPTS} -XX:MaxRAMPercentage=${MAX_RAM_PERCENTAGE:-60}";
+JVM_OPTS="${JVM_OPTS} -XX:MaxRAMPercentage=${MAX_RAM_PERCENTAGE:-70}";
JVM_OPTS="${JVM_OPTS} -XX:MaxMetaspaceSize=${MAX_METASPACE_SIZE}";
JVM_OPTS="${JVM_OPTS} -XX:SurvivorRatio=8";
JVM_OPTS="${JVM_OPTS} -XX:+DisableExplicitGC";
JVM_OPTS="${JVM_OPTS} -XX:+UseG1GC";
-JVM_OPTS="${JVM_OPTS} -XX:+CMSParallelRemarkEnabled";
-JVM_OPTS="${JVM_OPTS} -XX:+CMSClassUnloadingEnabled";
JVM_OPTS="${JVM_OPTS} -XX:-UseBiasedLocking";
JVM_OPTS="${JVM_OPTS} -XX:ParallelGCThreads=4";
JVM_OPTS="${JVM_OPTS} -XX:LargePageSizeInBytes=128m";
package org.onap.aai;
-import javax.annotation.PostConstruct;
-import javax.annotation.PreDestroy;
+import jakarta.annotation.PostConstruct;
+import jakarta.annotation.PreDestroy;
import org.apache.commons.lang3.exception.ExceptionUtils;
import org.onap.aai.aailog.logs.AaiDebugLog;
import java.util.List;
-import javax.validation.constraints.NotEmpty;
-
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration;
+import jakarta.validation.constraints.NotEmpty;
import lombok.Data;
@Data
import java.util.ArrayList;
import java.util.List;
-import javax.servlet.FilterChain;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.ws.rs.core.MediaType;
+import jakarta.servlet.FilterChain;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.ws.rs.core.MediaType;
import org.onap.aai.exceptions.AAIException;
import org.onap.aai.logging.ErrorLogHelper;
import java.util.ArrayList;
import java.util.List;
-import javax.annotation.Priority;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.container.ContainerResponseContext;
-import javax.ws.rs.container.ContainerResponseFilter;
-import javax.ws.rs.core.MediaType;
+import jakarta.annotation.Priority;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.container.ContainerResponseContext;
+import jakarta.ws.rs.container.ContainerResponseFilter;
+import jakarta.ws.rs.core.MediaType;
import org.onap.aai.exceptions.AAIException;
import org.onap.aai.interceptors.AAIContainerFilter;
import java.io.IOException;
-import javax.annotation.Priority;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.container.ContainerResponseContext;
-import javax.ws.rs.container.ContainerResponseFilter;
-import javax.ws.rs.core.MediaType;
+import jakarta.annotation.Priority;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.container.ContainerResponseContext;
+import jakarta.ws.rs.container.ContainerResponseFilter;
+import jakarta.ws.rs.core.MediaType;
import org.onap.aai.interceptors.AAIContainerFilter;
import org.onap.aai.interceptors.AAIHeaderProperties;
import java.util.Objects;
import java.util.Optional;
-import javax.annotation.Priority;
-import javax.servlet.http.HttpServletResponse;
-import javax.ws.rs.HttpMethod;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.container.ContainerResponseContext;
-import javax.ws.rs.container.ContainerResponseFilter;
+import jakarta.annotation.Priority;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.ws.rs.HttpMethod;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.container.ContainerResponseContext;
+import jakarta.ws.rs.container.ContainerResponseFilter;
import org.onap.aai.exceptions.AAIException;
import org.onap.aai.interceptors.AAIContainerFilter;
if (Boolean.parseBoolean(logValue)) {
+ // Do not log echo endpoint that is used for the liveness probe
+ if (requestContext.getUriInfo().getRequestUri().toString().equals("http://aai/aai/util/echo")) {
+ return;
+ }
+
String transId = requestContext.getHeaderString(AAIHeaderProperties.TRANSACTION_ID);
String fromAppId = requestContext.getHeaderString(AAIHeaderProperties.FROM_APP_ID);
String fullUri = requestContext.getUriInfo().getRequestUri().toString();
import java.util.List;
import java.util.regex.Pattern;
-import javax.annotation.Priority;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.container.ContainerRequestFilter;
-import javax.ws.rs.container.PreMatching;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-
import org.onap.aai.ResourcesProfiles;
import org.onap.aai.exceptions.AAIException;
import org.onap.aai.interceptors.AAIContainerFilter;
import org.springframework.context.annotation.Profile;
import org.springframework.stereotype.Component;
+import jakarta.annotation.Priority;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.container.ContainerRequestFilter;
+import jakarta.ws.rs.container.PreMatching;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
import lombok.RequiredArgsConstructor;
@Component
import java.util.List;
import java.util.Optional;
-import javax.annotation.Priority;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.container.ContainerRequestFilter;
-import javax.ws.rs.container.PreMatching;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
+import jakarta.annotation.Priority;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.container.ContainerRequestFilter;
+import jakarta.ws.rs.container.PreMatching;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
import org.onap.aai.exceptions.AAIException;
import org.onap.aai.interceptors.AAIContainerFilter;
import java.io.IOException;
-import javax.annotation.Priority;
-import javax.ws.rs.HttpMethod;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.container.ContainerRequestFilter;
-import javax.ws.rs.container.PreMatching;
+import jakarta.annotation.Priority;
+import jakarta.ws.rs.HttpMethod;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.container.ContainerRequestFilter;
+import jakarta.ws.rs.container.PreMatching;
import org.onap.aai.interceptors.AAIContainerFilter;
import org.onap.aai.interceptors.AAIHeaderProperties;
import java.io.Reader;
import java.io.StringReader;
-import javax.annotation.Priority;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.ext.ReaderInterceptor;
-import javax.ws.rs.ext.ReaderInterceptorContext;
+import jakarta.annotation.Priority;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.ext.ReaderInterceptor;
+import jakarta.ws.rs.ext.ReaderInterceptorContext;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.transform.OutputKeys;
import java.util.Collections;
import java.util.regex.Matcher;
-import javax.annotation.Priority;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.container.ContainerRequestFilter;
-import javax.ws.rs.container.PreMatching;
-import javax.ws.rs.core.MultivaluedMap;
+import jakarta.annotation.Priority;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.container.ContainerRequestFilter;
+import jakarta.ws.rs.container.PreMatching;
+import jakarta.ws.rs.core.MultivaluedMap;
import org.onap.aai.interceptors.AAIContainerFilter;
import org.onap.aai.interceptors.AAIHeaderProperties;
import java.util.Set;
import java.util.stream.Collectors;
-import javax.annotation.Priority;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.container.ContainerRequestFilter;
-import javax.ws.rs.container.PreMatching;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.UriBuilder;
+import jakarta.annotation.Priority;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.container.ContainerRequestFilter;
+import jakarta.ws.rs.container.PreMatching;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.UriBuilder;
import org.onap.aai.interceptors.AAIContainerFilter;
import java.util.Random;
import java.util.UUID;
-import javax.annotation.Priority;
-import javax.servlet.http.HttpServletRequest;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.container.ContainerRequestFilter;
-import javax.ws.rs.container.PreMatching;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.UriInfo;
+import jakarta.annotation.Priority;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.container.ContainerRequestFilter;
+import jakarta.ws.rs.container.PreMatching;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.UriInfo;
import org.glassfish.jersey.message.internal.ReaderWriter;
import org.glassfish.jersey.server.ContainerException;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
-import javax.annotation.Priority;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.container.ContainerRequestFilter;
-import javax.ws.rs.container.PreMatching;
-import javax.ws.rs.core.Response;
+import jakarta.annotation.Priority;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.container.ContainerRequestFilter;
+import jakarta.ws.rs.container.PreMatching;
+import jakarta.ws.rs.core.Response;
import org.onap.aai.exceptions.AAIException;
import org.onap.aai.interceptors.AAIContainerFilter;
import java.util.regex.Pattern;
import java.util.stream.Collectors;
-import javax.annotation.Priority;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.container.ContainerRequestFilter;
-import javax.ws.rs.container.PreMatching;
-import javax.ws.rs.core.Response;
+import jakarta.annotation.Priority;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.container.ContainerRequestFilter;
+import jakarta.ws.rs.container.PreMatching;
+import jakarta.ws.rs.core.Response;
import org.onap.aai.exceptions.AAIException;
import org.onap.aai.interceptors.AAIContainerFilter;
import java.net.URI;
-import javax.annotation.Priority;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.container.ContainerRequestFilter;
-import javax.ws.rs.container.PreMatching;
+import jakarta.annotation.Priority;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.container.ContainerRequestFilter;
+import jakarta.ws.rs.container.PreMatching;
import org.onap.aai.interceptors.AAIContainerFilter;
import org.onap.aai.setup.SchemaVersions;
import io.micrometer.core.annotation.Timed;
-import javax.ws.rs.Path;
+import jakarta.ws.rs.Path;
import org.onap.aai.restcore.HttpMethod;
import java.util.Set;
import java.util.stream.Collectors;
-import javax.servlet.http.HttpServletRequest;
-import javax.ws.rs.Consumes;
-import javax.ws.rs.PUT;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.Response.Status;
-import javax.ws.rs.core.UriBuilder;
-import javax.ws.rs.core.UriInfo;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.PUT;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.Response.Status;
+import jakarta.ws.rs.core.UriBuilder;
+import jakarta.ws.rs.core.UriInfo;
import org.javatuples.Pair;
import org.onap.aai.config.SpringContextAware;
import io.micrometer.core.annotation.Timed;
-import javax.ws.rs.Path;
+import jakarta.ws.rs.Path;
import org.onap.aai.restcore.HttpMethod;
import io.micrometer.core.annotation.Timed;
-import javax.servlet.http.HttpServletRequest;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.Response.Status;
-import javax.ws.rs.core.UriInfo;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.Response.Status;
+import jakarta.ws.rs.core.UriInfo;
import org.onap.aai.config.SpringContextAware;
import org.onap.aai.exceptions.AAIException;
import java.util.ArrayList;
-import javax.servlet.http.HttpServletRequest;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.ext.ExceptionMapper;
-import javax.ws.rs.ext.Provider;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.ext.ExceptionMapper;
+import jakarta.ws.rs.ext.Provider;
import org.onap.aai.exceptions.AAIException;
import org.onap.aai.logging.ErrorLogHelper;
import io.micrometer.core.annotation.Timed;
import lombok.RequiredArgsConstructor;
import java.util.*;
-import javax.servlet.http.HttpServletRequest;
-import javax.ws.rs.*;
-import javax.ws.rs.core.*;
-import javax.ws.rs.core.Response.Status;
+
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.ws.rs.*;
+import jakarta.ws.rs.core.*;
+import jakarta.ws.rs.core.Response.Status;
+
import org.onap.aai.concurrent.AaiCallable;
import org.onap.aai.introspection.Introspector;
import org.onap.aai.query.builder.Pageable;
@Context HttpServletRequest req) {
Set<String> roles = Collections.emptySet();
MediaType mediaType = headers.getMediaType();
- return resourcesService.handleWrites(mediaType, HttpMethod.PUT, content, versionParam, uri, headers, info, roles);
+ return resourcesService.handleWrites(mediaType, HttpMethod.PUT, content, versionParam, uri, headers, info);
}
@PUT
@Context HttpServletRequest req) {
Set<String> roles = Collections.emptySet();
MediaType mediaType = MediaType.APPLICATION_JSON_TYPE;
- return resourcesService.handleWrites(mediaType, HttpMethod.MERGE_PATCH, content, versionParam, uri, headers, info, roles);
+ return resourcesService.handleWrites(mediaType, HttpMethod.MERGE_PATCH, content, versionParam, uri, headers, info);
}
@Override
public Response process() {
return resourcesService.getLegacy(versionParam, uri, depthParam, cleanUp, headers, info, req,
- new HashSet<String>(), pageable, roles);
+ new HashSet<String>(), pageable);
}
});
}
@Context UriInfo info,
@QueryParam("resource-version") String resourceVersion,
@Context HttpServletRequest req) {
- Set<String> roles = Collections.emptySet();
- return resourcesService.delete(versionParam, uri, headers, info, req, roles);
+ return resourcesService.delete(versionParam, uri, headers, info, req);
}
/**
import java.net.URI;
import java.util.Iterator;
-import javax.servlet.http.HttpServletRequest;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.*;
-import javax.ws.rs.core.Response.Status;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.*;
+import jakarta.ws.rs.core.Response.Status;
import org.apache.tinkerpop.gremlin.structure.Vertex;
import org.onap.aai.config.SpringContextAware;
import java.util.Iterator;
import java.util.List;
-import javax.servlet.http.HttpServletRequest;
-import javax.ws.rs.*;
-import javax.ws.rs.core.*;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.ws.rs.*;
+import jakarta.ws.rs.core.*;
import org.apache.tinkerpop.gremlin.structure.Vertex;
import org.javatuples.Pair;
import java.util.List;
import java.util.Map.Entry;
-import javax.ws.rs.core.UriInfo;
+import jakarta.ws.rs.core.UriInfo;
import org.onap.aai.introspection.Introspector;
import org.onap.aai.parsers.query.QueryParser;
import java.util.ArrayList;
import java.util.List;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.core.Response;
import org.javatuples.Pair;
import org.onap.aai.restcore.HttpMethod;
import java.util.List;
import java.util.Set;
-import javax.servlet.http.HttpServletRequest;
-import javax.ws.rs.Consumes;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.UriBuilder;
-import javax.ws.rs.core.UriInfo;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.UriBuilder;
+import jakarta.ws.rs.core.UriInfo;
import org.javatuples.Pair;
import org.onap.aai.config.SpringContextAware;
}
@POST
- @Consumes(value = javax.ws.rs.core.MediaType.APPLICATION_JSON)
- @Produces(value = javax.ws.rs.core.MediaType.APPLICATION_JSON)
+ @Consumes(value = jakarta.ws.rs.core.MediaType.APPLICATION_JSON)
+ @Produces(value = jakarta.ws.rs.core.MediaType.APPLICATION_JSON)
public Response process(String content, @PathParam(value = "version") String versionParam,
@Context HttpHeaders headers, @Context UriInfo info, @Context HttpServletRequest req) {
.entity(new GsonBuilder().serializeNulls().create().toJson(transactionResponse)).build();
} else {
response = getErrorResponseForFirstFailure(transaction, results.getValue1(), info,
- javax.ws.rs.HttpMethod.POST, headers);
+ jakarta.ws.rs.HttpMethod.POST, headers);
}
} catch (AAIException e) {
- response = consumerExceptionResponseGenerator(headers, info, javax.ws.rs.HttpMethod.POST, e);
+ response = consumerExceptionResponseGenerator(headers, info, jakarta.ws.rs.HttpMethod.POST, e);
success = false;
} finally {
if (dbEngine != null) {
import java.net.URI;
import java.util.List;
-import javax.ws.rs.core.*;
+import jakarta.ws.rs.core.*;
public class BulkUriInfo implements UriInfo {
import java.util.ArrayList;
-import javax.servlet.http.HttpServletRequest;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.Response.Status;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.QueryParam;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.Response.Status;
import org.onap.aai.exceptions.AAIException;
import org.onap.aai.logging.ErrorLogHelper;
import java.io.UnsupportedEncodingException;
import java.net.URI;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.UriInfo;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.UriInfo;
import org.springframework.web.util.UriUtils;
import java.util.Set;
import java.util.stream.Collectors;
-import javax.servlet.http.HttpServletRequest;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedHashMap;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.UriBuilder;
-import javax.ws.rs.core.UriInfo;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedHashMap;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.UriBuilder;
+import jakarta.ws.rs.core.UriInfo;
import org.javatuples.Pair;
import org.onap.aai.config.SpringContextAware;
*/
public Response getLegacy(String versionParam, String uri, String depthParam, String cleanUp,
HttpHeaders headers, UriInfo info, HttpServletRequest req, Set<String> removeQueryParams,
- Pageable pageable, Set<String> roles) {
+ Pageable pageable) {
+ Set<String> roles = Collections.emptySet();
String sourceOfTruth = headers.getRequestHeaders().getFirst("X-FromAppId");
String transId = headers.getRequestHeaders().getFirst("X-TransactionId");
Response response;
}
public Response handleWrites(MediaType mediaType, HttpMethod method, String content, String versionParam,
- String uri, HttpHeaders headers, UriInfo info, Set<String> roles) {
-
+ String uri, HttpHeaders headers, UriInfo info) {
+ Set<String> roles = Collections.emptySet();
Response response;
TransactionalGraphEngine dbEngine = null;
Loader loader;
}
public Response delete(String versionParam, String uri, HttpHeaders headers, UriInfo info,
- HttpServletRequest req, Set<String> roles) {
-
+ HttpServletRequest req) {
+ Set<String> roles = Collections.emptySet();
String outputMediaType = getMediaType(headers.getAcceptableMediaTypes());
String sourceOfTruth = headers.getRequestHeaders().getFirst("X-FromAppId");
String transId = headers.getRequestHeaders().getFirst("X-TransactionId");
import java.util.regex.Pattern;
import java.util.stream.Collectors;
-import javax.annotation.PostConstruct;
+import jakarta.annotation.PostConstruct;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.PropertySource;
import java.util.Set;
import java.util.logging.Logger;
-import javax.annotation.Priority;
-import javax.ws.rs.container.ContainerRequestFilter;
-import javax.ws.rs.container.ContainerResponseFilter;
-import javax.ws.rs.ext.ReaderInterceptor;
+import jakarta.annotation.Priority;
+import jakarta.ws.rs.container.ContainerRequestFilter;
+import jakarta.ws.rs.container.ContainerResponseFilter;
+import jakarta.ws.rs.ext.ReaderInterceptor;
import org.glassfish.jersey.logging.LoggingFeature;
import org.glassfish.jersey.server.ResourceConfig;
+++ /dev/null
-/**
- * ============LICENSE_START=======================================================
- * org.onap.aai
- * ================================================================================
- * Copyright © 2017-2018 AT&T Intellectual Property. All rights reserved.
- * ================================================================================
- * Licensed 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.aai.web;
-
-import ch.qos.logback.access.jetty.RequestLogImpl;
-
-import java.util.Arrays;
-
-import org.eclipse.jetty.server.handler.HandlerCollection;
-import org.eclipse.jetty.server.handler.RequestLogHandler;
-import org.eclipse.jetty.util.thread.QueuedThreadPool;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.boot.web.embedded.jetty.JettyServerCustomizer;
-import org.springframework.boot.web.embedded.jetty.JettyServletWebServerFactory;
-import org.springframework.boot.web.servlet.server.AbstractServletWebServerFactory;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-
-@Configuration
-public class LocalHostAccessLog {
-
- @Bean
- public AbstractServletWebServerFactory jettyConfigBean(
- @Value("${jetty.threadPool.maxThreads:200}") final String maxThreads,
- @Value("${jetty.threadPool.minThreads:8}") final String minThreads) {
-
- JettyServletWebServerFactory jef = new JettyServletWebServerFactory();
- jef.addServerCustomizers((JettyServerCustomizer) server -> {
-
- HandlerCollection handlers = new HandlerCollection();
-
- Arrays.stream(server.getHandlers()).forEach(handlers::addHandler);
-
- RequestLogHandler requestLogHandler = new RequestLogHandler();
- requestLogHandler.setServer(server);
-
- RequestLogImpl requestLogImpl = new RequestLogImpl();
- requestLogImpl.setResource("/localhost-access-logback.xml");
- requestLogImpl.start();
-
- requestLogHandler.setRequestLog(requestLogImpl);
- handlers.addHandler(requestLogHandler);
- server.setHandler(handlers);
-
- final QueuedThreadPool threadPool = server.getBean(QueuedThreadPool.class);
- threadPool.setMaxThreads(Integer.valueOf(maxThreads));
- threadPool.setMinThreads(Integer.valueOf(minThreads));
- });
- return jef;
- }
-}
info.build.name=resources
info.build.description=Resources Microservice
info.build.version=1.1.0
+# Logging pattern containing traceId and spanId; no longer provided through Sleuth by default
+logging.pattern.level="%5p [${spring.application.name:},%X{traceId:-},%X{spanId:-}]"
spring.application.name=aai-resources
spring.jersey.type=filter
spring.main.allow-bean-definition-overriding=true
-spring.sleuth.enabled=false
-spring.zipkin.baseUrl=http://jaeger-collector.istio-system:9411
-spring.sleuth.messaging.jms.enabled = false
-spring.sleuth.trace-id128=true
-spring.sleuth.sampler.probability=1.0
-spring.sleuth.propagation.type=w3c, b3
-spring.sleuth.supports-join=false
+management.tracing.enabled=false
+management.tracing.sampling.probability=1.0
+management.tracing.propagation.type=w3c, b3
+management.zipkin.tracing.endpoint=http://jaeger-collector.istio-system:9411
server.servlet.context-path=/
spring.autoconfigure.exclude=\
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.request.autotime.enabled=false
+# This property is deprecated: Should be applied at the ObservationRegistry level.
+# management.metrics.web.server.request.autotime.enabled=false
management.metrics.distribution.percentiles-histogram[http.server.requests]=true
management.metrics.distribution.slo.http.server.requests=20ms, 30ms, 40ms, 50ms, 60ms, 70ms, 80ms, 90ms, 100ms, 500ms, 1000ms, 5000ms, 7000ms
management.metrics.tags.group_id=aai
+++ /dev/null
-<!--
-
- ============LICENSE_START=======================================================
- org.onap.aai
- ================================================================================
- Copyright © 2017 AT&T Intellectual Property. All rights reserved.
- ================================================================================
- Licensed 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.
- ============LICENSE_END=========================================================
-
- ECOMP is a trademark and service mark of AT&T Intellectual Property.
-
--->
-<configuration>
- <property name="AJSC_HOME" value="${AJSC_HOME:-.}" />
-
- <property name="maxHistory" value='7' />
- <property name="totalSizeCap" value='1GB' />
-
- <appender name="ACCESS"
- class="ch.qos.logback.core.rolling.RollingFileAppender">
- <file>${AJSC_HOME}/logs/ajsc-jetty/localhost_access.log</file>
- <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
- <fileNamePattern>${AJSC_HOME}/logs/ajsc-jetty/localhost_access.log.%d{yyyy-MM-dd}.zip
- </fileNamePattern>
- <maxHistory>${maxHistory}</maxHistory>
- <totalSizeCap>${totalSizeCap}</totalSizeCap>
- </rollingPolicy>
- <encoder class="org.onap.aai.logging.CustomLogPatternLayoutEncoder">
- <Pattern>%a %u %z [%t] "%m %U%q" %s %b %y %i{X-TransactionId} %i{X-FromAppId} %i{X-Forwarded-For} %i{X-AAI-SSL-Client-CN} %i{X-AAI-SSL-Client-OU} %i{X-AAI-SSL-Client-O} %i{X-AAI-SSL-Client-L} %i{X-AAI-SSL-Client-ST} %i{X-AAI-SSL-Client-C} %i{X-AAI-SSL-Client-NotBefore} %i{X-AAI-SSL-Client-NotAfter} %i{X-AAI-SSL-Client-DN} %D</Pattern>
- </encoder>
- </appender>
- <appender-ref ref="ACCESS" />
-
- <appender name="STDOUTACCESS" class="ch.qos.logback.core.ConsoleAppender">
- <encoder class="org.onap.aai.logging.CustomLogPatternLayoutEncoder">
- <Pattern>%a %u %z [%t] "%m %U%q" %s %b %y %i{X-TransactionId} %i{X-FromAppId} %i{X-Forwarded-For} %i{X-AAI-SSL-Client-CN} %i{X-AAI-SSL-Client-OU} %i{X-AAI-SSL-Client-O} %i{X-AAI-SSL-Client-L} %i{X-AAI-SSL-Client-ST} %i{X-AAI-SSL-Client-C} %i{X-AAI-SSL-Client-NotBefore} %i{X-AAI-SSL-Client-NotAfter} %i{X-AAI-SSL-Client-DN} %D - "logType": "access"</Pattern>
- </encoder>
- </appender>
-
- <appender-ref ref="STDOUTACCESS" />
-</configuration>
-
-<!--
-%a - Remote IP address
-%A - Local IP address
-%b - Bytes sent, excluding HTTP headers, or '-' if no bytes were sent
-%B - Bytes sent, excluding HTTP headers
-%h - Remote host name
-%H - Request protocol
-%l - Remote logical username from identd (always returns '-')
-%m - Request method
-%p - Local port
-%q - Query string (prepended with a '?' if it exists, otherwise an empty string
-%r - First line of the request
-%s - HTTP status code of the response
-%S - User session ID
-%t - Date and time, in Common Log Format format
-%u - Remote user that was authenticated
-%U - Requested URL path
-%v - Local server name
-%I - current request thread name (can compare later with stacktraces)
-
-%z - Custom pattern that parses the cert for the subject
-%y - Custom pattern determines rest or dme2
- -->
\ No newline at end of file
InputStream inputStream = getClass().getClassLoader().getResourceAsStream(filename);
- String message = String.format("Unable to find the %s in src/test/resources", filename);
+ String message = "Unable to find the %s in src/test/resources".formatted(filename);
assertNotNull(inputStream, message);
String resource = IOUtils.toString(inputStream, Charset.defaultCharset());
import java.util.List;
import java.util.UUID;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedHashMap;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.UriBuilder;
-import javax.ws.rs.core.UriInfo;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedHashMap;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.UriBuilder;
+import jakarta.ws.rs.core.UriInfo;
import org.javatuples.Pair;
import org.mockito.Mockito;
InputStream inputStream =
PayloadUtil.class.getClassLoader().getResourceAsStream("payloads/resource/" + fileName);
- String message = String.format("Unable to find the %s in src/test/resources", fileName);
+ String message = "Unable to find the %s in src/test/resources".formatted(fileName);
assertNotNull(inputStream, message);
String resource = IOUtils.toString(inputStream, Charset.defaultCharset());
InputStream inputStream =
PayloadUtil.class.getClassLoader().getResourceAsStream("payloads/templates/" + fileName);
- String message = String.format("Unable to find the %s in src/test/resources", fileName);
+ String message = "Unable to find the %s in src/test/resources".formatted(fileName);
assertNotNull(inputStream, message);
String resource;
InputStream inputStream = PayloadUtil.class.getClassLoader().getResourceAsStream("payloads/" + fileName);
- String message = String.format("Unable to find the %s in src/test/resources/payloads/", fileName);
+ String message = "Unable to find the %s in src/test/resources/payloads/".formatted(fileName);
assertNotNull(inputStream, message);
String resource = IOUtils.toString(inputStream, Charset.defaultCharset());
package org.onap.aai;
-
import java.io.IOException;
+
import javax.net.ssl.SSLContext;
-import org.apache.http.client.HttpClient;
-import org.apache.http.impl.client.HttpClients;
-import org.apache.http.ssl.SSLContextBuilder;
+import org.apache.hc.client5.http.classic.HttpClient;
+import org.apache.hc.client5.http.impl.classic.HttpClients;
+import org.apache.hc.client5.http.impl.io.PoolingHttpClientConnectionManager;
+import org.apache.hc.client5.http.impl.io.PoolingHttpClientConnectionManagerBuilder;
+import org.apache.hc.client5.http.ssl.SSLConnectionSocketFactoryBuilder;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
RestTemplate restTemplate = null;
if (env.acceptsProfiles(Profiles.of(ResourcesProfiles.TWO_WAY_SSL, ResourcesProfiles.ONE_WAY_SSL))) {
- SSLContext sslContext = SSLContextBuilder.create().build();
-
- HttpClient client = HttpClients.custom().setSSLContext(sslContext)
- .setSSLHostnameVerifier((s, sslSession) -> true).build();
+ SSLContext sslContext = SSLContext.getDefault();
+ PoolingHttpClientConnectionManager connectionManager = PoolingHttpClientConnectionManagerBuilder.create()
+ .setSSLSocketFactory(
+ SSLConnectionSocketFactoryBuilder.create()
+ .setSslContext(sslContext)
+ .build()
+ )
+ .build();
+ HttpClient client = HttpClients
+ .custom()
+ .setConnectionManager(connectionManager)
+ .build();
restTemplate = builder.requestFactory(() -> new HttpComponentsClientHttpRequestFactory(client)).build();
} else {
return true;
}
- if (clientHttpResponse.getRawStatusCode() % 100 == 5) {
+ if (clientHttpResponse.getStatusCode().value() % 100 == 5) {
logger.debug("Call returned a error " + clientHttpResponse.getStatusText());
return true;
}
import org.springframework.boot.autoconfigure.data.cassandra.CassandraDataAutoConfiguration;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.boot.test.context.SpringBootTest.WebEnvironment;
-import org.springframework.boot.web.server.LocalServerPort;
+import org.springframework.boot.test.web.server.LocalServerPort;
import org.testcontainers.containers.output.WaitingConsumer;
import org.testcontainers.junit.jupiter.Testcontainers;
import org.testcontainers.k6.K6Container;
import org.springframework.boot.autoconfigure.data.cassandra.CassandraDataAutoConfiguration;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.boot.test.context.SpringBootTest.WebEnvironment;
-import org.springframework.boot.web.server.LocalServerPort;
+import org.springframework.boot.test.web.server.LocalServerPort;
import org.testcontainers.containers.output.WaitingConsumer;
import org.testcontainers.junit.jupiter.Testcontainers;
import org.testcontainers.k6.K6Container;
import org.springframework.boot.autoconfigure.cassandra.CassandraAutoConfiguration;
import org.springframework.boot.autoconfigure.data.cassandra.CassandraDataAutoConfiguration;
import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.boot.web.server.LocalServerPort;
+import org.springframework.boot.test.web.server.LocalServerPort;
import org.springframework.context.annotation.Import;
import org.springframework.http.HttpEntity;
import org.springframework.http.HttpHeaders;
import java.io.IOException;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.core.Response;
import org.apache.commons.lang3.StringUtils;
import org.junit.jupiter.api.Test;
import java.io.IOException;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.core.Response;
import org.apache.commons.lang3.StringUtils;
import org.json.JSONException;
String hostname = "pserver-9876543210-77-jenkins";
String physicalLocationId = "complex-987654321-77-jenkins";
- String pserverUri = String.format("cloud-infrastructure/pservers/pserver/%s", hostname);
- String complexUri = String.format("cloud-infrastructure/complexes/complex/%s", physicalLocationId);
+ String pserverUri = "cloud-infrastructure/pservers/pserver/%s".formatted(hostname);
+ String complexUri = "cloud-infrastructure/complexes/complex/%s".formatted(physicalLocationId);
doSetupResource(pserverUri, pserverData);
doSetupResource(complexUri, complexData);
String complexToPserverRelationshipData =
getPayload("payloads/relationship/pserver-complex-relationship-for-bulk.json");
String complexToPserverRelationshipUri =
- String.format("cloud-infrastructure/pservers/pserver/%s/relationship-list/relationship", hostname);
+ "cloud-infrastructure/pservers/pserver/%s/relationship-list/relationship".formatted(hostname);
Response response = resourcesController.updateRelationship(complexToPserverRelationshipData,
schemaVersions.getDefaultVersion().toString(), complexToPserverRelationshipUri, httpHeaders, uriInfo,
import java.util.Set;
import java.util.UUID;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedHashMap;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.UriInfo;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedHashMap;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.UriInfo;
import org.junit.jupiter.api.BeforeEach;
import org.mockito.Mockito;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.autoconfigure.cassandra.CassandraAutoConfiguration;
import org.springframework.boot.autoconfigure.data.cassandra.CassandraDataAutoConfiguration;
-import org.springframework.boot.test.autoconfigure.actuate.metrics.AutoConfigureMetrics;
+import org.springframework.boot.test.autoconfigure.actuate.observability.AutoConfigureObservability;
import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.boot.web.server.LocalServerPort;
+import org.springframework.boot.test.web.server.LocalServerPort;
import org.springframework.context.annotation.Import;
import org.springframework.http.HttpEntity;
import org.springframework.http.HttpHeaders;
* Test REST requests against configuration resource
*/
-@AutoConfigureMetrics
+@AutoConfigureObservability
@TestPropertySource(locations = "classpath:application-test.properties")
@ContextConfiguration(classes = {SpringContextAware.class})
@EnableAutoConfiguration(exclude={CassandraDataAutoConfiguration.class, CassandraAutoConfiguration.class}) // there is no running cassandra instance for the test
import java.util.Set;
import java.util.UUID;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedHashMap;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.UriInfo;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedHashMap;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.UriInfo;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import java.util.List;
import java.util.UUID;
-import javax.servlet.http.HttpServletRequest;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedHashMap;
-import javax.ws.rs.core.Response;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedHashMap;
+import jakarta.ws.rs.core.Response;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
private HttpServletRequest request;
@InjectMocks
- private ExceptionHandler handler = new ExceptionHandler();
+ private ExceptionHandler handler;
@BeforeEach
public void setup() {
assertEquals("Error parsing input performing %1 on %2 (msg=%3) (ec=%4)",responseEntity.getRequestError().getServiceException().getText());
assertEquals("UnmarshalException",responseEntity.getRequestError().getServiceException().getVariables().get(0));
assertEquals("null",responseEntity.getRequestError().getServiceException().getVariables().get(1));
- assertEquals("Input parsing error:javax.ws.rs.WebApplicationException: HTTP 500 Internal Server Error",responseEntity.getRequestError().getServiceException().getVariables().get(2));
+ assertEquals("Input parsing error:jakarta.ws.rs.WebApplicationException: HTTP 500 Internal Server Error",responseEntity.getRequestError().getServiceException().getVariables().get(2));
assertEquals("ERR.5.4.4007",responseEntity.getRequestError().getServiceException().getVariables().get(3));
}
import java.util.Set;
import java.util.UUID;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedHashMap;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.UriInfo;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedHashMap;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.UriInfo;
import org.json.JSONException;
import org.junit.jupiter.api.BeforeEach;
import java.util.Set;
import java.util.UUID;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedHashMap;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.UriInfo;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedHashMap;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.UriInfo;
import org.json.JSONException;
import org.junit.jupiter.api.BeforeEach;
import java.util.Iterator;
import java.util.Optional;
-import javax.ws.rs.HttpMethod;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.HttpMethod;
+import jakarta.ws.rs.core.Response;
import org.apache.tinkerpop.gremlin.structure.Property;
import org.apache.tinkerpop.gremlin.structure.Vertex;
"DELETE, /cloud-infrastructure/pservers/pserver/someHostname",
"DELETE, /cloud-infrastructure/pservers/pserver/someHostname/relationship-list/relationship",
})
- public void thatInternalServerErrorsAreMappedToAAIErrorResponse(HttpMethod method, String uri) {
+ public void thatInternalServerErrorsAreMappedToAAIErrorResponse(String method, String uri) {
// assure that any exception is mapped to an AAIErrorResponse
when(mockHttpEntry.setHttpEntryProperties(any())).thenThrow(new IllegalArgumentException());
when(mockHttpEntry.setHttpEntryProperties(any(), anyString())).thenThrow(new IllegalArgumentException());
AAIErrorResponse errorResponse = webClient
- .method(method)
+ .method(HttpMethod.valueOf(method))
.uri(uri)
.bodyValue("{}")
.exchange()
import java.nio.charset.StandardCharsets;
import java.util.List;
import java.util.UUID;
+
import org.apache.commons.io.IOUtils;
import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSource;
import org.janusgraph.core.JanusGraph;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.params.ParameterizedTest;
-import org.junit.jupiter.params.provider.EnumSource;
+import org.junit.jupiter.params.provider.ValueSource;
import org.onap.aai.config.WebClientConfiguration;
import org.onap.aai.db.props.AAIProperties;
import org.onap.aai.dbmap.AAIGraph;
import com.fasterxml.jackson.databind.ObjectMapper;
import reactor.core.publisher.Mono;
-// @DirtiesContext(classMode = ClassMode.BEFORE_CLASS)
@SpringBootTest(webEnvironment = WebEnvironment.RANDOM_PORT)
@Import(WebClientConfiguration.class)
public class ResourcesControllerTest {
String hostname = "590a8943-1200-43b3-825b-75dde6b8f44a";
String physicalLocationId = "e13d4587-19ad-4bf5-80f5-c021efb5b61c";
- String pserverUri = String.format("/cloud-infrastructure/pservers/pserver/%s", hostname);
- String cloudRegionUri = String.format("/cloud-infrastructure/complexes/complex/%s", physicalLocationId);
+ String pserverUri = "/cloud-infrastructure/pservers/pserver/%s".formatted(hostname);
+ String cloudRegionUri = "/cloud-infrastructure/complexes/complex/%s".formatted(physicalLocationId);
doSetupResource(pserverUri, pserverData);
doSetupResource(cloudRegionUri, complexData);
String cloudToPserverRelationshipData = getRelationshipPayload("pserver-complex-relationship");
String cloudToPserverRelationshipUri =
- String.format("/cloud-infrastructure/pservers/pserver/%s/relationship-list/relationship", hostname);
+ "/cloud-infrastructure/pservers/pserver/%s/relationship-list/relationship".formatted(hostname);
webClient.put()
.uri(cloudToPserverRelationshipUri)
public void testPutPassWithEmptyData() throws JSONException {
String payload = "{}";
- String pserverUri = String.format("/cloud-infrastructure/pservers/pserver/%s", UUID.randomUUID().toString());
+ String pserverUri = "/cloud-infrastructure/pservers/pserver/%s".formatted(UUID.randomUUID().toString());
doSetupResource(pserverUri, payload);
payload = "{}";
- pserverUri = String.format("/cloud-infrastructure/pservers/pserver/%s", UUID.randomUUID().toString());
+ pserverUri = "/cloud-infrastructure/pservers/pserver/%s".formatted(UUID.randomUUID().toString());
doSetupResource(pserverUri, payload);
}
@ParameterizedTest
- @EnumSource(value = HttpMethod.class, names = {"GET", "PUT", "DELETE"})
- public void thatUnknownPathReturnsBadRequest(HttpMethod method) throws JSONException {
+ @ValueSource(strings = {"GET", "PUT", "DELETE"})
+ public void thatUnknownPathReturnsBadRequest(String method) throws JSONException {
String uri = "/fake-infrastructure/pservers/pserver/fajsidj";
AAIErrorResponse errorResponse = webClient
- .method(method)
+ .method(HttpMethod.valueOf(method))
.uri(uri)
.bodyValue("{}")
.exchange()
}
public String getUri(String hostname) {
- return String.format("/cloud-infrastructure/pservers/pserver/%s", hostname);
+ return "/cloud-infrastructure/pservers/pserver/%s".formatted(hostname);
}
public String getGetAllPserversURI() {
String hostname = "590a8943-1200-43b3-825b-75dde6b8f44b";
String physicalLocationId = "e13d4587-19ad-4bf5-80f5-c021efb5b61d";
- String pserverUri = String.format("/cloud-infrastructure/pservers/pserver/%s", hostname);
- String cloudRegionUri = String.format("/cloud-infrastructure/complexes/complex/%s", physicalLocationId);
+ String pserverUri = "/cloud-infrastructure/pservers/pserver/%s".formatted(hostname);
+ String cloudRegionUri = "/cloud-infrastructure/complexes/complex/%s".formatted(physicalLocationId);
doSetupResource(pserverUri, pserverData);
doSetupResource(cloudRegionUri, complexData);
String cloudToPserverRelationshipData = getRelationshipPayload("pserver-complex-relationship2");
String cloudToPserverRelationshipUri =
- String.format("/cloud-infrastructure/pservers/pserver/%s/relationship-list/relationship", hostname);
+ "/cloud-infrastructure/pservers/pserver/%s/relationship-list/relationship".formatted(hostname);
webClient.put()
.uri(cloudToPserverRelationshipUri)
.expectStatus()
.isOk();
- String getRelationshipUri = String.format("/cloud-infrastructure/pservers/pserver/%s/relationship-list", hostname);
+ String getRelationshipUri = "/cloud-infrastructure/pservers/pserver/%s/relationship-list".formatted(hostname);
String responseBody = webClient.get()
.uri(uriBuilder ->
uriBuilder
String hostname = "590a8943-1200-43b3-825b-75dde6b8f44c";
String physicalLocationId = "e13d4587-19ad-4bf5-80f5-c021efb5b61e";
- String pserverUri = String.format("/cloud-infrastructure/pservers/pserver/%s", hostname);
- String cloudRegionUri = String.format("/cloud-infrastructure/complexes/complex/%s", physicalLocationId);
+ String pserverUri = "/cloud-infrastructure/pservers/pserver/%s".formatted(hostname);
+ String cloudRegionUri = "/cloud-infrastructure/complexes/complex/%s".formatted(physicalLocationId);
doSetupResource(pserverUri, pserverData);
doSetupResource(cloudRegionUri, complexData);
String cloudToPserverRelationshipData = getRelationshipPayload("pserver-complex-relationship3");
String cloudToPserverRelationshipUri =
- String.format("/cloud-infrastructure/pservers/pserver/%s/relationship-list/relationship", hostname);
+ "/cloud-infrastructure/pservers/pserver/%s/relationship-list/relationship".formatted(hostname);
webClient.put()
.uri(cloudToPserverRelationshipUri)
.expectStatus()
.isOk();
- String getRelationshipUri = String.format("/cloud-infrastructure/pservers/pserver/%s", hostname);
+ String getRelationshipUri = "/cloud-infrastructure/pservers/pserver/%s".formatted(hostname);
String responseBody = webClient.get()
.uri(uriBuilder ->
uriBuilder
String hostname = "590a8943-1200-43b3-825b-75dde6b8f44d";
String physicalLocationId = "e13d4587-19ad-4bf5-80f5-c021efb5b61f";
- String pserverUri = String.format("/cloud-infrastructure/pservers/pserver/%s", hostname);
- String cloudRegionUri = String.format("/cloud-infrastructure/complexes/complex/%s", physicalLocationId);
+ String pserverUri = "/cloud-infrastructure/pservers/pserver/%s".formatted(hostname);
+ String cloudRegionUri = "/cloud-infrastructure/complexes/complex/%s".formatted(physicalLocationId);
doSetupResource(pserverUri, pserverData);
doSetupResource(cloudRegionUri, complexData);
String getRelationshipMockRequestUri =
- String.format("/cloud-infrastructure/pservers/pserver/%s/relationship-list", hostname);
+ "/cloud-infrastructure/pservers/pserver/%s/relationship-list".formatted(hostname);
webClient.get()
.uri(getRelationshipMockRequestUri)
.exchange()
String tenant = "tenant01";
String vserver = "vserver01";
- String pserverUri = String.format("/cloud-infrastructure/pservers/pserver/%s?skip-related-to=true", hostname);
- String vserverUri = String.format(
- "/cloud-infrastructure/cloud-regions/cloud-region/test-aic/%s?skip-related-to=true", cloudRegionId);
+ String pserverUri = "/cloud-infrastructure/pservers/pserver/%s?skip-related-to=true".formatted(hostname);
+ String vserverUri = "/cloud-infrastructure/cloud-regions/cloud-region/test-aic/%s?skip-related-to=true".formatted(cloudRegionId);
// PUT the resources
putResourceWithQueryParam(pserverUri, pserverData);
putResourceWithQueryParam(vserverUri, vserverData);
String pserverMockRequestUri =
- String.format("/cloud-infrastructure/pservers/pserver/%s?skip-related-to=true", hostname);
- String vserverMockRequestUri = String.format(
- "/cloud-infrastructure/cloud-regions/cloud-region/test-aic/%s/tenants/tenant/%s/vservers/vserver/%s?skip-related-to=true",
+ "/cloud-infrastructure/pservers/pserver/%s?skip-related-to=true".formatted(hostname);
+ String vserverMockRequestUri = "/cloud-infrastructure/cloud-regions/cloud-region/test-aic/%s/tenants/tenant/%s/vservers/vserver/%s?skip-related-to=true".formatted(
cloudRegionId, tenant, vserver);
// === GET - related-to-property should not exist ===
// === Clean up (DELETE) ===
// vserver
- String deleteUri = String.format(
- "/cloud-infrastructure/cloud-regions/cloud-region/test-aic/%s/tenants/tenant/%s/vservers/vserver/%s",
+ String deleteUri = "/cloud-infrastructure/cloud-regions/cloud-region/test-aic/%s/tenants/tenant/%s/vservers/vserver/%s".formatted(
cloudRegionId, tenant, vserver);
deleteServerObject(vserverMockRequestUri, deleteUri, "vserver");
// pserver
- deleteUri = String.format("/cloud-infrastructure/pservers/pserver/%s", hostname);
+ deleteUri = "/cloud-infrastructure/pservers/pserver/%s".formatted(hostname);
deleteServerObject(pserverMockRequestUri, deleteUri, "pserver");
}
String tenant = "tenant02";
String vserver = "vserver02";
- String pserverUri = String.format("/cloud-infrastructure/pservers/pserver/%s", hostname);
- String vserverUri = String.format("/cloud-infrastructure/cloud-regions/cloud-region/test-aic/%s", cloudRegionId);
+ String pserverUri = "/cloud-infrastructure/pservers/pserver/%s".formatted(hostname);
+ String vserverUri = "/cloud-infrastructure/cloud-regions/cloud-region/test-aic/%s".formatted(cloudRegionId);
// PUT the resources
doSetupResource(pserverUri, pserverData);
doSetupResource(vserverUri, vserverData);
- String pserverMockRequestUri = String.format("/cloud-infrastructure/pservers/pserver/%s", hostname);
- String vserverMockRequestUri = String.format(
- "/cloud-infrastructure/cloud-regions/cloud-region/test-aic/%s/tenants/tenant/%s/vservers/vserver/%s",
+ String pserverMockRequestUri = "/cloud-infrastructure/pservers/pserver/%s".formatted(hostname);
+ String vserverMockRequestUri = "/cloud-infrastructure/cloud-regions/cloud-region/test-aic/%s/tenants/tenant/%s/vservers/vserver/%s".formatted(
cloudRegionId, tenant, vserver);
// === GET - related-to-property should not exist ===
// === Clean up (DELETE) ===
// vserver
- String deleteUri = String.format(
- "/cloud-infrastructure/cloud-regions/cloud-region/test-aic/%s/tenants/tenant/%s/vservers/vserver/%s",
+ String deleteUri = "/cloud-infrastructure/cloud-regions/cloud-region/test-aic/%s/tenants/tenant/%s/vservers/vserver/%s".formatted(
cloudRegionId, tenant, vserver);
deleteServerObject(vserverMockRequestUri, deleteUri, "vserver");
// pserver
- deleteUri = String.format("/cloud-infrastructure/pservers/pserver/%s", hostname);
+ deleteUri = "/cloud-infrastructure/pservers/pserver/%s".formatted(hostname);
deleteServerObject(pserverMockRequestUri, deleteUri, "pserver");
}
String tenant = "tenant03";
String vserver = "vserver03";
- String pserverUri = String
- .format("/cloud-infrastructure/pservers/pserver/%s?skip-related-to=true&format=resource", hostname);
- String vserverUri = String.format(
- "/cloud-infrastructure/cloud-regions/cloud-region/test-aic/%s?skip-related-to=true&format=resource",
+ String pserverUri = "/cloud-infrastructure/pservers/pserver/%s?skip-related-to=true&format=resource"
+ .formatted(hostname);
+ String vserverUri = "/cloud-infrastructure/cloud-regions/cloud-region/test-aic/%s?skip-related-to=true&format=resource".formatted(
cloudRegionId);
// PUT the resources
putResourceWithQueryParam(pserverUri, pserverData);
putResourceWithQueryParam(vserverUri, vserverData);
- String pserverMockRequestUri = String
- .format("/cloud-infrastructure/pservers/pserver/%s?skip-related-to=true&format=resource", hostname);
- String vserverMockRequestUri = String.format(
- "/cloud-infrastructure/cloud-regions/cloud-region/test-aic/%s/tenants/tenant/%s/vservers/vserver/%s?skip-related-to=true&format=resource",
+ String pserverMockRequestUri = "/cloud-infrastructure/pservers/pserver/%s?skip-related-to=true&format=resource"
+ .formatted(hostname);
+ String vserverMockRequestUri = "/cloud-infrastructure/cloud-regions/cloud-region/test-aic/%s/tenants/tenant/%s/vservers/vserver/%s?skip-related-to=true&format=resource".formatted(
cloudRegionId, tenant, vserver);
// === GET - related-to-property should not exist ===
// === Clean up (DELETE) ===
// vserver
- String deleteUri = String.format(
- "/cloud-infrastructure/cloud-regions/cloud-region/test-aic/%s/tenants/tenant/%s/vservers/vserver/%s",
+ String deleteUri = "/cloud-infrastructure/cloud-regions/cloud-region/test-aic/%s/tenants/tenant/%s/vservers/vserver/%s".formatted(
cloudRegionId, tenant, vserver);
- String vserverMockRequestUriNoFormat = String.format(
- "/cloud-infrastructure/cloud-regions/cloud-region/test-aic/%s/tenants/tenant/%s/vservers/vserver/%s",
+ String vserverMockRequestUriNoFormat = "/cloud-infrastructure/cloud-regions/cloud-region/test-aic/%s/tenants/tenant/%s/vservers/vserver/%s".formatted(
cloudRegionId, tenant, vserver);
deleteServerObject(vserverMockRequestUriNoFormat, deleteUri, "vserver");
// pserver
- deleteUri = String.format("/cloud-infrastructure/pservers/pserver/%s", hostname);
+ deleteUri = "/cloud-infrastructure/pservers/pserver/%s".formatted(hostname);
deleteServerObject(pserverMockRequestUri, deleteUri, "pserver");
}
String tenant = "tenant04";
String vserver = "vserver04";
- String pserverUri = String.format(
- "/cloud-infrastructure/pservers/pserver/%s?skip-related-to=true&format=resource_and_url", hostname);
- String vserverUri = String.format(
- "/cloud-infrastructure/cloud-regions/cloud-region/test-aic/%s?skip-related-to=true&format=resource_and_url",
+ String pserverUri = "/cloud-infrastructure/pservers/pserver/%s?skip-related-to=true&format=resource_and_url".formatted(hostname);
+ String vserverUri = "/cloud-infrastructure/cloud-regions/cloud-region/test-aic/%s?skip-related-to=true&format=resource_and_url".formatted(
cloudRegionId);
// PUT the resources
putResourceWithQueryParam(pserverUri, pserverData);
putResourceWithQueryParam(vserverUri, vserverData);
- String pserverMockRequestUri = String.format(
- "/cloud-infrastructure/pservers/pserver/%s?skip-related-to=true&format=resource_and_url", hostname);
- String vserverMockRequestUri = String.format(
- "/cloud-infrastructure/cloud-regions/cloud-region/test-aic/%s/tenants/tenant/%s/vservers/vserver/%s?skip-related-to=true&format=resource_and_url",
+ String pserverMockRequestUri = "/cloud-infrastructure/pservers/pserver/%s?skip-related-to=true&format=resource_and_url".formatted(hostname);
+ String vserverMockRequestUri = "/cloud-infrastructure/cloud-regions/cloud-region/test-aic/%s/tenants/tenant/%s/vservers/vserver/%s?skip-related-to=true&format=resource_and_url".formatted(
cloudRegionId, tenant, vserver);
// === GET - related-to-property should not exist ===
// === Clean up (DELETE) ===
// vserver
- String deleteUri = String.format(
- "/cloud-infrastructure/cloud-regions/cloud-region/test-aic/%s/tenants/tenant/%s/vservers/vserver/%s",
+ String deleteUri = "/cloud-infrastructure/cloud-regions/cloud-region/test-aic/%s/tenants/tenant/%s/vservers/vserver/%s".formatted(
cloudRegionId, tenant, vserver);
- String vserverMockRequestUriNoFormat = String.format(
- "/cloud-infrastructure/cloud-regions/cloud-region/test-aic/%s/tenants/tenant/%s/vservers/vserver/%s",
+ String vserverMockRequestUriNoFormat = "/cloud-infrastructure/cloud-regions/cloud-region/test-aic/%s/tenants/tenant/%s/vservers/vserver/%s".formatted(
cloudRegionId, tenant, vserver);
deleteServerObject(vserverMockRequestUriNoFormat, deleteUri, "vserver");
// pserver
- deleteUri = String.format("/cloud-infrastructure/pservers/pserver/%s", hostname);
+ deleteUri = "/cloud-infrastructure/pservers/pserver/%s".formatted(hostname);
deleteServerObject(pserverMockRequestUri, deleteUri, "pserver");
}
String tenant = "tenant05";
String vserver = "vserver05";
- String pserverUri = String.format("/cloud-infrastructure/pservers/pserver/%s?skip-related-to=true", hostname);
- String vserverUri = String.format(
- "/cloud-infrastructure/cloud-regions/cloud-region/test-aic/%s?skip-related-to=true", cloudRegionId);
+ String pserverUri = "/cloud-infrastructure/pservers/pserver/%s?skip-related-to=true".formatted(hostname);
+ String vserverUri = "/cloud-infrastructure/cloud-regions/cloud-region/test-aic/%s?skip-related-to=true".formatted(cloudRegionId);
// PUT the resources
putResourceWithQueryParam(pserverUri, pserverData);
putResourceWithQueryParam(vserverUri, vserverData);
String pserverMockRequestUri =
- String.format("/cloud-infrastructure/pservers/pserver/%s?skip-related-to=true", hostname);
- String vserverMockRequestUri = String.format(
- "/cloud-infrastructure/cloud-regions/cloud-region/test-aic/%s/tenants/tenant/%s/vservers?vserver-selflink=somelink05&skip-related-to=true",
+ "/cloud-infrastructure/pservers/pserver/%s?skip-related-to=true".formatted(hostname);
+ String vserverMockRequestUri = "/cloud-infrastructure/cloud-regions/cloud-region/test-aic/%s/tenants/tenant/%s/vservers?vserver-selflink=somelink05&skip-related-to=true".formatted(
cloudRegionId, tenant, vserver);
// === GET - related-to-property should not exist ===
// === Clean up (DELETE) ===
// vserver
- String deleteUri = String.format(
- "/cloud-infrastructure/cloud-regions/cloud-region/test-aic/%s/tenants/tenant/%s/vservers/vserver/%s",
+ String deleteUri = "/cloud-infrastructure/cloud-regions/cloud-region/test-aic/%s/tenants/tenant/%s/vservers/vserver/%s".formatted(
cloudRegionId, tenant, vserver);
- String vserverMockRequestUriNoFormat = String.format(
- "/cloud-infrastructure/cloud-regions/cloud-region/test-aic/%s/tenants/tenant/%s/vservers/vserver/%s",
+ String vserverMockRequestUriNoFormat = "/cloud-infrastructure/cloud-regions/cloud-region/test-aic/%s/tenants/tenant/%s/vservers/vserver/%s".formatted(
cloudRegionId, tenant, vserver);
deleteServerObject(vserverMockRequestUriNoFormat, deleteUri, "vserver");
// pserver
- deleteUri = String.format("/cloud-infrastructure/pservers/pserver/%s", hostname);
+ deleteUri = "/cloud-infrastructure/pservers/pserver/%s".formatted(hostname);
deleteServerObject(pserverMockRequestUri, deleteUri, "pserver");
}
@Qualifier("mgmtClient")
WebTestClient webClient;
- // @MockBean private AaiGraphChecker aaiGraphChecker;
@MockBean private GraphChecker graphChecker;
@Test
import java.util.List;
import java.util.UUID;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedHashMap;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.UriInfo;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedHashMap;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.UriInfo;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import java.io.UnsupportedEncodingException;
-import javax.ws.rs.core.MultivaluedHashMap;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.UriInfo;
+import jakarta.ws.rs.core.MultivaluedHashMap;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.UriInfo;
import org.junit.jupiter.api.Test;
import org.mockito.Mockito;
spring.jersey.application-path=${schema.uri.base.path}
-spring.sleuth.enabled=false
+management.tracing.enabled=false
spring.autoconfigure.exclude=\
org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration,\
management.endpoint.prometheus.enabled=true
management.endpoints.enabled-by-default=true
management.endpoints.web.exposure.include=info, health, prometheus
-management.metrics.web.server.request.autotime.enabled=false
+# This property is deprecated: Should be applied at the ObservationRegistry level.
+# management.metrics.web.server.request.autotime.enabled=false
scrape.uri.metrics=true
aai.notifications.enabled=false
<parent>
<groupId>org.onap.aai.aai-common</groupId>
<artifactId>aai-parent</artifactId>
- <version>1.15.5</version>
+ <version>1.16.0-SNAPSHOT</version>
</parent>
<groupId>org.onap.aai.resources</groupId>
<artifactId>resources</artifactId>
- <version>1.15.6-SNAPSHOT</version>
+ <version>1.16.0-SNAPSHOT</version>
<name>aai-resources</name>
<packaging>pom</packaging>
<modules>
<module>aai-resources</module>
</modules>
<properties>
- <maven.compiler.release>11</maven.compiler.release>
+ <maven.compiler.release>17</maven.compiler.release>
<!--
Nexus Proxy Properties and Snapshot Locations
Ideally this can be overwritten at runtime per internal environment specific values at runtime
<staging.path>/content/repositories/staging/</staging.path>
<!-- GMaven plugin uses this property to figure out the name of the docker tag -->
<aai.project.version>${project.version}</aai.project.version>
- <aai.common.version>1.15.5</aai.common.version>
+ <aai.common.version>1.16.0-SNAPSHOT</aai.common.version>
<aai.schema.service.version>1.12.7</aai.schema.service.version>
</properties>
<build>
# because they are used in Jenkins, whose plug-in doesn't support
major_version=1
-minor_version=15
-patch_version=5
+minor_version=16
+patch_version=0
base_version=${major_version}.${minor_version}.${patch_version}