Skip to content

Commit c6368ac

Browse files
committed
feat(entity-joiner): support for fixed time range argument
1 parent e3b2361 commit c6368ac

File tree

3 files changed

+23
-7
lines changed

3 files changed

+23
-7
lines changed

hypertrace-graphql-entity-schema/src/main/java/org/hypertrace/graphql/entity/joiner/DefaultEntityJoinerBuilder.java

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,6 @@ class DefaultEntityJoinerBuilder implements EntityJoinerBuilder {
7272
private final ArgumentDeserializer argumentDeserializer;
7373
private final ResultSetRequestBuilder resultSetRequestBuilder;
7474
private final FilterRequestBuilder filterRequestBuilder;
75-
private final AttributeRequestBuilder attributeRequestBuilder;
7675
private final Scheduler boundedIoScheduler;
7776
private final EntityLabelRequestBuilder entityLabelRequestBuilder;
7877

@@ -83,7 +82,6 @@ class DefaultEntityJoinerBuilder implements EntityJoinerBuilder {
8382
ArgumentDeserializer argumentDeserializer,
8483
ResultSetRequestBuilder resultSetRequestBuilder,
8584
FilterRequestBuilder filterRequestBuilder,
86-
AttributeRequestBuilder attributeRequestBuilder,
8785
@BoundedIoScheduler Scheduler boundedIoScheduler,
8886
EntityLabelRequestBuilder entityLabelRequestBuilder) {
8987

@@ -92,7 +90,6 @@ class DefaultEntityJoinerBuilder implements EntityJoinerBuilder {
9290
this.argumentDeserializer = argumentDeserializer;
9391
this.resultSetRequestBuilder = resultSetRequestBuilder;
9492
this.filterRequestBuilder = filterRequestBuilder;
95-
this.attributeRequestBuilder = attributeRequestBuilder;
9693
this.boundedIoScheduler = boundedIoScheduler;
9794
this.entityLabelRequestBuilder = entityLabelRequestBuilder;
9895
}
@@ -104,7 +101,20 @@ public Single<EntityJoiner> build(
104101
List<String> pathToEntityJoinable) {
105102
return Single.just(
106103
new DefaultEntityJoiner(
107-
context, this.groupEntityFieldsByType(selectionSet, pathToEntityJoinable)));
104+
context,
105+
new InstantTimeRange(),
106+
this.groupEntityFieldsByType(selectionSet, pathToEntityJoinable)));
107+
}
108+
109+
@Override
110+
public Single<EntityJoiner> build(
111+
GraphQlRequestContext context,
112+
TimeRangeArgument timeRange,
113+
DataFetchingFieldSelectionSet selectionSet,
114+
List<String> pathToEntityJoinable) {
115+
return Single.just(
116+
new DefaultEntityJoiner(
117+
context, timeRange, this.groupEntityFieldsByType(selectionSet, pathToEntityJoinable)));
108118
}
109119

110120
private String getEntityType(SelectedField entityField) {
@@ -135,6 +145,7 @@ private Multimap<String, SelectedField> groupEntityFieldsByType(
135145
@AllArgsConstructor
136146
private class DefaultEntityJoiner implements EntityJoiner {
137147
private final GraphQlRequestContext context;
148+
private final TimeRangeArgument timeRange;
138149
private final Multimap<String, SelectedField> entityFieldsByType;
139150

140151
@Override
@@ -264,7 +275,7 @@ private Single<EntityRequest> buildEntityRequest(
264275
entityType,
265276
entityIdsToFilterSize,
266277
ZERO_OFFSET,
267-
new InstantTimeRange(),
278+
timeRange,
268279
List.<AttributeAssociation<AggregatableOrderArgument>>of(), // Order does not matter
269280
filterArguments,
270281
this.entityFieldsByType.get(entityType).stream(),

hypertrace-graphql-entity-schema/src/main/java/org/hypertrace/graphql/entity/joiner/EntityJoinerBuilder.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import graphql.schema.DataFetchingFieldSelectionSet;
44
import io.reactivex.rxjava3.core.Single;
55
import java.util.List;
6+
import org.hypertrace.core.graphql.common.schema.arguments.TimeRangeArgument;
67
import org.hypertrace.core.graphql.context.GraphQlRequestContext;
78

89
public interface EntityJoinerBuilder {
@@ -11,4 +12,10 @@ Single<EntityJoiner> build(
1112
GraphQlRequestContext context,
1213
DataFetchingFieldSelectionSet selectionSet,
1314
List<String> pathToEntityJoinable);
15+
16+
Single<EntityJoiner> build(
17+
GraphQlRequestContext context,
18+
TimeRangeArgument timeRange,
19+
DataFetchingFieldSelectionSet selectionSet,
20+
List<String> pathToEntityJoinable);
1421
}

hypertrace-graphql-entity-schema/src/test/java/org/hypertrace/graphql/entity/joiner/DefaultEntityJoinerBuilderTest.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,6 @@ class DefaultEntityJoinerBuilderTest {
6666
@Mock ArgumentDeserializer mockDeserializer;
6767
@Mock ResultSetRequestBuilder mockResultSetRequestBuilder;
6868
@Mock FilterRequestBuilder mockFilterRequestBuilder;
69-
@Mock AttributeRequestBuilder attributeRequestBuilder;
7069
@Mock GraphQlRequestContext mockRequestContext;
7170
@Mock DataFetchingFieldSelectionSet mockSelectionSet;
7271
@Mock AttributeAssociation<FilterArgument> mockFilter;
@@ -86,7 +85,6 @@ void beforeEach() {
8685
mockDeserializer,
8786
mockResultSetRequestBuilder,
8887
mockFilterRequestBuilder,
89-
attributeRequestBuilder,
9088
testScheduler,
9189
mockEntityLabelRequestBuilder);
9290
}

0 commit comments

Comments
 (0)