From 92388f047bd878cb73c4eb834f4855c52a8a8e71 Mon Sep 17 00:00:00 2001
From: git <tdnorbra@nps.edu>
Date: Wed, 21 Aug 2024 22:32:33 -0700
Subject: [PATCH] [Terry N.] cascade constructors

---
 .../ArrivalProcessOpenDis7.java               | 28 ++++++++++---------
 1 file changed, 15 insertions(+), 13 deletions(-)

diff --git a/examples/src/SimkitOpenDis7Examples/ArrivalProcessOpenDis7.java b/examples/src/SimkitOpenDis7Examples/ArrivalProcessOpenDis7.java
index b4b496ec0c..d4832f8d0d 100644
--- a/examples/src/SimkitOpenDis7Examples/ArrivalProcessOpenDis7.java
+++ b/examples/src/SimkitOpenDis7Examples/ArrivalProcessOpenDis7.java
@@ -20,7 +20,8 @@ import simkit.random.RandomVariate;
  */
 public class ArrivalProcessOpenDis7 extends SimEntityBase {
     
-    private final DisChannel disChannel = new DisChannel();
+    /** Not a sim parameter */
+    private final DisChannel disChannel;
 
     /**
      * Generates interarrival times
@@ -31,16 +32,6 @@ public class ArrivalProcessOpenDis7 extends SimEntityBase {
      * State variable that counts the number of Arrival events
      */
     protected int numberArrivals;
-    
-    /** Initialize channel setup for OpenDis7 and report a test PDU */
-    private void initializeDisChannel()
-    {
-        disChannel.setUpNetworkInterface();
-        disChannel.printlnTRACE ("disChannel.getNetworkAddress()=" + disChannel.getNetworkAddress() +
-                                          ", getNetworkPort()="    + disChannel.getNetworkPort());
-        
-        disChannel.sendCommentPdu(VariableRecordType.OTHER, "ArrivalProcessOpenDis7 initialized");
-    }
 
     /**
      * Instantiate an ArrivalProcess with the given interarrivalTimeGenerator
@@ -49,8 +40,8 @@ public class ArrivalProcessOpenDis7 extends SimEntityBase {
      * times
      */
     public ArrivalProcessOpenDis7(RandomVariate interarrivalTimeGenerator) {
+        this();
         this.interarrivalTimeGenerator = interarrivalTimeGenerator;
-        initializeDisChannel();
     }
 
     /**
@@ -59,7 +50,7 @@ public class ArrivalProcessOpenDis7 extends SimEntityBase {
      * explicit call to its setter method.
      */
     public ArrivalProcessOpenDis7() {
-        initializeDisChannel();
+        disChannel = new DisChannel();
     }
 
     /**
@@ -69,6 +60,7 @@ public class ArrivalProcessOpenDis7 extends SimEntityBase {
     public void reset() {
         super.reset();
         numberArrivals = 0;
+        initializeDisChannel();
     }
 
     /**
@@ -129,4 +121,14 @@ public class ArrivalProcessOpenDis7 extends SimEntityBase {
     public DisChannel getDisChannel() {
         return disChannel;
     }
+    
+    /** Initialize channel setup for OpenDis7 and report a test PDU */
+    private void initializeDisChannel()
+    {
+        disChannel.setUpNetworkInterface();
+        disChannel.printlnTRACE ("disChannel.getNetworkAddress()=" + disChannel.getNetworkAddress() +
+                                          ", getNetworkPort()="    + disChannel.getNetworkPort());
+        
+        disChannel.sendCommentPdu(VariableRecordType.OTHER, getClass().getName() + " initialized");
+    }
 }
-- 
GitLab