Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 18 additions & 1 deletion application/build.gradle
Original file line number Diff line number Diff line change
@@ -1,8 +1,25 @@
plugins {
id "java-library"
id "java"
id "groovy"
id "org.springframework.boot"
}

apply from: "$rootDir/gradle/configure-java.gradle"

dependencies {
implementation projects.service
implementation libs.rlib.logger.slf4j
implementation libs.springboot.starter.core
implementation libs.springboot.starter.log4j2

testImplementation projects.testSupport
}

tasks.withType(GroovyCompile).configureEach {
options.forkOptions.jvmArgs += "--enable-preview"
}

configurations.each {
it.exclude group: "org.slf4j", module: "slf4j-log4j12"
it.exclude group: "org.springframework.boot", module: "spring-boot-starter-logging"
}
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package javasabr.mqtt.legacy;
package javasabr.mqtt.application;

import javasabr.mqtt.legacy.config.MqttBrokerConfig;
import javasabr.mqtt.legacy.config.MqttNetworkConfig;
import javasabr.mqtt.application.config.MqttBrokerConfig;
import javasabr.mqtt.application.config.MqttNetworkConfig;
import lombok.RequiredArgsConstructor;
import org.springframework.boot.SpringApplication;
import org.springframework.context.annotation.Configuration;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,38 +1,38 @@
package javasabr.mqtt.legacy.config;
package javasabr.mqtt.application.config;

import javasabr.mqtt.legacy.handler.client.DefaultMqttClientReleaseHandler;
import javasabr.mqtt.legacy.handler.client.MqttClientReleaseHandler;
import javasabr.mqtt.legacy.handler.packet.in.ConnectInPacketHandler;
import javasabr.mqtt.legacy.handler.packet.in.DisconnetInPacketHandler;
import javasabr.mqtt.legacy.handler.packet.in.PacketInHandler;
import javasabr.mqtt.legacy.handler.packet.in.PublishAckInPacketHandler;
import javasabr.mqtt.legacy.handler.packet.in.PublishCompleteInPacketHandler;
import javasabr.mqtt.legacy.handler.packet.in.PublishInPacketHandler;
import javasabr.mqtt.legacy.handler.packet.in.PublishReceiveInPacketHandler;
import javasabr.mqtt.legacy.handler.packet.in.PublishReleaseInPacketHandler;
import javasabr.mqtt.legacy.handler.packet.in.SubscribeInPacketHandler;
import javasabr.mqtt.legacy.handler.packet.in.UnsubscribeInPacketHandler;
import javasabr.mqtt.legacy.handler.publish.in.PublishInHandler;
import javasabr.mqtt.legacy.handler.publish.in.Qos0PublishInHandler;
import javasabr.mqtt.legacy.handler.publish.in.Qos1PublishInHandler;
import javasabr.mqtt.legacy.handler.publish.in.Qos2PublishInHandler;
import javasabr.mqtt.legacy.handler.publish.out.PublishOutHandler;
import javasabr.mqtt.legacy.handler.publish.out.Qos0PublishOutHandler;
import javasabr.mqtt.legacy.handler.publish.out.Qos1PublishOutHandler;
import javasabr.mqtt.legacy.handler.publish.out.Qos2PublishOutHandler;
import javasabr.mqtt.legacy.network.packet.PacketType;
import javasabr.mqtt.legacy.service.AuthenticationService;
import javasabr.mqtt.legacy.service.ClientIdRegistry;
import javasabr.mqtt.legacy.service.CredentialSource;
import javasabr.mqtt.legacy.service.MqttSessionService;
import javasabr.mqtt.legacy.service.PublishingService;
import javasabr.mqtt.legacy.service.SubscriptionService;
import javasabr.mqtt.legacy.service.impl.DefaultPublishingService;
import javasabr.mqtt.legacy.service.impl.FileCredentialsSource;
import javasabr.mqtt.legacy.service.impl.InMemoryClientIdRegistry;
import javasabr.mqtt.legacy.service.impl.InMemoryMqttSessionService;
import javasabr.mqtt.legacy.service.impl.SimpleAuthenticationService;
import javasabr.mqtt.legacy.service.impl.SimpleSubscriptionService;
import javasabr.mqtt.service.handler.client.DefaultMqttClientReleaseHandler;
import javasabr.mqtt.network.handler.client.MqttClientReleaseHandler;
import javasabr.mqtt.service.handler.in.ConnectInPacketHandler;
import javasabr.mqtt.service.handler.in.DisconnetInPacketHandler;
import javasabr.mqtt.network.handler.packet.in.PacketInHandler;
import javasabr.mqtt.service.handler.in.PublishAckInPacketHandler;
import javasabr.mqtt.service.handler.in.PublishCompleteInPacketHandler;
import javasabr.mqtt.service.handler.in.PublishInPacketHandler;
import javasabr.mqtt.service.handler.in.PublishReceiveInPacketHandler;
import javasabr.mqtt.service.handler.in.PublishReleaseInPacketHandler;
import javasabr.mqtt.service.handler.in.SubscribeInPacketHandler;
import javasabr.mqtt.service.handler.in.UnsubscribeInPacketHandler;
import javasabr.mqtt.network.handler.publish.PublishInHandler;
import javasabr.mqtt.service.handler.publish.in.Qos0PublishInHandler;
import javasabr.mqtt.service.handler.publish.in.Qos1PublishInHandler;
import javasabr.mqtt.service.handler.publish.in.Qos2PublishInHandler;
import javasabr.mqtt.service.handler.publish.out.PublishOutHandler;
import javasabr.mqtt.service.handler.publish.out.Qos0PublishOutHandler;
import javasabr.mqtt.service.handler.publish.out.Qos1PublishOutHandler;
import javasabr.mqtt.service.handler.publish.out.Qos2PublishOutHandler;
import javasabr.mqtt.network.packet.PacketType;
import javasabr.mqtt.service.AuthenticationService;
import javasabr.mqtt.service.ClientIdRegistry;
import javasabr.mqtt.service.CredentialSource;
import javasabr.mqtt.service.MqttSessionService;
import javasabr.mqtt.service.PublishingService;
import javasabr.mqtt.service.SubscriptionService;
import javasabr.mqtt.service.impl.DefaultPublishingService;
import javasabr.mqtt.service.impl.FileCredentialsSource;
import javasabr.mqtt.service.impl.InMemoryClientIdRegistry;
import javasabr.mqtt.service.impl.InMemoryMqttSessionService;
import javasabr.mqtt.service.impl.SimpleAuthenticationService;
import javasabr.mqtt.service.impl.SimpleSubscriptionService;
import lombok.RequiredArgsConstructor;
import lombok.extern.log4j.Log4j2;
import org.springframework.context.annotation.Bean;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
package javasabr.mqtt.legacy.config;
package javasabr.mqtt.application.config;

