diff --git a/NOTICE~ b/NOTICE~ new file mode 100644 index 0000000000000000000000000000000000000000..f1bf5bc49258adf89571d007a7dadd1a2ef00bcc --- /dev/null +++ b/NOTICE~ @@ -0,0 +1,498 @@ +# 3rd-Party Software License Notice +Generated by fossa-cli (https://github.com/fossas/fossa-cli). +Formatted by fossa-with-cache (https://community.opengroup.org/divido/fossa-with-cache). +This software includes the following software and licenses: + +======================================================================== +Android-Sdk +======================================================================== +The following software have components provided under the terms of this license: + +- Android SDK (from https://www.android.com/) + +======================================================================== +Apache-1.1 +======================================================================== +The following software have components provided under the terms of this license: + +- Apache Commons CLI (from https://commons.apache.org/proper/commons-cli/, https://repo1.maven.org/maven2/commons-cli/commons-cli) +- Default Plexus Container (from https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-container-default) +- oro (from https://repo1.maven.org/maven2/oro/oro) + +======================================================================== +Apache-2.0 +======================================================================== +The following software have components provided under the terms of this license: + +- ASM based accessors helper used by json-smart (from https://urielch.github.io/) +- AWS SDK For Java (from https://aws.amazon.com/sdkforjava) +- AWS SDK for Java - BOM (from https://aws.amazon.com/sdkforjava) +- AWS SDK for Java - Models (from https://aws.amazon.com/sdkforjava) +- Apache Ant + JUnit (from http://ant.apache.org/, https://ant.apache.org/) +- Apache Ant Core +- Apache Ant Launcher (from http://ant.apache.org/) +- Apache Commons BeanUtils (from http://commons.apache.org/proper/commons-beanutils/, https://repo1.maven.org/maven2/commons-beanutils/commons-beanutils) +- Apache Commons CLI (from https://commons.apache.org/proper/commons-cli/, https://repo1.maven.org/maven2/commons-cli/commons-cli) +- Apache Commons Codec (from http://commons.apache.org/proper/commons-codec/, https://commons.apache.org/proper/commons-codec/) +- Apache Commons Collections (from http://commons.apache.org/proper/commons-collections/) +- Apache Commons IO (from http://commons.apache.org/io/, https://commons.apache.org/proper/commons-io/, https://repo1.maven.org/maven2/commons-io/commons-io) +- Apache Commons Lang (from http://commons.apache.org/proper/commons-lang/) +- Apache Commons Logging (from http://commons.apache.org/logging/, http://commons.apache.org/proper/commons-logging/) +- Apache Commons Validator (from http://commons.apache.org/proper/commons-validator/, http://jakarta.apache.org/commons/${pom.artifactId.substring(8)}/, https://repo1.maven.org/maven2/commons-validator/commons-validator) +- Apache Geronimo JMS Spec 2.0 (from http://geronimo.apache.org/maven/${siteId}/${version}) +- Apache HttpAsyncClient (from http://hc.apache.org/httpcomponents-asyncclient) +- Apache HttpClient (from http://hc.apache.org/httpcomponents-client) +- Apache HttpCore (from http://hc.apache.org/httpcomponents-core-ga, http://hc.apache.org/httpcomponents-core-ga/) +- Apache Maven Wagon :: API (from https://repo1.maven.org/maven2/org/apache/maven/wagon/wagon-provider-api) +- Apache Maven Wagon :: Providers :: File Provider (from https://repo1.maven.org/maven2/org/apache/maven/wagon/wagon-file) +- Apache Velocity (from http://velocity.apache.org/engine/releases/velocity-1.6.1/, http://velocity.apache.org/engine/releases/velocity-1.6.2/) +- AssertJ fluent assertions (from https://repo1.maven.org/maven2/org/assertj/assertj-core) +- 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) +- 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) +- Byte Buddy (without dependencies) (from https://repo1.maven.org/maven2/net/bytebuddy/byte-buddy) +- Byte Buddy Java agent (from https://repo1.maven.org/maven2/net/bytebuddy/byte-buddy-agent) +- ClassMate (from http://github.com/cowtowncoder/java-classmate) +- Collections (from https://repo1.maven.org/maven2/commons-collections/commons-collections) +- Default Plexus Container (from https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-container-default) +- Digester (from https://repo1.maven.org/maven2/commons-digester/commons-digester) +- FindBugs-jsr305 (from http://findbugs.sourceforge.net/) +- Gson (from http://code.google.com/p/google-gson/, https://repo1.maven.org/maven2/com/google/code/gson/gson) +- Guava InternalFutureFailureAccess and InternalFutures (from https://repo1.maven.org/maven2/com/google/guava/failureaccess) +- Guava: Google Core Libraries for Java (from http://code.google.com/p/guava-libraries, https://github.com/google/guava, https://repo1.maven.org/maven2/com/google/guava/guava) +- IBM COS SDK For Java (from https://github.com/ibm/ibm-cos-sdk-java) +- J2ObjC Annotations (from https://github.com/google/j2objc/) +- JCIP Annotations under Apache License (from http://stephenc.github.com/jcip-annotations) +- JDOM +- JSON Small and Fast Parser (from https://repo1.maven.org/maven2/net/minidev/json-smart, https://urielch.github.io/) +- JSON library from Android SDK (from http://developer.android.com/sdk) +- JSON.simple (from http://code.google.com/p/json-simple/) +- JSONassert (from http://github.com/skyscreamer/yoga, https://github.com/skyscreamer/JSONassert) +- JSR107 API and SPI (from https://github.com/jsr107/jsr107spec) +- Jackson (from http://jackson.codehaus.org) +- Jackson dataformat: CBOR (from http://github.com/FasterXML/jackson-dataformats-binary) +- Jackson dataformat: Smile (from http://github.com/FasterXML/jackson-dataformat-smile, http://github.com/FasterXML/jackson-dataformats-binary) +- Jackson datatype: JSR310 (from http://wiki.fasterxml.com/JacksonModuleJSR310, https://repo1.maven.org/maven2/com/fasterxml/jackson/datatype/jackson-datatype-jsr310) +- Jackson datatype: jdk8 (from https://repo1.maven.org/maven2/com/fasterxml/jackson/datatype/jackson-datatype-jdk8) +- Jackson extensions to the Google HTTP Client Library for Java. (from https://repo1.maven.org/maven2/com/google/http-client/google-http-client-jackson) +- Jackson module: JAXB Annotations (from http://github.com/FasterXML/jackson-module-jaxb-annotations, http://wiki.fasterxml.com/JacksonJAXBAnnotations, https://github.com/FasterXML/jackson-modules-base) +- Jackson-annotations (from http://github.com/FasterXML/jackson, http://wiki.fasterxml.com/JacksonHome) +- Jackson-core (from http://wiki.fasterxml.com/JacksonHome, https://github.com/FasterXML/jackson-core) +- Jackson-dataformat-YAML (from http://wiki.fasterxml.com/JacksonExtensionYAML, https://github.com/FasterXML/jackson, https://github.com/FasterXML/jackson-dataformats-text) +- Jackson-module-parameter-names (from https://repo1.maven.org/maven2/com/fasterxml/jackson/module/jackson-module-parameter-names) +- Jakarta Bean Validation API (from https://beanvalidation.org) +- Java Native Access (from https://github.com/java-native-access/jna, https://github.com/twall/jna, https://repo1.maven.org/maven2/net/java/dev/jna/jna) +- Java Native Access Platform (from https://github.com/java-native-access/jna) +- Java UUID Generator (from http://wiki.fasterxml.com/JugHome) +- 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) +- Jetty Server (from http://jetty.mortbay.org, https://repo1.maven.org/maven2/org/mortbay/jetty/jetty) +- Joda-Time (from http://joda-time.sourceforge.net, http://www.joda.org/joda-time/, https://www.joda.org/joda-time/) +- Kotlin Stdlib (from https://kotlinlang.org/, https://repo1.maven.org/maven2/org/jetbrains/kotlin/kotlin-stdlib) +- Kotlin Stdlib Common (from https://kotlinlang.org/) +- Lang (from https://repo1.maven.org/maven2/commons-lang/commons-lang) +- Lucene Core (from https://repo1.maven.org/maven2/org/apache/lucene/lucene-core) +- Metrics Core (from https://repo1.maven.org/maven2/io/dropwizard/metrics/metrics-core) +- Microsoft Azure SDK for SQL API of Azure Cosmos DB Service (from https://github.com/Azure/azure-sdk-for-java) +- Mockito (from http://mockito.org, http://www.mockito.org, https://github.com/mockito/mockito) +- MongoDB Java Driver (from http://mongodb.org/, http://www.mongodb.org) +- Netty Reactive Streams Implementation (from https://repo1.maven.org/maven2/com/typesafe/netty/netty-reactive-streams) +- Netty/Buffer (from https://repo1.maven.org/maven2/io/netty/netty-buffer) +- Netty/Codec (from https://repo1.maven.org/maven2/io/netty/netty-codec) +- Netty/Codec/HTTP (from https://repo1.maven.org/maven2/io/netty/netty-codec-http) +- Netty/Common (from https://repo1.maven.org/maven2/io/netty/netty-common) +- Netty/Handler (from https://repo1.maven.org/maven2/io/netty/netty-handler) +- Netty/Resolver (from https://repo1.maven.org/maven2/io/netty/netty-resolver) +- Netty/Transport (from https://repo1.maven.org/maven2/io/netty/netty-transport) +- Netty/Transport/Native/Unix/Common (from https://repo1.maven.org/maven2/io/netty/netty-transport-native-unix-common) +- Nimbus Content Type (from https://bitbucket.org/connect2id/nimbus-content-type) +- Nimbus LangTag (from https://bitbucket.org/connect2id/nimbus-language-tags) +- Non-Blocking Reactive Foundation for the JVM (from https://github.com/reactor/reactor, https://github.com/reactor/reactor-core) +- OAuth 2.0 SDK with OpenID Connect extensions (from https://bitbucket.org/connect2id/oauth-2.0-sdk-with-openid-connect-extensions) +- Objenesis (from http://objenesis.org) +- OkHttp (from https://repo1.maven.org/maven2/com/squareup/okhttp3/okhttp, https://square.github.io/okhttp/) +- Okio (from https://github.com/square/okio/, https://repo1.maven.org/maven2/com/squareup/okio/okio) +- OpenCensus (from https://github.com/census-instrumentation/opencensus-java) +- 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) +- 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) +- RabbitMQ Java Client (from http://www.rabbitmq.com, https://www.rabbitmq.com) +- RxJava (from https://github.com/ReactiveX/RxJava) +- Servlet Specification 2.5 API (from http://jetty.mortbay.org, https://repo1.maven.org/maven2/org/mortbay/jetty/servlet-api-2.5) +- SnakeYAML (from http://code.google.com/p/snakeyaml/, http://www.snakeyaml.org) +- Spring Boot AutoConfigure (from https://projects.spring.io/spring-boot/#/spring-boot-parent/spring-boot-autoconfigure, https://spring.io/projects/spring-boot) +- Spring Plugin Core (from https://repo1.maven.org/maven2/org/springframework/plugin/spring-plugin-core) +- Woodstox (from https://github.com/FasterXML/woodstox) +- Xerces2-j (from https://repo1.maven.org/maven2/xerces/xercesImpl, https://xerces.apache.org/xerces2-j/) +- Zipkin Reporter Brave (from https://repo1.maven.org/maven2/io/zipkin/reporter2/zipkin-reporter-brave) +- 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) +- error-prone annotations (from https://repo1.maven.org/maven2/com/google/errorprone/error_prone_annotations) +- grpc-google-cloud-pubsub-v1 (from https://github.com/googleapis/googleapis, https://repo1.maven.org/maven2/com/google/api/grpc/grpc-google-cloud-pubsub-v1) +- io.grpc:grpc-api (from https://github.com/grpc/grpc-java) +- io.grpc:grpc-context (from https://github.com/grpc/grpc-java) +- ion-java (from https://github.com/amzn/ion-java/, https://github.com/amznlabs/ion-java/) +- jackson-databind (from http://github.com/FasterXML/jackson, http://wiki.fasterxml.com/JacksonHome) +- jakarta.inject (from https://repo1.maven.org/maven2/org/glassfish/hk2/external/jakarta.inject) +- javax.inject (from http://code.google.com/p/atinject/, https://repo1.maven.org/maven2/org/glassfish/hk2/external/javax.inject) +- javax.ws.rs-api (from https://github.com/eclipse-ee4j/jaxrs-api) +- json-path (from http://code.google.com/p/json-path/, https://github.com/jayway/JsonPath) +- 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/) +- powermock-api-mockito2 (from https://repo1.maven.org/maven2/org/powermock/powermock-api-mockito2) +- powermock-api-support (from https://repo1.maven.org/maven2/org/powermock/powermock-api-support) +- powermock-module-junit4 (from http://www.powermock.org) +- powermock-module-junit4-common (from https://repo1.maven.org/maven2/org/powermock/powermock-module-junit4-common) +- powermock-reflect (from https://repo1.maven.org/maven2/org/powermock/powermock-reflect) +- tomcat-embed-core (from http://tomcat.apache.org/) +- xml-apis + +======================================================================== +BSD-2-Clause +======================================================================== +The following software have components provided under the terms of this license: + +- ASM Analysis (from http://asm.ow2.io/) +- ASM Commons (from http://asm.ow2.io/, https://repo1.maven.org/maven2/org/ow2/asm/asm-commons) +- ASM Tree (from http://asm.ow2.io/, https://repo1.maven.org/maven2/org/ow2/asm/asm-tree) +- ASM Util (from http://asm.ow2.io/) +- Apache Commons CLI (from https://commons.apache.org/proper/commons-cli/, https://repo1.maven.org/maven2/commons-cli/commons-cli) +- Hamcrest (from http://hamcrest.org/JavaHamcrest/) +- Hamcrest Core (from http://hamcrest.org/, https://repo1.maven.org/maven2/org/hamcrest/hamcrest-core) +- PostgreSQL JDBC Driver +- Reflections (from http://code.google.com/p/reflections/, http://github.com/ronmamo/reflections) +- Stax2 API (from http://github.com/FasterXML/stax2-api) +- ThreeTen backport (from https://github.com/ThreeTen/threetenbp, https://www.threeten.org/threetenbp) + +======================================================================== +BSD-3-Clause +======================================================================== +The following software have components provided under the terms of this license: + +- ASM Analysis (from http://asm.ow2.io/) +- ASM Commons (from http://asm.ow2.io/, https://repo1.maven.org/maven2/org/ow2/asm/asm-commons) +- ASM Core (from http://asm.ow2.io/, http://asm.ow2.org/) +- ASM Tree (from http://asm.ow2.io/, https://repo1.maven.org/maven2/org/ow2/asm/asm-tree) +- ASM Util (from http://asm.ow2.io/) +- Apache Commons Codec (from http://commons.apache.org/proper/commons-codec/, https://commons.apache.org/proper/commons-codec/) +- Hamcrest (from http://hamcrest.org/JavaHamcrest/) +- Hamcrest Core (from http://hamcrest.org/, https://repo1.maven.org/maven2/org/hamcrest/hamcrest-core) +- Jakarta Activation API (from https://github.com/eclipse-ee4j/jaf, https://repo1.maven.org/maven2/jakarta/activation/jakarta.activation-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 Core (from https://repo1.maven.org/maven2/org/apache/lucene/lucene-core) +- Mockito (from http://mockito.org, http://www.mockito.org, https://github.com/mockito/mockito) +- Netty/Codec/HTTP (from https://repo1.maven.org/maven2/io/netty/netty-codec-http) +- PostgreSQL JDBC Driver +- Protocol Buffer Java API (from http://code.google.com/p/protobuf, https://repo1.maven.org/maven2/com/google/protobuf/protobuf-java) +- Reflections (from http://code.google.com/p/reflections/, http://github.com/ronmamo/reflections) +- SnakeYAML (from http://code.google.com/p/snakeyaml/, http://www.snakeyaml.org) +- ThreeTen backport (from https://github.com/ThreeTen/threetenbp, https://www.threeten.org/threetenbp) +- classworlds (from http://classworlds.codehaus.org/, https://repo1.maven.org/maven2/classworlds/classworlds) +- jaxen (from http://jaxen.codehaus.org/, https://repo1.maven.org/maven2/jaxen/jaxen) + +======================================================================== +CC-BY-2.5 +======================================================================== +The following software have components provided under the terms of this license: + +- FindBugs-jsr305 (from http://findbugs.sourceforge.net/) +- MongoDB Java Driver (from http://mongodb.org/, http://www.mongodb.org) + +======================================================================== +CC0-1.0 +======================================================================== +The following software have components provided under the terms of this license: + +- reactive-streams (from http://www.reactive-streams.org/) + +======================================================================== +CDDL-1.0 +======================================================================== +The following software have components provided under the terms of this license: + +- Jakarta Activation API (from https://github.com/eclipse-ee4j/jaf, https://repo1.maven.org/maven2/jakarta/activation/jakarta.activation-api) +- Servlet Specification 2.5 API (from http://jetty.mortbay.org, https://repo1.maven.org/maven2/org/mortbay/jetty/servlet-api-2.5) + +======================================================================== +CDDL-1.1 +======================================================================== +The following software have components provided under the terms of this license: + +- HK2 Spring Bridge (from https://repo1.maven.org/maven2/org/glassfish/hk2/spring-bridge) +- HK2 config types (from https://repo1.maven.org/maven2/org/glassfish/hk2/config-types) +- HK2 configuration module (from https://repo1.maven.org/maven2/org/glassfish/hk2/hk2-config) +- Java Architecture for XML Binding (from http://jaxb.java.net/, https://repo1.maven.org/maven2/javax/xml/bind/jaxb-api) +- JavaBeans Activation Framework +- JavaBeans(TM) Activation Framework (from http://java.sun.com/javase/technologies/desktop/javabeans/jaf/index.jsp) +- JavaMail API (from https://repo1.maven.org/maven2/com/sun/mail/javax.mail) +- OSGi resource locator (from https://repo1.maven.org/maven2/org/glassfish/hk2/osgi-resource-locator) +- 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) +- tomcat-embed-core (from http://tomcat.apache.org/) + +======================================================================== +CPL-1.0 +======================================================================== +The following software have components provided under the terms of this license: + +- JUnit (from http://junit.org) + +======================================================================== +EPL-1.0 +======================================================================== +The following software have components provided under the terms of this license: + +- HK2 Implementation Utilities (from https://repo1.maven.org/maven2/org/glassfish/hk2/hk2-utils) +- JUnit Jupiter (Aggregator) (from https://junit.org/junit5/) +- JUnit Jupiter API (from http://junit.org/junit5/, https://junit.org/junit5/) +- JUnit Jupiter Engine (from http://junit.org/junit5/, https://junit.org/junit5/) +- JUnit Jupiter Params (from http://junit.org/junit5/, https://junit.org/junit5/) +- JUnit Platform Commons (from http://junit.org/junit5/, https://junit.org/junit5/) +- JUnit Platform Engine API (from http://junit.org/junit5/, https://junit.org/junit5/) +- Jakarta Annotations API (from https://projects.eclipse.org/projects/ee4j.ca) +- Logback Classic Module (from http://logback.qos.ch, https://repo1.maven.org/maven2/ch/qos/logback/logback-classic) +- Logback Contrib :: JSON :: Classic (from https://repo1.maven.org/maven2/ch/qos/logback/contrib/logback-json-classic) +- Logback Contrib :: JSON :: Core (from https://repo1.maven.org/maven2/ch/qos/logback/contrib/logback-json-core) +- Logback Contrib :: Jackson (from https://repo1.maven.org/maven2/ch/qos/logback/contrib/logback-jackson) +- Logback Core Module (from http://logback.qos.ch, https://repo1.maven.org/maven2/ch/qos/logback/logback-core) +- 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) +- SnakeYAML (from http://code.google.com/p/snakeyaml/, http://www.snakeyaml.org) +- aopalliance-repackaged (from https://repo1.maven.org/maven2/org/glassfish/hk2/external/aopalliance-repackaged) +- jakarta.inject (from https://repo1.maven.org/maven2/org/glassfish/hk2/external/jakarta.inject) +- javax.ws.rs-api (from https://github.com/eclipse-ee4j/jaxrs-api) + +======================================================================== +EPL-2.0 +======================================================================== +The following software have components provided under the terms of this license: + +- HK2 Implementation Utilities (from https://repo1.maven.org/maven2/org/glassfish/hk2/hk2-utils) +- JUnit Jupiter (Aggregator) (from https://junit.org/junit5/) +- JUnit Jupiter API (from http://junit.org/junit5/, https://junit.org/junit5/) +- JUnit Jupiter Engine (from http://junit.org/junit5/, https://junit.org/junit5/) +- JUnit Jupiter Params (from http://junit.org/junit5/, https://junit.org/junit5/) +- JUnit Platform Commons (from http://junit.org/junit5/, https://junit.org/junit5/) +- JUnit Platform Engine API (from http://junit.org/junit5/, https://junit.org/junit5/) +- Jakarta Annotations API (from https://projects.eclipse.org/projects/ee4j.ca) +- 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) +- jakarta.inject (from https://repo1.maven.org/maven2/org/glassfish/hk2/external/jakarta.inject) +- javax.ws.rs-api (from https://github.com/eclipse-ee4j/jaxrs-api) + +======================================================================== +GPL-2.0-only +======================================================================== +The following software have components provided under the terms of this license: + +- Java Architecture for XML Binding (from http://jaxb.java.net/, https://repo1.maven.org/maven2/javax/xml/bind/jaxb-api) +- JavaBeans Activation Framework +- Lang (from https://repo1.maven.org/maven2/commons-lang/commons-lang) +- OSGi resource locator (from https://repo1.maven.org/maven2/org/glassfish/hk2/osgi-resource-locator) +- RabbitMQ Java Client (from http://www.rabbitmq.com, https://www.rabbitmq.com) +- javax.annotation-api (from http://jcp.org/en/jsr/detail?id=250) +- tomcat-embed-core (from http://tomcat.apache.org/) + +======================================================================== +GPL-2.0-or-later +======================================================================== +The following software have components provided under the terms of this license: + +- SnakeYAML (from http://code.google.com/p/snakeyaml/, http://www.snakeyaml.org) + +======================================================================== +GPL-2.0-with-classpath-exception +======================================================================== +The following software have components provided under the terms of this license: + +- Checker Qual (from https://checkerframework.org) +- HK2 Implementation Utilities (from https://repo1.maven.org/maven2/org/glassfish/hk2/hk2-utils) +- Jakarta Annotations API (from https://projects.eclipse.org/projects/ee4j.ca) +- Java Architecture for XML Binding (from http://jaxb.java.net/, https://repo1.maven.org/maven2/javax/xml/bind/jaxb-api) +- JavaBeans Activation Framework +- OSGi resource locator (from https://repo1.maven.org/maven2/org/glassfish/hk2/osgi-resource-locator) +- 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) +- jakarta.inject (from https://repo1.maven.org/maven2/org/glassfish/hk2/external/jakarta.inject) +- javax.annotation-api (from http://jcp.org/en/jsr/detail?id=250) +- javax.ws.rs-api (from https://github.com/eclipse-ee4j/jaxrs-api) +- tomcat-embed-core (from http://tomcat.apache.org/) + +======================================================================== +GPL-3.0-only +======================================================================== +The following software have components provided under the terms of this license: + +- Jakarta Annotations API (from https://projects.eclipse.org/projects/ee4j.ca) +- OSGi resource locator (from https://repo1.maven.org/maven2/org/glassfish/hk2/osgi-resource-locator) +- Project Lombok (from http://projectlombok.org, https://projectlombok.org) +- javax.ws.rs-api (from https://github.com/eclipse-ee4j/jaxrs-api) + +======================================================================== +JSON +======================================================================== +The following software have components provided under the terms of this license: + +- JSON in Java (from https://github.com/douglascrockford/JSON-java) + +======================================================================== +LGPL-2.1-only +======================================================================== +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, https://repo1.maven.org/maven2/net/java/dev/jna/jna) +- Java Native Access Platform (from https://github.com/java-native-access/jna) +- Javassist (from http://www.javassist.org/) +- Lang (from https://repo1.maven.org/maven2/commons-lang/commons-lang) +- Logback Classic Module (from http://logback.qos.ch, https://repo1.maven.org/maven2/ch/qos/logback/logback-classic) +- Logback Contrib :: JSON :: Classic (from https://repo1.maven.org/maven2/ch/qos/logback/contrib/logback-json-classic) +- Logback Contrib :: JSON :: Core (from https://repo1.maven.org/maven2/ch/qos/logback/contrib/logback-json-core) +- Logback Contrib :: Jackson (from https://repo1.maven.org/maven2/ch/qos/logback/contrib/logback-jackson) +- Logback Core Module (from http://logback.qos.ch, https://repo1.maven.org/maven2/ch/qos/logback/logback-core) + +======================================================================== +LGPL-2.1-or-later +======================================================================== +The following software have components provided under the terms of this license: + +- Javassist (from http://www.javassist.org/) +- SnakeYAML (from http://code.google.com/p/snakeyaml/, http://www.snakeyaml.org) + +======================================================================== +LGPL-3.0-only +======================================================================== +- RabbitMQ Java Client (from http://www.rabbitmq.com, https://www.rabbitmq.com) + +======================================================================== +MIT +======================================================================== +The following software have components provided under the terms of this license: + +- Animal Sniffer Annotations (from https://repo1.maven.org/maven2/org/codehaus/mojo/animal-sniffer-annotations) +- Bouncy Castle Provider (from http://www.bouncycastle.org/java.html, https://www.bouncycastle.org/java.html) +- Checker Qual (from https://checkerframework.org) +- Default Plexus Container (from https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-container-default) +- JOpt Simple (from http://jopt-simple.github.io/jopt-simple, http://pholser.github.io/jopt-simple) +- JUL to SLF4J bridge (from http://www.slf4j.org) +- Lucene Core (from https://repo1.maven.org/maven2/org/apache/lucene/lucene-core) +- Microsoft Azure SDK for SQL API of Azure Cosmos DB Service (from https://github.com/Azure/azure-sdk-for-java) +- Mockito (from http://mockito.org, http://www.mockito.org, https://github.com/mockito/mockito) +- Netty/Codec/HTTP (from https://repo1.maven.org/maven2/io/netty/netty-codec-http) +- Netty/Common (from https://repo1.maven.org/maven2/io/netty/netty-common) +- Plexus Default Interactivity Handler (from https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-interactivity-api) +- Project Lombok (from http://projectlombok.org, https://projectlombok.org) +- SLF4J API Module (from http://www.slf4j.org) + +======================================================================== +MPL-1.1 +======================================================================== +The following software have components provided under the terms of this license: + +- Javassist (from http://www.javassist.org/) +- RabbitMQ Java Client (from http://www.rabbitmq.com, https://www.rabbitmq.com) + +======================================================================== +MPL-2.0 +======================================================================== +The following software have components provided under the terms of this license: + +- Javassist (from http://www.javassist.org/) +- OkHttp (from https://repo1.maven.org/maven2/com/squareup/okhttp3/okhttp, https://square.github.io/okhttp/) +- RabbitMQ Java Client (from http://www.rabbitmq.com, https://www.rabbitmq.com) + +======================================================================== +PHP-3.01 +======================================================================== +The following software have components provided under the terms of this license: + +- Jakarta Activation API (from https://github.com/eclipse-ee4j/jaf, https://repo1.maven.org/maven2/jakarta/activation/jakarta.activation-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) + +======================================================================== +SAX-PD +======================================================================== +The following software have components provided under the terms of this license: + +- Apache Ant Core + +======================================================================== +SPL-1.0 +======================================================================== +The following software have components provided under the terms of this license: + +- Servlet Specification 2.5 API (from http://jetty.mortbay.org, https://repo1.maven.org/maven2/org/mortbay/jetty/servlet-api-2.5) + +======================================================================== +SunPro +======================================================================== +The following software have components provided under the terms of this license: + +- Lucene Core (from https://repo1.maven.org/maven2/org/apache/lucene/lucene-core) + +======================================================================== +W3C +======================================================================== +The following software have components provided under the terms of this license: + +- Apache Ant Core +- JTidy (from http://jtidy.sourceforge.net) +- Xerces2-j (from https://repo1.maven.org/maven2/xerces/xercesImpl, https://xerces.apache.org/xerces2-j/) +- jaxen (from http://jaxen.codehaus.org/, https://repo1.maven.org/maven2/jaxen/jaxen) +- xml-apis + +======================================================================== +WTFPL +======================================================================== +The following software have components provided under the terms of this license: + +- Reflections (from http://code.google.com/p/reflections/, http://github.com/ronmamo/reflections) + +======================================================================== +public-domain +======================================================================== +The following software have components provided under the terms of this license: + +- Bouncy Castle PKIX, CMS, EAC, TSP, PKCS, OCSP, CMP, and CRMF APIs (from http://www.bouncycastle.org/java.html, https://www.bouncycastle.org/java.html) +- Bouncy Castle Provider (from http://www.bouncycastle.org/java.html, https://www.bouncycastle.org/java.html) +- Guava: Google Core Libraries for Java (from http://code.google.com/p/guava-libraries, https://github.com/google/guava, https://repo1.maven.org/maven2/com/google/guava/guava) +- HdrHistogram (from http://hdrhistogram.github.io/HdrHistogram/) +- JTidy (from http://jtidy.sourceforge.net) +- LatencyUtils (from http://latencyutils.github.io/LatencyUtils/) +- PostgreSQL JDBC Driver +- Project Lombok (from http://projectlombok.org, https://projectlombok.org) +- Prometheus Java Simpleclient (from https://repo1.maven.org/maven2/io/prometheus/simpleclient) +- RabbitMQ Java Client (from http://www.rabbitmq.com, https://www.rabbitmq.com) +- reactive-streams (from http://www.reactive-streams.org/) +- xml-apis + +======================================================================== +unknown +======================================================================== +The following software have components provided under the terms of this license: + +- Bouncy Castle PKIX, CMS, EAC, TSP, PKCS, OCSP, CMP, and CRMF APIs (from http://www.bouncycastle.org/java.html, https://www.bouncycastle.org/java.html) +- Bouncy Castle Provider (from http://www.bouncycastle.org/java.html, https://www.bouncycastle.org/java.html) +- Byte Buddy (without dependencies) (from https://repo1.maven.org/maven2/net/bytebuddy/byte-buddy) +- Checker Qual (from https://checkerframework.org) +- JSON in Java (from https://github.com/douglascrockford/JSON-java) +- JTidy (from http://jtidy.sourceforge.net) +- JUnit Jupiter (Aggregator) (from https://junit.org/junit5/) +- JUnit Jupiter API (from http://junit.org/junit5/, https://junit.org/junit5/) +- JUnit Jupiter Engine (from http://junit.org/junit5/, https://junit.org/junit5/) +- JUnit Jupiter Params (from http://junit.org/junit5/, https://junit.org/junit5/) +- JUnit Platform Commons (from http://junit.org/junit5/, https://junit.org/junit5/) +- JUnit Platform Engine API (from http://junit.org/junit5/, https://junit.org/junit5/) +- Jakarta Activation API (from https://github.com/eclipse-ee4j/jaf, https://repo1.maven.org/maven2/jakarta/activation/jakarta.activation-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) +- jaxen (from http://jaxen.codehaus.org/, https://repo1.maven.org/maven2/jaxen/jaxen) +- xml-apis \ No newline at end of file diff --git a/docs/tutorial/IndexerService.md b/docs/tutorial/IndexerService.md index f18ad0cbee3287d45ea339235755143ba299e5f8..c65489ba596b332bc6b85374cb954c3607b1778a 100644 --- a/docs/tutorial/IndexerService.md +++ b/docs/tutorial/IndexerService.md @@ -61,7 +61,7 @@ Provides build and git related information. #### Request -```http request +```http GET /api/indexer/v2/info HTTP/1.1 ``` @@ -104,7 +104,7 @@ multiple factors contribute to latency, such as number of records in the kind, c #### Request -```http request +```http POST /api/indexer/v2/reindex HTTP/1.1 { "kind": "opendes:welldb:wellbore:1.0.0" @@ -149,7 +149,7 @@ will use the same schema and overwrite records with the same ids. Default value Configures Search backend for a data partition. -```http request +```http PUT /api/indexer/v2/partitions/provision HTTP/1.1 ``` @@ -181,7 +181,7 @@ Schema change event listener endpoint. #### Request -```http request +```http POST /api/indexer/v2/_dps/task-handlers/schema-worker HTTP/1.1 { "messageId": "676894654", diff --git a/indexer-core/src/main/java/org/opengroup/osdu/indexer/model/Kind.java b/indexer-core/src/main/java/org/opengroup/osdu/indexer/model/Kind.java new file mode 100644 index 0000000000000000000000000000000000000000..483dd6b35911457760b85865b1fde1097a1a8912 --- /dev/null +++ b/indexer-core/src/main/java/org/opengroup/osdu/indexer/model/Kind.java @@ -0,0 +1,27 @@ +package org.opengroup.osdu.indexer.model; + +import lombok.Getter; + +@Getter +public class Kind { + + private String kind; + private String authority; + private String source; + private String type; + private String version; + + public Kind(String kind) { + this.kind = kind; + String[] parts = this.kind.split(":"); + + if (parts.length != 4) { + throw new IllegalArgumentException("Invalid Kind, must be in format: authority:source:type:version"); + } + + this.authority = parts[0]; + this.source = parts[1]; + this.type = parts[2]; + this.version = parts[3]; + } +} diff --git a/indexer-core/src/main/java/org/opengroup/osdu/indexer/service/IndexSchemaServiceImpl.java b/indexer-core/src/main/java/org/opengroup/osdu/indexer/service/IndexSchemaServiceImpl.java index 8ef4eabc778ec9f900567b8d0a6d7a000f4581f0..0f5bcd7b06c0695cd867c7fb4df1ec3a18c80ddc 100644 --- a/indexer-core/src/main/java/org/opengroup/osdu/indexer/service/IndexSchemaServiceImpl.java +++ b/indexer-core/src/main/java/org/opengroup/osdu/indexer/service/IndexSchemaServiceImpl.java @@ -30,6 +30,7 @@ import org.opengroup.osdu.core.common.model.search.RecordMetaAttribute; import org.opengroup.osdu.core.common.model.storage.Schema; import org.opengroup.osdu.core.common.model.storage.SchemaItem; import org.opengroup.osdu.core.common.search.ElasticIndexNameResolver; +import org.opengroup.osdu.indexer.model.Kind; import org.opengroup.osdu.indexer.provider.interfaces.ISchemaCache; import org.opengroup.osdu.indexer.schema.converter.exeption.SchemaProcessingException; import org.opengroup.osdu.indexer.util.ElasticClientHandler; @@ -231,8 +232,7 @@ public class IndexSchemaServiceImpl implements IndexSchemaService { } } - String[] parts = schemaObj.getKind().split(":"); - String type = parts[2]; + Kind kind = new Kind(schemaObj.getKind()); // mandatory attributes meta.put(RecordMetaAttribute.ID.getValue(), TypeMapper.getIndexerType(RecordMetaAttribute.ID)); @@ -253,7 +253,7 @@ public class IndexSchemaServiceImpl implements IndexSchemaService { meta.put(RecordMetaAttribute.MODIFY_USER.getValue(), TypeMapper.getIndexerType(RecordMetaAttribute.MODIFY_USER)); meta.put(RecordMetaAttribute.MODIFY_TIME.getValue(), TypeMapper.getIndexerType(RecordMetaAttribute.MODIFY_TIME)); - return IndexSchema.builder().dataSchema(data).metaSchema(meta).kind(schemaObj.getKind()).type(type).build(); + return IndexSchema.builder().dataSchema(data).metaSchema(meta).kind(schemaObj.getKind()).type(kind.getType()).build(); } catch (Exception e) { throw new AppException(HttpStatus.SC_INTERNAL_SERVER_ERROR, "Schema normalization error", "An error has occurred while normalizing the schema.", e); diff --git a/indexer-core/src/main/java/org/opengroup/osdu/indexer/service/IndexerMappingServiceImpl.java b/indexer-core/src/main/java/org/opengroup/osdu/indexer/service/IndexerMappingServiceImpl.java index 6b0b6899c00e37f9dbe9ebe719e9a2e4215b75e7..13738aefa36c8871481e6db4f9ad4949a45849b3 100644 --- a/indexer-core/src/main/java/org/opengroup/osdu/indexer/service/IndexerMappingServiceImpl.java +++ b/indexer-core/src/main/java/org/opengroup/osdu/indexer/service/IndexerMappingServiceImpl.java @@ -39,6 +39,7 @@ import org.opengroup.osdu.core.common.model.search.RecordMetaAttribute; import org.opengroup.osdu.core.common.search.ElasticIndexNameResolver; import org.opengroup.osdu.core.common.search.Preconditions; import org.opengroup.osdu.indexer.cache.PartitionSafeIndexCache; +import org.opengroup.osdu.indexer.model.Kind; import org.opengroup.osdu.indexer.util.ElasticClientHandler; import org.opengroup.osdu.indexer.util.TypeMapper; import org.springframework.beans.factory.annotation.Autowired; @@ -140,15 +141,13 @@ public class IndexerMappingServiceImpl extends MappingServiceImpl implements IMa private Map<String, Object> getMetaMapping(IndexSchema schema) { Map<String, Object> metaMapping = new HashMap<>(); - String[] parts = schema.getKind().split(":"); - String authority = parts[0]; - String source = parts[1]; + Kind kind = new Kind(schema.getKind()); for (Map.Entry<String, Object> entry : schema.getMetaSchema().entrySet()) { if (entry.getKey() == RecordMetaAttribute.AUTHORITY.getValue()) { - metaMapping.put(entry.getKey(), TypeMapper.getMetaAttributeIndexerMapping(entry.getKey(), authority)); + metaMapping.put(entry.getKey(), TypeMapper.getMetaAttributeIndexerMapping(entry.getKey(), kind.getAuthority())); } else if (entry.getKey() == RecordMetaAttribute.SOURCE.getValue()) { - metaMapping.put(entry.getKey(), TypeMapper.getMetaAttributeIndexerMapping(entry.getKey(), source)); + metaMapping.put(entry.getKey(), TypeMapper.getMetaAttributeIndexerMapping(entry.getKey(), kind.getSource())); } else { metaMapping.put(entry.getKey(), TypeMapper.getMetaAttributeIndexerMapping(entry.getKey(), null)); } @@ -210,14 +209,12 @@ public class IndexerMappingServiceImpl extends MappingServiceImpl implements IMa } Map<String, Object> properties = new HashMap<>(); - String[] parts = schema.getKind().split(":"); - String authority = parts[0]; - String source = parts[1]; + Kind kind = new Kind(schema.getKind()); for (String attribute : missing) { if (attribute == RecordMetaAttribute.AUTHORITY.getValue()) { - properties.put(attribute, TypeMapper.getMetaAttributeIndexerMapping(attribute, authority)); + properties.put(attribute, TypeMapper.getMetaAttributeIndexerMapping(attribute, kind.getAuthority())); } else if (attribute == RecordMetaAttribute.SOURCE.getValue()) { - properties.put(attribute, TypeMapper.getMetaAttributeIndexerMapping(attribute, source)); + properties.put(attribute, TypeMapper.getMetaAttributeIndexerMapping(attribute, kind.getSource())); } else { properties.put(attribute, TypeMapper.getMetaAttributeIndexerMapping(attribute, null)); }