diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/MQTTProtocolHandler.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/broker/MQTTProtocolHandler.java similarity index 85% rename from mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/MQTTProtocolHandler.java rename to mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/broker/MQTTProtocolHandler.java index 39c51db50..4b42c2bd4 100644 --- a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/MQTTProtocolHandler.java +++ b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/broker/MQTTProtocolHandler.java @@ -11,24 +11,26 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package io.streamnative.pulsar.handlers.mqtt; +package io.streamnative.pulsar.handlers.mqtt.broker; import static com.google.common.base.Preconditions.checkArgument; -import static io.streamnative.pulsar.handlers.mqtt.utils.ConfigurationUtils.LISTENER_DEL; -import static io.streamnative.pulsar.handlers.mqtt.utils.ConfigurationUtils.PLAINTEXT_PREFIX; -import static io.streamnative.pulsar.handlers.mqtt.utils.ConfigurationUtils.PROTOCOL_NAME; -import static io.streamnative.pulsar.handlers.mqtt.utils.ConfigurationUtils.SSL_PREFIX; -import static io.streamnative.pulsar.handlers.mqtt.utils.ConfigurationUtils.SSL_PSK_PREFIX; -import static io.streamnative.pulsar.handlers.mqtt.utils.ConfigurationUtils.WS_PLAINTEXT_PREFIX; -import static io.streamnative.pulsar.handlers.mqtt.utils.ConfigurationUtils.WS_SSL_PREFIX; -import static io.streamnative.pulsar.handlers.mqtt.utils.ConfigurationUtils.getListenerPort; +import static io.streamnative.pulsar.handlers.mqtt.common.utils.ConfigurationUtils.LISTENER_DEL; +import static io.streamnative.pulsar.handlers.mqtt.common.utils.ConfigurationUtils.PLAINTEXT_PREFIX; +import static io.streamnative.pulsar.handlers.mqtt.common.utils.ConfigurationUtils.PROTOCOL_NAME; +import static io.streamnative.pulsar.handlers.mqtt.common.utils.ConfigurationUtils.SSL_PREFIX; +import static io.streamnative.pulsar.handlers.mqtt.common.utils.ConfigurationUtils.SSL_PSK_PREFIX; +import static io.streamnative.pulsar.handlers.mqtt.common.utils.ConfigurationUtils.WS_PLAINTEXT_PREFIX; +import static io.streamnative.pulsar.handlers.mqtt.common.utils.ConfigurationUtils.WS_SSL_PREFIX; +import static io.streamnative.pulsar.handlers.mqtt.common.utils.ConfigurationUtils.getListenerPort; import com.google.common.collect.ImmutableMap; import io.netty.channel.ChannelInitializer; import io.netty.channel.socket.SocketChannel; import io.netty.util.concurrent.DefaultThreadFactory; +import io.streamnative.pulsar.handlers.mqtt.MopVersion; +import io.streamnative.pulsar.handlers.mqtt.broker.channel.MQTTChannelInitializer; +import io.streamnative.pulsar.handlers.mqtt.common.utils.ConfigurationUtils; import io.streamnative.pulsar.handlers.mqtt.proxy.MQTTProxyConfiguration; import io.streamnative.pulsar.handlers.mqtt.proxy.MQTTProxyService; -import io.streamnative.pulsar.handlers.mqtt.utils.ConfigurationUtils; import java.net.InetSocketAddress; import java.util.Map; import java.util.concurrent.Executors; @@ -97,7 +99,7 @@ public void start(BrokerService brokerService) { try { MQTTProxyConfiguration proxyConfig = ConfigurationUtils.create(mqttConfig.getProperties(), MQTTProxyConfiguration.class); - proxyService = new MQTTProxyService(mqttService, proxyConfig); + proxyService = new MQTTProxyService(brokerService, proxyConfig); proxyService.start(); log.info("Start MQTT proxy service at port: {}", proxyConfig.getMqttProxyPort()); } catch (Exception ex) { diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/MQTTServerConfiguration.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/broker/MQTTServerConfiguration.java similarity index 92% rename from mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/MQTTServerConfiguration.java rename to mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/broker/MQTTServerConfiguration.java index f46d3eb4f..0f6104457 100644 --- a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/MQTTServerConfiguration.java +++ b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/broker/MQTTServerConfiguration.java @@ -11,8 +11,9 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package io.streamnative.pulsar.handlers.mqtt; +package io.streamnative.pulsar.handlers.mqtt.broker; +import io.streamnative.pulsar.handlers.mqtt.common.MQTTCommonConfiguration; import lombok.Getter; import lombok.Setter; import org.apache.pulsar.common.configuration.FieldContext; diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/MQTTService.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/broker/MQTTService.java similarity index 72% rename from mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/MQTTService.java rename to mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/broker/MQTTService.java index b47ccf460..7de451c6d 100644 --- a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/MQTTService.java +++ b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/broker/MQTTService.java @@ -11,20 +11,25 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package io.streamnative.pulsar.handlers.mqtt; - -import io.streamnative.pulsar.handlers.mqtt.support.MQTTMetricsCollector; -import io.streamnative.pulsar.handlers.mqtt.support.MQTTMetricsProvider; -import io.streamnative.pulsar.handlers.mqtt.support.QosPublishHandlersImpl; -import io.streamnative.pulsar.handlers.mqtt.support.RetainedMessageHandler; -import io.streamnative.pulsar.handlers.mqtt.support.WillMessageHandler; -import io.streamnative.pulsar.handlers.mqtt.support.event.DisableEventCenter; -import io.streamnative.pulsar.handlers.mqtt.support.event.PulsarEventCenter; -import io.streamnative.pulsar.handlers.mqtt.support.event.PulsarEventCenterImpl; -import io.streamnative.pulsar.handlers.mqtt.support.psk.PSKConfiguration; -import io.streamnative.pulsar.handlers.mqtt.support.systemtopic.SystemEventService; +package io.streamnative.pulsar.handlers.mqtt.broker; + +import io.streamnative.pulsar.handlers.mqtt.broker.impl.MQTTNamespaceBundleOwnershipListener; +import io.streamnative.pulsar.handlers.mqtt.broker.impl.MQTTSubscriptionManager; +import io.streamnative.pulsar.handlers.mqtt.broker.metric.MQTTMetricsCollector; +import io.streamnative.pulsar.handlers.mqtt.broker.metric.MQTTMetricsProvider; +import io.streamnative.pulsar.handlers.mqtt.broker.mqtt5.WillMessageHandler; +import io.streamnative.pulsar.handlers.mqtt.broker.qos.QosPublishHandlers; +import io.streamnative.pulsar.handlers.mqtt.broker.qos.QosPublishHandlersImpl; +import io.streamnative.pulsar.handlers.mqtt.common.MQTTConnectionManager; +import io.streamnative.pulsar.handlers.mqtt.common.authentication.MQTTAuthenticationService; +import io.streamnative.pulsar.handlers.mqtt.common.event.DisableEventCenter; +import io.streamnative.pulsar.handlers.mqtt.common.event.PulsarEventCenter; +import io.streamnative.pulsar.handlers.mqtt.common.event.PulsarEventCenterImpl; +import io.streamnative.pulsar.handlers.mqtt.common.mqtt5.RetainedMessageHandler; +import io.streamnative.pulsar.handlers.mqtt.common.psk.PSKConfiguration; +import io.streamnative.pulsar.handlers.mqtt.common.systemtopic.DisabledSystemEventService; +import io.streamnative.pulsar.handlers.mqtt.common.systemtopic.SystemEventService; import lombok.Getter; -import lombok.Setter; import lombok.extern.slf4j.Slf4j; import org.apache.pulsar.broker.PulsarService; import org.apache.pulsar.broker.authorization.AuthorizationService; @@ -82,8 +87,7 @@ public class MQTTService { private final QosPublishHandlers qosPublishHandlers; @Getter - @Setter - private SystemEventService eventService; + private final SystemEventService eventService; public MQTTService(BrokerService brokerService, MQTTServerConfiguration serverConfiguration) { this.brokerService = brokerService; @@ -107,21 +111,15 @@ public MQTTService(BrokerService brokerService, MQTTServerConfiguration serverCo this.eventCenter = new PulsarEventCenterImpl(brokerService, serverConfiguration.getEventCenterCallbackPoolThreadNum()); } - this.retainedMessageHandler = new RetainedMessageHandler(this); + this.eventService = new DisabledSystemEventService(); + this.retainedMessageHandler = new RetainedMessageHandler(eventService); this.qosPublishHandlers = new QosPublishHandlersImpl(this); this.willMessageHandler = new WillMessageHandler(this); } - public boolean isSystemTopicEnabled() { - return eventService != null; - } - public void close() { this.connectionManager.close(); this.eventCenter.shutdown(); - if (eventService != null) { - eventService.close(); - } this.willMessageHandler.close(); } } diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/MQTTChannelInitializer.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/broker/channel/MQTTChannelInitializer.java similarity index 91% rename from mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/MQTTChannelInitializer.java rename to mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/broker/channel/MQTTChannelInitializer.java index 6500e2850..2f4d0bd0c 100644 --- a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/MQTTChannelInitializer.java +++ b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/broker/channel/MQTTChannelInitializer.java @@ -11,7 +11,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package io.streamnative.pulsar.handlers.mqtt; +package io.streamnative.pulsar.handlers.mqtt.broker.channel; import static org.apache.pulsar.client.impl.PulsarChannelInitializer.TLS_HANDLER; import io.netty.channel.ChannelInitializer; @@ -24,11 +24,14 @@ import io.netty.handler.codec.mqtt.MqttDecoder; import io.netty.handler.ssl.SslHandler; import io.netty.handler.timeout.IdleStateHandler; -import io.streamnative.pulsar.handlers.mqtt.adapter.CombineAdapterHandler; -import io.streamnative.pulsar.handlers.mqtt.adapter.MqttAdapterDecoder; -import io.streamnative.pulsar.handlers.mqtt.adapter.MqttAdapterEncoder; -import io.streamnative.pulsar.handlers.mqtt.codec.MqttWebSocketCodec; -import io.streamnative.pulsar.handlers.mqtt.support.psk.PSKUtils; +import io.streamnative.pulsar.handlers.mqtt.broker.MQTTServerConfiguration; +import io.streamnative.pulsar.handlers.mqtt.broker.MQTTService; +import io.streamnative.pulsar.handlers.mqtt.broker.codec.MqttWebSocketCodec; +import io.streamnative.pulsar.handlers.mqtt.common.Constants; +import io.streamnative.pulsar.handlers.mqtt.common.adapter.CombineAdapterHandler; +import io.streamnative.pulsar.handlers.mqtt.common.adapter.MqttAdapterDecoder; +import io.streamnative.pulsar.handlers.mqtt.common.adapter.MqttAdapterEncoder; +import io.streamnative.pulsar.handlers.mqtt.common.psk.PSKUtils; import java.util.concurrent.ScheduledExecutorService; import java.util.concurrent.TimeUnit; import lombok.extern.slf4j.Slf4j; diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/MQTTInboundHandler.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/broker/channel/MQTTInboundHandler.java similarity index 84% rename from mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/MQTTInboundHandler.java rename to mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/broker/channel/MQTTInboundHandler.java index 1392304da..28d64e5d2 100644 --- a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/MQTTInboundHandler.java +++ b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/broker/channel/MQTTInboundHandler.java @@ -11,10 +11,12 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package io.streamnative.pulsar.handlers.mqtt; +package io.streamnative.pulsar.handlers.mqtt.broker.channel; import io.netty.channel.ChannelHandler.Sharable; import io.netty.channel.ChannelHandlerContext; +import io.streamnative.pulsar.handlers.mqtt.broker.MQTTService; +import io.streamnative.pulsar.handlers.mqtt.common.MQTTCommonInboundHandler; import lombok.extern.slf4j.Slf4j; /** * MQTT in bound handler. diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/support/MQTTServerCnx.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/broker/channel/MQTTServerCnx.java similarity index 94% rename from mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/support/MQTTServerCnx.java rename to mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/broker/channel/MQTTServerCnx.java index 84f1ce794..9997a41ef 100644 --- a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/support/MQTTServerCnx.java +++ b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/broker/channel/MQTTServerCnx.java @@ -11,9 +11,10 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package io.streamnative.pulsar.handlers.mqtt.support; +package io.streamnative.pulsar.handlers.mqtt.broker.channel; import io.netty.channel.ChannelHandlerContext; +import io.streamnative.pulsar.handlers.mqtt.broker.impl.consumer.MQTTConsumer; import java.util.Optional; import java.util.concurrent.CompletableFuture; import lombok.extern.slf4j.Slf4j; diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/broker/channel/package-info.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/broker/channel/package-info.java new file mode 100644 index 000000000..d457ba753 --- /dev/null +++ b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/broker/channel/package-info.java @@ -0,0 +1,18 @@ +/** + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/** + * Package info. + */ +package io.streamnative.pulsar.handlers.mqtt.broker.channel; diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/codec/MqttWebSocketCodec.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/broker/codec/MqttWebSocketCodec.java similarity index 95% rename from mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/codec/MqttWebSocketCodec.java rename to mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/broker/codec/MqttWebSocketCodec.java index 2f19f8aea..acfd8768f 100644 --- a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/codec/MqttWebSocketCodec.java +++ b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/broker/codec/MqttWebSocketCodec.java @@ -11,7 +11,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package io.streamnative.pulsar.handlers.mqtt.codec; +package io.streamnative.pulsar.handlers.mqtt.broker.codec; import io.netty.buffer.ByteBuf; import io.netty.channel.ChannelHandlerContext; diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/adapter/package-info.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/broker/codec/package-info.java similarity index 90% rename from mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/adapter/package-info.java rename to mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/broker/codec/package-info.java index 70548fd5f..b3aef915b 100644 --- a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/adapter/package-info.java +++ b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/broker/codec/package-info.java @@ -15,4 +15,4 @@ /** * Package info. */ -package io.streamnative.pulsar.handlers.mqtt.adapter; +package io.streamnative.pulsar.handlers.mqtt.broker.codec; diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/MQTTNamespaceBundleOwnershipListener.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/broker/impl/MQTTNamespaceBundleOwnershipListener.java similarity index 97% rename from mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/MQTTNamespaceBundleOwnershipListener.java rename to mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/broker/impl/MQTTNamespaceBundleOwnershipListener.java index c00a3fba2..22a771183 100644 --- a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/MQTTNamespaceBundleOwnershipListener.java +++ b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/broker/impl/MQTTNamespaceBundleOwnershipListener.java @@ -11,7 +11,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package io.streamnative.pulsar.handlers.mqtt; +package io.streamnative.pulsar.handlers.mqtt.broker.impl; import java.util.ArrayList; import java.util.List; diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/MQTTSubscriptionManager.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/broker/impl/MQTTSubscriptionManager.java similarity index 96% rename from mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/MQTTSubscriptionManager.java rename to mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/broker/impl/MQTTSubscriptionManager.java index fe811dbf3..48ad9b937 100644 --- a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/MQTTSubscriptionManager.java +++ b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/broker/impl/MQTTSubscriptionManager.java @@ -11,9 +11,10 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package io.streamnative.pulsar.handlers.mqtt; +package io.streamnative.pulsar.handlers.mqtt.broker.impl; import io.netty.handler.codec.mqtt.MqttTopicSubscription; +import io.streamnative.pulsar.handlers.mqtt.common.TopicFilterImpl; import java.util.ArrayList; import java.util.Collection; import java.util.List; diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/MQTTTopicOwnershipListener.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/broker/impl/MQTTTopicOwnershipListener.java similarity index 94% rename from mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/MQTTTopicOwnershipListener.java rename to mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/broker/impl/MQTTTopicOwnershipListener.java index 29ff4d7cf..418423563 100644 --- a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/MQTTTopicOwnershipListener.java +++ b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/broker/impl/MQTTTopicOwnershipListener.java @@ -11,7 +11,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package io.streamnative.pulsar.handlers.mqtt; +package io.streamnative.pulsar.handlers.mqtt.broker.impl; import java.util.function.Predicate; import org.apache.pulsar.common.naming.NamespaceName; diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/PacketIdGenerator.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/broker/impl/PacketIdGenerator.java similarity index 95% rename from mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/PacketIdGenerator.java rename to mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/broker/impl/PacketIdGenerator.java index c3fa0fb81..974b6a7b7 100644 --- a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/PacketIdGenerator.java +++ b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/broker/impl/PacketIdGenerator.java @@ -11,7 +11,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package io.streamnative.pulsar.handlers.mqtt; +package io.streamnative.pulsar.handlers.mqtt.broker.impl; /** * Packed ID generator. diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/utils/PulsarMessageConverter.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/broker/impl/PulsarMessageConverter.java similarity index 96% rename from mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/utils/PulsarMessageConverter.java rename to mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/broker/impl/PulsarMessageConverter.java index 83a6b7661..6d645fd52 100644 --- a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/utils/PulsarMessageConverter.java +++ b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/broker/impl/PulsarMessageConverter.java @@ -11,11 +11,11 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package io.streamnative.pulsar.handlers.mqtt.utils; +package io.streamnative.pulsar.handlers.mqtt.broker.impl; import static com.google.common.base.Preconditions.checkArgument; -import static io.streamnative.pulsar.handlers.mqtt.Constants.MQTT_PROPERTIES; -import static io.streamnative.pulsar.handlers.mqtt.Constants.MQTT_PROPERTIES_PREFIX; +import static io.streamnative.pulsar.handlers.mqtt.common.Constants.MQTT_PROPERTIES; +import static io.streamnative.pulsar.handlers.mqtt.common.Constants.MQTT_PROPERTIES_PREFIX; import com.google.common.base.Splitter; import com.google.common.collect.Lists; import io.netty.buffer.ByteBuf; @@ -23,9 +23,8 @@ import io.netty.handler.codec.mqtt.MqttPublishMessage; import io.netty.handler.codec.mqtt.MqttQoS; import io.netty.util.concurrent.FastThreadLocal; -import io.streamnative.pulsar.handlers.mqtt.MQTTServerConfiguration; -import io.streamnative.pulsar.handlers.mqtt.PacketIdGenerator; -import io.streamnative.pulsar.handlers.mqtt.support.MessageBuilder; +import io.streamnative.pulsar.handlers.mqtt.broker.MQTTServerConfiguration; +import io.streamnative.pulsar.handlers.mqtt.common.utils.MessageBuilder; import java.io.IOException; import java.nio.ByteBuffer; import java.nio.charset.StandardCharsets; diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/TopicAliasManager.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/broker/impl/TopicAliasManager.java similarity index 98% rename from mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/TopicAliasManager.java rename to mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/broker/impl/TopicAliasManager.java index 01f970749..68d2bea81 100644 --- a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/TopicAliasManager.java +++ b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/broker/impl/TopicAliasManager.java @@ -11,7 +11,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package io.streamnative.pulsar.handlers.mqtt; +package io.streamnative.pulsar.handlers.mqtt.broker.impl; import java.util.Map; import java.util.Optional; diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/TopicSubscriptionManager.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/broker/impl/TopicSubscriptionManager.java similarity index 95% rename from mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/TopicSubscriptionManager.java rename to mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/broker/impl/TopicSubscriptionManager.java index 174675388..41096ce09 100644 --- a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/TopicSubscriptionManager.java +++ b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/broker/impl/TopicSubscriptionManager.java @@ -11,10 +11,10 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package io.streamnative.pulsar.handlers.mqtt; +package io.streamnative.pulsar.handlers.mqtt.broker.impl; import com.google.common.collect.Maps; -import io.streamnative.pulsar.handlers.mqtt.exception.MQTTNoSubscriptionExistedException; +import io.streamnative.pulsar.handlers.mqtt.common.exception.MQTTNoSubscriptionExistedException; import java.util.List; import java.util.Map; import java.util.concurrent.CompletableFuture; diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/support/MQTTConsumer.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/broker/impl/consumer/MQTTConsumer.java similarity index 91% rename from mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/support/MQTTConsumer.java rename to mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/broker/impl/consumer/MQTTConsumer.java index 4fca1af7f..0c83102d2 100644 --- a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/support/MQTTConsumer.java +++ b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/broker/impl/consumer/MQTTConsumer.java @@ -11,22 +11,22 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package io.streamnative.pulsar.handlers.mqtt.support; +package io.streamnative.pulsar.handlers.mqtt.broker.impl.consumer; -import static io.streamnative.pulsar.handlers.mqtt.utils.MqttMessageUtils.getMessageExpiryInterval; +import static io.streamnative.pulsar.handlers.mqtt.common.utils.MqttMessageUtils.getMessageExpiryInterval; import io.netty.buffer.Unpooled; import io.netty.channel.ChannelPromise; import io.netty.handler.codec.mqtt.MqttPublishMessage; import io.netty.handler.codec.mqtt.MqttQoS; import io.netty.util.concurrent.Future; -import io.streamnative.pulsar.handlers.mqtt.Connection; -import io.streamnative.pulsar.handlers.mqtt.OutstandingPacket; -import io.streamnative.pulsar.handlers.mqtt.OutstandingPacketContainer; -import io.streamnative.pulsar.handlers.mqtt.PacketIdGenerator; -import io.streamnative.pulsar.handlers.mqtt.adapter.MqttAdapterMessage; -import io.streamnative.pulsar.handlers.mqtt.restrictions.ClientRestrictions; -import io.streamnative.pulsar.handlers.mqtt.utils.PulsarMessageConverter; -import io.streamnative.pulsar.handlers.mqtt.utils.PulsarTopicUtils; +import io.streamnative.pulsar.handlers.mqtt.broker.channel.MQTTServerCnx; +import io.streamnative.pulsar.handlers.mqtt.broker.impl.PacketIdGenerator; +import io.streamnative.pulsar.handlers.mqtt.broker.impl.PulsarMessageConverter; +import io.streamnative.pulsar.handlers.mqtt.broker.metric.MQTTMetricsCollector; +import io.streamnative.pulsar.handlers.mqtt.common.Connection; +import io.streamnative.pulsar.handlers.mqtt.common.adapter.MqttAdapterMessage; +import io.streamnative.pulsar.handlers.mqtt.common.mqtt5.restrictions.ClientRestrictions; +import io.streamnative.pulsar.handlers.mqtt.common.utils.PulsarTopicUtils; import java.util.Collections; import java.util.List; import java.util.Objects; diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/utils/MessagePublishContext.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/broker/impl/consumer/MessagePublishContext.java similarity index 95% rename from mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/utils/MessagePublishContext.java rename to mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/broker/impl/consumer/MessagePublishContext.java index bd694e8f3..c588885f6 100644 --- a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/utils/MessagePublishContext.java +++ b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/broker/impl/consumer/MessagePublishContext.java @@ -11,9 +11,9 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package io.streamnative.pulsar.handlers.mqtt.utils; +package io.streamnative.pulsar.handlers.mqtt.broker.impl.consumer; -import static io.streamnative.pulsar.handlers.mqtt.utils.PulsarMessageConverter.messageToByteBuf; +import static io.streamnative.pulsar.handlers.mqtt.broker.impl.PulsarMessageConverter.messageToByteBuf; import io.netty.buffer.ByteBuf; import io.netty.util.Recycler; import io.netty.util.Recycler.Handle; diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/OutstandingPacket.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/broker/impl/consumer/OutstandingPacket.java similarity index 95% rename from mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/OutstandingPacket.java rename to mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/broker/impl/consumer/OutstandingPacket.java index 74035dbfe..25bd95772 100644 --- a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/OutstandingPacket.java +++ b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/broker/impl/consumer/OutstandingPacket.java @@ -11,9 +11,8 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package io.streamnative.pulsar.handlers.mqtt; +package io.streamnative.pulsar.handlers.mqtt.broker.impl.consumer; -import io.streamnative.pulsar.handlers.mqtt.support.MQTTConsumer; import java.util.Objects; import lombok.Getter; diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/OutstandingPacketContainer.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/broker/impl/consumer/OutstandingPacketContainer.java similarity index 93% rename from mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/OutstandingPacketContainer.java rename to mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/broker/impl/consumer/OutstandingPacketContainer.java index ee27afd43..bfafb3f30 100644 --- a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/OutstandingPacketContainer.java +++ b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/broker/impl/consumer/OutstandingPacketContainer.java @@ -11,7 +11,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package io.streamnative.pulsar.handlers.mqtt; +package io.streamnative.pulsar.handlers.mqtt.broker.impl.consumer; /** * Outstanding packet container. diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/support/OutstandingPacketContainerImpl.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/broker/impl/consumer/OutstandingPacketContainerImpl.java similarity index 86% rename from mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/support/OutstandingPacketContainerImpl.java rename to mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/broker/impl/consumer/OutstandingPacketContainerImpl.java index 032a97073..e2a4c0469 100644 --- a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/support/OutstandingPacketContainerImpl.java +++ b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/broker/impl/consumer/OutstandingPacketContainerImpl.java @@ -11,10 +11,8 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package io.streamnative.pulsar.handlers.mqtt.support; +package io.streamnative.pulsar.handlers.mqtt.broker.impl.consumer; -import io.streamnative.pulsar.handlers.mqtt.OutstandingPacket; -import io.streamnative.pulsar.handlers.mqtt.OutstandingPacketContainer; import java.util.concurrent.ConcurrentHashMap; /** diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/support/systemtopic/package-info.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/broker/impl/consumer/package-info.java similarity index 89% rename from mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/support/systemtopic/package-info.java rename to mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/broker/impl/consumer/package-info.java index 34fadfdca..8ec36725e 100644 --- a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/support/systemtopic/package-info.java +++ b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/broker/impl/consumer/package-info.java @@ -11,4 +11,4 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package io.streamnative.pulsar.handlers.mqtt.support.systemtopic; \ No newline at end of file +package io.streamnative.pulsar.handlers.mqtt.broker.impl.consumer; \ No newline at end of file diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/support/psk/package-info.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/broker/impl/package-info.java similarity index 90% rename from mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/support/psk/package-info.java rename to mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/broker/impl/package-info.java index d4b6da8c9..e426fa0ac 100644 --- a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/support/psk/package-info.java +++ b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/broker/impl/package-info.java @@ -11,4 +11,4 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package io.streamnative.pulsar.handlers.mqtt.support.psk; \ No newline at end of file +package io.streamnative.pulsar.handlers.mqtt.broker.impl; \ No newline at end of file diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/support/MQTTMetricsCollector.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/broker/metric/MQTTMetricsCollector.java similarity index 97% rename from mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/support/MQTTMetricsCollector.java rename to mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/broker/metric/MQTTMetricsCollector.java index 379e6f3a5..814bb5777 100644 --- a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/support/MQTTMetricsCollector.java +++ b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/broker/metric/MQTTMetricsCollector.java @@ -11,12 +11,12 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package io.streamnative.pulsar.handlers.mqtt.support; +package io.streamnative.pulsar.handlers.mqtt.broker.metric; import com.fasterxml.jackson.databind.ObjectMapper; import com.google.common.collect.Lists; -import io.streamnative.pulsar.handlers.mqtt.MQTTServerConfiguration; import io.streamnative.pulsar.handlers.mqtt.MopVersion; +import io.streamnative.pulsar.handlers.mqtt.broker.MQTTServerConfiguration; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -186,7 +186,7 @@ public Set getSubs() { } } - static class ClientMetricsRecord { + public static class ClientMetricsRecord { private AtomicLong activeCount = new AtomicLong(); private AtomicLong totalCount = new AtomicLong(); diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/support/MQTTMetricsProvider.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/broker/metric/MQTTMetricsProvider.java similarity index 97% rename from mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/support/MQTTMetricsProvider.java rename to mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/broker/metric/MQTTMetricsProvider.java index 3d2fbec8d..fc0f11703 100644 --- a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/support/MQTTMetricsProvider.java +++ b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/broker/metric/MQTTMetricsProvider.java @@ -11,7 +11,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package io.streamnative.pulsar.handlers.mqtt.support; +package io.streamnative.pulsar.handlers.mqtt.broker.metric; import java.util.Collection; import java.util.HashSet; diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/codec/package-info.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/broker/metric/package-info.java similarity index 90% rename from mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/codec/package-info.java rename to mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/broker/metric/package-info.java index 584d16b5b..e26b2fc58 100644 --- a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/codec/package-info.java +++ b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/broker/metric/package-info.java @@ -15,4 +15,4 @@ /** * Package info. */ -package io.streamnative.pulsar.handlers.mqtt.codec; +package io.streamnative.pulsar.handlers.mqtt.broker.metric; diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/support/WillMessageHandler.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/broker/mqtt5/WillMessageHandler.java similarity index 84% rename from mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/support/WillMessageHandler.java rename to mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/broker/mqtt5/WillMessageHandler.java index c40470bf3..dd50faeb4 100644 --- a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/support/WillMessageHandler.java +++ b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/broker/mqtt5/WillMessageHandler.java @@ -11,19 +11,20 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package io.streamnative.pulsar.handlers.mqtt.support; +package io.streamnative.pulsar.handlers.mqtt.broker.mqtt5; -import static io.streamnative.pulsar.handlers.mqtt.utils.MqttMessageUtils.createMqttWillMessage; +import static io.streamnative.pulsar.handlers.mqtt.common.utils.MqttMessageUtils.createMqttWillMessage; import io.netty.handler.codec.mqtt.MqttPublishMessage; import io.netty.handler.codec.mqtt.MqttQoS; import io.netty.util.concurrent.DefaultThreadFactory; -import io.streamnative.pulsar.handlers.mqtt.Connection; -import io.streamnative.pulsar.handlers.mqtt.MQTTConnectionManager; -import io.streamnative.pulsar.handlers.mqtt.MQTTService; -import io.streamnative.pulsar.handlers.mqtt.MQTTSubscriptionManager; -import io.streamnative.pulsar.handlers.mqtt.QosPublishHandlers; -import io.streamnative.pulsar.handlers.mqtt.adapter.MqttAdapterMessage; -import io.streamnative.pulsar.handlers.mqtt.utils.WillMessage; +import io.streamnative.pulsar.handlers.mqtt.broker.MQTTService; +import io.streamnative.pulsar.handlers.mqtt.broker.impl.MQTTSubscriptionManager; +import io.streamnative.pulsar.handlers.mqtt.broker.metric.MQTTMetricsCollector; +import io.streamnative.pulsar.handlers.mqtt.broker.qos.QosPublishHandlers; +import io.streamnative.pulsar.handlers.mqtt.common.Connection; +import io.streamnative.pulsar.handlers.mqtt.common.MQTTConnectionManager; +import io.streamnative.pulsar.handlers.mqtt.common.adapter.MqttAdapterMessage; +import io.streamnative.pulsar.handlers.mqtt.common.utils.WillMessage; import java.util.concurrent.CompletableFuture; import java.util.concurrent.Executor; import java.util.concurrent.Executors; diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/authentication/package-info.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/broker/mqtt5/package-info.java similarity index 90% rename from mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/authentication/package-info.java rename to mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/broker/mqtt5/package-info.java index b16c3fc3f..766044c31 100644 --- a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/authentication/package-info.java +++ b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/broker/mqtt5/package-info.java @@ -11,4 +11,4 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package io.streamnative.pulsar.handlers.mqtt.authentication; \ No newline at end of file +package io.streamnative.pulsar.handlers.mqtt.broker.mqtt5; \ No newline at end of file diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/utils/package-info.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/broker/package-info.java similarity index 91% rename from mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/utils/package-info.java rename to mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/broker/package-info.java index 8f5801428..5b8829a27 100644 --- a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/utils/package-info.java +++ b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/broker/package-info.java @@ -11,4 +11,4 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package io.streamnative.pulsar.handlers.mqtt.utils; \ No newline at end of file +package io.streamnative.pulsar.handlers.mqtt.broker; \ No newline at end of file diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/support/MQTTBrokerProtocolMethodProcessor.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/broker/processor/MQTTBrokerProtocolMethodProcessor.java similarity index 88% rename from mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/support/MQTTBrokerProtocolMethodProcessor.java rename to mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/broker/processor/MQTTBrokerProtocolMethodProcessor.java index 90efa6932..630254d13 100644 --- a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/support/MQTTBrokerProtocolMethodProcessor.java +++ b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/broker/processor/MQTTBrokerProtocolMethodProcessor.java @@ -11,13 +11,13 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package io.streamnative.pulsar.handlers.mqtt.support; +package io.streamnative.pulsar.handlers.mqtt.broker.processor; -import static io.streamnative.pulsar.handlers.mqtt.utils.MqttMessageUtils.createWillMessage; -import static io.streamnative.pulsar.handlers.mqtt.utils.MqttMessageUtils.getAuthenticationRole; -import static io.streamnative.pulsar.handlers.mqtt.utils.MqttMessageUtils.getPacketId; -import static io.streamnative.pulsar.handlers.mqtt.utils.MqttMessageUtils.pingResp; -import static io.streamnative.pulsar.handlers.mqtt.utils.MqttMessageUtils.topicSubscriptions; +import static io.streamnative.pulsar.handlers.mqtt.common.utils.MqttMessageUtils.createWillMessage; +import static io.streamnative.pulsar.handlers.mqtt.common.utils.MqttMessageUtils.getAuthenticationRole; +import static io.streamnative.pulsar.handlers.mqtt.common.utils.MqttMessageUtils.getPacketId; +import static io.streamnative.pulsar.handlers.mqtt.common.utils.MqttMessageUtils.pingResp; +import static io.streamnative.pulsar.handlers.mqtt.common.utils.MqttMessageUtils.topicSubscriptions; import io.netty.channel.ChannelHandlerContext; import io.netty.handler.codec.mqtt.MqttConnectMessage; import io.netty.handler.codec.mqtt.MqttMessage; @@ -27,38 +27,45 @@ import io.netty.handler.codec.mqtt.MqttSubscribeMessage; import io.netty.handler.codec.mqtt.MqttTopicSubscription; import io.netty.handler.codec.mqtt.MqttUnsubscribeMessage; -import io.streamnative.pulsar.handlers.mqtt.Connection; -import io.streamnative.pulsar.handlers.mqtt.MQTTConnectionManager; -import io.streamnative.pulsar.handlers.mqtt.MQTTServerConfiguration; -import io.streamnative.pulsar.handlers.mqtt.MQTTService; -import io.streamnative.pulsar.handlers.mqtt.MQTTSubscriptionManager; -import io.streamnative.pulsar.handlers.mqtt.OutstandingPacket; -import io.streamnative.pulsar.handlers.mqtt.OutstandingPacketContainer; -import io.streamnative.pulsar.handlers.mqtt.PacketIdGenerator; -import io.streamnative.pulsar.handlers.mqtt.QosPublishHandlers; -import io.streamnative.pulsar.handlers.mqtt.TopicFilter; -import io.streamnative.pulsar.handlers.mqtt.adapter.MqttAdapterMessage; -import io.streamnative.pulsar.handlers.mqtt.exception.MQTTNoSubscriptionExistedException; -import io.streamnative.pulsar.handlers.mqtt.exception.MQTTTopicNotExistedException; -import io.streamnative.pulsar.handlers.mqtt.exception.restrictions.InvalidSessionExpireIntervalException; -import io.streamnative.pulsar.handlers.mqtt.messages.MqttPropertyUtils; -import io.streamnative.pulsar.handlers.mqtt.messages.ack.MqttAck; -import io.streamnative.pulsar.handlers.mqtt.messages.ack.MqttDisconnectAck; -import io.streamnative.pulsar.handlers.mqtt.messages.ack.MqttPubAck; -import io.streamnative.pulsar.handlers.mqtt.messages.ack.MqttSubAck; -import io.streamnative.pulsar.handlers.mqtt.messages.ack.MqttUnsubAck; -import io.streamnative.pulsar.handlers.mqtt.messages.codes.mqtt5.Mqtt5DisConnReasonCode; -import io.streamnative.pulsar.handlers.mqtt.messages.codes.mqtt5.Mqtt5PubReasonCode; -import io.streamnative.pulsar.handlers.mqtt.messages.codes.mqtt5.Mqtt5UnsubReasonCode; -import io.streamnative.pulsar.handlers.mqtt.messages.properties.PulsarProperties; -import io.streamnative.pulsar.handlers.mqtt.restrictions.ClientRestrictions; -import io.streamnative.pulsar.handlers.mqtt.restrictions.ServerRestrictions; -import io.streamnative.pulsar.handlers.mqtt.support.event.AutoSubscribeHandler; -import io.streamnative.pulsar.handlers.mqtt.utils.MqttMessageUtils; -import io.streamnative.pulsar.handlers.mqtt.utils.MqttUtils; -import io.streamnative.pulsar.handlers.mqtt.utils.NettyUtils; -import io.streamnative.pulsar.handlers.mqtt.utils.PulsarTopicUtils; -import io.streamnative.pulsar.handlers.mqtt.utils.WillMessage; +import io.streamnative.pulsar.handlers.mqtt.broker.MQTTServerConfiguration; +import io.streamnative.pulsar.handlers.mqtt.broker.MQTTService; +import io.streamnative.pulsar.handlers.mqtt.broker.channel.MQTTServerCnx; +import io.streamnative.pulsar.handlers.mqtt.broker.impl.MQTTSubscriptionManager; +import io.streamnative.pulsar.handlers.mqtt.broker.impl.PacketIdGenerator; +import io.streamnative.pulsar.handlers.mqtt.broker.impl.consumer.MQTTConsumer; +import io.streamnative.pulsar.handlers.mqtt.broker.impl.consumer.OutstandingPacket; +import io.streamnative.pulsar.handlers.mqtt.broker.impl.consumer.OutstandingPacketContainer; +import io.streamnative.pulsar.handlers.mqtt.broker.impl.consumer.OutstandingPacketContainerImpl; +import io.streamnative.pulsar.handlers.mqtt.broker.metric.MQTTMetricsCollector; +import io.streamnative.pulsar.handlers.mqtt.broker.mqtt5.WillMessageHandler; +import io.streamnative.pulsar.handlers.mqtt.broker.qos.QosPublishHandlers; +import io.streamnative.pulsar.handlers.mqtt.common.AbstractCommonProtocolMethodProcessor; +import io.streamnative.pulsar.handlers.mqtt.common.Connection; +import io.streamnative.pulsar.handlers.mqtt.common.MQTTConnectionManager; +import io.streamnative.pulsar.handlers.mqtt.common.TopicFilter; +import io.streamnative.pulsar.handlers.mqtt.common.adapter.MqttAdapterMessage; +import io.streamnative.pulsar.handlers.mqtt.common.event.AutoSubscribeHandler; +import io.streamnative.pulsar.handlers.mqtt.common.exception.MQTTNoSubscriptionExistedException; +import io.streamnative.pulsar.handlers.mqtt.common.exception.MQTTTopicNotExistedException; +import io.streamnative.pulsar.handlers.mqtt.common.exception.restrictions.InvalidSessionExpireIntervalException; +import io.streamnative.pulsar.handlers.mqtt.common.messages.MqttPropertyUtils; +import io.streamnative.pulsar.handlers.mqtt.common.messages.ack.MqttAck; +import io.streamnative.pulsar.handlers.mqtt.common.messages.ack.MqttDisconnectAck; +import io.streamnative.pulsar.handlers.mqtt.common.messages.ack.MqttPubAck; +import io.streamnative.pulsar.handlers.mqtt.common.messages.ack.MqttSubAck; +import io.streamnative.pulsar.handlers.mqtt.common.messages.ack.MqttUnsubAck; +import io.streamnative.pulsar.handlers.mqtt.common.messages.codes.mqtt5.Mqtt5DisConnReasonCode; +import io.streamnative.pulsar.handlers.mqtt.common.messages.codes.mqtt5.Mqtt5PubReasonCode; +import io.streamnative.pulsar.handlers.mqtt.common.messages.codes.mqtt5.Mqtt5UnsubReasonCode; +import io.streamnative.pulsar.handlers.mqtt.common.messages.properties.PulsarProperties; +import io.streamnative.pulsar.handlers.mqtt.common.mqtt5.RetainedMessageHandler; +import io.streamnative.pulsar.handlers.mqtt.common.mqtt5.restrictions.ClientRestrictions; +import io.streamnative.pulsar.handlers.mqtt.common.mqtt5.restrictions.ServerRestrictions; +import io.streamnative.pulsar.handlers.mqtt.common.utils.MqttMessageUtils; +import io.streamnative.pulsar.handlers.mqtt.common.utils.MqttUtils; +import io.streamnative.pulsar.handlers.mqtt.common.utils.NettyUtils; +import io.streamnative.pulsar.handlers.mqtt.common.utils.PulsarTopicUtils; +import io.streamnative.pulsar.handlers.mqtt.common.utils.WillMessage; import java.util.ArrayList; import java.util.Collections; import java.util.List; diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/ProtocolMethodProcessor.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/broker/processor/ProtocolMethodProcessor.java similarity index 90% rename from mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/ProtocolMethodProcessor.java rename to mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/broker/processor/ProtocolMethodProcessor.java index de0e7f49a..d1f6938e7 100644 --- a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/ProtocolMethodProcessor.java +++ b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/broker/processor/ProtocolMethodProcessor.java @@ -11,9 +11,9 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package io.streamnative.pulsar.handlers.mqtt; +package io.streamnative.pulsar.handlers.mqtt.broker.processor; -import io.streamnative.pulsar.handlers.mqtt.adapter.MqttAdapterMessage; +import io.streamnative.pulsar.handlers.mqtt.common.adapter.MqttAdapterMessage; /** * Interface for MQTT protocol method processor. diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/broker/processor/package-info.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/broker/processor/package-info.java new file mode 100644 index 000000000..27483b48a --- /dev/null +++ b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/broker/processor/package-info.java @@ -0,0 +1,18 @@ +/** + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/** + * Package info. + */ +package io.streamnative.pulsar.handlers.mqtt.broker.processor; diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/AbstractQosPublishHandler.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/broker/qos/AbstractQosPublishHandler.java similarity index 83% rename from mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/AbstractQosPublishHandler.java rename to mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/broker/qos/AbstractQosPublishHandler.java index eadaf4469..265553ccc 100644 --- a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/AbstractQosPublishHandler.java +++ b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/broker/qos/AbstractQosPublishHandler.java @@ -11,18 +11,22 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package io.streamnative.pulsar.handlers.mqtt; +package io.streamnative.pulsar.handlers.mqtt.broker.qos; -import static io.streamnative.pulsar.handlers.mqtt.utils.PulsarMessageConverter.toPulsarMsg; +import static io.streamnative.pulsar.handlers.mqtt.broker.impl.PulsarMessageConverter.toPulsarMsg; import io.netty.handler.codec.mqtt.MqttProperties; import io.netty.handler.codec.mqtt.MqttPublishMessage; -import io.streamnative.pulsar.handlers.mqtt.exception.MQTTNoMatchingSubscriberException; -import io.streamnative.pulsar.handlers.mqtt.exception.MQTTTopicAliasExceedsLimitException; -import io.streamnative.pulsar.handlers.mqtt.exception.MQTTTopicAliasNotFoundException; -import io.streamnative.pulsar.handlers.mqtt.messages.MqttPropertyUtils; -import io.streamnative.pulsar.handlers.mqtt.support.RetainedMessageHandler; -import io.streamnative.pulsar.handlers.mqtt.utils.MessagePublishContext; -import io.streamnative.pulsar.handlers.mqtt.utils.PulsarTopicUtils; +import io.streamnative.pulsar.handlers.mqtt.broker.MQTTServerConfiguration; +import io.streamnative.pulsar.handlers.mqtt.broker.MQTTService; +import io.streamnative.pulsar.handlers.mqtt.broker.impl.TopicAliasManager; +import io.streamnative.pulsar.handlers.mqtt.broker.impl.consumer.MessagePublishContext; +import io.streamnative.pulsar.handlers.mqtt.common.Connection; +import io.streamnative.pulsar.handlers.mqtt.common.exception.MQTTNoMatchingSubscriberException; +import io.streamnative.pulsar.handlers.mqtt.common.exception.MQTTTopicAliasExceedsLimitException; +import io.streamnative.pulsar.handlers.mqtt.common.exception.MQTTTopicAliasNotFoundException; +import io.streamnative.pulsar.handlers.mqtt.common.messages.MqttPropertyUtils; +import io.streamnative.pulsar.handlers.mqtt.common.mqtt5.RetainedMessageHandler; +import io.streamnative.pulsar.handlers.mqtt.common.utils.PulsarTopicUtils; import java.util.Optional; import java.util.concurrent.CompletableFuture; import org.apache.bookkeeper.mledger.Position; diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/support/Qos0PublishHandler.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/broker/qos/Qos0PublishHandler.java similarity index 79% rename from mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/support/Qos0PublishHandler.java rename to mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/broker/qos/Qos0PublishHandler.java index f42b3b0f2..731cf0e71 100644 --- a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/support/Qos0PublishHandler.java +++ b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/broker/qos/Qos0PublishHandler.java @@ -11,14 +11,13 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package io.streamnative.pulsar.handlers.mqtt.support; +package io.streamnative.pulsar.handlers.mqtt.broker.qos; import io.netty.handler.codec.mqtt.MqttPublishMessage; -import io.streamnative.pulsar.handlers.mqtt.AbstractQosPublishHandler; -import io.streamnative.pulsar.handlers.mqtt.Connection; -import io.streamnative.pulsar.handlers.mqtt.MQTTService; -import io.streamnative.pulsar.handlers.mqtt.adapter.MqttAdapterMessage; -import io.streamnative.pulsar.handlers.mqtt.utils.MqttUtils; +import io.streamnative.pulsar.handlers.mqtt.broker.MQTTService; +import io.streamnative.pulsar.handlers.mqtt.common.Connection; +import io.streamnative.pulsar.handlers.mqtt.common.adapter.MqttAdapterMessage; +import io.streamnative.pulsar.handlers.mqtt.common.utils.MqttUtils; import java.util.concurrent.CompletableFuture; import lombok.extern.slf4j.Slf4j; /** diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/support/Qos1PublishHandler.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/broker/qos/Qos1PublishHandler.java similarity index 90% rename from mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/support/Qos1PublishHandler.java rename to mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/broker/qos/Qos1PublishHandler.java index fb6938f0d..f21278a41 100644 --- a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/support/Qos1PublishHandler.java +++ b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/broker/qos/Qos1PublishHandler.java @@ -11,21 +11,20 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package io.streamnative.pulsar.handlers.mqtt.support; +package io.streamnative.pulsar.handlers.mqtt.broker.qos; import io.netty.handler.codec.mqtt.MqttProperties; import io.netty.handler.codec.mqtt.MqttPublishMessage; -import io.streamnative.pulsar.handlers.mqtt.AbstractQosPublishHandler; -import io.streamnative.pulsar.handlers.mqtt.Connection; -import io.streamnative.pulsar.handlers.mqtt.MQTTService; -import io.streamnative.pulsar.handlers.mqtt.adapter.MqttAdapterMessage; -import io.streamnative.pulsar.handlers.mqtt.exception.MQTTNoMatchingSubscriberException; -import io.streamnative.pulsar.handlers.mqtt.exception.MQTTTopicAliasExceedsLimitException; -import io.streamnative.pulsar.handlers.mqtt.exception.MQTTTopicAliasNotFoundException; -import io.streamnative.pulsar.handlers.mqtt.messages.ack.MqttAck; -import io.streamnative.pulsar.handlers.mqtt.messages.ack.MqttPubAck; -import io.streamnative.pulsar.handlers.mqtt.messages.codes.mqtt5.Mqtt5PubReasonCode; -import io.streamnative.pulsar.handlers.mqtt.utils.MqttUtils; +import io.streamnative.pulsar.handlers.mqtt.broker.MQTTService; +import io.streamnative.pulsar.handlers.mqtt.common.Connection; +import io.streamnative.pulsar.handlers.mqtt.common.adapter.MqttAdapterMessage; +import io.streamnative.pulsar.handlers.mqtt.common.exception.MQTTNoMatchingSubscriberException; +import io.streamnative.pulsar.handlers.mqtt.common.exception.MQTTTopicAliasExceedsLimitException; +import io.streamnative.pulsar.handlers.mqtt.common.exception.MQTTTopicAliasNotFoundException; +import io.streamnative.pulsar.handlers.mqtt.common.messages.ack.MqttAck; +import io.streamnative.pulsar.handlers.mqtt.common.messages.ack.MqttPubAck; +import io.streamnative.pulsar.handlers.mqtt.common.messages.codes.mqtt5.Mqtt5PubReasonCode; +import io.streamnative.pulsar.handlers.mqtt.common.utils.MqttUtils; import java.util.concurrent.CompletableFuture; import lombok.extern.slf4j.Slf4j; import org.apache.pulsar.broker.service.BrokerServiceException; diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/support/Qos2PublishHandler.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/broker/qos/Qos2PublishHandler.java similarity index 81% rename from mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/support/Qos2PublishHandler.java rename to mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/broker/qos/Qos2PublishHandler.java index 77c52b1b9..6ea8f25a5 100644 --- a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/support/Qos2PublishHandler.java +++ b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/broker/qos/Qos2PublishHandler.java @@ -11,13 +11,12 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package io.streamnative.pulsar.handlers.mqtt.support; +package io.streamnative.pulsar.handlers.mqtt.broker.qos; import io.netty.handler.codec.mqtt.MqttPublishMessage; -import io.streamnative.pulsar.handlers.mqtt.AbstractQosPublishHandler; -import io.streamnative.pulsar.handlers.mqtt.Connection; -import io.streamnative.pulsar.handlers.mqtt.MQTTService; -import io.streamnative.pulsar.handlers.mqtt.adapter.MqttAdapterMessage; +import io.streamnative.pulsar.handlers.mqtt.broker.MQTTService; +import io.streamnative.pulsar.handlers.mqtt.common.Connection; +import io.streamnative.pulsar.handlers.mqtt.common.adapter.MqttAdapterMessage; import java.util.concurrent.CompletableFuture; import lombok.extern.slf4j.Slf4j; diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/QosPublishHandler.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/broker/qos/QosPublishHandler.java similarity index 79% rename from mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/QosPublishHandler.java rename to mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/broker/qos/QosPublishHandler.java index 38d41d37e..1007269d3 100644 --- a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/QosPublishHandler.java +++ b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/broker/qos/QosPublishHandler.java @@ -11,9 +11,10 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package io.streamnative.pulsar.handlers.mqtt; +package io.streamnative.pulsar.handlers.mqtt.broker.qos; -import io.streamnative.pulsar.handlers.mqtt.adapter.MqttAdapterMessage; +import io.streamnative.pulsar.handlers.mqtt.common.Connection; +import io.streamnative.pulsar.handlers.mqtt.common.adapter.MqttAdapterMessage; import java.util.concurrent.CompletableFuture; /** diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/QosPublishHandlers.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/broker/qos/QosPublishHandlers.java similarity index 92% rename from mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/QosPublishHandlers.java rename to mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/broker/qos/QosPublishHandlers.java index 270d2112e..48abab393 100644 --- a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/QosPublishHandlers.java +++ b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/broker/qos/QosPublishHandlers.java @@ -11,7 +11,8 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package io.streamnative.pulsar.handlers.mqtt; +package io.streamnative.pulsar.handlers.mqtt.broker.qos; + /** * Qos publish handlers for different Qos message publish. diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/support/QosPublishHandlersImpl.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/broker/qos/QosPublishHandlersImpl.java similarity index 85% rename from mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/support/QosPublishHandlersImpl.java rename to mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/broker/qos/QosPublishHandlersImpl.java index a31b87fca..99c1bde2e 100644 --- a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/support/QosPublishHandlersImpl.java +++ b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/broker/qos/QosPublishHandlersImpl.java @@ -11,11 +11,9 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package io.streamnative.pulsar.handlers.mqtt.support; +package io.streamnative.pulsar.handlers.mqtt.broker.qos; -import io.streamnative.pulsar.handlers.mqtt.MQTTService; -import io.streamnative.pulsar.handlers.mqtt.QosPublishHandler; -import io.streamnative.pulsar.handlers.mqtt.QosPublishHandlers; +import io.streamnative.pulsar.handlers.mqtt.broker.MQTTService; /** * Default implementation of QosPublishHandlers. diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/broker/qos/package-info.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/broker/qos/package-info.java new file mode 100644 index 000000000..d9e304abc --- /dev/null +++ b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/broker/qos/package-info.java @@ -0,0 +1,14 @@ +/** + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.streamnative.pulsar.handlers.mqtt.broker.qos; \ No newline at end of file diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/MQTTAdditionalServlet.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/broker/rest/MQTTAdditionalServlet.java similarity index 96% rename from mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/MQTTAdditionalServlet.java rename to mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/broker/rest/MQTTAdditionalServlet.java index ad95b9f7d..dd37d580d 100644 --- a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/MQTTAdditionalServlet.java +++ b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/broker/rest/MQTTAdditionalServlet.java @@ -11,7 +11,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package io.streamnative.pulsar.handlers.mqtt; +package io.streamnative.pulsar.handlers.mqtt.broker.rest; import org.apache.pulsar.broker.PulsarService; import org.apache.pulsar.broker.web.plugin.servlet.AdditionalServletWithPulsarService; diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/MQTTServiceServlet.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/broker/rest/MQTTServiceServlet.java similarity index 98% rename from mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/MQTTServiceServlet.java rename to mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/broker/rest/MQTTServiceServlet.java index 138a12713..6f201ac17 100644 --- a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/MQTTServiceServlet.java +++ b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/broker/rest/MQTTServiceServlet.java @@ -11,10 +11,10 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package io.streamnative.pulsar.handlers.mqtt; +package io.streamnative.pulsar.handlers.mqtt.broker.rest; import com.google.common.base.Splitter; -import io.streamnative.pulsar.handlers.mqtt.support.systemtopic.PSKEvent; +import io.streamnative.pulsar.handlers.mqtt.common.systemtopic.PSKEvent; import java.io.BufferedReader; import java.io.IOException; import java.lang.reflect.InvocationTargetException; diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/exception/package-info.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/broker/rest/package-info.java similarity index 91% rename from mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/exception/package-info.java rename to mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/broker/rest/package-info.java index bac7c4215..6ac7f8452 100644 --- a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/exception/package-info.java +++ b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/broker/rest/package-info.java @@ -15,4 +15,4 @@ /** * Package info. */ -package io.streamnative.pulsar.handlers.mqtt.exception; +package io.streamnative.pulsar.handlers.mqtt.broker.rest; diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/support/AbstractCommonProtocolMethodProcessor.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/AbstractCommonProtocolMethodProcessor.java similarity index 90% rename from mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/support/AbstractCommonProtocolMethodProcessor.java rename to mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/AbstractCommonProtocolMethodProcessor.java index 57f25a99f..69e429c5a 100644 --- a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/support/AbstractCommonProtocolMethodProcessor.java +++ b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/AbstractCommonProtocolMethodProcessor.java @@ -11,7 +11,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package io.streamnative.pulsar.handlers.mqtt.support; +package io.streamnative.pulsar.handlers.mqtt.common; import io.netty.channel.Channel; import io.netty.channel.ChannelHandlerContext; @@ -22,19 +22,18 @@ import io.netty.handler.codec.mqtt.MqttProperties; import io.netty.handler.codec.mqtt.MqttReasonCodeAndPropertiesVariableHeader; import io.netty.handler.ssl.SslHandler; -import io.streamnative.pulsar.handlers.mqtt.Connection; -import io.streamnative.pulsar.handlers.mqtt.MQTTAuthenticationService; -import io.streamnative.pulsar.handlers.mqtt.ProtocolMethodProcessor; -import io.streamnative.pulsar.handlers.mqtt.adapter.MqttAdapterMessage; -import io.streamnative.pulsar.handlers.mqtt.exception.MQTTAuthException; -import io.streamnative.pulsar.handlers.mqtt.exception.restrictions.InvalidReceiveMaximumException; -import io.streamnative.pulsar.handlers.mqtt.messages.MqttPropertyUtils; -import io.streamnative.pulsar.handlers.mqtt.messages.ack.MqttConnectAck; -import io.streamnative.pulsar.handlers.mqtt.messages.codes.mqtt5.Mqtt5DisConnReasonCode; -import io.streamnative.pulsar.handlers.mqtt.restrictions.ClientRestrictions; -import io.streamnative.pulsar.handlers.mqtt.utils.MqttMessageUtils; -import io.streamnative.pulsar.handlers.mqtt.utils.MqttUtils; -import io.streamnative.pulsar.handlers.mqtt.utils.NettyUtils; +import io.streamnative.pulsar.handlers.mqtt.broker.processor.ProtocolMethodProcessor; +import io.streamnative.pulsar.handlers.mqtt.common.adapter.MqttAdapterMessage; +import io.streamnative.pulsar.handlers.mqtt.common.authentication.MQTTAuthenticationService; +import io.streamnative.pulsar.handlers.mqtt.common.exception.MQTTAuthException; +import io.streamnative.pulsar.handlers.mqtt.common.exception.restrictions.InvalidReceiveMaximumException; +import io.streamnative.pulsar.handlers.mqtt.common.messages.MqttPropertyUtils; +import io.streamnative.pulsar.handlers.mqtt.common.messages.ack.MqttConnectAck; +import io.streamnative.pulsar.handlers.mqtt.common.messages.codes.mqtt5.Mqtt5DisConnReasonCode; +import io.streamnative.pulsar.handlers.mqtt.common.mqtt5.restrictions.ClientRestrictions; +import io.streamnative.pulsar.handlers.mqtt.common.utils.MqttMessageUtils; +import io.streamnative.pulsar.handlers.mqtt.common.utils.MqttUtils; +import io.streamnative.pulsar.handlers.mqtt.common.utils.NettyUtils; import javax.net.ssl.SSLSession; import lombok.Getter; import lombok.extern.slf4j.Slf4j; diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/Connection.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/Connection.java similarity index 89% rename from mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/Connection.java rename to mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/Connection.java index 4c30d1062..fdc0a73bf 100644 --- a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/Connection.java +++ b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/Connection.java @@ -11,13 +11,13 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package io.streamnative.pulsar.handlers.mqtt; +package io.streamnative.pulsar.handlers.mqtt.common; -import static io.streamnative.pulsar.handlers.mqtt.Connection.ConnectionState.CONNECT_ACK; -import static io.streamnative.pulsar.handlers.mqtt.Connection.ConnectionState.DISCONNECTED; -import static io.streamnative.pulsar.handlers.mqtt.Connection.ConnectionState.ESTABLISHED; -import static io.streamnative.pulsar.handlers.mqtt.utils.MqttMessageUtils.getAuthMethod; -import static io.streamnative.pulsar.handlers.mqtt.utils.NettyUtils.ATTR_KEY_CONNECTION; +import static io.streamnative.pulsar.handlers.mqtt.common.Connection.ConnectionState.CONNECT_ACK; +import static io.streamnative.pulsar.handlers.mqtt.common.Connection.ConnectionState.DISCONNECTED; +import static io.streamnative.pulsar.handlers.mqtt.common.Connection.ConnectionState.ESTABLISHED; +import static io.streamnative.pulsar.handlers.mqtt.common.utils.MqttMessageUtils.getAuthMethod; +import static io.streamnative.pulsar.handlers.mqtt.common.utils.NettyUtils.ATTR_KEY_CONNECTION; import static java.util.concurrent.atomic.AtomicReferenceFieldUpdater.newUpdater; import io.netty.channel.Channel; import io.netty.channel.ChannelException; @@ -28,17 +28,20 @@ import io.netty.handler.codec.mqtt.MqttProperties; import io.netty.handler.codec.mqtt.MqttQoS; import io.netty.handler.timeout.IdleStateHandler; -import io.streamnative.pulsar.handlers.mqtt.adapter.MqttAdapterMessage; -import io.streamnative.pulsar.handlers.mqtt.exception.restrictions.InvalidSessionExpireIntervalException; -import io.streamnative.pulsar.handlers.mqtt.messages.ack.MqttAck; -import io.streamnative.pulsar.handlers.mqtt.messages.ack.MqttConnectAck; -import io.streamnative.pulsar.handlers.mqtt.messages.codes.mqtt5.Mqtt5DisConnReasonCode; -import io.streamnative.pulsar.handlers.mqtt.restrictions.ClientRestrictions; -import io.streamnative.pulsar.handlers.mqtt.restrictions.ServerRestrictions; -import io.streamnative.pulsar.handlers.mqtt.utils.FutureUtils; -import io.streamnative.pulsar.handlers.mqtt.utils.MqttMessageUtils; -import io.streamnative.pulsar.handlers.mqtt.utils.MqttUtils; -import io.streamnative.pulsar.handlers.mqtt.utils.WillMessage; +import io.streamnative.pulsar.handlers.mqtt.broker.impl.TopicAliasManager; +import io.streamnative.pulsar.handlers.mqtt.broker.impl.TopicSubscriptionManager; +import io.streamnative.pulsar.handlers.mqtt.broker.processor.ProtocolMethodProcessor; +import io.streamnative.pulsar.handlers.mqtt.common.adapter.MqttAdapterMessage; +import io.streamnative.pulsar.handlers.mqtt.common.exception.restrictions.InvalidSessionExpireIntervalException; +import io.streamnative.pulsar.handlers.mqtt.common.messages.ack.MqttAck; +import io.streamnative.pulsar.handlers.mqtt.common.messages.ack.MqttConnectAck; +import io.streamnative.pulsar.handlers.mqtt.common.messages.codes.mqtt5.Mqtt5DisConnReasonCode; +import io.streamnative.pulsar.handlers.mqtt.common.mqtt5.restrictions.ClientRestrictions; +import io.streamnative.pulsar.handlers.mqtt.common.mqtt5.restrictions.ServerRestrictions; +import io.streamnative.pulsar.handlers.mqtt.common.utils.FutureUtils; +import io.streamnative.pulsar.handlers.mqtt.common.utils.MqttMessageUtils; +import io.streamnative.pulsar.handlers.mqtt.common.utils.MqttUtils; +import io.streamnative.pulsar.handlers.mqtt.common.utils.WillMessage; import java.util.Objects; import java.util.concurrent.CompletableFuture; import java.util.concurrent.atomic.AtomicIntegerFieldUpdater; diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/Constants.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/Constants.java similarity index 97% rename from mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/Constants.java rename to mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/Constants.java index c5da59cf8..c3a62a1af 100644 --- a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/Constants.java +++ b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/Constants.java @@ -11,7 +11,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package io.streamnative.pulsar.handlers.mqtt; +package io.streamnative.pulsar.handlers.mqtt.common; /** * Server constants keeper. diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/MQTTCommonConfiguration.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/MQTTCommonConfiguration.java similarity index 98% rename from mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/MQTTCommonConfiguration.java rename to mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/MQTTCommonConfiguration.java index a1a0c7f08..d96bf6c14 100644 --- a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/MQTTCommonConfiguration.java +++ b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/MQTTCommonConfiguration.java @@ -11,7 +11,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package io.streamnative.pulsar.handlers.mqtt; +package io.streamnative.pulsar.handlers.mqtt.common; import com.google.common.collect.ImmutableList; import com.google.common.collect.Sets; @@ -370,6 +370,12 @@ public class MQTTCommonConfiguration extends ServiceConfiguration { ) private String webSocketPath = "/mqtt"; + @FieldContext( + category = CATEGORY_MQTT_PROXY, + doc = "Enable system event service." + ) + private boolean systemEventEnabled = true; + public long getMqttTlsCertRefreshCheckDurationSec() { if (mqttTlsCertRefreshCheckDurationSec != 300) { return mqttTlsCertRefreshCheckDurationSec; diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/MQTTCommonInboundHandler.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/MQTTCommonInboundHandler.java similarity index 92% rename from mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/MQTTCommonInboundHandler.java rename to mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/MQTTCommonInboundHandler.java index 6192b35d4..87205ccb4 100644 --- a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/MQTTCommonInboundHandler.java +++ b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/MQTTCommonInboundHandler.java @@ -11,10 +11,10 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package io.streamnative.pulsar.handlers.mqtt; +package io.streamnative.pulsar.handlers.mqtt.common; import static com.google.common.base.Preconditions.checkArgument; -import static io.streamnative.pulsar.handlers.mqtt.utils.MqttMessageUtils.checkState; +import static io.streamnative.pulsar.handlers.mqtt.common.utils.MqttMessageUtils.checkState; import io.netty.channel.ChannelHandler.Sharable; import io.netty.channel.ChannelHandlerContext; import io.netty.channel.ChannelInboundHandlerAdapter; @@ -23,9 +23,11 @@ import io.netty.handler.timeout.IdleState; import io.netty.handler.timeout.IdleStateEvent; import io.netty.util.ReferenceCountUtil; -import io.streamnative.pulsar.handlers.mqtt.adapter.MqttAdapterMessage; -import io.streamnative.pulsar.handlers.mqtt.support.MQTTBrokerProtocolMethodProcessor; -import io.streamnative.pulsar.handlers.mqtt.utils.NettyUtils; +import io.streamnative.pulsar.handlers.mqtt.broker.MQTTService; +import io.streamnative.pulsar.handlers.mqtt.broker.processor.MQTTBrokerProtocolMethodProcessor; +import io.streamnative.pulsar.handlers.mqtt.broker.processor.ProtocolMethodProcessor; +import io.streamnative.pulsar.handlers.mqtt.common.adapter.MqttAdapterMessage; +import io.streamnative.pulsar.handlers.mqtt.common.utils.NettyUtils; import java.util.concurrent.CompletableFuture; import java.util.concurrent.ConcurrentHashMap; import lombok.Setter; diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/MQTTConnectionManager.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/MQTTConnectionManager.java similarity index 90% rename from mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/MQTTConnectionManager.java rename to mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/MQTTConnectionManager.java index 48dd9c0c6..ef901c80a 100644 --- a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/MQTTConnectionManager.java +++ b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/MQTTConnectionManager.java @@ -11,15 +11,15 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package io.streamnative.pulsar.handlers.mqtt; +package io.streamnative.pulsar.handlers.mqtt.common; -import static io.streamnative.pulsar.handlers.mqtt.support.systemtopic.EventType.CONNECT; +import static io.streamnative.pulsar.handlers.mqtt.common.systemtopic.EventType.CONNECT; import io.netty.util.HashedWheelTimer; import io.netty.util.Timeout; import io.netty.util.concurrent.DefaultThreadFactory; -import io.streamnative.pulsar.handlers.mqtt.support.systemtopic.ConnectEvent; -import io.streamnative.pulsar.handlers.mqtt.support.systemtopic.EventListener; -import io.streamnative.pulsar.handlers.mqtt.support.systemtopic.MqttEvent; +import io.streamnative.pulsar.handlers.mqtt.common.systemtopic.ConnectEvent; +import io.streamnative.pulsar.handlers.mqtt.common.systemtopic.EventListener; +import io.streamnative.pulsar.handlers.mqtt.common.systemtopic.MqttEvent; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentMap; import java.util.concurrent.TimeUnit; diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/TopicFilter.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/TopicFilter.java similarity index 93% rename from mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/TopicFilter.java rename to mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/TopicFilter.java index 0ea7e4b7b..7685a077d 100644 --- a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/TopicFilter.java +++ b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/TopicFilter.java @@ -11,7 +11,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package io.streamnative.pulsar.handlers.mqtt; +package io.streamnative.pulsar.handlers.mqtt.common; public interface TopicFilter { diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/TopicFilterImpl.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/TopicFilterImpl.java similarity index 97% rename from mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/TopicFilterImpl.java rename to mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/TopicFilterImpl.java index b6668b3d9..4cdcf49dc 100644 --- a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/TopicFilterImpl.java +++ b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/TopicFilterImpl.java @@ -11,7 +11,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package io.streamnative.pulsar.handlers.mqtt; +package io.streamnative.pulsar.handlers.mqtt.common; import java.util.Arrays; diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/adapter/AdapterChannel.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/adapter/AdapterChannel.java similarity index 93% rename from mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/adapter/AdapterChannel.java rename to mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/adapter/AdapterChannel.java index 1e43b74af..ce87ca5fd 100644 --- a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/adapter/AdapterChannel.java +++ b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/adapter/AdapterChannel.java @@ -11,12 +11,12 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package io.streamnative.pulsar.handlers.mqtt.adapter; +package io.streamnative.pulsar.handlers.mqtt.common.adapter; import static com.google.common.base.Preconditions.checkArgument; import io.netty.channel.Channel; -import io.streamnative.pulsar.handlers.mqtt.Connection; -import io.streamnative.pulsar.handlers.mqtt.utils.FutureUtils; +import io.streamnative.pulsar.handlers.mqtt.common.Connection; +import io.streamnative.pulsar.handlers.mqtt.common.utils.FutureUtils; import java.net.InetSocketAddress; import java.util.concurrent.CompletableFuture; import lombok.Getter; diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/adapter/CombineAdapterHandler.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/adapter/CombineAdapterHandler.java similarity index 95% rename from mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/adapter/CombineAdapterHandler.java rename to mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/adapter/CombineAdapterHandler.java index 001991c5e..ae509cd38 100644 --- a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/adapter/CombineAdapterHandler.java +++ b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/adapter/CombineAdapterHandler.java @@ -11,7 +11,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package io.streamnative.pulsar.handlers.mqtt.adapter; +package io.streamnative.pulsar.handlers.mqtt.common.adapter; import static com.google.common.base.Preconditions.checkArgument; import io.netty.channel.ChannelHandlerContext; diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/adapter/CombineHandler.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/adapter/CombineHandler.java similarity index 89% rename from mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/adapter/CombineHandler.java rename to mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/adapter/CombineHandler.java index 8974e49b9..baae7005d 100644 --- a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/adapter/CombineHandler.java +++ b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/adapter/CombineHandler.java @@ -11,10 +11,10 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package io.streamnative.pulsar.handlers.mqtt.adapter; +package io.streamnative.pulsar.handlers.mqtt.common.adapter; import static com.google.common.base.Preconditions.checkArgument; -import static io.streamnative.pulsar.handlers.mqtt.Constants.DEFAULT_CLIENT_ID; +import static io.streamnative.pulsar.handlers.mqtt.common.Constants.DEFAULT_CLIENT_ID; import io.netty.channel.ChannelHandlerContext; import io.netty.channel.ChannelInboundHandlerAdapter; import io.netty.handler.codec.mqtt.MqttMessage; diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/adapter/MQTTProxyAdapter.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/adapter/MQTTProxyAdapter.java similarity index 97% rename from mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/adapter/MQTTProxyAdapter.java rename to mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/adapter/MQTTProxyAdapter.java index edf233c6c..d0c760542 100644 --- a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/adapter/MQTTProxyAdapter.java +++ b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/adapter/MQTTProxyAdapter.java @@ -11,10 +11,10 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package io.streamnative.pulsar.handlers.mqtt.adapter; +package io.streamnative.pulsar.handlers.mqtt.common.adapter; import static com.google.common.base.Preconditions.checkArgument; -import static io.streamnative.pulsar.handlers.mqtt.utils.MqttMessageUtils.checkState; +import static io.streamnative.pulsar.handlers.mqtt.common.utils.MqttMessageUtils.checkState; import static org.apache.pulsar.client.util.MathUtils.signSafeMod; import io.netty.bootstrap.Bootstrap; import io.netty.channel.Channel; @@ -35,11 +35,11 @@ import io.netty.handler.codec.mqtt.MqttSubAckMessage; import io.netty.handler.codec.mqtt.MqttUnsubAckMessage; import io.netty.util.concurrent.DefaultThreadFactory; -import io.streamnative.pulsar.handlers.mqtt.Connection; -import io.streamnative.pulsar.handlers.mqtt.messages.codes.mqtt5.Mqtt5PubReasonCode; +import io.streamnative.pulsar.handlers.mqtt.common.Connection; +import io.streamnative.pulsar.handlers.mqtt.common.messages.codes.mqtt5.Mqtt5PubReasonCode; +import io.streamnative.pulsar.handlers.mqtt.common.utils.MqttUtils; import io.streamnative.pulsar.handlers.mqtt.proxy.MQTTProxyProtocolMethodProcessor; import io.streamnative.pulsar.handlers.mqtt.proxy.MQTTProxyService; -import io.streamnative.pulsar.handlers.mqtt.utils.MqttUtils; import java.net.InetSocketAddress; import java.util.Collections; import java.util.List; diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/adapter/MqttAdapterDecoder.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/adapter/MqttAdapterDecoder.java similarity index 95% rename from mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/adapter/MqttAdapterDecoder.java rename to mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/adapter/MqttAdapterDecoder.java index df9600f23..648b11012 100644 --- a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/adapter/MqttAdapterDecoder.java +++ b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/adapter/MqttAdapterDecoder.java @@ -11,9 +11,8 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package io.streamnative.pulsar.handlers.mqtt.adapter; +package io.streamnative.pulsar.handlers.mqtt.common.adapter; -import static io.streamnative.pulsar.handlers.mqtt.adapter.MqttAdapterMessage.MAGIC; import io.netty.buffer.ByteBuf; import io.netty.channel.ChannelHandlerContext; import io.netty.handler.codec.ReplayingDecoder; @@ -76,7 +75,7 @@ protected void decode(ChannelHandlerContext ctx, ByteBuf in, List out) t } private boolean isAdapter(byte magic) { - return magic == MAGIC; + return magic == MqttAdapterMessage.MAGIC; } enum State{ diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/adapter/MqttAdapterEncoder.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/adapter/MqttAdapterEncoder.java similarity index 98% rename from mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/adapter/MqttAdapterEncoder.java rename to mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/adapter/MqttAdapterEncoder.java index 096c05c6f..4fcc313fc 100644 --- a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/adapter/MqttAdapterEncoder.java +++ b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/adapter/MqttAdapterEncoder.java @@ -11,7 +11,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package io.streamnative.pulsar.handlers.mqtt.adapter; +package io.streamnative.pulsar.handlers.mqtt.common.adapter; import io.netty.buffer.ByteBuf; import io.netty.channel.ChannelHandler; diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/adapter/MqttAdapterMessage.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/adapter/MqttAdapterMessage.java similarity index 96% rename from mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/adapter/MqttAdapterMessage.java rename to mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/adapter/MqttAdapterMessage.java index c9e3398cc..d6bd510af 100644 --- a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/adapter/MqttAdapterMessage.java +++ b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/adapter/MqttAdapterMessage.java @@ -11,7 +11,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package io.streamnative.pulsar.handlers.mqtt.adapter; +package io.streamnative.pulsar.handlers.mqtt.common.adapter; import io.netty.handler.codec.mqtt.MqttMessage; import lombok.AllArgsConstructor; diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/adapter/package-info.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/adapter/package-info.java new file mode 100644 index 000000000..7dc4b1fcc --- /dev/null +++ b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/adapter/package-info.java @@ -0,0 +1,18 @@ +/** + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/** + * Package info. + */ +package io.streamnative.pulsar.handlers.mqtt.common.adapter; diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/MQTTAuthenticationService.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/authentication/MQTTAuthenticationService.java similarity index 93% rename from mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/MQTTAuthenticationService.java rename to mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/authentication/MQTTAuthenticationService.java index a0c533021..e1ecac1a2 100644 --- a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/MQTTAuthenticationService.java +++ b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/authentication/MQTTAuthenticationService.java @@ -11,15 +11,15 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package io.streamnative.pulsar.handlers.mqtt; +package io.streamnative.pulsar.handlers.mqtt.common.authentication; -import static io.streamnative.pulsar.handlers.mqtt.Constants.AUTH_BASIC; -import static io.streamnative.pulsar.handlers.mqtt.Constants.AUTH_MTLS; -import static io.streamnative.pulsar.handlers.mqtt.Constants.AUTH_TOKEN; +import static io.streamnative.pulsar.handlers.mqtt.common.Constants.AUTH_BASIC; +import static io.streamnative.pulsar.handlers.mqtt.common.Constants.AUTH_MTLS; +import static io.streamnative.pulsar.handlers.mqtt.common.Constants.AUTH_TOKEN; import io.netty.handler.codec.mqtt.MqttConnectMessage; import io.netty.handler.codec.mqtt.MqttConnectPayload; -import io.streamnative.pulsar.handlers.mqtt.authentication.AuthenticationProviderMTls; -import io.streamnative.pulsar.handlers.mqtt.utils.MqttMessageUtils; +import io.streamnative.pulsar.handlers.mqtt.common.authentication.mtls.AuthenticationProviderMTls; +import io.streamnative.pulsar.handlers.mqtt.common.utils.MqttMessageUtils; import java.util.HashMap; import java.util.List; import java.util.Map; diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/authentication/AuthRequest.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/authentication/mtls/AuthRequest.java similarity index 91% rename from mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/authentication/AuthRequest.java rename to mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/authentication/mtls/AuthRequest.java index beb7e77cf..998ff8681 100644 --- a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/authentication/AuthRequest.java +++ b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/authentication/mtls/AuthRequest.java @@ -11,7 +11,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package io.streamnative.pulsar.handlers.mqtt.authentication; +package io.streamnative.pulsar.handlers.mqtt.common.authentication.mtls; import java.util.Map; import lombok.AllArgsConstructor; diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/authentication/AuthenticationProviderMTls.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/authentication/mtls/AuthenticationProviderMTls.java similarity index 95% rename from mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/authentication/AuthenticationProviderMTls.java rename to mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/authentication/mtls/AuthenticationProviderMTls.java index 14c773463..dc2efa8d7 100644 --- a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/authentication/AuthenticationProviderMTls.java +++ b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/authentication/mtls/AuthenticationProviderMTls.java @@ -11,12 +11,8 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package io.streamnative.pulsar.handlers.mqtt.authentication; +package io.streamnative.pulsar.handlers.mqtt.common.authentication.mtls; -import static io.streamnative.pulsar.handlers.mqtt.authentication.ExpressionCompiler.DN; -import static io.streamnative.pulsar.handlers.mqtt.authentication.ExpressionCompiler.SAN; -import static io.streamnative.pulsar.handlers.mqtt.authentication.ExpressionCompiler.SHA1; -import static io.streamnative.pulsar.handlers.mqtt.authentication.ExpressionCompiler.SNID; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.google.common.annotations.VisibleForTesting; @@ -229,9 +225,9 @@ public String authenticate(AuthenticationDataSource authData) throws Authenticat // parse SAN parseSAN(certificate, params); // get SNID - params.put(SNID, certificate.getSerialNumber().toString(16).toUpperCase()); + params.put(ExpressionCompiler.SNID, certificate.getSerialNumber().toString(16).toUpperCase()); // parse SHA1 - params.put(SHA1, parseSHA1FingerPrint(certificate)); + params.put(ExpressionCompiler.SHA1, parseSHA1FingerPrint(certificate)); String poolName = matchPool(params); if (poolName.isEmpty()) { @@ -300,7 +296,7 @@ static Map parseDN(String dn) throws InvalidNameException { if (StringUtils.isEmpty(dn)) { return params; } - params.put(DN, dn); + params.put(ExpressionCompiler.DN, dn); LdapName ldapName = new LdapName(dn); for (Rdn rdn : ldapName.getRdns()) { String rdnType = rdn.getType().toUpperCase(); @@ -329,7 +325,7 @@ static void parseSAN(X509Certificate certificate, @NotNull Map m }) .collect(Collectors.toList()); String formattedSAN = String.join(",", formattedSANList); - map.put(SAN, formattedSAN); + map.put(ExpressionCompiler.SAN, formattedSAN); } } catch (Exception e) { log.error("Failed to parse the SAN from the client certificate, skip parse SAN", e); diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/authentication/ExpressionCompiler.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/authentication/mtls/ExpressionCompiler.java similarity index 97% rename from mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/authentication/ExpressionCompiler.java rename to mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/authentication/mtls/ExpressionCompiler.java index 7d9890158..55fdc2f8c 100644 --- a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/authentication/ExpressionCompiler.java +++ b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/authentication/mtls/ExpressionCompiler.java @@ -11,7 +11,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package io.streamnative.pulsar.handlers.mqtt.authentication; +package io.streamnative.pulsar.handlers.mqtt.common.authentication.mtls; import dev.cel.common.CelAbstractSyntaxTree; diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/authentication/mtls/package-info.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/authentication/mtls/package-info.java new file mode 100644 index 000000000..57b0a6fa4 --- /dev/null +++ b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/authentication/mtls/package-info.java @@ -0,0 +1,14 @@ +/** + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.streamnative.pulsar.handlers.mqtt.common.authentication.mtls; \ No newline at end of file diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/authentication/package-info.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/authentication/package-info.java new file mode 100644 index 000000000..76afb2074 --- /dev/null +++ b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/authentication/package-info.java @@ -0,0 +1,14 @@ +/** + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.streamnative.pulsar.handlers.mqtt.common.authentication; \ No newline at end of file diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/support/event/AutoSubscribeHandler.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/event/AutoSubscribeHandler.java similarity index 96% rename from mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/support/event/AutoSubscribeHandler.java rename to mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/event/AutoSubscribeHandler.java index d55f5540c..3dbcff82a 100644 --- a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/support/event/AutoSubscribeHandler.java +++ b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/event/AutoSubscribeHandler.java @@ -11,11 +11,11 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package io.streamnative.pulsar.handlers.mqtt.support.event; +package io.streamnative.pulsar.handlers.mqtt.common.event; import com.google.common.collect.Lists; -import io.streamnative.pulsar.handlers.mqtt.TopicFilter; +import io.streamnative.pulsar.handlers.mqtt.common.TopicFilter; import java.util.List; import java.util.Map; import java.util.Objects; diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/support/event/DisableEventCenter.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/event/DisableEventCenter.java similarity index 93% rename from mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/support/event/DisableEventCenter.java rename to mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/event/DisableEventCenter.java index a55dd41c4..165896d0f 100644 --- a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/support/event/DisableEventCenter.java +++ b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/event/DisableEventCenter.java @@ -11,7 +11,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package io.streamnative.pulsar.handlers.mqtt.support.event; +package io.streamnative.pulsar.handlers.mqtt.common.event; public class DisableEventCenter implements PulsarEventCenter { @Override diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/support/event/PulsarEventCenter.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/event/PulsarEventCenter.java similarity index 92% rename from mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/support/event/PulsarEventCenter.java rename to mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/event/PulsarEventCenter.java index 502647c69..3aca544d4 100644 --- a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/support/event/PulsarEventCenter.java +++ b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/event/PulsarEventCenter.java @@ -11,7 +11,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package io.streamnative.pulsar.handlers.mqtt.support.event; +package io.streamnative.pulsar.handlers.mqtt.common.event; public interface PulsarEventCenter { diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/support/event/PulsarEventCenterImpl.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/event/PulsarEventCenterImpl.java similarity index 98% rename from mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/support/event/PulsarEventCenterImpl.java rename to mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/event/PulsarEventCenterImpl.java index da6f9fdc1..687700b00 100644 --- a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/support/event/PulsarEventCenterImpl.java +++ b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/event/PulsarEventCenterImpl.java @@ -11,7 +11,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package io.streamnative.pulsar.handlers.mqtt.support.event; +package io.streamnative.pulsar.handlers.mqtt.common.event; import java.util.List; import java.util.concurrent.CopyOnWriteArrayList; diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/support/event/PulsarEventListener.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/event/PulsarEventListener.java similarity index 92% rename from mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/support/event/PulsarEventListener.java rename to mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/event/PulsarEventListener.java index deaea7924..9c56a6090 100644 --- a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/support/event/PulsarEventListener.java +++ b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/event/PulsarEventListener.java @@ -11,7 +11,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package io.streamnative.pulsar.handlers.mqtt.support.event; +package io.streamnative.pulsar.handlers.mqtt.common.event; public interface PulsarEventListener { diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/support/event/PulsarTopicChangeListener.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/event/PulsarTopicChangeListener.java similarity index 94% rename from mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/support/event/PulsarTopicChangeListener.java rename to mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/event/PulsarTopicChangeListener.java index 62a4baf69..ffbdba8c7 100644 --- a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/support/event/PulsarTopicChangeListener.java +++ b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/event/PulsarTopicChangeListener.java @@ -11,9 +11,9 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package io.streamnative.pulsar.handlers.mqtt.support.event; +package io.streamnative.pulsar.handlers.mqtt.common.event; -import io.streamnative.pulsar.handlers.mqtt.utils.EventParserUtils; +import io.streamnative.pulsar.handlers.mqtt.common.utils.EventParserUtils; import java.util.regex.Pattern; import org.apache.commons.lang.StringUtils; import org.apache.pulsar.common.naming.SystemTopicNames; diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/messages/ack/package-info.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/event/package-info.java similarity index 90% rename from mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/messages/ack/package-info.java rename to mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/event/package-info.java index 1e49a8dbb..6fa110b0f 100644 --- a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/messages/ack/package-info.java +++ b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/event/package-info.java @@ -15,4 +15,4 @@ /** * Package info. */ -package io.streamnative.pulsar.handlers.mqtt.messages.ack; +package io.streamnative.pulsar.handlers.mqtt.common.event; diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/exception/MQTTAuthException.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/exception/MQTTAuthException.java similarity index 93% rename from mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/exception/MQTTAuthException.java rename to mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/exception/MQTTAuthException.java index 267536539..8398396cd 100644 --- a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/exception/MQTTAuthException.java +++ b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/exception/MQTTAuthException.java @@ -11,7 +11,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package io.streamnative.pulsar.handlers.mqtt.exception; +package io.streamnative.pulsar.handlers.mqtt.common.exception; /** * Internal server exception. diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/exception/MQTTDuplicatedSubscriptionException.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/exception/MQTTDuplicatedSubscriptionException.java similarity index 93% rename from mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/exception/MQTTDuplicatedSubscriptionException.java rename to mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/exception/MQTTDuplicatedSubscriptionException.java index bf1e76263..5d6631729 100644 --- a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/exception/MQTTDuplicatedSubscriptionException.java +++ b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/exception/MQTTDuplicatedSubscriptionException.java @@ -11,7 +11,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package io.streamnative.pulsar.handlers.mqtt.exception; +package io.streamnative.pulsar.handlers.mqtt.common.exception; /** * Mqtt duplicate subscription exception. diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/exception/MQTTNoMatchingSubscriberException.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/exception/MQTTNoMatchingSubscriberException.java similarity index 92% rename from mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/exception/MQTTNoMatchingSubscriberException.java rename to mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/exception/MQTTNoMatchingSubscriberException.java index ef89a9d1d..7c2291e4e 100644 --- a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/exception/MQTTNoMatchingSubscriberException.java +++ b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/exception/MQTTNoMatchingSubscriberException.java @@ -11,7 +11,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package io.streamnative.pulsar.handlers.mqtt.exception; +package io.streamnative.pulsar.handlers.mqtt.common.exception; public class MQTTNoMatchingSubscriberException extends RuntimeException { public MQTTNoMatchingSubscriberException(String topicName) { diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/exception/MQTTNoSubscriptionExistedException.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/exception/MQTTNoSubscriptionExistedException.java similarity index 93% rename from mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/exception/MQTTNoSubscriptionExistedException.java rename to mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/exception/MQTTNoSubscriptionExistedException.java index b8218c653..d54ddf5d1 100644 --- a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/exception/MQTTNoSubscriptionExistedException.java +++ b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/exception/MQTTNoSubscriptionExistedException.java @@ -11,7 +11,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package io.streamnative.pulsar.handlers.mqtt.exception; +package io.streamnative.pulsar.handlers.mqtt.common.exception; /** * Mqtt no subscription existed exception. diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/exception/MQTTServerException.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/exception/MQTTServerException.java similarity index 93% rename from mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/exception/MQTTServerException.java rename to mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/exception/MQTTServerException.java index e7ee9e9dc..c6f1e4e9b 100644 --- a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/exception/MQTTServerException.java +++ b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/exception/MQTTServerException.java @@ -11,7 +11,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package io.streamnative.pulsar.handlers.mqtt.exception; +package io.streamnative.pulsar.handlers.mqtt.common.exception; /** * Internal server exception. diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/exception/MQTTTopicAliasExceedsLimitException.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/exception/MQTTTopicAliasExceedsLimitException.java similarity index 94% rename from mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/exception/MQTTTopicAliasExceedsLimitException.java rename to mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/exception/MQTTTopicAliasExceedsLimitException.java index f678126e1..5803c9029 100644 --- a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/exception/MQTTTopicAliasExceedsLimitException.java +++ b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/exception/MQTTTopicAliasExceedsLimitException.java @@ -11,7 +11,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package io.streamnative.pulsar.handlers.mqtt.exception; +package io.streamnative.pulsar.handlers.mqtt.common.exception; import lombok.Getter; diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/exception/MQTTTopicAliasNotFoundException.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/exception/MQTTTopicAliasNotFoundException.java similarity index 93% rename from mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/exception/MQTTTopicAliasNotFoundException.java rename to mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/exception/MQTTTopicAliasNotFoundException.java index b103458a5..6766a41fc 100644 --- a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/exception/MQTTTopicAliasNotFoundException.java +++ b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/exception/MQTTTopicAliasNotFoundException.java @@ -11,7 +11,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package io.streamnative.pulsar.handlers.mqtt.exception; +package io.streamnative.pulsar.handlers.mqtt.common.exception; import lombok.Getter; diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/exception/MQTTTopicNotExistedException.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/exception/MQTTTopicNotExistedException.java similarity index 92% rename from mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/exception/MQTTTopicNotExistedException.java rename to mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/exception/MQTTTopicNotExistedException.java index c7d2262b3..a362636cd 100644 --- a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/exception/MQTTTopicNotExistedException.java +++ b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/exception/MQTTTopicNotExistedException.java @@ -11,7 +11,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package io.streamnative.pulsar.handlers.mqtt.exception; +package io.streamnative.pulsar.handlers.mqtt.common.exception; /** diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/exception/package-info.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/exception/package-info.java new file mode 100644 index 000000000..1e016201a --- /dev/null +++ b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/exception/package-info.java @@ -0,0 +1,18 @@ +/** + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/** + * Package info. + */ +package io.streamnative.pulsar.handlers.mqtt.common.exception; diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/exception/restrictions/InvalidReceiveMaximumException.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/exception/restrictions/InvalidReceiveMaximumException.java similarity index 91% rename from mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/exception/restrictions/InvalidReceiveMaximumException.java rename to mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/exception/restrictions/InvalidReceiveMaximumException.java index f66a9411a..5dcfa0182 100644 --- a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/exception/restrictions/InvalidReceiveMaximumException.java +++ b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/exception/restrictions/InvalidReceiveMaximumException.java @@ -11,7 +11,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package io.streamnative.pulsar.handlers.mqtt.exception.restrictions; +package io.streamnative.pulsar.handlers.mqtt.common.exception.restrictions; public class InvalidReceiveMaximumException extends Exception { public InvalidReceiveMaximumException() { diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/exception/restrictions/InvalidSessionExpireIntervalException.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/exception/restrictions/InvalidSessionExpireIntervalException.java similarity index 91% rename from mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/exception/restrictions/InvalidSessionExpireIntervalException.java rename to mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/exception/restrictions/InvalidSessionExpireIntervalException.java index c70ab43dd..19034e335 100644 --- a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/exception/restrictions/InvalidSessionExpireIntervalException.java +++ b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/exception/restrictions/InvalidSessionExpireIntervalException.java @@ -11,7 +11,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package io.streamnative.pulsar.handlers.mqtt.exception.restrictions; +package io.streamnative.pulsar.handlers.mqtt.common.exception.restrictions; public class InvalidSessionExpireIntervalException extends Exception { public InvalidSessionExpireIntervalException() { diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/exception/restrictions/package-info.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/exception/restrictions/package-info.java new file mode 100644 index 000000000..fda4d1826 --- /dev/null +++ b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/exception/restrictions/package-info.java @@ -0,0 +1,18 @@ +/** + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/** + * Package info. + */ +package io.streamnative.pulsar.handlers.mqtt.common.exception.restrictions; diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/messages/MqttPropertyUtils.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/messages/MqttPropertyUtils.java similarity index 94% rename from mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/messages/MqttPropertyUtils.java rename to mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/messages/MqttPropertyUtils.java index ca3085d21..6df5b9446 100644 --- a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/messages/MqttPropertyUtils.java +++ b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/messages/MqttPropertyUtils.java @@ -11,15 +11,15 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package io.streamnative.pulsar.handlers.mqtt.messages; +package io.streamnative.pulsar.handlers.mqtt.common.messages; import io.netty.handler.codec.mqtt.MqttConnectMessage; import io.netty.handler.codec.mqtt.MqttMessage; import io.netty.handler.codec.mqtt.MqttProperties; import io.netty.handler.codec.mqtt.MqttReasonCodeAndPropertiesVariableHeader; -import io.streamnative.pulsar.handlers.mqtt.exception.restrictions.InvalidReceiveMaximumException; -import io.streamnative.pulsar.handlers.mqtt.restrictions.ClientRestrictions; -import io.streamnative.pulsar.handlers.mqtt.utils.MqttUtils; +import io.streamnative.pulsar.handlers.mqtt.common.exception.restrictions.InvalidReceiveMaximumException; +import io.streamnative.pulsar.handlers.mqtt.common.mqtt5.restrictions.ClientRestrictions; +import io.streamnative.pulsar.handlers.mqtt.common.utils.MqttUtils; import java.util.List; import java.util.Map; import java.util.Optional; diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/messages/ack/MqttAck.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/messages/ack/MqttAck.java similarity index 94% rename from mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/messages/ack/MqttAck.java rename to mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/messages/ack/MqttAck.java index 1c289ad80..10e02de01 100644 --- a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/messages/ack/MqttAck.java +++ b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/messages/ack/MqttAck.java @@ -11,7 +11,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package io.streamnative.pulsar.handlers.mqtt.messages.ack; +package io.streamnative.pulsar.handlers.mqtt.common.messages.ack; import io.netty.handler.codec.mqtt.MqttMessage; diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/messages/ack/MqttConnectAck.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/messages/ack/MqttConnectAck.java similarity index 97% rename from mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/messages/ack/MqttConnectAck.java rename to mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/messages/ack/MqttConnectAck.java index 85bb46aa1..e585f7f28 100644 --- a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/messages/ack/MqttConnectAck.java +++ b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/messages/ack/MqttConnectAck.java @@ -11,16 +11,16 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package io.streamnative.pulsar.handlers.mqtt.messages.ack; +package io.streamnative.pulsar.handlers.mqtt.common.messages.ack; import io.netty.handler.codec.mqtt.MqttConnectReturnCode; import io.netty.handler.codec.mqtt.MqttMessage; import io.netty.handler.codec.mqtt.MqttMessageBuilders; import io.netty.handler.codec.mqtt.MqttProperties; -import io.streamnative.pulsar.handlers.mqtt.messages.codes.mqtt3.Mqtt3ConnReasonCode; -import io.streamnative.pulsar.handlers.mqtt.messages.codes.mqtt5.Mqtt5ConnReasonCode; -import io.streamnative.pulsar.handlers.mqtt.utils.MqttUtils; +import io.streamnative.pulsar.handlers.mqtt.common.messages.codes.mqtt3.Mqtt3ConnReasonCode; +import io.streamnative.pulsar.handlers.mqtt.common.messages.codes.mqtt5.Mqtt5ConnReasonCode; +import io.streamnative.pulsar.handlers.mqtt.common.utils.MqttUtils; import org.apache.commons.lang3.StringUtils; /** diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/messages/ack/MqttDisconnectAck.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/messages/ack/MqttDisconnectAck.java similarity index 91% rename from mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/messages/ack/MqttDisconnectAck.java rename to mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/messages/ack/MqttDisconnectAck.java index 02d6e04ec..091ce7d2e 100644 --- a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/messages/ack/MqttDisconnectAck.java +++ b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/messages/ack/MqttDisconnectAck.java @@ -11,13 +11,13 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package io.streamnative.pulsar.handlers.mqtt.messages.ack; +package io.streamnative.pulsar.handlers.mqtt.common.messages.ack; import io.netty.handler.codec.mqtt.MqttMessageBuilders; import io.netty.handler.codec.mqtt.MqttProperties; -import io.streamnative.pulsar.handlers.mqtt.messages.MqttPropertyUtils; -import io.streamnative.pulsar.handlers.mqtt.messages.codes.mqtt5.Mqtt5DisConnReasonCode; -import io.streamnative.pulsar.handlers.mqtt.utils.MqttUtils; +import io.streamnative.pulsar.handlers.mqtt.common.messages.MqttPropertyUtils; +import io.streamnative.pulsar.handlers.mqtt.common.messages.codes.mqtt5.Mqtt5DisConnReasonCode; +import io.streamnative.pulsar.handlers.mqtt.common.utils.MqttUtils; public class MqttDisconnectAck { diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/messages/ack/MqttPubAck.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/messages/ack/MqttPubAck.java similarity index 93% rename from mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/messages/ack/MqttPubAck.java rename to mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/messages/ack/MqttPubAck.java index 50d84a627..880bd9531 100644 --- a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/messages/ack/MqttPubAck.java +++ b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/messages/ack/MqttPubAck.java @@ -11,13 +11,13 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package io.streamnative.pulsar.handlers.mqtt.messages.ack; +package io.streamnative.pulsar.handlers.mqtt.common.messages.ack; import io.netty.handler.codec.mqtt.MqttMessageBuilders; import io.netty.handler.codec.mqtt.MqttProperties; -import io.streamnative.pulsar.handlers.mqtt.messages.MqttPropertyUtils; -import io.streamnative.pulsar.handlers.mqtt.messages.codes.mqtt5.Mqtt5PubReasonCode; -import io.streamnative.pulsar.handlers.mqtt.utils.MqttUtils; +import io.streamnative.pulsar.handlers.mqtt.common.messages.MqttPropertyUtils; +import io.streamnative.pulsar.handlers.mqtt.common.messages.codes.mqtt5.Mqtt5PubReasonCode; +import io.streamnative.pulsar.handlers.mqtt.common.utils.MqttUtils; public class MqttPubAck { diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/messages/ack/MqttSubAck.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/messages/ack/MqttSubAck.java similarity index 91% rename from mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/messages/ack/MqttSubAck.java rename to mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/messages/ack/MqttSubAck.java index 603fa34b8..2f550d3a7 100644 --- a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/messages/ack/MqttSubAck.java +++ b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/messages/ack/MqttSubAck.java @@ -11,7 +11,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package io.streamnative.pulsar.handlers.mqtt.messages.ack; +package io.streamnative.pulsar.handlers.mqtt.common.messages.ack; import com.google.common.collect.Lists; import io.netty.handler.codec.mqtt.MqttFixedHeader; @@ -22,11 +22,11 @@ import io.netty.handler.codec.mqtt.MqttQoS; import io.netty.handler.codec.mqtt.MqttSubAckMessage; import io.netty.handler.codec.mqtt.MqttSubAckPayload; -import io.streamnative.pulsar.handlers.mqtt.messages.MqttPropertyUtils; -import io.streamnative.pulsar.handlers.mqtt.messages.codes.MqttReasonCode; -import io.streamnative.pulsar.handlers.mqtt.messages.codes.mqtt3.Mqtt3SubReasonCode; -import io.streamnative.pulsar.handlers.mqtt.messages.codes.mqtt5.Mqtt5SubReasonCode; -import io.streamnative.pulsar.handlers.mqtt.utils.MqttUtils; +import io.streamnative.pulsar.handlers.mqtt.common.messages.MqttPropertyUtils; +import io.streamnative.pulsar.handlers.mqtt.common.messages.codes.MqttReasonCode; +import io.streamnative.pulsar.handlers.mqtt.common.messages.codes.mqtt3.Mqtt3SubReasonCode; +import io.streamnative.pulsar.handlers.mqtt.common.messages.codes.mqtt5.Mqtt5SubReasonCode; +import io.streamnative.pulsar.handlers.mqtt.common.utils.MqttUtils; import java.util.Arrays; import java.util.Collection; import java.util.List; diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/messages/ack/MqttUnsubAck.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/messages/ack/MqttUnsubAck.java similarity index 92% rename from mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/messages/ack/MqttUnsubAck.java rename to mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/messages/ack/MqttUnsubAck.java index 658603c76..366e93429 100644 --- a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/messages/ack/MqttUnsubAck.java +++ b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/messages/ack/MqttUnsubAck.java @@ -12,12 +12,12 @@ * limitations under the License. */ -package io.streamnative.pulsar.handlers.mqtt.messages.ack; +package io.streamnative.pulsar.handlers.mqtt.common.messages.ack; import io.netty.handler.codec.mqtt.MqttMessageBuilders; import io.netty.handler.codec.mqtt.MqttProperties; -import io.streamnative.pulsar.handlers.mqtt.messages.MqttPropertyUtils; -import io.streamnative.pulsar.handlers.mqtt.messages.codes.mqtt5.Mqtt5UnsubReasonCode; -import io.streamnative.pulsar.handlers.mqtt.utils.MqttUtils; +import io.streamnative.pulsar.handlers.mqtt.common.messages.MqttPropertyUtils; +import io.streamnative.pulsar.handlers.mqtt.common.messages.codes.mqtt5.Mqtt5UnsubReasonCode; +import io.streamnative.pulsar.handlers.mqtt.common.utils.MqttUtils; public class MqttUnsubAck { diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/messages/properties/package-info.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/messages/ack/package-info.java similarity index 90% rename from mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/messages/properties/package-info.java rename to mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/messages/ack/package-info.java index 6d5b3b941..6cff97ec5 100644 --- a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/messages/properties/package-info.java +++ b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/messages/ack/package-info.java @@ -15,4 +15,4 @@ /** * Package info. */ -package io.streamnative.pulsar.handlers.mqtt.messages.properties; +package io.streamnative.pulsar.handlers.mqtt.common.messages.ack; diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/messages/codes/MqttReasonCode.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/messages/codes/MqttReasonCode.java similarity index 64% rename from mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/messages/codes/MqttReasonCode.java rename to mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/messages/codes/MqttReasonCode.java index ba9ccab3d..d0eb5d862 100644 --- a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/messages/codes/MqttReasonCode.java +++ b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/messages/codes/MqttReasonCode.java @@ -11,12 +11,12 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package io.streamnative.pulsar.handlers.mqtt.messages.codes; -import io.streamnative.pulsar.handlers.mqtt.messages.codes.mqtt5.Mqtt5ConnReasonCode; -import io.streamnative.pulsar.handlers.mqtt.messages.codes.mqtt5.Mqtt5DisConnReasonCode; -import io.streamnative.pulsar.handlers.mqtt.messages.codes.mqtt5.Mqtt5PubReasonCode; -import io.streamnative.pulsar.handlers.mqtt.messages.codes.mqtt5.Mqtt5SubReasonCode; -import io.streamnative.pulsar.handlers.mqtt.messages.codes.mqtt5.Mqtt5UnsubReasonCode; +package io.streamnative.pulsar.handlers.mqtt.common.messages.codes; +import io.streamnative.pulsar.handlers.mqtt.common.messages.codes.mqtt5.Mqtt5ConnReasonCode; +import io.streamnative.pulsar.handlers.mqtt.common.messages.codes.mqtt5.Mqtt5DisConnReasonCode; +import io.streamnative.pulsar.handlers.mqtt.common.messages.codes.mqtt5.Mqtt5PubReasonCode; +import io.streamnative.pulsar.handlers.mqtt.common.messages.codes.mqtt5.Mqtt5SubReasonCode; +import io.streamnative.pulsar.handlers.mqtt.common.messages.codes.mqtt5.Mqtt5UnsubReasonCode; /** * Mqtt protocol reason code interface. diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/messages/codes/mqtt3/Mqtt3ConnReasonCode.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/messages/codes/mqtt3/Mqtt3ConnReasonCode.java similarity index 90% rename from mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/messages/codes/mqtt3/Mqtt3ConnReasonCode.java rename to mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/messages/codes/mqtt3/Mqtt3ConnReasonCode.java index 623d52d96..1e89d85c0 100644 --- a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/messages/codes/mqtt3/Mqtt3ConnReasonCode.java +++ b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/messages/codes/mqtt3/Mqtt3ConnReasonCode.java @@ -11,10 +11,10 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package io.streamnative.pulsar.handlers.mqtt.messages.codes.mqtt3; +package io.streamnative.pulsar.handlers.mqtt.common.messages.codes.mqtt3; import io.netty.handler.codec.mqtt.MqttConnectReturnCode; -import io.streamnative.pulsar.handlers.mqtt.messages.codes.MqttReasonCode; +import io.streamnative.pulsar.handlers.mqtt.common.messages.codes.MqttReasonCode; /** * Mqtt protocol 3.1.x connection reason code. diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/messages/codes/mqtt3/Mqtt3SubReasonCode.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/messages/codes/mqtt3/Mqtt3SubReasonCode.java similarity index 86% rename from mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/messages/codes/mqtt3/Mqtt3SubReasonCode.java rename to mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/messages/codes/mqtt3/Mqtt3SubReasonCode.java index 0adb3f80a..4cb942d62 100644 --- a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/messages/codes/mqtt3/Mqtt3SubReasonCode.java +++ b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/messages/codes/mqtt3/Mqtt3SubReasonCode.java @@ -11,9 +11,9 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package io.streamnative.pulsar.handlers.mqtt.messages.codes.mqtt3; +package io.streamnative.pulsar.handlers.mqtt.common.messages.codes.mqtt3; -import io.streamnative.pulsar.handlers.mqtt.messages.codes.MqttReasonCode; +import io.streamnative.pulsar.handlers.mqtt.common.messages.codes.MqttReasonCode; /** * Mqtt protocol 3.1.x connection reason code. diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/messages/codes/mqtt3/package-info.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/messages/codes/mqtt3/package-info.java new file mode 100644 index 000000000..a1064930f --- /dev/null +++ b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/messages/codes/mqtt3/package-info.java @@ -0,0 +1,18 @@ +/** + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/** + * Package info. + */ +package io.streamnative.pulsar.handlers.mqtt.common.messages.codes.mqtt3; diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/messages/codes/mqtt5/Mqtt5ConnReasonCode.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/messages/codes/mqtt5/Mqtt5ConnReasonCode.java similarity index 92% rename from mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/messages/codes/mqtt5/Mqtt5ConnReasonCode.java rename to mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/messages/codes/mqtt5/Mqtt5ConnReasonCode.java index 1e05f54d0..2d4380189 100644 --- a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/messages/codes/mqtt5/Mqtt5ConnReasonCode.java +++ b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/messages/codes/mqtt5/Mqtt5ConnReasonCode.java @@ -11,10 +11,10 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package io.streamnative.pulsar.handlers.mqtt.messages.codes.mqtt5; +package io.streamnative.pulsar.handlers.mqtt.common.messages.codes.mqtt5; import io.netty.handler.codec.mqtt.MqttConnectReturnCode; -import io.streamnative.pulsar.handlers.mqtt.messages.codes.MqttReasonCode; +import io.streamnative.pulsar.handlers.mqtt.common.messages.codes.MqttReasonCode; /** * Mqtt protocol 5.0 connection reason code. diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/messages/codes/mqtt5/Mqtt5DisConnReasonCode.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/messages/codes/mqtt5/Mqtt5DisConnReasonCode.java similarity index 92% rename from mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/messages/codes/mqtt5/Mqtt5DisConnReasonCode.java rename to mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/messages/codes/mqtt5/Mqtt5DisConnReasonCode.java index 2e0e002b6..959c41c40 100644 --- a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/messages/codes/mqtt5/Mqtt5DisConnReasonCode.java +++ b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/messages/codes/mqtt5/Mqtt5DisConnReasonCode.java @@ -11,9 +11,9 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package io.streamnative.pulsar.handlers.mqtt.messages.codes.mqtt5; +package io.streamnative.pulsar.handlers.mqtt.common.messages.codes.mqtt5; -import io.streamnative.pulsar.handlers.mqtt.messages.codes.MqttReasonCode; +import io.streamnative.pulsar.handlers.mqtt.common.messages.codes.MqttReasonCode; /** * Mqtt protocol 5.0 disconnect reason code. diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/messages/codes/mqtt5/Mqtt5PubReasonCode.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/messages/codes/mqtt5/Mqtt5PubReasonCode.java similarity index 88% rename from mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/messages/codes/mqtt5/Mqtt5PubReasonCode.java rename to mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/messages/codes/mqtt5/Mqtt5PubReasonCode.java index 2451793c4..9627e811c 100644 --- a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/messages/codes/mqtt5/Mqtt5PubReasonCode.java +++ b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/messages/codes/mqtt5/Mqtt5PubReasonCode.java @@ -11,9 +11,9 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package io.streamnative.pulsar.handlers.mqtt.messages.codes.mqtt5; +package io.streamnative.pulsar.handlers.mqtt.common.messages.codes.mqtt5; -import io.streamnative.pulsar.handlers.mqtt.messages.codes.MqttReasonCode; +import io.streamnative.pulsar.handlers.mqtt.common.messages.codes.MqttReasonCode; /** * Mqtt protocol 5.0 publish acknowledgement reason code. diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/messages/codes/mqtt5/Mqtt5SubReasonCode.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/messages/codes/mqtt5/Mqtt5SubReasonCode.java similarity index 92% rename from mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/messages/codes/mqtt5/Mqtt5SubReasonCode.java rename to mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/messages/codes/mqtt5/Mqtt5SubReasonCode.java index df52e7615..647ad36a0 100644 --- a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/messages/codes/mqtt5/Mqtt5SubReasonCode.java +++ b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/messages/codes/mqtt5/Mqtt5SubReasonCode.java @@ -11,10 +11,10 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package io.streamnative.pulsar.handlers.mqtt.messages.codes.mqtt5; +package io.streamnative.pulsar.handlers.mqtt.common.messages.codes.mqtt5; import io.netty.handler.codec.mqtt.MqttQoS; -import io.streamnative.pulsar.handlers.mqtt.messages.codes.MqttReasonCode; +import io.streamnative.pulsar.handlers.mqtt.common.messages.codes.MqttReasonCode; /** diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/messages/codes/mqtt5/Mqtt5UnsubReasonCode.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/messages/codes/mqtt5/Mqtt5UnsubReasonCode.java similarity index 88% rename from mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/messages/codes/mqtt5/Mqtt5UnsubReasonCode.java rename to mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/messages/codes/mqtt5/Mqtt5UnsubReasonCode.java index 9f56008a8..c3bd5d940 100644 --- a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/messages/codes/mqtt5/Mqtt5UnsubReasonCode.java +++ b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/messages/codes/mqtt5/Mqtt5UnsubReasonCode.java @@ -12,9 +12,9 @@ * limitations under the License. */ -package io.streamnative.pulsar.handlers.mqtt.messages.codes.mqtt5; +package io.streamnative.pulsar.handlers.mqtt.common.messages.codes.mqtt5; -import io.streamnative.pulsar.handlers.mqtt.messages.codes.MqttReasonCode; +import io.streamnative.pulsar.handlers.mqtt.common.messages.codes.MqttReasonCode; /** * Mqtt protocol 5.0 unsubscription acknowledgement reason code. diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/messages/codes/mqtt5/package-info.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/messages/codes/mqtt5/package-info.java new file mode 100644 index 000000000..172ff0d26 --- /dev/null +++ b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/messages/codes/mqtt5/package-info.java @@ -0,0 +1,18 @@ +/** + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/** + * Package info. + */ +package io.streamnative.pulsar.handlers.mqtt.common.messages.codes.mqtt5; diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/messages/codes/package-info.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/messages/codes/package-info.java new file mode 100644 index 000000000..d020e3459 --- /dev/null +++ b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/messages/codes/package-info.java @@ -0,0 +1,18 @@ +/** + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/** + * Package info. + */ +package io.streamnative.pulsar.handlers.mqtt.common.messages.codes; diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/messages/package-info.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/messages/package-info.java new file mode 100644 index 000000000..696fc94e2 --- /dev/null +++ b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/messages/package-info.java @@ -0,0 +1,18 @@ +/** + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/** + * Package info. + */ +package io.streamnative.pulsar.handlers.mqtt.common.messages; diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/messages/properties/PulsarProperties.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/messages/properties/PulsarProperties.java similarity index 90% rename from mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/messages/properties/PulsarProperties.java rename to mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/messages/properties/PulsarProperties.java index 69cbd0e1f..1b1e8345c 100644 --- a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/messages/properties/PulsarProperties.java +++ b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/messages/properties/PulsarProperties.java @@ -11,7 +11,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package io.streamnative.pulsar.handlers.mqtt.messages.properties; +package io.streamnative.pulsar.handlers.mqtt.common.messages.properties; import lombok.AllArgsConstructor; import lombok.Getter; diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/messages/properties/package-info.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/messages/properties/package-info.java new file mode 100644 index 000000000..f5c705f78 --- /dev/null +++ b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/messages/properties/package-info.java @@ -0,0 +1,18 @@ +/** + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/** + * Package info. + */ +package io.streamnative.pulsar.handlers.mqtt.common.messages.properties; diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/support/RetainedMessageHandler.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/mqtt5/RetainedMessageHandler.java similarity index 70% rename from mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/support/RetainedMessageHandler.java rename to mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/mqtt5/RetainedMessageHandler.java index bb627ba6d..f4fb2cc9a 100644 --- a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/support/RetainedMessageHandler.java +++ b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/mqtt5/RetainedMessageHandler.java @@ -11,18 +11,19 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package io.streamnative.pulsar.handlers.mqtt.support; +package io.streamnative.pulsar.handlers.mqtt.common.mqtt5; -import static io.streamnative.pulsar.handlers.mqtt.support.systemtopic.EventType.RETAINED_MESSAGE; +import static io.streamnative.pulsar.handlers.mqtt.common.systemtopic.EventType.RETAINED_MESSAGE; import io.netty.handler.codec.mqtt.MqttPublishMessage; -import io.streamnative.pulsar.handlers.mqtt.MQTTService; -import io.streamnative.pulsar.handlers.mqtt.TopicFilterImpl; -import io.streamnative.pulsar.handlers.mqtt.support.systemtopic.EventListener; -import io.streamnative.pulsar.handlers.mqtt.support.systemtopic.MqttEvent; -import io.streamnative.pulsar.handlers.mqtt.support.systemtopic.RetainedMessageEvent; -import io.streamnative.pulsar.handlers.mqtt.utils.MqttMessageUtils; -import io.streamnative.pulsar.handlers.mqtt.utils.MqttUtils; -import io.streamnative.pulsar.handlers.mqtt.utils.RetainedMessage; +import io.streamnative.pulsar.handlers.mqtt.common.TopicFilterImpl; +import io.streamnative.pulsar.handlers.mqtt.common.systemtopic.EventListener; +import io.streamnative.pulsar.handlers.mqtt.common.systemtopic.MqttEvent; +import io.streamnative.pulsar.handlers.mqtt.common.systemtopic.RetainedMessageEvent; +import io.streamnative.pulsar.handlers.mqtt.common.systemtopic.SystemEventService; +import io.streamnative.pulsar.handlers.mqtt.common.systemtopic.SystemTopicBasedSystemEventService; +import io.streamnative.pulsar.handlers.mqtt.common.utils.MqttMessageUtils; +import io.streamnative.pulsar.handlers.mqtt.common.utils.MqttUtils; +import io.streamnative.pulsar.handlers.mqtt.common.utils.RetainedMessage; import java.util.Map; import java.util.Optional; import java.util.concurrent.CompletableFuture; @@ -35,21 +36,24 @@ public class RetainedMessageHandler { @Getter private final EventListener eventListener; - private final MQTTService mqttService; + private final SystemEventService eventService; private final Map retainedMessages = new ConcurrentHashMap<>(); - public RetainedMessageHandler(MQTTService mqttService) { - this.mqttService = mqttService; + private final boolean isSystemTopicEnabled; + + public RetainedMessageHandler(SystemEventService eventService) { + this.eventService = eventService; + this.isSystemTopicEnabled = eventService instanceof SystemTopicBasedSystemEventService; this.eventListener = new RetainedMessageEventListener(); } public CompletableFuture addRetainedMessage(MqttPublishMessage retainedMessage) { - if (mqttService.isSystemTopicEnabled()) { + if (isSystemTopicEnabled) { RetainedMessageEvent event = RetainedMessageEvent .builder() .retainedMessage(MqttMessageUtils.createRetainedMessage(retainedMessage)) .build(); - mqttService.getEventService().sendRetainedEvent(event); + eventService.sendRetainedEvent(event); } else { // Standalone mode addRetainedMessage(MqttMessageUtils.createRetainedMessage(retainedMessage)); diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/mqtt5/package-info.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/mqtt5/package-info.java new file mode 100644 index 000000000..a71bef463 --- /dev/null +++ b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/mqtt5/package-info.java @@ -0,0 +1,14 @@ +/** + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.streamnative.pulsar.handlers.mqtt.common.mqtt5; \ No newline at end of file diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/restrictions/ClientRestrictions.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/mqtt5/restrictions/ClientRestrictions.java similarity index 94% rename from mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/restrictions/ClientRestrictions.java rename to mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/mqtt5/restrictions/ClientRestrictions.java index 5ef8558b1..185032f8a 100644 --- a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/restrictions/ClientRestrictions.java +++ b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/mqtt5/restrictions/ClientRestrictions.java @@ -11,9 +11,9 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package io.streamnative.pulsar.handlers.mqtt.restrictions; +package io.streamnative.pulsar.handlers.mqtt.common.mqtt5.restrictions; -import io.streamnative.pulsar.handlers.mqtt.exception.restrictions.InvalidSessionExpireIntervalException; +import io.streamnative.pulsar.handlers.mqtt.common.exception.restrictions.InvalidSessionExpireIntervalException; import java.util.Optional; import lombok.AllArgsConstructor; import lombok.Builder; diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/restrictions/ServerRestrictions.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/mqtt5/restrictions/ServerRestrictions.java similarity index 92% rename from mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/restrictions/ServerRestrictions.java rename to mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/mqtt5/restrictions/ServerRestrictions.java index 0540e7c3d..b114da79d 100644 --- a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/restrictions/ServerRestrictions.java +++ b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/mqtt5/restrictions/ServerRestrictions.java @@ -11,7 +11,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package io.streamnative.pulsar.handlers.mqtt.restrictions; +package io.streamnative.pulsar.handlers.mqtt.common.mqtt5.restrictions; import lombok.Builder; import lombok.EqualsAndHashCode; diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/exception/restrictions/package-info.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/mqtt5/restrictions/package-info.java similarity index 89% rename from mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/exception/restrictions/package-info.java rename to mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/mqtt5/restrictions/package-info.java index c17a8af6e..e21b49f38 100644 --- a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/exception/restrictions/package-info.java +++ b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/mqtt5/restrictions/package-info.java @@ -15,4 +15,4 @@ /** * Package info. */ -package io.streamnative.pulsar.handlers.mqtt.exception.restrictions; +package io.streamnative.pulsar.handlers.mqtt.common.mqtt5.restrictions; diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/support/package-info.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/package-info.java similarity index 91% rename from mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/support/package-info.java rename to mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/package-info.java index 984a84365..23eaa5c7a 100644 --- a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/support/package-info.java +++ b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/package-info.java @@ -11,4 +11,4 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package io.streamnative.pulsar.handlers.mqtt.support; \ No newline at end of file +package io.streamnative.pulsar.handlers.mqtt.common; \ No newline at end of file diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/support/psk/PSKClientKeyManager.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/psk/PSKClientKeyManager.java similarity index 96% rename from mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/support/psk/PSKClientKeyManager.java rename to mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/psk/PSKClientKeyManager.java index cb3b3affc..587e79e6c 100644 --- a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/support/psk/PSKClientKeyManager.java +++ b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/psk/PSKClientKeyManager.java @@ -12,7 +12,7 @@ * limitations under the License. */ -package io.streamnative.pulsar.handlers.mqtt.support.psk; +package io.streamnative.pulsar.handlers.mqtt.common.psk; import java.net.Socket; import javax.crypto.SecretKey; diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/support/psk/PSKConfiguration.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/psk/PSKConfiguration.java similarity index 93% rename from mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/support/psk/PSKConfiguration.java rename to mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/psk/PSKConfiguration.java index ed695fadc..efb40a201 100644 --- a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/support/psk/PSKConfiguration.java +++ b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/psk/PSKConfiguration.java @@ -12,16 +12,16 @@ * limitations under the License. */ -package io.streamnative.pulsar.handlers.mqtt.support.psk; +package io.streamnative.pulsar.handlers.mqtt.common.psk; -import static io.streamnative.pulsar.handlers.mqtt.support.systemtopic.EventType.ADD_PSK_IDENTITY; +import static io.streamnative.pulsar.handlers.mqtt.common.systemtopic.EventType.ADD_PSK_IDENTITY; import io.netty.handler.ssl.ApplicationProtocolConfig; import io.netty.handler.ssl.ApplicationProtocolNames; -import io.streamnative.pulsar.handlers.mqtt.MQTTServerConfiguration; +import io.streamnative.pulsar.handlers.mqtt.broker.MQTTServerConfiguration; +import io.streamnative.pulsar.handlers.mqtt.common.systemtopic.EventListener; +import io.streamnative.pulsar.handlers.mqtt.common.systemtopic.MqttEvent; +import io.streamnative.pulsar.handlers.mqtt.common.systemtopic.PSKEvent; import io.streamnative.pulsar.handlers.mqtt.proxy.MQTTProxyConfiguration; -import io.streamnative.pulsar.handlers.mqtt.support.systemtopic.EventListener; -import io.streamnative.pulsar.handlers.mqtt.support.systemtopic.MqttEvent; -import io.streamnative.pulsar.handlers.mqtt.support.systemtopic.PSKEvent; import java.io.File; import java.util.HashSet; import java.util.List; diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/support/psk/PSKSecretKey.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/psk/PSKSecretKey.java similarity index 96% rename from mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/support/psk/PSKSecretKey.java rename to mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/psk/PSKSecretKey.java index db6be0b16..48848e438 100644 --- a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/support/psk/PSKSecretKey.java +++ b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/psk/PSKSecretKey.java @@ -12,7 +12,7 @@ * limitations under the License. */ -package io.streamnative.pulsar.handlers.mqtt.support.psk; +package io.streamnative.pulsar.handlers.mqtt.common.psk; import java.nio.charset.StandardCharsets; import java.util.Objects; diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/support/psk/PSKSecretKeyStore.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/psk/PSKSecretKeyStore.java similarity index 95% rename from mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/support/psk/PSKSecretKeyStore.java rename to mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/psk/PSKSecretKeyStore.java index 8d263f935..f6e027c2f 100644 --- a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/support/psk/PSKSecretKeyStore.java +++ b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/psk/PSKSecretKeyStore.java @@ -12,7 +12,7 @@ * limitations under the License. */ -package io.streamnative.pulsar.handlers.mqtt.support.psk; +package io.streamnative.pulsar.handlers.mqtt.common.psk; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentMap; diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/support/psk/PSKServerKeyManager.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/psk/PSKServerKeyManager.java similarity index 96% rename from mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/support/psk/PSKServerKeyManager.java rename to mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/psk/PSKServerKeyManager.java index ecdbc0305..ae79790b7 100644 --- a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/support/psk/PSKServerKeyManager.java +++ b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/psk/PSKServerKeyManager.java @@ -12,7 +12,7 @@ * limitations under the License. */ -package io.streamnative.pulsar.handlers.mqtt.support.psk; +package io.streamnative.pulsar.handlers.mqtt.common.psk; import java.net.Socket; import javax.crypto.SecretKey; diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/support/psk/PSKUtils.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/psk/PSKUtils.java similarity index 98% rename from mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/support/psk/PSKUtils.java rename to mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/psk/PSKUtils.java index b8379dd1e..f2b4b12e8 100644 --- a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/support/psk/PSKUtils.java +++ b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/psk/PSKUtils.java @@ -11,7 +11,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package io.streamnative.pulsar.handlers.mqtt.support.psk; +package io.streamnative.pulsar.handlers.mqtt.common.psk; import com.google.common.base.Joiner; import com.google.common.base.Splitter; diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/psk/package-info.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/psk/package-info.java new file mode 100644 index 000000000..534e56adb --- /dev/null +++ b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/psk/package-info.java @@ -0,0 +1,14 @@ +/** + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.streamnative.pulsar.handlers.mqtt.common.psk; \ No newline at end of file diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/support/systemtopic/ActionType.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/systemtopic/ActionType.java similarity index 90% rename from mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/support/systemtopic/ActionType.java rename to mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/systemtopic/ActionType.java index 11660dcf8..a0e3cd273 100644 --- a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/support/systemtopic/ActionType.java +++ b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/systemtopic/ActionType.java @@ -12,7 +12,7 @@ * limitations under the License. */ -package io.streamnative.pulsar.handlers.mqtt.support.systemtopic; +package io.streamnative.pulsar.handlers.mqtt.common.systemtopic; public enum ActionType { INSERT, diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/support/systemtopic/ConnectEvent.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/systemtopic/ConnectEvent.java similarity index 92% rename from mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/support/systemtopic/ConnectEvent.java rename to mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/systemtopic/ConnectEvent.java index 6670cae9d..4568aab83 100644 --- a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/support/systemtopic/ConnectEvent.java +++ b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/systemtopic/ConnectEvent.java @@ -11,7 +11,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package io.streamnative.pulsar.handlers.mqtt.support.systemtopic; +package io.streamnative.pulsar.handlers.mqtt.common.systemtopic; import lombok.AllArgsConstructor; import lombok.Builder; diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/support/systemtopic/DisabledSystemEventService.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/systemtopic/DisabledSystemEventService.java similarity index 95% rename from mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/support/systemtopic/DisabledSystemEventService.java rename to mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/systemtopic/DisabledSystemEventService.java index 825a009e6..dc1d81693 100644 --- a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/support/systemtopic/DisabledSystemEventService.java +++ b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/systemtopic/DisabledSystemEventService.java @@ -11,7 +11,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package io.streamnative.pulsar.handlers.mqtt.support.systemtopic; +package io.streamnative.pulsar.handlers.mqtt.common.systemtopic; import java.util.concurrent.CompletableFuture; diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/support/systemtopic/EventListener.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/systemtopic/EventListener.java similarity index 90% rename from mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/support/systemtopic/EventListener.java rename to mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/systemtopic/EventListener.java index b05aec2a6..596cb0c82 100644 --- a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/support/systemtopic/EventListener.java +++ b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/systemtopic/EventListener.java @@ -11,7 +11,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package io.streamnative.pulsar.handlers.mqtt.support.systemtopic; +package io.streamnative.pulsar.handlers.mqtt.common.systemtopic; public interface EventListener { diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/support/systemtopic/EventType.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/systemtopic/EventType.java similarity index 91% rename from mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/support/systemtopic/EventType.java rename to mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/systemtopic/EventType.java index a1a7174ab..92d3f940f 100644 --- a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/support/systemtopic/EventType.java +++ b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/systemtopic/EventType.java @@ -11,7 +11,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package io.streamnative.pulsar.handlers.mqtt.support.systemtopic; +package io.streamnative.pulsar.handlers.mqtt.common.systemtopic; public enum EventType { CONNECT, diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/support/systemtopic/LastWillMessageEvent.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/systemtopic/LastWillMessageEvent.java similarity index 86% rename from mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/support/systemtopic/LastWillMessageEvent.java rename to mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/systemtopic/LastWillMessageEvent.java index 22570371a..dd43d2a11 100644 --- a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/support/systemtopic/LastWillMessageEvent.java +++ b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/systemtopic/LastWillMessageEvent.java @@ -11,9 +11,9 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package io.streamnative.pulsar.handlers.mqtt.support.systemtopic; +package io.streamnative.pulsar.handlers.mqtt.common.systemtopic; -import io.streamnative.pulsar.handlers.mqtt.utils.WillMessage; +import io.streamnative.pulsar.handlers.mqtt.common.utils.WillMessage; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/support/systemtopic/MQTTEventSystemTopicClient.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/systemtopic/MQTTEventSystemTopicClient.java similarity index 99% rename from mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/support/systemtopic/MQTTEventSystemTopicClient.java rename to mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/systemtopic/MQTTEventSystemTopicClient.java index dda59787a..28eaf19cd 100644 --- a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/support/systemtopic/MQTTEventSystemTopicClient.java +++ b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/systemtopic/MQTTEventSystemTopicClient.java @@ -12,7 +12,7 @@ * limitations under the License. */ -package io.streamnative.pulsar.handlers.mqtt.support.systemtopic; +package io.streamnative.pulsar.handlers.mqtt.common.systemtopic; import java.io.IOException; import java.util.concurrent.CompletableFuture; diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/support/systemtopic/MqttEvent.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/systemtopic/MqttEvent.java similarity index 93% rename from mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/support/systemtopic/MqttEvent.java rename to mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/systemtopic/MqttEvent.java index 24db4912c..f70910148 100644 --- a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/support/systemtopic/MqttEvent.java +++ b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/systemtopic/MqttEvent.java @@ -11,7 +11,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package io.streamnative.pulsar.handlers.mqtt.support.systemtopic; +package io.streamnative.pulsar.handlers.mqtt.common.systemtopic; import lombok.AllArgsConstructor; import lombok.Builder; diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/support/systemtopic/MqttEventUtils.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/systemtopic/MqttEventUtils.java similarity index 97% rename from mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/support/systemtopic/MqttEventUtils.java rename to mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/systemtopic/MqttEventUtils.java index b6084d9ce..ddba21043 100644 --- a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/support/systemtopic/MqttEventUtils.java +++ b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/systemtopic/MqttEventUtils.java @@ -11,7 +11,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package io.streamnative.pulsar.handlers.mqtt.support.systemtopic; +package io.streamnative.pulsar.handlers.mqtt.common.systemtopic; import org.apache.bookkeeper.common.util.JsonUtil; diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/support/systemtopic/PSKEvent.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/systemtopic/PSKEvent.java similarity index 92% rename from mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/support/systemtopic/PSKEvent.java rename to mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/systemtopic/PSKEvent.java index 663015948..69bda9043 100644 --- a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/support/systemtopic/PSKEvent.java +++ b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/systemtopic/PSKEvent.java @@ -11,7 +11,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package io.streamnative.pulsar.handlers.mqtt.support.systemtopic; +package io.streamnative.pulsar.handlers.mqtt.common.systemtopic; import lombok.AllArgsConstructor; import lombok.Builder; diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/support/systemtopic/RetainedMessageEvent.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/systemtopic/RetainedMessageEvent.java similarity index 85% rename from mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/support/systemtopic/RetainedMessageEvent.java rename to mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/systemtopic/RetainedMessageEvent.java index efffef314..a12661e3e 100644 --- a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/support/systemtopic/RetainedMessageEvent.java +++ b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/systemtopic/RetainedMessageEvent.java @@ -11,9 +11,9 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package io.streamnative.pulsar.handlers.mqtt.support.systemtopic; +package io.streamnative.pulsar.handlers.mqtt.common.systemtopic; -import io.streamnative.pulsar.handlers.mqtt.utils.RetainedMessage; +import io.streamnative.pulsar.handlers.mqtt.common.utils.RetainedMessage; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/support/systemtopic/SourceEvent.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/systemtopic/SourceEvent.java similarity index 90% rename from mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/support/systemtopic/SourceEvent.java rename to mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/systemtopic/SourceEvent.java index c09649932..5545e4b29 100644 --- a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/support/systemtopic/SourceEvent.java +++ b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/systemtopic/SourceEvent.java @@ -11,7 +11,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package io.streamnative.pulsar.handlers.mqtt.support.systemtopic; +package io.streamnative.pulsar.handlers.mqtt.common.systemtopic; public abstract class SourceEvent { } diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/support/systemtopic/SystemEventService.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/systemtopic/SystemEventService.java similarity index 93% rename from mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/support/systemtopic/SystemEventService.java rename to mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/systemtopic/SystemEventService.java index 2738b422f..705d31d13 100644 --- a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/support/systemtopic/SystemEventService.java +++ b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/systemtopic/SystemEventService.java @@ -11,7 +11,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package io.streamnative.pulsar.handlers.mqtt.support.systemtopic; +package io.streamnative.pulsar.handlers.mqtt.common.systemtopic; import java.util.concurrent.CompletableFuture; diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/support/systemtopic/SystemTopicBasedSystemEventService.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/systemtopic/SystemTopicBasedSystemEventService.java similarity index 96% rename from mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/support/systemtopic/SystemTopicBasedSystemEventService.java rename to mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/systemtopic/SystemTopicBasedSystemEventService.java index 9e8117455..0a836aece 100644 --- a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/support/systemtopic/SystemTopicBasedSystemEventService.java +++ b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/systemtopic/SystemTopicBasedSystemEventService.java @@ -11,9 +11,8 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package io.streamnative.pulsar.handlers.mqtt.support.systemtopic; +package io.streamnative.pulsar.handlers.mqtt.common.systemtopic; -import static io.streamnative.pulsar.handlers.mqtt.support.systemtopic.MqttEventUtils.getMqttEvent; import com.github.benmanes.caffeine.cache.AsyncLoadingCache; import com.github.benmanes.caffeine.cache.Caffeine; import com.google.common.annotations.Beta; @@ -82,7 +81,7 @@ public void addListener(EventListener listener) { @Override public CompletableFuture sendConnectEvent(ConnectEvent event) { checkReader(); - return sendEvent(getMqttEvent(event, ActionType.INSERT)) + return sendEvent(MqttEventUtils.getMqttEvent(event, ActionType.INSERT)) .thenRun(() -> { if (log.isDebugEnabled()) { log.debug("send connect event : {}", event); @@ -93,7 +92,7 @@ public CompletableFuture sendConnectEvent(ConnectEvent event) { @Override public CompletableFuture sendRetainedEvent(RetainedMessageEvent event) { checkReader(); - return sendEvent(getMqttEvent(event, ActionType.INSERT)) + return sendEvent(MqttEventUtils.getMqttEvent(event, ActionType.INSERT)) .thenRun(() -> { if (log.isDebugEnabled()) { log.debug("send retained event : {}", event); @@ -104,7 +103,7 @@ public CompletableFuture sendRetainedEvent(RetainedMessageEvent event) { @Override public CompletableFuture sendPSKEvent(PSKEvent event) { checkReader(); - return sendEvent(getMqttEvent(event, ActionType.INSERT)) + return sendEvent(MqttEventUtils.getMqttEvent(event, ActionType.INSERT)) .thenRun(() -> { if (log.isDebugEnabled()) { log.debug("send psk event : {}", event); diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/systemtopic/package-info.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/systemtopic/package-info.java new file mode 100644 index 000000000..6dccfbcac --- /dev/null +++ b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/systemtopic/package-info.java @@ -0,0 +1,14 @@ +/** + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.streamnative.pulsar.handlers.mqtt.common.systemtopic; \ No newline at end of file diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/utils/ConfigurationUtils.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/utils/ConfigurationUtils.java similarity index 99% rename from mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/utils/ConfigurationUtils.java rename to mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/utils/ConfigurationUtils.java index 6d1caac71..5812162af 100644 --- a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/utils/ConfigurationUtils.java +++ b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/utils/ConfigurationUtils.java @@ -11,7 +11,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package io.streamnative.pulsar.handlers.mqtt.utils; +package io.streamnative.pulsar.handlers.mqtt.common.utils; import static com.google.common.base.Preconditions.checkArgument; import static com.google.common.base.Preconditions.checkNotNull; diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/utils/EventParserUtils.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/utils/EventParserUtils.java similarity index 96% rename from mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/utils/EventParserUtils.java rename to mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/utils/EventParserUtils.java index 41eebe7b9..7a4e8c284 100644 --- a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/utils/EventParserUtils.java +++ b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/utils/EventParserUtils.java @@ -11,7 +11,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package io.streamnative.pulsar.handlers.mqtt.utils; +package io.streamnative.pulsar.handlers.mqtt.common.utils; import org.apache.pulsar.common.naming.TopicName; import org.apache.pulsar.common.util.Codec; diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/utils/FutureUtils.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/utils/FutureUtils.java similarity index 95% rename from mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/utils/FutureUtils.java rename to mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/utils/FutureUtils.java index e73ba1295..33210e682 100644 --- a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/utils/FutureUtils.java +++ b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/utils/FutureUtils.java @@ -11,7 +11,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package io.streamnative.pulsar.handlers.mqtt.utils; +package io.streamnative.pulsar.handlers.mqtt.common.utils; import io.netty.channel.ChannelFuture; import java.util.concurrent.CompletableFuture; diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/support/MessageBuilder.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/utils/MessageBuilder.java similarity index 99% rename from mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/support/MessageBuilder.java rename to mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/utils/MessageBuilder.java index 856430e13..1ab4a865d 100644 --- a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/support/MessageBuilder.java +++ b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/utils/MessageBuilder.java @@ -11,7 +11,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package io.streamnative.pulsar.handlers.mqtt.support; +package io.streamnative.pulsar.handlers.mqtt.common.utils; import io.netty.buffer.ByteBuf; import io.netty.handler.codec.mqtt.MqttConnectMessage; diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/utils/MqttMessageUtils.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/utils/MqttMessageUtils.java similarity index 99% rename from mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/utils/MqttMessageUtils.java rename to mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/utils/MqttMessageUtils.java index fb25aaf23..6b8a92e99 100644 --- a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/utils/MqttMessageUtils.java +++ b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/utils/MqttMessageUtils.java @@ -11,7 +11,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package io.streamnative.pulsar.handlers.mqtt.utils; +package io.streamnative.pulsar.handlers.mqtt.common.utils; import static com.google.common.base.Preconditions.checkArgument; import static io.netty.handler.codec.mqtt.MqttQoS.AT_MOST_ONCE; @@ -31,7 +31,6 @@ import io.netty.handler.codec.mqtt.MqttSubscribeMessage; import io.netty.handler.codec.mqtt.MqttTopicSubscription; import io.netty.handler.codec.mqtt.MqttVersion; -import io.streamnative.pulsar.handlers.mqtt.support.MessageBuilder; import java.net.InetSocketAddress; import java.nio.charset.StandardCharsets; import java.util.ArrayList; diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/utils/MqttUtils.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/utils/MqttUtils.java similarity index 95% rename from mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/utils/MqttUtils.java rename to mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/utils/MqttUtils.java index b64b851e7..8b8ce99aa 100644 --- a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/utils/MqttUtils.java +++ b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/utils/MqttUtils.java @@ -11,13 +11,13 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package io.streamnative.pulsar.handlers.mqtt.utils; +package io.streamnative.pulsar.handlers.mqtt.common.utils; import io.netty.handler.codec.mqtt.MqttConnectMessage; import io.netty.handler.codec.mqtt.MqttPublishMessage; import io.netty.handler.codec.mqtt.MqttQoS; import io.netty.handler.codec.mqtt.MqttVersion; -import io.streamnative.pulsar.handlers.mqtt.TopicFilter; +import io.streamnative.pulsar.handlers.mqtt.common.TopicFilter; /** * Some Mqtt protocol utilities. diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/utils/NettyUtils.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/utils/NettyUtils.java similarity index 86% rename from mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/utils/NettyUtils.java rename to mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/utils/NettyUtils.java index 06691ccba..c6d0f6c63 100644 --- a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/utils/NettyUtils.java +++ b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/utils/NettyUtils.java @@ -11,13 +11,13 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package io.streamnative.pulsar.handlers.mqtt.utils; +package io.streamnative.pulsar.handlers.mqtt.common.utils; -import static io.streamnative.pulsar.handlers.mqtt.Constants.ATTR_CLIENT_ADDR; -import static io.streamnative.pulsar.handlers.mqtt.Constants.ATTR_CONNECTION; +import static io.streamnative.pulsar.handlers.mqtt.common.Constants.ATTR_CLIENT_ADDR; +import static io.streamnative.pulsar.handlers.mqtt.common.Constants.ATTR_CONNECTION; import io.netty.channel.Channel; import io.netty.util.AttributeKey; -import io.streamnative.pulsar.handlers.mqtt.Connection; +import io.streamnative.pulsar.handlers.mqtt.common.Connection; import java.net.InetSocketAddress; /** diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/utils/Paths.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/utils/Paths.java similarity index 94% rename from mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/utils/Paths.java rename to mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/utils/Paths.java index 14d76b29e..005f976c5 100644 --- a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/utils/Paths.java +++ b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/utils/Paths.java @@ -11,7 +11,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package io.streamnative.pulsar.handlers.mqtt.utils; +package io.streamnative.pulsar.handlers.mqtt.common.utils; import java.net.URLDecoder; import java.net.URLEncoder; diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/utils/PulsarTopicUtils.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/utils/PulsarTopicUtils.java similarity index 97% rename from mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/utils/PulsarTopicUtils.java rename to mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/utils/PulsarTopicUtils.java index 7c04880af..6b14e02a3 100644 --- a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/utils/PulsarTopicUtils.java +++ b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/utils/PulsarTopicUtils.java @@ -11,12 +11,11 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package io.streamnative.pulsar.handlers.mqtt.utils; +package io.streamnative.pulsar.handlers.mqtt.common.utils; -import static io.streamnative.pulsar.handlers.mqtt.utils.MqttUtils.isRegexFilter; import com.google.common.base.Splitter; -import io.streamnative.pulsar.handlers.mqtt.TopicFilter; -import io.streamnative.pulsar.handlers.mqtt.TopicFilterImpl; +import io.streamnative.pulsar.handlers.mqtt.common.TopicFilter; +import io.streamnative.pulsar.handlers.mqtt.common.TopicFilterImpl; import java.net.URLDecoder; import java.net.URLEncoder; import java.util.Collections; @@ -199,7 +198,7 @@ public static TopicFilter getTopicFilter(String mqttTopicFilter) { public static CompletableFuture> asyncGetTopicListFromTopicSubscription(String topicFilter, String defaultTenant, String defaultNamespace, PulsarService pulsarService, String defaultTopicDomain) { - if (isRegexFilter(topicFilter)) { + if (MqttUtils.isRegexFilter(topicFilter)) { TopicFilter filter = PulsarTopicUtils.getTopicFilter(topicFilter); Pair domainNamespacePair = PulsarTopicUtils diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/utils/RetainedMessage.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/utils/RetainedMessage.java similarity index 94% rename from mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/utils/RetainedMessage.java rename to mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/utils/RetainedMessage.java index dd09a3483..b0ad2b21b 100644 --- a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/utils/RetainedMessage.java +++ b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/utils/RetainedMessage.java @@ -11,7 +11,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package io.streamnative.pulsar.handlers.mqtt.utils; +package io.streamnative.pulsar.handlers.mqtt.common.utils; import io.netty.handler.codec.mqtt.MqttQoS; import lombok.Getter; diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/utils/WillMessage.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/utils/WillMessage.java similarity index 97% rename from mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/utils/WillMessage.java rename to mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/utils/WillMessage.java index 4f5d27e33..f64403936 100644 --- a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/utils/WillMessage.java +++ b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/utils/WillMessage.java @@ -11,7 +11,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package io.streamnative.pulsar.handlers.mqtt.utils; +package io.streamnative.pulsar.handlers.mqtt.common.utils; import io.netty.handler.codec.mqtt.MqttProperties; import io.netty.handler.codec.mqtt.MqttQoS; diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/utils/package-info.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/utils/package-info.java new file mode 100644 index 000000000..3b0030bcb --- /dev/null +++ b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/common/utils/package-info.java @@ -0,0 +1,14 @@ +/** + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.streamnative.pulsar.handlers.mqtt.common.utils; \ No newline at end of file diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/messages/codes/mqtt3/package-info.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/messages/codes/mqtt3/package-info.java deleted file mode 100644 index c1552947a..000000000 --- a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/messages/codes/mqtt3/package-info.java +++ /dev/null @@ -1,18 +0,0 @@ -/** - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/** - * Package info. - */ -package io.streamnative.pulsar.handlers.mqtt.messages.codes.mqtt3; diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/messages/codes/mqtt5/package-info.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/messages/codes/mqtt5/package-info.java deleted file mode 100644 index a39f1996c..000000000 --- a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/messages/codes/mqtt5/package-info.java +++ /dev/null @@ -1,18 +0,0 @@ -/** - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/** - * Package info. - */ -package io.streamnative.pulsar.handlers.mqtt.messages.codes.mqtt5; diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/messages/codes/package-info.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/messages/codes/package-info.java deleted file mode 100644 index dd73c6dc2..000000000 --- a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/messages/codes/package-info.java +++ /dev/null @@ -1,18 +0,0 @@ -/** - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/** - * Package info. - */ -package io.streamnative.pulsar.handlers.mqtt.messages.codes; diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/messages/package-info.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/messages/package-info.java deleted file mode 100644 index 90645d433..000000000 --- a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/messages/package-info.java +++ /dev/null @@ -1,18 +0,0 @@ -/** - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/** - * Package info. - */ -package io.streamnative.pulsar.handlers.mqtt.messages; diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/proxy/MQTTProxyChannelInitializer.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/proxy/MQTTProxyChannelInitializer.java index 73d3ad2c6..7617cb2cb 100644 --- a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/proxy/MQTTProxyChannelInitializer.java +++ b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/proxy/MQTTProxyChannelInitializer.java @@ -19,10 +19,10 @@ import io.netty.handler.codec.mqtt.MqttDecoder; import io.netty.handler.ssl.SslHandler; import io.netty.handler.timeout.IdleStateHandler; -import io.streamnative.pulsar.handlers.mqtt.adapter.CombineAdapterHandler; -import io.streamnative.pulsar.handlers.mqtt.adapter.MqttAdapterDecoder; -import io.streamnative.pulsar.handlers.mqtt.adapter.MqttAdapterEncoder; -import io.streamnative.pulsar.handlers.mqtt.support.psk.PSKUtils; +import io.streamnative.pulsar.handlers.mqtt.common.adapter.CombineAdapterHandler; +import io.streamnative.pulsar.handlers.mqtt.common.adapter.MqttAdapterDecoder; +import io.streamnative.pulsar.handlers.mqtt.common.adapter.MqttAdapterEncoder; +import io.streamnative.pulsar.handlers.mqtt.common.psk.PSKUtils; import java.util.concurrent.ScheduledExecutorService; import java.util.concurrent.TimeUnit; import lombok.Getter; diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/proxy/MQTTProxyConfiguration.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/proxy/MQTTProxyConfiguration.java index 251eac432..c1193a12f 100644 --- a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/proxy/MQTTProxyConfiguration.java +++ b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/proxy/MQTTProxyConfiguration.java @@ -13,7 +13,7 @@ */ package io.streamnative.pulsar.handlers.mqtt.proxy; -import io.streamnative.pulsar.handlers.mqtt.MQTTCommonConfiguration; +import io.streamnative.pulsar.handlers.mqtt.common.MQTTCommonConfiguration; import lombok.Getter; import lombok.Setter; import org.apache.pulsar.common.configuration.Category; @@ -56,12 +56,6 @@ public class MQTTProxyConfiguration extends MQTTCommonConfiguration { ) private int maxPendingSendRequest = 1000; - @FieldContext( - category = CATEGORY_MQTT_PROXY, - doc = "Enable system event service." - ) - private boolean systemEventEnabled = true; - @FieldContext( category = CATEGORY_MQTT, doc = "The maximum number of channels which can exist concurrently on a connection." diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/proxy/MQTTProxyInboundHandler.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/proxy/MQTTProxyInboundHandler.java index a7171116e..39ef31f70 100644 --- a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/proxy/MQTTProxyInboundHandler.java +++ b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/proxy/MQTTProxyInboundHandler.java @@ -13,9 +13,9 @@ */ package io.streamnative.pulsar.handlers.mqtt.proxy; -import static io.streamnative.pulsar.handlers.mqtt.Constants.DEFAULT_CLIENT_ID; +import static io.streamnative.pulsar.handlers.mqtt.common.Constants.DEFAULT_CLIENT_ID; import io.netty.channel.ChannelHandlerContext; -import io.streamnative.pulsar.handlers.mqtt.MQTTCommonInboundHandler; +import io.streamnative.pulsar.handlers.mqtt.common.MQTTCommonInboundHandler; import lombok.extern.slf4j.Slf4j; /** diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/proxy/MQTTProxyProtocolMethodProcessor.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/proxy/MQTTProxyProtocolMethodProcessor.java index b61a74a61..481a82e9a 100644 --- a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/proxy/MQTTProxyProtocolMethodProcessor.java +++ b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/proxy/MQTTProxyProtocolMethodProcessor.java @@ -13,9 +13,9 @@ */ package io.streamnative.pulsar.handlers.mqtt.proxy; -import static io.streamnative.pulsar.handlers.mqtt.utils.MqttMessageUtils.createMqtt5ConnectMessage; -import static io.streamnative.pulsar.handlers.mqtt.utils.MqttMessageUtils.createMqttPublishMessage; -import static io.streamnative.pulsar.handlers.mqtt.utils.MqttMessageUtils.createMqttSubscribeMessage; +import static io.streamnative.pulsar.handlers.mqtt.common.utils.MqttMessageUtils.createMqtt5ConnectMessage; +import static io.streamnative.pulsar.handlers.mqtt.common.utils.MqttMessageUtils.createMqttPublishMessage; +import static io.streamnative.pulsar.handlers.mqtt.common.utils.MqttMessageUtils.createMqttSubscribeMessage; import com.google.common.collect.Lists; import io.netty.channel.ChannelHandlerContext; import io.netty.handler.codec.mqtt.MqttConnectMessage; @@ -26,27 +26,27 @@ import io.netty.handler.codec.mqtt.MqttSubscribeMessage; import io.netty.handler.codec.mqtt.MqttTopicSubscription; import io.netty.handler.codec.mqtt.MqttUnsubscribeMessage; -import io.streamnative.pulsar.handlers.mqtt.Connection; -import io.streamnative.pulsar.handlers.mqtt.MQTTConnectionManager; -import io.streamnative.pulsar.handlers.mqtt.TopicFilter; -import io.streamnative.pulsar.handlers.mqtt.adapter.AdapterChannel; -import io.streamnative.pulsar.handlers.mqtt.adapter.MQTTProxyAdapter; -import io.streamnative.pulsar.handlers.mqtt.adapter.MqttAdapterMessage; -import io.streamnative.pulsar.handlers.mqtt.messages.ack.MqttAck; -import io.streamnative.pulsar.handlers.mqtt.messages.ack.MqttPubAck; -import io.streamnative.pulsar.handlers.mqtt.messages.ack.MqttSubAck; -import io.streamnative.pulsar.handlers.mqtt.messages.codes.mqtt5.Mqtt5PubReasonCode; -import io.streamnative.pulsar.handlers.mqtt.messages.properties.PulsarProperties; -import io.streamnative.pulsar.handlers.mqtt.restrictions.ClientRestrictions; -import io.streamnative.pulsar.handlers.mqtt.restrictions.ServerRestrictions; -import io.streamnative.pulsar.handlers.mqtt.support.AbstractCommonProtocolMethodProcessor; -import io.streamnative.pulsar.handlers.mqtt.support.event.AutoSubscribeHandler; -import io.streamnative.pulsar.handlers.mqtt.support.systemtopic.ConnectEvent; -import io.streamnative.pulsar.handlers.mqtt.support.systemtopic.SystemEventService; -import io.streamnative.pulsar.handlers.mqtt.utils.MqttMessageUtils; -import io.streamnative.pulsar.handlers.mqtt.utils.MqttUtils; -import io.streamnative.pulsar.handlers.mqtt.utils.NettyUtils; -import io.streamnative.pulsar.handlers.mqtt.utils.PulsarTopicUtils; +import io.streamnative.pulsar.handlers.mqtt.common.AbstractCommonProtocolMethodProcessor; +import io.streamnative.pulsar.handlers.mqtt.common.Connection; +import io.streamnative.pulsar.handlers.mqtt.common.MQTTConnectionManager; +import io.streamnative.pulsar.handlers.mqtt.common.TopicFilter; +import io.streamnative.pulsar.handlers.mqtt.common.adapter.AdapterChannel; +import io.streamnative.pulsar.handlers.mqtt.common.adapter.MQTTProxyAdapter; +import io.streamnative.pulsar.handlers.mqtt.common.adapter.MqttAdapterMessage; +import io.streamnative.pulsar.handlers.mqtt.common.event.AutoSubscribeHandler; +import io.streamnative.pulsar.handlers.mqtt.common.messages.ack.MqttAck; +import io.streamnative.pulsar.handlers.mqtt.common.messages.ack.MqttPubAck; +import io.streamnative.pulsar.handlers.mqtt.common.messages.ack.MqttSubAck; +import io.streamnative.pulsar.handlers.mqtt.common.messages.codes.mqtt5.Mqtt5PubReasonCode; +import io.streamnative.pulsar.handlers.mqtt.common.messages.properties.PulsarProperties; +import io.streamnative.pulsar.handlers.mqtt.common.mqtt5.restrictions.ClientRestrictions; +import io.streamnative.pulsar.handlers.mqtt.common.mqtt5.restrictions.ServerRestrictions; +import io.streamnative.pulsar.handlers.mqtt.common.systemtopic.ConnectEvent; +import io.streamnative.pulsar.handlers.mqtt.common.systemtopic.SystemEventService; +import io.streamnative.pulsar.handlers.mqtt.common.utils.MqttMessageUtils; +import io.streamnative.pulsar.handlers.mqtt.common.utils.MqttUtils; +import io.streamnative.pulsar.handlers.mqtt.common.utils.NettyUtils; +import io.streamnative.pulsar.handlers.mqtt.common.utils.PulsarTopicUtils; import java.net.InetSocketAddress; import java.util.ArrayList; import java.util.Collections; diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/proxy/MQTTProxyService.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/proxy/MQTTProxyService.java index 968f2a40b..4c10a2e01 100644 --- a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/proxy/MQTTProxyService.java +++ b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/proxy/MQTTProxyService.java @@ -19,22 +19,23 @@ import io.netty.channel.Channel; import io.netty.channel.EventLoopGroup; import io.netty.util.concurrent.DefaultThreadFactory; -import io.streamnative.pulsar.handlers.mqtt.MQTTAuthenticationService; -import io.streamnative.pulsar.handlers.mqtt.MQTTConnectionManager; -import io.streamnative.pulsar.handlers.mqtt.MQTTService; -import io.streamnative.pulsar.handlers.mqtt.adapter.MQTTProxyAdapter; -import io.streamnative.pulsar.handlers.mqtt.support.event.PulsarEventCenter; -import io.streamnative.pulsar.handlers.mqtt.support.event.PulsarEventCenterImpl; -import io.streamnative.pulsar.handlers.mqtt.support.psk.PSKConfiguration; -import io.streamnative.pulsar.handlers.mqtt.support.systemtopic.DisabledSystemEventService; -import io.streamnative.pulsar.handlers.mqtt.support.systemtopic.SystemEventService; -import io.streamnative.pulsar.handlers.mqtt.support.systemtopic.SystemTopicBasedSystemEventService; +import io.streamnative.pulsar.handlers.mqtt.common.MQTTConnectionManager; +import io.streamnative.pulsar.handlers.mqtt.common.adapter.MQTTProxyAdapter; +import io.streamnative.pulsar.handlers.mqtt.common.authentication.MQTTAuthenticationService; +import io.streamnative.pulsar.handlers.mqtt.common.event.PulsarEventCenter; +import io.streamnative.pulsar.handlers.mqtt.common.event.PulsarEventCenterImpl; +import io.streamnative.pulsar.handlers.mqtt.common.mqtt5.RetainedMessageHandler; +import io.streamnative.pulsar.handlers.mqtt.common.psk.PSKConfiguration; +import io.streamnative.pulsar.handlers.mqtt.common.systemtopic.DisabledSystemEventService; +import io.streamnative.pulsar.handlers.mqtt.common.systemtopic.SystemEventService; +import io.streamnative.pulsar.handlers.mqtt.common.systemtopic.SystemTopicBasedSystemEventService; import java.io.Closeable; import java.util.concurrent.Executors; import java.util.concurrent.ScheduledExecutorService; import lombok.Getter; import lombok.extern.slf4j.Slf4j; import org.apache.pulsar.broker.PulsarService; +import org.apache.pulsar.broker.service.BrokerService; import org.apache.pulsar.common.util.netty.EventLoopUtil; /** @@ -72,24 +73,26 @@ public class MQTTProxyService implements Closeable { private DefaultThreadFactory workerThreadFactory = new DefaultThreadFactory("mqtt-redirect-io"); private ScheduledExecutorService sslContextRefresher; - public MQTTProxyService(MQTTService mqttService, MQTTProxyConfiguration proxyConfig) { + public MQTTProxyService(BrokerService brokerService, MQTTProxyConfiguration proxyConfig) { configValid(proxyConfig); - this.pulsarService = mqttService.getPulsarService(); + this.pulsarService = brokerService.getPulsar(); this.proxyConfig = proxyConfig; this.pskConfiguration = new PSKConfiguration(proxyConfig); - this.authenticationService = mqttService.getAuthenticationService(); + this.authenticationService = proxyConfig.isMqttAuthenticationEnabled() + ? new MQTTAuthenticationService(brokerService, + proxyConfig.getMqttAuthenticationMethods(), + proxyConfig.isMqttProxyMTlsAuthenticationEnabled()) : null; this.connectionManager = new MQTTConnectionManager(pulsarService.getAdvertisedAddress()); this.eventService = proxyConfig.isSystemEventEnabled() - ? new SystemTopicBasedSystemEventService(mqttService.getPulsarService()) + ? new SystemTopicBasedSystemEventService(pulsarService) : new DisabledSystemEventService(); this.eventService.addListener(connectionManager.getEventListener()); - this.eventService.addListener(mqttService.getRetainedMessageHandler().getEventListener()); - mqttService.setEventService(eventService); + this.eventService.addListener(new RetainedMessageHandler(eventService).getEventListener()); this.acceptorGroup = EventLoopUtil.newEventLoopGroup(proxyConfig.getMqttProxyNumAcceptorThreads(), false, acceptorThreadFactory); this.workerGroup = EventLoopUtil.newEventLoopGroup(proxyConfig.getMqttProxyNumIOThreads(), false, workerThreadFactory); - this.eventCenter = new PulsarEventCenterImpl(mqttService.getBrokerService(), + this.eventCenter = new PulsarEventCenterImpl(brokerService, proxyConfig.getEventCenterCallbackPoolThreadNum()); this.proxyAdapter = new MQTTProxyAdapter(this); this.sslContextRefresher = Executors.newSingleThreadScheduledExecutor( diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/proxy/PulsarServiceLookupHandler.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/proxy/PulsarServiceLookupHandler.java index b223a6ab9..9ead09ef4 100644 --- a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/proxy/PulsarServiceLookupHandler.java +++ b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/proxy/PulsarServiceLookupHandler.java @@ -14,7 +14,7 @@ package io.streamnative.pulsar.handlers.mqtt.proxy; import static org.apache.commons.lang3.StringUtils.isNotBlank; -import io.streamnative.pulsar.handlers.mqtt.utils.ConfigurationUtils; +import io.streamnative.pulsar.handlers.mqtt.common.utils.ConfigurationUtils; import java.net.InetSocketAddress; import java.util.Arrays; import java.util.Collections; diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/restrictions/package-info.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/restrictions/package-info.java deleted file mode 100644 index b948d8529..000000000 --- a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/restrictions/package-info.java +++ /dev/null @@ -1,18 +0,0 @@ -/** - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/** - * Package info. - */ -package io.streamnative.pulsar.handlers.mqtt.restrictions; diff --git a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/support/event/package-info.java b/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/support/event/package-info.java deleted file mode 100644 index 73853493b..000000000 --- a/mqtt-impl/src/main/java/io/streamnative/pulsar/handlers/mqtt/support/event/package-info.java +++ /dev/null @@ -1,18 +0,0 @@ -/** - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/** - * Package info. - */ -package io.streamnative.pulsar.handlers.mqtt.support.event; diff --git a/mqtt-impl/src/main/resources/META-INF/services/additional_servlet.yml b/mqtt-impl/src/main/resources/META-INF/services/additional_servlet.yml index 0928c90fc..196d90839 100644 --- a/mqtt-impl/src/main/resources/META-INF/services/additional_servlet.yml +++ b/mqtt-impl/src/main/resources/META-INF/services/additional_servlet.yml @@ -14,4 +14,4 @@ name: mqtt-servlet description: MQTT servlet handler -additionalServletClass: io.streamnative.pulsar.handlers.mqtt.MQTTAdditionalServlet +additionalServletClass: io.streamnative.pulsar.handlers.mqtt.broker.rest.MQTTAdditionalServlet diff --git a/mqtt-impl/src/main/resources/META-INF/services/pulsar-protocol-handler.yml b/mqtt-impl/src/main/resources/META-INF/services/pulsar-protocol-handler.yml index 5cc293009..2809735b8 100644 --- a/mqtt-impl/src/main/resources/META-INF/services/pulsar-protocol-handler.yml +++ b/mqtt-impl/src/main/resources/META-INF/services/pulsar-protocol-handler.yml @@ -14,4 +14,4 @@ name: mqtt description: MQTT Protocol Handler -handlerClass: io.streamnative.pulsar.handlers.mqtt.MQTTProtocolHandler +handlerClass: io.streamnative.pulsar.handlers.mqtt.broker.MQTTProtocolHandler diff --git a/mqtt-impl/src/test/java/io/streamnative/pulsar/handlers/mqtt/MQTTSubscriptionManagerTest.java b/mqtt-impl/src/test/java/io/streamnative/pulsar/handlers/mqtt/MQTTSubscriptionManagerTest.java index 204e97141..d573bd31d 100644 --- a/mqtt-impl/src/test/java/io/streamnative/pulsar/handlers/mqtt/MQTTSubscriptionManagerTest.java +++ b/mqtt-impl/src/test/java/io/streamnative/pulsar/handlers/mqtt/MQTTSubscriptionManagerTest.java @@ -16,6 +16,7 @@ import com.google.common.collect.Lists; import io.netty.handler.codec.mqtt.MqttQoS; import io.netty.handler.codec.mqtt.MqttTopicSubscription; +import io.streamnative.pulsar.handlers.mqtt.broker.impl.MQTTSubscriptionManager; import org.testng.Assert; import org.testng.annotations.Test; diff --git a/mqtt-impl/src/test/java/io/streamnative/pulsar/handlers/mqtt/support/MQTTMetricsCollectorTest.java b/mqtt-impl/src/test/java/io/streamnative/pulsar/handlers/mqtt/broker/MQTTMetricsCollectorTest.java similarity index 94% rename from mqtt-impl/src/test/java/io/streamnative/pulsar/handlers/mqtt/support/MQTTMetricsCollectorTest.java rename to mqtt-impl/src/test/java/io/streamnative/pulsar/handlers/mqtt/broker/MQTTMetricsCollectorTest.java index f56901dbc..96d5fa3a5 100644 --- a/mqtt-impl/src/test/java/io/streamnative/pulsar/handlers/mqtt/support/MQTTMetricsCollectorTest.java +++ b/mqtt-impl/src/test/java/io/streamnative/pulsar/handlers/mqtt/broker/MQTTMetricsCollectorTest.java @@ -11,11 +11,11 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package io.streamnative.pulsar.handlers.mqtt.support; +package io.streamnative.pulsar.handlers.mqtt.broker; import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.mock; -import io.streamnative.pulsar.handlers.mqtt.MQTTServerConfiguration; +import io.streamnative.pulsar.handlers.mqtt.broker.metric.MQTTMetricsCollector; import org.testng.Assert; import org.testng.annotations.BeforeMethod; import org.testng.annotations.Test; diff --git a/mqtt-impl/src/test/java/io/streamnative/pulsar/handlers/mqtt/support/MQTTMetricsProviderTest.java b/mqtt-impl/src/test/java/io/streamnative/pulsar/handlers/mqtt/broker/MQTTMetricsProviderTest.java similarity index 91% rename from mqtt-impl/src/test/java/io/streamnative/pulsar/handlers/mqtt/support/MQTTMetricsProviderTest.java rename to mqtt-impl/src/test/java/io/streamnative/pulsar/handlers/mqtt/broker/MQTTMetricsProviderTest.java index 3f533ba1d..c1c569557 100644 --- a/mqtt-impl/src/test/java/io/streamnative/pulsar/handlers/mqtt/support/MQTTMetricsProviderTest.java +++ b/mqtt-impl/src/test/java/io/streamnative/pulsar/handlers/mqtt/broker/MQTTMetricsProviderTest.java @@ -11,13 +11,14 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package io.streamnative.pulsar.handlers.mqtt.support; +package io.streamnative.pulsar.handlers.mqtt.broker; import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.mock; import io.netty.buffer.ByteBuf; import io.netty.buffer.ByteBufAllocator; -import io.streamnative.pulsar.handlers.mqtt.MQTTServerConfiguration; +import io.streamnative.pulsar.handlers.mqtt.broker.metric.MQTTMetricsCollector; +import io.streamnative.pulsar.handlers.mqtt.broker.metric.MQTTMetricsProvider; import org.apache.pulsar.common.util.SimpleTextOutputStream; import org.testng.Assert; import org.testng.annotations.BeforeMethod; diff --git a/mqtt-impl/src/test/java/io/streamnative/pulsar/handlers/mqtt/support/MessageAckTrackerTest.java b/mqtt-impl/src/test/java/io/streamnative/pulsar/handlers/mqtt/broker/MessageAckTrackerTest.java similarity index 96% rename from mqtt-impl/src/test/java/io/streamnative/pulsar/handlers/mqtt/support/MessageAckTrackerTest.java rename to mqtt-impl/src/test/java/io/streamnative/pulsar/handlers/mqtt/broker/MessageAckTrackerTest.java index 867981892..b904aa9de 100644 --- a/mqtt-impl/src/test/java/io/streamnative/pulsar/handlers/mqtt/support/MessageAckTrackerTest.java +++ b/mqtt-impl/src/test/java/io/streamnative/pulsar/handlers/mqtt/broker/MessageAckTrackerTest.java @@ -11,7 +11,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package io.streamnative.pulsar.handlers.mqtt.support; +package io.streamnative.pulsar.handlers.mqtt.broker; import static org.testng.Assert.assertFalse; import static org.testng.Assert.assertTrue; diff --git a/mqtt-impl/src/test/java/io/streamnative/pulsar/handlers/mqtt/authentication/AuthenticationProviderMTlsTest.java b/mqtt-impl/src/test/java/io/streamnative/pulsar/handlers/mqtt/common/authentication/mtls/AuthenticationProviderMTlsTest.java similarity index 99% rename from mqtt-impl/src/test/java/io/streamnative/pulsar/handlers/mqtt/authentication/AuthenticationProviderMTlsTest.java rename to mqtt-impl/src/test/java/io/streamnative/pulsar/handlers/mqtt/common/authentication/mtls/AuthenticationProviderMTlsTest.java index bdbe247a2..8b7030624 100644 --- a/mqtt-impl/src/test/java/io/streamnative/pulsar/handlers/mqtt/authentication/AuthenticationProviderMTlsTest.java +++ b/mqtt-impl/src/test/java/io/streamnative/pulsar/handlers/mqtt/common/authentication/mtls/AuthenticationProviderMTlsTest.java @@ -11,7 +11,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package io.streamnative.pulsar.handlers.mqtt.authentication; +package io.streamnative.pulsar.handlers.mqtt.common.authentication.mtls; import com.fasterxml.jackson.databind.ObjectMapper; import io.netty.channel.local.LocalAddress; diff --git a/mqtt-impl/src/test/java/io/streamnative/pulsar/handlers/mqtt/untils/ConfigurationUtilsTest.java b/mqtt-impl/src/test/java/io/streamnative/pulsar/handlers/mqtt/untils/ConfigurationUtilsTest.java index 3e84bf897..c784b5474 100644 --- a/mqtt-impl/src/test/java/io/streamnative/pulsar/handlers/mqtt/untils/ConfigurationUtilsTest.java +++ b/mqtt-impl/src/test/java/io/streamnative/pulsar/handlers/mqtt/untils/ConfigurationUtilsTest.java @@ -13,8 +13,8 @@ */ package io.streamnative.pulsar.handlers.mqtt.untils; -import io.streamnative.pulsar.handlers.mqtt.MQTTServerConfiguration; -import io.streamnative.pulsar.handlers.mqtt.utils.ConfigurationUtils; +import io.streamnative.pulsar.handlers.mqtt.broker.MQTTServerConfiguration; +import io.streamnative.pulsar.handlers.mqtt.common.utils.ConfigurationUtils; import lombok.SneakyThrows; import org.testng.Assert; import org.testng.annotations.Test; diff --git a/mqtt-impl/src/test/java/io/streamnative/pulsar/handlers/mqtt/untils/MqttMessageUtilsTest.java b/mqtt-impl/src/test/java/io/streamnative/pulsar/handlers/mqtt/untils/MqttMessageUtilsTest.java index 866f15a4a..f2307ee06 100644 --- a/mqtt-impl/src/test/java/io/streamnative/pulsar/handlers/mqtt/untils/MqttMessageUtilsTest.java +++ b/mqtt-impl/src/test/java/io/streamnative/pulsar/handlers/mqtt/untils/MqttMessageUtilsTest.java @@ -22,7 +22,7 @@ import io.netty.handler.codec.mqtt.MqttFixedHeader; import io.netty.handler.codec.mqtt.MqttMessageType; import io.netty.handler.codec.mqtt.MqttQoS; -import io.streamnative.pulsar.handlers.mqtt.utils.MqttMessageUtils; +import io.streamnative.pulsar.handlers.mqtt.common.utils.MqttMessageUtils; import java.net.InetSocketAddress; import java.nio.charset.StandardCharsets; import org.mockito.Mockito; diff --git a/mqtt-impl/src/test/java/io/streamnative/pulsar/handlers/mqtt/untils/PacketIdGeneratorTest.java b/mqtt-impl/src/test/java/io/streamnative/pulsar/handlers/mqtt/untils/PacketIdGeneratorTest.java index 60c0b5cb2..d6aaa3ea5 100644 --- a/mqtt-impl/src/test/java/io/streamnative/pulsar/handlers/mqtt/untils/PacketIdGeneratorTest.java +++ b/mqtt-impl/src/test/java/io/streamnative/pulsar/handlers/mqtt/untils/PacketIdGeneratorTest.java @@ -14,7 +14,7 @@ package io.streamnative.pulsar.handlers.mqtt.untils; -import io.streamnative.pulsar.handlers.mqtt.PacketIdGenerator; +import io.streamnative.pulsar.handlers.mqtt.broker.impl.PacketIdGenerator; import org.testng.Assert; import org.testng.annotations.Test; diff --git a/mqtt-impl/src/test/java/io/streamnative/pulsar/handlers/mqtt/untils/PulsarTopicUtilsTest.java b/mqtt-impl/src/test/java/io/streamnative/pulsar/handlers/mqtt/untils/PulsarTopicUtilsTest.java index 92c4d02da..05f555330 100644 --- a/mqtt-impl/src/test/java/io/streamnative/pulsar/handlers/mqtt/untils/PulsarTopicUtilsTest.java +++ b/mqtt-impl/src/test/java/io/streamnative/pulsar/handlers/mqtt/untils/PulsarTopicUtilsTest.java @@ -13,8 +13,8 @@ */ package io.streamnative.pulsar.handlers.mqtt.untils; -import io.streamnative.pulsar.handlers.mqtt.TopicFilter; -import io.streamnative.pulsar.handlers.mqtt.utils.PulsarTopicUtils; +import io.streamnative.pulsar.handlers.mqtt.common.TopicFilter; +import io.streamnative.pulsar.handlers.mqtt.common.utils.PulsarTopicUtils; import java.net.URLEncoder; import java.util.List; import org.apache.commons.lang3.tuple.Pair; diff --git a/mqtt-impl/src/test/java/io/streamnative/pulsar/handlers/mqtt/untils/TopicFilterImplTest.java b/mqtt-impl/src/test/java/io/streamnative/pulsar/handlers/mqtt/untils/TopicFilterImplTest.java index ba8c0964b..5e61c005f 100644 --- a/mqtt-impl/src/test/java/io/streamnative/pulsar/handlers/mqtt/untils/TopicFilterImplTest.java +++ b/mqtt-impl/src/test/java/io/streamnative/pulsar/handlers/mqtt/untils/TopicFilterImplTest.java @@ -13,8 +13,8 @@ */ package io.streamnative.pulsar.handlers.mqtt.untils; -import io.streamnative.pulsar.handlers.mqtt.TopicFilter; -import io.streamnative.pulsar.handlers.mqtt.TopicFilterImpl; +import io.streamnative.pulsar.handlers.mqtt.common.TopicFilter; +import io.streamnative.pulsar.handlers.mqtt.common.TopicFilterImpl; import org.testng.Assert; import org.testng.annotations.Test; diff --git a/tests/src/test/java/io/streamnative/pulsar/handlers/mqtt/base/AuthorizationConfig.java b/tests/src/test/java/io/streamnative/pulsar/handlers/mqtt/base/AuthorizationConfig.java index 574ee4dc7..23542a409 100644 --- a/tests/src/test/java/io/streamnative/pulsar/handlers/mqtt/base/AuthorizationConfig.java +++ b/tests/src/test/java/io/streamnative/pulsar/handlers/mqtt/base/AuthorizationConfig.java @@ -17,7 +17,7 @@ import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableSet; import com.google.common.collect.Sets; -import io.streamnative.pulsar.handlers.mqtt.MQTTCommonConfiguration; +import io.streamnative.pulsar.handlers.mqtt.common.MQTTCommonConfiguration; import java.util.concurrent.TimeUnit; import lombok.extern.slf4j.Slf4j; import org.apache.pulsar.broker.authentication.AuthenticationProviderBasic; diff --git a/tests/src/test/java/io/streamnative/pulsar/handlers/mqtt/base/BasicAuthenticationConfig.java b/tests/src/test/java/io/streamnative/pulsar/handlers/mqtt/base/BasicAuthenticationConfig.java index a9ba17b79..95bddf0b1 100644 --- a/tests/src/test/java/io/streamnative/pulsar/handlers/mqtt/base/BasicAuthenticationConfig.java +++ b/tests/src/test/java/io/streamnative/pulsar/handlers/mqtt/base/BasicAuthenticationConfig.java @@ -17,7 +17,7 @@ import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableSet; import com.google.common.collect.Sets; -import io.streamnative.pulsar.handlers.mqtt.MQTTCommonConfiguration; +import io.streamnative.pulsar.handlers.mqtt.common.MQTTCommonConfiguration; import java.net.URISyntaxException; import java.util.concurrent.TimeUnit; import lombok.extern.slf4j.Slf4j; diff --git a/tests/src/test/java/io/streamnative/pulsar/handlers/mqtt/base/EventCenterTest.java b/tests/src/test/java/io/streamnative/pulsar/handlers/mqtt/base/EventCenterTest.java index 4798ec2fe..2fa693b3c 100644 --- a/tests/src/test/java/io/streamnative/pulsar/handlers/mqtt/base/EventCenterTest.java +++ b/tests/src/test/java/io/streamnative/pulsar/handlers/mqtt/base/EventCenterTest.java @@ -13,9 +13,9 @@ */ package io.streamnative.pulsar.handlers.mqtt.base; -import io.streamnative.pulsar.handlers.mqtt.MQTTProtocolHandler; -import io.streamnative.pulsar.handlers.mqtt.support.event.PulsarEventCenter; -import io.streamnative.pulsar.handlers.mqtt.support.event.PulsarTopicChangeListener; +import io.streamnative.pulsar.handlers.mqtt.broker.MQTTProtocolHandler; +import io.streamnative.pulsar.handlers.mqtt.common.event.PulsarEventCenter; +import io.streamnative.pulsar.handlers.mqtt.common.event.PulsarTopicChangeListener; import java.util.List; import java.util.concurrent.CompletableFuture; import java.util.concurrent.ExecutionException; diff --git a/tests/src/test/java/io/streamnative/pulsar/handlers/mqtt/base/MQTTProtocolHandlerTestBase.java b/tests/src/test/java/io/streamnative/pulsar/handlers/mqtt/base/MQTTProtocolHandlerTestBase.java index 8816a58df..05a109712 100644 --- a/tests/src/test/java/io/streamnative/pulsar/handlers/mqtt/base/MQTTProtocolHandlerTestBase.java +++ b/tests/src/test/java/io/streamnative/pulsar/handlers/mqtt/base/MQTTProtocolHandlerTestBase.java @@ -20,8 +20,8 @@ import com.google.common.collect.Sets; import com.google.common.util.concurrent.MoreExecutors; import io.netty.channel.EventLoopGroup; -import io.streamnative.pulsar.handlers.mqtt.MQTTCommonConfiguration; -import io.streamnative.pulsar.handlers.mqtt.utils.ConfigurationUtils; +import io.streamnative.pulsar.handlers.mqtt.common.MQTTCommonConfiguration; +import io.streamnative.pulsar.handlers.mqtt.common.utils.ConfigurationUtils; import java.lang.reflect.Field; import java.net.URI; import java.net.URL; diff --git a/tests/src/test/java/io/streamnative/pulsar/handlers/mqtt/base/MessageConverTest.java b/tests/src/test/java/io/streamnative/pulsar/handlers/mqtt/base/MessageConverTest.java index 19d3091eb..000780610 100644 --- a/tests/src/test/java/io/streamnative/pulsar/handlers/mqtt/base/MessageConverTest.java +++ b/tests/src/test/java/io/streamnative/pulsar/handlers/mqtt/base/MessageConverTest.java @@ -15,9 +15,9 @@ package io.streamnative.pulsar.handlers.mqtt.base; import io.netty.handler.codec.mqtt.MqttProperties; -import io.streamnative.pulsar.handlers.mqtt.MQTTServerConfiguration; -import io.streamnative.pulsar.handlers.mqtt.utils.PulsarMessageConverter; -import io.streamnative.pulsar.handlers.mqtt.utils.PulsarTopicUtils; +import io.streamnative.pulsar.handlers.mqtt.broker.MQTTServerConfiguration; +import io.streamnative.pulsar.handlers.mqtt.broker.impl.PulsarMessageConverter; +import io.streamnative.pulsar.handlers.mqtt.common.utils.PulsarTopicUtils; import java.nio.ByteBuffer; import java.util.ArrayList; import java.util.List; diff --git a/tests/src/test/java/io/streamnative/pulsar/handlers/mqtt/base/TokenAuthenticationConfig.java b/tests/src/test/java/io/streamnative/pulsar/handlers/mqtt/base/TokenAuthenticationConfig.java index 9162c3a64..af5b48542 100644 --- a/tests/src/test/java/io/streamnative/pulsar/handlers/mqtt/base/TokenAuthenticationConfig.java +++ b/tests/src/test/java/io/streamnative/pulsar/handlers/mqtt/base/TokenAuthenticationConfig.java @@ -18,7 +18,7 @@ import com.google.common.collect.ImmutableSet; import com.google.common.collect.Sets; import io.jsonwebtoken.SignatureAlgorithm; -import io.streamnative.pulsar.handlers.mqtt.MQTTCommonConfiguration; +import io.streamnative.pulsar.handlers.mqtt.common.MQTTCommonConfiguration; import java.net.URISyntaxException; import java.util.Optional; import java.util.Properties; diff --git a/tests/src/test/java/io/streamnative/pulsar/handlers/mqtt/broker/AdapterChannelTest.java b/tests/src/test/java/io/streamnative/pulsar/handlers/mqtt/broker/AdapterChannelTest.java index d2cf65602..83e1239d8 100644 --- a/tests/src/test/java/io/streamnative/pulsar/handlers/mqtt/broker/AdapterChannelTest.java +++ b/tests/src/test/java/io/streamnative/pulsar/handlers/mqtt/broker/AdapterChannelTest.java @@ -20,11 +20,11 @@ import io.netty.channel.ChannelId; import io.netty.handler.codec.mqtt.MqttConnectMessage; import io.netty.handler.codec.mqtt.MqttMessageBuilders; -import io.streamnative.pulsar.handlers.mqtt.MQTTCommonConfiguration; -import io.streamnative.pulsar.handlers.mqtt.adapter.AdapterChannel; -import io.streamnative.pulsar.handlers.mqtt.adapter.MQTTProxyAdapter; -import io.streamnative.pulsar.handlers.mqtt.adapter.MqttAdapterMessage; import io.streamnative.pulsar.handlers.mqtt.base.MQTTTestBase; +import io.streamnative.pulsar.handlers.mqtt.common.MQTTCommonConfiguration; +import io.streamnative.pulsar.handlers.mqtt.common.adapter.AdapterChannel; +import io.streamnative.pulsar.handlers.mqtt.common.adapter.MQTTProxyAdapter; +import io.streamnative.pulsar.handlers.mqtt.common.adapter.MqttAdapterMessage; import io.streamnative.pulsar.handlers.mqtt.proxy.MQTTProxyConfiguration; import io.streamnative.pulsar.handlers.mqtt.proxy.MQTTProxyService; import java.net.InetSocketAddress; diff --git a/tests/src/test/java/io/streamnative/pulsar/handlers/mqtt/broker/ConfigurationCompatibilityTest.java b/tests/src/test/java/io/streamnative/pulsar/handlers/mqtt/broker/ConfigurationCompatibilityTest.java index b885bc098..0ea5e5f00 100644 --- a/tests/src/test/java/io/streamnative/pulsar/handlers/mqtt/broker/ConfigurationCompatibilityTest.java +++ b/tests/src/test/java/io/streamnative/pulsar/handlers/mqtt/broker/ConfigurationCompatibilityTest.java @@ -16,7 +16,7 @@ import static org.testng.Assert.assertEquals; import static org.testng.Assert.assertTrue; import com.google.common.collect.Sets; -import io.streamnative.pulsar.handlers.mqtt.MQTTCommonConfiguration; +import io.streamnative.pulsar.handlers.mqtt.common.MQTTCommonConfiguration; import java.util.Set; import org.testng.annotations.Test; diff --git a/tests/src/test/java/io/streamnative/pulsar/handlers/mqtt/broker/MqttProxyAdapterTest.java b/tests/src/test/java/io/streamnative/pulsar/handlers/mqtt/broker/MqttProxyAdapterTest.java index 5ba7ec453..d3e61e670 100644 --- a/tests/src/test/java/io/streamnative/pulsar/handlers/mqtt/broker/MqttProxyAdapterTest.java +++ b/tests/src/test/java/io/streamnative/pulsar/handlers/mqtt/broker/MqttProxyAdapterTest.java @@ -17,9 +17,9 @@ import static org.testng.Assert.assertFalse; import static org.testng.Assert.assertTrue; import io.netty.channel.Channel; -import io.streamnative.pulsar.handlers.mqtt.MQTTCommonConfiguration; -import io.streamnative.pulsar.handlers.mqtt.adapter.MQTTProxyAdapter; import io.streamnative.pulsar.handlers.mqtt.base.MQTTTestBase; +import io.streamnative.pulsar.handlers.mqtt.common.MQTTCommonConfiguration; +import io.streamnative.pulsar.handlers.mqtt.common.adapter.MQTTProxyAdapter; import io.streamnative.pulsar.handlers.mqtt.proxy.MQTTProxyConfiguration; import io.streamnative.pulsar.handlers.mqtt.proxy.MQTTProxyService; import java.net.InetSocketAddress; diff --git a/tests/src/test/java/io/streamnative/pulsar/handlers/mqtt/mqtt3/fusesource/base/SimpleBrokerEnableDedupTest.java b/tests/src/test/java/io/streamnative/pulsar/handlers/mqtt/mqtt3/fusesource/base/SimpleBrokerEnableDedupTest.java index d1e24e4ff..74ffd778c 100644 --- a/tests/src/test/java/io/streamnative/pulsar/handlers/mqtt/mqtt3/fusesource/base/SimpleBrokerEnableDedupTest.java +++ b/tests/src/test/java/io/streamnative/pulsar/handlers/mqtt/mqtt3/fusesource/base/SimpleBrokerEnableDedupTest.java @@ -13,8 +13,8 @@ */ package io.streamnative.pulsar.handlers.mqtt.mqtt3.fusesource.base; -import io.streamnative.pulsar.handlers.mqtt.MQTTCommonConfiguration; import io.streamnative.pulsar.handlers.mqtt.base.MQTTTestBase; +import io.streamnative.pulsar.handlers.mqtt.common.MQTTCommonConfiguration; import lombok.extern.slf4j.Slf4j; import org.fusesource.mqtt.client.BlockingConnection; import org.fusesource.mqtt.client.MQTT; diff --git a/tests/src/test/java/io/streamnative/pulsar/handlers/mqtt/mqtt3/fusesource/base/SimpleIntegrationTest.java b/tests/src/test/java/io/streamnative/pulsar/handlers/mqtt/mqtt3/fusesource/base/SimpleIntegrationTest.java index 59727e141..9416bb919 100644 --- a/tests/src/test/java/io/streamnative/pulsar/handlers/mqtt/mqtt3/fusesource/base/SimpleIntegrationTest.java +++ b/tests/src/test/java/io/streamnative/pulsar/handlers/mqtt/mqtt3/fusesource/base/SimpleIntegrationTest.java @@ -21,10 +21,10 @@ import io.netty.channel.EventLoopGroup; import io.netty.channel.nio.NioEventLoopGroup; import io.netty.channel.socket.nio.NioSocketChannel; -import io.streamnative.pulsar.handlers.mqtt.MQTTCommonConfiguration; import io.streamnative.pulsar.handlers.mqtt.base.MQTTTestBase; +import io.streamnative.pulsar.handlers.mqtt.common.MQTTCommonConfiguration; +import io.streamnative.pulsar.handlers.mqtt.common.utils.PulsarTopicUtils; import io.streamnative.pulsar.handlers.mqtt.mqtt3.fusesource.psk.PSKClient; -import io.streamnative.pulsar.handlers.mqtt.utils.PulsarTopicUtils; import java.io.BufferedReader; import java.io.EOFException; import java.io.InputStream; diff --git a/tests/src/test/java/io/streamnative/pulsar/handlers/mqtt/mqtt3/fusesource/base/TLSTest.java b/tests/src/test/java/io/streamnative/pulsar/handlers/mqtt/mqtt3/fusesource/base/TLSTest.java index 25e9f52b4..0bd35c760 100644 --- a/tests/src/test/java/io/streamnative/pulsar/handlers/mqtt/mqtt3/fusesource/base/TLSTest.java +++ b/tests/src/test/java/io/streamnative/pulsar/handlers/mqtt/mqtt3/fusesource/base/TLSTest.java @@ -14,8 +14,8 @@ package io.streamnative.pulsar.handlers.mqtt.mqtt3.fusesource.base; -import io.streamnative.pulsar.handlers.mqtt.MQTTCommonConfiguration; import io.streamnative.pulsar.handlers.mqtt.base.MQTTTestBase; +import io.streamnative.pulsar.handlers.mqtt.common.MQTTCommonConfiguration; import java.io.File; import java.io.FileInputStream; import java.security.KeyStore; diff --git a/tests/src/test/java/io/streamnative/pulsar/handlers/mqtt/mqtt3/fusesource/proxy/AuthorizationProxyTest.java b/tests/src/test/java/io/streamnative/pulsar/handlers/mqtt/mqtt3/fusesource/proxy/AuthorizationProxyTest.java index 48d7bf548..3833c3f1a 100644 --- a/tests/src/test/java/io/streamnative/pulsar/handlers/mqtt/mqtt3/fusesource/proxy/AuthorizationProxyTest.java +++ b/tests/src/test/java/io/streamnative/pulsar/handlers/mqtt/mqtt3/fusesource/proxy/AuthorizationProxyTest.java @@ -13,8 +13,8 @@ */ package io.streamnative.pulsar.handlers.mqtt.mqtt3.fusesource.proxy; -import io.streamnative.pulsar.handlers.mqtt.MQTTCommonConfiguration; import io.streamnative.pulsar.handlers.mqtt.base.AuthorizationConfig; +import io.streamnative.pulsar.handlers.mqtt.common.MQTTCommonConfiguration; import java.util.HashSet; import java.util.Set; import lombok.extern.slf4j.Slf4j; diff --git a/tests/src/test/java/io/streamnative/pulsar/handlers/mqtt/mqtt3/fusesource/proxy/BasicAuthenticationProxyTest.java b/tests/src/test/java/io/streamnative/pulsar/handlers/mqtt/mqtt3/fusesource/proxy/BasicAuthenticationProxyTest.java index c11cd6496..a9b605a23 100644 --- a/tests/src/test/java/io/streamnative/pulsar/handlers/mqtt/mqtt3/fusesource/proxy/BasicAuthenticationProxyTest.java +++ b/tests/src/test/java/io/streamnative/pulsar/handlers/mqtt/mqtt3/fusesource/proxy/BasicAuthenticationProxyTest.java @@ -13,8 +13,8 @@ */ package io.streamnative.pulsar.handlers.mqtt.mqtt3.fusesource.proxy; -import io.streamnative.pulsar.handlers.mqtt.MQTTCommonConfiguration; import io.streamnative.pulsar.handlers.mqtt.base.BasicAuthenticationConfig; +import io.streamnative.pulsar.handlers.mqtt.common.MQTTCommonConfiguration; import lombok.extern.slf4j.Slf4j; import org.fusesource.mqtt.client.BlockingConnection; import org.fusesource.mqtt.client.MQTT; diff --git a/tests/src/test/java/io/streamnative/pulsar/handlers/mqtt/mqtt3/fusesource/proxy/ProxyTLSTest.java b/tests/src/test/java/io/streamnative/pulsar/handlers/mqtt/mqtt3/fusesource/proxy/ProxyTLSTest.java index 99c1168db..2ab52df0b 100644 --- a/tests/src/test/java/io/streamnative/pulsar/handlers/mqtt/mqtt3/fusesource/proxy/ProxyTLSTest.java +++ b/tests/src/test/java/io/streamnative/pulsar/handlers/mqtt/mqtt3/fusesource/proxy/ProxyTLSTest.java @@ -20,9 +20,9 @@ import io.netty.channel.EventLoopGroup; import io.netty.channel.nio.NioEventLoopGroup; import io.netty.channel.socket.nio.NioSocketChannel; -import io.streamnative.pulsar.handlers.mqtt.MQTTCommonConfiguration; -import io.streamnative.pulsar.handlers.mqtt.TopicFilterImpl; import io.streamnative.pulsar.handlers.mqtt.base.MQTTTestBase; +import io.streamnative.pulsar.handlers.mqtt.common.MQTTCommonConfiguration; +import io.streamnative.pulsar.handlers.mqtt.common.TopicFilterImpl; import io.streamnative.pulsar.handlers.mqtt.mqtt3.fusesource.psk.PSKClient; import java.io.File; import java.io.FileInputStream; diff --git a/tests/src/test/java/io/streamnative/pulsar/handlers/mqtt/mqtt3/fusesource/proxy/ProxyTest.java b/tests/src/test/java/io/streamnative/pulsar/handlers/mqtt/mqtt3/fusesource/proxy/ProxyTest.java index 37a39d05f..cf99213d7 100644 --- a/tests/src/test/java/io/streamnative/pulsar/handlers/mqtt/mqtt3/fusesource/proxy/ProxyTest.java +++ b/tests/src/test/java/io/streamnative/pulsar/handlers/mqtt/mqtt3/fusesource/proxy/ProxyTest.java @@ -24,9 +24,9 @@ import io.netty.channel.EventLoopGroup; import io.netty.channel.nio.NioEventLoopGroup; import io.netty.channel.socket.nio.NioSocketChannel; -import io.streamnative.pulsar.handlers.mqtt.MQTTCommonConfiguration; -import io.streamnative.pulsar.handlers.mqtt.TopicFilterImpl; import io.streamnative.pulsar.handlers.mqtt.base.MQTTTestBase; +import io.streamnative.pulsar.handlers.mqtt.common.MQTTCommonConfiguration; +import io.streamnative.pulsar.handlers.mqtt.common.TopicFilterImpl; import io.streamnative.pulsar.handlers.mqtt.mqtt3.fusesource.psk.PSKClient; import java.io.BufferedReader; import java.io.EOFException; diff --git a/tests/src/test/java/io/streamnative/pulsar/handlers/mqtt/mqtt3/fusesource/proxy/ProxyToPulsarTlsTest.java b/tests/src/test/java/io/streamnative/pulsar/handlers/mqtt/mqtt3/fusesource/proxy/ProxyToPulsarTlsTest.java index 0b17b049e..cce943d2f 100644 --- a/tests/src/test/java/io/streamnative/pulsar/handlers/mqtt/mqtt3/fusesource/proxy/ProxyToPulsarTlsTest.java +++ b/tests/src/test/java/io/streamnative/pulsar/handlers/mqtt/mqtt3/fusesource/proxy/ProxyToPulsarTlsTest.java @@ -14,8 +14,8 @@ package io.streamnative.pulsar.handlers.mqtt.mqtt3.fusesource.proxy; -import io.streamnative.pulsar.handlers.mqtt.MQTTCommonConfiguration; import io.streamnative.pulsar.handlers.mqtt.base.MQTTTestBase; +import io.streamnative.pulsar.handlers.mqtt.common.MQTTCommonConfiguration; import org.fusesource.mqtt.client.BlockingConnection; import org.fusesource.mqtt.client.MQTT; import org.fusesource.mqtt.client.Message; diff --git a/tests/src/test/java/io/streamnative/pulsar/handlers/mqtt/mqtt3/fusesource/proxy/TokenAuthenticationProxyTest.java b/tests/src/test/java/io/streamnative/pulsar/handlers/mqtt/mqtt3/fusesource/proxy/TokenAuthenticationProxyTest.java index 5985ae376..e8920df0e 100644 --- a/tests/src/test/java/io/streamnative/pulsar/handlers/mqtt/mqtt3/fusesource/proxy/TokenAuthenticationProxyTest.java +++ b/tests/src/test/java/io/streamnative/pulsar/handlers/mqtt/mqtt3/fusesource/proxy/TokenAuthenticationProxyTest.java @@ -13,8 +13,8 @@ */ package io.streamnative.pulsar.handlers.mqtt.mqtt3.fusesource.proxy; -import io.streamnative.pulsar.handlers.mqtt.MQTTCommonConfiguration; import io.streamnative.pulsar.handlers.mqtt.base.TokenAuthenticationConfig; +import io.streamnative.pulsar.handlers.mqtt.common.MQTTCommonConfiguration; import lombok.extern.slf4j.Slf4j; import org.fusesource.mqtt.client.BlockingConnection; import org.fusesource.mqtt.client.MQTT; diff --git a/tests/src/test/java/io/streamnative/pulsar/handlers/mqtt/mqtt3/fusesource/psk/PSKClient.java b/tests/src/test/java/io/streamnative/pulsar/handlers/mqtt/mqtt3/fusesource/psk/PSKClient.java index 157ae2c2e..2df96704c 100644 --- a/tests/src/test/java/io/streamnative/pulsar/handlers/mqtt/mqtt3/fusesource/psk/PSKClient.java +++ b/tests/src/test/java/io/streamnative/pulsar/handlers/mqtt/mqtt3/fusesource/psk/PSKClient.java @@ -21,9 +21,9 @@ import io.netty.handler.codec.mqtt.MqttDecoder; import io.netty.handler.codec.mqtt.MqttEncoder; import io.netty.handler.ssl.SslHandler; -import io.streamnative.pulsar.handlers.mqtt.support.psk.PSKConfiguration; -import io.streamnative.pulsar.handlers.mqtt.support.psk.PSKSecretKey; -import io.streamnative.pulsar.handlers.mqtt.support.psk.PSKUtils; +import io.streamnative.pulsar.handlers.mqtt.common.psk.PSKConfiguration; +import io.streamnative.pulsar.handlers.mqtt.common.psk.PSKSecretKey; +import io.streamnative.pulsar.handlers.mqtt.common.psk.PSKUtils; import lombok.extern.slf4j.Slf4j; /** diff --git a/tests/src/test/java/io/streamnative/pulsar/handlers/mqtt/mqtt3/hivemq/base/CleanSessionTest.java b/tests/src/test/java/io/streamnative/pulsar/handlers/mqtt/mqtt3/hivemq/base/CleanSessionTest.java index b81296c6f..bab8954a8 100644 --- a/tests/src/test/java/io/streamnative/pulsar/handlers/mqtt/mqtt3/hivemq/base/CleanSessionTest.java +++ b/tests/src/test/java/io/streamnative/pulsar/handlers/mqtt/mqtt3/hivemq/base/CleanSessionTest.java @@ -18,7 +18,7 @@ import com.hivemq.client.mqtt.mqtt3.Mqtt3Client; import com.hivemq.client.mqtt.mqtt3.message.connect.connack.Mqtt3ConnAck; import io.streamnative.pulsar.handlers.mqtt.base.MQTTTestBase; -import io.streamnative.pulsar.handlers.mqtt.utils.PulsarTopicUtils; +import io.streamnative.pulsar.handlers.mqtt.common.utils.PulsarTopicUtils; import java.util.List; import java.util.Objects; import java.util.UUID; diff --git a/tests/src/test/java/io/streamnative/pulsar/handlers/mqtt/mqtt3/paho/proxy/ProxyIntegrationTest.java b/tests/src/test/java/io/streamnative/pulsar/handlers/mqtt/mqtt3/paho/proxy/ProxyIntegrationTest.java index 317dad570..d62d48b75 100644 --- a/tests/src/test/java/io/streamnative/pulsar/handlers/mqtt/mqtt3/paho/proxy/ProxyIntegrationTest.java +++ b/tests/src/test/java/io/streamnative/pulsar/handlers/mqtt/mqtt3/paho/proxy/ProxyIntegrationTest.java @@ -14,8 +14,8 @@ package io.streamnative.pulsar.handlers.mqtt.mqtt3.paho.proxy; -import io.streamnative.pulsar.handlers.mqtt.MQTTCommonConfiguration; import io.streamnative.pulsar.handlers.mqtt.base.MQTTTestBase; +import io.streamnative.pulsar.handlers.mqtt.common.MQTTCommonConfiguration; import java.util.ArrayList; import java.util.HashSet; import java.util.List; diff --git a/tests/src/test/java/io/streamnative/pulsar/handlers/mqtt/mqtt5/hivemq/base/MQTT5CleanStartTest.java b/tests/src/test/java/io/streamnative/pulsar/handlers/mqtt/mqtt5/hivemq/base/MQTT5CleanStartTest.java index 88423cd96..96d7c958c 100644 --- a/tests/src/test/java/io/streamnative/pulsar/handlers/mqtt/mqtt5/hivemq/base/MQTT5CleanStartTest.java +++ b/tests/src/test/java/io/streamnative/pulsar/handlers/mqtt/mqtt5/hivemq/base/MQTT5CleanStartTest.java @@ -17,7 +17,7 @@ import com.hivemq.client.mqtt.mqtt5.Mqtt5BlockingClient; import com.hivemq.client.mqtt.mqtt5.message.connect.connack.Mqtt5ConnAck; import io.streamnative.pulsar.handlers.mqtt.base.MQTTTestBase; -import io.streamnative.pulsar.handlers.mqtt.utils.PulsarTopicUtils; +import io.streamnative.pulsar.handlers.mqtt.common.utils.PulsarTopicUtils; import java.util.List; import java.util.Objects; import java.util.concurrent.TimeUnit; diff --git a/tests/src/test/java/io/streamnative/pulsar/handlers/mqtt/mqtt5/hivemq/base/MQTT5ReasonCodeOnAllACKTest.java b/tests/src/test/java/io/streamnative/pulsar/handlers/mqtt/mqtt5/hivemq/base/MQTT5ReasonCodeOnAllACKTest.java index 170d133aa..64d3b8b9c 100644 --- a/tests/src/test/java/io/streamnative/pulsar/handlers/mqtt/mqtt5/hivemq/base/MQTT5ReasonCodeOnAllACKTest.java +++ b/tests/src/test/java/io/streamnative/pulsar/handlers/mqtt/mqtt5/hivemq/base/MQTT5ReasonCodeOnAllACKTest.java @@ -32,7 +32,7 @@ import com.hivemq.client.mqtt.mqtt5.message.unsubscribe.unsuback.Mqtt5UnsubAck; import com.hivemq.client.mqtt.mqtt5.message.unsubscribe.unsuback.Mqtt5UnsubAckReasonCode; import io.streamnative.pulsar.handlers.mqtt.base.MQTTTestBase; -import io.streamnative.pulsar.handlers.mqtt.messages.codes.mqtt5.Mqtt5UnsubReasonCode; +import io.streamnative.pulsar.handlers.mqtt.common.messages.codes.mqtt5.Mqtt5UnsubReasonCode; import java.nio.charset.StandardCharsets; import java.util.UUID; import lombok.extern.slf4j.Slf4j; diff --git a/tests/src/test/java/io/streamnative/pulsar/handlers/mqtt/mqtt5/hivemq/base/MQTT5ServerReceiveMaximumTest.java b/tests/src/test/java/io/streamnative/pulsar/handlers/mqtt/mqtt5/hivemq/base/MQTT5ServerReceiveMaximumTest.java index cba02a527..c05495027 100644 --- a/tests/src/test/java/io/streamnative/pulsar/handlers/mqtt/mqtt5/hivemq/base/MQTT5ServerReceiveMaximumTest.java +++ b/tests/src/test/java/io/streamnative/pulsar/handlers/mqtt/mqtt5/hivemq/base/MQTT5ServerReceiveMaximumTest.java @@ -15,8 +15,8 @@ import com.hivemq.client.mqtt.mqtt5.Mqtt5BlockingClient; import com.hivemq.client.mqtt.mqtt5.message.connect.connack.Mqtt5ConnAck; -import io.streamnative.pulsar.handlers.mqtt.MQTTCommonConfiguration; import io.streamnative.pulsar.handlers.mqtt.base.MQTTTestBase; +import io.streamnative.pulsar.handlers.mqtt.common.MQTTCommonConfiguration; import org.testng.Assert; import org.testng.annotations.Test; diff --git a/tests/src/test/java/io/streamnative/pulsar/handlers/mqtt/mqtt5/hivemq/base/MQTT5SessionExpireIntervalTest.java b/tests/src/test/java/io/streamnative/pulsar/handlers/mqtt/mqtt5/hivemq/base/MQTT5SessionExpireIntervalTest.java index 960b4770a..4e75bad27 100644 --- a/tests/src/test/java/io/streamnative/pulsar/handlers/mqtt/mqtt5/hivemq/base/MQTT5SessionExpireIntervalTest.java +++ b/tests/src/test/java/io/streamnative/pulsar/handlers/mqtt/mqtt5/hivemq/base/MQTT5SessionExpireIntervalTest.java @@ -19,7 +19,7 @@ import com.hivemq.client.mqtt.mqtt5.message.connect.connack.Mqtt5ConnAck; import com.hivemq.client.mqtt.mqtt5.message.disconnect.Mqtt5DisconnectReasonCode; import io.streamnative.pulsar.handlers.mqtt.base.MQTTTestBase; -import io.streamnative.pulsar.handlers.mqtt.utils.PulsarTopicUtils; +import io.streamnative.pulsar.handlers.mqtt.common.utils.PulsarTopicUtils; import java.util.List; import java.util.Objects; import java.util.concurrent.TimeUnit; diff --git a/tests/src/test/java/io/streamnative/pulsar/handlers/mqtt/mqtt5/hivemq/base/MQTT5TestTopicAutoCreation.java b/tests/src/test/java/io/streamnative/pulsar/handlers/mqtt/mqtt5/hivemq/base/MQTT5TestTopicAutoCreation.java index 03aa563b2..28b0a676c 100644 --- a/tests/src/test/java/io/streamnative/pulsar/handlers/mqtt/mqtt5/hivemq/base/MQTT5TestTopicAutoCreation.java +++ b/tests/src/test/java/io/streamnative/pulsar/handlers/mqtt/mqtt5/hivemq/base/MQTT5TestTopicAutoCreation.java @@ -19,8 +19,8 @@ import com.hivemq.client.mqtt.mqtt5.exceptions.Mqtt5SubAckException; import com.hivemq.client.mqtt.mqtt5.message.publish.puback.Mqtt5PubAckReasonCode; import com.hivemq.client.mqtt.mqtt5.message.subscribe.suback.Mqtt5SubAckReasonCode; -import io.streamnative.pulsar.handlers.mqtt.MQTTCommonConfiguration; import io.streamnative.pulsar.handlers.mqtt.base.MQTTTestBase; +import io.streamnative.pulsar.handlers.mqtt.common.MQTTCommonConfiguration; import org.apache.pulsar.client.admin.PulsarAdminException; import org.apache.pulsar.common.policies.data.AutoTopicCreationOverride; import org.apache.pulsar.common.policies.data.TopicType; diff --git a/tests/src/test/java/io/streamnative/pulsar/handlers/mqtt/mqtt5/hivemq/base/ProxyMtlsTest.java b/tests/src/test/java/io/streamnative/pulsar/handlers/mqtt/mqtt5/hivemq/base/ProxyMtlsTest.java index 3bb89651f..d25050495 100644 --- a/tests/src/test/java/io/streamnative/pulsar/handlers/mqtt/mqtt5/hivemq/base/ProxyMtlsTest.java +++ b/tests/src/test/java/io/streamnative/pulsar/handlers/mqtt/mqtt5/hivemq/base/ProxyMtlsTest.java @@ -28,8 +28,8 @@ import io.jsonwebtoken.SignatureAlgorithm; import io.streamnative.oidc.broker.common.OIDCPoolResources; import io.streamnative.oidc.broker.common.pojo.Pool; -import io.streamnative.pulsar.handlers.mqtt.MQTTCommonConfiguration; import io.streamnative.pulsar.handlers.mqtt.base.MQTTTestBase; +import io.streamnative.pulsar.handlers.mqtt.common.MQTTCommonConfiguration; import java.io.File; import java.io.FileInputStream; import java.security.KeyStore; diff --git a/tests/src/test/java/io/streamnative/pulsar/handlers/mqtt/mqtt5/hivemq/proxy/MQTT5AuthorizationProxyReasonCodeOnAllAckTest.java b/tests/src/test/java/io/streamnative/pulsar/handlers/mqtt/mqtt5/hivemq/proxy/MQTT5AuthorizationProxyReasonCodeOnAllAckTest.java index 3782614c5..fa07843af 100644 --- a/tests/src/test/java/io/streamnative/pulsar/handlers/mqtt/mqtt5/hivemq/proxy/MQTT5AuthorizationProxyReasonCodeOnAllAckTest.java +++ b/tests/src/test/java/io/streamnative/pulsar/handlers/mqtt/mqtt5/hivemq/proxy/MQTT5AuthorizationProxyReasonCodeOnAllAckTest.java @@ -26,8 +26,8 @@ import com.hivemq.client.mqtt.mqtt5.message.publish.puback.Mqtt5PubAckReasonCode; import com.hivemq.client.mqtt.mqtt5.message.subscribe.suback.Mqtt5SubAck; import com.hivemq.client.mqtt.mqtt5.message.subscribe.suback.Mqtt5SubAckReasonCode; -import io.streamnative.pulsar.handlers.mqtt.MQTTCommonConfiguration; import io.streamnative.pulsar.handlers.mqtt.base.AuthorizationConfig; +import io.streamnative.pulsar.handlers.mqtt.common.MQTTCommonConfiguration; import io.streamnative.pulsar.handlers.mqtt.mqtt5.hivemq.base.MQTT5ClientUtils; import java.nio.charset.StandardCharsets; import java.util.HashSet; diff --git a/tests/src/test/java/io/streamnative/pulsar/handlers/mqtt/mqtt5/hivemq/proxy/MQTT5ClientReceiveMaximumTest.java b/tests/src/test/java/io/streamnative/pulsar/handlers/mqtt/mqtt5/hivemq/proxy/MQTT5ClientReceiveMaximumTest.java index 72e672580..42e145e7d 100644 --- a/tests/src/test/java/io/streamnative/pulsar/handlers/mqtt/mqtt5/hivemq/proxy/MQTT5ClientReceiveMaximumTest.java +++ b/tests/src/test/java/io/streamnative/pulsar/handlers/mqtt/mqtt5/hivemq/proxy/MQTT5ClientReceiveMaximumTest.java @@ -18,8 +18,8 @@ import com.hivemq.client.mqtt.mqtt5.Mqtt5BlockingClient; import com.hivemq.client.mqtt.mqtt5.message.connect.Mqtt5ConnectRestrictions; import com.hivemq.client.mqtt.mqtt5.message.publish.Mqtt5Publish; -import io.streamnative.pulsar.handlers.mqtt.MQTTCommonConfiguration; import io.streamnative.pulsar.handlers.mqtt.base.MQTTTestBase; +import io.streamnative.pulsar.handlers.mqtt.common.MQTTCommonConfiguration; import io.streamnative.pulsar.handlers.mqtt.mqtt5.hivemq.base.MQTT5ClientUtils; import java.util.Optional; import java.util.Random; diff --git a/tests/src/test/java/io/streamnative/pulsar/handlers/mqtt/mqtt5/hivemq/proxy/MQTT5ProxyIntegrationTest.java b/tests/src/test/java/io/streamnative/pulsar/handlers/mqtt/mqtt5/hivemq/proxy/MQTT5ProxyIntegrationTest.java index 86b1a0ee1..36b394726 100644 --- a/tests/src/test/java/io/streamnative/pulsar/handlers/mqtt/mqtt5/hivemq/proxy/MQTT5ProxyIntegrationTest.java +++ b/tests/src/test/java/io/streamnative/pulsar/handlers/mqtt/mqtt5/hivemq/proxy/MQTT5ProxyIntegrationTest.java @@ -20,9 +20,9 @@ import com.hivemq.client.mqtt.mqtt5.exceptions.Mqtt5PubAckException; import com.hivemq.client.mqtt.mqtt5.message.publish.Mqtt5Publish; import com.hivemq.client.mqtt.mqtt5.message.publish.Mqtt5PublishResult; -import io.streamnative.pulsar.handlers.mqtt.MQTTCommonConfiguration; import io.streamnative.pulsar.handlers.mqtt.base.MQTTTestBase; -import io.streamnative.pulsar.handlers.mqtt.messages.codes.mqtt5.Mqtt5PubReasonCode; +import io.streamnative.pulsar.handlers.mqtt.common.MQTTCommonConfiguration; +import io.streamnative.pulsar.handlers.mqtt.common.messages.codes.mqtt5.Mqtt5PubReasonCode; import io.streamnative.pulsar.handlers.mqtt.mqtt5.hivemq.base.MQTT5ClientUtils; import java.nio.charset.StandardCharsets; import java.util.Collections; diff --git a/tests/src/test/java/io/streamnative/pulsar/handlers/mqtt/mqtt5/hivemq/proxy/MQTT5SessionExpireIntervalTest.java b/tests/src/test/java/io/streamnative/pulsar/handlers/mqtt/mqtt5/hivemq/proxy/MQTT5SessionExpireIntervalTest.java index 60eb49fb8..907f7c0ed 100644 --- a/tests/src/test/java/io/streamnative/pulsar/handlers/mqtt/mqtt5/hivemq/proxy/MQTT5SessionExpireIntervalTest.java +++ b/tests/src/test/java/io/streamnative/pulsar/handlers/mqtt/mqtt5/hivemq/proxy/MQTT5SessionExpireIntervalTest.java @@ -16,10 +16,10 @@ import com.hivemq.client.mqtt.datatypes.MqttQos; import com.hivemq.client.mqtt.mqtt5.Mqtt5BlockingClient; import com.hivemq.client.mqtt.mqtt5.message.connect.connack.Mqtt5ConnAck; -import io.streamnative.pulsar.handlers.mqtt.MQTTCommonConfiguration; import io.streamnative.pulsar.handlers.mqtt.base.MQTTTestBase; +import io.streamnative.pulsar.handlers.mqtt.common.MQTTCommonConfiguration; +import io.streamnative.pulsar.handlers.mqtt.common.utils.PulsarTopicUtils; import io.streamnative.pulsar.handlers.mqtt.mqtt5.hivemq.base.MQTT5ClientUtils; -import io.streamnative.pulsar.handlers.mqtt.utils.PulsarTopicUtils; import java.util.List; import java.util.Objects; import java.util.Random; diff --git a/tests/src/test/java/io/streamnative/pulsar/handlers/mqtt/mqtt5/hivemq/proxy/MQTT5TestTopicAutoCreation.java b/tests/src/test/java/io/streamnative/pulsar/handlers/mqtt/mqtt5/hivemq/proxy/MQTT5TestTopicAutoCreation.java index 705c43016..6b707f56c 100644 --- a/tests/src/test/java/io/streamnative/pulsar/handlers/mqtt/mqtt5/hivemq/proxy/MQTT5TestTopicAutoCreation.java +++ b/tests/src/test/java/io/streamnative/pulsar/handlers/mqtt/mqtt5/hivemq/proxy/MQTT5TestTopicAutoCreation.java @@ -19,8 +19,8 @@ import com.hivemq.client.mqtt.mqtt5.exceptions.Mqtt5SubAckException; import com.hivemq.client.mqtt.mqtt5.message.publish.puback.Mqtt5PubAckReasonCode; import com.hivemq.client.mqtt.mqtt5.message.subscribe.suback.Mqtt5SubAckReasonCode; -import io.streamnative.pulsar.handlers.mqtt.MQTTCommonConfiguration; import io.streamnative.pulsar.handlers.mqtt.base.MQTTTestBase; +import io.streamnative.pulsar.handlers.mqtt.common.MQTTCommonConfiguration; import io.streamnative.pulsar.handlers.mqtt.mqtt5.hivemq.base.MQTT5ClientUtils; import java.util.Random; import org.testng.Assert;