import javasabr.mqtt.legacy.handler.client.MqttClientReleaseHandler;
import javasabr.mqtt.legacy.handler.packet.in.PacketInHandler;
import javasabr.mqtt.network.handler.client.MqttClientReleaseHandler;
import javasabr.mqtt.network.handler.packet.in.PacketInHandler;
import javasabr.mqtt.model.MqttProperties;
import javasabr.mqtt.model.QoS;
import javasabr.mqtt.legacy.network.MqttConnection;
import javasabr.mqtt.legacy.network.client.ExternalMqttClient;
import javasabr.mqtt.legacy.network.client.InternalMqttClient;
import javasabr.mqtt.legacy.network.MqttClient.UnsafeMqttClient;
import javasabr.mqtt.network.MqttConnection;
import javasabr.mqtt.network.client.ExternalMqttClient;
import javasabr.mqtt.network.client.InternalMqttClient;
import javasabr.mqtt.network.MqttClient.UnsafeMqttClient;
import java.net.InetSocketAddress;
import java.nio.channels.AsynchronousSocketChannel;
import java.util.function.BiFunction;
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
@NullMarked
package javasabr.mqtt.application.config;

import org.jspecify.annotations.NullMarked;
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package javasabr.mqtt.legacy
package javasabr.mqtt.application

import spock.lang.Specification

Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package javasabr.mqtt.legacy.extension
package javasabr.mqtt.application.extension

