From 8b2e6928686188991381c9c93f870403aa6a8a4a Mon Sep 17 00:00:00 2001 From: zhouhao Date: Sun, 27 Mar 2022 11:58:19 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8Dtopic=20=E8=B7=AF=E7=94=B1?= =?UTF-8?q?=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 4 ++-- .../protocol/official/TopicMessageCodec.java | 4 ++-- .../JetLinksMqttDeviceMessageCodecTest.java | 4 ++++ .../protocol/official/TopicMessageCodecTest.java | 13 ++++++++++++- 4 files changed, 20 insertions(+), 5 deletions(-) diff --git a/pom.xml b/pom.xml index 57a6c6d..3dff388 100644 --- a/pom.xml +++ b/pom.xml @@ -47,7 +47,7 @@ 2.2.8.RELEASE 4.0.3 3.0.2 - Dysprosium-RELEASE + 2020.0.6 @@ -190,7 +190,7 @@ io.projectreactor reactor-test - 3.3.12.RELEASE + 3.4.13 test diff --git a/src/main/java/org/jetlinks/protocol/official/TopicMessageCodec.java b/src/main/java/org/jetlinks/protocol/official/TopicMessageCodec.java index e4aec67..ccd3aec 100644 --- a/src/main/java/org/jetlinks/protocol/official/TopicMessageCodec.java +++ b/src/main/java/org/jetlinks/protocol/official/TopicMessageCodec.java @@ -297,9 +297,9 @@ public enum TopicMessageCodec { @SneakyThrows private MqttRoute.Builder toRoute() { - String[] topics = new String[1 + pattern.length]; + String[] topics = new String[pattern.length]; + System.arraycopy(pattern, 0, topics, 0, pattern.length); topics[0] = "{productId:产品ID}"; - System.arraycopy(pattern, 0, topics, 1, pattern.length); topics[1] = "{deviceId:设备ID}"; transMqttTopic(topics); StringJoiner joiner = new StringJoiner("/", "/", ""); diff --git a/src/test/java/org/jetlinks/protocol/official/JetLinksMqttDeviceMessageCodecTest.java b/src/test/java/org/jetlinks/protocol/official/JetLinksMqttDeviceMessageCodecTest.java index 6143cdc..7f1235e 100644 --- a/src/test/java/org/jetlinks/protocol/official/JetLinksMqttDeviceMessageCodecTest.java +++ b/src/test/java/org/jetlinks/protocol/official/JetLinksMqttDeviceMessageCodecTest.java @@ -395,6 +395,10 @@ public class JetLinksMqttDeviceMessageCodecTest { } + public void testTopic(){ + + } + public MessageEncodeContext createMessageContext(Message message) { System.out.println(message.toString()); return new MessageEncodeContext() { diff --git a/src/test/java/org/jetlinks/protocol/official/TopicMessageCodecTest.java b/src/test/java/org/jetlinks/protocol/official/TopicMessageCodecTest.java index 3da78ef..e4783df 100644 --- a/src/test/java/org/jetlinks/protocol/official/TopicMessageCodecTest.java +++ b/src/test/java/org/jetlinks/protocol/official/TopicMessageCodecTest.java @@ -1,10 +1,12 @@ package org.jetlinks.protocol.official; import com.fasterxml.jackson.databind.ObjectMapper; +import org.jetlinks.core.codec.defaults.TopicPayloadCodec; import org.jetlinks.core.message.ChildDeviceMessage; import org.jetlinks.core.message.DeviceMessage; import org.jetlinks.core.message.event.EventMessage; import org.jetlinks.core.message.property.ReportPropertyMessage; +import org.jetlinks.core.route.Route; import org.junit.Test; import reactor.test.StepVerifier; @@ -38,6 +40,15 @@ public class TopicMessageCodecTest { } + @Test + public void testRoute() { + for (TopicMessageCodec value : TopicMessageCodec.values()) { + Route route = value.getRoute(); + if (null != route) + System.out.println(route.getAddress()); + } + } + @Test public void doTest() { testChild(ObjectMappers.JSON_MAPPER); @@ -58,6 +69,6 @@ public class TopicMessageCodecTest { DeviceMessage msg = TopicMessageCodec .decode(ObjectMappers.JSON_MAPPER, payload.getTopic(), payload.getPayload()) .blockLast(); - assertEquals(msg.toJson(),eventMessage.toJson()); + assertEquals(msg.toJson(), eventMessage.toJson()); } } \ No newline at end of file