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/MV3500Cohort2022MayJune/Royer2/dockyard/ArrivalProcess.java b/assignments/src/MV3500Cohort2022MayJune/projects/Royer/TwoCranesBerth/src/MV3500Cohort2022MayJune/Royer2/dockyard/ArrivalProcess.java deleted file mode 100644 index e1b706c2c97a1072bdec8f531eee0425aade947b..0000000000000000000000000000000000000000 --- a/assignments/src/MV3500Cohort2022MayJune/projects/Royer/TwoCranesBerth/src/MV3500Cohort2022MayJune/Royer2/dockyard/ArrivalProcess.java +++ /dev/null @@ -1,102 +0,0 @@ -package MV3500Cohort2022MayJune.Royer2.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; - - /** - * get the interarrival time generator, using safe object-oriented accessor method - * @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 - * @param iat_generator the interarrival time generator to set */ - 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/MV3500Cohort2022MayJune/Royer2/dockyard/PDUSpitter.java b/assignments/src/MV3500Cohort2022MayJune/projects/Royer/TwoCranesBerth/src/MV3500Cohort2022MayJune/Royer2/dockyard/PDUSpitter.java deleted file mode 100644 index fd26a0f39493e5b246aef5cd62f55274120372b8..0000000000000000000000000000000000000000 --- a/assignments/src/MV3500Cohort2022MayJune/projects/Royer/TwoCranesBerth/src/MV3500Cohort2022MayJune/Royer2/dockyard/PDUSpitter.java +++ /dev/null @@ -1,120 +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 MV3500Cohort2022MayJune.Royer2.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/MV3500Cohort2022MayJune/Royer2/dockyard/Ship.java b/assignments/src/MV3500Cohort2022MayJune/projects/Royer/TwoCranesBerth/src/MV3500Cohort2022MayJune/Royer2/dockyard/Ship.java deleted file mode 100644 index 6a3fcf576ddf4c6b2ed3c418a945d95ee5ce2f84..0000000000000000000000000000000000000000 --- a/assignments/src/MV3500Cohort2022MayJune/projects/Royer/TwoCranesBerth/src/MV3500Cohort2022MayJune/Royer2/dockyard/Ship.java +++ /dev/null @@ -1,70 +0,0 @@ -package MV3500Cohort2022MayJune.Royer2.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/MV3500Cohort2022MayJune/Royer2/dockyard/ShipArrivalProcess.java b/assignments/src/MV3500Cohort2022MayJune/projects/Royer/TwoCranesBerth/src/MV3500Cohort2022MayJune/Royer2/dockyard/ShipArrivalProcess.java deleted file mode 100644 index 12853e71b14218554b862d636b214745db899e5d..0000000000000000000000000000000000000000 --- a/assignments/src/MV3500Cohort2022MayJune/projects/Royer/TwoCranesBerth/src/MV3500Cohort2022MayJune/Royer2/dockyard/ShipArrivalProcess.java +++ /dev/null @@ -1,93 +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 MV3500Cohort2022MayJune.Royer2.dockyard; - -import simkit.examples.ArrivalProcess; -import simkit.random.RandomVariate; - -/** - * Dockyard project - * @author Nicholas Royer - */ -public class ShipArrivalProcess extends 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/MV3500Cohort2022MayJune/Royer2/dockyard/StatsPackage.java b/assignments/src/MV3500Cohort2022MayJune/projects/Royer/TwoCranesBerth/src/MV3500Cohort2022MayJune/Royer2/dockyard/StatsPackage.java deleted file mode 100644 index 55866cfb5f6c06c09efa613eb1b5f7c05c18bd8e..0000000000000000000000000000000000000000 --- a/assignments/src/MV3500Cohort2022MayJune/projects/Royer/TwoCranesBerth/src/MV3500Cohort2022MayJune/Royer2/dockyard/StatsPackage.java +++ /dev/null @@ -1,157 +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 MV3500Cohort2022MayJune.Royer2.dockyard; - -import java.util.HashMap; -import java.util.Set; -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/MV3500Cohort2022MayJune/Royer2/dockyard/TwoCranesBerth.java b/assignments/src/MV3500Cohort2022MayJune/projects/Royer/TwoCranesBerth/src/MV3500Cohort2022MayJune/Royer2/dockyard/TwoCranesBerth.java deleted file mode 100644 index 8ef15d2e5193319635be02ab57edf4e8c279adcd..0000000000000000000000000000000000000000 --- a/assignments/src/MV3500Cohort2022MayJune/projects/Royer/TwoCranesBerth/src/MV3500Cohort2022MayJune/Royer2/dockyard/TwoCranesBerth.java +++ /dev/null @@ -1,443 +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 MV3500Cohort2022MayJune.Royer2.dockyard; - -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/MV3500Cohort2022MayJune/Royer2/dockyard/run/RunTwoCranesBerth.java b/assignments/src/MV3500Cohort2022MayJune/projects/Royer/TwoCranesBerth/src/MV3500Cohort2022MayJune/Royer2/dockyard/run/RunTwoCranesBerth.java deleted file mode 100644 index 417c7d62119095e27c731815d3d3ac202d6fac58..0000000000000000000000000000000000000000 --- a/assignments/src/MV3500Cohort2022MayJune/projects/Royer/TwoCranesBerth/src/MV3500Cohort2022MayJune/Royer2/dockyard/run/RunTwoCranesBerth.java +++ /dev/null @@ -1,79 +0,0 @@ -package MV3500Cohort2022MayJune.Royer2.dockyard.run; - -import StatsPackage; -import PDUSpitter; -import ShipArrivalProcess; -import 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(), - getNumShipsUnloaded(), - getMaxNumShipsInQueue(), - stats.getMean("numShipsInQueue"), - stats.getMean("numFullBerths"), - stats.getMean("timeInSystem"), - stats.getMean("delayInQueue") - ); - - pdu_spitter.close(); - } - -} -