Add gremlin-based pagination to aai-common 94/138294/7
authorFiete Ostkamp <Fiete.Ostkamp@telekom.de>
Thu, 20 Jun 2024 13:24:32 +0000 (15:24 +0200)
committerFiete Ostkamp <Fiete.Ostkamp@telekom.de>
Wed, 26 Jun 2024 08:36:08 +0000 (10:36 +0200)
commitbdcbdc723dfb3cd4c29fa3cdbe76ceb0df2a8033
tree7ffe9ff48891be483d7524e84def321359b92e2b
parentc7e67a1cc3557db51f6510769b109ca347e862f0
Add gremlin-based pagination to aai-common

- enhance query building to support gremlin-based pagination
- pagination is supported in two variants: with and without the total count of elements [1]
- enhance query building to support gremlin-based sorting
- add query logging that is currently disabled

[1] due to the design of gremlin, including the total count results in a full graph scan.
As such there is the option to not include it, which should make it (much) faster for the first pages that are returned.
Issue-ID: AAI-3893
Change-Id: I6bc0c9b9f398556cc41a0a8f82e24e50c85e5690
Signed-off-by: Fiete Ostkamp <Fiete.Ostkamp@telekom.de>
28 files changed:
aai-aaf-auth/pom.xml
aai-annotations/pom.xml
aai-auth/pom.xml
aai-common-docker/aai-common-images/pom.xml
aai-common-docker/aai-haproxy-image/pom.xml
aai-common-docker/pom.xml
aai-core/pom.xml
aai-core/src/main/java/org/onap/aai/query/builder/GraphTraversalBuilder.java
aai-core/src/main/java/org/onap/aai/query/builder/GremlinQueryBuilder.java
aai-core/src/main/java/org/onap/aai/query/builder/GremlinUnique.java
aai-core/src/main/java/org/onap/aai/query/builder/Pageable.java [new file with mode: 0644]
aai-core/src/main/java/org/onap/aai/query/builder/QueryBuilder.java
aai-core/src/main/java/org/onap/aai/query/builder/QueryOptions.java [new file with mode: 0644]
aai-core/src/main/java/org/onap/aai/query/builder/Sort.java [new file with mode: 0644]
aai-core/src/main/java/org/onap/aai/query/entities/PaginationResult.java [new file with mode: 0644]
aai-core/src/main/java/org/onap/aai/rest/db/HttpEntry.java
aai-core/src/test/java/org/onap/aai/parsers/query/GraphTraversalTest.java
aai-core/src/test/java/org/onap/aai/rest/db/HttpEntryTest.java
aai-els-onap-logging/pom.xml
aai-failover/pom.xml
aai-parent/pom.xml
aai-rest/pom.xml
aai-schema-abstraction/pom.xml
aai-schema-ingest/.classpath
aai-schema-ingest/pom.xml
aai-utils/pom.xml
pom.xml
version.properties