diff --git a/pom.xml b/pom.xml
index 6c18cf1..2daa23b 100644
--- a/pom.xml
+++ b/pom.xml
@@ -6,7 +6,7 @@
org.openautonomousconnection
protocol
- 1.0.0-BETA.8
+ 1.0.0-BETA.9
Open Autonomous Connection
https://open-autonomous-connection.org/
diff --git a/src/main/java/org/openautonomousconnection/protocol/ProtocolBridge.java b/src/main/java/org/openautonomousconnection/protocol/ProtocolBridge.java
index 7de3f83..c232d68 100644
--- a/src/main/java/org/openautonomousconnection/protocol/ProtocolBridge.java
+++ b/src/main/java/org/openautonomousconnection/protocol/ProtocolBridge.java
@@ -110,7 +110,6 @@ public final class ProtocolBridge {
public ProtocolBridge(ProtocolINSServer protocolINSServer, ProtocolSettings protocolSettings, ProtocolVersion protocolVersion, File logFolder) throws Exception {
// Assign the parameters to the class fields
this.protocolINSServer = protocolINSServer;
- this.protocolINSServer.setProtocolBridge(this);
this.protocolSettings = protocolSettings;
this.protocolVersion = protocolVersion;
@@ -136,7 +135,6 @@ public final class ProtocolBridge {
public ProtocolBridge(ProtocolWebServer protocolWebServer, ProtocolSettings protocolSettings, ProtocolVersion protocolVersion, File logFolder) throws Exception {
// Assign the parameters to the class fields
this.protocolWebServer = protocolWebServer;
- this.protocolWebServer.setProtocolBridge(this);
this.protocolSettings = protocolSettings;
this.protocolVersion = protocolVersion;
@@ -162,7 +160,6 @@ public final class ProtocolBridge {
public ProtocolBridge(ProtocolClient protocolClient, ProtocolSettings protocolSettings, ProtocolVersion protocolVersion, File logFolder) throws Exception {
// Assign the parameters to the class fields
this.protocolClient = protocolClient;
- this.protocolClient.setProtocolBridge(this);
this.protocolSettings = protocolSettings;
this.protocolVersion = protocolVersion;
diff --git a/src/main/java/org/openautonomousconnection/protocol/side/client/ProtocolClient.java b/src/main/java/org/openautonomousconnection/protocol/side/client/ProtocolClient.java
index c8a65fe..1df7ab0 100644
--- a/src/main/java/org/openautonomousconnection/protocol/side/client/ProtocolClient.java
+++ b/src/main/java/org/openautonomousconnection/protocol/side/client/ProtocolClient.java
@@ -54,7 +54,7 @@ public abstract class ProtocolClient extends DefaultMethodsOverrider {
* The reference to the ProtocolBridge Object
*/
@Getter
- private ProtocolBridge protocolBridge;
+ private final ProtocolBridge protocolBridge;
/**
* Initializes the ProtocolClient, setting up certificate folders and the INS client connection.
@@ -62,7 +62,9 @@ public abstract class ProtocolClient extends DefaultMethodsOverrider {
* @throws CertificateException if there are issues with the certificates.
* @throws IOException if there are I/O issues during initialization.
*/
- public ProtocolClient() throws CertificateException, IOException {
+ public ProtocolClient(ProtocolBridge protocolBridge) throws CertificateException, IOException {
+ this.protocolBridge = protocolBridge;
+
// Initialize and verify certificate folders and files
folderStructure = new ClientCertificateFolderStructure();
@@ -335,15 +337,6 @@ public abstract class ProtocolClient extends DefaultMethodsOverrider {
clientToINS.sendPacket(new GetDestinationPacket(infoName, responseCode, protocolBridge));
}
- /**
- * Set protocol bridge.
- *
- * @param protocolBridge The ProtocolBridge object.
- */
- public void setProtocolBridge(ProtocolBridge protocolBridge) {
- if (this.protocolBridge == null) this.protocolBridge = protocolBridge;
- }
-
/**
* Callback method invoked when InfoName validation is completed.
*
diff --git a/src/main/java/org/openautonomousconnection/protocol/side/ins/ProtocolINSServer.java b/src/main/java/org/openautonomousconnection/protocol/side/ins/ProtocolINSServer.java
index 0f1aa65..3154455 100644
--- a/src/main/java/org/openautonomousconnection/protocol/side/ins/ProtocolINSServer.java
+++ b/src/main/java/org/openautonomousconnection/protocol/side/ins/ProtocolINSServer.java
@@ -50,7 +50,7 @@ public abstract class ProtocolINSServer extends DefaultMethodsOverrider {
* The reference to the ProtocolBridge Object
*/
@Getter
- private ProtocolBridge protocolBridge;
+ private final ProtocolBridge protocolBridge;
/**
* Constructs a ProtocolINSServer with the specified configuration file.
@@ -59,7 +59,8 @@ public abstract class ProtocolINSServer extends DefaultMethodsOverrider {
* @throws IOException If an I/O error occurs.
* @throws CertificateException If a certificate error occurs.
*/
- public ProtocolINSServer(File configFile) throws IOException, CertificateException {
+ public ProtocolINSServer(File configFile, ProtocolBridge protocolBridge) throws IOException, CertificateException {
+ this.protocolBridge = protocolBridge;
// Ensure the configuration file exists
if (!configFile.exists()) configFile.createNewFile();
@@ -154,15 +155,6 @@ public abstract class ProtocolINSServer extends DefaultMethodsOverrider {
return null;
}
- /**
- * Set protocol bridge
- *
- * @param protocolBridge The ProtocolBridge object
- */
- public void setProtocolBridge(ProtocolBridge protocolBridge) {
- if (this.protocolBridge == null) this.protocolBridge = protocolBridge;
- }
-
/**
* Gets the INS information site URL from the configuration.
*
diff --git a/src/main/java/org/openautonomousconnection/protocol/side/web/ProtocolWebServer.java b/src/main/java/org/openautonomousconnection/protocol/side/web/ProtocolWebServer.java
index 24e4852..3dfc720 100644
--- a/src/main/java/org/openautonomousconnection/protocol/side/web/ProtocolWebServer.java
+++ b/src/main/java/org/openautonomousconnection/protocol/side/web/ProtocolWebServer.java
@@ -87,7 +87,7 @@ public final class ProtocolWebServer {
* The reference to the ProtocolBridge Object
*/
@Getter
- private ProtocolBridge protocolBridge;
+ private final ProtocolBridge protocolBridge;
/**
* Initializes the web server with the given configuration, authentication, and rules files.
@@ -97,7 +97,9 @@ public final class ProtocolWebServer {
* @param rulesFile The rules file.
* @throws Exception If an error occurs during initialization.
*/
- public ProtocolWebServer(File configFile, File authFile, File rulesFile) throws Exception {
+ public ProtocolWebServer(File configFile, File authFile, File rulesFile, ProtocolBridge protocolBridge) throws Exception {
+ this.protocolBridge = protocolBridge;
+
// Initialize the list of connected clients
this.clients = new ArrayList<>();
@@ -183,15 +185,6 @@ public final class ProtocolWebServer {
return null;
}
- /**
- * Set protocol bridge
- *
- * @param protocolBridge The ProtocolBridge object
- */
- public void setProtocolBridge(ProtocolBridge protocolBridge) {
- if (this.protocolBridge == null) this.protocolBridge = protocolBridge;
- }
-
/**
* Starts the web server to accept and handle client connections.
*