import javasabr.mqtt.legacy.network.packet.out.MqttWritablePacket
import javasabr.mqtt.legacy.util.MqttDataUtils
import javasabr.mqtt.network.packet.out.MqttWritablePacket
import javasabr.mqtt.network.utils.MqttDataUtils
import javasabr.mqtt.model.PacketProperty
import javasabr.mqtt.model.data.type.PacketDataType
import javasabr.mqtt.model.data.type.StringPair
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package javasabr.mqtt.legacy.integration
package javasabr.mqtt.application.integration

import com.hivemq.client.mqtt.datatypes.MqttQos
import com.hivemq.client.mqtt.mqtt3.Mqtt3AsyncClient
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
package javasabr.mqtt.legacy.integration
package javasabr.mqtt.application.integration

import com.hivemq.client.mqtt.mqtt3.exceptions.Mqtt3ConnAckException
import com.hivemq.client.mqtt.mqtt3.message.connect.connack.Mqtt3ConnAckReturnCode
import com.hivemq.client.mqtt.mqtt5.exceptions.Mqtt5ConnAckException
import com.hivemq.client.mqtt.mqtt5.message.connect.connack.Mqtt5ConnAckReasonCode
import javasabr.mqtt.legacy.network.packet.in.ConnectAckInPacket
import javasabr.mqtt.legacy.network.packet.out.Connect311OutPacket
import javasabr.mqtt.network.packet.in.ConnectAckInPacket
import javasabr.mqtt.network.packet.out.Connect311OutPacket
import javasabr.mqtt.model.MqttProperties
import javasabr.mqtt.model.QoS
import javasabr.mqtt.model.reason.code.ConnectAckReasonCode
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
package javasabr.mqtt.legacy.integration
package javasabr.mqtt.application.integration

import com.hivemq.client.mqtt.MqttClient
import com.hivemq.client.mqtt.mqtt3.Mqtt3AsyncClient
import com.hivemq.client.mqtt.mqtt5.Mqtt5AsyncClient
import javasabr.mqtt.legacy.network.MqttConnection
import javasabr.mqtt.legacy.integration.config.MqttBrokerTestConfig
import javasabr.mqtt.legacy.mock.MqttMockClient
import javasabr.mqtt.network.MqttConnection
import javasabr.mqtt.application.integration.config.MqttBrokerTestConfig
import javasabr.mqtt.application.mock.MqttMockClient
import javasabr.mqtt.model.MqttConnectionConfig
import javasabr.mqtt.model.MqttProperties
import javasabr.mqtt.model.MqttVersion
Expand All @@ -16,7 +16,7 @@ import spock.lang.Specification
import java.nio.charset.StandardCharsets
import java.util.concurrent.atomic.AtomicInteger

import static javasabr.mqtt.legacy.network.MqttClient.*
import static javasabr.mqtt.network.MqttClient.*

