fix dynamic schemas, tests
This commit is contained in:
parent
706fd01d76
commit
eecc6aa1a6
@ -62,19 +62,28 @@ public abstract class AbstractMqttIntegrationTest extends AbstractControllerTest
|
||||
|
||||
private static final AtomicInteger atomicInteger = new AtomicInteger(2);
|
||||
|
||||
protected static final String DEVICE_TELEMETRY_PROTO_SCHEMA = "syntax =\"proto3\";\n" +
|
||||
public static final String DEVICE_TELEMETRY_PROTO_SCHEMA = "syntax =\"proto3\";\n" +
|
||||
"\n" +
|
||||
"package test;\n" +
|
||||
" \n" +
|
||||
"\n" +
|
||||
"message PostTelemetry {\n" +
|
||||
" string key1 = 1;\n" +
|
||||
" bool key2 = 2;\n" +
|
||||
" double key3 = 3;\n" +
|
||||
" int32 key4 = 4;\n" +
|
||||
" string key5 = 5;\n" +
|
||||
" JsonObject key5 = 5;\n" +
|
||||
"\n" +
|
||||
" message JsonObject {\n" +
|
||||
" int32 someNumber = 6;\n" +
|
||||
" repeated int32 someArray = 7;\n" +
|
||||
" NestedJsonObject someNestedObject = 8;\n" +
|
||||
" message NestedJsonObject {\n" +
|
||||
" string key = 9;\n" +
|
||||
" }\n" +
|
||||
" }\n" +
|
||||
"}";
|
||||
|
||||
protected static final String DEVICE_ATTRIBUTES_PROTO_SCHEMA = "syntax =\"proto3\";\n" +
|
||||
public static final String DEVICE_ATTRIBUTES_PROTO_SCHEMA = "syntax =\"proto3\";\n" +
|
||||
"\n" +
|
||||
"package test;\n" +
|
||||
"\n" +
|
||||
@ -83,7 +92,16 @@ public abstract class AbstractMqttIntegrationTest extends AbstractControllerTest
|
||||
" bool key2 = 2;\n" +
|
||||
" double key3 = 3;\n" +
|
||||
" int32 key4 = 4;\n" +
|
||||
" string key5 = 5;\n" +
|
||||
" JsonObject key5 = 5;\n" +
|
||||
"\n" +
|
||||
" message JsonObject {\n" +
|
||||
" int32 someNumber = 6;\n" +
|
||||
" repeated int32 someArray = 7;\n" +
|
||||
" NestedJsonObject someNestedObject = 8;\n" +
|
||||
" message NestedJsonObject {\n" +
|
||||
" string key = 9;\n" +
|
||||
" }\n" +
|
||||
" }\n" +
|
||||
"}";
|
||||
|
||||
protected Tenant savedTenant;
|
||||
|
||||
@ -26,13 +26,13 @@ import java.util.Arrays;
|
||||
|
||||
@RunWith(ClasspathSuite.class)
|
||||
@ClasspathSuite.ClassnameFilters({
|
||||
// "org.thingsboard.server.mqtt.rpc.sql.*Test",
|
||||
// "org.thingsboard.server.mqtt.telemetry.timeseries.sql.*Test",
|
||||
// "org.thingsboard.server.mqtt.telemetry.attributes.sql.*Test",
|
||||
// "org.thingsboard.server.mqtt.attributes.updates.sql.*Test",
|
||||
"org.thingsboard.server.mqtt.rpc.sql.*Test",
|
||||
"org.thingsboard.server.mqtt.telemetry.timeseries.sql.*Test",
|
||||
"org.thingsboard.server.mqtt.telemetry.attributes.sql.*Test",
|
||||
"org.thingsboard.server.mqtt.attributes.updates.sql.*Test",
|
||||
"org.thingsboard.server.mqtt.attributes.request.sql.*Test",
|
||||
// "org.thingsboard.server.mqtt.claim.sql.*Test",
|
||||
// "org.thingsboard.server.mqtt.provision.sql.*Test"
|
||||
"org.thingsboard.server.mqtt.claim.sql.*Test",
|
||||
"org.thingsboard.server.mqtt.provision.sql.*Test"
|
||||
})
|
||||
public class MqttSqlTestSuite {
|
||||
|
||||
|
||||
@ -122,7 +122,7 @@ public abstract class AbstractMqttAttributesRequestIntegrationTest extends Abstr
|
||||
client.publish(MqttTopics.DEVICE_ATTRIBUTES_REQUEST_TOPIC_PREFIX + "1", mqttMessage);
|
||||
latch.await(3, TimeUnit.SECONDS);
|
||||
assertEquals(MqttQoS.AT_MOST_ONCE.value(), callback.getQoS());
|
||||
String expectedRequestPayload = "{\"client\":{\"attribute5\":{\"someNumber\":42,\"someArray\":[1,2,3],\"someNestedObject\":{\"key\":\"value\"}},\"attribute4\":73,\"attribute1\":\"value1\",\"attribute3\":42.0,\"attribute2\":true},\"shared\":{\"attribute5\":{\"someNumber\":42,\"someArray\":[1,2,3],\"someNestedObject\":{\"key\":\"value\"}},\"attribute4\":73,\"attribute1\":\"value1\",\"attribute3\":42.0,\"attribute2\":true}}";
|
||||
String expectedRequestPayload = "{\"client\":{\"attribute1\":\"value1\",\"attribute2\":true,\"attribute3\":42.0,\"attribute4\":73,\"attribute5\":{\"someNumber\":42,\"someArray\":[1,2,3],\"someNestedObject\":{\"key\":\"value\"}}},\"shared\":{\"attribute1\":\"value1\",\"attribute2\":true,\"attribute3\":42.0,\"attribute4\":73,\"attribute5\":{\"someNumber\":42,\"someArray\":[1,2,3],\"someNestedObject\":{\"key\":\"value\"}}}}";
|
||||
assertEquals(JacksonUtil.toJsonNode(expectedRequestPayload), JacksonUtil.toJsonNode(new String(callback.getPayloadBytes(), StandardCharsets.UTF_8)));
|
||||
}
|
||||
|
||||
|
||||
@ -62,7 +62,16 @@ public abstract class AbstractMqttAttributesRequestProtoIntegrationTest extends
|
||||
" bool attribute2 = 2;\n" +
|
||||
" double attribute3 = 3;\n" +
|
||||
" int32 attribute4 = 4;\n" +
|
||||
" string attribute5 = 5;\n" +
|
||||
" JsonObject attribute5 = 5;\n" +
|
||||
"\n" +
|
||||
" message JsonObject {\n" +
|
||||
" int32 someNumber = 6;\n" +
|
||||
" repeated int32 someArray = 7;\n" +
|
||||
" NestedJsonObject someNestedObject = 8;\n" +
|
||||
" message NestedJsonObject {\n" +
|
||||
" string key = 9;\n" +
|
||||
" }\n" +
|
||||
" }\n" +
|
||||
"}";
|
||||
|
||||
@After
|
||||
@ -93,6 +102,23 @@ public abstract class AbstractMqttAttributesRequestProtoIntegrationTest extends
|
||||
ProtoTransportPayloadConfiguration protoTransportPayloadConfiguration = (ProtoTransportPayloadConfiguration) transportPayloadTypeConfiguration;
|
||||
ProtoFileElement transportProtoSchema = protoTransportPayloadConfiguration.getTransportProtoSchema(ATTRIBUTES_SCHEMA_STR);
|
||||
DynamicSchema attributesSchema = protoTransportPayloadConfiguration.getDynamicSchema(transportProtoSchema, ProtoTransportPayloadConfiguration.ATTRIBUTES_PROTO_SCHEMA);
|
||||
|
||||
DynamicMessage.Builder nestedJsonObjectBuilder = attributesSchema.newMessageBuilder("PostAttributes.JsonObject.NestedJsonObject");
|
||||
Descriptors.Descriptor nestedJsonObjectBuilderDescriptor = nestedJsonObjectBuilder.getDescriptorForType();
|
||||
assertNotNull(nestedJsonObjectBuilderDescriptor);
|
||||
DynamicMessage nestedJsonObject = nestedJsonObjectBuilder.setField(nestedJsonObjectBuilderDescriptor.findFieldByName("key"), "value").build();
|
||||
|
||||
DynamicMessage.Builder jsonObjectBuilder = attributesSchema.newMessageBuilder("PostAttributes.JsonObject");
|
||||
Descriptors.Descriptor jsonObjectBuilderDescriptor = jsonObjectBuilder.getDescriptorForType();
|
||||
assertNotNull(jsonObjectBuilderDescriptor);
|
||||
DynamicMessage jsonObject = jsonObjectBuilder
|
||||
.setField(jsonObjectBuilderDescriptor.findFieldByName("someNumber"), 42)
|
||||
.addRepeatedField(jsonObjectBuilderDescriptor.findFieldByName("someArray"), 1)
|
||||
.addRepeatedField(jsonObjectBuilderDescriptor.findFieldByName("someArray"), 2)
|
||||
.addRepeatedField(jsonObjectBuilderDescriptor.findFieldByName("someArray"), 3)
|
||||
.setField(jsonObjectBuilderDescriptor.findFieldByName("someNestedObject"), nestedJsonObject)
|
||||
.build();
|
||||
|
||||
DynamicMessage.Builder postAttributesBuilder = attributesSchema.newMessageBuilder("PostAttributes");
|
||||
Descriptors.Descriptor postAttributesMsgDescriptor = postAttributesBuilder.getDescriptorForType();
|
||||
assertNotNull(postAttributesMsgDescriptor);
|
||||
@ -101,7 +127,7 @@ public abstract class AbstractMqttAttributesRequestProtoIntegrationTest extends
|
||||
.setField(postAttributesMsgDescriptor.findFieldByName("attribute2"), true)
|
||||
.setField(postAttributesMsgDescriptor.findFieldByName("attribute3"), 42.0)
|
||||
.setField(postAttributesMsgDescriptor.findFieldByName("attribute4"), 73)
|
||||
.setField(postAttributesMsgDescriptor.findFieldByName("attribute5"), "{\"someNumber\":42,\"someArray\":[1,2,3],\"someNestedObject\":{\"key\":\"value\"}}")
|
||||
.setField(postAttributesMsgDescriptor.findFieldByName("attribute5"), jsonObject)
|
||||
.build();
|
||||
byte[] payload = postAttributesMsg.toByteArray();
|
||||
client.publish(MqttTopics.DEVICE_ATTRIBUTES_TOPIC, new MqttMessage(payload));
|
||||
|
||||
@ -163,16 +163,10 @@ public abstract class AbstractMqttAttributesIntegrationTest extends AbstractMqtt
|
||||
break;
|
||||
case "key5":
|
||||
assertNotNull(value);
|
||||
LinkedHashMap valueMap;
|
||||
if (value instanceof String) {
|
||||
valueMap = mapper.readValue((String) value, LinkedHashMap.class);
|
||||
} else {
|
||||
valueMap = (LinkedHashMap) value;
|
||||
}
|
||||
assertEquals(3, valueMap.size());
|
||||
assertEquals(42, valueMap.get("someNumber"));
|
||||
assertEquals(Arrays.asList(1, 2, 3), valueMap.get("someArray"));
|
||||
LinkedHashMap<String, String> someNestedObject = (LinkedHashMap) valueMap.get("someNestedObject");
|
||||
assertEquals(3, ((LinkedHashMap) value).size());
|
||||
assertEquals(42, ((LinkedHashMap) value).get("someNumber"));
|
||||
assertEquals(Arrays.asList(1, 2, 3), ((LinkedHashMap) value).get("someArray"));
|
||||
LinkedHashMap<String, String> someNestedObject = (LinkedHashMap) ((LinkedHashMap) value).get("someNestedObject");
|
||||
assertEquals("value", someNestedObject.get("key"));
|
||||
break;
|
||||
}
|
||||
|
||||
@ -58,6 +58,23 @@ public abstract class AbstractMqttAttributesProtoIntegrationTest extends Abstrac
|
||||
ProtoTransportPayloadConfiguration protoTransportPayloadConfiguration = (ProtoTransportPayloadConfiguration) transportPayloadTypeConfiguration;
|
||||
ProtoFileElement transportProtoSchemaFile = protoTransportPayloadConfiguration.getTransportProtoSchema(DEVICE_ATTRIBUTES_PROTO_SCHEMA);
|
||||
DynamicSchema attributesSchema = protoTransportPayloadConfiguration.getDynamicSchema(transportProtoSchemaFile, ProtoTransportPayloadConfiguration.ATTRIBUTES_PROTO_SCHEMA);
|
||||
|
||||
DynamicMessage.Builder nestedJsonObjectBuilder = attributesSchema.newMessageBuilder("PostAttributes.JsonObject.NestedJsonObject");
|
||||
Descriptors.Descriptor nestedJsonObjectBuilderDescriptor = nestedJsonObjectBuilder.getDescriptorForType();
|
||||
assertNotNull(nestedJsonObjectBuilderDescriptor);
|
||||
DynamicMessage nestedJsonObject = nestedJsonObjectBuilder.setField(nestedJsonObjectBuilderDescriptor.findFieldByName("key"), "value").build();
|
||||
|
||||
DynamicMessage.Builder jsonObjectBuilder = attributesSchema.newMessageBuilder("PostAttributes.JsonObject");
|
||||
Descriptors.Descriptor jsonObjectBuilderDescriptor = jsonObjectBuilder.getDescriptorForType();
|
||||
assertNotNull(jsonObjectBuilderDescriptor);
|
||||
DynamicMessage jsonObject = jsonObjectBuilder
|
||||
.setField(jsonObjectBuilderDescriptor.findFieldByName("someNumber"), 42)
|
||||
.addRepeatedField(jsonObjectBuilderDescriptor.findFieldByName("someArray"), 1)
|
||||
.addRepeatedField(jsonObjectBuilderDescriptor.findFieldByName("someArray"), 2)
|
||||
.addRepeatedField(jsonObjectBuilderDescriptor.findFieldByName("someArray"), 3)
|
||||
.setField(jsonObjectBuilderDescriptor.findFieldByName("someNestedObject"), nestedJsonObject)
|
||||
.build();
|
||||
|
||||
DynamicMessage.Builder postAttributesBuilder = attributesSchema.newMessageBuilder("PostAttributes");
|
||||
Descriptors.Descriptor postAttributesMsgDescriptor = postAttributesBuilder.getDescriptorForType();
|
||||
assertNotNull(postAttributesMsgDescriptor);
|
||||
@ -66,7 +83,7 @@ public abstract class AbstractMqttAttributesProtoIntegrationTest extends Abstrac
|
||||
.setField(postAttributesMsgDescriptor.findFieldByName("key2"), true)
|
||||
.setField(postAttributesMsgDescriptor.findFieldByName("key3"), 3.0)
|
||||
.setField(postAttributesMsgDescriptor.findFieldByName("key4"), 4)
|
||||
.setField(postAttributesMsgDescriptor.findFieldByName("key5"), "{\"someNumber\":42,\"someArray\":[1,2,3],\"someNestedObject\":{\"key\":\"value\"}}")
|
||||
.setField(postAttributesMsgDescriptor.findFieldByName("key5"), jsonObject)
|
||||
.build();
|
||||
processAttributesTest(POST_DATA_ATTRIBUTES_TOPIC, expectedKeys, postAttributesMsg.toByteArray());
|
||||
}
|
||||
|
||||
@ -62,6 +62,23 @@ public abstract class AbstractMqttTimeseriesProtoIntegrationTest extends Abstrac
|
||||
ProtoTransportPayloadConfiguration protoTransportPayloadConfiguration = (ProtoTransportPayloadConfiguration) transportPayloadTypeConfiguration;
|
||||
ProtoFileElement transportProtoSchema = protoTransportPayloadConfiguration.getTransportProtoSchema(DEVICE_TELEMETRY_PROTO_SCHEMA);
|
||||
DynamicSchema telemetrySchema = protoTransportPayloadConfiguration.getDynamicSchema(transportProtoSchema, "telemetrySchema");
|
||||
|
||||
DynamicMessage.Builder nestedJsonObjectBuilder = telemetrySchema.newMessageBuilder("PostTelemetry.JsonObject.NestedJsonObject");
|
||||
Descriptors.Descriptor nestedJsonObjectBuilderDescriptor = nestedJsonObjectBuilder.getDescriptorForType();
|
||||
assertNotNull(nestedJsonObjectBuilderDescriptor);
|
||||
DynamicMessage nestedJsonObject = nestedJsonObjectBuilder.setField(nestedJsonObjectBuilderDescriptor.findFieldByName("key"), "value").build();
|
||||
|
||||
DynamicMessage.Builder jsonObjectBuilder = telemetrySchema.newMessageBuilder("PostTelemetry.JsonObject");
|
||||
Descriptors.Descriptor jsonObjectBuilderDescriptor = jsonObjectBuilder.getDescriptorForType();
|
||||
assertNotNull(jsonObjectBuilderDescriptor);
|
||||
DynamicMessage jsonObject = jsonObjectBuilder
|
||||
.setField(jsonObjectBuilderDescriptor.findFieldByName("someNumber"), 42)
|
||||
.addRepeatedField(jsonObjectBuilderDescriptor.findFieldByName("someArray"), 1)
|
||||
.addRepeatedField(jsonObjectBuilderDescriptor.findFieldByName("someArray"), 2)
|
||||
.addRepeatedField(jsonObjectBuilderDescriptor.findFieldByName("someArray"), 3)
|
||||
.setField(jsonObjectBuilderDescriptor.findFieldByName("someNestedObject"), nestedJsonObject)
|
||||
.build();
|
||||
|
||||
DynamicMessage.Builder postTelemetryBuilder = telemetrySchema.newMessageBuilder("PostTelemetry");
|
||||
Descriptors.Descriptor postTelemetryMsgDescriptor = postTelemetryBuilder.getDescriptorForType();
|
||||
assertNotNull(postTelemetryMsgDescriptor);
|
||||
@ -70,7 +87,7 @@ public abstract class AbstractMqttTimeseriesProtoIntegrationTest extends Abstrac
|
||||
.setField(postTelemetryMsgDescriptor.findFieldByName("key2"), true)
|
||||
.setField(postTelemetryMsgDescriptor.findFieldByName("key3"), 3.0)
|
||||
.setField(postTelemetryMsgDescriptor.findFieldByName("key4"), 4)
|
||||
.setField(postTelemetryMsgDescriptor.findFieldByName("key5"), "{\"someNumber\":42,\"someArray\":[1,2,3],\"someNestedObject\":{\"key\":\"value\"}}")
|
||||
.setField(postTelemetryMsgDescriptor.findFieldByName("key5"), jsonObject)
|
||||
.build();
|
||||
processTelemetryTest(POST_DATA_TELEMETRY_TOPIC, expectedKeys, postTelemetryMsg.toByteArray(), false);
|
||||
}
|
||||
@ -80,19 +97,27 @@ public abstract class AbstractMqttTimeseriesProtoIntegrationTest extends Abstrac
|
||||
String schemaStr = "syntax =\"proto3\";\n" +
|
||||
"\n" +
|
||||
"package test;\n" +
|
||||
" \n" +
|
||||
"\n" +
|
||||
"message PostTelemetry {\n" +
|
||||
"\n" +
|
||||
" message Values {\n" +
|
||||
" string key1 = 1;\n" +
|
||||
" bool key2 = 2;\n" +
|
||||
" double key3 = 3;\n" +
|
||||
" int32 key4 = 4;\n" +
|
||||
" string key5 = 5;\n" +
|
||||
" }\n" +
|
||||
"\n" +
|
||||
" int64 ts = 1;\n" +
|
||||
" Values values = 2;\n" +
|
||||
" \n" +
|
||||
" message Values {\n" +
|
||||
" string key1 = 3;\n" +
|
||||
" bool key2 = 4;\n" +
|
||||
" double key3 = 5;\n" +
|
||||
" int32 key4 = 6;\n" +
|
||||
" JsonObject key5 = 7;\n" +
|
||||
" }\n" +
|
||||
" \n" +
|
||||
" message JsonObject {\n" +
|
||||
" int32 someNumber = 8;\n" +
|
||||
" repeated int32 someArray = 9;\n" +
|
||||
" NestedJsonObject someNestedObject = 10;\n" +
|
||||
" message NestedJsonObject {\n" +
|
||||
" string key = 11;\n" +
|
||||
" }\n" +
|
||||
" }\n" +
|
||||
"}";
|
||||
super.processBeforeTest("Test Post Telemetry device proto payload", "Test Post Telemetry gateway proto payload", TransportPayloadType.PROTOBUF, POST_DATA_TELEMETRY_TOPIC, null, schemaStr, null, DeviceProfileProvisionType.DISABLED, null, null);
|
||||
List<String> expectedKeys = Arrays.asList("key1", "key2", "key3", "key4", "key5");
|
||||
@ -105,6 +130,23 @@ public abstract class AbstractMqttTimeseriesProtoIntegrationTest extends Abstrac
|
||||
ProtoFileElement transportProtoSchema = protoTransportPayloadConfiguration.getTransportProtoSchema(schemaStr);
|
||||
DynamicSchema telemetrySchema = protoTransportPayloadConfiguration.getDynamicSchema(transportProtoSchema, "telemetrySchema");
|
||||
|
||||
DynamicMessage.Builder nestedJsonObjectBuilder = telemetrySchema.newMessageBuilder("PostTelemetry.JsonObject.NestedJsonObject");
|
||||
Descriptors.Descriptor nestedJsonObjectBuilderDescriptor = nestedJsonObjectBuilder.getDescriptorForType();
|
||||
assertNotNull(nestedJsonObjectBuilderDescriptor);
|
||||
DynamicMessage nestedJsonObject = nestedJsonObjectBuilder.setField(nestedJsonObjectBuilderDescriptor.findFieldByName("key"), "value").build();
|
||||
|
||||
DynamicMessage.Builder jsonObjectBuilder = telemetrySchema.newMessageBuilder("PostTelemetry.JsonObject");
|
||||
Descriptors.Descriptor jsonObjectBuilderDescriptor = jsonObjectBuilder.getDescriptorForType();
|
||||
assertNotNull(jsonObjectBuilderDescriptor);
|
||||
DynamicMessage jsonObject = jsonObjectBuilder
|
||||
.setField(jsonObjectBuilderDescriptor.findFieldByName("someNumber"), 42)
|
||||
.addRepeatedField(jsonObjectBuilderDescriptor.findFieldByName("someArray"), 1)
|
||||
.addRepeatedField(jsonObjectBuilderDescriptor.findFieldByName("someArray"), 2)
|
||||
.addRepeatedField(jsonObjectBuilderDescriptor.findFieldByName("someArray"), 3)
|
||||
.setField(jsonObjectBuilderDescriptor.findFieldByName("someNestedObject"), nestedJsonObject)
|
||||
.build();
|
||||
|
||||
|
||||
DynamicMessage.Builder valuesBuilder = telemetrySchema.newMessageBuilder("PostTelemetry.Values");
|
||||
Descriptors.Descriptor valuesDescriptor = valuesBuilder.getDescriptorForType();
|
||||
assertNotNull(valuesDescriptor);
|
||||
@ -114,7 +156,7 @@ public abstract class AbstractMqttTimeseriesProtoIntegrationTest extends Abstrac
|
||||
.setField(valuesDescriptor.findFieldByName("key2"), true)
|
||||
.setField(valuesDescriptor.findFieldByName("key3"), 3.0)
|
||||
.setField(valuesDescriptor.findFieldByName("key4"), 4)
|
||||
.setField(valuesDescriptor.findFieldByName("key5"), "{\"someNumber\":42,\"someArray\":[1,2,3],\"someNestedObject\":{\"key\":\"value\"}}")
|
||||
.setField(valuesDescriptor.findFieldByName("key5"), jsonObject)
|
||||
.build();
|
||||
|
||||
DynamicMessage.Builder postTelemetryBuilder = telemetrySchema.newMessageBuilder("PostTelemetry");
|
||||
|
||||
@ -128,19 +128,8 @@ public class ProtoTransportPayloadConfiguration implements TransportPayloadTypeC
|
||||
List<MessageDefinition> messageDefinitions = new ArrayList<>();
|
||||
messageElementsList.forEach(messageElement -> {
|
||||
MessageDefinition.Builder messageDefinitionBuilder = MessageDefinition.newBuilder(messageElement.getName());
|
||||
List<FieldElement> messageElementFields = messageElement.getFields();
|
||||
List<OneOfElement> oneOfs = messageElement.getOneOfs();
|
||||
|
||||
List<TypeElement> nestedTypes = messageElement.getNestedTypes();
|
||||
if (!messageElementFields.isEmpty()) {
|
||||
addMessageFieldsToTheMessageDefinition(messageElementFields, messageDefinitionBuilder);
|
||||
}
|
||||
if (!oneOfs.isEmpty()) {
|
||||
for (OneOfElement oneOfelement : oneOfs) {
|
||||
MessageDefinition.OneofBuilder oneofBuilder = messageDefinitionBuilder.addOneof(oneOfelement.getName());
|
||||
addMessageFieldsToTheOneOfDefinition(oneOfelement.getFields(), oneofBuilder);
|
||||
}
|
||||
}
|
||||
if (!nestedTypes.isEmpty()) {
|
||||
List<EnumElement> nestedEnumTypes = getEnumElements(nestedTypes);
|
||||
if (!nestedEnumTypes.isEmpty()) {
|
||||
@ -153,6 +142,17 @@ public class ProtoTransportPayloadConfiguration implements TransportPayloadTypeC
|
||||
List<MessageDefinition> nestedMessageDefinitions = getMessageDefinitions(nestedMessageTypes);
|
||||
nestedMessageDefinitions.forEach(messageDefinitionBuilder::addMessageDefinition);
|
||||
}
|
||||
List<FieldElement> messageElementFields = messageElement.getFields();
|
||||
List<OneOfElement> oneOfs = messageElement.getOneOfs();
|
||||
if (!oneOfs.isEmpty()) {
|
||||
for (OneOfElement oneOfelement : oneOfs) {
|
||||
MessageDefinition.OneofBuilder oneofBuilder = messageDefinitionBuilder.addOneof(oneOfelement.getName());
|
||||
addMessageFieldsToTheOneOfDefinition(oneOfelement.getFields(), oneofBuilder);
|
||||
}
|
||||
}
|
||||
if (!messageElementFields.isEmpty()) {
|
||||
addMessageFieldsToTheMessageDefinition(messageElementFields, messageDefinitionBuilder);
|
||||
}
|
||||
messageDefinitions.add(messageDefinitionBuilder.build());
|
||||
});
|
||||
return messageDefinitions;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user