diff --git a/NOTICE b/NOTICE index 41aa0c80abd97c03d386557f96e77e9e731743fa..e3b1becbb65b4d8470742746d26fd69293e8c6b1 100644 --- a/NOTICE +++ b/NOTICE @@ -51,7 +51,6 @@ Apache-2.0 ======================================================================== The following software have components provided under the terms of this license: -- AHC/Client (from https://repo1.maven.org/maven2/org/asynchttpclient/async-http-client) - AMQP 1.0 JMS Spring Boot AutoConfiguration (from https://repo1.maven.org/maven2/org/amqphub/spring/amqp-10-jms-spring-boot-autoconfigure) - AMQP 1.0 JMS Spring Boot Starter (from https://repo1.maven.org/maven2/org/amqphub/spring/amqp-10-jms-spring-boot-starter) - ASM Analysis (from http://asm.ow2.io/) @@ -361,10 +360,11 @@ The following software have components provided under the terms of this license: - Apache Maven Wagon :: Providers :: SSH Provider (from https://repo1.maven.org/maven2/org/apache/maven/wagon/wagon-ssh) - Apache Velocity (from http://velocity.apache.org/engine/devel/, http://velocity.apache.org/engine/releases/velocity-1.6.1/, http://velocity.apache.org/engine/releases/velocity-1.6.2/) - AssertJ Core (from ${project.organization.url}#${project.artifactId}) +- Asynchronous Http Client (from https://repo1.maven.org/maven2/org/asynchttpclient/async-http-client) - Asynchronous Http Client Netty Utils (from https://repo1.maven.org/maven2/org/asynchttpclient/async-http-client-netty-utils) - AutoValue Annotations (from https://github.com/google/auto/tree/master/value, https://repo1.maven.org/maven2/com/google/auto/value/auto-value-annotations) - BSON (from http://bsonspec.org, https://bsonspec.org) -- BSON Record Codec (from https://www.mongodb.com/) +- BSON Record Codec (from <https://www.mongodb.com/>, https://www.mongodb.com/) - Bean Validation API (from http://beanvalidation.org) - Brave (from https://repo1.maven.org/maven2/io/zipkin/brave/brave) - Brave Instrumentation: Http Adapters (from https://repo1.maven.org/maven2/io/zipkin/brave/brave-instrumentation-http) @@ -396,7 +396,7 @@ The following software have components provided under the terms of this license: - GSON extensions to the Google HTTP Client Library for Java. (from https://repo1.maven.org/maven2/com/google/http-client/google-http-client-gson) - Google APIs Client Library for Java (from https://repo1.maven.org/maven2/com/google/api-client/google-api-client) - Google App Engine extensions to the Google HTTP Client Library for Java. (from https://repo1.maven.org/maven2/com/google/http-client/google-http-client-appengine) -- Google Cloud Core (from https://github.com/googleapis/google-cloud-java/tree/master/google-cloud-clients/google-cloud-core, https://github.com/googleapis/java-core) +- Google Cloud Core (from https://github.com/googleapis/google-cloud-java, https://github.com/googleapis/google-cloud-java/tree/master/google-cloud-clients/google-cloud-core, https://github.com/googleapis/java-core) - Google Cloud Core HTTP (from https://github.com/GoogleCloudPlatform/google-cloud-java/tree/master/google-cloud-core-http, https://github.com/googleapis/google-cloud-java/tree/master/google-cloud-clients/google-cloud-core-http, https://github.com/googleapis/java-core) - Google Cloud Core gRPC (from https://github.com/googleapis/google-cloud-java/tree/master/google-cloud-clients/google-cloud-core-grpc, https://github.com/googleapis/java-core) - Google Cloud Datastore (from https://github.com/googleapis/google-cloud-java/tree/master/google-cloud-clients/google-cloud-datastore, https://github.com/googleapis/java-datastore) @@ -455,7 +455,7 @@ The following software have components provided under the terms of this license: - Java Native Access (from https://github.com/java-native-access/jna, https://github.com/twall/jna) - Java Native Access Platform (from https://github.com/java-native-access/jna) - Java UUID Generator (from http://wiki.fasterxml.com/JugHome) -- JavaBeans Activation Framework (from https://repo1.maven.org/maven2/com/sun/activation/javax.activation) +- JavaBeans Activation Framework (from <http://java.sun.com/javase/technologies/desktop/javabeans/jaf/index.jsp>, http://java.sun.com/javase/technologies/desktop/javabeans/jaf/index.jsp, https://repo1.maven.org/maven2/com/sun/activation/javax.activation) - Javassist (from http://www.javassist.org/) - JetBrains Java Annotations (from https://github.com/JetBrains/java-annotations) - Jetty :: Utilities (from http://jetty.mortbay.org, http://www.eclipse.org/jetty, https://repo1.maven.org/maven2/org/eclipse/jetty/jetty-util, https://repo1.maven.org/maven2/org/mortbay/jetty/jetty-util) @@ -469,10 +469,10 @@ The following software have components provided under the terms of this license: - KeePassJava2 :: Simple (from https://repo1.maven.org/maven2/org/linguafranca/pwdb/KeePassJava2-simple) - Kotlin Stdlib (from https://kotlinlang.org/, https://repo1.maven.org/maven2/org/jetbrains/kotlin/kotlin-stdlib) - Kotlin Stdlib Common (from https://kotlinlang.org/) -- Kotlin Stdlib Jdk7 (from https://kotlinlang.org/) -- Kotlin Stdlib Jdk8 (from https://kotlinlang.org/) +- Kotlin Stdlib Jdk7 (from <https://kotlinlang.org/>, https://kotlinlang.org/) +- Kotlin Stdlib Jdk8 (from <https://kotlinlang.org/>, https://kotlinlang.org/) - LatencyUtils (from http://latencyutils.github.io/LatencyUtils/) -- Lucene Common Analyzers (from https://repo1.maven.org/maven2/org/apache/lucene/lucene-analyzers-common) +- Lucene Common Analyzers (from <https://repo1.maven.org/maven2/org/apache/lucene/lucene-analyzers-common>, https://repo1.maven.org/maven2/org/apache/lucene/lucene-analyzers-common) - Lucene Core (from https://repo1.maven.org/maven2/org/apache/lucene/lucene-core) - Lucene Grouping (from https://lucene.apache.org/, https://repo1.maven.org/maven2/org/apache/lucene/lucene-grouping) - Lucene Highlighter (from https://lucene.apache.org/, https://repo1.maven.org/maven2/org/apache/lucene/lucene-highlighter) @@ -545,11 +545,11 @@ The following software have components provided under the terms of this license: - Plexus Velocity Component (from https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-velocity) - PostgreSQL JDBC Driver - PowerMock (from http://www.powermock.org, https://repo1.maven.org/maven2/org/powermock/powermock-api-mockito) -- Prometheus Java Simpleclient (from https://repo1.maven.org/maven2/io/prometheus/simpleclient) -- Prometheus Java Simpleclient Common (from https://repo1.maven.org/maven2/io/prometheus/simpleclient_common) -- Prometheus Java Span Context Supplier - Common (from https://repo1.maven.org/maven2/io/prometheus/simpleclient_tracer_common) -- Prometheus Java Span Context Supplier - OpenTelemetry (from https://repo1.maven.org/maven2/io/prometheus/simpleclient_tracer_otel) -- Prometheus Java Span Context Supplier - OpenTelemetry Agent (from https://repo1.maven.org/maven2/io/prometheus/simpleclient_tracer_otel_agent) +- Prometheus Java Simpleclient (from <https://repo1.maven.org/maven2/io/prometheus/simpleclient>, https://repo1.maven.org/maven2/io/prometheus/simpleclient) +- Prometheus Java Simpleclient Common (from <https://repo1.maven.org/maven2/io/prometheus/simpleclient_common>, https://repo1.maven.org/maven2/io/prometheus/simpleclient_common) +- Prometheus Java Span Context Supplier - Common (from <https://repo1.maven.org/maven2/io/prometheus/simpleclient_tracer_common>, https://repo1.maven.org/maven2/io/prometheus/simpleclient_tracer_common) +- Prometheus Java Span Context Supplier - OpenTelemetry (from <https://repo1.maven.org/maven2/io/prometheus/simpleclient_tracer_otel>, https://repo1.maven.org/maven2/io/prometheus/simpleclient_tracer_otel) +- Prometheus Java Span Context Supplier - OpenTelemetry Agent (from <https://repo1.maven.org/maven2/io/prometheus/simpleclient_tracer_otel_agent>, https://repo1.maven.org/maven2/io/prometheus/simpleclient_tracer_otel_agent) - Protocol Buffer extensions to the Google HTTP Client Library for Java. (from https://repo1.maven.org/maven2/com/google/http-client/google-http-client-protobuf) - Proton-J (from https://repo1.maven.org/maven2/org/apache/qpid/proton-j) - QpidJMS Client (from https://repo1.maven.org/maven2/org/apache/qpid/qpid-jms-client) @@ -607,7 +607,7 @@ The following software have components provided under the terms of this license: - Spring Web (from http://www.springframework.org, https://github.com/spring-projects/spring-framework, https://repo1.maven.org/maven2/org/springframework/spring-web) - Spring Web MVC (from https://github.com/spring-projects/spring-framework, https://repo1.maven.org/maven2/org/springframework/spring-webmvc) - Spring WebFlux (from https://github.com/spring-projects/spring-framework) -- Swagger UI (from http://webjars.org) +- Swagger UI (from <http://webjars.org>, http://webjars.org) - Vavr (from http://vavr.io, https://www.vavr.io) - Vavr Match (from http://vavr.io) - Woodstox (from https://github.com/FasterXML/woodstox) @@ -616,14 +616,14 @@ The following software have components provided under the terms of this license: - Zipkin Reporter: Core (from https://repo1.maven.org/maven2/io/zipkin/reporter2/zipkin-reporter) - Zipkin v2 (from https://repo1.maven.org/maven2/io/zipkin/zipkin2/zipkin) - aalto-xml (from https://github.com/FasterXML/aalto-xml, https://repo1.maven.org/maven2/com/fasterxml/aalto-xml) -- aggs-matrix-stats (from https://github.com/elastic/elasticsearch.git) +- aggs-matrix-stats (from https://github.com/elastic/elasticsearch, https://github.com/elastic/elasticsearch.git) - compiler (from http://github.com/spullara/mustache.java) - datastore-v1-proto-client (from https://repo1.maven.org/maven2/com/google/cloud/datastore/datastore-v1-proto-client) - documentdb-bulkexecutor (from http://azure.microsoft.com/en-us/services/documentdb/) - elasticsearch (from https://github.com/elastic/elasticsearch, https://github.com/elastic/elasticsearch.git, https://repo1.maven.org/maven2/org/elasticsearch/elasticsearch) - elasticsearch-cli (from https://github.com/elastic/elasticsearch, https://github.com/elastic/elasticsearch.git) - elasticsearch-core (from https://github.com/elastic/elasticsearch, https://github.com/elastic/elasticsearch.git) -- elasticsearch-geo (from https://github.com/elastic/elasticsearch.git) +- elasticsearch-geo (from https://github.com/elastic/elasticsearch, https://github.com/elastic/elasticsearch.git) - elasticsearch-secure-sm (from https://github.com/elastic/elasticsearch, https://github.com/elastic/elasticsearch.git) - elasticsearch-x-content (from https://github.com/elastic/elasticsearch, https://github.com/elastic/elasticsearch.git) - error-prone annotations (from https://repo1.maven.org/maven2/com/google/errorprone/error_prone_annotations) @@ -650,18 +650,18 @@ The following software have components provided under the terms of this license: - jersey-media-json-jackson (from https://repo1.maven.org/maven2/org/glassfish/jersey/media/jersey-media-json-jackson) - jose4j (from https://bitbucket.org/b_c/jose4j/) - json-path (from http://code.google.com/p/json-path/, https://github.com/jayway/JsonPath) -- lang-mustache (from https://github.com/elastic/elasticsearch.git) +- lang-mustache (from https://github.com/elastic/elasticsearch, https://github.com/elastic/elasticsearch.git) - lettuce (from http://github.com/mp911de/lettuce/wiki, https://github.com/lettuce-io/lettuce-core/wiki) -- mapper-extras (from https://github.com/elastic/elasticsearch.git) +- mapper-extras (from https://github.com/elastic/elasticsearch, https://github.com/elastic/elasticsearch.git) - micrometer-core (from https://github.com/micrometer-metrics/micrometer) - micrometer-registry-azure-monitor (from https://github.com/micrometer-metrics/micrometer) -- micrometer-registry-prometheus (from https://github.com/micrometer-metrics/micrometer) +- micrometer-registry-prometheus (from <https://github.com/micrometer-metrics/micrometer>, https://github.com/micrometer-metrics/micrometer) - minio (from https://github.com/minio/minio-java) - org.apiguardian:apiguardian-api (from https://github.com/apiguardian-team/apiguardian) - org.conscrypt:conscrypt-openjdk-uber (from https://conscrypt.org/) - org.opentest4j:opentest4j (from https://github.com/ota4j-team/opentest4j) - org.xmlunit:xmlunit-core (from http://www.xmlunit.org/, https://www.xmlunit.org/) -- parent-join (from https://github.com/elastic/elasticsearch.git) +- parent-join (from https://github.com/elastic/elasticsearch, https://github.com/elastic/elasticsearch.git) - perfmark:perfmark-api (from https://github.com/perfmark/perfmark) - proto-google-cloud-datastore-v1 (from https://github.com/googleapis/googleapis, https://github.com/googleapis/java-datastore/proto-google-cloud-datastore-v1) - proto-google-cloud-iamcredentials-v1 (from https://github.com/googleapis/google-cloud-java, https://github.com/googleapis/java-iamcredentials/proto-google-cloud-iamcredentials-v1, https://repo1.maven.org/maven2/com/google/api/grpc/proto-google-cloud-iamcredentials-v1) @@ -669,18 +669,17 @@ The following software have components provided under the terms of this license: - proto-google-cloud-pubsub-v1 (from https://github.com/googleapis/googleapis, https://github.com/googleapis/java-pubsub/proto-google-cloud-pubsub-v1) - proto-google-common-protos (from https://github.com/googleapis/api-client-staging, https://github.com/googleapis/gapic-generator-java, https://github.com/googleapis/googleapis, https://github.com/googleapis/java-iam/proto-google-common-protos) - proto-google-iam-v1 (from https://github.com/googleapis/gapic-generator-java, https://github.com/googleapis/googleapis, https://github.com/googleapis/java-iam/proto-google-iam-v1) -- rank-eval (from https://github.com/elastic/elasticsearch.git) +- rank-eval (from https://github.com/elastic/elasticsearch, https://github.com/elastic/elasticsearch.git) - resilience4j (from https://github.com/resilience4j/resilience4j, https://resilience4j.readme.io, ttps://resilience4j.readme.io) -- rest (from https://github.com/elastic/elasticsearch.git) +- rest (from https://github.com/elastic/elasticsearch, https://github.com/elastic/elasticsearch.git) - rest-high-level (from https://github.com/elastic/elasticsearch) -- spring-security-crypto (from http://spring.io/spring-security, https://spring.io/projects/spring-security, https://spring.io/spring-security) - spring-security-oauth2-client (from http://spring.io/spring-security, https://spring.io/projects/spring-security, https://spring.io/spring-security) - spring-security-oauth2-core (from http://spring.io/spring-security, https://spring.io/projects/spring-security, https://spring.io/spring-security) - spring-security-oauth2-jose (from http://spring.io/spring-security, https://spring.io/projects/spring-security, https://spring.io/spring-security) - spring-security-test (from http://spring.io/spring-security, https://spring.io/projects/spring-security, https://spring.io/spring-security) -- springdoc-openapi-common (from https://repo1.maven.org/maven2/org/springdoc/springdoc-openapi-common) -- springdoc-openapi-ui (from https://repo1.maven.org/maven2/org/springdoc/springdoc-openapi-ui) -- springdoc-openapi-webmvc-core (from https://repo1.maven.org/maven2/org/springdoc/springdoc-openapi-webmvc-core) +- springdoc-openapi-common (from <https://repo1.maven.org/maven2/org/springdoc/springdoc-openapi-common>, https://repo1.maven.org/maven2/org/springdoc/springdoc-openapi-common) +- springdoc-openapi-ui (from https://github.com/springdoc/springdoc-openapi, https://repo1.maven.org/maven2/org/springdoc/springdoc-openapi-ui) +- springdoc-openapi-webmvc-core (from <https://repo1.maven.org/maven2/org/springdoc/springdoc-openapi-webmvc-core>, https://repo1.maven.org/maven2/org/springdoc/springdoc-openapi-webmvc-core) - swagger-annotations (from https://repo1.maven.org/maven2/io/swagger/core/v3/swagger-annotations, https://repo1.maven.org/maven2/io/swagger/swagger-annotations) - swagger-core (from https://repo1.maven.org/maven2/io/swagger/core/v3/swagger-core, https://repo1.maven.org/maven2/io/swagger/swagger-core) - swagger-jaxrs (from https://repo1.maven.org/maven2/io/swagger/swagger-jaxrs) @@ -702,15 +701,15 @@ The following software have components provided under the terms of this license: - Apache Lucene (module: misc) (from https://lucene.apache.org/, https://repo1.maven.org/maven2/org/apache/lucene/lucene-misc) - Apache Lucene (module: spatial-extras) (from https://lucene.apache.org/, https://repo1.maven.org/maven2/org/apache/lucene/lucene-spatial-extras) - Apache Lucene (module: suggest) (from https://lucene.apache.org/, https://repo1.maven.org/maven2/org/apache/lucene/lucene-suggest) -- GAX (Google Api eXtensions) for Java (Core) (from https://repo1.maven.org/maven2/com/google/api/gax) -- GAX (Google Api eXtensions) for Java (HTTP JSON) (from https://repo1.maven.org/maven2/com/google/api/gax-httpjson) -- GAX (Google Api eXtensions) for Java (gRPC) (from https://repo1.maven.org/maven2/com/google/api/gax-grpc) +- GAX (Google Api eXtensions) for Java (Core) (from https://github.com/googleapis, https://github.com/googleapis/gax-java, https://repo1.maven.org/maven2/com/google/api/gax) +- GAX (Google Api eXtensions) for Java (HTTP JSON) (from <https://repo1.maven.org/maven2/com/google/api/gax-httpjson>, https://repo1.maven.org/maven2/com/google/api/gax-httpjson) +- GAX (Google Api eXtensions) for Java (gRPC) (from <https://repo1.maven.org/maven2/com/google/api/gax-grpc>, https://repo1.maven.org/maven2/com/google/api/gax-grpc) - Hamcrest (from http://hamcrest.org/JavaHamcrest/) - Hamcrest Core (from http://hamcrest.org/, http://hamcrest.org/JavaHamcrest/, https://repo1.maven.org/maven2/org/hamcrest/hamcrest-core) - JSch (from http://www.jcraft.com/jsch/) - Jodd BeanUtil (from http://jodd.org) - Jodd Core (from http://jodd.org) -- Lucene Common Analyzers (from https://repo1.maven.org/maven2/org/apache/lucene/lucene-analyzers-common) +- Lucene Common Analyzers (from <https://repo1.maven.org/maven2/org/apache/lucene/lucene-analyzers-common>, https://repo1.maven.org/maven2/org/apache/lucene/lucene-analyzers-common) - Lucene Grouping (from https://lucene.apache.org/, https://repo1.maven.org/maven2/org/apache/lucene/lucene-grouping) - Lucene Highlighter (from https://lucene.apache.org/, https://repo1.maven.org/maven2/org/apache/lucene/lucene-highlighter) - Lucene Join (from https://lucene.apache.org/, https://repo1.maven.org/maven2/org/apache/lucene/lucene-join) @@ -742,9 +741,9 @@ The following software have components provided under the terms of this license: - Apache Lucene (module: suggest) (from https://lucene.apache.org/, https://repo1.maven.org/maven2/org/apache/lucene/lucene-suggest) - AspectJ Weaver (from http://www.aspectj.org, https://www.eclipse.org/aspectj/) - Class Model for Hk2 (from https://repo1.maven.org/maven2/org/glassfish/hk2/class-model) -- GAX (Google Api eXtensions) for Java (Core) (from https://repo1.maven.org/maven2/com/google/api/gax) -- GAX (Google Api eXtensions) for Java (HTTP JSON) (from https://repo1.maven.org/maven2/com/google/api/gax-httpjson) -- GAX (Google Api eXtensions) for Java (gRPC) (from https://repo1.maven.org/maven2/com/google/api/gax-grpc) +- GAX (Google Api eXtensions) for Java (Core) (from https://github.com/googleapis, https://github.com/googleapis/gax-java, https://repo1.maven.org/maven2/com/google/api/gax) +- GAX (Google Api eXtensions) for Java (HTTP JSON) (from <https://repo1.maven.org/maven2/com/google/api/gax-httpjson>, https://repo1.maven.org/maven2/com/google/api/gax-httpjson) +- GAX (Google Api eXtensions) for Java (gRPC) (from <https://repo1.maven.org/maven2/com/google/api/gax-grpc>, https://repo1.maven.org/maven2/com/google/api/gax-grpc) - Google APIs Client Library for Java (from https://repo1.maven.org/maven2/com/google/api-client/google-api-client) - Google Auth Library for Java - Credentials (from https://repo1.maven.org/maven2/com/google/auth/google-auth-library-credentials) - Google Auth Library for Java - OAuth2 HTTP (from https://repo1.maven.org/maven2/com/google/auth/google-auth-library-oauth2-http) @@ -759,7 +758,7 @@ The following software have components provided under the terms of this license: - Jakarta Annotations API (from https://projects.eclipse.org/projects/ee4j.ca) - Jakarta RESTful WS API (from https://github.com/eclipse-ee4j/jaxrs-api) - Jakarta XML Binding API (from https://repo1.maven.org/maven2/jakarta/xml/bind/jakarta.xml.bind-api, https://repo1.maven.org/maven2/org/jboss/spec/javax/xml/bind/jboss-jaxb-api_2.3_spec) -- Lucene Common Analyzers (from https://repo1.maven.org/maven2/org/apache/lucene/lucene-analyzers-common) +- Lucene Common Analyzers (from <https://repo1.maven.org/maven2/org/apache/lucene/lucene-analyzers-common>, https://repo1.maven.org/maven2/org/apache/lucene/lucene-analyzers-common) - Lucene Core (from https://repo1.maven.org/maven2/org/apache/lucene/lucene-core) - Lucene Grouping (from https://lucene.apache.org/, https://repo1.maven.org/maven2/org/apache/lucene/lucene-grouping) - Lucene Highlighter (from https://lucene.apache.org/, https://repo1.maven.org/maven2/org/apache/lucene/lucene-highlighter) @@ -843,7 +842,7 @@ The following software have components provided under the terms of this license: - LatencyUtils (from http://latencyutils.github.io/LatencyUtils/) - MongoDB Java Driver (from http://mongodb.org/, http://www.mongodb.org, https://www.mongodb.com/) - Netty/Common (from https://repo1.maven.org/maven2/io/netty/netty-common) -- Prometheus Java Simpleclient (from https://repo1.maven.org/maven2/io/prometheus/simpleclient) +- Prometheus Java Simpleclient (from <https://repo1.maven.org/maven2/io/prometheus/simpleclient>, https://repo1.maven.org/maven2/io/prometheus/simpleclient) - RabbitMQ Java Client (from http://www.rabbitmq.com, https://www.rabbitmq.com) - jersey-container-servlet (from https://repo1.maven.org/maven2/org/glassfish/jersey/containers/jersey-container-servlet) - jersey-container-servlet-core (from https://repo1.maven.org/maven2/org/glassfish/jersey/containers/jersey-container-servlet-core) @@ -865,8 +864,7 @@ The following software have components provided under the terms of this license: - Apache Log4j Core (from https://repo1.maven.org/maven2/org/apache/logging/log4j/log4j-core) - Jakarta Activation API (from https://github.com/eclipse-ee4j/jaf, https://github.com/jakartaee/jaf-api, https://repo1.maven.org/maven2/jakarta/activation/jakarta.activation-api) - Java Architecture for XML Binding (from http://jaxb.java.net/, https://repo1.maven.org/maven2/javax/xml/bind/jaxb-api) -- JavaBeans Activation Framework (from https://repo1.maven.org/maven2/com/sun/activation/javax.activation) -- JavaBeans(TM) Activation Framework (from http://java.sun.com/javase/technologies/desktop/javabeans/jaf/index.jsp) +- JavaBeans Activation Framework (from <http://java.sun.com/javase/technologies/desktop/javabeans/jaf/index.jsp>, http://java.sun.com/javase/technologies/desktop/javabeans/jaf/index.jsp, https://repo1.maven.org/maven2/com/sun/activation/javax.activation) - Servlet Specification 2.5 API (from http://jetty.mortbay.org, https://repo1.maven.org/maven2/org/mortbay/jetty/servlet-api-2.5) - javax.annotation-api (from http://jcp.org/en/jsr/detail?id=250) @@ -879,7 +877,7 @@ The following software have components provided under the terms of this license: - HK2 module of HK2 itself (from https://repo1.maven.org/maven2/org/glassfish/hk2/hk2) - Jakarta Servlet (from https://javaee.github.io/servlet-spec/, https://projects.eclipse.org/projects/ee4j.servlet) - Java Architecture for XML Binding (from http://jaxb.java.net/, https://repo1.maven.org/maven2/javax/xml/bind/jaxb-api) -- JavaBeans Activation Framework (from https://repo1.maven.org/maven2/com/sun/activation/javax.activation) +- JavaBeans Activation Framework (from <http://java.sun.com/javase/technologies/desktop/javabeans/jaf/index.jsp>, http://java.sun.com/javase/technologies/desktop/javabeans/jaf/index.jsp, https://repo1.maven.org/maven2/com/sun/activation/javax.activation) - JavaMail API (from https://repo1.maven.org/maven2/com/sun/mail/javax.mail) - Run Level Service (from https://repo1.maven.org/maven2/org/glassfish/hk2/hk2-runlevel) - javax.annotation-api (from http://jcp.org/en/jsr/detail?id=250) @@ -979,7 +977,7 @@ The following software have components provided under the terms of this license: - Jakarta Annotations API (from https://projects.eclipse.org/projects/ee4j.ca) - Jakarta RESTful WS API (from https://github.com/eclipse-ee4j/jaxrs-api) - Java Architecture for XML Binding (from http://jaxb.java.net/, https://repo1.maven.org/maven2/javax/xml/bind/jaxb-api) -- JavaBeans Activation Framework (from https://repo1.maven.org/maven2/com/sun/activation/javax.activation) +- JavaBeans Activation Framework (from <http://java.sun.com/javase/technologies/desktop/javabeans/jaf/index.jsp>, http://java.sun.com/javase/technologies/desktop/javabeans/jaf/index.jsp, https://repo1.maven.org/maven2/com/sun/activation/javax.activation) - RabbitMQ Java Client (from http://www.rabbitmq.com, https://www.rabbitmq.com) - ServiceLocator Default Implementation (from https://repo1.maven.org/maven2/org/glassfish/hk2/hk2-locator) - aopalliance-repackaged (from https://repo1.maven.org/maven2/org/glassfish/hk2/external/aopalliance-repackaged) @@ -1018,7 +1016,7 @@ The following software have components provided under the terms of this license: - Jakarta RESTful WS API (from https://github.com/eclipse-ee4j/jaxrs-api) - Jakarta XML Binding API (from https://repo1.maven.org/maven2/jakarta/xml/bind/jakarta.xml.bind-api, https://repo1.maven.org/maven2/org/jboss/spec/javax/xml/bind/jboss-jaxb-api_2.3_spec) - Java Architecture for XML Binding (from http://jaxb.java.net/, https://repo1.maven.org/maven2/javax/xml/bind/jaxb-api) -- JavaBeans Activation Framework (from https://repo1.maven.org/maven2/com/sun/activation/javax.activation) +- JavaBeans Activation Framework (from <http://java.sun.com/javase/technologies/desktop/javabeans/jaf/index.jsp>, http://java.sun.com/javase/technologies/desktop/javabeans/jaf/index.jsp, https://repo1.maven.org/maven2/com/sun/activation/javax.activation) - OSGi resource locator (from https://repo1.maven.org/maven2/org/glassfish/hk2/osgi-resource-locator) - ServiceLocator Default Implementation (from https://repo1.maven.org/maven2/org/glassfish/hk2/hk2-locator) - aopalliance-repackaged (from https://repo1.maven.org/maven2/org/glassfish/hk2/external/aopalliance-repackaged) @@ -1057,7 +1055,7 @@ IPA ======================================================================== The following software have components provided under the terms of this license: -- Lucene Common Analyzers (from https://repo1.maven.org/maven2/org/apache/lucene/lucene-analyzers-common) +- Lucene Common Analyzers (from <https://repo1.maven.org/maven2/org/apache/lucene/lucene-analyzers-common>, https://repo1.maven.org/maven2/org/apache/lucene/lucene-analyzers-common) - Xerces2-j (from https://repo1.maven.org/maven2/xerces/xercesImpl, https://xerces.apache.org/xerces2-j/) ======================================================================== @@ -1066,7 +1064,7 @@ ISC The following software have components provided under the terms of this license: - Java Native Access Platform (from https://github.com/java-native-access/jna) -- spring-security-crypto (from http://spring.io/spring-security, https://spring.io/projects/spring-security, https://spring.io/spring-security) +- Spring Security - Core (from http://spring.io/spring-security, https://repo1.maven.org/maven2/org/springframework/security/spring-security-core, https://spring.io/projects/spring-security, https://spring.io/spring-security) ======================================================================== ImageMagick @@ -1114,6 +1112,7 @@ The following software have components provided under the terms of this license: - Elastic JNA Distribution (from https://github.com/java-native-access/jna) - Java Native Access (from https://github.com/java-native-access/jna, https://github.com/twall/jna) +- Java Native Access Platform (from https://github.com/java-native-access/jna) - Javassist (from http://www.javassist.org/) ======================================================================== @@ -1148,7 +1147,7 @@ The following software have components provided under the terms of this license: - Jakarta XML Binding API (from https://repo1.maven.org/maven2/jakarta/xml/bind/jakarta.xml.bind-api, https://repo1.maven.org/maven2/org/jboss/spec/javax/xml/bind/jboss-jaxb-api_2.3_spec) - Java Client Runtime for AutoRest (from https://github.com/Azure/autorest-clientruntime-for-java) - Java JWT (from http://www.jwt.io, https://github.com/auth0/java-jwt) -- Lucene Common Analyzers (from https://repo1.maven.org/maven2/org/apache/lucene/lucene-analyzers-common) +- Lucene Common Analyzers (from <https://repo1.maven.org/maven2/org/apache/lucene/lucene-analyzers-common>, https://repo1.maven.org/maven2/org/apache/lucene/lucene-analyzers-common) - Lucene Core (from https://repo1.maven.org/maven2/org/apache/lucene/lucene-core) - Lucene Grouping (from https://lucene.apache.org/, https://repo1.maven.org/maven2/org/apache/lucene/lucene-grouping) - Lucene Highlighter (from https://lucene.apache.org/, https://repo1.maven.org/maven2/org/apache/lucene/lucene-highlighter) @@ -1205,7 +1204,7 @@ The following software have components provided under the terms of this license: - msal4j (from https://github.com/AzureAD/microsoft-authentication-library-for-java) - msal4j-persistence-extension (from https://github.com/AzureAD/microsoft-authentication-extensions-for-java) - qpid-proton-j-extensions (from https://github.com/Azure/qpid-proton-j-extensions) -- webjars-locator-core (from http://webjars.org) +- webjars-locator-core (from <http://webjars.org>, http://webjars.org) ======================================================================== MPL-1.1 @@ -1286,7 +1285,7 @@ The following software have components provided under the terms of this license: - Apache Lucene (module: misc) (from https://lucene.apache.org/, https://repo1.maven.org/maven2/org/apache/lucene/lucene-misc) - Apache Lucene (module: spatial-extras) (from https://lucene.apache.org/, https://repo1.maven.org/maven2/org/apache/lucene/lucene-spatial-extras) - Apache Lucene (module: suggest) (from https://lucene.apache.org/, https://repo1.maven.org/maven2/org/apache/lucene/lucene-suggest) -- Lucene Common Analyzers (from https://repo1.maven.org/maven2/org/apache/lucene/lucene-analyzers-common) +- Lucene Common Analyzers (from <https://repo1.maven.org/maven2/org/apache/lucene/lucene-analyzers-common>, https://repo1.maven.org/maven2/org/apache/lucene/lucene-analyzers-common) - Lucene Grouping (from https://lucene.apache.org/, https://repo1.maven.org/maven2/org/apache/lucene/lucene-grouping) - Lucene Highlighter (from https://lucene.apache.org/, https://repo1.maven.org/maven2/org/apache/lucene/lucene-highlighter) - Lucene Join (from https://lucene.apache.org/, https://repo1.maven.org/maven2/org/apache/lucene/lucene-join) diff --git a/devops/gc/pipeline/override-stages.yml b/devops/gc/pipeline/override-stages.yml index 626af5debf7bb58b0efb3e59fb4defdd0c20ff26..e14557ddd5d4093b0d0a8a92a2c9d1214ec4217c 100644 --- a/devops/gc/pipeline/override-stages.yml +++ b/devops/gc/pipeline/override-stages.yml @@ -1,8 +1,6 @@ variables: GC_SERVICE: indexer GC_VENDOR: gc -# FIXME remove when all services are migrated to a single helm - GC_ENABLE_HELM_CONFIG: "false" gc-anthos-test: variables: diff --git a/indexer-core/pom.xml b/indexer-core/pom.xml index 9274ccd2807f324c7147ce22675e2de0ca0c68c7..8879d001c71555a9a46718fc90c5047eed3d473f 100644 --- a/indexer-core/pom.xml +++ b/indexer-core/pom.xml @@ -4,12 +4,12 @@ <parent> <groupId>org.opengroup.osdu.indexer</groupId> <artifactId>indexer-service</artifactId> - <version>0.19.0-SNAPSHOT</version> + <version>0.20.0-SNAPSHOT</version> <relativePath>../pom.xml</relativePath> </parent> <artifactId>indexer-core</artifactId> - <version>0.19.0-SNAPSHOT</version> + <version>0.20.0-SNAPSHOT</version> <name>indexer-core</name> <description>Indexer Service Core</description> <packaging>jar</packaging> diff --git a/indexer-core/src/main/java/org/opengroup/osdu/indexer/service/IndicesServiceImpl.java b/indexer-core/src/main/java/org/opengroup/osdu/indexer/service/IndicesServiceImpl.java index db5a2f37a19857fd609da3fc3abdc953c5889fd8..bc8d633ac9be3a39336ea79a634709e1f34c2940 100644 --- a/indexer-core/src/main/java/org/opengroup/osdu/indexer/service/IndicesServiceImpl.java +++ b/indexer-core/src/main/java/org/opengroup/osdu/indexer/service/IndicesServiceImpl.java @@ -24,6 +24,7 @@ import org.elasticsearch.ElasticsearchException; import org.elasticsearch.ElasticsearchStatusException; import org.elasticsearch.action.admin.cluster.health.ClusterHealthRequest; import org.elasticsearch.action.admin.cluster.health.ClusterHealthResponse; +import org.elasticsearch.action.admin.indices.alias.IndicesAliasesRequest; import org.elasticsearch.action.admin.indices.delete.DeleteIndexRequest; import org.elasticsearch.action.support.master.AcknowledgedResponse; import org.elasticsearch.client.Request; @@ -51,10 +52,7 @@ import org.springframework.web.context.annotation.RequestScope; import java.io.IOException; import java.lang.reflect.Type; -import java.util.Arrays; -import java.util.List; -import java.util.Map; -import java.util.Objects; +import java.util.*; @Service @RequestScope @@ -107,6 +105,8 @@ public class IndicesServiceImpl implements IndicesService { if (indexStatus) { this.indexCache.put(index, true); this.log.info(String.format("Time taken to successfully create new index %s : %d milliseconds", request.index(), stopTime-startTime)); + + createIndexAlias(client, index); } return indexStatus; @@ -303,4 +303,48 @@ public class IndicesServiceImpl implements IndicesService { throw exception; } } -} \ No newline at end of file + + private void createIndexAlias(RestHighLevelClient client, String index) { + String kind = this.elasticIndexNameResolver.getKindFromIndexName(index); + if(!elasticIndexNameResolver.isIndexAliasSupported(kind)) + return; + + try { + List<String> kinds = new ArrayList<>(); + kinds.add(kind); + String kindWithMajorVersion = getKindWithMajorVersion(kind); + if(elasticIndexNameResolver.isIndexAliasSupported(kindWithMajorVersion)) { + kinds.add(kindWithMajorVersion); + } + for (String kd : kinds) { + index = elasticIndexNameResolver.getIndexNameFromKind(kd); + String alias = elasticIndexNameResolver.getIndexAliasFromKind(kd); + IndicesAliasesRequest addRequest = new IndicesAliasesRequest(); + IndicesAliasesRequest.AliasActions aliasActions = new IndicesAliasesRequest.AliasActions(IndicesAliasesRequest.AliasActions.Type.ADD) + .index(index) + .alias(alias); + addRequest.addAliasAction(aliasActions); + AcknowledgedResponse response = client.indices().updateAliases(addRequest, RequestOptions.DEFAULT); + if (response.isAcknowledged()) { + this.log.info(String.format("Alias %s was created for index %s", alias, index)); + } + } + } + catch(Exception ex) { + // Failed to create alias is not the end. It should not affect the status of index creation + this.log.error(String.format("Fail to create aliases for index %s", index), ex); + } + } + + private String getKindWithMajorVersion(String kind) { + // If kind is common:welldb:wellbore:1.2.0, then kind with major version is common:welldb:wellbore:1.*.* + int idx = kind.lastIndexOf(":"); + String version = kind.substring(idx+1); + if(version.indexOf(".") > 0) { + String kindWithoutVersion = kind.substring(0, idx); + String majorVersion = version.substring(0, version.indexOf(".")); + return String.format("%s:%s.*.*", kindWithoutVersion, majorVersion); + } + return null; + } +} diff --git a/indexer-core/src/test/java/org/opengroup/osdu/indexer/service/IndicesServiceTest.java b/indexer-core/src/test/java/org/opengroup/osdu/indexer/service/IndicesServiceTest.java index 8fb08c6e6ac0be3e3116cec674108af1a6f8231d..7f22b619a9364b308791473adbae5324a0687d9a 100644 --- a/indexer-core/src/test/java/org/opengroup/osdu/indexer/service/IndicesServiceTest.java +++ b/indexer-core/src/test/java/org/opengroup/osdu/indexer/service/IndicesServiceTest.java @@ -24,8 +24,11 @@ import org.apache.http.util.EntityUtils; import org.elasticsearch.ElasticsearchStatusException; import org.elasticsearch.action.admin.cluster.health.ClusterHealthRequest; import org.elasticsearch.action.admin.cluster.health.ClusterHealthResponse; +import org.elasticsearch.action.admin.indices.alias.IndicesAliasesRequest; import org.elasticsearch.action.support.master.AcknowledgedResponse; import org.elasticsearch.client.*; +import org.elasticsearch.client.indices.CreateIndexRequest; +import org.elasticsearch.client.indices.CreateIndexResponse; import org.elasticsearch.client.indices.GetIndexRequest; import org.elasticsearch.client.indices.GetIndexResponse; import org.elasticsearch.rest.RestStatus; @@ -47,10 +50,12 @@ import org.springframework.test.context.junit4.SpringRunner; import java.io.IOException; import java.lang.reflect.Type; +import java.util.HashMap; import java.util.List; import static junit.framework.TestCase.assertTrue; import static org.junit.Assert.*; +import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.*; import static org.mockito.MockitoAnnotations.initMocks; @@ -87,6 +92,52 @@ public class IndicesServiceTest { restHighLevelClient = PowerMockito.mock(RestHighLevelClient.class); } + @Test + public void create_elasticIndex() throws Exception { + String kind = "common:welldb:wellbore:1.2.0"; + String index = "common-welldb-wellbore-1.2.0"; + CreateIndexResponse indexResponse = new CreateIndexResponse(true, true, index); + AcknowledgedResponse acknowledgedResponse = new AcknowledgedResponse(true); + + when(elasticIndexNameResolver.getKindFromIndexName(any())).thenReturn(kind); + when(elasticIndexNameResolver.getIndexNameFromKind(any())).thenReturn(index); + when(elasticIndexNameResolver.getIndexAliasFromKind(any())).thenReturn("a12345678"); + when(elasticIndexNameResolver.isIndexAliasSupported(any())).thenReturn(true); + when(restHighLevelClient.indices()).thenReturn(indicesClient); + when(indicesClient.create(any(CreateIndexRequest.class), any(RequestOptions.class))).thenReturn(indexResponse); + when(indicesClient.updateAliases(any(IndicesAliasesRequest.class), any(RequestOptions.class))).thenReturn(acknowledgedResponse); + boolean response = this.sut.createIndex(restHighLevelClient, index, null, "anytype", new HashMap<>()); + assertTrue(response); + when(this.indicesExistCache.get(index)).thenReturn(true); + verify(this.indicesClient, times(2)).updateAliases(any(IndicesAliasesRequest.class), any(RequestOptions.class)); + } + + @Test + public void create_elasticIndex_fail() throws Exception { + String index = "common-welldb-wellbore-1.2.0"; + CreateIndexResponse indexResponse = new CreateIndexResponse(false, false, index); + + when(restHighLevelClient.indices()).thenReturn(indicesClient); + when(indicesClient.create(any(CreateIndexRequest.class), any(RequestOptions.class))).thenReturn(indexResponse); + boolean response = this.sut.createIndex(restHighLevelClient, index, null, "anytype", new HashMap<>()); + assertFalse(response); + verify(this.indicesExistCache, times(0)).put(any(), any()); + verify(this.indicesClient, times(0)).updateAliases(any(IndicesAliasesRequest.class), any(RequestOptions.class)); + } + + @Test + public void create_existingElasticIndex() throws Exception { + String index = "common-welldb-wellbore-1.2.0"; + ElasticsearchStatusException elasticsearchStatusException = new ElasticsearchStatusException("resource_already_exists_exception", RestStatus.BAD_REQUEST); + + when(restHighLevelClient.indices()).thenReturn(indicesClient); + when(indicesClient.create(any(CreateIndexRequest.class), any(RequestOptions.class))).thenThrow(elasticsearchStatusException); + boolean response = this.sut.createIndex(restHighLevelClient, index, null, "anytype", new HashMap<>()); + assertTrue(response); + verify(this.indicesExistCache, times(1)).put(any(), any()); + verify(this.indicesClient, times(0)).updateAliases(any(IndicesAliasesRequest.class), any(RequestOptions.class)); + } + @Test public void delete_existingElasticIndex() throws Exception { AcknowledgedResponse indexResponse = new AcknowledgedResponse(true); @@ -290,4 +341,4 @@ public class IndicesServiceTest { verify(this.indicesExistCache, times(1)).get("anyIndex"); verify(this.indicesExistCache, times(1)).put("anyIndex", true); } -} \ No newline at end of file +} diff --git a/pom.xml b/pom.xml index 0685f3a46fc0fe062e1ce04dd4d1563798200dd8..394f752d95557991a2b367aea36f1946ad84f796 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ <groupId>org.opengroup.osdu.indexer</groupId> <artifactId>indexer-service</artifactId> <packaging>pom</packaging> - <version>0.19.0-SNAPSHOT</version> + <version>0.20.0-SNAPSHOT</version> <description>Indexer Service</description> <properties> diff --git a/provider/indexer-aws/pom.xml b/provider/indexer-aws/pom.xml index bd884df28bfc861d3ab22471213cef8c91e3fece..63a5c3a8817f4026cbf62c21130ac8dc85756704 100644 --- a/provider/indexer-aws/pom.xml +++ b/provider/indexer-aws/pom.xml @@ -18,7 +18,7 @@ <parent> <groupId>org.opengroup.osdu.indexer</groupId> <artifactId>indexer-service</artifactId> - <version>0.19.0-SNAPSHOT</version> + <version>0.20.0-SNAPSHOT</version> <relativePath>../../pom.xml</relativePath> </parent> @@ -26,7 +26,7 @@ <artifactId>indexer-aws</artifactId> <description>Indexer service on AWS</description> <packaging>jar</packaging> - <version>0.19.0-SNAPSHOT</version> + <version>0.20.0-SNAPSHOT</version> <properties> <aws.version>1.11.1018</aws.version> @@ -66,7 +66,7 @@ <dependency> <groupId>org.opengroup.osdu.indexer</groupId> <artifactId>indexer-core</artifactId> - <version>0.19.0-SNAPSHOT</version> + <version>0.20.0-SNAPSHOT</version> </dependency> <dependency> <groupId>org.opengroup.osdu.core.aws</groupId> diff --git a/provider/indexer-azure/pom.xml b/provider/indexer-azure/pom.xml index 17b34f5f38da56488e0d3a80d5c21fc4920355f6..ce988a0cfc8b8e8f0a532bb14b4aa01dbcc11d86 100644 --- a/provider/indexer-azure/pom.xml +++ b/provider/indexer-azure/pom.xml @@ -21,12 +21,12 @@ <parent> <groupId>org.opengroup.osdu.indexer</groupId> <artifactId>indexer-service</artifactId> - <version>0.19.0-SNAPSHOT</version> + <version>0.20.0-SNAPSHOT</version> <relativePath>../../pom.xml</relativePath> </parent> <artifactId>indexer-azure</artifactId> - <version>0.19.0-SNAPSHOT</version> + <version>0.20.0-SNAPSHOT</version> <name>indexer-azure</name> <description>Indexer Service Azure</description> <packaging>jar</packaging> @@ -39,7 +39,7 @@ <azure.appservice.subscription /> <log4j.version>2.17.1</log4j.version> <nimbus-jose-jwt.version>8.2</nimbus-jose-jwt.version> - <indexer-core.version>0.19.0-SNAPSHOT</indexer-core.version> + <indexer-core.version>0.20.0-SNAPSHOT</indexer-core.version> <spring-security-jwt.version>1.1.1.RELEASE</spring-security-jwt.version> <osdu.corelibazure.version>0.19.0-rc8</osdu.corelibazure.version> <reactor-netty.version>0.9.12.RELEASE</reactor-netty.version> diff --git a/provider/indexer-gc/pom.xml b/provider/indexer-gc/pom.xml index b9e656058533af7c7ae99ca37f6af6b4ff7720b7..48d5ee51792ed554536e3772c4379f31f48898f3 100644 --- a/provider/indexer-gc/pom.xml +++ b/provider/indexer-gc/pom.xml @@ -5,12 +5,12 @@ <parent> <groupId>org.opengroup.osdu.indexer</groupId> <artifactId>indexer-service</artifactId> - <version>0.19.0-SNAPSHOT</version> + <version>0.20.0-SNAPSHOT</version> <relativePath>../../pom.xml</relativePath> </parent> <artifactId>indexer-gc</artifactId> - <version>0.19.0-SNAPSHOT</version> + <version>0.20.0-SNAPSHOT</version> <name>indexer-gc</name> <description>Indexer Service Google Cloud</description> <packaging>jar</packaging> @@ -28,7 +28,7 @@ <dependency> <groupId>org.opengroup.osdu.indexer</groupId> <artifactId>indexer-core</artifactId> - <version>0.19.0-SNAPSHOT</version> + <version>0.20.0-SNAPSHOT</version> <!-- excluded due to runtime conflict with latest core-lib-gcp transient dependencies --> <exclusions> <exclusion> diff --git a/provider/indexer-gc/src/main/java/org/opengroup/osdu/indexer/provider/gcp/common/cache/CacheConfig.java b/provider/indexer-gc/src/main/java/org/opengroup/osdu/indexer/provider/gcp/common/cache/CacheConfig.java index bf26b9d587a5d87717cf79ac0b44aa753b6f5891..7db632b473b5e2c83ef93f662163b7c29b944d15 100644 --- a/provider/indexer-gc/src/main/java/org/opengroup/osdu/indexer/provider/gcp/common/cache/CacheConfig.java +++ b/provider/indexer-gc/src/main/java/org/opengroup/osdu/indexer/provider/gcp/common/cache/CacheConfig.java @@ -33,47 +33,59 @@ import org.springframework.context.annotation.Configuration; public class CacheConfig { @Bean - public ISchemaCache fieldTypeMappingCache(GcpConfigurationProperties appProperties) { + public ISchemaCache fieldTypeMappingCache(RedisCache<String, String> schemaCache) { + return new SchemaCache(schemaCache); + } + + @Bean + public RedisCache<String, String> schemaCache(GcpConfigurationProperties appProperties) { RedisCacheBuilder<String, String> cacheBuilder = new RedisCacheBuilder<>(); - RedisCache<String, String> schemaCache = cacheBuilder.buildRedisCache( - appProperties.getRedisSearchHost(), - Integer.parseInt(appProperties.getRedisSearchPort()), - appProperties.getRedisSearchPassword(), - appProperties.getRedisSearchExpiration(), - appProperties.getRedisSearchWithSsl(), - String.class, - String.class + return cacheBuilder.buildRedisCache( + appProperties.getRedisSearchHost(), + Integer.parseInt(appProperties.getRedisSearchPort()), + appProperties.getRedisSearchPassword(), + appProperties.getRedisSearchExpiration(), + appProperties.getRedisSearchWithSsl(), + String.class, + String.class ); - return new SchemaCache(schemaCache); } @Bean - public IElasticCredentialsCache<String, ClusterSettings> elasticCredentialsCache(GcpConfigurationProperties gcpAppServiceConfig) { + public IElasticCredentialsCache<String, ClusterSettings> elasticCredentialsCache(RedisCache<String, ClusterSettings> elasticCache) { + return new ElasticCredentialsCache(elasticCache); + } + + @Bean + public RedisCache<String, ClusterSettings> elasticCache(GcpConfigurationProperties gcpAppServiceConfig) { RedisCacheBuilder<String, ClusterSettings> cacheBuilder = new RedisCacheBuilder<>(); - RedisCache<String, ClusterSettings> clusterSettingCache = cacheBuilder.buildRedisCache( - gcpAppServiceConfig.getRedisSearchHost(), - Integer.parseInt(gcpAppServiceConfig.getRedisSearchPort()), - gcpAppServiceConfig.getRedisSearchPassword(), - gcpAppServiceConfig.getRedisSearchExpiration(), - gcpAppServiceConfig.getRedisSearchWithSsl(), - String.class, - ClusterSettings.class + return cacheBuilder.buildRedisCache( + gcpAppServiceConfig.getRedisSearchHost(), + Integer.parseInt(gcpAppServiceConfig.getRedisSearchPort()), + gcpAppServiceConfig.getRedisSearchPassword(), + gcpAppServiceConfig.getRedisSearchExpiration(), + gcpAppServiceConfig.getRedisSearchWithSsl(), + String.class, + ClusterSettings.class ); - return new ElasticCredentialsCache(clusterSettingCache); } @Bean - public IIndexCache cursorCache(GcpConfigurationProperties gcpAppServiceConfig) { + public IIndexCache cursorCache(RedisCache<String, Boolean> redisCache) { + return new IndexCache(redisCache); + } + + @Bean + public RedisCache<String, Boolean> redisCache(GcpConfigurationProperties gcpAppServiceConfig) { RedisCacheBuilder<String, Boolean> cacheBuilder = new RedisCacheBuilder<>(); - RedisCache<String, Boolean> indexCache = cacheBuilder.buildRedisCache( - gcpAppServiceConfig.getRedisSearchHost(), - Integer.parseInt(gcpAppServiceConfig.getRedisSearchPort()), - gcpAppServiceConfig.getRedisSearchPassword(), - gcpAppServiceConfig.getRedisSearchExpiration(), - gcpAppServiceConfig.getRedisSearchWithSsl(), - String.class, - Boolean.class + return cacheBuilder.buildRedisCache( + gcpAppServiceConfig.getRedisSearchHost(), + Integer.parseInt(gcpAppServiceConfig.getRedisSearchPort()), + gcpAppServiceConfig.getRedisSearchPassword(), + gcpAppServiceConfig.getRedisSearchExpiration(), + gcpAppServiceConfig.getRedisSearchWithSsl(), + String.class, + Boolean.class ); - return new IndexCache(indexCache); } } diff --git a/provider/indexer-ibm/pom.xml b/provider/indexer-ibm/pom.xml index b81755bafd6d981e9823227b7115697bb14945fc..787b45c6de6af106eb6b1f4e708b903bbffd5dbc 100644 --- a/provider/indexer-ibm/pom.xml +++ b/provider/indexer-ibm/pom.xml @@ -21,7 +21,7 @@ <parent> <groupId>org.opengroup.osdu.indexer</groupId> <artifactId>indexer-service</artifactId> - <version>0.19.0-SNAPSHOT</version> + <version>0.20.0-SNAPSHOT</version> <relativePath>../../pom.xml</relativePath> </parent> @@ -57,7 +57,7 @@ <dependency> <groupId>org.opengroup.osdu.indexer</groupId> <artifactId>indexer-core</artifactId> - <version>0.19.0-SNAPSHOT</version> + <version>0.20.0-SNAPSHOT</version> <exclusions> <exclusion> <groupId>io.netty</groupId> diff --git a/testing/indexer-test-anthos/pom.xml b/testing/indexer-test-anthos/pom.xml index 988b168471cd5a77d3e9fe55b6cf55163dba3d35..1a521499d7790f7ea1e1df1a51cc8eebe957ff45 100644 --- a/testing/indexer-test-anthos/pom.xml +++ b/testing/indexer-test-anthos/pom.xml @@ -20,7 +20,7 @@ <parent> <artifactId>indexer-test</artifactId> <groupId>org.opengroup.osdu</groupId> - <version>0.19.0-SNAPSHOT</version> + <version>0.20.0-SNAPSHOT</version> </parent> <modelVersion>4.0.0</modelVersion> @@ -36,7 +36,7 @@ <dependency> <groupId>org.opengroup.osdu.indexer</groupId> <artifactId>indexer-test-core</artifactId> - <version>0.19.0-SNAPSHOT</version> + <version>0.20.0-SNAPSHOT</version> </dependency> <dependency> <groupId>com.nimbusds</groupId> diff --git a/testing/indexer-test-aws/pom.xml b/testing/indexer-test-aws/pom.xml index 06fdb87c3a2de409fef6d5c91116ce082ae90a9c..19bdc68759d3923f93fed0ad09912d37f1af928a 100644 --- a/testing/indexer-test-aws/pom.xml +++ b/testing/indexer-test-aws/pom.xml @@ -21,13 +21,13 @@ <parent> <groupId>org.opengroup.osdu</groupId> <artifactId>indexer-test</artifactId> - <version>0.19.0-SNAPSHOT</version> + <version>0.20.0-SNAPSHOT</version> <relativePath>../pom.xml</relativePath> </parent> <groupId>org.opengroup.osdu.indexer</groupId> <artifactId>indexer-test-aws</artifactId> - <version>0.19.0-SNAPSHOT</version> + <version>0.20.0-SNAPSHOT</version> <packaging>jar</packaging> <properties> @@ -44,7 +44,7 @@ <dependency> <groupId>org.opengroup.osdu.indexer</groupId> <artifactId>indexer-test-core</artifactId> - <version>0.19.0-SNAPSHOT</version> + <version>0.20.0-SNAPSHOT</version> </dependency> <!-- AWS specific packages --> diff --git a/testing/indexer-test-azure/pom.xml b/testing/indexer-test-azure/pom.xml index b2e7f983a40ae61b79e515c829b93b7488148589..1f441ec059f5a65b4a6cc6764190e068b1cc20c9 100644 --- a/testing/indexer-test-azure/pom.xml +++ b/testing/indexer-test-azure/pom.xml @@ -21,13 +21,13 @@ <parent> <groupId>org.opengroup.osdu</groupId> <artifactId>indexer-test</artifactId> - <version>0.19.0-SNAPSHOT</version> + <version>0.20.0-SNAPSHOT</version> <relativePath>../pom.xml</relativePath> </parent> <groupId>org.opengroup.osdu.indexer</groupId> <artifactId>indexer-test-azure</artifactId> - <version>0.19.0-SNAPSHOT</version> + <version>0.20.0-SNAPSHOT</version> <packaging>jar</packaging> <properties> @@ -46,7 +46,7 @@ <dependency> <groupId>org.opengroup.osdu.indexer</groupId> <artifactId>indexer-test-core</artifactId> - <version>0.19.0-SNAPSHOT</version> + <version>0.20.0-SNAPSHOT</version> <exclusions> <exclusion> <groupId>org.slf4j</groupId> diff --git a/testing/indexer-test-azure/src/test/java/org/opengroup/osdu/util/AzureHTTPClient.java b/testing/indexer-test-azure/src/test/java/org/opengroup/osdu/util/AzureHTTPClient.java index 954f3acb24c7fde5fa13682a17f1eddc3eae7721..07a94a76e2443a0b3358e2169e237949b39054fc 100644 --- a/testing/indexer-test-azure/src/test/java/org/opengroup/osdu/util/AzureHTTPClient.java +++ b/testing/indexer-test-azure/src/test/java/org/opengroup/osdu/util/AzureHTTPClient.java @@ -14,10 +14,15 @@ package org.opengroup.osdu.util; +import com.sun.jersey.api.client.Client; +import com.sun.jersey.api.client.ClientResponse; +import com.sun.jersey.api.client.WebResource; import lombok.ToString; import lombok.extern.java.Log; - +import javax.ws.rs.core.Response; +import java.net.SocketTimeoutException; +import java.util.Map; @Log @ToString public class AzureHTTPClient extends HTTPClient { @@ -35,4 +40,43 @@ public class AzureHTTPClient extends HTTPClient { } return token; } -} \ No newline at end of file + public ClientResponse send(String httpMethod, String url, String payLoad, Map<String, String> headers, String token) { + ClientResponse response; + System.out.println("in Azure send method"); + String correlationId = java.util.UUID.randomUUID().toString(); + log.info(String.format("Request correlation id: %s", correlationId)); + headers.put(HEADER_CORRELATION_ID, correlationId); + Client client = getClient(); + client.setReadTimeout(300000); + client.setConnectTimeout(300000); + log.info(String.format("httpMethod: %s", httpMethod)); + log.info(String.format("payLoad: %s", payLoad)); + log.info(String.format("headers: %s", headers)); + log.info(String.format("URL: %s", url)); + WebResource webResource = client.resource(url); + log.info("waiting on response in azure send"); + int retryCount = 2; + try{ + response = this.getClientResponse(httpMethod, payLoad, webResource, headers, token); + while (retryCount > 0) { + if (response.getStatusInfo().getFamily().equals(Response.Status.Family.valueOf("SERVER_ERROR"))) { + log.info(String.format("got resoponse : %s", response.getStatusInfo())); + Thread.sleep(5000); + log.info(String.format("Retrying --- ")); + response = this.getClientResponse(httpMethod, payLoad, webResource, headers, token); + } else + break; + retryCount--; + } + System.out.println("sending response from azure send method"); + return response; + } catch (Exception e) { + if (e.getCause() instanceof SocketTimeoutException) { + System.out.println("Retrying in case of socket timeout exception"); + return this.getClientResponse(httpMethod, payLoad, webResource, headers, token); + } + e.printStackTrace(); + throw new AssertionError("Error: Send request error", e); + } + } +} diff --git a/testing/indexer-test-core/pom.xml b/testing/indexer-test-core/pom.xml index 97e2eafc54b79e0ad0490f535df39d15fe18cbdf..b1a4bb19f0985c899b10a85a162cd8b1ce0f6934 100644 --- a/testing/indexer-test-core/pom.xml +++ b/testing/indexer-test-core/pom.xml @@ -5,13 +5,13 @@ <parent> <groupId>org.opengroup.osdu</groupId> <artifactId>indexer-test</artifactId> - <version>0.19.0-SNAPSHOT</version> + <version>0.20.0-SNAPSHOT</version> <relativePath>../pom.xml</relativePath> </parent> <groupId>org.opengroup.osdu.indexer</groupId> <artifactId>indexer-test-core</artifactId> - <version>0.19.0-SNAPSHOT</version> + <version>0.20.0-SNAPSHOT</version> <properties> <maven.compiler.target>1.8</maven.compiler.target> diff --git a/testing/indexer-test-core/src/main/java/org/opengroup/osdu/util/HTTPClient.java b/testing/indexer-test-core/src/main/java/org/opengroup/osdu/util/HTTPClient.java index 3d12744f80e9413308eaeb14cb0f3da0e1d7d235..dde76bb8801939a4d148925d563181fcfde2ff35 100644 --- a/testing/indexer-test-core/src/main/java/org/opengroup/osdu/util/HTTPClient.java +++ b/testing/indexer-test-core/src/main/java/org/opengroup/osdu/util/HTTPClient.java @@ -24,11 +24,11 @@ public abstract class HTTPClient { private static Random random = new Random(); private final int MAX_ID_SIZE = 50; - private static final String HEADER_CORRELATION_ID = "correlation-id"; + protected static final String HEADER_CORRELATION_ID = "correlation-id"; public abstract String getAccessToken(); - private static Client getClient() { + protected static Client getClient() { TrustManager[] trustAllCerts = new TrustManager[]{new X509TrustManager() { @Override public X509Certificate[] getAcceptedIssuers() { @@ -73,7 +73,7 @@ public abstract class HTTPClient { return response; } - private ClientResponse getClientResponse(String httpMethod, String requestBody, WebResource webResource, Map<String, String> headers, String token) { + protected ClientResponse getClientResponse(String httpMethod, String requestBody, WebResource webResource, Map<String, String> headers, String token) { final WebResource.Builder builder = webResource.accept(MediaType.APPLICATION_JSON).type(MediaType.APPLICATION_JSON).header("Authorization", token); headers.forEach(builder::header); log.info("making request to datalake api"); diff --git a/testing/indexer-test-gc/pom.xml b/testing/indexer-test-gc/pom.xml index b37d8200a20e535e0d4a75eccc55c7064ca619b7..5873bff29b58b84629d995b20d44ecdaa86eda90 100644 --- a/testing/indexer-test-gc/pom.xml +++ b/testing/indexer-test-gc/pom.xml @@ -6,13 +6,13 @@ <parent> <groupId>org.opengroup.osdu</groupId> <artifactId>indexer-test</artifactId> - <version>0.19.0-SNAPSHOT</version> + <version>0.20.0-SNAPSHOT</version> <relativePath>../pom.xml</relativePath> </parent> <groupId>org.opengroup.osdu.indexer</groupId> <artifactId>indexer-test-gc</artifactId> - <version>0.19.0-SNAPSHOT</version> + <version>0.20.0-SNAPSHOT</version> <packaging>jar</packaging> <properties> @@ -37,7 +37,7 @@ <dependency> <groupId>org.opengroup.osdu.indexer</groupId> <artifactId>indexer-test-core</artifactId> - <version>0.19.0-SNAPSHOT</version> + <version>0.20.0-SNAPSHOT</version> </dependency> <!-- Cucumber --> diff --git a/testing/indexer-test-ibm/pom.xml b/testing/indexer-test-ibm/pom.xml index 9890d9f4b2b9b660eead2f11f8fb2a5b4e626bdb..a749aeda28ce6bea5d50fdc801e80cccef7936a4 100644 --- a/testing/indexer-test-ibm/pom.xml +++ b/testing/indexer-test-ibm/pom.xml @@ -6,13 +6,13 @@ <parent> <groupId>org.opengroup.osdu</groupId> <artifactId>indexer-test</artifactId> - <version>0.19.0-SNAPSHOT</version> + <version>0.20.0-SNAPSHOT</version> <relativePath>../pom.xml</relativePath> </parent> <groupId>org.opengroup.osdu.indexer</groupId> <artifactId>indexer-test-ibm</artifactId> - <version>0.19.0-SNAPSHOT</version> + <version>0.20.0-SNAPSHOT</version> <packaging>jar</packaging> <properties> @@ -38,7 +38,7 @@ <dependency> <groupId>org.opengroup.osdu.indexer</groupId> <artifactId>indexer-test-core</artifactId> - <version>0.19.0-SNAPSHOT</version> + <version>0.20.0-SNAPSHOT</version> </dependency> <dependency> diff --git a/testing/pom.xml b/testing/pom.xml index 498df3dffccd76a45ef169e96f9c793419c143b8..ddaf9284a1e76083eddc4c097f9768cbef2080b6 100644 --- a/testing/pom.xml +++ b/testing/pom.xml @@ -18,7 +18,7 @@ <modelVersion>4.0.0</modelVersion> <groupId>org.opengroup.osdu</groupId> <artifactId>indexer-test</artifactId> - <version>0.19.0-SNAPSHOT</version> + <version>0.20.0-SNAPSHOT</version> <description>Indexer Service Integration Test Root Project</description> <properties> <spring.version>5.3.23</spring.version>