From 199486c6ce3cdc1c3c17e014548da9b25b17e83f Mon Sep 17 00:00:00 2001 From: kamaleshnneerasa Date: Tue, 16 Nov 2021 12:29:12 +0530 Subject: [PATCH 1/4] Adding color, description in labels graphql apis --- .../label/dao/LabelRequestConverter.java | 21 ++++++++++--- .../label/dao/LabelResponseConverter.java | 30 +++++++++++++++++-- .../CreateLabelDeserializationConfig.java | 6 ++++ .../LabelDeserializationConfig.java | 6 ++++ .../graphql/label/schema/Label.java | 13 ++++++++ .../label/schema/mutation/CreateLabel.java | 13 ++++++++ 6 files changed, 82 insertions(+), 7 deletions(-) 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..2bb9c623 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.Objects; import org.hypertrace.graphql.label.request.LabelCreateRequest; import org.hypertrace.graphql.label.request.LabelUpdateRequest; import org.hypertrace.label.config.service.v1.CreateLabelRequest; @@ -8,15 +9,27 @@ public class LabelRequestConverter { CreateLabelRequest convertCreationRequest(LabelCreateRequest creationRequest) { - return CreateLabelRequest.newBuilder() - .setData(LabelData.newBuilder().setKey(creationRequest.label().key()).build()) - .build(); + LabelData.Builder dataBuilder = LabelData.newBuilder().setKey(creationRequest.label().key()); + if (Objects.nonNull(creationRequest.label().color())) { + dataBuilder.setColor(Objects.requireNonNull(creationRequest.label().color())); + } + if (Objects.nonNull(creationRequest.label().description())) { + dataBuilder.setDescription(Objects.requireNonNull(creationRequest.label().description())); + } + return CreateLabelRequest.newBuilder().setData(dataBuilder.build()).build(); } UpdateLabelRequest convertUpdateRequest(LabelUpdateRequest updateRequest) { + LabelData.Builder dataBuilder = LabelData.newBuilder().setKey(updateRequest.label().key()); + if (Objects.nonNull(updateRequest.label().color())) { + dataBuilder.setColor(Objects.requireNonNull(updateRequest.label().color())); + } + if (Objects.nonNull(updateRequest.label().description())) { + dataBuilder.setDescription(Objects.requireNonNull(updateRequest.label().description())); + } return UpdateLabelRequest.newBuilder() .setId(updateRequest.label().id()) - .setData(LabelData.newBuilder().setKey(updateRequest.label().key()).build()) + .setData(dataBuilder.build()) .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..cd0a2ddb 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,40 @@ Single convert(GetLabelsResponse response) { Single> convertToLabelList(GetLabelsResponse response) { return Single.just( response.getLabelsList().stream() - .map(label -> new DefaultLabel(label.getId(), label.getData().getKey())) + .map( + label -> + new DefaultLabel( + label.getId(), + label.getData().getKey(), + label.getData().hasColor() ? label.getData().getColor() : null, + label.getData().hasDescription() ? label.getData().getDescription() : null)) .collect(Collectors.toUnmodifiableList())); } Single