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 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..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; @@ -72,7 +71,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 +81,6 @@ class DefaultEntityJoinerBuilder implements EntityJoinerBuilder { ArgumentDeserializer argumentDeserializer, ResultSetRequestBuilder resultSetRequestBuilder, FilterRequestBuilder filterRequestBuilder, - AttributeRequestBuilder attributeRequestBuilder, @BoundedIoScheduler Scheduler boundedIoScheduler, EntityLabelRequestBuilder entityLabelRequestBuilder) { @@ -92,7 +89,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 +100,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 +144,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 +274,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..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; @@ -66,7 +65,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 +84,6 @@ void beforeEach() { mockDeserializer, mockResultSetRequestBuilder, mockFilterRequestBuilder, - attributeRequestBuilder, testScheduler, mockEntityLabelRequestBuilder); }