From c6368acaa68285b05cf69ac66e0e6ebc518f0a0a Mon Sep 17 00:00:00 2001 From: SJ Date: Wed, 29 Dec 2021 13:42:15 +0530 Subject: [PATCH 1/3] feat(entity-joiner): support for fixed time range argument --- .../joiner/DefaultEntityJoinerBuilder.java | 21 ++++++++++++++----- .../entity/joiner/EntityJoinerBuilder.java | 7 +++++++ .../DefaultEntityJoinerBuilderTest.java | 2 -- 3 files changed, 23 insertions(+), 7 deletions(-) diff --git a/hypertrace-graphql-entity-schema/src/main/java/org/hypertrace/graphql/entity/joiner/DefaultEntityJoinerBuilder.java b/hypertrace-graphql-entity-schema/src/main/java/org/hypertrace/graphql/entity/joiner/DefaultEntityJoinerBuilder.java index ed563004..31f44133 100644 --- a/hypertrace-graphql-entity-schema/src/main/java/org/hypertrace/graphql/entity/joiner/DefaultEntityJoinerBuilder.java +++ b/hypertrace-graphql-entity-schema/src/main/java/org/hypertrace/graphql/entity/joiner/DefaultEntityJoinerBuilder.java @@ -72,7 +72,6 @@ class DefaultEntityJoinerBuilder implements EntityJoinerBuilder { private final ArgumentDeserializer argumentDeserializer; private final ResultSetRequestBuilder resultSetRequestBuilder; private final FilterRequestBuilder filterRequestBuilder; - private final AttributeRequestBuilder attributeRequestBuilder; private final Scheduler boundedIoScheduler; private final EntityLabelRequestBuilder entityLabelRequestBuilder; @@ -83,7 +82,6 @@ class DefaultEntityJoinerBuilder implements EntityJoinerBuilder { ArgumentDeserializer argumentDeserializer, ResultSetRequestBuilder resultSetRequestBuilder, FilterRequestBuilder filterRequestBuilder, - AttributeRequestBuilder attributeRequestBuilder, @BoundedIoScheduler Scheduler boundedIoScheduler, EntityLabelRequestBuilder entityLabelRequestBuilder) { @@ -92,7 +90,6 @@ class DefaultEntityJoinerBuilder implements EntityJoinerBuilder { this.argumentDeserializer = argumentDeserializer; this.resultSetRequestBuilder = resultSetRequestBuilder; this.filterRequestBuilder = filterRequestBuilder; - this.attributeRequestBuilder = attributeRequestBuilder; this.boundedIoScheduler = boundedIoScheduler; this.entityLabelRequestBuilder = entityLabelRequestBuilder; } @@ -104,7 +101,20 @@ public Single build( List pathToEntityJoinable) { return Single.just( new DefaultEntityJoiner( - context, this.groupEntityFieldsByType(selectionSet, pathToEntityJoinable))); + context, + new InstantTimeRange(), + this.groupEntityFieldsByType(selectionSet, pathToEntityJoinable))); + } + + @Override + public Single build( + GraphQlRequestContext context, + TimeRangeArgument timeRange, + DataFetchingFieldSelectionSet selectionSet, + List pathToEntityJoinable) { + return Single.just( + new DefaultEntityJoiner( + context, timeRange, this.groupEntityFieldsByType(selectionSet, pathToEntityJoinable))); } private String getEntityType(SelectedField entityField) { @@ -135,6 +145,7 @@ private Multimap groupEntityFieldsByType( @AllArgsConstructor private class DefaultEntityJoiner implements EntityJoiner { private final GraphQlRequestContext context; + private final TimeRangeArgument timeRange; private final Multimap entityFieldsByType; @Override @@ -264,7 +275,7 @@ private Single buildEntityRequest( entityType, entityIdsToFilterSize, ZERO_OFFSET, - new InstantTimeRange(), + timeRange, List.>of(), // Order does not matter filterArguments, this.entityFieldsByType.get(entityType).stream(), diff --git a/hypertrace-graphql-entity-schema/src/main/java/org/hypertrace/graphql/entity/joiner/EntityJoinerBuilder.java b/hypertrace-graphql-entity-schema/src/main/java/org/hypertrace/graphql/entity/joiner/EntityJoinerBuilder.java index 72d808f8..e89d879c 100644 --- a/hypertrace-graphql-entity-schema/src/main/java/org/hypertrace/graphql/entity/joiner/EntityJoinerBuilder.java +++ b/hypertrace-graphql-entity-schema/src/main/java/org/hypertrace/graphql/entity/joiner/EntityJoinerBuilder.java @@ -3,6 +3,7 @@ import graphql.schema.DataFetchingFieldSelectionSet; import io.reactivex.rxjava3.core.Single; import java.util.List; +import org.hypertrace.core.graphql.common.schema.arguments.TimeRangeArgument; import org.hypertrace.core.graphql.context.GraphQlRequestContext; public interface EntityJoinerBuilder { @@ -11,4 +12,10 @@ Single build( GraphQlRequestContext context, DataFetchingFieldSelectionSet selectionSet, List pathToEntityJoinable); + + Single build( + GraphQlRequestContext context, + TimeRangeArgument timeRange, + DataFetchingFieldSelectionSet selectionSet, + List pathToEntityJoinable); } diff --git a/hypertrace-graphql-entity-schema/src/test/java/org/hypertrace/graphql/entity/joiner/DefaultEntityJoinerBuilderTest.java b/hypertrace-graphql-entity-schema/src/test/java/org/hypertrace/graphql/entity/joiner/DefaultEntityJoinerBuilderTest.java index cc92526e..05b3d52a 100644 --- a/hypertrace-graphql-entity-schema/src/test/java/org/hypertrace/graphql/entity/joiner/DefaultEntityJoinerBuilderTest.java +++ b/hypertrace-graphql-entity-schema/src/test/java/org/hypertrace/graphql/entity/joiner/DefaultEntityJoinerBuilderTest.java @@ -66,7 +66,6 @@ class DefaultEntityJoinerBuilderTest { @Mock ArgumentDeserializer mockDeserializer; @Mock ResultSetRequestBuilder mockResultSetRequestBuilder; @Mock FilterRequestBuilder mockFilterRequestBuilder; - @Mock AttributeRequestBuilder attributeRequestBuilder; @Mock GraphQlRequestContext mockRequestContext; @Mock DataFetchingFieldSelectionSet mockSelectionSet; @Mock AttributeAssociation mockFilter; @@ -86,7 +85,6 @@ void beforeEach() { mockDeserializer, mockResultSetRequestBuilder, mockFilterRequestBuilder, - attributeRequestBuilder, testScheduler, mockEntityLabelRequestBuilder); } From fe9a2a50b70b1ed059ee13a51cd6f2d6357fbfee Mon Sep 17 00:00:00 2001 From: SJ Date: Wed, 29 Dec 2021 14:08:03 +0530 Subject: [PATCH 2/3] spotless --- .../graphql/entity/joiner/DefaultEntityJoinerBuilder.java | 1 - .../graphql/entity/joiner/DefaultEntityJoinerBuilderTest.java | 1 - 2 files changed, 2 deletions(-) diff --git a/hypertrace-graphql-entity-schema/src/main/java/org/hypertrace/graphql/entity/joiner/DefaultEntityJoinerBuilder.java b/hypertrace-graphql-entity-schema/src/main/java/org/hypertrace/graphql/entity/joiner/DefaultEntityJoinerBuilder.java index 31f44133..da4055c5 100644 --- a/hypertrace-graphql-entity-schema/src/main/java/org/hypertrace/graphql/entity/joiner/DefaultEntityJoinerBuilder.java +++ b/hypertrace-graphql-entity-schema/src/main/java/org/hypertrace/graphql/entity/joiner/DefaultEntityJoinerBuilder.java @@ -36,7 +36,6 @@ import lombok.extern.slf4j.Slf4j; import org.hypertrace.core.graphql.common.request.AttributeAssociation; import org.hypertrace.core.graphql.common.request.AttributeRequest; -import org.hypertrace.core.graphql.common.request.AttributeRequestBuilder; import org.hypertrace.core.graphql.common.request.FilterRequestBuilder; import org.hypertrace.core.graphql.common.request.ResultSetRequest; import org.hypertrace.core.graphql.common.request.ResultSetRequestBuilder; diff --git a/hypertrace-graphql-entity-schema/src/test/java/org/hypertrace/graphql/entity/joiner/DefaultEntityJoinerBuilderTest.java b/hypertrace-graphql-entity-schema/src/test/java/org/hypertrace/graphql/entity/joiner/DefaultEntityJoinerBuilderTest.java index 05b3d52a..1cecb488 100644 --- a/hypertrace-graphql-entity-schema/src/test/java/org/hypertrace/graphql/entity/joiner/DefaultEntityJoinerBuilderTest.java +++ b/hypertrace-graphql-entity-schema/src/test/java/org/hypertrace/graphql/entity/joiner/DefaultEntityJoinerBuilderTest.java @@ -28,7 +28,6 @@ import lombok.Value; import lombok.experimental.Accessors; import org.hypertrace.core.graphql.common.request.AttributeAssociation; -import org.hypertrace.core.graphql.common.request.AttributeRequestBuilder; import org.hypertrace.core.graphql.common.request.FilterRequestBuilder; import org.hypertrace.core.graphql.common.request.ResultSetRequest; import org.hypertrace.core.graphql.common.request.ResultSetRequestBuilder; From f1877303841ef4b32e686adcd48f6d6a7c3cc71a Mon Sep 17 00:00:00 2001 From: SJ Date: Wed, 29 Dec 2021 16:31:43 +0530 Subject: [PATCH 3/3] upgrade submodule --- hypertrace-core-graphql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hypertrace-core-graphql b/hypertrace-core-graphql index 89becdae..a89535a5 160000 --- a/hypertrace-core-graphql +++ b/hypertrace-core-graphql @@ -1 +1 @@ -Subproject commit 89becdaebb502d1f8c2e5c9f0ea9869cfd9d230f +Subproject commit a89535a5dc9a9c5a1ffaea2763c437b02a576f87