diff --git a/assignments/nbproject/project.xml b/assignments/nbproject/project.xml index 24a0d8b3516140d07a7f8b54be86c08cf9ec9734..78b907561912dd6776887b583c05b1c9476b00c1 100644 --- a/assignments/nbproject/project.xml +++ b/assignments/nbproject/project.xml @@ -17,6 +17,7 @@ <word>docx</word> <word>https</word> <word>interarrival</word> + <word>javadoc</word> <word>localhost</word> <word>multicast</word> <word>Netbeans</word> diff --git a/assignments/src/MV3500Cohort2018JanuaryMarch/homework1/AngelClient.java b/assignments/src/MV3500Cohort2018JanuaryMarch/homework1/AngelClient.java index f50426db7a8e226a0572b540980460911787a3e4..66c457c34daf5c8512e50541b32469eaa4267504 100644 --- a/assignments/src/MV3500Cohort2018JanuaryMarch/homework1/AngelClient.java +++ b/assignments/src/MV3500Cohort2018JanuaryMarch/homework1/AngelClient.java @@ -13,7 +13,16 @@ import java.net.*; * homework assignment * @author cs2017 */ -public class AngelClient { +public class AngelClient +{ + /** + * Default constructor to silence javadoc warning + * @see <a href="https://stackoverflow.com/questions/4488716/java-default-constructor">StackOverflow: Java default constructor</a> + */ + public AngelClient () + { + // default initializations occur + } /** * Program invocation, execution starts here diff --git a/assignments/src/MV3500Cohort2018JanuaryMarch/homework1/AngelServer.java b/assignments/src/MV3500Cohort2018JanuaryMarch/homework1/AngelServer.java index 944d787bc855b7605a785926373244eee6c1048a..76914cb53ee72919ea7af6ae226a9d525afd646b 100644 --- a/assignments/src/MV3500Cohort2018JanuaryMarch/homework1/AngelServer.java +++ b/assignments/src/MV3500Cohort2018JanuaryMarch/homework1/AngelServer.java @@ -13,7 +13,16 @@ import java.net.*; * homework assignment * @author cs2017 */ -public class AngelServer { +public class AngelServer +{ + /** + * Default constructor to silence javadoc warning + * @see <a href="https://stackoverflow.com/questions/4488716/java-default-constructor">StackOverflow: Java default constructor</a> + */ + public AngelServer () + { + // default initializations occur + } /** * Program invocation, execution starts here diff --git a/assignments/src/MV3500Cohort2018JanuaryMarch/homework1/BlankenbekerMyTcpClient.java b/assignments/src/MV3500Cohort2018JanuaryMarch/homework1/BlankenbekerMyTcpClient.java index aeb4cc1b60cbfcd9a3ef245c2c019e389b3c2a92..d21249c1e34ce15ca733c9234744d0c0e10d28c0 100644 --- a/assignments/src/MV3500Cohort2018JanuaryMarch/homework1/BlankenbekerMyTcpClient.java +++ b/assignments/src/MV3500Cohort2018JanuaryMarch/homework1/BlankenbekerMyTcpClient.java @@ -20,7 +20,16 @@ import java.net.*; * * @author mcgredo */ -public class BlankenbekerMyTcpClient { +public class BlankenbekerMyTcpClient +{ + /** + * Default constructor to silence javadoc warning + * @see <a href="https://stackoverflow.com/questions/4488716/java-default-constructor">StackOverflow: Java default constructor</a> + */ + public BlankenbekerMyTcpClient () + { + // default initializations occur + } /** * Program invocation, execution starts here diff --git a/assignments/src/MV3500Cohort2018JanuaryMarch/homework1/BlankenbekerMyTcpServer.java b/assignments/src/MV3500Cohort2018JanuaryMarch/homework1/BlankenbekerMyTcpServer.java index 4f10a7bdec0da04af6f09ecc819fe7e4bc44e34b..dcb02e0dc201e23240418a52a0d82eafd931a4a9 100644 --- a/assignments/src/MV3500Cohort2018JanuaryMarch/homework1/BlankenbekerMyTcpServer.java +++ b/assignments/src/MV3500Cohort2018JanuaryMarch/homework1/BlankenbekerMyTcpServer.java @@ -23,8 +23,16 @@ import java.net.*; * And have him display the socket pairs he got. * @author mcgredo */ -public class BlankenbekerMyTcpServer +public class BlankenbekerMyTcpServer { + /** + * Default constructor to silence javadoc warning + * @see <a href="https://stackoverflow.com/questions/4488716/java-default-constructor">StackOverflow: Java default constructor</a> + */ + public BlankenbekerMyTcpServer () + { + // default initializations occur + } /** run the program * @param args command-line arguments, string parameters (unused) */ public static void main(String[] args) diff --git a/assignments/src/MV3500Cohort2018JanuaryMarch/homework2/AngelMulticastReceiver.java b/assignments/src/MV3500Cohort2018JanuaryMarch/homework2/AngelMulticastReceiver.java index 95ac0922867f2030d26227ad57c99c1f722ff601..3a1b6bdd37f69d0a3c6a5ab83959096437d01bba 100644 --- a/assignments/src/MV3500Cohort2018JanuaryMarch/homework2/AngelMulticastReceiver.java +++ b/assignments/src/MV3500Cohort2018JanuaryMarch/homework2/AngelMulticastReceiver.java @@ -9,7 +9,16 @@ import java.net.*; /** * homework assignment */ -public class AngelMulticastReceiver { +public class AngelMulticastReceiver +{ + /** + * Default constructor to silence javadoc warning + * @see <a href="https://stackoverflow.com/questions/4488716/java-default-constructor">StackOverflow: Java default constructor</a> + */ + public AngelMulticastReceiver () + { + // default initializations occur + } /** socket value of shared interest */ public static final String MULTICAST_ADDRESS = "239.1.2.15"; diff --git a/assignments/src/MV3500Cohort2018JanuaryMarch/homework2/AngelMulticastSenderExample.java b/assignments/src/MV3500Cohort2018JanuaryMarch/homework2/AngelMulticastSenderExample.java index ab6800776fa7e80ace66ad5b35983b0b4a8892d9..8d4128844cf1910614494a9cb3f3921b6b42ac97 100644 --- a/assignments/src/MV3500Cohort2018JanuaryMarch/homework2/AngelMulticastSenderExample.java +++ b/assignments/src/MV3500Cohort2018JanuaryMarch/homework2/AngelMulticastSenderExample.java @@ -12,7 +12,16 @@ import java.util.Random; * * @author mcgredo */ -public class AngelMulticastSenderExample { +public class AngelMulticastSenderExample +{ + /** + * Default constructor to silence javadoc warning + * @see <a href="https://stackoverflow.com/questions/4488716/java-default-constructor">StackOverflow: Java default constructor</a> + */ + public AngelMulticastSenderExample () + { + // default initializations occur + } /** socket value of shared interest */ public static final String MULTICAST_ADDRESS = "239.1.2.15"; diff --git a/assignments/src/MV3500Cohort2018JanuaryMarch/homework2/BlankenbekerMulticastReceiver.java b/assignments/src/MV3500Cohort2018JanuaryMarch/homework2/BlankenbekerMulticastReceiver.java index 239d9d09bbec0f1c9d5ee3180d22489320c21b59..35734ee2995d1e33af38622a6114076f3a25416b 100644 --- a/assignments/src/MV3500Cohort2018JanuaryMarch/homework2/BlankenbekerMulticastReceiver.java +++ b/assignments/src/MV3500Cohort2018JanuaryMarch/homework2/BlankenbekerMulticastReceiver.java @@ -17,7 +17,16 @@ import java.net.MulticastSocket; * homework assignment * @author Michael */ -public class BlankenbekerMulticastReceiver { +public class BlankenbekerMulticastReceiver +{ + /** + * Default constructor to silence javadoc warning + * @see <a href="https://stackoverflow.com/questions/4488716/java-default-constructor">StackOverflow: Java default constructor</a> + */ + public BlankenbekerMulticastReceiver () + { + // default initializations occur + } /** socket value of shared interest */ public static final String MULTICAST_ADDRESS = "239.1.2.15"; diff --git a/assignments/src/MV3500Cohort2018JanuaryMarch/homework2/BlankenbekerMulticastSender.java b/assignments/src/MV3500Cohort2018JanuaryMarch/homework2/BlankenbekerMulticastSender.java index 9b91d2342fee18661de6c1c1eac0cc6804a70b7d..4b02a79b832b2a55db66861fec6fa19df549761e 100644 --- a/assignments/src/MV3500Cohort2018JanuaryMarch/homework2/BlankenbekerMulticastSender.java +++ b/assignments/src/MV3500Cohort2018JanuaryMarch/homework2/BlankenbekerMulticastSender.java @@ -17,7 +17,16 @@ import java.net.MulticastSocket; * homework assignment * @author Michael */ -public class BlankenbekerMulticastSender { +public class BlankenbekerMulticastSender +{ + /** + * Default constructor to silence javadoc warning + * @see <a href="https://stackoverflow.com/questions/4488716/java-default-constructor">StackOverflow: Java default constructor</a> + */ + public BlankenbekerMulticastSender () + { + // default initializations occur + } /** socket value of shared interest */ public static final String MULTICAST_ADDRESS = "239.1.2.15"; diff --git a/assignments/src/MV3500Cohort2018JanuaryMarch/homework2/ConardMulticastReceiver.java b/assignments/src/MV3500Cohort2018JanuaryMarch/homework2/ConardMulticastReceiver.java index d0e4d22f4b8a7fefd3e67fff5de7c2a21acabc69..ca36d97c5ba5ef2d94649b3be0fea49d940e3f0f 100644 --- a/assignments/src/MV3500Cohort2018JanuaryMarch/homework2/ConardMulticastReceiver.java +++ b/assignments/src/MV3500Cohort2018JanuaryMarch/homework2/ConardMulticastReceiver.java @@ -2,12 +2,9 @@ package MV3500Cohort2018JanuaryMarch.homework2; import java.io.ByteArrayInputStream; import java.io.DataInputStream; -import java.io.IOException; import java.net.DatagramPacket; -import java.net.DatagramSocket; import java.net.InetAddress; import java.net.MulticastSocket; -import java.net.UnknownHostException; /** * homework assignment * @author emilyconard diff --git a/assignments/src/MV3500Cohort2018JanuaryMarch/homework3/Angel_OpenDisEspduSender.java b/assignments/src/MV3500Cohort2018JanuaryMarch/homework3/Angel_OpenDisEspduSender.java index ef99131be0779cd713d7966582a207d37379a7ee..4531fe0e8ffa25eece27bebb3917c4501a94f3c5 100644 --- a/assignments/src/MV3500Cohort2018JanuaryMarch/homework3/Angel_OpenDisEspduSender.java +++ b/assignments/src/MV3500Cohort2018JanuaryMarch/homework3/Angel_OpenDisEspduSender.java @@ -15,8 +15,16 @@ import edu.nps.moves.disutil.DisTime; * * @author DMcG */ -public class Angel_OpenDisEspduSender +public class Angel_OpenDisEspduSender { + /** + * Default constructor to silence javadoc warning + * @see <a href="https://stackoverflow.com/questions/4488716/java-default-constructor">StackOverflow: Java default constructor</a> + */ + public Angel_OpenDisEspduSender () + { + // default initializations occur + } static final int NUMBER_TO_SEND = 5000; /** Type of network connection */ diff --git a/assignments/src/MV3500Cohort2018JanuaryMarch/homework3/BlankenbekerOpenDisEspduSender.java b/assignments/src/MV3500Cohort2018JanuaryMarch/homework3/BlankenbekerOpenDisEspduSender.java index 151a42cbf1124c1ad21ca93d100b90c47b5a77f8..eae6710db599cefd50ec8fa1f0c17c832a6ef138 100644 --- a/assignments/src/MV3500Cohort2018JanuaryMarch/homework3/BlankenbekerOpenDisEspduSender.java +++ b/assignments/src/MV3500Cohort2018JanuaryMarch/homework3/BlankenbekerOpenDisEspduSender.java @@ -15,8 +15,16 @@ import edu.nps.moves.disutil.DisTime; * * @author DMcG */ -public class BlankenbekerOpenDisEspduSender +public class BlankenbekerOpenDisEspduSender { + /** + * Default constructor to silence javadoc warning + * @see <a href="https://stackoverflow.com/questions/4488716/java-default-constructor">StackOverflow: Java default constructor</a> + */ + public BlankenbekerOpenDisEspduSender () + { + // default initializations occur + } static final int NUMBER_TO_SEND = 5000; diff --git a/assignments/src/MV3500Cohort2018JanuaryMarch/projects/AngelopoulosBlankenbeker/AngelBlankEspduReceiverAtoTCP.java b/assignments/src/MV3500Cohort2018JanuaryMarch/projects/AngelopoulosBlankenbeker/AngelBlankEspduReceiverAtoTCP.java index 86a3df03424ac711be342c86c1229d99dc042b1e..ba98cba6e8368a4c59689a59481bae82bef99533 100644 --- a/assignments/src/MV3500Cohort2018JanuaryMarch/projects/AngelopoulosBlankenbeker/AngelBlankEspduReceiverAtoTCP.java +++ b/assignments/src/MV3500Cohort2018JanuaryMarch/projects/AngelopoulosBlankenbeker/AngelBlankEspduReceiverAtoTCP.java @@ -16,7 +16,16 @@ import java.io.DataOutputStream; * @author Angelopoulos/Blankenbeker * @version 8 MAR 2018 */ -public class AngelBlankEspduReceiverAtoTCP { +public class AngelBlankEspduReceiverAtoTCP +{ + /** + * Default constructor to silence javadoc warning + * @see <a href="https://stackoverflow.com/questions/4488716/java-default-constructor">StackOverflow: Java default constructor</a> + */ + public AngelBlankEspduReceiverAtoTCP () + { + // default initializations occur + } /** address of interest */ public static final String TCP_DESTINATION_IP = "172.20.146.111"; diff --git a/assignments/src/MV3500Cohort2018JanuaryMarch/projects/AngelopoulosBlankenbeker/AngelBlankEspduReceiverBtoTCP.java b/assignments/src/MV3500Cohort2018JanuaryMarch/projects/AngelopoulosBlankenbeker/AngelBlankEspduReceiverBtoTCP.java index 84d2e89557acc7de01823da194ba9bd57a814fc8..7b4ba114f40bfe437d09cc73f1ce29c70d050915 100644 --- a/assignments/src/MV3500Cohort2018JanuaryMarch/projects/AngelopoulosBlankenbeker/AngelBlankEspduReceiverBtoTCP.java +++ b/assignments/src/MV3500Cohort2018JanuaryMarch/projects/AngelopoulosBlankenbeker/AngelBlankEspduReceiverBtoTCP.java @@ -17,7 +17,16 @@ import java.io.DataOutputStream; * @author Angelopoulos/Blankenbeker * @version 8 MAR 2018 */ -public class AngelBlankEspduReceiverBtoTCP { +public class AngelBlankEspduReceiverBtoTCP +{ + /** + * Default constructor to silence javadoc warning + * @see <a href="https://stackoverflow.com/questions/4488716/java-default-constructor">StackOverflow: Java default constructor</a> + */ + public AngelBlankEspduReceiverBtoTCP () + { + // default initializations occur + } /** socket parameter of interest */ public static final String TCP_DESTINATION_IP = "172.20.144.187"; diff --git a/assignments/src/MV3500Cohort2018JanuaryMarch/projects/AngelopoulosBlankenbeker/AngelBlankEspduSenderA.java b/assignments/src/MV3500Cohort2018JanuaryMarch/projects/AngelopoulosBlankenbeker/AngelBlankEspduSenderA.java index f66df0ed9e88eac063d8ea9e4667bc604eaa9e87..63e6e26e721d71aa41a4c2553d037e0d210518c9 100644 --- a/assignments/src/MV3500Cohort2018JanuaryMarch/projects/AngelopoulosBlankenbeker/AngelBlankEspduSenderA.java +++ b/assignments/src/MV3500Cohort2018JanuaryMarch/projects/AngelopoulosBlankenbeker/AngelBlankEspduSenderA.java @@ -17,6 +17,14 @@ import edu.nps.moves.disutil.DisTime; */ public class AngelBlankEspduSenderA { + /** + * Default constructor to silence javadoc warning + * @see <a href="https://stackoverflow.com/questions/4488716/java-default-constructor">StackOverflow: Java default constructor</a> + */ + public AngelBlankEspduSenderA () + { + // default initializations occur + } static final int NUMBER_TO_SEND = 5000; /** Type of network connection */ diff --git a/assignments/src/MV3500Cohort2018JanuaryMarch/projects/AngelopoulosBlankenbeker/AngelBlankEspduSenderB.java b/assignments/src/MV3500Cohort2018JanuaryMarch/projects/AngelopoulosBlankenbeker/AngelBlankEspduSenderB.java index 650b8e5849e5f10f24f778575eebe916302b19ae..e284042e805d79b43fc0d8ea0406725f5dd03f15 100644 --- a/assignments/src/MV3500Cohort2018JanuaryMarch/projects/AngelopoulosBlankenbeker/AngelBlankEspduSenderB.java +++ b/assignments/src/MV3500Cohort2018JanuaryMarch/projects/AngelopoulosBlankenbeker/AngelBlankEspduSenderB.java @@ -15,8 +15,16 @@ import edu.nps.moves.disutil.DisTime; * @author Angelopoulos/Blankenbeker * 8 MAR 2018 */ -public class AngelBlankEspduSenderB +public class AngelBlankEspduSenderB { + /** + * Default constructor to silence javadoc warning + * @see <a href="https://stackoverflow.com/questions/4488716/java-default-constructor">StackOverflow: Java default constructor</a> + */ + public AngelBlankEspduSenderB () + { + // default initializations occur + } static final int NUMBER_TO_SEND = 5000; /** Type of network connection */ public enum NetworkMode { diff --git a/assignments/src/MV3500Cohort2018JanuaryMarch/projects/AngelopoulosBlankenbeker/AngelBlankEspduTCPReceiverASenderB.java b/assignments/src/MV3500Cohort2018JanuaryMarch/projects/AngelopoulosBlankenbeker/AngelBlankEspduTCPReceiverASenderB.java index da7efa84cc2d7f33df9d9ab91ee10e5da38ad10a..c5c2743c8b634451349193213b162ea13a7bf87a 100644 --- a/assignments/src/MV3500Cohort2018JanuaryMarch/projects/AngelopoulosBlankenbeker/AngelBlankEspduTCPReceiverASenderB.java +++ b/assignments/src/MV3500Cohort2018JanuaryMarch/projects/AngelopoulosBlankenbeker/AngelBlankEspduTCPReceiverASenderB.java @@ -19,6 +19,14 @@ import edu.nps.moves.disutil.DisTime; */ public class AngelBlankEspduTCPReceiverASenderB { + /** + * Default constructor to silence javadoc warning + * @see <a href="https://stackoverflow.com/questions/4488716/java-default-constructor">StackOverflow: Java default constructor</a> + */ + public AngelBlankEspduTCPReceiverASenderB () + { + // default initializations occur + } static final int NUMBER_TO_SEND = 5000; /** Type of network connection */ public enum NetworkMode { diff --git a/assignments/src/MV3500Cohort2018JanuaryMarch/projects/AngelopoulosBlankenbeker/AngelBlankEspduTCPReceiverBSenderA.java b/assignments/src/MV3500Cohort2018JanuaryMarch/projects/AngelopoulosBlankenbeker/AngelBlankEspduTCPReceiverBSenderA.java index fb891eea08a32ac10e8bca4ed617239a119b2733..121f85638900c57cd2eef7ad03bfd5e346ba9dab 100644 --- a/assignments/src/MV3500Cohort2018JanuaryMarch/projects/AngelopoulosBlankenbeker/AngelBlankEspduTCPReceiverBSenderA.java +++ b/assignments/src/MV3500Cohort2018JanuaryMarch/projects/AngelopoulosBlankenbeker/AngelBlankEspduTCPReceiverBSenderA.java @@ -17,6 +17,14 @@ import edu.nps.moves.disutil.PduFactory; */ public class AngelBlankEspduTCPReceiverBSenderA { + /** + * Default constructor to silence javadoc warning + * @see <a href="https://stackoverflow.com/questions/4488716/java-default-constructor">StackOverflow: Java default constructor</a> + */ + public AngelBlankEspduTCPReceiverBSenderA () + { + // default initializations occur + } static final int NUMBER_TO_SEND = 5000; /** Type of network connection */ diff --git a/assignments/src/MV3500Cohort2018JulySeptember/homework1/AyresAssignment1.java b/assignments/src/MV3500Cohort2018JulySeptember/homework1/AyresAssignment1.java index f7ad16374f1abee61955aa3725b6afabeeda645e..e2e157f2f21029922e4312e6f76104421cdccdbf 100644 --- a/assignments/src/MV3500Cohort2018JulySeptember/homework1/AyresAssignment1.java +++ b/assignments/src/MV3500Cohort2018JulySeptember/homework1/AyresAssignment1.java @@ -12,8 +12,16 @@ import java.net.*; * homework assignment * @author kjayr */ -public class AyresAssignment1 +public class AyresAssignment1 { + /** + * Default constructor to silence javadoc warning + * @see <a href="https://stackoverflow.com/questions/4488716/java-default-constructor">StackOverflow: Java default constructor</a> + */ + public AyresAssignment1 () + { + // default initializations occur + } /** run the program * @param args command-line arguments, string parameters (unused) */ public static void main(String[] args) diff --git a/assignments/src/MV3500Cohort2018JulySeptember/homework1/CainAssignment1.java b/assignments/src/MV3500Cohort2018JulySeptember/homework1/CainAssignment1.java index 21268d63875bc84c7e23203632ab6807b3af28a0..5e859d62b9e1d445a7d5b44a9f6b31c0217e6fcb 100644 --- a/assignments/src/MV3500Cohort2018JulySeptember/homework1/CainAssignment1.java +++ b/assignments/src/MV3500Cohort2018JulySeptember/homework1/CainAssignment1.java @@ -14,6 +14,14 @@ import java.net.*; */ public class CainAssignment1 { + /** + * Default constructor to silence javadoc warning + * @see <a href="https://stackoverflow.com/questions/4488716/java-default-constructor">StackOverflow: Java default constructor</a> + */ + public CainAssignment1 () + { + // default initializations occur + } /** run the program * @param args command-line arguments, string parameters (unused) */ public static void main(String[] args) { diff --git a/assignments/src/MV3500Cohort2018JulySeptember/homework2/Ayres/Ayres_Client.java b/assignments/src/MV3500Cohort2018JulySeptember/homework2/Ayres/Ayres_Client.java index 8e945b5399355afef49321db0a74fee882b0a909..26a338cfb6c71a2cf393d12a34e23b80ba001331 100644 --- a/assignments/src/MV3500Cohort2018JulySeptember/homework2/Ayres/Ayres_Client.java +++ b/assignments/src/MV3500Cohort2018JulySeptember/homework2/Ayres/Ayres_Client.java @@ -17,7 +17,16 @@ import java.net.Socket; * homework assignment * @author kjayr */ -public class Ayres_Client { +public class Ayres_Client +{ + /** + * Default constructor to silence javadoc warning + * @see <a href="https://stackoverflow.com/questions/4488716/java-default-constructor">StackOverflow: Java default constructor</a> + */ + public Ayres_Client () + { + // default initializations occur + } /** socket parameter of interest */ public final static String LOCALHOST = "0:0:0:0:0:0:0:1"; // String constant, i.e. 127.0.0.1 diff --git a/assignments/src/MV3500Cohort2018JulySeptember/homework2/Ayres/Ayres_Server.java b/assignments/src/MV3500Cohort2018JulySeptember/homework2/Ayres/Ayres_Server.java index 21446f64e0fbf14aaa6d434a08bda7841df56e5b..1e1bb4186d1665a2900b39d91556be649380597f 100644 --- a/assignments/src/MV3500Cohort2018JulySeptember/homework2/Ayres/Ayres_Server.java +++ b/assignments/src/MV3500Cohort2018JulySeptember/homework2/Ayres/Ayres_Server.java @@ -19,7 +19,16 @@ import java.net.Socket; * homework assignment * @author kjayr */ -public class Ayres_Server { +public class Ayres_Server +{ + /** + * Default constructor to silence javadoc warning + * @see <a href="https://stackoverflow.com/questions/4488716/java-default-constructor">StackOverflow: Java default constructor</a> + */ + public Ayres_Server () + { + // default initializations occur + } /** * Program invocation, execution starts here diff --git a/assignments/src/MV3500Cohort2018JulySeptember/homework2/Cain/CainTcpClient.java b/assignments/src/MV3500Cohort2018JulySeptember/homework2/Cain/CainTcpClient.java index 4570b9a1a48168c825051483bd521571095bee59..2b442cdbbe274fedf32d0a84600ee2fdbac26ab5 100644 --- a/assignments/src/MV3500Cohort2018JulySeptember/homework2/Cain/CainTcpClient.java +++ b/assignments/src/MV3500Cohort2018JulySeptember/homework2/Cain/CainTcpClient.java @@ -9,6 +9,14 @@ import java.net.*; */ public class CainTcpClient { + /** + * Default constructor to silence javadoc warning + * @see <a href="https://stackoverflow.com/questions/4488716/java-default-constructor">StackOverflow: Java default constructor</a> + */ + public CainTcpClient () + { + // default initializations occur + } /** socket parameter of interest */ public final static String LOCALHOST = "0:0:0:0:0:0:0:1"; // String constant, i.e. 127.0.0.1 diff --git a/assignments/src/MV3500Cohort2018JulySeptember/homework2/Cain/CainTcpServer.java b/assignments/src/MV3500Cohort2018JulySeptember/homework2/Cain/CainTcpServer.java index 5102d10106016b44c56753a617ef6438db7c6723..5959374e772c8b961cd164b1039aa0cbff1a689f 100644 --- a/assignments/src/MV3500Cohort2018JulySeptember/homework2/Cain/CainTcpServer.java +++ b/assignments/src/MV3500Cohort2018JulySeptember/homework2/Cain/CainTcpServer.java @@ -11,6 +11,14 @@ import java.net.*; */ public class CainTcpServer { + /** + * Default constructor to silence javadoc warning + * @see <a href="https://stackoverflow.com/questions/4488716/java-default-constructor">StackOverflow: Java default constructor</a> + */ + public CainTcpServer () + { + // default initializations occur + } /* * main class with server listening for the client and will then stop blocking. diff --git a/assignments/src/MV3500Cohort2018JulySeptember/homework3/AyresDemchkoHomework3/AyresDemchkoMulticastReceiver.java b/assignments/src/MV3500Cohort2018JulySeptember/homework3/AyresDemchkoHomework3/AyresDemchkoMulticastReceiver.java index e330271c317a1fcd550821baae4ac6b90a9684d5..b8933fdeb4a036a3d8e75b5f3e824f61998ef92c 100644 --- a/assignments/src/MV3500Cohort2018JulySeptember/homework3/AyresDemchkoHomework3/AyresDemchkoMulticastReceiver.java +++ b/assignments/src/MV3500Cohort2018JulySeptember/homework3/AyresDemchkoHomework3/AyresDemchkoMulticastReceiver.java @@ -18,8 +18,16 @@ import java.net.UnknownHostException; * homework assignment * @author kjayr */ -public class AyresDemchkoMulticastReceiver +public class AyresDemchkoMulticastReceiver { + /** + * Default constructor to silence javadoc warning + * @see <a href="https://stackoverflow.com/questions/4488716/java-default-constructor">StackOverflow: Java default constructor</a> + */ + public AyresDemchkoMulticastReceiver () + { + // default initializations occur + } /** socket parameter of interest */ public static final String MULTICAST_ADDRESS = "239.1.2.15"; /** socket parameter of interest */ diff --git a/assignments/src/MV3500Cohort2018JulySeptember/homework3/AyresDemchkoHomework3/AyresDemchkoMulticastSender.java b/assignments/src/MV3500Cohort2018JulySeptember/homework3/AyresDemchkoHomework3/AyresDemchkoMulticastSender.java index 904debc58d293d2a919278f2162d05198a3704e3..1fba6dd3dbf878654554c5851d3fb8ff99b10f8b 100644 --- a/assignments/src/MV3500Cohort2018JulySeptember/homework3/AyresDemchkoHomework3/AyresDemchkoMulticastSender.java +++ b/assignments/src/MV3500Cohort2018JulySeptember/homework3/AyresDemchkoHomework3/AyresDemchkoMulticastSender.java @@ -17,6 +17,14 @@ import java.net.MulticastSocket; */ public class AyresDemchkoMulticastSender { + /** + * Default constructor to silence javadoc warning + * @see <a href="https://stackoverflow.com/questions/4488716/java-default-constructor">StackOverflow: Java default constructor</a> + */ + public AyresDemchkoMulticastSender () + { + // default initializations occur + } /** socket parameter of interest */ public static final String MULTICAST_ADDRESS = "239.1.2.15"; /** socket parameter of interest */ diff --git a/assignments/src/MV3500Cohort2018JulySeptember/homework3/Cain_Thomerson_Homework3/CainThomersonHw3Sender.java b/assignments/src/MV3500Cohort2018JulySeptember/homework3/Cain_Thomerson_Homework3/CainThomersonHw3Sender.java index 0933cf84c4aaa6b8f785d85181477b10328cb9e7..d462dea82d446691fdca5a44baccc731b074856f 100644 --- a/assignments/src/MV3500Cohort2018JulySeptember/homework3/Cain_Thomerson_Homework3/CainThomersonHw3Sender.java +++ b/assignments/src/MV3500Cohort2018JulySeptember/homework3/Cain_Thomerson_Homework3/CainThomersonHw3Sender.java @@ -17,6 +17,14 @@ import java.util.Random; */ public class CainThomersonHw3Sender { + /** + * Default constructor to silence javadoc warning + * @see <a href="https://stackoverflow.com/questions/4488716/java-default-constructor">StackOverflow: Java default constructor</a> + */ + public CainThomersonHw3Sender () + { + // default initializations occur + } /** socket value of shared interest */ public static final String MULTICAST_ADDRESS = "239.1.2.15"; /** socket value of shared interest */ diff --git a/assignments/src/MV3500Cohort2018JulySeptember/projects/AyresDemchko/AyresDemchkoReceiver.java b/assignments/src/MV3500Cohort2018JulySeptember/projects/AyresDemchko/AyresDemchkoReceiver.java index 2e4af78bfff43f48f7a52688ea138a30bc46d648..33f77b64726630af8df6c75daf24a481cf2c5537 100644 --- a/assignments/src/MV3500Cohort2018JulySeptember/projects/AyresDemchko/AyresDemchkoReceiver.java +++ b/assignments/src/MV3500Cohort2018JulySeptember/projects/AyresDemchko/AyresDemchkoReceiver.java @@ -22,7 +22,16 @@ import java.util.ArrayList; * homework assignment * @author kjayr */ -public class AyresDemchkoReceiver { +public class AyresDemchkoReceiver +{ + /** + * Default constructor to silence javadoc warning + * @see <a href="https://stackoverflow.com/questions/4488716/java-default-constructor">StackOverflow: Java default constructor</a> + */ + public AyresDemchkoReceiver () + { + // default initializations occur + } /** socket parameter of interest */ public static final int MULTICAST_PORT = 3000; diff --git a/assignments/src/MV3500Cohort2018JulySeptember/projects/CainThomersonFinal/C_T_EspduRequestingUnit.java b/assignments/src/MV3500Cohort2018JulySeptember/projects/CainThomersonFinal/C_T_EspduRequestingUnit.java index 8320d373da32b643f031a7763825996ba815edfb..83153c55d6c0efc00345b97b4eb4aa5bd852dd3c 100644 --- a/assignments/src/MV3500Cohort2018JulySeptember/projects/CainThomersonFinal/C_T_EspduRequestingUnit.java +++ b/assignments/src/MV3500Cohort2018JulySeptember/projects/CainThomersonFinal/C_T_EspduRequestingUnit.java @@ -15,7 +15,16 @@ import edu.nps.moves.disutil.PduFactory; * * @author DMcG */ -public class C_T_EspduRequestingUnit { +public class C_T_EspduRequestingUnit +{ + /** + * Default constructor to silence javadoc warning + * @see <a href="https://stackoverflow.com/questions/4488716/java-default-constructor">StackOverflow: Java default constructor</a> + */ + public C_T_EspduRequestingUnit () + { + // default initializations occur + } private static final int NUMBER_TO_SEND = 5000; diff --git a/assignments/src/MV3500Cohort2018JulySeptember/projects/CainThomersonFinal/C_T_EspduSupplyerUnit.java b/assignments/src/MV3500Cohort2018JulySeptember/projects/CainThomersonFinal/C_T_EspduSupplyerUnit.java index 38f49e50aa56c468cb46caf4d57e2cf7bae24e06..7760271168aa471b417d9bdb8633c9c75c648afd 100644 --- a/assignments/src/MV3500Cohort2018JulySeptember/projects/CainThomersonFinal/C_T_EspduSupplyerUnit.java +++ b/assignments/src/MV3500Cohort2018JulySeptember/projects/CainThomersonFinal/C_T_EspduSupplyerUnit.java @@ -17,7 +17,16 @@ import java.io.IOException; * @author DMcG * @version $Id:$ */ -public class C_T_EspduSupplyerUnit { +public class C_T_EspduSupplyerUnit +{ + /** + * Default constructor to silence javadoc warning + * @see <a href="https://stackoverflow.com/questions/4488716/java-default-constructor">StackOverflow: Java default constructor</a> + */ + public C_T_EspduSupplyerUnit () + { + // default initializations occur + } static final int NUMBER_TO_SEND = 5000; diff --git a/assignments/src/MV3500Cohort2019JulySeptember/homework1/BoronTcpExample1Telnet1.java b/assignments/src/MV3500Cohort2019JulySeptember/homework1/BoronTcpExample1Telnet1.java index df588da9f564c94485c5eddd39d8413222406f3b..6b8aec00d54a27f863f5d5acc863b11a06044a51 100644 --- a/assignments/src/MV3500Cohort2019JulySeptember/homework1/BoronTcpExample1Telnet1.java +++ b/assignments/src/MV3500Cohort2019JulySeptember/homework1/BoronTcpExample1Telnet1.java @@ -30,8 +30,16 @@ import java.sql.Timestamp; * * @author mcgredo, brutzman`` */ -public class BoronTcpExample1Telnet1 +public class BoronTcpExample1Telnet1 { + /** + * Default constructor to silence javadoc warning + * @see <a href="https://stackoverflow.com/questions/4488716/java-default-constructor">StackOverflow: Java default constructor</a> + */ + public BoronTcpExample1Telnet1 () + { + // default initializations occur + } /** run the program * @param args command-line arguments, string parameters (unused) */ public static void main(String[] args) diff --git a/assignments/src/MV3500Cohort2019JulySeptember/homework1/BrennenstuhlTcpExample1Telnet.java b/assignments/src/MV3500Cohort2019JulySeptember/homework1/BrennenstuhlTcpExample1Telnet.java index 8aced5a42edc752256e6d68f51c811fbf9c6f509..ac988d92281089d50ed342fe06cc348aaf2b9f24 100644 --- a/assignments/src/MV3500Cohort2019JulySeptember/homework1/BrennenstuhlTcpExample1Telnet.java +++ b/assignments/src/MV3500Cohort2019JulySeptember/homework1/BrennenstuhlTcpExample1Telnet.java @@ -31,6 +31,14 @@ import java.net.*; */ public class BrennenstuhlTcpExample1Telnet { + /** + * Default constructor to silence javadoc warning + * @see <a href="https://stackoverflow.com/questions/4488716/java-default-constructor">StackOverflow: Java default constructor</a> + */ + public BrennenstuhlTcpExample1Telnet () + { + // default initializations occur + } /** run the program * @param args command-line arguments, string parameters (unused) */ public static void main(String[] args) diff --git a/assignments/src/MV3500Cohort2019JulySeptember/homework1/BrutzmanRefactorTcpExample1Telnet.java b/assignments/src/MV3500Cohort2019JulySeptember/homework1/BrutzmanRefactorTcpExample1Telnet.java index 508d62e88eb91f712763feb8be6abd3885ab2476..3dd2dfe6a4c61147abf6c82a4f2ef4b72dcd144e 100644 --- a/assignments/src/MV3500Cohort2019JulySeptember/homework1/BrutzmanRefactorTcpExample1Telnet.java +++ b/assignments/src/MV3500Cohort2019JulySeptember/homework1/BrutzmanRefactorTcpExample1Telnet.java @@ -31,6 +31,14 @@ import java.net.*; */ public class BrutzmanRefactorTcpExample1Telnet { + /** + * Default constructor to silence javadoc warning + * @see <a href="https://stackoverflow.com/questions/4488716/java-default-constructor">StackOverflow: Java default constructor</a> + */ + public BrutzmanRefactorTcpExample1Telnet () + { + // default initializations occur + } /** run the program * @param args command-line arguments, string parameters (unused) */ public static void main(String[] args) diff --git a/assignments/src/MV3500Cohort2019JulySeptember/homework2/Boron/BoronClient.java b/assignments/src/MV3500Cohort2019JulySeptember/homework2/Boron/BoronClient.java index 594c11da1e33e194b049efd577d3f223e0b3104b..d6e58a1a0d96f423bd32132da4423f371a4830b0 100644 --- a/assignments/src/MV3500Cohort2019JulySeptember/homework2/Boron/BoronClient.java +++ b/assignments/src/MV3500Cohort2019JulySeptember/homework2/Boron/BoronClient.java @@ -11,7 +11,16 @@ import java.net.*; * * @author Jonathan Boron */ -public class BoronClient { +public class BoronClient +{ + /** + * Default constructor to silence javadoc warning + * @see <a href="https://stackoverflow.com/questions/4488716/java-default-constructor">StackOverflow: Java default constructor</a> + */ + public BoronClient () + { + // default initializations occur + } // IPv6 String constant for localhost address, similarly IPv4 127.0.0.1 /** socket parameter of interest */ diff --git a/assignments/src/MV3500Cohort2019JulySeptember/homework2/Boron/BoronServer.java b/assignments/src/MV3500Cohort2019JulySeptember/homework2/Boron/BoronServer.java index bd32c6239cd54c607b3fbb538adab01ca96c96b6..edaa568f7decc70f776ccddbcd5dade6fac21ac9 100644 --- a/assignments/src/MV3500Cohort2019JulySeptember/homework2/Boron/BoronServer.java +++ b/assignments/src/MV3500Cohort2019JulySeptember/homework2/Boron/BoronServer.java @@ -11,7 +11,16 @@ import java.net.*; * * @author Jonathan Boron */ -public class BoronServer { +public class BoronServer +{ + /** + * Default constructor to silence javadoc warning + * @see <a href="https://stackoverflow.com/questions/4488716/java-default-constructor">StackOverflow: Java default constructor</a> + */ + public BoronServer () + { + // default initializations occur + } /** * Program invocation, execution starts here diff --git a/assignments/src/MV3500Cohort2019JulySeptember/homework2/Brennenstuhl/ChuckNorris.java b/assignments/src/MV3500Cohort2019JulySeptember/homework2/Brennenstuhl/ChuckNorris.java index 7e6dfa4c44208d4f67fb0dbd5080295b820ef211..20db8830aa74c15b9cf0cc033f25c67bad8b5841 100644 --- a/assignments/src/MV3500Cohort2019JulySeptember/homework2/Brennenstuhl/ChuckNorris.java +++ b/assignments/src/MV3500Cohort2019JulySeptember/homework2/Brennenstuhl/ChuckNorris.java @@ -9,7 +9,16 @@ package MV3500Cohort2019JulySeptember.homework2.Brennenstuhl; * homework assignment * @author tobia */ -public class ChuckNorris { +public class ChuckNorris +{ + /** + * Default constructor to silence javadoc warning + * @see <a href="https://stackoverflow.com/questions/4488716/java-default-constructor">StackOverflow: Java default constructor</a> + */ + public ChuckNorris () + { + // default initializations occur + } //Defining an Array for all the Facts about Chuck Norris //Credit: http://www.icndb.com/the-jokes-2/ diff --git a/assignments/src/MV3500Cohort2019JulySeptember/homework4/Boron/BoronPduReceiver.java b/assignments/src/MV3500Cohort2019JulySeptember/homework4/Boron/BoronPduReceiver.java index cc045fc825c6cb0922b3b06970dacbc457fc8eec..7aa1bcd301a7d72e39c249c3eab1e3326b126d68 100644 --- a/assignments/src/MV3500Cohort2019JulySeptember/homework4/Boron/BoronPduReceiver.java +++ b/assignments/src/MV3500Cohort2019JulySeptember/homework4/Boron/BoronPduReceiver.java @@ -18,6 +18,14 @@ import edu.nps.moves.dis7.utilities.*; public class BoronPduReceiver { + /** + * Default constructor to silence javadoc warning + * @see <a href="https://stackoverflow.com/questions/4488716/java-default-constructor">StackOverflow: Java default constructor</a> + */ + public BoronPduReceiver () + { + // default initializations occur + } /** socket parameter of interest */ public static final int DEFAULT_MULTICAST_PORT = BoronPduSender.DEFAULT_MULTICAST_PORT; /** socket parameter of interest */ diff --git a/assignments/src/MV3500Cohort2019JulySeptember/homework4/Brennenstuhl/BrennenstuhlEspduReceiver.java b/assignments/src/MV3500Cohort2019JulySeptember/homework4/Brennenstuhl/BrennenstuhlEspduReceiver.java index 22c959bd65c0e975409ab47e24757eadb64aa378..1db97caab817886a332fc760d0120f8042e0422b 100755 --- a/assignments/src/MV3500Cohort2019JulySeptember/homework4/Brennenstuhl/BrennenstuhlEspduReceiver.java +++ b/assignments/src/MV3500Cohort2019JulySeptember/homework4/Brennenstuhl/BrennenstuhlEspduReceiver.java @@ -16,6 +16,14 @@ import edu.nps.moves.dis7.utilities.*; */ public class BrennenstuhlEspduReceiver { + /** + * Default constructor to silence javadoc warning + * @see <a href="https://stackoverflow.com/questions/4488716/java-default-constructor">StackOverflow: Java default constructor</a> + */ + public BrennenstuhlEspduReceiver () + { + // default initializations occur + } /** Max size of a PDU in binary format that we can receive. This is actually * somewhat outdated--PDUs can be larger--but this is a reasonable starting point. */ diff --git a/assignments/src/MV3500Cohort2019JulySeptember/homework4/Brennenstuhl/BrennenstuhlEspduSender.java b/assignments/src/MV3500Cohort2019JulySeptember/homework4/Brennenstuhl/BrennenstuhlEspduSender.java index 87a840993ff428797f4ad5188fff2df253f561c9..b82d312c40ad0e5a9ff819584511f2dfa51d28c1 100644 --- a/assignments/src/MV3500Cohort2019JulySeptember/homework4/Brennenstuhl/BrennenstuhlEspduSender.java +++ b/assignments/src/MV3500Cohort2019JulySeptember/homework4/Brennenstuhl/BrennenstuhlEspduSender.java @@ -19,6 +19,14 @@ import edu.nps.moves.dis7.enumerations.PlatformDomain; */ public class BrennenstuhlEspduSender { + /** + * Default constructor to silence javadoc warning + * @see <a href="https://stackoverflow.com/questions/4488716/java-default-constructor">StackOverflow: Java default constructor</a> + */ + public BrennenstuhlEspduSender () + { + // default initializations occur + } static final int NUMBER_TO_SEND = 5; // 5000 diff --git a/assignments/src/MV3500Cohort2019JulySeptember/homework4/Brennenstuhl/Version2/AllPduReceiver.java b/assignments/src/MV3500Cohort2019JulySeptember/homework4/Brennenstuhl/Version2/AllPduReceiver.java index fc85766b7949ef765b8bf502f9b1899b3c2732bc..b5a9cd5c09856618daa9b15d7a54c07baa76ae34 100644 --- a/assignments/src/MV3500Cohort2019JulySeptember/homework4/Brennenstuhl/Version2/AllPduReceiver.java +++ b/assignments/src/MV3500Cohort2019JulySeptember/homework4/Brennenstuhl/Version2/AllPduReceiver.java @@ -13,6 +13,14 @@ import java.util.ArrayList; */ public class AllPduReceiver { + /** + * Default constructor to silence javadoc warning + * @see <a href="https://stackoverflow.com/questions/4488716/java-default-constructor">StackOverflow: Java default constructor</a> + */ + public AllPduReceiver () + { + // default initializations occur + } /** socket parameter of interest */ public static final int DEFAULT_MULTICAST_PORT = AllPduSender.DEFAULT_MULTICAST_PORT; /** socket parameter of interest */ diff --git a/assignments/src/MV3500Cohort2020JulySeptember/homework1/BrittTcPExample1Telnet.java b/assignments/src/MV3500Cohort2020JulySeptember/homework1/BrittTcPExample1Telnet.java index 59607885e0cd554881ac7d41bdee219935c3e853..4a1efb7a993e9283061a2c165ecbead7ddb94844 100644 --- a/assignments/src/MV3500Cohort2020JulySeptember/homework1/BrittTcPExample1Telnet.java +++ b/assignments/src/MV3500Cohort2020JulySeptember/homework1/BrittTcPExample1Telnet.java @@ -12,7 +12,16 @@ import java.net.Socket; * homework assignment * @author Brittokki */ -public class BrittTcPExample1Telnet { +public class BrittTcPExample1Telnet +{ + /** + * Default constructor to silence javadoc warning + * @see <a href="https://stackoverflow.com/questions/4488716/java-default-constructor">StackOverflow: Java default constructor</a> + */ + public BrittTcPExample1Telnet () + { + // default initializations occur + } /** When you run this program, the main method is invoked. * @param args command-line arguments */ public static void main(String[] args) diff --git a/assignments/src/MV3500Cohort2020JulySeptember/homework1/BrutzmanRefactorTcpExample1Telnet.java b/assignments/src/MV3500Cohort2020JulySeptember/homework1/BrutzmanRefactorTcpExample1Telnet.java index 3b05acab1bfdac1dd6e4beef2134d232f5422b5b..7bd6273d46a112706b4aa4db9a77713510815367 100644 --- a/assignments/src/MV3500Cohort2020JulySeptember/homework1/BrutzmanRefactorTcpExample1Telnet.java +++ b/assignments/src/MV3500Cohort2020JulySeptember/homework1/BrutzmanRefactorTcpExample1Telnet.java @@ -32,6 +32,14 @@ import java.net.*; */ public class BrutzmanRefactorTcpExample1Telnet { + /** + * Default constructor to silence javadoc warning + * @see <a href="https://stackoverflow.com/questions/4488716/java-default-constructor">StackOverflow: Java default constructor</a> + */ + public BrutzmanRefactorTcpExample1Telnet () + { + // default initializations occur + } /** When you run this program, the main method is invoked. * @param args command-line arguments */ public static void main(String[] args) diff --git a/assignments/src/MV3500Cohort2020JulySeptember/homework1/CannonTcpExample1Telnet.java b/assignments/src/MV3500Cohort2020JulySeptember/homework1/CannonTcpExample1Telnet.java index 3f22000293e9db98cacc9dea451ef5a95998b527..5d00fd76af60e52811f0dff8c5563773b0a92514 100644 --- a/assignments/src/MV3500Cohort2020JulySeptember/homework1/CannonTcpExample1Telnet.java +++ b/assignments/src/MV3500Cohort2020JulySeptember/homework1/CannonTcpExample1Telnet.java @@ -11,7 +11,16 @@ import java.net.Socket; * Homework 1 that demonstrates how to connect to a TCP telnet server * @author chris */ -public class CannonTcpExample1Telnet { +public class CannonTcpExample1Telnet +{ + /** + * Default constructor to silence javadoc warning + * @see <a href="https://stackoverflow.com/questions/4488716/java-default-constructor">StackOverflow: Java default constructor</a> + */ + public CannonTcpExample1Telnet () + { + // default initializations occur + } /** * homework assignment diff --git a/assignments/src/MV3500Cohort2020JulySeptember/homework2/Britt/Britt_Server.java b/assignments/src/MV3500Cohort2020JulySeptember/homework2/Britt/Britt_Server.java index 4e5974c8d2c77ef0af0359cfdc8a938574e32c13..5ddf33ac633819ff954de80c0da77dc3843cb805 100644 --- a/assignments/src/MV3500Cohort2020JulySeptember/homework2/Britt/Britt_Server.java +++ b/assignments/src/MV3500Cohort2020JulySeptember/homework2/Britt/Britt_Server.java @@ -16,7 +16,16 @@ import java.net.Socket; * homework assignment * @author Brittokki */ -public class Britt_Server { +public class Britt_Server +{ + /** + * Default constructor to silence javadoc warning + * @see <a href="https://stackoverflow.com/questions/4488716/java-default-constructor">StackOverflow: Java default constructor</a> + */ + public Britt_Server () + { + // default initializations occur + } /** * Program invocation, execution starts here diff --git a/assignments/src/MV3500Cohort2020JulySeptember/homework2/Cannon/CannonClient.java b/assignments/src/MV3500Cohort2020JulySeptember/homework2/Cannon/CannonClient.java index 6885993f3755a12a0e79a376f29904ea988eb856..1ba96d002b97e30433650fe07629eea7a401f52b 100644 --- a/assignments/src/MV3500Cohort2020JulySeptember/homework2/Cannon/CannonClient.java +++ b/assignments/src/MV3500Cohort2020JulySeptember/homework2/Cannon/CannonClient.java @@ -20,7 +20,16 @@ import java.net.Socket; * @author mcgredo * @author brutzman */ -public class CannonClient { +public class CannonClient +{ + /** + * Default constructor to silence javadoc warning + * @see <a href="https://stackoverflow.com/questions/4488716/java-default-constructor">StackOverflow: Java default constructor</a> + */ + public CannonClient () + { + // default initializations occur + } // IPv6 String constant for localhost address, similarly IPv4 127.0.0.1 /** socket parameter of interest */ diff --git a/assignments/src/MV3500Cohort2020JulySeptember/homework2/Cannon/CannonServer.java b/assignments/src/MV3500Cohort2020JulySeptember/homework2/Cannon/CannonServer.java index d6df7af0801a2d4f032cbb67aee60b02ebcab2be..f1676b791f03ed1a9174a6542036312a6bf9e054 100644 --- a/assignments/src/MV3500Cohort2020JulySeptember/homework2/Cannon/CannonServer.java +++ b/assignments/src/MV3500Cohort2020JulySeptember/homework2/Cannon/CannonServer.java @@ -30,7 +30,16 @@ import java.net.Socket; * @author mcgredo * @author brutzman */ -public class CannonServer { +public class CannonServer +{ + /** + * Default constructor to silence javadoc warning + * @see <a href="https://stackoverflow.com/questions/4488716/java-default-constructor">StackOverflow: Java default constructor</a> + */ + public CannonServer () + { + // default initializations occur + } /** * homework assignment diff --git a/assignments/src/MV3500Cohort2020JulySeptember/homework3/Cannon/CannonUdpReceiver.java b/assignments/src/MV3500Cohort2020JulySeptember/homework3/Cannon/CannonUdpReceiver.java index 4f3bd4a430c195e927d20198ff49dcfa24e1e260..bd225f349f29da3d31594247afa670edf3fb97d4 100644 --- a/assignments/src/MV3500Cohort2020JulySeptember/homework3/Cannon/CannonUdpReceiver.java +++ b/assignments/src/MV3500Cohort2020JulySeptember/homework3/Cannon/CannonUdpReceiver.java @@ -17,6 +17,14 @@ import java.net.*; */ public class CannonUdpReceiver { + /** + * Default constructor to silence javadoc warning + * @see <a href="https://stackoverflow.com/questions/4488716/java-default-constructor">StackOverflow: Java default constructor</a> + */ + public CannonUdpReceiver () + { + // default initializations occur + } // public static final int SENDING_PORT = 1414; // port used by UdpSender, unneeded here /** socket value of shared interest */ public static final int RECEIVING_PORT = 1415; diff --git a/assignments/src/MV3500Cohort2020JulySeptember/homework3/Cannon/CannonUdpSender.java b/assignments/src/MV3500Cohort2020JulySeptember/homework3/Cannon/CannonUdpSender.java index 201edd748840cbb494b00252f95257513aeae326..dcea77a9cbc4168d98c7e2def457b1b463b410d8 100644 --- a/assignments/src/MV3500Cohort2020JulySeptember/homework3/Cannon/CannonUdpSender.java +++ b/assignments/src/MV3500Cohort2020JulySeptember/homework3/Cannon/CannonUdpSender.java @@ -19,6 +19,14 @@ import java.net.*; */ public class CannonUdpSender { + /** + * Default constructor to silence javadoc warning + * @see <a href="https://stackoverflow.com/questions/4488716/java-default-constructor">StackOverflow: Java default constructor</a> + */ + public CannonUdpSender () + { + // default initializations occur + } private static final String MY_NAME = System.getProperty("user.name"); // guru incantation 8) // public static final int SENDING_PORT = 1414; // not needed, can let system choose an open local port /** socket value of shared interest */ diff --git a/assignments/src/MV3500Cohort2021JulySeptember/homework1/AllenTcpExample1Telnet1.java b/assignments/src/MV3500Cohort2021JulySeptember/homework1/AllenTcpExample1Telnet1.java index cdca717595035b8529cb89718bb95170018833d6..fd279ea6708c194fa7fe09f4dd041ce8a7a5b665 100644 --- a/assignments/src/MV3500Cohort2021JulySeptember/homework1/AllenTcpExample1Telnet1.java +++ b/assignments/src/MV3500Cohort2021JulySeptember/homework1/AllenTcpExample1Telnet1.java @@ -32,6 +32,14 @@ import java.net.*; */ public class AllenTcpExample1Telnet1 { + /** + * Default constructor to silence javadoc warning + * @see <a href="https://stackoverflow.com/questions/4488716/java-default-constructor">StackOverflow: Java default constructor</a> + */ + public AllenTcpExample1Telnet1 () + { + // default initializations occur + } /** * Program invocation, execution starts here * @param args command-line arguments diff --git a/assignments/src/MV3500Cohort2021JulySeptember/homework2/Allen/AllenTcpExample3Client.java b/assignments/src/MV3500Cohort2021JulySeptember/homework2/Allen/AllenTcpExample3Client.java index bc3278ae27d7fe39f0eefa7dcc0857718ea6e0e1..580bcd2a6d6dceed093e912317525c267fab32fb 100644 --- a/assignments/src/MV3500Cohort2021JulySeptember/homework2/Allen/AllenTcpExample3Client.java +++ b/assignments/src/MV3500Cohort2021JulySeptember/homework2/Allen/AllenTcpExample3Client.java @@ -13,7 +13,16 @@ import java.net.*; * * @author snapp */ -public class AllenTcpExample3Client { +public class AllenTcpExample3Client +{ + /** + * Default constructor to silence javadoc warning + * @see <a href="https://stackoverflow.com/questions/4488716/java-default-constructor">StackOverflow: Java default constructor</a> + */ + public AllenTcpExample3Client () + { + // default initializations occur + } /** IPv6 String constant for localhost address, similarly IPv4 127.0.0.1 * @see <a href="https://en.wikipedia.org/wiki/localhost">https://en.wikipedia.org/wiki/localhost</a> diff --git a/assignments/src/MV3500Cohort2021JulySeptember/homework2/Allen/AllenTcpExample3Server.java b/assignments/src/MV3500Cohort2021JulySeptember/homework2/Allen/AllenTcpExample3Server.java index ab3fbee545e16d06ff32b8c629b076ffaaa3e91e..684f0994ee0e6ca17b9aed5b1edb21afdeb2ad30 100644 --- a/assignments/src/MV3500Cohort2021JulySeptember/homework2/Allen/AllenTcpExample3Server.java +++ b/assignments/src/MV3500Cohort2021JulySeptember/homework2/Allen/AllenTcpExample3Server.java @@ -20,7 +20,16 @@ import java.net.*; * and have the instructor display the socket pairs received. * */ -public class AllenTcpExample3Server { +public class AllenTcpExample3Server +{ + /** + * Default constructor to silence javadoc warning + * @see <a href="https://stackoverflow.com/questions/4488716/java-default-constructor">StackOverflow: Java default constructor</a> + */ + public AllenTcpExample3Server () + { + // default initializations occur + } /** * Program invocation, execution starts here diff --git a/assignments/src/MV3500Cohort2022MayJune/homework2/Tam/package-info.java b/assignments/src/MV3500Cohort2022MayJune/homework2/Tam/package-info.java new file mode 100644 index 0000000000000000000000000000000000000000..a2a5e58d8596b53f2198c51457e14c735168b416 --- /dev/null +++ b/assignments/src/MV3500Cohort2022MayJune/homework2/Tam/package-info.java @@ -0,0 +1,10 @@ +/** + * Program-modification homework assignment supporting the NPS MOVES MV3500 Networked Graphics course. + * + * @see <a href="https://gitlab.nps.edu/Savage/NetworkedGraphicsMV3500/-/tree/master/assignments">networkedGraphicsMV3500 assignments</a> + * @see java.lang.Package + * @see <a href="https://stackoverflow.com/questions/22095487/why-is-package-info-java-useful">StackOverflow: why-is-package-info-java-useful</a> + * @see <a href="https://stackoverflow.com/questions/624422/how-do-i-document-packages-in-java">StackOverflow: how-do-i-document-packages-in-java</a> + */ + +package MV3500Cohort2022MayJune.homework2.Tam; diff --git a/assignments/src/MV3500Cohort2022MayJune/projects/Royer/TwoCranesBerth/.gitignore b/assignments/src/MV3500Cohort2022MayJune/projects/Royer/TwoCranesBerth/.gitignore deleted file mode 100644 index e2cae228c899cb23b564734c9cb6932ffd7c5f3a..0000000000000000000000000000000000000000 --- a/assignments/src/MV3500Cohort2022MayJune/projects/Royer/TwoCranesBerth/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -/build/ -/dist/ diff --git a/assignments/src/MV3500Cohort2022MayJune/projects/Royer/TwoCranesBerth/build.xml b/assignments/src/MV3500Cohort2022MayJune/projects/Royer/TwoCranesBerth/build.xml deleted file mode 100644 index 4f8c1ba89c01cfa6299c2d589da637711a46c64f..0000000000000000000000000000000000000000 --- a/assignments/src/MV3500Cohort2022MayJune/projects/Royer/TwoCranesBerth/build.xml +++ /dev/null @@ -1,73 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- You may freely edit this file. See commented blocks below for --> -<!-- some examples of how to customize the build. --> -<!-- (If you delete it and reopen the project it will be recreated.) --> -<!-- By default, only the Clean and Build commands use this build script. --> -<!-- Commands such as Run, Debug, and Test only use this build script if --> -<!-- the Compile on Save feature is turned off for the project. --> -<!-- You can turn off the Compile on Save (or Deploy on Save) setting --> -<!-- in the project's Project Properties dialog box.--> -<project name="TwoCranesBerth" default="default" basedir="."> - <description>Builds, tests, and runs the project TwoCranesBerth.</description> - <import file="nbproject/build-impl.xml"/> - <!-- - - There exist several targets which are by default empty and which can be - used for execution of your tasks. These targets are usually executed - before and after some main targets. They are: - - -pre-init: called before initialization of project properties - -post-init: called after initialization of project properties - -pre-compile: called before javac compilation - -post-compile: called after javac compilation - -pre-compile-single: called before javac compilation of single file - -post-compile-single: called after javac compilation of single file - -pre-compile-test: called before javac compilation of JUnit tests - -post-compile-test: called after javac compilation of JUnit tests - -pre-compile-test-single: called before javac compilation of single JUnit test - -post-compile-test-single: called after javac compilation of single JUunit test - -pre-jar: called before JAR building - -post-jar: called after JAR building - -post-clean: called after cleaning build products - - (Targets beginning with '-' are not intended to be called on their own.) - - Example of inserting an obfuscator after compilation could look like this: - - <target name="-post-compile"> - <obfuscate> - <fileset dir="${build.classes.dir}"/> - </obfuscate> - </target> - - For list of available properties check the imported - nbproject/build-impl.xml file. - - - Another way to customize the build is by overriding existing main targets. - The targets of interest are: - - -init-macrodef-javac: defines macro for javac compilation - -init-macrodef-junit: defines macro for junit execution - -init-macrodef-debug: defines macro for class debugging - -init-macrodef-java: defines macro for class execution - -do-jar: JAR building - run: execution of project - -javadoc-build: Javadoc generation - test-report: JUnit report generation - - An example of overriding the target for project execution could look like this: - - <target name="run" depends="MV3302-impl.jar"> - <exec dir="bin" executable="launcher.exe"> - <arg file="${dist.jar}"/> - </exec> - </target> - - Notice that the overridden target depends on the jar target and not only on - the compile target as the regular run target does. Again, for a list of available - properties which you can use, check the target you are overriding in the - nbproject/build-impl.xml file. - - --> -</project> diff --git a/assignments/src/MV3500Cohort2022MayJune/projects/Royer/TwoCranesBerth/manifest.mf b/assignments/src/MV3500Cohort2022MayJune/projects/Royer/TwoCranesBerth/manifest.mf deleted file mode 100644 index 328e8e5bc3b7f1f7bad2bc0751a933e00c801983..0000000000000000000000000000000000000000 --- a/assignments/src/MV3500Cohort2022MayJune/projects/Royer/TwoCranesBerth/manifest.mf +++ /dev/null @@ -1,3 +0,0 @@ -Manifest-Version: 1.0 -X-COMMENT: Main-Class will be added automatically by build - diff --git a/assignments/src/MV3500Cohort2022MayJune/projects/Royer/TwoCranesBerth/nbproject/build-impl.xml b/assignments/src/MV3500Cohort2022MayJune/projects/Royer/TwoCranesBerth/nbproject/build-impl.xml deleted file mode 100644 index 3f29f02911da550635e7ba737ca7383fd543f407..0000000000000000000000000000000000000000 --- a/assignments/src/MV3500Cohort2022MayJune/projects/Royer/TwoCranesBerth/nbproject/build-impl.xml +++ /dev/null @@ -1,1771 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- -*** GENERATED FROM project.xml - DO NOT EDIT *** -*** EDIT ../build.xml INSTEAD *** - -For the purpose of easier reading the script -is divided into following sections: - - - initialization - - compilation - - jar - - execution - - debugging - - javadoc - - test compilation - - test execution - - test debugging - - applet - - cleanup - - --> -<project xmlns:if="ant:if" xmlns:j2seproject1="http://www.netbeans.org/ns/j2se-project/1" xmlns:j2seproject3="http://www.netbeans.org/ns/j2se-project/3" xmlns:jaxrpc="http://www.netbeans.org/ns/j2se-project/jax-rpc" xmlns:unless="ant:unless" basedir=".." default="default" name="MV3500Cohort2022MayJune_projects_Royer_TwoCranesBerth-impl"> - <fail message="Please build using Ant 1.8.0 or higher."> - <condition> - <not> - <antversion atleast="1.8.0"/> - </not> - </condition> - </fail> - <target depends="test,jar,javadoc" description="Build and test whole project." name="default"/> - <!-- - ====================== - INITIALIZATION SECTION - ====================== - --> - <target name="-pre-init"> - <!-- Empty placeholder for easier customization. --> - <!-- You can override this target in the ../build.xml file. --> - </target> - <target depends="-pre-init" name="-init-private"> - <property file="nbproject/private/config.properties"/> - <property file="nbproject/private/configs/${config}.properties"/> - <property file="nbproject/private/private.properties"/> - </target> - <target depends="-pre-init,-init-private" name="-init-user"> - <property file="${user.properties.file}"/> - <!-- The two properties below are usually overridden --> - <!-- by the active platform. Just a fallback. --> - <property name="default.javac.source" value="1.8"/> - <property name="default.javac.target" value="1.8"/> - </target> - <target depends="-pre-init,-init-private,-init-user" name="-init-project"> - <property file="nbproject/configs/${config}.properties"/> - <property file="nbproject/project.properties"/> - </target> - <target name="-init-modules-supported"> - <condition property="modules.supported.internal" value="true"> - <not> - <matches pattern="1\.[0-8](\..*)?" string="${javac.source}"/> - </not> - </condition> - </target> - <target depends="-init-modules-supported" if="modules.supported.internal" name="-init-macrodef-modulename"> - <macrodef name="modulename" uri="http://www.netbeans.org/ns/j2se-project/3"> - <attribute name="property"/> - <attribute name="sourcepath"/> - <sequential> - <loadresource property="@{property}" quiet="true"> - <javaresource classpath="@{sourcepath}" name="module-info.java" parentFirst="false"/> - <filterchain> - <stripjavacomments/> - <linecontainsregexp> - <regexp pattern="module .* \{"/> - </linecontainsregexp> - <tokenfilter> - <linetokenizer/> - <replaceregex flags="s" pattern="(\s*module\s+)(\S*)(\s*\{.*)" replace="\2"/> - </tokenfilter> - <striplinebreaks/> - </filterchain> - </loadresource> - </sequential> - </macrodef> - </target> - <target depends="-init-modules-supported,-init-macrodef-modulename" if="modules.supported.internal" name="-init-source-module-properties"> - <fail message="Java 9 support requires Ant 1.10.0 or higher."> - <condition> - <not> - <antversion atleast="1.10.0"/> - </not> - </condition> - </fail> - <j2seproject3:modulename property="module.name" sourcepath="${src.dir}"/> - <condition property="named.module.internal"> - <and> - <isset property="module.name"/> - <length length="0" string="${module.name}" when="greater"/> - </and> - </condition> - <condition property="unnamed.module.internal"> - <not> - <isset property="named.module.internal"/> - </not> - </condition> - <property name="javac.modulepath" value=""/> - <property name="run.modulepath" value="${javac.modulepath}"/> - <property name="module.build.classes.dir" value="${build.classes.dir}"/> - <property name="debug.modulepath" value="${run.modulepath}"/> - <property name="javac.upgrademodulepath" value=""/> - <property name="run.upgrademodulepath" value="${javac.upgrademodulepath}"/> - <condition else="" property="javac.systemmodulepath.cmd.line.arg" value="--system '${javac.systemmodulepath}'"> - <and> - <isset property="javac.systemmodulepath"/> - <length length="0" string="${javac.systemmodulepath}" when="greater"/> - </and> - </condition> - <property name="dist.jlink.dir" value="${dist.dir}/jlink"/> - <property name="dist.jlink.output" value="${dist.jlink.dir}/${application.title}"/> - <property name="module.name" value=""/> - </target> - <target depends="-pre-init,-init-private,-init-user,-init-project,-init-macrodef-property,-init-modules-supported" name="-do-init"> - <property name="platform.java" value="${java.home}/bin/java"/> - <available file="${manifest.file}" property="manifest.available"/> - <condition property="splashscreen.available"> - <and> - <not> - <equals arg1="${application.splash}" arg2="" trim="true"/> - </not> - <available file="${application.splash}"/> - </and> - </condition> - <condition property="main.class.available"> - <and> - <isset property="main.class"/> - <not> - <equals arg1="${main.class}" arg2="" trim="true"/> - </not> - </and> - </condition> - <condition property="profile.available"> - <and> - <isset property="javac.profile"/> - <length length="0" string="${javac.profile}" when="greater"/> - <not> - <matches pattern="1\.[0-7](\..*)?" string="${javac.source}"/> - </not> - </and> - </condition> - <condition property="do.archive"> - <or> - <not> - <istrue value="${jar.archive.disabled}"/> - </not> - <istrue value="${not.archive.disabled}"/> - </or> - </condition> - <condition property="do.archive+manifest.available"> - <and> - <isset property="manifest.available"/> - <istrue value="${do.archive}"/> - </and> - </condition> - <condition property="do.archive+main.class.available"> - <and> - <isset property="main.class.available"/> - <istrue value="${do.archive}"/> - </and> - </condition> - <condition property="do.archive+splashscreen.available"> - <and> - <isset property="splashscreen.available"/> - <istrue value="${do.archive}"/> - </and> - </condition> - <condition property="do.archive+profile.available"> - <and> - <isset property="profile.available"/> - <istrue value="${do.archive}"/> - </and> - </condition> - <condition property="have.tests"> - <or> - <available file="${test.src.dir}"/> - </or> - </condition> - <condition property="have.sources"> - <or> - <available file="${src.dir}"/> - </or> - </condition> - <condition property="netbeans.home+have.tests"> - <and> - <isset property="netbeans.home"/> - <isset property="have.tests"/> - </and> - </condition> - <condition property="no.javadoc.preview"> - <and> - <isset property="javadoc.preview"/> - <isfalse value="${javadoc.preview}"/> - </and> - </condition> - <property name="run.jvmargs" value=""/> - <property name="run.jvmargs.ide" value=""/> - <property name="javac.compilerargs" value=""/> - <property name="work.dir" value="${basedir}"/> - <condition property="no.deps"> - <and> - <istrue value="${no.dependencies}"/> - </and> - </condition> - <property name="javac.debug" value="true"/> - <property name="javadoc.preview" value="true"/> - <property name="application.args" value=""/> - <property name="source.encoding" value="${file.encoding}"/> - <property name="runtime.encoding" value="${source.encoding}"/> - <property name="manifest.encoding" value="${source.encoding}"/> - <condition property="javadoc.encoding.used" value="${javadoc.encoding}"> - <and> - <isset property="javadoc.encoding"/> - <not> - <equals arg1="${javadoc.encoding}" arg2=""/> - </not> - </and> - </condition> - <property name="javadoc.encoding.used" value="${source.encoding}"/> - <property name="includes" value="**"/> - <property name="excludes" value=""/> - <property name="do.depend" value="false"/> - <condition property="do.depend.true"> - <istrue value="${do.depend}"/> - </condition> - <path id="endorsed.classpath.path" path="${endorsed.classpath}"/> - <condition else="" property="endorsed.classpath.cmd.line.arg" value="-Xbootclasspath/p:'${toString:endorsed.classpath.path}'"> - <and> - <isset property="endorsed.classpath"/> - <not> - <equals arg1="${endorsed.classpath}" arg2="" trim="true"/> - </not> - </and> - </condition> - <condition else="" property="javac.profile.cmd.line.arg" value="-profile ${javac.profile}"> - <isset property="profile.available"/> - </condition> - <condition else="false" property="jdkBug6558476"> - <and> - <matches pattern="1\.[56]" string="${java.specification.version}"/> - <not> - <os family="unix"/> - </not> - </and> - </condition> - <condition else="false" property="javac.fork"> - <or> - <istrue value="${jdkBug6558476}"/> - <istrue value="${javac.external.vm}"/> - </or> - </condition> - <property name="jar.index" value="false"/> - <property name="jar.index.metainf" value="${jar.index}"/> - <property name="copylibs.rebase" value="true"/> - <available file="${meta.inf.dir}/persistence.xml" property="has.persistence.xml"/> - <condition property="junit.available"> - <or> - <available classname="org.junit.Test" classpath="${run.test.classpath}"/> - <available classname="junit.framework.Test" classpath="${run.test.classpath}"/> - </or> - </condition> - <condition property="testng.available"> - <available classname="org.testng.annotations.Test" classpath="${run.test.classpath}"/> - </condition> - <condition property="junit+testng.available"> - <and> - <istrue value="${junit.available}"/> - <istrue value="${testng.available}"/> - </and> - </condition> - <condition else="testng" property="testng.mode" value="mixed"> - <istrue value="${junit+testng.available}"/> - </condition> - <condition else="" property="testng.debug.mode" value="-mixed"> - <istrue value="${junit+testng.available}"/> - </condition> - <property name="java.failonerror" value="true"/> - </target> - <target name="-post-init"> - <!-- Empty placeholder for easier customization. --> - <!-- You can override this target in the ../build.xml file. --> - </target> - <target depends="-pre-init,-init-private,-init-user,-init-project,-do-init" name="-init-check"> - <fail unless="src.dir">Must set src.dir</fail> - <fail unless="test.src.dir">Must set test.src.dir</fail> - <fail unless="build.dir">Must set build.dir</fail> - <fail unless="dist.dir">Must set dist.dir</fail> - <fail unless="build.classes.dir">Must set build.classes.dir</fail> - <fail unless="dist.javadoc.dir">Must set dist.javadoc.dir</fail> - <fail unless="build.test.classes.dir">Must set build.test.classes.dir</fail> - <fail unless="build.test.results.dir">Must set build.test.results.dir</fail> - <fail unless="build.classes.excludes">Must set build.classes.excludes</fail> - <fail unless="dist.jar">Must set dist.jar</fail> - </target> - <target name="-init-macrodef-property"> - <macrodef name="property" uri="http://www.netbeans.org/ns/j2se-project/1"> - <attribute name="name"/> - <attribute name="value"/> - <sequential> - <property name="@{name}" value="${@{value}}"/> - </sequential> - </macrodef> - </target> - <target depends="-init-ap-cmdline-properties,-init-source-module-properties" if="modules.supported.internal" name="-init-macrodef-javac-with-module"> - <macrodef name="javac" uri="http://www.netbeans.org/ns/j2se-project/3"> - <attribute default="${src.dir}" name="srcdir"/> - <attribute default="${build.classes.dir}" name="destdir"/> - <attribute default="${javac.classpath}" name="classpath"/> - <attribute default="${javac.modulepath}" name="modulepath"/> - <attribute default="${javac.upgrademodulepath}" name="upgrademodulepath"/> - <attribute default="${javac.processorpath}" name="processorpath"/> - <attribute default="${javac.processormodulepath}" name="processormodulepath"/> - <attribute default="${build.generated.sources.dir}/ap-source-output" name="apgeneratedsrcdir"/> - <attribute default="${includes}" name="includes"/> - <attribute default="${excludes}" name="excludes"/> - <attribute default="${javac.debug}" name="debug"/> - <attribute default="${empty.dir}" name="sourcepath" unless:set="named.module.internal"/> - <attribute default="${src.dir}" if:set="named.module.internal" name="sourcepath"/> - <attribute default="${empty.dir}" name="gensrcdir"/> - <element name="customize" optional="true"/> - <sequential> - <condition property="warn.excludes.internal"> - <and> - <isset property="named.module.internal"/> - <length length="0" string="@{excludes}" trim="true" when="greater"/> - </and> - </condition> - <echo if:set="warn.excludes.internal" level="warning" message="The javac excludes are not supported in the JDK 9 Named Module."/> - <property location="${build.dir}/empty" name="empty.dir"/> - <mkdir dir="${empty.dir}"/> - <mkdir dir="@{apgeneratedsrcdir}"/> - <condition property="processormodulepath.set"> - <resourcecount count="0" when="greater"> - <path> - <pathelement path="@{processormodulepath}"/> - </path> - </resourcecount> - </condition> - <javac debug="@{debug}" deprecation="${javac.deprecation}" destdir="@{destdir}" encoding="${source.encoding}" excludes="@{excludes}" fork="${javac.fork}" includeantruntime="false" includes="@{includes}" source="${javac.source}" sourcepath="@{sourcepath}" srcdir="@{srcdir}" target="${javac.target}" tempdir="${java.io.tmpdir}"> - <src> - <dirset dir="@{gensrcdir}" erroronmissingdir="false"> - <include name="*"/> - </dirset> - </src> - <classpath> - <path path="@{classpath}"/> - </classpath> - <modulepath> - <path path="@{modulepath}"/> - </modulepath> - <upgrademodulepath> - <path path="@{upgrademodulepath}"/> - </upgrademodulepath> - <compilerarg line="${javac.systemmodulepath.cmd.line.arg}"/> - <compilerarg line="${javac.profile.cmd.line.arg}"/> - <compilerarg line="${javac.compilerargs}"/> - <compilerarg if:set="processormodulepath.set" value="--processor-module-path"/> - <compilerarg if:set="processormodulepath.set" path="@{processormodulepath}"/> - <compilerarg unless:set="processormodulepath.set" value="-processorpath"/> - <compilerarg path="@{processorpath}:${empty.dir}" unless:set="processormodulepath.set"/> - <compilerarg line="${ap.processors.internal}"/> - <compilerarg line="${annotation.processing.processor.options}"/> - <compilerarg value="-s"/> - <compilerarg path="@{apgeneratedsrcdir}"/> - <compilerarg line="${ap.proc.none.internal}"/> - <customize/> - </javac> - </sequential> - </macrodef> - </target> - <target depends="-init-ap-cmdline-properties,-init-source-module-properties" if="ap.supported.internal" name="-init-macrodef-javac-with-processors" unless="modules.supported.internal"> - <macrodef name="javac" uri="http://www.netbeans.org/ns/j2se-project/3"> - <attribute default="${src.dir}" name="srcdir"/> - <attribute default="${build.classes.dir}" name="destdir"/> - <attribute default="${javac.classpath}" name="classpath"/> - <attribute default="${javac.modulepath}" name="modulepath"/> - <attribute default="${javac.upgrademodulepath}" name="upgrademodulepath"/> - <attribute default="${javac.processorpath}" name="processorpath"/> - <attribute default="${build.generated.sources.dir}/ap-source-output" name="apgeneratedsrcdir"/> - <attribute default="${includes}" name="includes"/> - <attribute default="${excludes}" name="excludes"/> - <attribute default="${javac.debug}" name="debug"/> - <attribute default="${empty.dir}" name="sourcepath"/> - <attribute default="${empty.dir}" name="gensrcdir"/> - <element name="customize" optional="true"/> - <sequential> - <property location="${build.dir}/empty" name="empty.dir"/> - <mkdir dir="${empty.dir}"/> - <mkdir dir="@{apgeneratedsrcdir}"/> - <javac debug="@{debug}" deprecation="${javac.deprecation}" destdir="@{destdir}" encoding="${source.encoding}" excludes="@{excludes}" fork="${javac.fork}" includeantruntime="false" includes="@{includes}" source="${javac.source}" sourcepath="@{sourcepath}" srcdir="@{srcdir}" target="${javac.target}" tempdir="${java.io.tmpdir}"> - <src> - <dirset dir="@{gensrcdir}" erroronmissingdir="false"> - <include name="*"/> - </dirset> - </src> - <classpath> - <path path="@{classpath}"/> - </classpath> - <compilerarg line="${endorsed.classpath.cmd.line.arg}"/> - <compilerarg line="${javac.profile.cmd.line.arg}"/> - <compilerarg line="${javac.compilerargs}"/> - <compilerarg value="-processorpath"/> - <compilerarg path="@{processorpath}:${empty.dir}"/> - <compilerarg line="${ap.processors.internal}"/> - <compilerarg line="${annotation.processing.processor.options}"/> - <compilerarg value="-s"/> - <compilerarg path="@{apgeneratedsrcdir}"/> - <compilerarg line="${ap.proc.none.internal}"/> - <customize/> - </javac> - </sequential> - </macrodef> - </target> - <target depends="-init-ap-cmdline-properties,-init-source-module-properties" name="-init-macrodef-javac-without-processors" unless="ap.supported.internal"> - <macrodef name="javac" uri="http://www.netbeans.org/ns/j2se-project/3"> - <attribute default="${src.dir}" name="srcdir"/> - <attribute default="${build.classes.dir}" name="destdir"/> - <attribute default="${javac.classpath}" name="classpath"/> - <attribute default="${javac.modulepath}" name="modulepath"/> - <attribute default="${javac.upgrademodulepath}" name="upgrademodulepath"/> - <attribute default="${javac.processorpath}" name="processorpath"/> - <attribute default="${build.generated.sources.dir}/ap-source-output" name="apgeneratedsrcdir"/> - <attribute default="${includes}" name="includes"/> - <attribute default="${excludes}" name="excludes"/> - <attribute default="${javac.debug}" name="debug"/> - <attribute default="${empty.dir}" name="sourcepath"/> - <attribute default="${empty.dir}" name="gensrcdir"/> - <element name="customize" optional="true"/> - <sequential> - <property location="${build.dir}/empty" name="empty.dir"/> - <mkdir dir="${empty.dir}"/> - <javac debug="@{debug}" deprecation="${javac.deprecation}" destdir="@{destdir}" encoding="${source.encoding}" excludes="@{excludes}" fork="${javac.fork}" includeantruntime="false" includes="@{includes}" source="${javac.source}" sourcepath="@{sourcepath}" srcdir="@{srcdir}" target="${javac.target}" tempdir="${java.io.tmpdir}"> - <src> - <dirset dir="@{gensrcdir}" erroronmissingdir="false"> - <include name="*"/> - </dirset> - </src> - <classpath> - <path path="@{classpath}"/> - </classpath> - <compilerarg line="${endorsed.classpath.cmd.line.arg}"/> - <compilerarg line="${javac.profile.cmd.line.arg}"/> - <compilerarg line="${javac.compilerargs}"/> - <customize/> - </javac> - </sequential> - </macrodef> - </target> - <target depends="-init-macrodef-javac-with-module,-init-macrodef-javac-with-processors,-init-macrodef-javac-without-processors" name="-init-macrodef-javac"> - <macrodef name="depend" uri="http://www.netbeans.org/ns/j2se-project/3"> - <attribute default="${src.dir}" name="srcdir"/> - <attribute default="${build.classes.dir}" name="destdir"/> - <attribute default="${javac.classpath}" name="classpath"/> - <sequential> - <depend cache="${build.dir}/depcache" destdir="@{destdir}" excludes="${excludes}" includes="${includes}" srcdir="@{srcdir}"> - <classpath> - <path path="@{classpath}"/> - </classpath> - </depend> - </sequential> - </macrodef> - <macrodef name="force-recompile" uri="http://www.netbeans.org/ns/j2se-project/3"> - <attribute default="${build.classes.dir}" name="destdir"/> - <sequential> - <fail unless="javac.includes">Must set javac.includes</fail> - <pathconvert pathsep="${line.separator}" property="javac.includes.binary"> - <path> - <filelist dir="@{destdir}" files="${javac.includes}"/> - </path> - <globmapper from="*.java" to="*.class"/> - </pathconvert> - <tempfile deleteonexit="true" property="javac.includesfile.binary"/> - <echo file="${javac.includesfile.binary}" message="${javac.includes.binary}"/> - <delete> - <files includesfile="${javac.includesfile.binary}"/> - </delete> - <delete> - <fileset file="${javac.includesfile.binary}"/> - </delete> - </sequential> - </macrodef> - </target> - <target if="${junit.available}" name="-init-macrodef-junit-init"> - <condition else="false" property="nb.junit.batch" value="true"> - <and> - <istrue value="${junit.available}"/> - <not> - <isset property="test.method"/> - </not> - </and> - </condition> - <condition else="false" property="nb.junit.single" value="true"> - <and> - <istrue value="${junit.available}"/> - <isset property="test.method"/> - </and> - </condition> - </target> - <target name="-init-test-properties"> - <property name="test.binaryincludes" value="<nothing>"/> - <property name="test.binarytestincludes" value=""/> - <property name="test.binaryexcludes" value=""/> - </target> - <target depends="-init-modules-supported" if="modules.supported.internal" name="-init-macrodef-junit-prototype-with-module"> - <macrodef name="junit-prototype" uri="http://www.netbeans.org/ns/j2se-project/3"> - <attribute default="${includes}" name="includes"/> - <attribute default="${excludes}" name="excludes"/> - <element name="customizePrototype" optional="true"/> - <sequential> - <property name="junit.forkmode" value="perTest"/> - <junit dir="${work.dir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" forkmode="${junit.forkmode}" showoutput="true" tempdir="${build.dir}"> - <syspropertyset> - <propertyref prefix="test-sys-prop."/> - <mapper from="test-sys-prop.*" to="*" type="glob"/> - </syspropertyset> - <classpath> - <path path="${run.test.classpath}"/> - </classpath> - <modulepath> - <path path="${run.test.modulepath}"/> - </modulepath> - <formatter type="brief" usefile="false"/> - <formatter type="xml"/> - <jvmarg line="${endorsed.classpath.cmd.line.arg}"/> - <jvmarg value="-ea"/> - <jvmarg line="${run.test.jvmargs}"/> - <customizePrototype/> - </junit> - </sequential> - </macrodef> - </target> - <target depends="-init-modules-supported" name="-init-macrodef-junit-prototype-without-module" unless="modules.supported.internal"> - <macrodef name="junit-prototype" uri="http://www.netbeans.org/ns/j2se-project/3"> - <attribute default="${includes}" name="includes"/> - <attribute default="${excludes}" name="excludes"/> - <element name="customizePrototype" optional="true"/> - <sequential> - <property name="junit.forkmode" value="perTest"/> - <junit dir="${work.dir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" forkmode="${junit.forkmode}" showoutput="true" tempdir="${build.dir}"> - <syspropertyset> - <propertyref prefix="test-sys-prop."/> - <mapper from="test-sys-prop.*" to="*" type="glob"/> - </syspropertyset> - <classpath> - <path path="${run.test.classpath}"/> - </classpath> - <formatter type="brief" usefile="false"/> - <formatter type="xml"/> - <jvmarg line="${endorsed.classpath.cmd.line.arg}"/> - <jvmarg value="-ea"/> - <customizePrototype/> - </junit> - </sequential> - </macrodef> - </target> - <target depends="-init-test-properties,-init-macrodef-junit-prototype-with-module,-init-macrodef-junit-prototype-without-module" if="${nb.junit.single}" name="-init-macrodef-junit-single" unless="${nb.junit.batch}"> - <macrodef name="junit" uri="http://www.netbeans.org/ns/j2se-project/3"> - <attribute default="${includes}" name="includes"/> - <attribute default="${excludes}" name="excludes"/> - <attribute default="**" name="testincludes"/> - <attribute default="" name="testmethods"/> - <element name="customize" optional="true"/> - <sequential> - <j2seproject3:junit-prototype> - <customizePrototype> - <test methods="@{testmethods}" name="@{testincludes}" todir="${build.test.results.dir}"/> - <customize/> - </customizePrototype> - </j2seproject3:junit-prototype> - </sequential> - </macrodef> - </target> - <target depends="-init-test-properties,-init-macrodef-junit-prototype-with-module,-init-macrodef-junit-prototype-without-module" if="${nb.junit.batch}" name="-init-macrodef-junit-batch" unless="${nb.junit.single}"> - <macrodef name="junit" uri="http://www.netbeans.org/ns/j2se-project/3"> - <attribute default="${includes}" name="includes"/> - <attribute default="${excludes}" name="excludes"/> - <attribute default="**" name="testincludes"/> - <attribute default="" name="testmethods"/> - <element name="customize" optional="true"/> - <sequential> - <j2seproject3:junit-prototype> - <customizePrototype> - <batchtest todir="${build.test.results.dir}"> - <fileset dir="${test.src.dir}" excludes="@{excludes},${excludes}" includes="@{includes}"> - <filename name="@{testincludes}"/> - </fileset> - <fileset dir="${build.test.classes.dir}" excludes="@{excludes},${excludes},${test.binaryexcludes}" includes="${test.binaryincludes}"> - <filename name="${test.binarytestincludes}"/> - </fileset> - </batchtest> - <customize/> - </customizePrototype> - </j2seproject3:junit-prototype> - </sequential> - </macrodef> - </target> - <target depends="-init-macrodef-junit-init,-init-macrodef-junit-single, -init-macrodef-junit-batch" if="${junit.available}" name="-init-macrodef-junit"/> - <target if="${testng.available}" name="-init-macrodef-testng"> - <macrodef name="testng" uri="http://www.netbeans.org/ns/j2se-project/3"> - <attribute default="${includes}" name="includes"/> - <attribute default="${excludes}" name="excludes"/> - <attribute default="**" name="testincludes"/> - <attribute default="" name="testmethods"/> - <element name="customize" optional="true"/> - <sequential> - <condition else="" property="testng.methods.arg" value="@{testincludes}.@{testmethods}"> - <isset property="test.method"/> - </condition> - <union id="test.set"> - <fileset dir="${test.src.dir}" excludes="@{excludes},**/*.xml,${excludes}" includes="@{includes}"> - <filename name="@{testincludes}"/> - </fileset> - </union> - <taskdef classname="org.testng.TestNGAntTask" classpath="${run.test.classpath}" name="testng"/> - <testng classfilesetref="test.set" failureProperty="tests.failed" listeners="org.testng.reporters.VerboseReporter" methods="${testng.methods.arg}" mode="${testng.mode}" outputdir="${build.test.results.dir}" suitename="MV3500Cohort2022MayJune_projects_Royer_TwoCranesBerth" testname="TestNG tests" workingDir="${work.dir}"> - <xmlfileset dir="${build.test.classes.dir}" includes="@{testincludes}"/> - <propertyset> - <propertyref prefix="test-sys-prop."/> - <mapper from="test-sys-prop.*" to="*" type="glob"/> - </propertyset> - <classpath> - <path path="${run.test.classpath}"/> - </classpath> - <jvmarg line="${endorsed.classpath.cmd.line.arg}"/> - <customize/> - </testng> - </sequential> - </macrodef> - </target> - <target name="-init-macrodef-test-impl"> - <macrodef name="test-impl" uri="http://www.netbeans.org/ns/j2se-project/3"> - <attribute default="${includes}" name="includes"/> - <attribute default="${excludes}" name="excludes"/> - <attribute default="**" name="testincludes"/> - <attribute default="" name="testmethods"/> - <element implicit="true" name="customize" optional="true"/> - <sequential> - <echo>No tests executed.</echo> - </sequential> - </macrodef> - </target> - <target depends="-init-macrodef-junit" if="${junit.available}" name="-init-macrodef-junit-impl"> - <macrodef name="test-impl" uri="http://www.netbeans.org/ns/j2se-project/3"> - <attribute default="${includes}" name="includes"/> - <attribute default="${excludes}" name="excludes"/> - <attribute default="**" name="testincludes"/> - <attribute default="" name="testmethods"/> - <element implicit="true" name="customize" optional="true"/> - <sequential> - <j2seproject3:junit excludes="@{excludes}" includes="@{includes}" testincludes="@{testincludes}" testmethods="@{testmethods}"> - <customize/> - </j2seproject3:junit> - </sequential> - </macrodef> - </target> - <target depends="-init-macrodef-testng" if="${testng.available}" name="-init-macrodef-testng-impl"> - <macrodef name="test-impl" uri="http://www.netbeans.org/ns/j2se-project/3"> - <attribute default="${includes}" name="includes"/> - <attribute default="${excludes}" name="excludes"/> - <attribute default="**" name="testincludes"/> - <attribute default="" name="testmethods"/> - <element implicit="true" name="customize" optional="true"/> - <sequential> - <j2seproject3:testng excludes="@{excludes}" includes="@{includes}" testincludes="@{testincludes}" testmethods="@{testmethods}"> - <customize/> - </j2seproject3:testng> - </sequential> - </macrodef> - </target> - <target depends="-init-macrodef-test-impl,-init-macrodef-junit-impl,-init-macrodef-testng-impl" name="-init-macrodef-test"> - <macrodef name="test" uri="http://www.netbeans.org/ns/j2se-project/3"> - <attribute default="${includes}" name="includes"/> - <attribute default="${excludes}" name="excludes"/> - <attribute default="**" name="testincludes"/> - <attribute default="" name="testmethods"/> - <sequential> - <j2seproject3:test-impl excludes="@{excludes}" includes="@{includes}" testincludes="@{testincludes}" testmethods="@{testmethods}"> - <customize> - <jvmarg line="${run.jvmargs}"/> - <jvmarg line="${run.jvmargs.ide}"/> - </customize> - </j2seproject3:test-impl> - </sequential> - </macrodef> - </target> - <target depends="-init-macrodef-junit" if="${junit.available}" name="-init-macrodef-junit-debug-impl"> - <macrodef name="test-debug-impl" uri="http://www.netbeans.org/ns/j2se-project/3"> - <attribute default="${includes}" name="includes"/> - <attribute default="${excludes}" name="excludes"/> - <attribute default="**" name="testincludes"/> - <attribute default="" name="testmethods"/> - <element name="customizeDebuggee" optional="true"/> - <sequential> - <j2seproject3:junit excludes="@{excludes}" includes="@{includes}" testincludes="@{testincludes}" testmethods="@{testmethods}"> - <customize> - <jvmarg value="-agentlib:jdwp=transport=${debug-transport},address=${jpda.address}"/> - <customizeDebuggee/> - </customize> - </j2seproject3:junit> - </sequential> - </macrodef> - </target> - <target if="${testng.available}" name="-init-macrodef-testng-debug"> - <macrodef name="testng-debug" uri="http://www.netbeans.org/ns/j2se-project/3"> - <attribute default="${main.class}" name="testClass"/> - <attribute default="" name="testMethod"/> - <element name="customize2" optional="true"/> - <sequential> - <condition else="-testclass @{testClass}" property="test.class.or.method" value="-methods @{testClass}.@{testMethod}"> - <isset property="test.method"/> - </condition> - <condition else="-suitename MV3500Cohort2022MayJune_projects_Royer_TwoCranesBerth -testname @{testClass} ${test.class.or.method}" property="testng.cmd.args" value="@{testClass}"> - <matches pattern=".*\.xml" string="@{testClass}"/> - </condition> - <delete dir="${build.test.results.dir}" quiet="true"/> - <mkdir dir="${build.test.results.dir}"/> - <j2seproject3:debug classname="org.testng.TestNG" classpath="${debug.test.classpath}"> - <customizeDebuggee> - <customize2/> - <jvmarg value="-ea"/> - <arg line="${testng.debug.mode}"/> - <arg line="-d ${build.test.results.dir}"/> - <arg line="-listener org.testng.reporters.VerboseReporter"/> - <arg line="${testng.cmd.args}"/> - </customizeDebuggee> - </j2seproject3:debug> - </sequential> - </macrodef> - </target> - <target depends="-init-macrodef-testng-debug" if="${testng.available}" name="-init-macrodef-testng-debug-impl"> - <macrodef name="testng-debug-impl" uri="http://www.netbeans.org/ns/j2se-project/3"> - <attribute default="${main.class}" name="testClass"/> - <attribute default="" name="testMethod"/> - <element implicit="true" name="customize2" optional="true"/> - <sequential> - <j2seproject3:testng-debug testClass="@{testClass}" testMethod="@{testMethod}"> - <customize2/> - </j2seproject3:testng-debug> - </sequential> - </macrodef> - </target> - <target depends="-init-macrodef-junit-debug-impl" if="${junit.available}" name="-init-macrodef-test-debug-junit"> - <macrodef name="test-debug" uri="http://www.netbeans.org/ns/j2se-project/3"> - <attribute default="${includes}" name="includes"/> - <attribute default="${excludes}" name="excludes"/> - <attribute default="**" name="testincludes"/> - <attribute default="" name="testmethods"/> - <attribute default="${main.class}" name="testClass"/> - <attribute default="" name="testMethod"/> - <sequential> - <j2seproject3:test-debug-impl excludes="@{excludes}" includes="@{includes}" testincludes="@{testincludes}" testmethods="@{testmethods}"> - <customizeDebuggee> - <jvmarg line="${run.jvmargs}"/> - <jvmarg line="${run.jvmargs.ide}"/> - </customizeDebuggee> - </j2seproject3:test-debug-impl> - </sequential> - </macrodef> - </target> - <target depends="-init-macrodef-testng-debug-impl" if="${testng.available}" name="-init-macrodef-test-debug-testng"> - <macrodef name="test-debug" uri="http://www.netbeans.org/ns/j2se-project/3"> - <attribute default="${includes}" name="includes"/> - <attribute default="${excludes}" name="excludes"/> - <attribute default="**" name="testincludes"/> - <attribute default="" name="testmethods"/> - <attribute default="${main.class}" name="testClass"/> - <attribute default="" name="testMethod"/> - <sequential> - <j2seproject3:testng-debug-impl testClass="@{testClass}" testMethod="@{testMethod}"> - <customize2> - <syspropertyset> - <propertyref prefix="test-sys-prop."/> - <mapper from="test-sys-prop.*" to="*" type="glob"/> - </syspropertyset> - </customize2> - </j2seproject3:testng-debug-impl> - </sequential> - </macrodef> - </target> - <target depends="-init-macrodef-test-debug-junit,-init-macrodef-test-debug-testng" name="-init-macrodef-test-debug"/> - <!-- - pre NB7.2 profiling section; consider it deprecated - --> - <target depends="-profile-pre-init, init, -profile-post-init, -profile-init-macrodef-profile, -profile-init-check" if="profiler.info.jvmargs.agent" name="profile-init"/> - <target if="profiler.info.jvmargs.agent" name="-profile-pre-init"> - <!-- Empty placeholder for easier customization. --> - <!-- You can override this target in the ../build.xml file. --> - </target> - <target if="profiler.info.jvmargs.agent" name="-profile-post-init"> - <!-- Empty placeholder for easier customization. --> - <!-- You can override this target in the ../build.xml file. --> - </target> - <target if="profiler.info.jvmargs.agent" name="-profile-init-macrodef-profile"> - <macrodef name="resolve"> - <attribute name="name"/> - <attribute name="value"/> - <sequential> - <property name="@{name}" value="${env.@{value}}"/> - </sequential> - </macrodef> - <macrodef name="profile"> - <attribute default="${main.class}" name="classname"/> - <element name="customize" optional="true"/> - <sequential> - <property environment="env"/> - <resolve name="profiler.current.path" value="${profiler.info.pathvar}"/> - <java classname="@{classname}" dir="${profiler.info.dir}" failonerror="${java.failonerror}" fork="true" jvm="${profiler.info.jvm}"> - <jvmarg line="${endorsed.classpath.cmd.line.arg}"/> - <jvmarg value="${profiler.info.jvmargs.agent}"/> - <jvmarg line="${profiler.info.jvmargs}"/> - <env key="${profiler.info.pathvar}" path="${profiler.info.agentpath}:${profiler.current.path}"/> - <arg line="${application.args}"/> - <classpath> - <path path="${run.classpath}"/> - </classpath> - <syspropertyset> - <propertyref prefix="run-sys-prop."/> - <mapper from="run-sys-prop.*" to="*" type="glob"/> - </syspropertyset> - <customize/> - </java> - </sequential> - </macrodef> - </target> - <target depends="-profile-pre-init, init, -profile-post-init, -profile-init-macrodef-profile" if="profiler.info.jvmargs.agent" name="-profile-init-check"> - <fail unless="profiler.info.jvm">Must set JVM to use for profiling in profiler.info.jvm</fail> - <fail unless="profiler.info.jvmargs.agent">Must set profiler agent JVM arguments in profiler.info.jvmargs.agent</fail> - </target> - <!-- - end of pre NB7.2 profiling section - --> - <target depends="-init-debug-args" name="-init-macrodef-nbjpda"> - <macrodef name="nbjpdastart" uri="http://www.netbeans.org/ns/j2se-project/1"> - <attribute default="${main.class}" name="name"/> - <attribute default="${debug.modulepath}" name="modulepath"/> - <attribute default="${debug.classpath}" name="classpath"/> - <attribute default="" name="stopclassname"/> - <sequential> - <nbjpdastart addressproperty="jpda.address" name="@{name}" stopclassname="@{stopclassname}" transport="${debug-transport}"> - <modulepath> - <path path="@{modulepath}"/> - </modulepath> - <classpath> - <path path="@{classpath}"/> - </classpath> - </nbjpdastart> - </sequential> - </macrodef> - <macrodef name="nbjpdareload" uri="http://www.netbeans.org/ns/j2se-project/1"> - <attribute default="${build.classes.dir}" name="dir"/> - <sequential> - <nbjpdareload> - <fileset dir="@{dir}" includes="${fix.classes}"> - <include name="${fix.includes}*.class"/> - </fileset> - </nbjpdareload> - </sequential> - </macrodef> - </target> - <target name="-init-debug-args"> - <condition else="dt_socket" property="debug-transport-by-os" value="dt_shmem"> - <os family="windows"/> - </condition> - <condition else="${debug-transport-by-os}" property="debug-transport" value="${debug.transport}"> - <isset property="debug.transport"/> - </condition> - </target> - <target depends="-init-debug-args" name="-init-macrodef-debug"> - <macrodef name="debug" uri="http://www.netbeans.org/ns/j2se-project/3"> - <attribute default="${module.name}" name="modulename"/> - <attribute default="${main.class}" name="classname"/> - <attribute default="${debug.modulepath}" name="modulepath"/> - <attribute default="${debug.classpath}" name="classpath"/> - <element name="customizeDebuggee" optional="true"/> - <sequential> - <j2seproject1:java classname="@{classname}" classpath="@{classpath}" modulename="@{modulename}" modulepath="@{modulepath}"> - <customize> - <jvmarg value="-agentlib:jdwp=transport=${debug-transport},address=${jpda.address}"/> - <customizeDebuggee/> - </customize> - </j2seproject1:java> - </sequential> - </macrodef> - </target> - <target depends="-init-source-module-properties" if="named.module.internal" name="-init-macrodef-java-with-module"> - <macrodef name="java" uri="http://www.netbeans.org/ns/j2se-project/1"> - <attribute default="${module.name}" name="modulename"/> - <attribute default="${main.class}" name="classname"/> - <attribute default="${run.modulepath}" name="modulepath"/> - <attribute default="${run.upgrademodulepath}" name="upgrademodulepath"/> - <attribute default="${run.classpath}" name="classpath"/> - <attribute default="jvm" name="jvm"/> - <element name="customize" optional="true"/> - <sequential> - <java classname="@{classname}" dir="${work.dir}" failonerror="${java.failonerror}" fork="true" module="@{modulename}"> - <classpath> - <path path="@{classpath}"/> - </classpath> - <modulepath> - <pathelement path="@{modulepath}"/> - <pathelement location="${module.build.classes.dir}"/> - </modulepath> - <upgrademodulepath> - <path path="@{upgrademodulepath}"/> - </upgrademodulepath> - <jvmarg value="-Dfile.encoding=${runtime.encoding}"/> - <redirector errorencoding="${runtime.encoding}" inputencoding="${runtime.encoding}" outputencoding="${runtime.encoding}"/> - <jvmarg line="${run.jvmargs}"/> - <jvmarg line="${run.jvmargs.ide}"/> - <syspropertyset> - <propertyref prefix="run-sys-prop."/> - <mapper from="run-sys-prop.*" to="*" type="glob"/> - </syspropertyset> - <customize/> - </java> - </sequential> - </macrodef> - </target> - <target depends="-init-source-module-properties" if="unnamed.module.internal" name="-init-macrodef-java-with-unnamed-module"> - <macrodef name="java" uri="http://www.netbeans.org/ns/j2se-project/1"> - <attribute default="" name="modulename"/> - <attribute default="${main.class}" name="classname"/> - <attribute default="${run.modulepath}" name="modulepath"/> - <attribute default="${run.upgrademodulepath}" name="upgrademodulepath"/> - <attribute default="${run.classpath}" name="classpath"/> - <attribute default="jvm" name="jvm"/> - <element name="customize" optional="true"/> - <sequential> - <java classname="@{classname}" dir="${work.dir}" failonerror="${java.failonerror}" fork="true"> - <classpath> - <path path="@{classpath}"/> - </classpath> - <modulepath> - <path path="@{modulepath}"/> - </modulepath> - <upgrademodulepath> - <path path="@{upgrademodulepath}"/> - </upgrademodulepath> - <jvmarg value="-Dfile.encoding=${runtime.encoding}"/> - <redirector errorencoding="${runtime.encoding}" inputencoding="${runtime.encoding}" outputencoding="${runtime.encoding}"/> - <jvmarg line="${run.jvmargs}"/> - <jvmarg line="${run.jvmargs.ide}"/> - <syspropertyset> - <propertyref prefix="run-sys-prop."/> - <mapper from="run-sys-prop.*" to="*" type="glob"/> - </syspropertyset> - <customize/> - </java> - </sequential> - </macrodef> - </target> - <target depends="-init-source-module-properties" name="-init-macrodef-java-without-module" unless="modules.supported.internal"> - <macrodef name="java" uri="http://www.netbeans.org/ns/j2se-project/1"> - <attribute default="" name="modulename"/> - <attribute default="${main.class}" name="classname"/> - <attribute default="" name="modulepath"/> - <attribute default="${run.classpath}" name="classpath"/> - <attribute default="jvm" name="jvm"/> - <element name="customize" optional="true"/> - <sequential> - <java classname="@{classname}" dir="${work.dir}" failonerror="${java.failonerror}" fork="true"> - <jvmarg line="${endorsed.classpath.cmd.line.arg}"/> - <jvmarg value="-Dfile.encoding=${runtime.encoding}"/> - <redirector errorencoding="${runtime.encoding}" inputencoding="${runtime.encoding}" outputencoding="${runtime.encoding}"/> - <jvmarg line="${run.jvmargs}"/> - <jvmarg line="${run.jvmargs.ide}"/> - <classpath> - <path path="@{classpath}"/> - </classpath> - <syspropertyset> - <propertyref prefix="run-sys-prop."/> - <mapper from="run-sys-prop.*" to="*" type="glob"/> - </syspropertyset> - <customize/> - </java> - </sequential> - </macrodef> - </target> - <target depends="-init-macrodef-java-with-module, -init-macrodef-java-with-unnamed-module, -init-macrodef-java-without-module" name="-init-macrodef-java"/> - <target name="-init-macrodef-copylibs"> - <macrodef name="copylibs" uri="http://www.netbeans.org/ns/j2se-project/3"> - <attribute default="${manifest.file}" name="manifest"/> - <element name="customize" optional="true"/> - <sequential> - <property location="${build.classes.dir}" name="build.classes.dir.resolved"/> - <pathconvert property="run.classpath.without.build.classes.dir"> - <path path="${run.classpath}"/> - <map from="${build.classes.dir.resolved}" to=""/> - </pathconvert> - <pathconvert pathsep=" " property="jar.classpath"> - <path path="${run.classpath.without.build.classes.dir}"/> - <chainedmapper> - <flattenmapper/> - <filtermapper> - <replacestring from=" " to="%20"/> - </filtermapper> - <globmapper from="*" to="lib/*"/> - </chainedmapper> - </pathconvert> - <taskdef classname="org.netbeans.modules.java.j2seproject.copylibstask.CopyLibs" classpath="${libs.CopyLibs.classpath}" name="copylibs"/> - <copylibs compress="${jar.compress}" excludeFromCopy="${copylibs.excludes}" index="${jar.index}" indexMetaInf="${jar.index.metainf}" jarfile="${dist.jar}" manifest="@{manifest}" manifestencoding="UTF-8" rebase="${copylibs.rebase}" runtimeclasspath="${run.classpath.without.build.classes.dir}"> - <fileset dir="${build.classes.dir}" excludes="${dist.archive.excludes}"/> - <manifest> - <attribute name="Class-Path" value="${jar.classpath}"/> - <customize/> - </manifest> - </copylibs> - </sequential> - </macrodef> - </target> - <target name="-init-presetdef-jar"> - <presetdef name="jar" uri="http://www.netbeans.org/ns/j2se-project/1"> - <jar compress="${jar.compress}" index="${jar.index}" jarfile="${dist.jar}" manifestencoding="UTF-8"> - <j2seproject1:fileset dir="${build.classes.dir}" excludes="${dist.archive.excludes}"/> - </jar> - </presetdef> - </target> - <target name="-init-ap-cmdline-properties"> - <property name="annotation.processing.enabled" value="true"/> - <property name="annotation.processing.processors.list" value=""/> - <property name="annotation.processing.processor.options" value=""/> - <property name="annotation.processing.run.all.processors" value="true"/> - <property name="javac.processorpath" value="${javac.classpath}"/> - <property name="javac.test.processorpath" value="${javac.test.classpath}"/> - <condition property="ap.supported.internal" value="true"> - <not> - <matches pattern="1\.[0-5](\..*)?" string="${javac.source}"/> - </not> - </condition> - </target> - <target depends="-init-ap-cmdline-properties" if="ap.supported.internal" name="-init-ap-cmdline-supported"> - <condition else="" property="ap.processors.internal" value="-processor ${annotation.processing.processors.list}"> - <isfalse value="${annotation.processing.run.all.processors}"/> - </condition> - <condition else="" property="ap.proc.none.internal" value="-proc:none"> - <isfalse value="${annotation.processing.enabled}"/> - </condition> - </target> - <target depends="-init-ap-cmdline-properties,-init-ap-cmdline-supported" name="-init-ap-cmdline"> - <property name="ap.cmd.line.internal" value=""/> - </target> - <target depends="-pre-init,-init-private,-init-user,-init-project,-do-init,-post-init,-init-check,-init-macrodef-property,-init-macrodef-javac,-init-macrodef-test,-init-macrodef-test-debug,-init-macrodef-nbjpda,-init-macrodef-debug,-init-macrodef-java,-init-presetdef-jar,-init-ap-cmdline" name="init"/> - <!-- - =================== - COMPILATION SECTION - =================== - --> - <target name="-deps-jar-init" unless="built-jar.properties"> - <property location="${build.dir}/built-jar.properties" name="built-jar.properties"/> - <delete file="${built-jar.properties}" quiet="true"/> - </target> - <target if="already.built.jar.${basedir}" name="-warn-already-built-jar"> - <echo level="warn" message="Cycle detected: MV3500Cohort2022MayJune projects Royer TwoCranesBerth was already built"/> - </target> - <target depends="init,-deps-jar-init" name="deps-jar" unless="no.deps"> - <mkdir dir="${build.dir}"/> - <touch file="${built-jar.properties}" verbose="false"/> - <property file="${built-jar.properties}" prefix="already.built.jar."/> - <antcall target="-warn-already-built-jar"/> - <propertyfile file="${built-jar.properties}"> - <entry key="${basedir}" value=""/> - </propertyfile> - </target> - <target depends="init,-check-automatic-build,-clean-after-automatic-build" name="-verify-automatic-build"/> - <target depends="init" name="-check-automatic-build"> - <available file="${build.classes.dir}/.netbeans_automatic_build" property="netbeans.automatic.build"/> - </target> - <target depends="init" if="netbeans.automatic.build" name="-clean-after-automatic-build"> - <antcall target="clean"> - <param name="no.dependencies" value="true"/> - </antcall> - </target> - <target depends="init,deps-jar" name="-pre-pre-compile"> - <mkdir dir="${build.classes.dir}"/> - </target> - <target name="-pre-compile"> - <!-- Empty placeholder for easier customization. --> - <!-- You can override this target in the ../build.xml file. --> - </target> - <target if="do.depend.true" name="-compile-depend"> - <pathconvert property="build.generated.subdirs"> - <dirset dir="${build.generated.sources.dir}" erroronmissingdir="false"> - <include name="*"/> - </dirset> - </pathconvert> - <j2seproject3:depend srcdir="${src.dir}:${build.generated.subdirs}"/> - </target> - <target depends="init,deps-jar,-pre-pre-compile,-pre-compile, -copy-persistence-xml,-compile-depend" if="have.sources" name="-do-compile"> - <j2seproject3:javac gensrcdir="${build.generated.sources.dir}"/> - <copy todir="${build.classes.dir}"> - <fileset dir="${src.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/> - </copy> - </target> - <target if="has.persistence.xml" name="-copy-persistence-xml"> - <mkdir dir="${build.classes.dir}/META-INF"/> - <copy todir="${build.classes.dir}/META-INF"> - <fileset dir="${meta.inf.dir}" includes="persistence.xml orm.xml"/> - </copy> - </target> - <target name="-post-compile"> - <!-- Empty placeholder for easier customization. --> - <!-- You can override this target in the ../build.xml file. --> - </target> - <target depends="init,deps-jar,-verify-automatic-build,-pre-pre-compile,-pre-compile,-do-compile,-post-compile" description="Compile project." name="compile"/> - <target name="-pre-compile-single"> - <!-- Empty placeholder for easier customization. --> - <!-- You can override this target in the ../build.xml file. --> - </target> - <target depends="init,deps-jar,-pre-pre-compile" name="-do-compile-single"> - <fail unless="javac.includes">Must select some files in the IDE or set javac.includes</fail> - <j2seproject3:force-recompile/> - <j2seproject3:javac excludes="" gensrcdir="${build.generated.sources.dir}" includes="${javac.includes}, module-info.java" sourcepath="${src.dir}"/> - </target> - <target name="-post-compile-single"> - <!-- Empty placeholder for easier customization. --> - <!-- You can override this target in the ../build.xml file. --> - </target> - <target depends="init,deps-jar,-verify-automatic-build,-pre-pre-compile,-pre-compile-single,-do-compile-single,-post-compile-single" name="compile-single"/> - <!-- - ==================== - JAR BUILDING SECTION - ==================== - --> - <target depends="init" name="-pre-pre-jar"> - <dirname file="${dist.jar}" property="dist.jar.dir"/> - <mkdir dir="${dist.jar.dir}"/> - </target> - <target name="-pre-jar"> - <!-- Empty placeholder for easier customization. --> - <!-- You can override this target in the ../build.xml file. --> - </target> - <target depends="init,compile" name="-check-module-main-class"> - <pathconvert property="main.class.file"> - <string value="${main.class}"/> - <unpackagemapper from="*" to="*.class"/> - </pathconvert> - <condition property="do.module.main.class"> - <and> - <isset property="main.class.available"/> - <available file="${build.classes.dir}/module-info.class"/> - <available file="${build.classes.dir}/${main.class.file}"/> - <isset property="libs.CopyLibs.classpath"/> - <available classname="org.netbeans.modules.java.j2seproject.moduletask.ModuleMainClass" classpath="${libs.CopyLibs.classpath}"/> - </and> - </condition> - </target> - <target depends="-check-module-main-class" if="do.module.main.class" name="-set-module-main-class"> - <taskdef classname="org.netbeans.modules.java.j2seproject.moduletask.ModuleMainClass" classpath="${libs.CopyLibs.classpath}" name="modulemainclass"/> - <modulemainclass failonerror="false" mainclass="${main.class}" moduleinfo="${build.classes.dir}/module-info.class"/> - </target> - <target depends="init" if="do.archive" name="-do-jar-create-manifest" unless="manifest.available"> - <tempfile deleteonexit="true" destdir="${build.dir}" property="tmp.manifest.file"/> - <touch file="${tmp.manifest.file}" verbose="false"/> - </target> - <target depends="init" if="do.archive+manifest.available" name="-do-jar-copy-manifest"> - <tempfile deleteonexit="true" destdir="${build.dir}" property="tmp.manifest.file"/> - <copy encoding="${manifest.encoding}" file="${manifest.file}" outputencoding="UTF-8" tofile="${tmp.manifest.file}"/> - </target> - <target depends="init,-do-jar-create-manifest,-do-jar-copy-manifest" if="do.archive+main.class.available" name="-do-jar-set-mainclass"> - <manifest encoding="UTF-8" file="${tmp.manifest.file}" mode="update"> - <attribute name="Main-Class" value="${main.class}"/> - </manifest> - </target> - <target depends="init,-do-jar-create-manifest,-do-jar-copy-manifest" if="do.archive+profile.available" name="-do-jar-set-profile"> - <manifest encoding="UTF-8" file="${tmp.manifest.file}" mode="update"> - <attribute name="Profile" value="${javac.profile}"/> - </manifest> - </target> - <target depends="init,-do-jar-create-manifest,-do-jar-copy-manifest" if="do.archive+splashscreen.available" name="-do-jar-set-splashscreen"> - <basename file="${application.splash}" property="splashscreen.basename"/> - <mkdir dir="${build.classes.dir}/META-INF"/> - <copy failonerror="false" file="${application.splash}" todir="${build.classes.dir}/META-INF"/> - <manifest encoding="UTF-8" file="${tmp.manifest.file}" mode="update"> - <attribute name="SplashScreen-Image" value="META-INF/${splashscreen.basename}"/> - </manifest> - </target> - <target depends="init,compile" name="-check-do-mkdist"> - <condition property="do.mkdist"> - <and> - <isset property="do.archive"/> - <isset property="libs.CopyLibs.classpath"/> - <not> - <istrue value="${mkdist.disabled}"/> - </not> - <not> - <available file="${build.classes.dir}/module-info.class"/> - </not> - </and> - </condition> - </target> - <target depends="init,-init-macrodef-copylibs,compile,-pre-pre-jar,-pre-jar,-do-jar-create-manifest,-do-jar-copy-manifest,-do-jar-set-mainclass,-do-jar-set-profile,-do-jar-set-splashscreen,-check-do-mkdist" if="do.mkdist" name="-do-jar-copylibs"> - <j2seproject3:copylibs manifest="${tmp.manifest.file}"/> - <echo level="info">To run this application from the command line without Ant, try:</echo> - <property location="${dist.jar}" name="dist.jar.resolved"/> - <echo level="info">java -jar "${dist.jar.resolved}"</echo> - </target> - <target depends="init,compile,-pre-pre-jar,-pre-jar,-do-jar-create-manifest,-do-jar-copy-manifest,-do-jar-set-mainclass,-do-jar-set-profile,-do-jar-set-splashscreen,-check-do-mkdist" if="do.archive" name="-do-jar-jar" unless="do.mkdist"> - <j2seproject1:jar manifest="${tmp.manifest.file}"/> - <property location="${build.classes.dir}" name="build.classes.dir.resolved"/> - <property location="${dist.jar}" name="dist.jar.resolved"/> - <condition else="${dist.jar.resolved}" property="jar.usage.message.class.path.replacement" value=""> - <isset property="named.module.internal"/> - </condition> - <pathconvert property="run.classpath.with.dist.jar"> - <path path="${run.classpath}"/> - <map from="${build.classes.dir.resolved}" to="${jar.usage.message.class.path.replacement}"/> - </pathconvert> - <pathconvert property="run.modulepath.with.dist.jar"> - <path location="${dist.jar.resolved}"/> - <path path="${run.modulepath}"/> - <map from="${build.classes.dir.resolved}" to="${dist.jar.resolved}"/> - </pathconvert> - <condition else="${run.modulepath}" property="jar.usage.message.run.modulepath.with.dist.jar" value="${run.modulepath.with.dist.jar}"> - <isset property="named.module.internal"/> - </condition> - <condition else="" property="jar.usage.message.module.path" value=" -p ${jar.usage.message.run.modulepath.with.dist.jar}"> - <and> - <isset property="modules.supported.internal"/> - <length length="0" string="${jar.usage.message.run.modulepath.with.dist.jar}" when="greater"/> - </and> - </condition> - <condition else="" property="jar.usage.message.class.path" value=" -cp ${run.classpath.with.dist.jar}"> - <length length="0" string="${run.classpath.with.dist.jar}" when="greater"/> - </condition> - <condition else="/${main.class}" property="jar.usage.message.main.class.class.selector" value=""> - <isset property="do.module.main.class"/> - </condition> - <condition else=" ${main.class}" property="jar.usage.message.main.class" value=" -m ${module.name}${jar.usage.message.main.class.class.selector}"> - <isset property="named.module.internal"/> - </condition> - <condition else="" property="jar.usage.message" value="To run this application from the command line without Ant, try:${line.separator}${platform.java}${jar.usage.message.module.path}${jar.usage.message.class.path}${jar.usage.message.main.class}"> - <isset property="main.class.available"/> - </condition> - <condition else="debug" property="jar.usage.level" value="info"> - <isset property="main.class.available"/> - </condition> - <echo level="${jar.usage.level}" message="${jar.usage.message}"/> - </target> - <target depends="-do-jar-copylibs" if="do.archive" name="-do-jar-delete-manifest"> - <delete> - <fileset file="${tmp.manifest.file}"/> - </delete> - </target> - <target depends="init,compile,-pre-pre-jar,-pre-jar,-do-jar-create-manifest,-do-jar-copy-manifest,-do-jar-set-mainclass,-do-jar-set-profile,-do-jar-set-splashscreen,-do-jar-jar,-do-jar-delete-manifest" name="-do-jar-without-libraries"/> - <target depends="init,compile,-pre-pre-jar,-pre-jar,-do-jar-create-manifest,-do-jar-copy-manifest,-do-jar-set-mainclass,-do-jar-set-profile,-do-jar-set-splashscreen,-do-jar-copylibs,-do-jar-delete-manifest" name="-do-jar-with-libraries"/> - <target name="-post-jar"> - <!-- Empty placeholder for easier customization. --> - <!-- You can override this target in the ../build.xml file. --> - </target> - <target depends="init,compile,-pre-jar,-set-module-main-class,-do-jar-without-libraries,-do-jar-with-libraries,-post-jar" name="-do-jar"/> - <target depends="init,compile,-pre-jar,-do-jar,-post-jar,deploy" description="Build JAR." name="jar"/> - <!-- - ================= - DEPLOY SECTION - ================= - --> - <target name="-pre-deploy"> - <!-- Empty placeholder for easier customization. --> - <!-- You can override this target in the ../build.xml file. --> - </target> - <target depends="init" name="-check-jlink"> - <condition property="do.jlink.internal"> - <and> - <istrue value="${do.jlink}"/> - <isset property="do.archive"/> - <isset property="named.module.internal"/> - </and> - </condition> - </target> - <target depends="init,-do-jar,-post-jar,-pre-deploy,-check-jlink" if="do.jlink.internal" name="-do-deploy"> - <delete dir="${dist.jlink.dir}" failonerror="false" quiet="true"/> - <property name="jlink.launcher.name" value="${application.title}"/> - <condition else="${module.name}" property="jlink.add.modules" value="${module.name},${jlink.additionalmodules}"> - <and> - <isset property="jlink.additionalmodules"/> - <length length="0" string="${jlink.additionalmodules}" when="greater"/> - </and> - </condition> - <condition property="jlink.do.strip.internal"> - <and> - <isset property="jlink.strip"/> - <istrue value="${jlink.strip}"/> - </and> - </condition> - <condition property="jlink.do.additionalparam.internal"> - <and> - <isset property="jlink.additionalparam"/> - <length length="0" string="${jlink.additionalparam}" when="greater"/> - </and> - </condition> - <condition property="jlink.do.launcher.internal"> - <and> - <istrue value="${jlink.launcher}"/> - <isset property="main.class.available"/> - </and> - </condition> - <property name="platform.jlink" value="${jdk.home}/bin/jlink"/> - <property name="jlink.systemmodules.internal" value="${jdk.home}/jmods"/> - <exec executable="${platform.jlink}"> - <arg value="--module-path"/> - <arg path="${jlink.systemmodules.internal}:${run.modulepath}:${dist.jar}"/> - <arg value="--add-modules"/> - <arg value="${jlink.add.modules}"/> - <arg if:set="jlink.do.strip.internal" value="--strip-debug"/> - <arg if:set="jlink.do.launcher.internal" value="--launcher"/> - <arg if:set="jlink.do.launcher.internal" value="${jlink.launcher.name}=${module.name}/${main.class}"/> - <arg if:set="jlink.do.additionalparam.internal" line="${jlink.additionalparam}"/> - <arg value="--output"/> - <arg value="${dist.jlink.output}"/> - </exec> - </target> - <target name="-post-deploy"> - <!-- Empty placeholder for easier customization. --> - <!-- You can override this target in the ../build.xml file. --> - </target> - <target depends="-do-jar,-post-jar,-pre-deploy,-do-deploy,-post-deploy" name="deploy"/> - <!-- - ================= - EXECUTION SECTION - ================= - --> - <target depends="init,compile" description="Run a main class." name="run"> - <j2seproject1:java> - <customize> - <arg line="${application.args}"/> - </customize> - </j2seproject1:java> - </target> - <target name="-do-not-recompile"> - <property name="javac.includes.binary" value=""/> - </target> - <target depends="init,compile-single" name="run-single"> - <fail unless="run.class">Must select one file in the IDE or set run.class</fail> - <j2seproject1:java classname="${run.class}"/> - </target> - <target depends="init,compile-test-single" name="run-test-with-main"> - <fail unless="run.class">Must select one file in the IDE or set run.class</fail> - <j2seproject1:java classname="${run.class}" classpath="${run.test.classpath}"/> - </target> - <!-- - ================= - DEBUGGING SECTION - ================= - --> - <target depends="init" if="netbeans.home" name="-debug-start-debugger"> - <j2seproject1:nbjpdastart name="${debug.class}"/> - </target> - <target depends="init" if="netbeans.home" name="-debug-start-debugger-main-test"> - <j2seproject1:nbjpdastart classpath="${debug.test.classpath}" name="${debug.class}"/> - </target> - <target depends="init,compile" name="-debug-start-debuggee"> - <j2seproject3:debug> - <customizeDebuggee> - <arg line="${application.args}"/> - </customizeDebuggee> - </j2seproject3:debug> - </target> - <target depends="init,compile,-debug-start-debugger,-debug-start-debuggee" description="Debug project in IDE." if="netbeans.home" name="debug"/> - <target depends="init" if="netbeans.home" name="-debug-start-debugger-stepinto"> - <j2seproject1:nbjpdastart stopclassname="${main.class}"/> - </target> - <target depends="init,compile,-debug-start-debugger-stepinto,-debug-start-debuggee" if="netbeans.home" name="debug-stepinto"/> - <target depends="init,compile-single" if="netbeans.home" name="-debug-start-debuggee-single"> - <fail unless="debug.class">Must select one file in the IDE or set debug.class</fail> - <j2seproject3:debug classname="${debug.class}"/> - </target> - <target depends="init,compile-single,-debug-start-debugger,-debug-start-debuggee-single" if="netbeans.home" name="debug-single"/> - <target depends="init,compile-test-single" if="netbeans.home" name="-debug-start-debuggee-main-test"> - <fail unless="debug.class">Must select one file in the IDE or set debug.class</fail> - <j2seproject3:debug classname="${debug.class}" classpath="${debug.test.classpath}"/> - </target> - <target depends="init,compile-test-single,-debug-start-debugger-main-test,-debug-start-debuggee-main-test" if="netbeans.home" name="debug-test-with-main"/> - <target depends="init" name="-pre-debug-fix"> - <fail unless="fix.includes">Must set fix.includes</fail> - <property name="javac.includes" value="${fix.includes}.java"/> - </target> - <target depends="init,-pre-debug-fix,compile-single" if="netbeans.home" name="-do-debug-fix"> - <j2seproject1:nbjpdareload/> - </target> - <target depends="init,-pre-debug-fix,-do-debug-fix" if="netbeans.home" name="debug-fix"/> - <!-- - ================= - PROFILING SECTION - ================= - --> - <!-- - pre NB7.2 profiler integration - --> - <target depends="profile-init,compile" description="Profile a project in the IDE." if="profiler.info.jvmargs.agent" name="-profile-pre72"> - <fail unless="netbeans.home">This target only works when run from inside the NetBeans IDE.</fail> - <nbprofiledirect> - <classpath> - <path path="${run.classpath}"/> - </classpath> - </nbprofiledirect> - <profile/> - </target> - <target depends="profile-init,compile-single" description="Profile a selected class in the IDE." if="profiler.info.jvmargs.agent" name="-profile-single-pre72"> - <fail unless="profile.class">Must select one file in the IDE or set profile.class</fail> - <fail unless="netbeans.home">This target only works when run from inside the NetBeans IDE.</fail> - <nbprofiledirect> - <classpath> - <path path="${run.classpath}"/> - </classpath> - </nbprofiledirect> - <profile classname="${profile.class}"/> - </target> - <target depends="profile-init,compile-single" if="profiler.info.jvmargs.agent" name="-profile-applet-pre72"> - <fail unless="netbeans.home">This target only works when run from inside the NetBeans IDE.</fail> - <nbprofiledirect> - <classpath> - <path path="${run.classpath}"/> - </classpath> - </nbprofiledirect> - <profile classname="sun.applet.AppletViewer"> - <customize> - <arg value="${applet.url}"/> - </customize> - </profile> - </target> - <target depends="-init-macrodef-junit,profile-init,compile-test-single" if="profiler.info.jvmargs.agent" name="-profile-test-single-pre72"> - <fail unless="netbeans.home">This target only works when run from inside the NetBeans IDE.</fail> - <nbprofiledirect> - <classpath> - <path path="${run.test.classpath}"/> - </classpath> - </nbprofiledirect> - <j2seproject3:junit excludes="${excludes}" includes="${includes}" testincludes="${profile.class}" testmethods=""> - <customize> - <jvmarg value="-agentlib:jdwp=transport=${debug-transport},address=${jpda.address}"/> - <env key="${profiler.info.pathvar}" path="${profiler.info.agentpath}:${profiler.current.path}"/> - <jvmarg value="${profiler.info.jvmargs.agent}"/> - <jvmarg line="${profiler.info.jvmargs}"/> - <classpath> - <path path="${run.test.classpath}"/> - </classpath> - </customize> - </j2seproject3:junit> - </target> - <!-- - end of pre NB72 profiling section - --> - <target if="netbeans.home" name="-profile-check"> - <condition property="profiler.configured"> - <or> - <contains casesensitive="true" string="${run.jvmargs.ide}" substring="-agentpath:"/> - <contains casesensitive="true" string="${run.jvmargs.ide}" substring="-javaagent:"/> - </or> - </condition> - </target> - <target depends="-profile-check,-profile-pre72" description="Profile a project in the IDE." if="profiler.configured" name="profile" unless="profiler.info.jvmargs.agent"> - <startprofiler/> - <antcall target="run"/> - </target> - <target depends="-profile-check,-profile-single-pre72" description="Profile a selected class in the IDE." if="profiler.configured" name="profile-single" unless="profiler.info.jvmargs.agent"> - <fail unless="run.class">Must select one file in the IDE or set run.class</fail> - <startprofiler/> - <antcall target="run-single"/> - </target> - <target depends="-profile-test-single-pre72" description="Profile a selected test in the IDE." name="profile-test-single"/> - <target depends="-profile-check" description="Profile a selected test in the IDE." if="profiler.configured" name="profile-test" unless="profiler.info.jvmargs"> - <fail unless="test.includes">Must select some files in the IDE or set test.includes</fail> - <startprofiler/> - <antcall target="test-single"/> - </target> - <target depends="-profile-check" description="Profile a selected class in the IDE." if="profiler.configured" name="profile-test-with-main"> - <fail unless="run.class">Must select one file in the IDE or set run.class</fail> - <startprofiler/> - <antcall target="run-test-with-main"/> - </target> - <target depends="-profile-check,-profile-applet-pre72" if="profiler.configured" name="profile-applet" unless="profiler.info.jvmargs.agent"> - <fail unless="applet.url">Must select one file in the IDE or set applet.url</fail> - <startprofiler/> - <antcall target="run-applet"/> - </target> - <!-- - =============== - JAVADOC SECTION - =============== - --> - <target depends="init" if="have.sources" name="-javadoc-build"> - <mkdir dir="${dist.javadoc.dir}"/> - <condition else="" property="javadoc.endorsed.classpath.cmd.line.arg" value="-J${endorsed.classpath.cmd.line.arg}"> - <and> - <isset property="endorsed.classpath.cmd.line.arg"/> - <not> - <equals arg1="${endorsed.classpath.cmd.line.arg}" arg2=""/> - </not> - </and> - </condition> - <condition else="" property="bug5101868workaround" value="*.java"> - <matches pattern="1\.[56](\..*)?" string="${java.version}"/> - </condition> - <condition else="" property="javadoc.html5.cmd.line.arg" value="-html5"> - <and> - <isset property="javadoc.html5"/> - <available file="${jdk.home}${file.separator}lib${file.separator}jrt-fs.jar"/> - </and> - </condition> - <javadoc additionalparam="-J-Dfile.encoding=${file.encoding} ${javadoc.additionalparam}" author="${javadoc.author}" charset="UTF-8" destdir="${dist.javadoc.dir}" docencoding="UTF-8" encoding="${javadoc.encoding.used}" failonerror="true" noindex="${javadoc.noindex}" nonavbar="${javadoc.nonavbar}" notree="${javadoc.notree}" private="${javadoc.private}" source="${javac.source}" splitindex="${javadoc.splitindex}" use="${javadoc.use}" useexternalfile="true" version="${javadoc.version}" windowtitle="${javadoc.windowtitle}"> - <classpath> - <path path="${javac.classpath}"/> - </classpath> - <fileset dir="${src.dir}" excludes="${bug5101868workaround},${excludes}" includes="${includes}"> - <filename name="**/*.java"/> - </fileset> - <fileset dir="${build.generated.sources.dir}" erroronmissingdir="false"> - <include name="**/*.java"/> - <exclude name="*.java"/> - </fileset> - <arg line="${javadoc.endorsed.classpath.cmd.line.arg}"/> - <arg line="${javadoc.html5.cmd.line.arg}"/> - </javadoc> - <copy todir="${dist.javadoc.dir}"> - <fileset dir="${src.dir}" excludes="${excludes}" includes="${includes}"> - <filename name="**/doc-files/**"/> - </fileset> - <fileset dir="${build.generated.sources.dir}" erroronmissingdir="false"> - <include name="**/doc-files/**"/> - </fileset> - </copy> - </target> - <target depends="init,-javadoc-build" if="netbeans.home" name="-javadoc-browse" unless="no.javadoc.preview"> - <nbbrowse file="${dist.javadoc.dir}/index.html"/> - </target> - <target depends="init,-javadoc-build,-javadoc-browse" description="Build Javadoc." name="javadoc"/> - <!-- - ========================= - TEST COMPILATION SECTION - ========================= - --> - <target depends="init,compile" if="have.tests" name="-pre-pre-compile-test"> - <mkdir dir="${build.test.classes.dir}"/> - </target> - <target name="-pre-compile-test"> - <!-- Empty placeholder for easier customization. --> - <!-- You can override this target in the ../build.xml file. --> - </target> - <target depends="-init-source-module-properties" if="named.module.internal" name="-init-test-javac-module-properties-with-module"> - <j2seproject3:modulename property="test.module.name" sourcepath="${test.src.dir}"/> - <condition else="${empty.dir}" property="javac.test.sourcepath" value="${test.src.dir}"> - <and> - <isset property="test.module.name"/> - <length length="0" string="${test.module.name}" when="greater"/> - </and> - </condition> - <condition else="--patch-module ${module.name}=${test.src.dir} --add-reads ${module.name}=ALL-UNNAMED" property="javac.test.compilerargs" value="--add-reads ${test.module.name}=ALL-UNNAMED"> - <and> - <isset property="test.module.name"/> - <length length="0" string="${test.module.name}" when="greater"/> - </and> - </condition> - </target> - <target depends="-init-source-module-properties" if="named.module.internal" name="-init-test-run-module-properties"> - <condition else="${module.name}" property="run.test.addexport.source.module.internal" value="${test.module.name}"> - <and> - <isset property="test.module.name"/> - <length length="0" string="${test.module.name}" when="greater"/> - </and> - </condition> - <fileset dir="${build.test.classes.dir}" id="run.test.packages.internal" includes="**/*.class"/> - <property location="${build.test.classes.dir}" name="build.test.classes.dir.abs.internal"/> - <pathconvert pathsep=" " property="run.test.addexports.internal" refid="run.test.packages.internal"> - <chainedmapper> - <regexpmapper from="^(.*)\Q${file.separator}\E.*\.class$$" to="\1"/> - <filtermapper> - <uniqfilter/> - <replacestring from="${build.test.classes.dir.abs.internal}" to=""/> - </filtermapper> - <cutdirsmapper dirs="1"/> - <packagemapper from="*" to="--add-exports ${run.test.addexport.source.module.internal}/*=ALL-UNNAMED"/> - </chainedmapper> - </pathconvert> - <condition else="--patch-module ${module.name}=${build.test.classes.dir} --add-modules ${module.name} --add-reads ${module.name}=ALL-UNNAMED ${run.test.addexports.internal}" property="run.test.jvmargs" value="--add-modules ${test.module.name} --add-reads ${test.module.name}=ALL-UNNAMED ${run.test.addexports.internal}"> - <and> - <isset property="test.module.name"/> - <length length="0" string="${test.module.name}" when="greater"/> - </and> - </condition> - </target> - <target depends="-init-source-module-properties" name="-init-test-module-properties-without-module" unless="named.module.internal"> - <property name="javac.test.sourcepath" value="${empty.dir}"/> - <property name="javac.test.compilerargs" value=""/> - <property name="run.test.jvmargs" value=""/> - </target> - <target depends="-init-test-javac-module-properties-with-module,-init-test-module-properties-without-module" name="-init-test-module-properties"/> - <target if="do.depend.true" name="-compile-test-depend"> - <j2seproject3:depend classpath="${javac.test.classpath}" destdir="${build.test.classes.dir}" srcdir="${test.src.dir}"/> - </target> - <target depends="init,deps-jar,compile,-init-test-module-properties,-pre-pre-compile-test,-pre-compile-test,-compile-test-depend" if="have.tests" name="-do-compile-test"> - <j2seproject3:javac apgeneratedsrcdir="${build.test.classes.dir}" classpath="${javac.test.classpath}" debug="true" destdir="${build.test.classes.dir}" modulepath="${javac.test.modulepath}" processorpath="${javac.test.processorpath}" sourcepath="${javac.test.sourcepath}" srcdir="${test.src.dir}"> - <customize> - <compilerarg line="${javac.test.compilerargs}"/> - </customize> - </j2seproject3:javac> - <copy todir="${build.test.classes.dir}"> - <fileset dir="${test.src.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/> - </copy> - </target> - <target name="-post-compile-test"> - <!-- Empty placeholder for easier customization. --> - <!-- You can override this target in the ../build.xml file. --> - </target> - <target depends="init,compile,-pre-pre-compile-test,-pre-compile-test,-do-compile-test,-post-compile-test" name="compile-test"/> - <target name="-pre-compile-test-single"> - <!-- Empty placeholder for easier customization. --> - <!-- You can override this target in the ../build.xml file. --> - </target> - <target depends="init,deps-jar,compile,-init-test-module-properties,-pre-pre-compile-test,-pre-compile-test-single" if="have.tests" name="-do-compile-test-single"> - <fail unless="javac.includes">Must select some files in the IDE or set javac.includes</fail> - <j2seproject3:force-recompile destdir="${build.test.classes.dir}"/> - <j2seproject3:javac apgeneratedsrcdir="${build.test.classes.dir}" classpath="${javac.test.classpath}" debug="true" destdir="${build.test.classes.dir}" excludes="" includes="${javac.includes}, module-info.java" modulepath="${javac.test.modulepath}" processorpath="${javac.test.processorpath}" sourcepath="${test.src.dir}" srcdir="${test.src.dir}"> - <customize> - <compilerarg line="${javac.test.compilerargs}"/> - </customize> - </j2seproject3:javac> - <copy todir="${build.test.classes.dir}"> - <fileset dir="${test.src.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/> - </copy> - </target> - <target name="-post-compile-test-single"> - <!-- Empty placeholder for easier customization. --> - <!-- You can override this target in the ../build.xml file. --> - </target> - <target depends="init,compile,-pre-pre-compile-test,-pre-compile-test-single,-do-compile-test-single,-post-compile-test-single" name="compile-test-single"/> - <!-- - ======================= - TEST EXECUTION SECTION - ======================= - --> - <target depends="init" if="have.tests" name="-pre-test-run"> - <mkdir dir="${build.test.results.dir}"/> - </target> - <target depends="init,compile-test,-init-test-run-module-properties,-pre-test-run" if="have.tests" name="-do-test-run"> - <j2seproject3:test includes="${includes}" testincludes="**/*Test.java"/> - </target> - <target depends="init,compile-test,-pre-test-run,-do-test-run" if="have.tests" name="-post-test-run"> - <fail if="tests.failed" unless="ignore.failing.tests">Some tests failed; see details above.</fail> - </target> - <target depends="init" if="have.tests" name="test-report"/> - <target depends="init" if="netbeans.home+have.tests" name="-test-browse"/> - <target depends="init,compile-test,-pre-test-run,-do-test-run,test-report,-post-test-run,-test-browse" description="Run unit tests." name="test"/> - <target depends="init" if="have.tests" name="-pre-test-run-single"> - <mkdir dir="${build.test.results.dir}"/> - </target> - <target depends="init,compile-test-single,-init-test-run-module-properties,-pre-test-run-single" if="have.tests" name="-do-test-run-single"> - <fail unless="test.includes">Must select some files in the IDE or set test.includes</fail> - <j2seproject3:test excludes="" includes="${test.includes}" testincludes="${test.includes}"/> - </target> - <target depends="init,compile-test-single,-pre-test-run-single,-do-test-run-single" if="have.tests" name="-post-test-run-single"> - <fail if="tests.failed" unless="ignore.failing.tests">Some tests failed; see details above.</fail> - </target> - <target depends="init,compile-test-single,-init-test-run-module-properties,-pre-test-run-single,-do-test-run-single,-post-test-run-single" description="Run single unit test." name="test-single"/> - <target depends="init,compile-test-single,-pre-test-run-single" if="have.tests" name="-do-test-run-single-method"> - <fail unless="test.class">Must select some files in the IDE or set test.class</fail> - <fail unless="test.method">Must select some method in the IDE or set test.method</fail> - <j2seproject3:test excludes="" includes="${javac.includes}" testincludes="${test.class}" testmethods="${test.method}"/> - </target> - <target depends="init,compile-test-single,-pre-test-run-single,-do-test-run-single-method" if="have.tests" name="-post-test-run-single-method"> - <fail if="tests.failed" unless="ignore.failing.tests">Some tests failed; see details above.</fail> - </target> - <target depends="init,compile-test-single,-init-test-run-module-properties,-pre-test-run-single,-do-test-run-single-method,-post-test-run-single-method" description="Run single unit test." name="test-single-method"/> - <!-- - ======================= - TEST DEBUGGING SECTION - ======================= - --> - <target depends="init,compile-test-single,-pre-test-run-single" if="have.tests" name="-debug-start-debuggee-test"> - <fail unless="test.class">Must select one file in the IDE or set test.class</fail> - <j2seproject3:test-debug excludes="" includes="${javac.includes}" testClass="${test.class}" testincludes="${javac.includes}"/> - </target> - <target depends="init,compile-test-single,-pre-test-run-single" if="have.tests" name="-debug-start-debuggee-test-method"> - <fail unless="test.class">Must select one file in the IDE or set test.class</fail> - <fail unless="test.method">Must select some method in the IDE or set test.method</fail> - <j2seproject3:test-debug excludes="" includes="${javac.includes}" testClass="${test.class}" testMethod="${test.method}" testincludes="${test.class}" testmethods="${test.method}"/> - </target> - <target depends="init,compile-test" if="netbeans.home+have.tests" name="-debug-start-debugger-test"> - <j2seproject1:nbjpdastart classpath="${debug.test.classpath}" name="${test.class}"/> - </target> - <target depends="init,compile-test-single,-init-test-run-module-properties,-debug-start-debugger-test,-debug-start-debuggee-test" name="debug-test"/> - <target depends="init,compile-test-single,-init-test-run-module-properties,-debug-start-debugger-test,-debug-start-debuggee-test-method" name="debug-test-method"/> - <target depends="debug-test-method" name="debug-single-method"/> - <target depends="init,-pre-debug-fix,compile-test-single" if="netbeans.home" name="-do-debug-fix-test"> - <j2seproject1:nbjpdareload dir="${build.test.classes.dir}"/> - </target> - <target depends="init,-pre-debug-fix,-do-debug-fix-test" if="netbeans.home" name="debug-fix-test"/> - <!-- - ========================= - APPLET EXECUTION SECTION - ========================= - --> - <target depends="init,compile-single" name="run-applet"> - <fail unless="applet.url">Must select one file in the IDE or set applet.url</fail> - <j2seproject1:java classname="sun.applet.AppletViewer"> - <customize> - <arg value="${applet.url}"/> - </customize> - </j2seproject1:java> - </target> - <!-- - ========================= - APPLET DEBUGGING SECTION - ========================= - --> - <target depends="init,compile-single" if="netbeans.home" name="-debug-start-debuggee-applet"> - <fail unless="applet.url">Must select one file in the IDE or set applet.url</fail> - <j2seproject3:debug classname="sun.applet.AppletViewer"> - <customizeDebuggee> - <arg value="${applet.url}"/> - </customizeDebuggee> - </j2seproject3:debug> - </target> - <target depends="init,compile-single,-debug-start-debugger,-debug-start-debuggee-applet" if="netbeans.home" name="debug-applet"/> - <!-- - =============== - CLEANUP SECTION - =============== - --> - <target name="-deps-clean-init" unless="built-clean.properties"> - <property location="${build.dir}/built-clean.properties" name="built-clean.properties"/> - <delete file="${built-clean.properties}" quiet="true"/> - </target> - <target if="already.built.clean.${basedir}" name="-warn-already-built-clean"> - <echo level="warn" message="Cycle detected: MV3500Cohort2022MayJune projects Royer TwoCranesBerth was already built"/> - </target> - <target depends="init,-deps-clean-init" name="deps-clean" unless="no.deps"> - <mkdir dir="${build.dir}"/> - <touch file="${built-clean.properties}" verbose="false"/> - <property file="${built-clean.properties}" prefix="already.built.clean."/> - <antcall target="-warn-already-built-clean"/> - <propertyfile file="${built-clean.properties}"> - <entry key="${basedir}" value=""/> - </propertyfile> - </target> - <target depends="init" name="-do-clean"> - <delete dir="${build.dir}"/> - <delete dir="${dist.jlink.output}"/> - <delete dir="${dist.dir}" followsymlinks="false" includeemptydirs="true"/> - </target> - <target name="-post-clean"> - <!-- Empty placeholder for easier customization. --> - <!-- You can override this target in the ../build.xml file. --> - </target> - <target depends="init,deps-clean,-do-clean,-post-clean" description="Clean build products." name="clean"/> - <target name="-check-call-dep"> - <property file="${call.built.properties}" prefix="already.built."/> - <condition property="should.call.dep"> - <and> - <not> - <isset property="already.built.${call.subproject}"/> - </not> - <available file="${call.script}"/> - </and> - </condition> - </target> - <target depends="-check-call-dep" if="should.call.dep" name="-maybe-call-dep"> - <ant antfile="${call.script}" inheritall="false" target="${call.target}"> - <propertyset> - <propertyref prefix="transfer."/> - <mapper from="transfer.*" to="*" type="glob"/> - </propertyset> - </ant> - </target> -</project> diff --git a/assignments/src/MV3500Cohort2022MayJune/projects/Royer/TwoCranesBerth/nbproject/configs/Testing.properties b/assignments/src/MV3500Cohort2022MayJune/projects/Royer/TwoCranesBerth/nbproject/configs/Testing.properties deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/assignments/src/MV3500Cohort2022MayJune/projects/Royer/TwoCranesBerth/nbproject/project.properties b/assignments/src/MV3500Cohort2022MayJune/projects/Royer/TwoCranesBerth/nbproject/project.properties deleted file mode 100644 index 97d46417f8ec74c21e44e6871cff0a8cb8e0eb10..0000000000000000000000000000000000000000 --- a/assignments/src/MV3500Cohort2022MayJune/projects/Royer/TwoCranesBerth/nbproject/project.properties +++ /dev/null @@ -1,121 +0,0 @@ -annotation.processing.enabled=true -annotation.processing.enabled.in.editor=false -annotation.processing.processors.list= -annotation.processing.run.all.processors=true -annotation.processing.source.output=${build.generated.sources.dir}/ap-source-output -application.title=TwoCranesBerth -application.vendor=Nicholas Royer -auxiliary.org-netbeans-spi-editor-hints-projects.perProjectHintSettingsFile=nbproject/cfg_hints.xml -build.classes.dir=${build.dir}/classes -build.classes.excludes=**/*.java,**/*.form -# This directory is removed when the project is cleaned: -build.dir=build -build.generated.dir=${build.dir}/generated -build.generated.sources.dir=${build.dir}/generated-sources -# Only compile against the classpath explicitly listed here: -build.sysclasspath=ignore -build.test.classes.dir=${build.dir}/test/classes -build.test.results.dir=${build.dir}/test/results -# Uncomment to specify the preferred debugger connection transport: -#debug.transport=dt_socket -debug.classpath=\ - ${run.classpath} -debug.modulepath=\ - ${run.modulepath} -debug.test.classpath=\ - ${run.test.classpath} -debug.test.modulepath=\ - ${run.test.modulepath} -# Files in build.classes.dir which should be excluded from distribution jar -dist.archive.excludes= -# This directory is removed when the project is cleaned: -dist.dir=dist -dist.jar=${dist.dir}/MV3500Cohort2022MayJune_projects_Royer_TwoCranesBerth.jar -dist.javadoc.dir=${dist.dir}/javadoc -dist.jlink.dir=${dist.dir}/jlink -dist.jlink.output=${dist.jlink.dir}/MV3500Cohort2022MayJune_projects_Royer_TwoCranesBerth -endorsed.classpath= -excludes= -file.reference.opendis7-full.jar=../../../../../../lib/opendis7-full.jar -file.reference.simkit.jar=../../../../../../lib/simkit.jar -includes=** -jar.archive.disabled=${jnlp.enabled} -jar.compress=false -jar.index=${jnlp.enabled} -javac.classpath=\ - ${file.reference.opendis7-full.jar}:\ - ${file.reference.simkit.jar} -# Space-separated list of extra javac options -javac.compilerargs=-Xlint:unchecked -javac.deprecation=false -javac.external.vm=true -javac.modulepath= -javac.processormodulepath= -javac.processorpath=\ - ${javac.classpath} -javac.source=11 -javac.target=11 -javac.test.classpath=\ - ${javac.classpath}:\ - ${build.classes.dir} -javac.test.modulepath=\ - ${javac.modulepath} -javac.test.processorpath=\ - ${javac.test.classpath} -javadoc.additionalparam= -javadoc.author=false -javadoc.encoding=${source.encoding} -javadoc.html5=false -javadoc.noindex=false -javadoc.nonavbar=false -javadoc.notree=false -javadoc.private=false -javadoc.splitindex=true -javadoc.use=true -javadoc.version=false -javadoc.windowtitle= -# The jlink additional root modules to resolve -jlink.additionalmodules= -# The jlink additional command line parameters -jlink.additionalparam= -jlink.launcher=true -jlink.launcher.name=MV3500Cohort2022MayJune_projects_Royer_TwoCranesBerth -jnlp.codebase.type=no.codebase -jnlp.descriptor=application -jnlp.enabled=false -jnlp.mixed.code=default -jnlp.offline-allowed=false -jnlp.signed=false -jnlp.signing= -jnlp.signing.alias= -jnlp.signing.keystore= -main.class=dockyard.run.RunTwoCranesBerth -# Optional override of default Application-Library-Allowable-Codebase attribute identifying the locations where your signed RIA is expected to be found. -manifest.custom.application.library.allowable.codebase= -# Optional override of default Caller-Allowable-Codebase attribute identifying the domains from which JavaScript code can make calls to your RIA without security prompts. -manifest.custom.caller.allowable.codebase= -# Optional override of default Codebase manifest attribute, use to prevent RIAs from being repurposed -manifest.custom.codebase= -# Optional override of default Permissions manifest attribute (supported values: sandbox, all-permissions) -manifest.custom.permissions= -manifest.file=manifest.mf -meta.inf.dir=${src.dir}/META-INF -mkdist.disabled=false -platform.active=default_platform -run.classpath=\ - ${javac.classpath}:\ - ${build.classes.dir} -# Space-separated list of JVM arguments used when running the project. -# You may also define separate properties like run-sys-prop.name=value instead of -Dname=value. -# To set system properties for unit tests define test-sys-prop.name=value: -run.jvmargs= -run.modulepath=\ - ${javac.modulepath} -run.test.classpath=\ - ${javac.test.classpath}:\ - ${build.test.classes.dir} -run.test.modulepath=\ - ${javac.test.modulepath} -source.encoding=UTF-8 -src.dir=src -test.src.dir=test diff --git a/assignments/src/MV3500Cohort2022MayJune/projects/Royer/TwoCranesBerth/nbproject/project.xml b/assignments/src/MV3500Cohort2022MayJune/projects/Royer/TwoCranesBerth/nbproject/project.xml deleted file mode 100644 index 8391ab70fb53cc0bed5a834cdb155bc26a036bba..0000000000000000000000000000000000000000 --- a/assignments/src/MV3500Cohort2022MayJune/projects/Royer/TwoCranesBerth/nbproject/project.xml +++ /dev/null @@ -1,19 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<project xmlns="http://www.netbeans.org/ns/project/1"> - <type>org.netbeans.modules.java.j2seproject</type> - <configuration> - <data xmlns="http://www.netbeans.org/ns/j2se-project/3"> - <name>MV3500Cohort2022MayJune projects Royer TwoCranesBerth</name> - <source-roots> - <root id="src.dir"/> - </source-roots> - <test-roots> - <root id="test.src.dir"/> - </test-roots> - </data> - <spellchecker-wordlist xmlns="http://www.netbeans.org/ns/spellchecker-wordlist/1"> - <word>Accessor</word> - <word>interarrival</word> - </spellchecker-wordlist> - </configuration> -</project> diff --git a/assignments/src/MV3500Cohort2022MayJune/projects/Royer/TwoCranesBerth/pduLog/PduCaptureLog4.dislog b/assignments/src/MV3500Cohort2022MayJune/projects/Royer/TwoCranesBerth/pduLog/PduCaptureLog4.dislog deleted file mode 100644 index b57ec1b16ab69a274c8854c81c5ba4abfc97eb00..0000000000000000000000000000000000000000 --- a/assignments/src/MV3500Cohort2022MayJune/projects/Royer/TwoCranesBerth/pduLog/PduCaptureLog4.dislog +++ /dev/null @@ -1,42 +0,0 @@ -# Start, ENCODING_PLAINTEXT, [PduRecorder] 20220608_104048, DIS capture file, ./pduLog/PduCaptureLog4.dislog -0,0,0,0,0,0,0,0,7,1,22,5,-82,33,19,-43,0,32,40,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,3,-87,-128,0,0,0,112,83,104,105,112,32,48,32,97,114,114,105,118,101,100,0,0 # DisPduType 22 COMMENT -0,0,0,0,5,-74,64,60,7,1,1,1,-82,32,-9,-35,0,-112,40,0,0,0,0,0,0,0,0,0,1,3,0,0,0,0,0,0,0,0,0,-31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,63,-16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 # DisPduType 01 ENTITY_STATE -0,0,0,0,11,-85,-117,24,7,1,20,5,-82,32,-4,-121,0,40,40,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,97,-88,0,0,3,-14 # DisPduType 20 DATA -0,0,0,0,18,119,-58,-74,7,1,22,5,-82,42,-71,-49,0,32,40,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,3,-87,-128,0,0,0,-64,83,104,105,112,32,48,32,100,111,99,107,101,100,32,105,110,32,98,101,114,116,104,32,48 # DisPduType 22 COMMENT -0,0,0,0,24,113,101,67,7,1,1,1,-82,42,120,-111,0,-112,40,0,0,0,0,0,0,0,0,0,1,3,0,0,0,0,0,0,0,0,0,-31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 # DisPduType 01 ENTITY_STATE -0,0,0,0,30,123,-61,-18,7,1,22,5,-82,46,103,51,0,32,40,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,3,-87,-128,0,0,0,112,83,104,105,112,32,49,32,97,114,114,105,118,101,100,0,0 # DisPduType 22 COMMENT -0,0,0,0,36,118,60,77,7,1,1,1,-82,46,98,-119,0,-112,40,0,0,0,0,0,0,1,0,0,1,3,0,0,0,0,0,0,0,0,0,-31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,63,-16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 # DisPduType 01 ENTITY_STATE -0,0,0,0,42,109,19,100,7,1,20,5,-82,46,98,-119,0,40,40,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,1,0,0,97,-88,0,0,2,23 # DisPduType 20 DATA -0,0,0,0,48,110,-72,-10,7,1,22,5,-82,51,-31,-11,0,32,40,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,3,-87,-128,0,0,0,-64,83,104,105,112,32,49,32,100,111,99,107,101,100,32,105,110,32,98,101,114,116,104,32,49 # DisPduType 22 COMMENT -0,0,0,0,54,105,90,-123,7,1,1,1,-82,51,-35,77,0,-112,40,0,0,0,0,0,0,1,0,0,1,3,0,0,0,0,0,0,0,0,0,-31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,63,-16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 # DisPduType 01 ENTITY_STATE -0,0,0,0,60,-128,-20,97,7,1,22,5,-82,55,-113,89,0,32,40,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,3,-87,-128,0,0,0,-48,83,104,105,112,32,49,32,105,115,32,108,101,97,118,105,110,103,32,116,104,101,32,112,111,114,116,0,0,0,0,0,0 # DisPduType 22 COMMENT -0,0,0,0,66,121,-108,-45,7,1,1,1,-82,55,-113,89,0,-112,40,0,0,0,0,0,0,1,0,0,1,3,0,0,0,0,0,0,0,0,0,-31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-65,-16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 # DisPduType 01 ENTITY_STATE -0,0,0,0,72,125,19,-106,7,1,22,5,-82,59,56,19,0,32,40,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,3,-87,-128,0,0,0,-48,83,104,105,112,32,48,32,105,115,32,108,101,97,118,105,110,103,32,116,104,101,32,112,111,114,116,0,0,0,0,0,0 # DisPduType 22 COMMENT -0,0,0,0,78,118,96,19,7,1,1,1,-82,59,56,19,0,-112,40,0,0,0,0,0,0,0,0,0,1,3,0,0,0,0,0,0,0,0,0,-31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-65,-16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 # DisPduType 01 ENTITY_STATE -0,0,0,0,84,125,30,-116,7,1,22,5,-82,62,-27,119,0,32,40,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,3,-87,-128,0,0,0,112,83,104,105,112,32,50,32,97,114,114,105,118,101,100,0,0 # DisPduType 22 COMMENT -0,0,0,0,90,118,40,-28,7,1,1,1,-82,62,-32,-51,0,-112,40,0,0,0,0,0,0,2,0,0,1,3,0,0,0,0,0,0,0,0,0,-31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,63,-16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 # DisPduType 01 ENTITY_STATE -0,0,0,0,96,109,92,-94,7,1,20,5,-82,62,-32,-51,0,40,40,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,2,0,0,97,-88,0,0,4,101 # DisPduType 20 DATA -0,0,0,0,102,111,106,39,7,1,22,5,-82,68,96,57,0,32,40,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,3,-87,-128,0,0,0,-64,83,104,105,112,32,50,32,100,111,99,107,101,100,32,105,110,32,98,101,114,116,104,32,48 # DisPduType 22 COMMENT -0,0,0,0,108,121,11,-13,7,1,1,1,-82,68,91,-111,0,-112,40,0,0,0,0,0,0,2,0,0,1,3,0,0,0,0,0,0,0,0,0,-31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 # DisPduType 01 ENTITY_STATE -0,0,0,0,114,115,-33,-120,7,1,22,5,-82,72,8,-13,0,32,40,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,3,-87,-128,0,0,0,112,83,104,105,112,32,51,32,97,114,114,105,118,101,100,0,0 # DisPduType 22 COMMENT -0,0,0,0,120,110,-15,36,7,1,1,1,-82,72,8,-13,0,-112,40,0,0,0,0,0,0,3,0,0,1,3,0,0,0,0,0,0,0,0,0,-31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,63,-16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 # DisPduType 01 ENTITY_STATE -0,0,0,0,126,101,123,4,7,1,20,5,-82,72,8,-13,0,40,40,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,3,0,0,97,-88,0,0,3,-114 # DisPduType 20 DATA -0,0,0,0,-124,103,90,-116,7,1,22,5,-82,77,-125,-73,0,32,40,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,3,-87,-128,0,0,0,-64,83,104,105,112,32,51,32,100,111,99,107,101,100,32,105,110,32,98,101,114,116,104,32,49 # DisPduType 22 COMMENT -0,0,0,0,-118,96,63,-86,7,1,1,1,-82,77,-125,-73,0,-112,40,0,0,0,0,0,0,3,0,0,1,3,0,0,0,0,0,0,0,0,0,-31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,63,-16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 # DisPduType 01 ENTITY_STATE -0,0,0,0,-112,103,-55,-97,7,1,22,5,-82,81,49,25,0,32,40,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,3,-87,-128,0,0,0,-48,83,104,105,112,32,51,32,105,115,32,108,101,97,118,105,110,103,32,116,104,101,32,112,111,114,116,0,0,0,0,0,0 # DisPduType 22 COMMENT -0,0,0,0,-106,96,-33,106,7,1,1,1,-82,81,49,25,0,-112,40,0,0,0,0,0,0,3,0,0,1,3,0,0,0,0,0,0,0,0,0,-31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-65,-16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 # DisPduType 01 ENTITY_STATE -0,0,0,0,-100,97,-24,-120,7,1,22,5,-82,84,-39,-43,0,32,40,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,3,-87,-128,0,0,0,-48,83,104,105,112,32,50,32,105,115,32,108,101,97,118,105,110,103,32,116,104,101,32,112,111,114,116,0,0,0,0,0,0 # DisPduType 22 COMMENT -0,0,0,0,-94,91,26,-47,7,1,1,1,-82,84,-39,-43,0,-112,40,0,0,0,0,0,0,2,0,0,1,3,0,0,0,0,0,0,0,0,0,-31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-65,-16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 # DisPduType 01 ENTITY_STATE -0,0,0,0,-88,95,-74,124,7,1,22,5,-82,88,-126,-113,0,32,40,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,3,-87,-128,0,0,0,112,83,104,105,112,32,52,32,97,114,114,105,118,101,100,0,0 # DisPduType 22 COMMENT -0,0,0,0,-82,88,52,12,7,1,1,1,-82,88,-126,-113,0,-112,40,0,0,0,0,0,0,4,0,0,1,3,0,0,0,0,0,0,0,0,0,-31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,63,-16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 # DisPduType 01 ENTITY_STATE -0,0,0,0,-76,80,110,16,7,1,20,5,-82,88,-126,-113,0,40,40,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,4,0,0,97,-88,0,0,5,-56 # DisPduType 20 DATA -0,0,0,0,-70,81,33,-62,7,1,22,5,-82,93,-3,81,0,32,40,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,3,-87,-128,0,0,0,-64,83,104,105,112,32,52,32,100,111,99,107,101,100,32,105,110,32,98,101,114,116,104,32,48 # DisPduType 22 COMMENT -0,0,0,0,-64,74,73,39,7,1,1,1,-82,93,-3,81,0,-112,40,0,0,0,0,0,0,4,0,0,1,3,0,0,0,0,0,0,0,0,0,-31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 # DisPduType 01 ENTITY_STATE -0,0,0,0,-58,82,118,66,7,1,22,5,-82,97,-90,11,0,32,40,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,3,-87,-128,0,0,0,-48,83,104,105,112,32,52,32,105,115,32,108,101,97,118,105,110,103,32,116,104,101,32,112,111,114,116,0,0,0,0,0,0 # DisPduType 22 COMMENT -0,0,0,0,-52,75,-47,20,7,1,1,1,-82,97,-90,11,0,-112,40,0,0,0,0,0,0,4,0,0,1,3,0,0,0,0,0,0,0,0,0,-31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-65,-16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 # DisPduType 01 ENTITY_STATE -0,0,0,0,-46,80,-94,80,7,1,22,5,-82,101,83,111,0,32,40,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,3,-87,-128,0,0,0,112,83,104,105,112,32,53,32,97,114,114,105,118,101,100,0,0 # DisPduType 22 COMMENT -0,0,0,0,-40,74,94,29,7,1,1,1,-82,101,78,-57,0,-112,40,0,0,0,0,0,0,5,0,0,1,3,0,0,0,0,0,0,0,0,0,-31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,63,-16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 # DisPduType 01 ENTITY_STATE -0,0,0,0,-34,66,113,78,7,1,20,5,-82,101,83,111,0,40,40,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,5,0,0,97,-88,0,0,5,-71 # DisPduType 20 DATA -0,0,0,0,-28,67,112,-110,7,1,22,5,-82,106,-50,51,0,32,40,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,3,-87,-128,0,0,0,-64,83,104,105,112,32,53,32,100,111,99,107,101,100,32,105,110,32,98,101,114,116,104,32,48 # DisPduType 22 COMMENT -0,0,0,0,-22,60,-52,38,7,1,1,1,-82,106,-50,51,0,-112,40,0,0,0,0,0,0,5,0,0,1,3,0,0,0,0,0,0,0,0,0,-31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 # DisPduType 01 ENTITY_STATE -# Finish, ENCODING_PLAINTEXT, [PduRecorder] 20220608_104053, DIS capture file, ./pduLog/PduCaptureLog4.dislog diff --git a/assignments/src/MV3500Cohort2022MayJune/projects/Royer/TwoCranesBerth/src/dockyard/ArrivalProcess.java b/assignments/src/MV3500Cohort2022MayJune/projects/Royer/TwoCranesBerth/src/dockyard/ArrivalProcess.java deleted file mode 100644 index 532cfe4869e8c4378a318d252310d5b1d5121028..0000000000000000000000000000000000000000 --- a/assignments/src/MV3500Cohort2022MayJune/projects/Royer/TwoCranesBerth/src/dockyard/ArrivalProcess.java +++ /dev/null @@ -1,100 +0,0 @@ -package dockyard; - -import simkit.random.RandomVariate; - -/** - * A simple example of simkit's process concepts. Events are doXxx() calls. - * @author Nick Royer - */ -public class ArrivalProcess extends simkit.SimEntityBase { - /** Random variate generator for interarrival intervals */ - protected simkit.random.RandomVariate interarrivalTimeGenerator = null; - /** The raison d'etre of this whole thing */ - protected int numberArrivals = 0; - - /** - * @return the interarrival time generator - */ - public simkit.random.RandomVariate getInterarrivalTimeGenerator() { - return interarrivalTimeGenerator; - } - - /** - * @param iat_generator the interarrival time generator to set - */ - public void setInterarrivalTimeGenerator(simkit.random.RandomVariate iat_generator) { - this.interarrivalTimeGenerator = iat_generator; - } - /** Constructor */ - public ArrivalProcess(RandomVariate iat_generator) { - this.interarrivalTimeGenerator = iat_generator; - } - - /** - * Resets the ArrivalProcess to its default state - * - * Effects: - * - Sets the number of arrivals to 0 - */ - @Override - public void reset() { - super.reset(); - numberArrivals = 0; - } - - /** - * Run the process for the first time - * - * Effects: - * - * - Fires off the current number of arrivals to listeners - * - * Schedules: - * - * - Another Arrival event after a delay governed by the member inter-arrival - * time generator. - */ - public void doRun() { - firePropertyChange("numArrivals", getNumArrivals()); - waitDelay("Arrival", interarrivalTimeGenerator); - } - - /** - * Actually handle arrival. - * - * Effects: - * - Increments the number of arrivals by 1 - * - * Schedules: - * - Another Arrival event after a delay governed by the inter-arrival time - * generator member. - */ - public void doArrival() { - doArrivalBookkeeping(); - waitDelay("Arrival", interarrivalTimeGenerator); - } - - /** - * Helper method to do arrival bookkeeping to allow for child classes - * to implement their own scheduling more sensibly. - */ - protected void doArrivalBookkeeping() { - firePropertyChange("numberArrivals", numberArrivals, ++numberArrivals); - } - - /** - * Accessor method - * @return the numArrivals - */ - public int getNumArrivals() { - return numberArrivals; - } - - /** - * Accessor method - * @param numArrivals the numArrivals to set - */ - protected void setNumArrivals(int numArrivals) { - this.numberArrivals = numArrivals; - } -} diff --git a/assignments/src/MV3500Cohort2022MayJune/projects/Royer/TwoCranesBerth/src/dockyard/PDUSpitter.java b/assignments/src/MV3500Cohort2022MayJune/projects/Royer/TwoCranesBerth/src/dockyard/PDUSpitter.java deleted file mode 100644 index cb9cf4dc00f4a4442a8bdbaad18b6eb51bff6289..0000000000000000000000000000000000000000 --- a/assignments/src/MV3500Cohort2022MayJune/projects/Royer/TwoCranesBerth/src/dockyard/PDUSpitter.java +++ /dev/null @@ -1,119 +0,0 @@ -/* - * To change this license header, choose License Headers in Project Properties. - * To change this template file, choose Tools | Templates - * and open the template in the editor. - */ -package dockyard; -import edu.nps.moves.dis7.enumerations.PlatformDomain; -import edu.nps.moves.dis7.enumerations.VariableRecordType; -import edu.nps.moves.dis7.pdus.*; -import edu.nps.moves.dis7.utilities.DisChannel; -import edu.nps.moves.dis7.utilities.PduFactory; -import java.util.ArrayList; -import java.util.List; -// fix imports: do not use opendis4 enumerations -// import edu.nps.moves.disenum.EntityKind; -// import edu.nps.moves.disenum.PlatformSurface; - -/** - * Spit out PDUs - * @author Nicholas Royer - */ -public class PDUSpitter { - protected DisChannel disChannel; - - public PDUSpitter() { - this.disChannel = new DisChannel("PDU logger"); - disChannel.setVerboseComments(true); - // this.disChannel. - } - - public void close() { - disChannel.tearDownNetworkInterface(); - } - - public void shipArrivePDU(Ship ship) { - PduFactory factory = new PduFactory(); - EntityStatePdu shipStatePDU = factory.makeEntityStatePdu(); - - EntityID shipEntityID = new EntityID(); - shipEntityID.setEntityID(ship.getShipID()); - shipStatePDU.setEntityID(shipEntityID); - - EntityType shipEntityType = new EntityType(); - shipEntityType.setEntityKind(edu.nps.moves.dis7.enumerations.EntityKind.PLATFORM); - shipEntityType.setDomain(Domain.inst(PlatformDomain.SURFACE)); - shipEntityType.setCategory(0); - shipEntityType.setSubCategory(0); - shipEntityType.setSpecific(0); - shipStatePDU.setEntityType(shipEntityType); - shipStatePDU.setEntityLocation(0, 0, 1); - - DataPdu shipCargoPDU = factory.makeDataPdu(); - List<FixedDatum> cargoData = new ArrayList<>(); - - FixedDatum shipDatum = new FixedDatum(); - shipDatum.setFixedDatumID(VariableRecordType.ENTITY_ID_LIST); - shipDatum.setFixedDatumValue(ship.getShipID()); - cargoData.add(shipDatum); - - FixedDatum cargoDatum = new FixedDatum(); - cargoDatum.setFixedDatumID(VariableRecordType.CARGO); - cargoDatum.setFixedDatumValue((int)(1000 * ship.getRemainingUnloadingTime())); - cargoData.add(cargoDatum); - - shipCargoPDU.setFixedDatums(cargoData); - - CommentPdu commentPDU = factory.makeCommentPdu("Ship " + ship.getShipID() + " arrived"); - - disChannel.sendSinglePdu(commentPDU); - // disChannel.sendCommentPdu(VariableRecordType.ENTITIES, "Ship " + ship.getShipID() + " arrived"); - disChannel.sendSinglePdu(shipStatePDU); - disChannel.sendSinglePdu(shipCargoPDU); - } - - public void shipDockPDU(Ship ship, int berthIndex) { - PduFactory factory = new PduFactory(); - EntityStatePdu shipStatePDU = factory.makeEntityStatePdu(); - - EntityID shipEntityID = new EntityID(); - shipEntityID.setEntityID(ship.getShipID()); - shipStatePDU.setEntityID(shipEntityID); - - EntityType shipEntityType = new EntityType(); - shipEntityType.setEntityKind(edu.nps.moves.dis7.enumerations.EntityKind.PLATFORM); - shipEntityType.setDomain(Domain.inst(PlatformDomain.SURFACE)); - shipEntityType.setCategory(0); - shipEntityType.setSubCategory(0); - shipEntityType.setSpecific(0); - shipStatePDU.setEntityType(shipEntityType); - shipStatePDU.setEntityLocation(berthIndex, 0, 0); - - CommentPdu commentPDU = factory.makeCommentPdu("Ship " + ship.getShipID() + " docked in berth " + berthIndex); - disChannel.sendSinglePdu(commentPDU); - disChannel.sendSinglePdu(shipStatePDU); - } - - public void shipLeavePDU(Ship ship) { - PduFactory factory = new PduFactory(); - EntityStatePdu shipStatePDU = factory.makeEntityStatePdu(); - - EntityID shipEntityID = new EntityID(); - shipEntityID.setEntityID(ship.getShipID()); - shipStatePDU.setEntityID(shipEntityID); - - EntityType shipEntityType = new EntityType(); - shipEntityType.setEntityKind(edu.nps.moves.dis7.enumerations.EntityKind.PLATFORM); - shipEntityType.setDomain(Domain.inst(PlatformDomain.SURFACE)); - shipEntityType.setCategory(0); - shipEntityType.setSubCategory(0); - shipEntityType.setSpecific(0); - shipStatePDU.setEntityType(shipEntityType); - shipStatePDU.setEntityLocation(0, 0, -1); - - CommentPdu commentPDU = factory.makeCommentPdu("Ship " + ship.getShipID() + " is leaving the port"); - disChannel.sendSinglePdu(commentPDU); - disChannel.sendSinglePdu(shipStatePDU); - } - -} diff --git a/assignments/src/MV3500Cohort2022MayJune/projects/Royer/TwoCranesBerth/src/dockyard/Ship.java b/assignments/src/MV3500Cohort2022MayJune/projects/Royer/TwoCranesBerth/src/dockyard/Ship.java deleted file mode 100644 index 7cb3d54e83a7c901e8e10139be66f391ddb3e286..0000000000000000000000000000000000000000 --- a/assignments/src/MV3500Cohort2022MayJune/projects/Royer/TwoCranesBerth/src/dockyard/Ship.java +++ /dev/null @@ -1,70 +0,0 @@ -package dockyard; - -/** - * Class representing a ship for Computer Assignment 5 - * @author nick - */ -public class Ship extends simkit.Entity { - - protected double remainingUnloadingTime = 0.0; - protected double unloadingRate = 0.0; - - protected double totalQueuedTime = 0.0; - protected double totalTimeAtDockyard = 0.0; - protected double currentWorkStartTime = 0.0; - - // I want my own variable for this instead of the entity UUID, since I'm - // interested in the ordinal index of ships alone - private static int highestShipID = 0; - private int shipID = 0; - - public int getShipID() { - return shipID; - } - - public double getRemainingUnloadingTime() { - return remainingUnloadingTime; - } - - public Ship(double remainingUnloadingTime) { - super(); - this.remainingUnloadingTime = remainingUnloadingTime; // @TODO uncomment - shipID = highestShipID++; - } - - /** - * Modifying the prompt, we use this to set the elapsed time. - * @param rate - */ - void work(double rate) { - remainingUnloadingTime -= rate * (getElapsedTime() - currentWorkStartTime); - currentWorkStartTime = getElapsedTime(); - } - - public double getTotalQueuedTime() { - return totalQueuedTime; - } - public void onEnteredDockyard() { - this.stampTime(); - } - public void onDockedInBerth() { - // Mark the time this spent in the queue - this.totalQueuedTime = getElapsedTime(); - // After we're in a berth, the elapsed time is the time we've spent working - this.currentWorkStartTime = getElapsedTime(); - } - public void onLeavingDockyard() { - // The total time at the dockyard is the queued time plus the elapsed time, - // which is still ticking from when we docked. - this.totalTimeAtDockyard = getElapsedTime(); - } - - public double getTotalTimeAtDockyard() { - return totalTimeAtDockyard; - } - - @Override - public String toString() { - return String.format("Ship %d (%.3f)", shipID, remainingUnloadingTime); - } -} diff --git a/assignments/src/MV3500Cohort2022MayJune/projects/Royer/TwoCranesBerth/src/dockyard/ShipArrivalProcess.java b/assignments/src/MV3500Cohort2022MayJune/projects/Royer/TwoCranesBerth/src/dockyard/ShipArrivalProcess.java deleted file mode 100644 index 8fb0cfb403190ccc720a2dd9fa34e23c8399b63d..0000000000000000000000000000000000000000 --- a/assignments/src/MV3500Cohort2022MayJune/projects/Royer/TwoCranesBerth/src/dockyard/ShipArrivalProcess.java +++ /dev/null @@ -1,94 +0,0 @@ -/* - * To change this license header, choose License Headers in Project Properties. - * To change this template file, choose Tools | Templates - * and open the template in the editor. - */ -package dockyard; - -import simkit.random.RandomVariate; -import dockyard.ArrivalProcess; -import dockyard.Ship; - -/** - * Dockyard project - * @author Nicholas Royer - */ -public class ShipArrivalProcess extends dockyard.ArrivalProcess { - - protected RandomVariate unloadTimeGenerator = null; - - /** - * Constructor for a new CustomerArrivalProcess - * @param interarrivalTimeGenerator The interarrival time generator - * @param unloadingTimeGenerator The generator for service times for customers -// * @param renegeTimeGen The generator for renege times for customers - */ - public ShipArrivalProcess(RandomVariate interarrivalTimeGenerator, - RandomVariate unloadingTimeGenerator) - { - super(interarrivalTimeGenerator); - this.unloadTimeGenerator = unloadingTimeGenerator; - } - - /** - * Run the process for the first time - * - * Effects: - * - * - Fires off the current number of arrivals to listeners - * - * Schedules: - * - * - An Arrival event after a delay governed by the member inter-arrival - * time generator, - */ - @Override - public void doRun() { - firePropertyChange("numArrivals", getNumArrivals()); - - // Schedule the first customer - waitDelay("Arrival", interarrivalTimeGenerator.generate()); - } - - - /** - * Actually handle arrival. - * - * Effects: - * - Increments the number of arrivals by 1 - * - * Schedules: - * - Another Arrival event after a delay governed by the inter-arrival time - * generator member - * - A ShipArrival event with a new ship - */ - @Override - public void doArrival() { - doArrivalBookkeeping(); - waitDelay("Arrival", interarrivalTimeGenerator.generate()); - waitDelay("ShipArrival", 0.0, new Ship(unloadTimeGenerator.generate())); - } - - /** - * Method stub for a ship arrival - * @param ship - */ - public void doShipArrival(Ship ship) { - // Do nothing here - } - - /** - * @return the unloadingTimeGenerator - */ - public RandomVariate getUnloadTimeGenerator() { - return unloadTimeGenerator; - } - - /** - * @param unloadTimeGenerator the unloadingTimeGenerator to set - */ - public void setUnloadTimeGenerator(RandomVariate unloadTimeGenerator) { - this.unloadTimeGenerator = unloadTimeGenerator; - } - -} diff --git a/assignments/src/MV3500Cohort2022MayJune/projects/Royer/TwoCranesBerth/src/dockyard/StatsPackage.java b/assignments/src/MV3500Cohort2022MayJune/projects/Royer/TwoCranesBerth/src/dockyard/StatsPackage.java deleted file mode 100644 index d4be0e4fdada4d6c468f3d337aa3ef13dcea23ba..0000000000000000000000000000000000000000 --- a/assignments/src/MV3500Cohort2022MayJune/projects/Royer/TwoCranesBerth/src/dockyard/StatsPackage.java +++ /dev/null @@ -1,158 +0,0 @@ -/* - * To change this license header, choose License Headers in Project Properties. - * To change this template file, choose Tools | Templates - * and open the template in the editor. - */ -package dockyard; - -import java.util.HashMap; -import java.util.Set; -import simkit.stat.AbstractSimpleStats; -import simkit.stat.MultipleSimpleStatsTally; -import simkit.stat.MultipleSimpleStatsTimeVarying; -import simkit.stat.SimpleStatsTimeVarying; -import simkit.stat.SimpleStatsTally; - -/** - * Helper class for simplifying statistics - * @author nick - */ -public class StatsPackage { - private HashMap<String, simkit.stat.AbstractSimpleStats> statsMap = new HashMap<>(); - private simkit.SimEntityBase server = null; - - /** - * Construct a new stats package attached to the given server - * @param server - */ - public StatsPackage(simkit.SimEntityBase server) { - this.server = server; - } - - /** - * Enum of statistics types - */ - public enum StatType { - TIME_VARYING, - TALLY, - INDEXED_TIME_VARYING, - INDEXED_TALLY, - NONE - }; - - /** - * Attach a new statistics object to the server with the given name and type - * @param statName - * @param type - */ - public void attach(String statName, StatType type) { - if (server == null) - return; - - simkit.stat.AbstractSimpleStats stat = statsMap.get(statName); - if (stat != null) // Avoid duplicates - return; - - switch(type) { - case TIME_VARYING: - stat = new SimpleStatsTimeVarying(statName); - break; - case TALLY: - stat = new SimpleStatsTally(statName); - break; - case INDEXED_TIME_VARYING: - stat = new MultipleSimpleStatsTimeVarying(statName); - break; - case INDEXED_TALLY: - stat = new MultipleSimpleStatsTally(statName); - break; - } - - server.addPropertyChangeListener(stat); - statsMap.put(statName, stat); - } - - /** - * Attach a new statistics object to the server with the given name and types, - * passed in as name0, type0, name1, type1, etc. - * @param args Arguments - */ - public void attach(Object... args) { - if (args.length % 2 != 0) - throw new IllegalArgumentException("Must have pairs of name and type"); - - int numArgs = args.length / 2; - for (int i = 0; i < numArgs; i++) { - if (!(args[2*i+0] instanceof String) || !(args[2*i+1] instanceof StatType)) { - throw new IllegalArgumentException("Argument pair [" + args[2*i+0] + ", " + args[2*i+1] + "] is invalid"); - } - - attach((String) args[2*i + 0], (StatType) args[2*i + 1]); - } - } - - public simkit.stat.AbstractSimpleStats get(String statName) { - return statsMap.get(statName); - } - - /** - * Convenience method for getting the mean of a given stat - * @param statName The stat to fetch - * @return The mean, or 0.0 if the stat is not found - */ - public double getMean(String statName) { - simkit.stat.AbstractSimpleStats stats = get(statName); - if (stats == null) - return 0.0; - - return stats.getMean(); - } - - /** - * Convenience method for getting the mean of a given stat - * @param statName The stat to fetch - * @param index The index of the stat to fetch - * @return The mean, or 0.0 if the stat is not found - */ - public double getMean(String statName, int index) { - simkit.stat.AbstractSimpleStats stats = get(statName); - - if (stats == null) - return 0.0; - - if (stats instanceof simkit.stat.MultipleSimpleStatsTimeVarying) { - MultipleSimpleStatsTimeVarying stats2 = (simkit.stat.MultipleSimpleStatsTimeVarying) stats; - return stats2.getMean(index); - } else if (stats instanceof simkit.stat.MultipleSimpleStatsTally) { - MultipleSimpleStatsTally stats2 = (simkit.stat.MultipleSimpleStatsTally) stats; - return stats2.getMean(index); - } - - throw new IllegalArgumentException(); - } - - /** - * Dumps stats to stdout - */ - public void dump() { - Set<String> keys = statsMap.keySet(); - - for (String key : keys) { - System.out.println(String.format("Mean for \"%s\": %.4f", key, - getMean(key))); - - } - } - - /** - * Resets stats to stdout - */ - public void reset() { - Set<String> keys = statsMap.keySet(); - - for (String key : keys) { - simkit.stat.AbstractSimpleStats stat = get(key); - stat.reset(); - } - } -} diff --git a/assignments/src/MV3500Cohort2022MayJune/projects/Royer/TwoCranesBerth/src/dockyard/TwoCranesBerth.java b/assignments/src/MV3500Cohort2022MayJune/projects/Royer/TwoCranesBerth/src/dockyard/TwoCranesBerth.java deleted file mode 100644 index 908a748a7b474ae85985215313b72c0c5c93384a..0000000000000000000000000000000000000000 --- a/assignments/src/MV3500Cohort2022MayJune/projects/Royer/TwoCranesBerth/src/dockyard/TwoCranesBerth.java +++ /dev/null @@ -1,444 +0,0 @@ -/* - * To change this license header, choose License Headers in Project Properties. - * To change this template file, choose Tools | Templates - * and open the template in the editor. - */ -package dockyard; - -import java.util.Queue; -import java.util.SortedSet; -import java.util.TreeSet; - -/** - * Class representing a dockyard with N berths and N cranes. This departs dramatically - * from the event graph presented in the assignment while maintaining identical - * behavior and a more extensible, lower-overhead implementation. The key - * insight underpinning this is that there are really only two events involved - - * ships arriving, and ships finishing unloading. The shuffling of cranes is - * not a semantically meaningful state transition - it's just a computation to - * calculate new "ship unloaded" events for the component. We can achieve the - * desired behavior while reducing the overhead of pushing things through the - * scheduler by performing this computation via abstracting the berths to their - * own class. This is effectively an implementation of the event graph I did - * on paper on 27 April, simplified by making the crane-shuffling occur as part - * of the arrival events for ships. - * - * @author nick - */ -public class TwoCranesBerth extends simkit.SimEntityBase { - - // Parameters because I hate not having a generalizable solution - // I can cannibalize for later such busy-work assignments. - static final int DEFAULT_NUM_BERTHS = 2; - static final int DEFAULT_NUM_CRANES = 2; - static final double CRANE_WORK_RATE = 1.0; - - static final boolean printStatusMessages = false; - - protected PDUSpitter pdu_interface = null; - - /** - * Class representing a berth itself; this aids in making this generalizable - * and also abstracts the unloading process away from the dockyard itself. - * This shouldn't be used outside the dockyard class; it accesses its parent - * member variables to make things simpler. - */ - private class BerthSlot { - public Ship ship = null; - public int index = -1; - - // We could easily extend this by making cranes a container holding - // Crane objects, supporting cranes with variable processing times. - public int numCranes = 0; - - public BerthSlot(int index) { - this.index = index; - } - - public boolean isEmpty() {return (ship == null);} - - /** - * Docks a ship in this berth. We assume that docking takes zero time. - * This is unrealistic but mirrors the provided event graph. - */ - void dockShip(Ship ship) { - if (this.ship != null) - throw new IllegalStateException("We can't dock at a full berth"); - this.ship = ship; - - if (printStatusMessages) - System.out.printf("Ship %d docking in berth %d\n", ship.getShipID(), index); - - TwoCranesBerth.this.pdu_interface.shipDockPDU(ship, this.index); - ship.onDockedInBerth(); - TwoCranesBerth.this.firePropertyChange("numFullBerths", TwoCranesBerth.this.numFullBerths, ++TwoCranesBerth.this.numFullBerths); - TwoCranesBerth.this.setDelayInQueue(ship.getTotalQueuedTime()); - } - - /** - * Undocks the ship. Similarly, we assume that undocking takes zero time. - */ - void undockShip() { - if (this.ship == null) - throw new IllegalArgumentException("We can't undock a ship from an empty berth"); - this.ship.onLeavingDockyard(); - TwoCranesBerth.this.firePropertyChange("numFullBerths", TwoCranesBerth.this.numFullBerths, --TwoCranesBerth.this.numFullBerths); - TwoCranesBerth.this.setTimeInSystem(ship.getTotalTimeAtDockyard()); - - this.ship = null; - - // Free the cranes at this berth - removeCranes(numCranes); - redistributeCranes(numCranes); - } - - /** - * Removes cranes from this berthing. - * @param numCranes The number of cranes to remove. - */ - void removeCranes(int numCranes) { - assert this.numCranes >= numCranes; - this.numCranes -= numCranes; - - TwoCranesBerth.this.firePropertyChange("numIdleCranes", TwoCranesBerth.this.numIdleCranes, TwoCranesBerth.this.numIdleCranes + numCranes); - TwoCranesBerth.this.numIdleCranes += numCranes; - - updateUnloadingTime(this.numCranes + numCranes); - } - - /** - * Add cranes to this berthing. - * @param numCranes The number of cranes to add - */ - void addCranes(int numCranes) { - assert TwoCranesBerth.this.numIdleCranes >= numCranes; - this.numCranes += numCranes; - - TwoCranesBerth.this.firePropertyChange("numIdleCranes", - TwoCranesBerth.this.numIdleCranes, - TwoCranesBerth.this.numIdleCranes - numCranes); - TwoCranesBerth.this.numIdleCranes -= numCranes; - - updateUnloadingTime(this.numCranes - numCranes); - } - - /** - * Updates the unloading time for the berthing. This is easily the most - * significant method in the entire class. - * - * The key insight here is that the time unloading time of each ship in a - * berthing is affected solely by the number of cranes unloading it - if - * we know the rate at which each crane unloads (which was specified to be - * 1.0), and we know the number of cranes, we can schedule an event to - * indicate the ship is done unloading directly, and can skip the overhead - * of hadnling intermediate state transitions entirely. - * This allows us to handle a change in numbers of cranes in a more scalable fashion. - */ - void updateUnloadingTime(int previousNumCranes) { - if (ship == null) - return; - - if (printStatusMessages) - System.out.println("Updating loading for berth " + index + ", going from " + previousNumCranes + " to " + numCranes + " cranes"); - - // Credit the unloading work for the previous number of cranes and time - ship.work(previousNumCranes * CRANE_WORK_RATE); - - // Cancel the previous ShipDoneUnloading event - TwoCranesBerth.this.interrupt("ShipDoneUnloading", index); - - if (ship.getRemainingUnloadingTime() < 0) - throw new IllegalStateException("Illegal ship time " + ship.getRemainingUnloadingTime() + " / " + TwoCranesBerth.this.toString()); - - TwoCranesBerth.this.waitDelay("ShipDoneUnloading", ship.getRemainingUnloadingTime() / (numCranes * CRANE_WORK_RATE), index); - } - - @Override - public String toString() { - return String.format("[%s / %d c]", ship != null ? ship.toString(): " ", numCranes); - } - } - - // Queue of waiting ships not berthed - SortedSet<Ship> queue = new TreeSet<>(); - - // State variables - BerthSlot berths[] = new BerthSlot[DEFAULT_NUM_BERTHS]; - int totalNumCranes = DEFAULT_NUM_CRANES; - - int numFullBerths = 0; - int numIdleCranes = DEFAULT_NUM_CRANES; - - private double delayInQueue = Double.NaN; - private double timeInSystem = Double.NaN; - int numShipsUnloaded = 0; - int maxNumShipsInQueue = 0; - - /** - * Constructs with the right number of berths and cranes - * @param numBerths - * @param numCranes - */ - public TwoCranesBerth(int numBerths, int numCranes) { - super(); - - berths = new BerthSlot[numBerths]; - totalNumCranes = numCranes; - - numIdleCranes = totalNumCranes; - - // Initialize berths to null - for (int i = 0; i < berths.length; i++) - berths[i] = new BerthSlot(i); - } - - /** - * Default two berth, two crane constructor - */ - public TwoCranesBerth(PDUSpitter spitter) { - this(DEFAULT_NUM_BERTHS, DEFAULT_NUM_CRANES); - this.pdu_interface = spitter; - } - - /** - * Run event; re-zeroes everything. Schedules nothing. - */ - public void doRun() { - numFullBerths = 0; - numIdleCranes = totalNumCranes; - for (int i = 0; i < berths.length; i++) - berths[i] = new BerthSlot(i); - delayInQueue = Double.NaN; - timeInSystem = Double.NaN; - numShipsUnloaded = 0; - maxNumShipsInQueue = 0; - } - - /** - * Returns the next empty berth - * @return The index of the next empty berth, or -1 if they're all full. - */ - public int getNextEmptyBerth() { - for (int i = 0; i < berths.length; i++) { - if (berths[i].isEmpty()) - return i; - } - - return -1; - } - - /** - * Assign cranes to a given berthing - * @param berth The berth to add cranes to - */ - private void assignCranesToBerth(BerthSlot berth) { - if (numIdleCranes > 0) { - // If cranes are available assign them all to the new berth - berth.addCranes(numIdleCranes); - } else { - // Look for a berth with open cranes, preserving at least one - // at each. If one has more than one, steal it for this berth and - // stop looking for cranes. For 2 berths and 2 cranes this should - // be identical. - int i = 0; - while (i < berths.length) { - if (i == berth.index) { - // Dont add and remove to the same berth - i++; - continue; - } - - if (berths[i].numCranes > 1) { - if (printStatusMessages) - System.out.println("\tStealing 1 crane from berth " + i); - berths[i].removeCranes(1); - berth.addCranes(1); - break; - } - - i++; - } - } - } - - /** - * Redistributes cranes among all the berths. It does this in a round-robin - * fashion. - * - * We could also dump them all onto one berth (the behavior is the same for - * two berths only), but unless that one ship is somehow important, we'd - * probably want to increase all the ships' unloading speed moderately. - * - * @param numCranes - */ - private void redistributeCranes(int numCranes) { - firePropertyChange("numIdleCranes", numIdleCranes, numIdleCranes + numCranes); - numIdleCranes += numCranes; - - // We do the empty berth count to prevent adding to the same berth we just removed from, - // but more flexibly than checking against the index. - int iterations = 1; - - while (numIdleCranes > 0) { - int emptyBerths = 0; - for (BerthSlot berth : berths) { - if (berth.isEmpty()) { - emptyBerths++; - continue; - } - - if (berth.numCranes < iterations) - berth.addCranes(1); - } - if (emptyBerths >= berths.length) - break; - else - iterations++; - } - - // We're done redistributing cranes - } - - public void setDelayInQueue(double time) { - firePropertyChange("delayInQueue", time); // This is a tally variable - delayInQueue = time; - } - - public void setTimeInSystem(double time) { - firePropertyChange("timeInSystem", time); // This is a tally variable - timeInSystem = time; - } - - /** - * For debug printing of the dockyard - * @return - */ - @Override - public String toString() { - String ret = "DOCKYARD {"; - for (int i = 0; i < berths.length; i++) { - ret += berths[i].toString() + (i < (berths.length - 1) ? ", " : ""); - } - ret += " & " + numIdleCranes + " idle cranes, " + queue.size() + " in queue}"; - return ret; - } - - /* - * Events - */ - - /** - * Arrival event. Docks the ship at the appropriate berth, reassigns cranes - * appropriately to each berthing. Schedules the appropriate ShipDoneUnloading - * event for all berths to reflect the crane reassignment. - * - * @param ship - */ - public void doArrival(Ship ship) { - // Check the ship in and add it to queue - ship.onEnteredDockyard(); - pdu_interface.shipArrivePDU(ship); - - // If there are empty berths, assign the ship to it - int openBerth = getNextEmptyBerth(); - if (openBerth >= 0) { - - if (printStatusMessages) - System.out.print("Arriving "); - - berths[openBerth].dockShip(ship); - assignCranesToBerth(berths[openBerth]); - } else { - // No open berths available - if (printStatusMessages) - System.out.println("Placing arriving Ship " + ship.getShipID() + " in queue"); - queue.add(ship); - firePropertyChange("numShipsInQueue", queue.size() - 1, queue.size()); - int tmp = Math.max(maxNumShipsInQueue, queue.size()); - if (tmp != maxNumShipsInQueue) - firePropertyChange("maxNumShipsInQueue", maxNumShipsInQueue, tmp); - maxNumShipsInQueue = tmp; - } - - if(isVerbose()) - System.out.println(toString()); - } - - /** - * Event signifying a ship is done unloading. Reassigns cranes appropriately - * and cancels/schedules further ShipDoneUnloading events to reflect the - * updated assignment of cranes. - * - * @param berthIndex The berth index that a ship finished unloading at. - */ - public void doShipDoneUnloading(int berthIndex) { - if (berthIndex >= berths.length) - throw new IllegalArgumentException("Illegal berth index"); - if (berthIndex >= berths.length) - throw new IllegalStateException("Ship can't be done at an empty berth"); - - BerthSlot berth = berths[berthIndex]; - - if (printStatusMessages) - System.out.printf("Ship %d is done in berth %d\n", berth.ship.getShipID(), berth.index); - - Ship ship = berth.ship; - waitDelay("ShipLeavingDockyard", 0.0, ship); - berth.undockShip(); - - setNumShipsUnloaded(getNumShipsUnloaded() + 1); - - // Push a new ship into the berth if the queue isn't empty - if (!queue.isEmpty()) { - Ship newShip = queue.first(); - queue.remove(newShip); - firePropertyChange("numShipsInQueue", queue.size() + 1, queue.size()); - if (printStatusMessages) - System.out.print("Queued "); - berth.dockShip(newShip); - assignCranesToBerth(berth); - } - } - - /** - * Stub for a ship leaving, since other components may want to do things with - * this. - * @param ship - */ - public void doShipLeavingDockyard(Ship ship) { - // Stub - pdu_interface.shipLeavePDU(ship); - } - - /* - * Minimal getters/setters - */ - protected void setNumShipsUnloaded(int ships) { - int tmp = numShipsUnloaded; - numShipsUnloaded = ships; - firePropertyChange("numShipsUnloaded", tmp, numShipsUnloaded); - } - - public int getNumShipsUnloaded() { - return numShipsUnloaded; - } - - public SortedSet<Ship> getQueue() { - return new TreeSet<Ship>(queue); - } - - protected void setQueue(SortedSet<Ship> newQueue) { - firePropertyChange("queue", getQueue(), newQueue); - this.queue = newQueue; - } - - public int getMaxNumShipsInQueue() {return maxNumShipsInQueue;} - - public double getDelayInQueue() { - return delayInQueue; - } - - public double getTimeInSystem() { - return timeInSystem; - } -} diff --git a/assignments/src/MV3500Cohort2022MayJune/projects/Royer/TwoCranesBerth/src/dockyard/run/RunTwoCranesBerth.java b/assignments/src/MV3500Cohort2022MayJune/projects/Royer/TwoCranesBerth/src/dockyard/run/RunTwoCranesBerth.java deleted file mode 100644 index 39e4ee9391dfc561730641ddbd77adb54bde8434..0000000000000000000000000000000000000000 --- a/assignments/src/MV3500Cohort2022MayJune/projects/Royer/TwoCranesBerth/src/dockyard/run/RunTwoCranesBerth.java +++ /dev/null @@ -1,79 +0,0 @@ -package dockyard.run; - -import dockyard.StatsPackage; -import dockyard.PDUSpitter; -import dockyard.ShipArrivalProcess; -import dockyard.TwoCranesBerth; - -/** - * Run the simulation - * @author Nicholas Royer - */ -public class RunTwoCranesBerth { - - /** - * Runs the "transfer line" lab - * @param args Command-line arguments - */ - public static void main(String[] args) { - - // Construct components - ShipArrivalProcess sap = new ShipArrivalProcess( - simkit.random.RandomVariateFactory.getInstance("Exponential", 0.7), - simkit.random.RandomVariateFactory.getInstance("Uniform", 0.5, 1.5) - ); - - PDUSpitter pdu_spitter = new PDUSpitter(); - TwoCranesBerth dockyard = new TwoCranesBerth(pdu_spitter); - - // Construct adapter - simkit.Adapter dockyardAdapter = new simkit.Adapter("ShipArrival", "Arrival"); - dockyardAdapter.connect(sap, dockyard); - - // Add stats - StatsPackage stats = new StatsPackage(dockyard); - stats.attach( - "delayInQueue", StatsPackage.StatType.TALLY, - "timeInSystem", StatsPackage.StatType.TALLY, - "numShipsInQueue", StatsPackage.StatType.TIME_VARYING, - "maxNumShipsInQueue", StatsPackage.StatType.TIME_VARYING, - "numFullBerths", StatsPackage.StatType.TIME_VARYING - ); - - System.out.println(sap); - System.out.println(dockyard); - - // Start the simulation - simkit.Schedule.stopAtTime(5.0); - // simkit.Schedule.setVerbose(true); - simkit.Schedule.reset(); - simkit.Schedule.startSimulation(); - - // Print results - - System.out.printf( - "Simulation ended at time %,.0f\n\n" + - "Number of ships arriving: \t%,d\n" + - "Number of ships unloaded: \t%,d\n" + - "Maximum # in queue: \t\t%d\n" + - "Average # in queue: \t\t%,.4f\n" + - "Average # busy berths: \t\t%,.4f\n" + - "Average time in system: \t%,.4f\n" + - "Average delay in queue: \t%,.4f\n" - , - - simkit.Schedule.getSimTime(), - sap.getNumArrivals(), - dockyard.getNumShipsUnloaded(), - dockyard.getMaxNumShipsInQueue(), - stats.getMean("numShipsInQueue"), - stats.getMean("numFullBerths"), - stats.getMean("timeInSystem"), - stats.getMean("delayInQueue") - ); - - pdu_spitter.close(); - } - -} - diff --git a/assignments/src/MV3500Cohort2022MayJune/projects/RoyerProject.zip b/assignments/src/MV3500Cohort2022MayJune/projects/RoyerProject.zip new file mode 100644 index 0000000000000000000000000000000000000000..dccf60e5fdd99824f651b89eb77009d9eef770a6 Binary files /dev/null and b/assignments/src/MV3500Cohort2022MayJune/projects/RoyerProject.zip differ diff --git a/assignments/src/MV3500Cohort2022MayJune/projects/run/package-info.java b/assignments/src/MV3500Cohort2022MayJune/projects/run/package-info.java new file mode 100644 index 0000000000000000000000000000000000000000..99c23e9d14338d05d7ea6cb68172aca8cbfb5c75 --- /dev/null +++ b/assignments/src/MV3500Cohort2022MayJune/projects/run/package-info.java @@ -0,0 +1,11 @@ +/** + * Student projects produced as part of the NPS MOVES MV3500 Networked Graphics course, note that + * the run subpackage is necessary for Simkit execution. + * + * @see <a href="https://gitlab.nps.edu/Savage/NetworkedGraphicsMV3500/-/tree/master/assignments">networkedGraphicsMV3500 assignments</a> + * @see java.lang.Package + * @see <a href="https://stackoverflow.com/questions/22095487/why-is-package-info-java-useful">StackOverflow: why-is-package-info-java-useful</a> + * @see <a href="https://stackoverflow.com/questions/624422/how-do-i-document-packages-in-java">StackOverflow: how-do-i-document-packages-in-java</a> + */ + +package MV3500Cohort2022MayJune.projects.run; diff --git a/assignments/src/MV3500Cohort2023MarchJune/homework1/Cecil/package-info.java b/assignments/src/MV3500Cohort2023MarchJune/homework1/Cecil/package-info.java new file mode 100644 index 0000000000000000000000000000000000000000..96d2650c30dcc9be865bc0bb059571babbcd3102 --- /dev/null +++ b/assignments/src/MV3500Cohort2023MarchJune/homework1/Cecil/package-info.java @@ -0,0 +1,10 @@ +/** + * Program-modification homework assignment supporting the NPS MOVES MV3500 Networked Graphics course. + * + * @see <a href="https://gitlab.nps.edu/Savage/NetworkedGraphicsMV3500/-/tree/master/assignments">networkedGraphicsMV3500 assignments</a> + * @see java.lang.Package + * @see <a href="https://stackoverflow.com/questions/22095487/why-is-package-info-java-useful">StackOverflow: why-is-package-info-java-useful</a> + * @see <a href="https://stackoverflow.com/questions/624422/how-do-i-document-packages-in-java">StackOverflow: how-do-i-document-packages-in-java</a> + */ + +package MV3500Cohort2023MarchJune.homework1.Cecil; diff --git a/assignments/src/MV3500Cohort2023MarchJune/homework1/Chojnacki/package-info.java b/assignments/src/MV3500Cohort2023MarchJune/homework1/Chojnacki/package-info.java new file mode 100644 index 0000000000000000000000000000000000000000..c16608d8ed9b791e4c2b3659e10ea65ee695fc89 --- /dev/null +++ b/assignments/src/MV3500Cohort2023MarchJune/homework1/Chojnacki/package-info.java @@ -0,0 +1,10 @@ +/** + * Program-modification homework assignment supporting the NPS MOVES MV3500 Networked Graphics course. + * + * @see <a href="https://gitlab.nps.edu/Savage/NetworkedGraphicsMV3500/-/tree/master/assignments">networkedGraphicsMV3500 assignments</a> + * @see java.lang.Package + * @see <a href="https://stackoverflow.com/questions/22095487/why-is-package-info-java-useful">StackOverflow: why-is-package-info-java-useful</a> + * @see <a href="https://stackoverflow.com/questions/624422/how-do-i-document-packages-in-java">StackOverflow: how-do-i-document-packages-in-java</a> + */ + +package MV3500Cohort2023MarchJune.homework1.Chojnacki; diff --git a/assignments/src/MV3500Cohort2023MarchJune/homework1/Fredrickson/package-info.java b/assignments/src/MV3500Cohort2023MarchJune/homework1/Fredrickson/package-info.java new file mode 100644 index 0000000000000000000000000000000000000000..3bf6865838935398a0d7a157033880e83a755673 --- /dev/null +++ b/assignments/src/MV3500Cohort2023MarchJune/homework1/Fredrickson/package-info.java @@ -0,0 +1,10 @@ +/** + * Program-modification homework assignment supporting the NPS MOVES MV3500 Networked Graphics course. + * + * @see <a href="https://gitlab.nps.edu/Savage/NetworkedGraphicsMV3500/-/tree/master/assignments">networkedGraphicsMV3500 assignments</a> + * @see java.lang.Package + * @see <a href="https://stackoverflow.com/questions/22095487/why-is-package-info-java-useful">StackOverflow: why-is-package-info-java-useful</a> + * @see <a href="https://stackoverflow.com/questions/624422/how-do-i-document-packages-in-java">StackOverflow: how-do-i-document-packages-in-java</a> + */ + +package MV3500Cohort2023MarchJune.homework1.Fredrickson; diff --git a/assignments/src/MV3500Cohort2023MarchJune/homework1/Hedgcorth/package-info.java b/assignments/src/MV3500Cohort2023MarchJune/homework1/Hedgcorth/package-info.java new file mode 100644 index 0000000000000000000000000000000000000000..5bda94bd2955de8c8ea224c1923fe36880912936 --- /dev/null +++ b/assignments/src/MV3500Cohort2023MarchJune/homework1/Hedgcorth/package-info.java @@ -0,0 +1,10 @@ +/** + * Program-modification homework assignment supporting the NPS MOVES MV3500 Networked Graphics course. + * + * @see <a href="https://gitlab.nps.edu/Savage/NetworkedGraphicsMV3500/-/tree/master/assignments">networkedGraphicsMV3500 assignments</a> + * @see java.lang.Package + * @see <a href="https://stackoverflow.com/questions/22095487/why-is-package-info-java-useful">StackOverflow: why-is-package-info-java-useful</a> + * @see <a href="https://stackoverflow.com/questions/624422/how-do-i-document-packages-in-java">StackOverflow: how-do-i-document-packages-in-java</a> + */ + +package MV3500Cohort2023MarchJune.homework1.Hedgcorth; diff --git a/assignments/src/MV3500Cohort2023MarchJune/homework1/Islas/package-info.java b/assignments/src/MV3500Cohort2023MarchJune/homework1/Islas/package-info.java new file mode 100644 index 0000000000000000000000000000000000000000..690f498b07b48325fe26423531cb31bfbed04a00 --- /dev/null +++ b/assignments/src/MV3500Cohort2023MarchJune/homework1/Islas/package-info.java @@ -0,0 +1,10 @@ +/** + * Program-modification homework assignment supporting the NPS MOVES MV3500 Networked Graphics course. + * + * @see <a href="https://gitlab.nps.edu/Savage/NetworkedGraphicsMV3500/-/tree/master/assignments">networkedGraphicsMV3500 assignments</a> + * @see java.lang.Package + * @see <a href="https://stackoverflow.com/questions/22095487/why-is-package-info-java-useful">StackOverflow: why-is-package-info-java-useful</a> + * @see <a href="https://stackoverflow.com/questions/624422/how-do-i-document-packages-in-java">StackOverflow: how-do-i-document-packages-in-java</a> + */ + +package MV3500Cohort2023MarchJune.homework1.Islas; diff --git a/assignments/src/MV3500Cohort2023MarchJune/homework1/Oblak/package-info.java b/assignments/src/MV3500Cohort2023MarchJune/homework1/Oblak/package-info.java new file mode 100644 index 0000000000000000000000000000000000000000..fd08cc44b4ce7f9fb38f9508340cfbbb5c194adb --- /dev/null +++ b/assignments/src/MV3500Cohort2023MarchJune/homework1/Oblak/package-info.java @@ -0,0 +1,10 @@ +/** + * Program-modification homework assignment supporting the NPS MOVES MV3500 Networked Graphics course. + * + * @see <a href="https://gitlab.nps.edu/Savage/NetworkedGraphicsMV3500/-/tree/master/assignments">networkedGraphicsMV3500 assignments</a> + * @see java.lang.Package + * @see <a href="https://stackoverflow.com/questions/22095487/why-is-package-info-java-useful">StackOverflow: why-is-package-info-java-useful</a> + * @see <a href="https://stackoverflow.com/questions/624422/how-do-i-document-packages-in-java">StackOverflow: how-do-i-document-packages-in-java</a> + */ + +package MV3500Cohort2023MarchJune.homework1.Oblak; diff --git a/assignments/src/MV3500Cohort2023MarchJune/homework1/Sloan/package-info.java b/assignments/src/MV3500Cohort2023MarchJune/homework1/Sloan/package-info.java new file mode 100644 index 0000000000000000000000000000000000000000..ce3204575757711ece6456de74a6e6aeda297026 --- /dev/null +++ b/assignments/src/MV3500Cohort2023MarchJune/homework1/Sloan/package-info.java @@ -0,0 +1,10 @@ +/** + * Program-modification homework assignment supporting the NPS MOVES MV3500 Networked Graphics course. + * + * @see <a href="https://gitlab.nps.edu/Savage/NetworkedGraphicsMV3500/-/tree/master/assignments">networkedGraphicsMV3500 assignments</a> + * @see java.lang.Package + * @see <a href="https://stackoverflow.com/questions/22095487/why-is-package-info-java-useful">StackOverflow: why-is-package-info-java-useful</a> + * @see <a href="https://stackoverflow.com/questions/624422/how-do-i-document-packages-in-java">StackOverflow: how-do-i-document-packages-in-java</a> + */ + +package MV3500Cohort2023MarchJune.homework1.Sloan; diff --git a/assignments/src/MV3500Cohort2023MarchJune/homework2/Cecil/MulticastUdpReceiverCecil.java b/assignments/src/MV3500Cohort2023MarchJune/homework2/Cecil/MulticastUdpReceiverCecil.java new file mode 100644 index 0000000000000000000000000000000000000000..6de95426855da27d065d202a87478673a5664181 --- /dev/null +++ b/assignments/src/MV3500Cohort2023MarchJune/homework2/Cecil/MulticastUdpReceiverCecil.java @@ -0,0 +1,123 @@ +package MV3500Cohort2023MarchJune.homework2.Cecil; + +import edu.nps.moves.dis7.utilities.DisThreadedNetworkInterface; +import java.io.*; +import java.net.*; +import java.nio.ByteBuffer; +import java.util.logging.Level; +import java.util.logging.Logger; + +/** + * Looks a lot like UdpReceiver. Start this before launching MulticastSender. + * + * @author mcgredo + * @author brutzman@nps.edu + */ +public class MulticastUdpReceiverCecil +{ + /** Default constructor */ + public MulticastUdpReceiverCecil() + { + // default constructor + } + // reserved range for all IPv4 multicast: 224.0.0.0 through 239.255.255.255 + // https://en.wikipedia.org/wiki/Multicast_address + // https://www.iana.org/assignments/multicast-addresses/multicast-addresses.xhtml + private static final String MULTICAST_ADDRESS = "239.1.2.15"; + private static final int DESTINATION_PORT = 1718; + + /** + * Time to live: how many router-decrement levels can be crossed + */ + private static final int TTL = 10; + + private static final boolean INFINITE_READ_LOOP = true; + private static NetworkInterface ni; + + /** + * Program invocation, execution starts here + * @param args command-line arguments + */ + public static void main(String[] args) + { + MulticastSocket multicastSocket = null; + InetSocketAddress group = null; + ByteBuffer buffer = ByteBuffer.allocate(1500); + DatagramPacket packet = new DatagramPacket(buffer.array(), buffer.capacity()); + + try { + System.out.println("UdpExamples.MulticastUdpReceiver started..."); + + // This is a java/IPv6 problem. You should also add it to the + // arguments used to start the app, eg -Djava.net.preferIPv4Stack=true + // set in the "run" section of preferences. Also, typically + // netbeans must be restarted after these settings. + // https://stackoverflow.com/questions/18747134/getting-cant-assign-requested-address-java-net-socketexception-using-ehcache + System.setProperty("java.net.preferIPv4Stack", "true"); + + multicastSocket = new MulticastSocket(DESTINATION_PORT); + multicastSocket.setTimeToLive(TTL); + InetAddress multicastAddress = InetAddress.getByName(MULTICAST_ADDRESS); + + group = new InetSocketAddress(multicastAddress, DESTINATION_PORT); + + // Join group useful on receiving side + multicastSocket.joinGroup(group, ni = DisThreadedNetworkInterface.findIpv4Interface()); + // You can join multiple groups here + + System.out.println("Multicast address/port: " + multicastAddress.getHostAddress() + "/" + DESTINATION_PORT); + System.out.println("Multicast packets received log:"); + + int index, count = 0; // initialize + float firstFloat, secondFloat; + StringBuilder firstCharacters = new StringBuilder(); + char nextChar; + + while (true) { // true is always true, so this is an infinite loop that continues until interrupted + multicastSocket.receive(packet); + count++; + + nextChar = ' '; + while (nextChar != ';') // read and build string until terminator ; found + { + nextChar = buffer.getChar(); + firstCharacters.append(nextChar); + } + if (firstCharacters.toString().contains(MulticastUdpSenderCecil.QUIT_SENTINEL)) { + System.out.println("Received sentinel \"" + MulticastUdpSenderCecil.QUIT_SENTINEL + "\""); + if (!INFINITE_READ_LOOP) { + break; // exit out of reading loop + } + } + index = buffer.getInt(); + firstFloat = buffer.getFloat(); + secondFloat = buffer.getFloat(); + buffer.clear(); + + if (count < 10) { + System.out.print(" "); // prettier output formatting + } + System.out.print(count + ". \"" + firstCharacters + "\" "); // wrap string in quote marks + System.out.println("index=" + index + ", firstFloat=" + firstFloat + " secondFloat=" + secondFloat); + + System.out.println("MulticastReceiver loop complete."); + firstCharacters.setLength(0); + } + } catch (IOException e) { + System.err.println("Problem with MulticastReceiver, see exception trace:"); + System.err.println(e); + } finally // clean up after exit condition + { + if (multicastSocket != null && !multicastSocket.isClosed()) { + try { + multicastSocket.leaveGroup(group, ni); + } catch (IOException ex) { + Logger.getLogger(MulticastUdpReceiverCecil.class.getName()).log(Level.SEVERE, null, ex); + } + multicastSocket.close(); + } + // socket/database/completion cleanup code can go here, if needed. + System.out.println("MulticastReceiver finally block, complete."); + } + } +} diff --git a/assignments/src/MV3500Cohort2023MarchJune/homework2/Cecil/MulticastUdpSenderCecil.java b/assignments/src/MV3500Cohort2023MarchJune/homework2/Cecil/MulticastUdpSenderCecil.java new file mode 100644 index 0000000000000000000000000000000000000000..37574e1038234ec351ba7f8a0c02154a1d737f16 --- /dev/null +++ b/assignments/src/MV3500Cohort2023MarchJune/homework2/Cecil/MulticastUdpSenderCecil.java @@ -0,0 +1,134 @@ +package MV3500Cohort2023MarchJune.homework2.Cecil; + +import edu.nps.moves.dis7.utilities.DisThreadedNetworkInterface; +import java.io.*; +import java.net.*; +import java.util.logging.Level; +import java.util.logging.Logger; + +/** + * Looks a lot like UdpSender. Start this after launching MulticastReceiver. + * + * Privacy note: this sender advertises your user name as part of the multicast packet message + * + * @author mcgredo + * @author brutzman@nps.edu + */ +public class MulticastUdpSenderCecil +{ + /** Default constructor */ + public MulticastUdpSenderCecil() + { + // default constructor + } + // reserved range for all IPv4 multicast: 224.0.0.0 through 239.255.255.255 + // https://www.iana.org/assignments/multicast-addresses/multicast-addresses.xhtml + + /** Default multicast group address for send and receive connections. + * @see <a href="https://en.wikipedia.org/wiki/Multicast_address">https://en.wikipedia.org/wiki/Multicast_address</a> */ + public static final String MULTICAST_ADDRESS = "239.1.2.15"; // within reserved multicast address range + /** Default socket port used, matches Wireshark DIS capture default + * @see <a href="https://en.wikipedia.org/wiki/Port_(computer_networking)">https://en.wikipedia.org/wiki/Port_(computer_networking)</a> */ + public static final int DESTINATION_PORT = 1718; + + /** Time to live: how many router-decrement levels can be crossed */ + public static final int TTL = 10; + + /** How many packets to send prior to termination */ + public static final int LOOPSIZE = 20; // or maybe 20000 + + /** Receiving this message causes termination + * @see <a href="https://en.wikipedia.org/wiki/Sentinel_value">https://en.wikipedia.org/wiki/Sentinel_value</a> */ + public static final String QUIT_SENTINEL = "QUIT QUIT QUIT!"; + private static NetworkInterface ni; + + /** + * Program invocation, execution starts here + * @param args command-line arguments + * @throws java.io.IOException execution error + */ + @SuppressWarnings("SleepWhileInLoop") + public static void main(String[] args) throws IOException + { + MulticastSocket multicastSocket = null; + InetSocketAddress group = null; + + // Put together a message with binary content. "ByteArrayOutputStream" + // is a java.io utility that lets us put together an array of binary + // data, which we put into the UDP packet. + ByteArrayOutputStream baos = new ByteArrayOutputStream(); + DataOutputStream dos = new DataOutputStream(baos); + + try + { + System.out.println("UdpExamples.MulticastUdpSender started..."); + // This is a java/IPv6 problem. You should also add it to the + // arguments used to start the app, eg -Djava.net.preferIPv4Stack=true + // set in the "run" section of preferences. Also, typically + // netbeans must be restarted after these settings. + // https://stackoverflow.com/questions/18747134/getting-cant-assign-requested-address-java-net-socketexception-using-ehcache + System.setProperty("java.net.preferIPv4Stack", "true"); + + // multicast group we are sending to--not a single host + multicastSocket = new MulticastSocket(/*DESTINATION_PORT*/); + multicastSocket.setTimeToLive(TTL); // time to live reduces scope of transmission + InetAddress multicastAddress = InetAddress.getByName(MULTICAST_ADDRESS); + System.out.println("Multicast address/port: " + multicastAddress.getHostAddress() + "/" + DESTINATION_PORT); + + group = new InetSocketAddress(multicastAddress, DESTINATION_PORT); + // Join group useful on receiving side + multicastSocket.joinGroup(group, ni = DisThreadedNetworkInterface.findIpv4Interface()); + // You can join multiple groups here + + byte[] buffer = baos.toByteArray(); + DatagramPacket packet = new DatagramPacket(buffer, buffer.length, group/*, DESTINATION_PORT*/); + + for (int index = 0; index < LOOPSIZE; index++) + { + // Put together an updated packet to send + if (index < LOOPSIZE - 1) + { + // Put together an updated packet to send + dos.writeChars("From " + System.getProperty("user.name") + ": "); + dos.writeChars("MulticastSender packet " + Integer.toString(index) + ";"); // string chars for readability + dos.writeInt (index); // arbitrary data, needs Java or byte-alignment to read + dos.writeFloat(17.0f); // arbitrary data, needs Java or byte-alignment to read + dos.writeFloat(23.0f); // arbitrary data, needs Java or byte-alignment to read + } + else dos.writeChars(QUIT_SENTINEL + ";"); // note string must include ; semicolon as termination sentinel + + buffer = baos.toByteArray(); + packet.setData(buffer); + multicastSocket.send(packet); + System.out.println("Sent multicast packet " + (index + 1) + " of " + LOOPSIZE); + baos.reset(); + + // How fast does this go? Does UDP try to slow it down, or does + // this cause network problems? (hint: yes for an unlimited send + // rate, unlike TCP). How do you know on the receiving side + // that you haven't received a duplicate UDP packet, out of + // order packet, or dropped packet? Necessary considerations. + Thread.sleep(1000); // Send 100, one per second + } + System.out.println("MulticastSender complete."); + } + catch(IOException | InterruptedException e) + { + System.err.println("Problem with MulticastSender, see exception trace:"); + System.err.println(e); + } finally { + + if (multicastSocket != null && !multicastSocket.isClosed()) { + try { + multicastSocket.leaveGroup(group, ni); + } catch (IOException ex) { + Logger.getLogger(MulticastUdpSenderCecil.class.getName()).log(Level.SEVERE, null, ex); + } + multicastSocket.close(); + } + + dos.close(); + } + } + +} diff --git a/assignments/src/MV3500Cohort2023MarchJune/homework2/Hedgcorth/MulticastUdpReceiver.java b/assignments/src/MV3500Cohort2023MarchJune/homework2/Hedgcorth/MulticastUdpReceiver.java new file mode 100644 index 0000000000000000000000000000000000000000..c474c486a8ed97e77b735b2706309a6b1eb72ae3 --- /dev/null +++ b/assignments/src/MV3500Cohort2023MarchJune/homework2/Hedgcorth/MulticastUdpReceiver.java @@ -0,0 +1,126 @@ +package MV3500Cohort2023MarchJune.homework2.Hedgcorth; + +import edu.nps.moves.dis7.utilities.DisThreadedNetworkInterface; +import java.io.IOException; +import java.net.DatagramPacket; +import java.net.InetAddress; +import java.net.InetSocketAddress; +import java.net.MulticastSocket; +import java.net.NetworkInterface; +import java.nio.ByteBuffer; +import java.util.logging.Level; +import java.util.logging.Logger; + +/** + * Looks a lot like UdpReceiver. Start this before launching MulticastSender. + * + * @author leahhedgcorth + */ +public class MulticastUdpReceiver +{ + /** Default constructor */ + public MulticastUdpReceiver() + { + // default constructor + } + // reserved range for all IPv4 multicast: 224.0.0.0 through 239.255.255.255 + // https://en.wikipedia.org/wiki/Multicast_address + // https://www.iana.org/assignments/multicast-addresses/multicast-addresses.xhtml + private static final String MULTICAST_ADDRESS = "239.1.2.15"; + private static final int DESTINATION_PORT = 1718; + + /** + * Time to live: how many router-decrement levels can be crossed + */ + private static final int TTL = 10; + + private static final boolean INFINITE_READ_LOOP = true; + private static NetworkInterface ni; + + /** + * Program invocation, execution starts here + * @param args command-line arguments + */ + public static void main(String[] args) + { + MulticastSocket multicastSocket = null; + InetSocketAddress group = null; + ByteBuffer buffer = ByteBuffer.allocate(1500); + DatagramPacket packet = new DatagramPacket(buffer.array(), buffer.capacity()); + + try { + System.out.println("UdpExamples.MulticastUdpReceiver started..."); + + // This is a java/IPv6 problem. You should also add it to the + // arguments used to start the app, eg -Djava.net.preferIPv4Stack=true + // set in the "run" section of preferences. Also, typically + // netbeans must be restarted after these settings. + // https://stackoverflow.com/questions/18747134/getting-cant-assign-requested-address-java-net-socketexception-using-ehcache + System.setProperty("java.net.preferIPv4Stack", "true"); + + multicastSocket = new MulticastSocket(DESTINATION_PORT); + multicastSocket.setTimeToLive(TTL); + InetAddress multicastAddress = InetAddress.getByName(MULTICAST_ADDRESS); + + group = new InetSocketAddress(multicastAddress, DESTINATION_PORT); + + // Join group useful on receiving side + multicastSocket.joinGroup(group, ni = DisThreadedNetworkInterface.findIpv4Interface()); + // You can join multiple groups here + + System.out.println("Multicast address/port: " + multicastAddress.getHostAddress() + "/" + DESTINATION_PORT); + System.out.println("Multicast packets received log:"); + + int index, count = 0; // initialize + float firstFloat, secondFloat; + StringBuilder firstCharacters = new StringBuilder(); + char nextChar; + + while (true) { + multicastSocket.receive(packet); + count++; + + nextChar = ' '; + while (nextChar != ';') // read and build string until terminator ; found + { + nextChar = buffer.getChar(); + firstCharacters.append(nextChar); + } + if (firstCharacters.toString().contains(MulticastUdpSender.QUIT_SENTINEL)) { + System.out.println("Received sentinel \"" + MulticastUdpSender.QUIT_SENTINEL + "\""); + if (!INFINITE_READ_LOOP) { + break; // exit out of reading loop + } + } + index = buffer.getInt(); + firstFloat = buffer.getFloat(); + secondFloat = buffer.getFloat(); + buffer.clear(); + + if (count < 10) { + System.out.print(" "); // prettier output formatting + } + System.out.print(count + ". \"" + firstCharacters + "\" "); // wrap string in quote marks + System.out.println("index=" + index + ", firstFloat=" + firstFloat + " secondFloat=" + secondFloat); + + System.out.println("MulticastReceiver loop complete."); + firstCharacters.setLength(0); + } + } catch (IOException e) { + System.err.println("Problem with MulticastReceiver, see exception trace:"); + System.err.println(e); + } finally // clean up after exit condition + { + if (multicastSocket != null && !multicastSocket.isClosed()) { + try { + multicastSocket.leaveGroup(group, ni); + } catch (IOException ex) { + Logger.getLogger(MulticastUdpReceiver.class.getName()).log(Level.SEVERE, null, ex); + } + multicastSocket.close(); + } + // socket/database/completion cleanup code can go here, if needed. + System.out.println("MulticastReceiver finally block, complete."); + } + } +} diff --git a/assignments/src/MV3500Cohort2023MarchJune/homework2/Hedgcorth/MulticastUdpSender.java b/assignments/src/MV3500Cohort2023MarchJune/homework2/Hedgcorth/MulticastUdpSender.java new file mode 100644 index 0000000000000000000000000000000000000000..5f11529851553fe6558379c31ffad23ffe700a40 --- /dev/null +++ b/assignments/src/MV3500Cohort2023MarchJune/homework2/Hedgcorth/MulticastUdpSender.java @@ -0,0 +1,141 @@ + +package MV3500Cohort2023MarchJune.homework2.Hedgcorth; + +import edu.nps.moves.dis7.utilities.DisThreadedNetworkInterface; +import java.io.ByteArrayOutputStream; +import java.io.DataOutputStream; +import java.io.IOException; +import java.net.DatagramPacket; +import java.net.InetAddress; +import java.net.InetSocketAddress; +import java.net.MulticastSocket; +import java.net.NetworkInterface; +import java.util.logging.Level; +import java.util.logging.Logger; + +/** + * Looks a lot like UdpSender. Start this after launching MulticastReceiver. + * + * Privacy note: this sender advertises your user name as part of the multicast packet message + * + * + * @author leahhedgcorth + */ +public class MulticastUdpSender { + + /** Default constructor */ + public MulticastUdpSender() + { + // default constructor + } + // reserved range for all IPv4 multicast: 224.0.0.0 through 239.255.255.255 + // https://www.iana.org/assignments/multicast-addresses/multicast-addresses.xhtml + + /** Default multicast group address for send and receive connections. + * @see <a href="https://en.wikipedia.org/wiki/Multicast_address">https://en.wikipedia.org/wiki/Multicast_address</a> */ + public static final String MULTICAST_ADDRESS = "239.1.2.15"; // within reserved multicast address range + /** Default socket port used, matches Wireshark DIS capture default + * @see <a href="https://en.wikipedia.org/wiki/Port_(computer_networking)">https://en.wikipedia.org/wiki/Port_(computer_networking)</a> */ + public static final int DESTINATION_PORT = 1718; + + /** Time to live: how many router-decrement levels can be crossed */ + public static final int TTL = 10; + + /** How many packets to send prior to termination */ + public static final int LOOPSIZE = 20; // or maybe 20000 + + /** Receiving this message causes termination + * @see <a href="https://en.wikipedia.org/wiki/Sentinel_value">https://en.wikipedia.org/wiki/Sentinel_value</a> */ + public static final String QUIT_SENTINEL = "QUIT QUIT QUIT!"; + private static NetworkInterface ni; + + /** + * Program invocation, execution starts here + * @param args command-line arguments + * @throws java.io.IOException execution error + */ + @SuppressWarnings("SleepWhileInLoop") + public static void main(String[] args) throws IOException + { + MulticastSocket multicastSocket = null; + InetSocketAddress group = null; + + // Put together a message with binary content. "ByteArrayOutputStream" + // is a java.io utility that lets us put together an array of binary + // data, which we put into the UDP packet. + ByteArrayOutputStream baos = new ByteArrayOutputStream(); + DataOutputStream dos = new DataOutputStream(baos); + + try + { + System.out.println("UdpExamples.MulticastUdpSender started..."); + // This is a java/IPv6 problem. You should also add it to the + // arguments used to start the app, eg -Djava.net.preferIPv4Stack=true + // set in the "run" section of preferences. Also, typically + // netbeans must be restarted after these settings. + // https://stackoverflow.com/questions/18747134/getting-cant-assign-requested-address-java-net-socketexception-using-ehcache + System.setProperty("java.net.preferIPv4Stack", "true"); + + // multicast group we are sending to--not a single host + multicastSocket = new MulticastSocket(/*DESTINATION_PORT*/); + multicastSocket.setTimeToLive(TTL); // time to live reduces scope of transmission + InetAddress multicastAddress = InetAddress.getByName(MULTICAST_ADDRESS); + System.out.println("Multicast address/port: " + multicastAddress.getHostAddress() + "/" + DESTINATION_PORT); + + group = new InetSocketAddress(multicastAddress, DESTINATION_PORT); + // Join group useful on receiving side + multicastSocket.joinGroup(group, ni = DisThreadedNetworkInterface.findIpv4Interface()); + // You can join multiple groups here + + byte[] buffer = baos.toByteArray(); + DatagramPacket packet = new DatagramPacket(buffer, buffer.length, group/*, DESTINATION_PORT*/); + + for (int index = 0; index < LOOPSIZE; index++) + { + // Put together an updated packet to send + if (index < LOOPSIZE - 1) + { + // Put together an updated packet to send + dos.writeChars("From " + System.getProperty("user.name") + ": "); + dos.writeChars("MulticastSender packet " + Integer.toString(index) + ";"); // string chars for readability + dos.writeInt (index); // arbitrary data, needs Java or byte-alignment to read + dos.writeFloat(17.0f); // arbitrary data, needs Java or byte-alignment to read + dos.writeFloat(23.0f); // arbitrary data, needs Java or byte-alignment to read + } + else dos.writeChars(QUIT_SENTINEL + ";"); // note string must include ; semicolon as termination sentinel + + buffer = baos.toByteArray(); + packet.setData(buffer); + multicastSocket.send(packet); + System.out.println("Sent multicast packet " + (index + 1) + " of " + LOOPSIZE); + baos.reset(); + + // How fast does this go? Does UDP try to slow it down, or does + // this cause network problems? (hint: yes for an unlimited send + // rate, unlike TCP). How do you know on the receiving side + // that you haven't received a duplicate UDP packet, out of + // order packet, or dropped packet? Necessary considerations. + Thread.sleep(1000); // Send 100, one per second + } + System.out.println("MulticastSender complete."); + } + catch(IOException | InterruptedException e) + { + System.err.println("Problem with MulticastSender, see exception trace:"); + System.err.println(e); + } finally { + + if (multicastSocket != null && !multicastSocket.isClosed()) { + try { + multicastSocket.leaveGroup(group, ni); + } catch (IOException ex) { + Logger.getLogger(MulticastUdpSender.class.getName()).log(Level.SEVERE, null, ex); + } + multicastSocket.close(); + } + + dos.close(); + } + } + +} diff --git a/examples/src/TcpExamples/Assignment1TCPExample3ClientChange.java b/examples/src/TcpExamples/Assignment1TCPExample3ClientChange.java deleted file mode 100644 index bdb9980de7fe4ef6047952b4baa408ba0a0b8222..0000000000000000000000000000000000000000 --- a/examples/src/TcpExamples/Assignment1TCPExample3ClientChange.java +++ /dev/null @@ -1,104 +0,0 @@ -package TcpExamples; - -import java.io.*; -import java.net.*; - -/** - * This is Assignment 1 where I have modified the given code from TCPExample3Client - * -sleep time has been extended to give more time in between loops - * -Initial print line has been altered to reflect assingnment 1 - * -Loop only runs a finite number of times ,10. - * Before, we always used telnet (netcat) to connect to the server. Here we are - * now writing our own program to do the connection. - * - * As you will see, when we run this after we start the server we will see the - * same string telnet printed, sent by the server. The output at the server will - * show different socket pairs for each time the loop iterates. - * - * @author mcgredo - * @author brutzman@nps.edu - */ -public class Assignment1TCPExample3ClientChange -{ - /** Default constructor */ - public Assignment1TCPExample3ClientChange() - { - // default constructor - } - /** IPv6 String constant for localhost address, similarly IPv4 127.0.0.1 - * @see <a href="https://en.wikipedia.org/wiki/localhost">https://en.wikipedia.org/wiki/localhost</a> - * @see <a href="https://en.wikipedia.org/wiki/IPv6_address">https://en.wikipedia.org/wiki/IPv6_address</a> - */ - public final static String LOCALHOST = "0:0:0:0:0:0:0:1"; - - /** - * Program invocation, execution starts here - * @param args command-line arguments - */ - public static void main(String[] args) - { - // Local variables/fields - Socket socket = null; - InputStream is; - Reader isr; - BufferedReader br; - String serverMessage; - int clientLoopCount = 0; - int numberOfLoops = 10; - - try { - while (clientLoopCount < numberOfLoops) - { - clientLoopCount++; // increment at beginning of loop for reliability - System.out.println(Assignment1TCPExample3ClientChange.class.getName() + " creating socket..."); - - // We request an IP to connect to ("localhost") and - // port number at that IP (2317). This establishes - // a connection to that IP in the form of a Socket - // object; the server uses a ServerSocket to wait for - // connections. - socket = new Socket(LOCALHOST, 2317); // locohost? - - // Now hook everything up (i.e. set up the streams), Java style: - is = socket.getInputStream(); - isr = new InputStreamReader(is); - br = new BufferedReader(isr); - - // Read a single line written by the server. We'd - // do things a bit differently if there were many lines to be read - // from the server instead of one only. - serverMessage = br.readLine(); - System.out.println("======================Assignment1==========================="); - - System.out.print ("Client loop " + clientLoopCount + ": "); - System.out.println("now we're talking!"); - System.out.println("The message the server sent was: '" + serverMessage + "'"); - // socket gets closed, either automatically/silently by this code (or possibly by the server) - - Thread.sleep(800l); // slow things down, for example 500l (long) = 500 msec - - } // end while(true) // infinite loops are dangerous, be sure to kill this process! - } - catch (IOException | InterruptedException e) - { - System.err.println("Problem with " + TcpExample3Client.class.getName() + " networking:"); // describe what is happening - System.err.println("Error: " + e); - - // Provide more helpful information to user if exception occurs due to running twice at one time - if (e instanceof java.net.BindException) { - System.err.println("*** Be sure to stop any other running instances of programs using this port!"); - } - } - finally // occurs after any other activity when shutting down - { - try { - if (socket != null) - socket.close(); - } catch (IOException e) {} - - // program exit: tell somebody about that happening. Likely cause: server drops connection. - System.out.println(); - System.out.println(TcpExample3Client.class.getName() + " exit"); - } - } -} diff --git a/examples/src/TcpExamples/Assignmnet1TCPExample3ServerChange.java b/examples/src/TcpExamples/Assignmnet1TCPExample3ServerChange.java deleted file mode 100644 index 640121f4e7ed94fbd4da58b22b07a65baff3f741..0000000000000000000000000000000000000000 --- a/examples/src/TcpExamples/Assignmnet1TCPExample3ServerChange.java +++ /dev/null @@ -1,112 +0,0 @@ -package TcpExamples; - -import java.io.*; -import java.net.*; - -/** - * This is Assignment 1 where I have modified the given code from TCPExample3Server - *-server response message changed - * - * Very slightly more complex than example1, further modifying example2. The - * only thing this does differently is introduce a loop into the response, so - * you don't have to restart the program after one response. Also, it prints out - * the socket pair the server sees. Run the program via telnet several times and - * compare the socket pairs. - * - * telnet (nc) localhost 2317 - * - * If you're sophisticated you can contact the instructor's computer while - * running this program. - * - * telnet (nc) [ipNumberOfServerLaptop] 2317 - * - * and have the instructor display the socket pairs received. - * - * @author mcgredo - * @author brutzman@nps.edu - */ -public class Assignmnet1TCPExample3ServerChange -{ - /** Default constructor */ - public Assignmnet1TCPExample3ServerChange() - { - // default constructor - } - /** - * Program invocation, execution starts here - * If already compiled, can run using console in directory ../../build/classes/ by invoking \ - * java -classpath . TcpExamples.TcpExample3Server - * @param args command-line arguments - */ - public static void main(String[] args) { - try { - - // ServerSocket waits for a connection from a client. - // Notice that it is outside the loop; ServerSocket - // needs to be made only once. - System.out.println(Assignmnet1TCPExample3ServerChange.class.getName() + " has started..."); // it helps debugging to put this on console first - - ServerSocket serverSocket = new ServerSocket(2317); - OutputStream os; - PrintStream ps; - InetAddress localAddress, remoteAddress; - int localPort, remotePort; - int serverLoopCount = 0; - - // Server is up and waiting (i.e. "blocked" or paused) - // Loop, infinitely, waiting for client connections. - // Stop the program somewhere else. - while (true) { - - // block until connected to a client - try (Socket clientConnectionSocket = serverSocket.accept()) - { - serverLoopCount++; // increment at beginning of loop for reliability - - // Now hook everything up (i.e. set up the streams), Java style: - os = clientConnectionSocket.getOutputStream(); - ps = new PrintStream(os); - ps.println("This is response " + serverLoopCount + " produced by the server, " - + Assignmnet1TCPExample3ServerChange.class.getName()); // this gets sent back to client! - - // Print some information locally about the Socket connection. - // This includes the port and IP numbers on both sides (the socket pair). - localAddress = clientConnectionSocket.getLocalAddress(); - remoteAddress = clientConnectionSocket.getInetAddress(); - localPort = clientConnectionSocket.getLocalPort(); - remotePort = clientConnectionSocket.getPort(); - - System.out.print ("Server loop " + serverLoopCount + ": "); - - // My socket pair connection looks like this, to localhost: - // Socket pair: (( /0:0:0:0:0:0:0:1, 2317 ), ( /0:0:0:0:0:0:0:1, 54876 )) - // Socket pair: (( /0:0:0:0:0:0:0:1, 2317 ), ( /0:0:0:0:0:0:0:1, 54881 )) - - // Why is the first IP/port the same, while the second set has different ports? - System.out.println(TcpExample3Server.class.getName() + " socket pair showing host name, address, port:"); - System.out.println(" (( " + - localAddress.getHostName() + "=" + localAddress.getHostAddress() + ", " + localPort + " ), ( " + - remoteAddress.getHostName() + "=" + remoteAddress.getHostAddress() + ", " + remotePort + " ))"); - - if ( localAddress.getHostName().equals( localAddress.getHostAddress()) || - remoteAddress.getHostName().equals(remoteAddress.getHostAddress())) - System.out.println(" note HostName matches address if host has no DNS name"); - - // Notice the use of flush() and try w/ resources. Without - // the try w/ resources the Socket object may stay open for - // a while after the client has stopped needing this - // connection. try w/ resources explicitly ends the connection. - ps.flush(); - // like it or not, you're outta here! - } - } - } catch (IOException e) { - System.err.println("Problem with " + TcpExample3Server.class.getName() + " networking: " + e); - - // Provide more helpful information to user if exception occurs due to running twice at one time - if (e instanceof java.net.BindException) { - System.err.println("*** Be sure to stop any other running instances of programs using this port!"); - } - } - } -} diff --git a/examples/src/UdpExamples/MulticastUdpReceiver.java b/examples/src/UdpExamples/MulticastUdpReceiver.java index dfe2644c9485248851236090c07327627436e386..e7d5220158b9ae03570998d5729f7ecaa6853348 100644 --- a/examples/src/UdpExamples/MulticastUdpReceiver.java +++ b/examples/src/UdpExamples/MulticastUdpReceiver.java @@ -73,7 +73,7 @@ public class MulticastUdpReceiver StringBuilder firstCharacters = new StringBuilder(); char nextChar; - while (true) { + while (true) { // true is always true, so this is an infinite loop that continues until interrupted multicastSocket.receive(packet); count++;