diff --git a/hypertrace-graphql-labels-schema/src/main/java/org/hypertrace/graphql/label/dao/LabelRequestConverter.java b/hypertrace-graphql-labels-schema/src/main/java/org/hypertrace/graphql/label/dao/LabelRequestConverter.java index b88dba8f..5ea5373d 100644 --- a/hypertrace-graphql-labels-schema/src/main/java/org/hypertrace/graphql/label/dao/LabelRequestConverter.java +++ b/hypertrace-graphql-labels-schema/src/main/java/org/hypertrace/graphql/label/dao/LabelRequestConverter.java @@ -1,5 +1,6 @@ package org.hypertrace.graphql.label.dao; +import java.util.Optional; import org.hypertrace.graphql.label.request.LabelCreateRequest; import org.hypertrace.graphql.label.request.LabelUpdateRequest; import org.hypertrace.label.config.service.v1.CreateLabelRequest; @@ -9,14 +10,21 @@ public class LabelRequestConverter { CreateLabelRequest convertCreationRequest(LabelCreateRequest creationRequest) { return CreateLabelRequest.newBuilder() - .setData(LabelData.newBuilder().setKey(creationRequest.label().key()).build()) + .setData(convertLabelData(creationRequest.label())) .build(); } UpdateLabelRequest convertUpdateRequest(LabelUpdateRequest updateRequest) { return UpdateLabelRequest.newBuilder() .setId(updateRequest.label().id()) - .setData(LabelData.newBuilder().setKey(updateRequest.label().key()).build()) + .setData(convertLabelData(updateRequest.label())) .build(); } + + private LabelData convertLabelData(org.hypertrace.graphql.label.schema.LabelData data) { + LabelData.Builder dataBuilder = LabelData.newBuilder().setKey(data.key()); + Optional.ofNullable(data.color()).ifPresent(dataBuilder::setColor); + Optional.ofNullable(data.description()).ifPresent(dataBuilder::setDescription); + return dataBuilder.build(); + } } diff --git a/hypertrace-graphql-labels-schema/src/main/java/org/hypertrace/graphql/label/dao/LabelResponseConverter.java b/hypertrace-graphql-labels-schema/src/main/java/org/hypertrace/graphql/label/dao/LabelResponseConverter.java index f5b2c603..1ab8983a 100644 --- a/hypertrace-graphql-labels-schema/src/main/java/org/hypertrace/graphql/label/dao/LabelResponseConverter.java +++ b/hypertrace-graphql-labels-schema/src/main/java/org/hypertrace/graphql/label/dao/LabelResponseConverter.java @@ -25,18 +25,24 @@ Single convert(GetLabelsResponse response) { Single> convertToLabelList(GetLabelsResponse response) { return Single.just( response.getLabelsList().stream() - .map(label -> new DefaultLabel(label.getId(), label.getData().getKey())) + .map(this::convertLabel) .collect(Collectors.toUnmodifiableList())); } Single