From 11613725facebacca5f13def12a36cc5bb62dcb0 Mon Sep 17 00:00:00 2001 From: Dmitrii Duzhinskii Date: Wed, 1 Nov 2023 16:18:47 +0300 Subject: [PATCH] Convert repeated type even if it contains primitives --- .../java/org/sudu/protogen/generator/type/RepeatedType.java | 4 ++-- tests/src/test/proto/general.proto | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/generator/src/main/java/org/sudu/protogen/generator/type/RepeatedType.java b/generator/src/main/java/org/sudu/protogen/generator/type/RepeatedType.java index c34fc8c..29d4679 100644 --- a/generator/src/main/java/org/sudu/protogen/generator/type/RepeatedType.java +++ b/generator/src/main/java/org/sudu/protogen/generator/type/RepeatedType.java @@ -34,7 +34,7 @@ public RepeatedContainer getRepeatedType() { @Override public CodeBlock toGrpcTransformer(CodeBlock expr, Set usedDefinitions) { - if (!(elementModel instanceof PrimitiveTypeModel)) { + if (!(elementModel instanceof PrimitiveTypeModel && repeatedType == RepeatedContainer.LIST)) { String nextDefinition = nextDefinition(usedDefinitions); CodeBlock lambdaParameter = CodeBlock.of(nextDefinition); Set newDefinitions = new HashSet<>(usedDefinitions) {{ add(nextDefinition); }}; @@ -50,7 +50,7 @@ public CodeBlock toGrpcTransformer(CodeBlock expr, Set usedDefinitions) @Override public CodeBlock fromGrpcTransformer(CodeBlock expr, Set usedDefinitions) { expr = repeatedType.convertListToInstance(expr); - if (!(elementModel instanceof PrimitiveTypeModel)) { + if (!(elementModel instanceof PrimitiveTypeModel && repeatedType == RepeatedContainer.LIST)) { String nextDefinition = nextDefinition(usedDefinitions); CodeBlock lambdaParameter = CodeBlock.of(nextDefinition); Set newDefinitions = new HashSet<>(usedDefinitions) {{ add(nextDefinition); }}; diff --git a/tests/src/test/proto/general.proto b/tests/src/test/proto/general.proto index 394d8f2..6263aa2 100644 --- a/tests/src/test/proto/general.proto +++ b/tests/src/test/proto/general.proto @@ -60,7 +60,7 @@ message GrpcRepeatedTypes { } message GrpcSomeEvent { - repeated string ids = 1; + repeated string ids = 1 [(.protogen.repeated_container) = SET]; option (.protogen.topic) = "SOME_TOPIC"; }