@SpringJUnitConfig(classes = MqttBrokerTestConfig)
class IntegrationSpecification extends Specification {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package javasabr.mqtt.legacy.integration
package javasabr.mqtt.application.integration

import com.hivemq.client.mqtt.mqtt3.message.connect.connack.Mqtt3ConnAckReturnCode
import com.hivemq.client.mqtt.mqtt5.message.connect.connack.Mqtt5ConnAckReasonCode
Expand Down
Original file line number Diff line number Diff line change
@@ -1,19 +1,19 @@
package javasabr.mqtt.legacy.integration
package javasabr.mqtt.application.integration

import com.hivemq.client.mqtt.datatypes.MqttQos
import javasabr.mqtt.legacy.network.packet.in.ConnectAckInPacket
import javasabr.mqtt.legacy.network.packet.in.PublishInPacket
import javasabr.mqtt.legacy.network.packet.in.PublishReleaseInPacket
import javasabr.mqtt.legacy.network.packet.in.SubscribeAckInPacket
import javasabr.mqtt.legacy.network.packet.out.Connect311OutPacket
import javasabr.mqtt.legacy.network.packet.out.Connect5OutPacket
import javasabr.mqtt.legacy.network.packet.out.PublishComplete311OutPacket
import javasabr.mqtt.legacy.network.packet.out.PublishComplete5OutPacket
import javasabr.mqtt.legacy.network.packet.out.PublishReceived311OutPacket
import javasabr.mqtt.legacy.network.packet.out.PublishReceived5OutPacket
import javasabr.mqtt.legacy.network.packet.out.Subscribe311OutPacket
import javasabr.mqtt.legacy.network.packet.out.Subscribe5OutPacket
import javasabr.mqtt.legacy.service.MqttSessionService
import javasabr.mqtt.network.packet.in.ConnectAckInPacket
import javasabr.mqtt.network.packet.in.PublishInPacket
import javasabr.mqtt.network.packet.in.PublishReleaseInPacket
import javasabr.mqtt.network.packet.in.SubscribeAckInPacket
import javasabr.mqtt.network.packet.out.Connect311OutPacket
import javasabr.mqtt.network.packet.out.Connect5OutPacket
import javasabr.mqtt.network.packet.out.PublishComplete311OutPacket
import javasabr.mqtt.network.packet.out.PublishComplete5OutPacket
import javasabr.mqtt.network.packet.out.PublishReceived311OutPacket
import javasabr.mqtt.network.packet.out.PublishReceived5OutPacket
import javasabr.mqtt.network.packet.out.Subscribe311OutPacket
import javasabr.mqtt.network.packet.out.Subscribe5OutPacket
import javasabr.mqtt.service.MqttSessionService
import javasabr.mqtt.model.QoS
import javasabr.mqtt.model.reason.code.ConnectAckReasonCode
import javasabr.mqtt.model.reason.code.PublishCompletedReasonCode
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
package javasabr.mqtt.legacy.integration.config
package javasabr.mqtt.application.integration.config

import javasabr.mqtt.legacy.config.MqttBrokerConfig
import javasabr.mqtt.legacy.config.MqttNetworkConfig
import javasabr.mqtt.legacy.network.MqttConnection
import javasabr.mqtt.application.config.MqttBrokerConfig
import javasabr.mqtt.application.config.MqttNetworkConfig
import javasabr.mqtt.network.MqttConnection
import javasabr.rlib.network.server.ServerNetwork
import org.springframework.beans.factory.annotation.Qualifier
import org.springframework.context.annotation.Bean
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
package javasabr.mqtt.legacy.integration.service
package javasabr.mqtt.application.integration.service

import com.hivemq.client.mqtt.mqtt5.message.connect.connack.Mqtt5ConnAckReasonCode
import javasabr.mqtt.legacy.service.ClientIdRegistry
import javasabr.mqtt.legacy.integration.IntegrationSpecification
import javasabr.mqtt.service.ClientIdRegistry
import javasabr.mqtt.application.integration.IntegrationSpecification
import javasabr.rlib.common.util.StringUtils
import org.springframework.beans.factory.annotation.Autowired

Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
package javasabr.mqtt.legacy.integration.service
package javasabr.mqtt.application.integration.service

import com.hivemq.client.mqtt.MqttClientState
import com.hivemq.client.mqtt.mqtt5.exceptions.Mqtt5SubAckException
import com.hivemq.client.mqtt.mqtt5.message.subscribe.suback.Mqtt5SubAckReasonCode
import javasabr.mqtt.legacy.integration.IntegrationSpecification
import javasabr.mqtt.application.integration.IntegrationSpecification
import org.springframework.test.context.TestPropertySource
import spock.lang.Unroll

Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
package javasabr.mqtt.legacy.integration.service
package javasabr.mqtt.application.integration.service

import com.hivemq.client.mqtt.mqtt5.message.connect.connack.Mqtt5ConnAckReasonCode
import javasabr.mqtt.legacy.service.ClientIdRegistry
import javasabr.mqtt.legacy.service.MqttSessionService
import javasabr.mqtt.legacy.integration.IntegrationSpecification
import javasabr.mqtt.service.ClientIdRegistry
import javasabr.mqtt.service.MqttSessionService
import javasabr.mqtt.application.integration.IntegrationSpecification
import org.springframework.beans.factory.annotation.Autowired

class MqttSessionServiceTest extends IntegrationSpecification {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
package javasabr.mqtt.legacy.integration.service
package javasabr.mqtt.application.integration.service

import com.hivemq.client.mqtt.datatypes.MqttQos
import com.hivemq.client.mqtt.mqtt5.exceptions.Mqtt5SubAckException
import javasabr.mqtt.legacy.service.ClientIdRegistry
import javasabr.mqtt.legacy.service.impl.SimpleSubscriptionService
import javasabr.mqtt.legacy.integration.IntegrationSpecification
import javasabr.mqtt.service.ClientIdRegistry
import javasabr.mqtt.service.impl.SimpleSubscriptionService
import javasabr.mqtt.application.integration.IntegrationSpecification
import javasabr.mqtt.model.ActionResult
import javasabr.mqtt.model.subscriber.SingleSubscriber
import org.spockframework.util.Pair
Expand Down
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
package javasabr.mqtt.legacy.mock

import javasabr.mqtt.legacy.network.MqttConnection
import javasabr.mqtt.legacy.network.packet.PacketType
import javasabr.mqtt.legacy.network.packet.in.ConnectAckInPacket
import javasabr.mqtt.legacy.network.packet.in.MqttReadablePacket
import javasabr.mqtt.legacy.network.packet.in.PublishInPacket
import javasabr.mqtt.legacy.network.packet.in.PublishReleaseInPacket
import javasabr.mqtt.legacy.network.packet.in.SubscribeAckInPacket
import javasabr.mqtt.legacy.network.packet.out.MqttWritablePacket
import javasabr.mqtt.legacy.util.MqttDataUtils
package javasabr.mqtt.application.mock

import javasabr.mqtt.network.MqttConnection
import javasabr.mqtt.network.packet.PacketType
import javasabr.mqtt.network.packet.in.ConnectAckInPacket
import javasabr.mqtt.network.packet.in.MqttReadablePacket
import javasabr.mqtt.network.packet.in.PublishInPacket
import javasabr.mqtt.network.packet.in.PublishReleaseInPacket
import javasabr.mqtt.network.packet.in.SubscribeAckInPacket
import javasabr.mqtt.network.packet.out.MqttWritablePacket
import javasabr.mqtt.network.utils.MqttDataUtils
import javasabr.rlib.common.util.NumberUtils

import java.nio.ByteBuffer
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package javasabr.mqtt.legacy.model
package javasabr.mqtt.application.model

import javasabr.mqtt.legacy.network.NetworkUnitSpecification
import javasabr.mqtt.application.network.NetworkUnitSpecification
import javasabr.mqtt.model.ActionResult
import spock.lang.Unroll

Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package javasabr.mqtt.legacy.model
package javasabr.mqtt.application.model

import javasabr.mqtt.legacy.network.MqttClient
import javasabr.mqtt.legacy.network.NetworkUnitSpecification
import javasabr.mqtt.network.MqttClient
import javasabr.mqtt.application.network.NetworkUnitSpecification
import javasabr.mqtt.model.QoS
import javasabr.mqtt.model.subscriber.SubscribeTopicFilter
import javasabr.mqtt.model.topic.TopicFilter
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package javasabr.mqtt.legacy.model
package javasabr.mqtt.application.model

import javasabr.mqtt.model.MqttUser
import javasabr.mqtt.model.QoS
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package javasabr.mqtt.legacy.network
package javasabr.mqtt.application.network

import javasabr.mqtt.legacy.UnitSpecification
import javasabr.mqtt.application.UnitSpecification
import javasabr.mqtt.model.MqttConnectionConfig
import javasabr.mqtt.model.MqttVersion
import javasabr.mqtt.model.QoS
Expand All @@ -9,6 +9,8 @@ import javasabr.mqtt.model.data.type.StringPair
import javasabr.mqtt.model.reason.code.SubscribeAckReasonCode
import javasabr.mqtt.model.reason.code.UnsubscribeAckReasonCode
import javasabr.mqtt.model.subscriber.SubscribeTopicFilter
import javasabr.mqtt.network.MqttClient
import javasabr.mqtt.network.MqttConnection
import javasabr.rlib.collections.array.Array
import javasabr.rlib.collections.array.IntArray
import spock.lang.Shared
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package javasabr.mqtt.legacy.network.in
package javasabr.mqtt.application.network.in

import javasabr.mqtt.legacy.network.packet.in.AuthenticationInPacket
import javasabr.mqtt.network.packet.in.AuthenticationInPacket
import javasabr.mqtt.model.PacketProperty
import javasabr.mqtt.model.reason.code.AuthenticateReasonCode
import javasabr.rlib.collections.array.Array
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
package javasabr.mqtt.application.network.in

import javasabr.mqtt.application.network.NetworkUnitSpecification

class BaseInPacketTest extends NetworkUnitSpecification {
}
Loading
Loading