Skip to content

Commit fd2eca9

Browse files
committed
Reverted breaking changes | addressed review comment
1 parent 79280c6 commit fd2eca9

File tree

6 files changed

+43
-99
lines changed

6 files changed

+43
-99
lines changed

hypertrace-graphql-labels-schema-api/src/main/java/org/hypertrace/graphql/label/schema/rule/StringCondition.java

Lines changed: 25 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,17 @@
33
import graphql.annotations.annotationTypes.GraphQLField;
44
import graphql.annotations.annotationTypes.GraphQLName;
55
import graphql.annotations.annotationTypes.GraphQLNonNull;
6+
import java.util.List;
7+
import javax.annotation.Nullable;
68

79
@GraphQLName(StringCondition.TYPE_NAME)
810
public interface StringCondition {
911
String TYPE_NAME = "LabelApplicationStringCondition";
1012

1113
String OPERATOR_KEY = "operator";
12-
String STRING_CONDITION_VALUE_KEY = "stringConditionValue";
14+
String VALUE_KEY = "value";
15+
String VALUES_KEY = "values";
16+
String STRING_CONDITION_VALUE_TYPE_KEY = "stringConditionValueType";
1317

1418
@GraphQLName(Operator.TYPE_NAME)
1519
enum Operator {
@@ -20,13 +24,30 @@ enum Operator {
2024
private static final String TYPE_NAME = "StringConditionOperator";
2125
}
2226

27+
@GraphQLName(StringConditionValueType.TYPE_NAME)
28+
enum StringConditionValueType {
29+
VALUE,
30+
VALUES;
31+
private static final String TYPE_NAME = "StringConditionValueType";
32+
}
33+
2334
@GraphQLField
2435
@GraphQLNonNull
2536
@GraphQLName(OPERATOR_KEY)
2637
Operator operator();
2738

2839
@GraphQLField
29-
@GraphQLNonNull
30-
@GraphQLName(STRING_CONDITION_VALUE_KEY)
31-
StringConditionValue stringConditionValue();
40+
@Nullable
41+
@GraphQLName(VALUE_KEY)
42+
String value();
43+
44+
@GraphQLField
45+
@Nullable
46+
@GraphQLName(VALUES_KEY)
47+
List<String> values();
48+
49+
@GraphQLField
50+
@Nullable
51+
@GraphQLName(STRING_CONDITION_VALUE_TYPE_KEY)
52+
StringConditionValueType stringConditionValueType();
3253
}

hypertrace-graphql-labels-schema-api/src/main/java/org/hypertrace/graphql/label/schema/rule/StringConditionValue.java

Lines changed: 0 additions & 37 deletions
This file was deleted.

hypertrace-graphql-labels-schema-impl/src/main/java/org/hypertrace/graphql/label/dao/LabelApplicationRuleRequestConverter.java

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -133,19 +133,15 @@ StringCondition convertStringCondition(
133133
StringCondition.Builder stringConditionBuilder =
134134
StringCondition.newBuilder()
135135
.setOperator(convertStringConditionOperator(stringCondition.operator()));
136-
switch (stringCondition.stringConditionValue().stringConditionValueType()) {
137-
case VALUE:
138-
return stringConditionBuilder
139-
.setValue(stringCondition.stringConditionValue().value())
140-
.build();
136+
switch (stringCondition.stringConditionValueType()) {
141137
case VALUES:
142138
return stringConditionBuilder
143139
.setValues(
144-
StringCondition.StringList.newBuilder()
145-
.addAllValues(stringCondition.stringConditionValue().values()))
140+
StringCondition.StringList.newBuilder().addAllValues(stringCondition.values()))
146141
.build();
142+
case VALUE:
147143
default:
148-
throw new IllegalArgumentException("Unsupported String Condition value");
144+
return stringConditionBuilder.setValue(stringCondition.value()).build();
149145
}
150146
}
151147

hypertrace-graphql-labels-schema-impl/src/main/java/org/hypertrace/graphql/label/dao/LabelApplicationRuleResponseConverter.java

Lines changed: 14 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@
1818
import org.hypertrace.graphql.label.schema.rule.LeafCondition;
1919
import org.hypertrace.graphql.label.schema.rule.StaticLabels;
2020
import org.hypertrace.graphql.label.schema.rule.StringCondition;
21-
import org.hypertrace.graphql.label.schema.rule.StringConditionValue;
2221
import org.hypertrace.graphql.label.schema.rule.UnaryCondition;
2322
import org.hypertrace.graphql.label.schema.rule.ValueCondition;
2423
import org.hypertrace.label.application.rule.config.service.v1.CreateLabelApplicationRuleResponse;
@@ -217,32 +216,23 @@ private Optional<StringCondition> convertStringCondition(
217216
.StringCondition
218217
stringCondition) {
219218
Optional<StringCondition.Operator> operator = convertOperatorInStringCondition(stringCondition);
220-
Optional<StringConditionValue> stringConditionValue =
221-
convertStringConditionValue(stringCondition);
222-
if (operator.isEmpty() || stringConditionValue.isEmpty()) {
223-
return Optional.empty();
224-
}
225-
return Optional.of(
226-
new ConvertedStringCondition(operator.orElseThrow(), stringConditionValue.orElseThrow()));
227-
}
228-
229-
private Optional<StringConditionValue> convertStringConditionValue(
230-
org.hypertrace.label.application.rule.config.service.v1.LabelApplicationRuleData
231-
.StringCondition
232-
stringCondition) {
233219
switch (stringCondition.getKindCase()) {
234220
case VALUE:
235-
return Optional.of(
236-
new ConvertedStringConditionValue(
237-
stringCondition.getValue(),
238-
null,
239-
StringConditionValue.StringConditionValueType.VALUE));
221+
return operator.map(
222+
op ->
223+
new ConvertedStringCondition(
224+
op,
225+
stringCondition.getValue(),
226+
null,
227+
StringCondition.StringConditionValueType.VALUE));
240228
case VALUES:
241-
return Optional.of(
242-
new ConvertedStringConditionValue(
243-
null,
244-
stringCondition.getValues().getValuesList(),
245-
StringConditionValue.StringConditionValueType.VALUES));
229+
return operator.map(
230+
op ->
231+
new ConvertedStringCondition(
232+
op,
233+
null,
234+
stringCondition.getValues().getValuesList(),
235+
StringCondition.StringConditionValueType.VALUES));
246236
default:
247237
log.error(
248238
"Unrecognized String Condition Value Type {}", stringCondition.getKindCase().name());
@@ -350,12 +340,6 @@ private static class ConvertedUnaryCondition implements UnaryCondition {
350340
@Accessors(fluent = true)
351341
private static class ConvertedStringCondition implements StringCondition {
352342
Operator operator;
353-
StringConditionValue stringConditionValue;
354-
}
355-
356-
@Value
357-
@Accessors(fluent = true)
358-
private static class ConvertedStringConditionValue implements StringConditionValue {
359343
String value;
360344
List<String> values;
361345
StringConditionValueType stringConditionValueType;

hypertrace-graphql-labels-schema-impl/src/main/java/org/hypertrace/graphql/label/deserialization/LabelApplicationRuleDataDeserializationConfig.java

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@
1414
import org.hypertrace.graphql.label.schema.rule.LeafCondition;
1515
import org.hypertrace.graphql.label.schema.rule.StaticLabels;
1616
import org.hypertrace.graphql.label.schema.rule.StringCondition;
17-
import org.hypertrace.graphql.label.schema.rule.StringConditionValue;
1817
import org.hypertrace.graphql.label.schema.rule.UnaryCondition;
1918
import org.hypertrace.graphql.label.schema.rule.ValueCondition;
2019

@@ -42,7 +41,6 @@ public List<Module> jacksonModules() {
4241
.addAbstractTypeMapping(LeafCondition.class, LeafConditionArgument.class)
4342
.addAbstractTypeMapping(ValueCondition.class, ValueConditionArgument.class)
4443
.addAbstractTypeMapping(StringCondition.class, StringConditionArgument.class)
45-
.addAbstractTypeMapping(StringConditionValue.class, StringConditionValueArgument.class)
4644
.addAbstractTypeMapping(UnaryCondition.class, UnaryConditionArgument.class));
4745
}
4846

@@ -134,14 +132,6 @@ private static class StringConditionArgument implements StringCondition {
134132
@JsonProperty(OPERATOR_KEY)
135133
Operator operator;
136134

137-
@JsonProperty(STRING_CONDITION_VALUE_KEY)
138-
StringConditionValue stringConditionValue;
139-
}
140-
141-
@Value
142-
@Accessors(fluent = true)
143-
@NoArgsConstructor(force = true)
144-
private static class StringConditionValueArgument implements StringConditionValue {
145135
@JsonProperty(VALUE_KEY)
146136
String value;
147137

hypertrace-graphql-labels-schema-impl/src/main/java/org/hypertrace/graphql/label/deserialization/LabelApplicationRuleDeserializationConfig.java

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@
1515
import org.hypertrace.graphql.label.schema.rule.LeafCondition;
1616
import org.hypertrace.graphql.label.schema.rule.StaticLabels;
1717
import org.hypertrace.graphql.label.schema.rule.StringCondition;
18-
import org.hypertrace.graphql.label.schema.rule.StringConditionValue;
1918
import org.hypertrace.graphql.label.schema.rule.UnaryCondition;
2019
import org.hypertrace.graphql.label.schema.rule.ValueCondition;
2120

@@ -43,7 +42,6 @@ public List<Module> jacksonModules() {
4342
.addAbstractTypeMapping(LeafCondition.class, LeafConditionArgument.class)
4443
.addAbstractTypeMapping(ValueCondition.class, ValueConditionArgument.class)
4544
.addAbstractTypeMapping(StringCondition.class, StringConditionArgument.class)
46-
.addAbstractTypeMapping(StringConditionValue.class, StringConditionValueArgument.class)
4745
.addAbstractTypeMapping(UnaryCondition.class, UnaryConditionArgument.class));
4846
}
4947

@@ -146,14 +144,6 @@ private static class StringConditionArgument implements StringCondition {
146144
@JsonProperty(OPERATOR_KEY)
147145
Operator operator;
148146

149-
@JsonProperty(STRING_CONDITION_VALUE_KEY)
150-
StringConditionValue stringConditionValue;
151-
}
152-
153-
@Value
154-
@Accessors(fluent = true)
155-
@NoArgsConstructor(force = true)
156-
private static class StringConditionValueArgument implements StringConditionValue {
157147
@JsonProperty(VALUE_KEY)
158148
String value;
159149

0 commit comments

Comments
 (0)