From 3af5642627f78564bb02fe14f21fe5ca1ce474de Mon Sep 17 00:00:00 2001
From: yusenw2 <yusenw2@illinois.edu>
Date: Mon, 9 Sep 2019 06:43:07 -0500
Subject: [PATCH] first commit

---
 hw0/.idea/encodings.xml                       |   4 +
 hw0/.idea/misc.xml                            |   6 +
 hw0/.idea/modules.xml                         |   8 +
 hw0/.idea/workspace.xml                       | 260 ++++++++++
 hw0/COPYING                                   | 340 ++++++++++++
 hw0/bin/lanSimulation/LANSimulation.class     | Bin 0 -> 4544 bytes
 hw0/bin/lanSimulation/Network.class           | Bin 0 -> 7873 bytes
 hw0/bin/lanSimulation/internals/Node.class    | Bin 0 -> 1218 bytes
 hw0/bin/lanSimulation/internals/Packet.class  | Bin 0 -> 717 bytes
 ...NTests$PreconditionViolationTestCase.class | Bin 0 -> 1082 bytes
 hw0/bin/lanSimulation/tests/LANTests.class    | Bin 0 -> 9528 bytes
 hw0/doc/LANSimulationDocument.pdf             | Bin 0 -> 36375 bytes
 hw0/doc/README                                |  36 ++
 hw0/doc/RefactoringAssignment.pdf             | Bin 0 -> 139491 bytes
 hw0/doc/toDoList                              |  23 +
 hw0/expectedOutput.txt                        |  98 ++++
 hw0/hw0.iml                                   |  11 +
 hw0/javadoc.xml                               |   6 +
 hw0/src/lanSimulation/LANSimulation.java      | 158 ++++++
 hw0/src/lanSimulation/Network.java            | 491 ++++++++++++++++++
 hw0/src/lanSimulation/internals/Node.java     |  83 +++
 hw0/src/lanSimulation/internals/Packet.java   |  58 +++
 hw0/src/lanSimulation/tests/LANTests.java     | 343 ++++++++++++
 hw0/useOutput.txt                             |  98 ++++
 24 files changed, 2023 insertions(+)
 create mode 100644 hw0/.idea/encodings.xml
 create mode 100644 hw0/.idea/misc.xml
 create mode 100644 hw0/.idea/modules.xml
 create mode 100644 hw0/.idea/workspace.xml
 create mode 100755 hw0/COPYING
 create mode 100644 hw0/bin/lanSimulation/LANSimulation.class
 create mode 100644 hw0/bin/lanSimulation/Network.class
 create mode 100644 hw0/bin/lanSimulation/internals/Node.class
 create mode 100644 hw0/bin/lanSimulation/internals/Packet.class
 create mode 100644 hw0/bin/lanSimulation/tests/LANTests$PreconditionViolationTestCase.class
 create mode 100644 hw0/bin/lanSimulation/tests/LANTests.class
 create mode 100755 hw0/doc/LANSimulationDocument.pdf
 create mode 100755 hw0/doc/README
 create mode 100755 hw0/doc/RefactoringAssignment.pdf
 create mode 100755 hw0/doc/toDoList
 create mode 100644 hw0/expectedOutput.txt
 create mode 100644 hw0/hw0.iml
 create mode 100755 hw0/javadoc.xml
 create mode 100755 hw0/src/lanSimulation/LANSimulation.java
 create mode 100755 hw0/src/lanSimulation/Network.java
 create mode 100755 hw0/src/lanSimulation/internals/Node.java
 create mode 100755 hw0/src/lanSimulation/internals/Packet.java
 create mode 100755 hw0/src/lanSimulation/tests/LANTests.java
 create mode 100644 hw0/useOutput.txt

diff --git a/hw0/.idea/encodings.xml b/hw0/.idea/encodings.xml
new file mode 100644
index 0000000..15a15b2
--- /dev/null
+++ b/hw0/.idea/encodings.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="Encoding" addBOMForNewFiles="with NO BOM" />
+</project>
\ No newline at end of file
diff --git a/hw0/.idea/misc.xml b/hw0/.idea/misc.xml
new file mode 100644
index 0000000..bfbb0ff
--- /dev/null
+++ b/hw0/.idea/misc.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="ProjectRootManager" version="2" languageLevel="JDK_10" default="true" project-jdk-name="10" project-jdk-type="JavaSDK">
+    <output url="file://$PROJECT_DIR$/out" />
+  </component>
+</project>
\ No newline at end of file
diff --git a/hw0/.idea/modules.xml b/hw0/.idea/modules.xml
new file mode 100644
index 0000000..5940c3c
--- /dev/null
+++ b/hw0/.idea/modules.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="ProjectModuleManager">
+    <modules>
+      <module fileurl="file://$PROJECT_DIR$/hw0.iml" filepath="$PROJECT_DIR$/hw0.iml" />
+    </modules>
+  </component>
+</project>
\ No newline at end of file
diff --git a/hw0/.idea/workspace.xml b/hw0/.idea/workspace.xml
new file mode 100644
index 0000000..6073ca1
--- /dev/null
+++ b/hw0/.idea/workspace.xml
@@ -0,0 +1,260 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="ChangeListManager">
+    <list default="true" id="abd2d17f-f984-43c9-98e8-db6f648b22a8" name="Default Changelist" comment="" />
+    <ignored path="$PROJECT_DIR$/out/" />
+    <option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
+    <option name="SHOW_DIALOG" value="false" />
+    <option name="HIGHLIGHT_CONFLICTS" value="true" />
+    <option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
+    <option name="LAST_RESOLUTION" value="IGNORE" />
+  </component>
+  <component name="FileEditorManager">
+    <leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
+      <file pinned="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/src/lanSimulation/internals/Node.java">
+          <provider selected="true" editor-type-id="text-editor">
+            <state relative-caret-position="170">
+              <caret line="63" column="21" selection-start-line="63" selection-start-column="21" selection-end-line="63" selection-end-column="21" />
+            </state>
+          </provider>
+        </entry>
+      </file>
+      <file pinned="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/src/lanSimulation/internals/Packet.java">
+          <provider selected="true" editor-type-id="text-editor">
+            <state relative-caret-position="105">
+              <caret line="25" column="13" selection-start-line="25" selection-start-column="13" selection-end-line="25" selection-end-column="13" />
+            </state>
+          </provider>
+        </entry>
+      </file>
+      <file pinned="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/src/lanSimulation/LANSimulation.java">
+          <provider selected="true" editor-type-id="text-editor">
+            <state relative-caret-position="105">
+              <caret line="28" column="11" selection-start-line="28" selection-start-column="11" selection-end-line="28" selection-end-column="11" />
+              <folding>
+                <element signature="imports" expanded="true" />
+                <element signature="e#1104#1105#0" expanded="true" />
+                <element signature="e#1156#1157#0" expanded="true" />
+              </folding>
+            </state>
+          </provider>
+        </entry>
+      </file>
+      <file pinned="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/src/lanSimulation/tests/LANTests.java">
+          <provider selected="true" editor-type-id="text-editor">
+            <state relative-caret-position="90">
+              <caret line="24" column="26" selection-start-line="24" selection-start-column="26" selection-end-line="24" selection-end-column="26" />
+            </state>
+          </provider>
+        </entry>
+      </file>
+      <file pinned="false" current-in-tab="true">
+        <entry file="file://$PROJECT_DIR$/javadoc.xml">
+          <provider selected="true" editor-type-id="text-editor" />
+        </entry>
+      </file>
+      <file pinned="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/hw0.iml">
+          <provider selected="true" editor-type-id="text-editor" />
+        </entry>
+      </file>
+      <file pinned="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/src/lanSimulation/Network.java">
+          <provider selected="true" editor-type-id="text-editor">
+            <state relative-caret-position="165">
+              <caret line="33" column="13" selection-start-line="33" selection-start-column="13" selection-end-line="33" selection-end-column="13" />
+            </state>
+          </provider>
+        </entry>
+      </file>
+    </leaf>
+  </component>
+  <component name="IdeDocumentHistory">
+    <option name="CHANGED_PATHS">
+      <list>
+        <option value="$PROJECT_DIR$/src/lanSimulation/tests/LANTests.java" />
+      </list>
+    </option>
+  </component>
+  <component name="ProjectFrameBounds" fullScreen="true">
+    <option name="width" value="1440" />
+    <option name="height" value="900" />
+  </component>
+  <component name="ProjectView">
+    <navigator proportions="" version="1">
+      <foldersAlwaysOnTop value="true" />
+    </navigator>
+    <panes>
+      <pane id="Scope" />
+      <pane id="ProjectPane">
+        <subPane>
+          <expand>
+            <path>
+              <item name="hw0" type="b2602c69:ProjectViewProjectNode" />
+              <item name="hw0" type="462c0819:PsiDirectoryNode" />
+            </path>
+            <path>
+              <item name="hw0" type="b2602c69:ProjectViewProjectNode" />
+              <item name="hw0" type="462c0819:PsiDirectoryNode" />
+              <item name="doc" type="462c0819:PsiDirectoryNode" />
+            </path>
+            <path>
+              <item name="hw0" type="b2602c69:ProjectViewProjectNode" />
+              <item name="hw0" type="462c0819:PsiDirectoryNode" />
+              <item name="src" type="462c0819:PsiDirectoryNode" />
+            </path>
+            <path>
+              <item name="hw0" type="b2602c69:ProjectViewProjectNode" />
+              <item name="hw0" type="462c0819:PsiDirectoryNode" />
+              <item name="src" type="462c0819:PsiDirectoryNode" />
+              <item name="lanSimulation" type="462c0819:PsiDirectoryNode" />
+            </path>
+            <path>
+              <item name="hw0" type="b2602c69:ProjectViewProjectNode" />
+              <item name="hw0" type="462c0819:PsiDirectoryNode" />
+              <item name="src" type="462c0819:PsiDirectoryNode" />
+              <item name="lanSimulation" type="462c0819:PsiDirectoryNode" />
+              <item name="internals" type="462c0819:PsiDirectoryNode" />
+            </path>
+            <path>
+              <item name="hw0" type="b2602c69:ProjectViewProjectNode" />
+              <item name="hw0" type="462c0819:PsiDirectoryNode" />
+              <item name="src" type="462c0819:PsiDirectoryNode" />
+              <item name="lanSimulation" type="462c0819:PsiDirectoryNode" />
+              <item name="tests" type="462c0819:PsiDirectoryNode" />
+            </path>
+          </expand>
+          <select />
+        </subPane>
+      </pane>
+      <pane id="PackagesPane" />
+    </panes>
+  </component>
+  <component name="PropertiesComponent">
+    <property name="WebServerToolWindowFactoryState" value="false" />
+    <property name="aspect.path.notification.shown" value="true" />
+    <property name="com.android.tools.idea.instantapp.provision.ProvisionBeforeRunTaskProvider.myTimeStamp" value="1567921413909" />
+    <property name="nodejs_interpreter_path.stuck_in_default_project" value="undefined stuck path" />
+    <property name="nodejs_npm_path_reset_for_default_project" value="true" />
+  </component>
+  <component name="RunDashboard">
+    <option name="ruleStates">
+      <list>
+        <RuleState>
+          <option name="name" value="ConfigurationTypeDashboardGroupingRule" />
+        </RuleState>
+        <RuleState>
+          <option name="name" value="StatusDashboardGroupingRule" />
+        </RuleState>
+      </list>
+    </option>
+  </component>
+  <component name="SvnConfiguration">
+    <configuration />
+  </component>
+  <component name="TaskManager">
+    <task active="true" id="Default" summary="Default task">
+      <changelist id="abd2d17f-f984-43c9-98e8-db6f648b22a8" name="Default Changelist" comment="" />
+      <created>1567920825398</created>
+      <option name="number" value="Default" />
+      <option name="presentableId" value="Default" />
+      <updated>1567920825398</updated>
+      <workItem from="1567920831021" duration="617000" />
+      <workItem from="1567921500283" duration="327000" />
+    </task>
+    <servers />
+  </component>
+  <component name="TimeTrackingManager">
+    <option name="totallyTimeSpent" value="944000" />
+  </component>
+  <component name="ToolWindowManager">
+    <frame x="0" y="0" width="1440" height="900" extended-state="0" />
+    <editor active="true" />
+    <layout>
+      <window_info active="true" content_ui="combo" id="Project" order="0" visible="true" weight="0.24606581" />
+      <window_info id="Structure" order="1" side_tool="true" weight="0.25" />
+      <window_info id="Image Layers" order="2" />
+      <window_info id="Designer" order="3" />
+      <window_info id="UI Designer" order="4" />
+      <window_info id="Capture Tool" order="5" />
+      <window_info id="Favorites" order="6" side_tool="true" />
+      <window_info anchor="bottom" id="Message" order="0" />
+      <window_info anchor="bottom" id="Find" order="1" />
+      <window_info anchor="bottom" id="Run" order="2" />
+      <window_info anchor="bottom" id="Debug" order="3" weight="0.4" />
+      <window_info anchor="bottom" id="Cvs" order="4" weight="0.25" />
+      <window_info anchor="bottom" id="Inspection" order="5" weight="0.4" />
+      <window_info anchor="bottom" id="TODO" order="6" />
+      <window_info anchor="bottom" id="Docker" order="7" show_stripe_button="false" />
+      <window_info anchor="bottom" id="Version Control" order="8" />
+      <window_info anchor="bottom" id="Database Changes" order="9" />
+      <window_info anchor="bottom" id="Terminal" order="10" />
+      <window_info anchor="bottom" id="Event Log" order="11" side_tool="true" />
+      <window_info anchor="bottom" id="Messages" order="12" visible="true" weight="0.32891566" />
+      <window_info anchor="right" id="Commander" internal_type="SLIDING" order="0" type="SLIDING" weight="0.4" />
+      <window_info anchor="right" id="Ant Build" order="1" weight="0.25" />
+      <window_info anchor="right" content_ui="combo" id="Hierarchy" order="2" weight="0.25" />
+      <window_info anchor="right" id="Palette" order="3" />
+      <window_info anchor="right" id="Database" order="4" />
+      <window_info anchor="right" id="Theme Preview" order="5" />
+      <window_info anchor="right" id="Maven" order="6" />
+      <window_info anchor="right" id="Capture Analysis" order="7" />
+      <window_info anchor="right" id="Palette&#9;" order="8" />
+    </layout>
+  </component>
+  <component name="TypeScriptGeneratedFilesManager">
+    <option name="version" value="1" />
+  </component>
+  <component name="editorHistoryManager">
+    <entry file="file://$PROJECT_DIR$/src/lanSimulation/internals/Packet.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="105">
+          <caret line="25" column="13" selection-start-line="25" selection-start-column="13" selection-end-line="25" selection-end-column="13" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/lanSimulation/LANSimulation.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="105">
+          <caret line="28" column="11" selection-start-line="28" selection-start-column="11" selection-end-line="28" selection-end-column="11" />
+          <folding>
+            <element signature="imports" expanded="true" />
+            <element signature="e#1104#1105#0" expanded="true" />
+            <element signature="e#1156#1157#0" expanded="true" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/lanSimulation/Network.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="165">
+          <caret line="33" column="13" selection-start-line="33" selection-start-column="13" selection-end-line="33" selection-end-column="13" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/lanSimulation/internals/Node.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="170">
+          <caret line="63" column="21" selection-start-line="63" selection-start-column="21" selection-end-line="63" selection-end-column="21" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/lanSimulation/tests/LANTests.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="90">
+          <caret line="24" column="26" selection-start-line="24" selection-start-column="26" selection-end-line="24" selection-end-column="26" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/hw0.iml">
+      <provider selected="true" editor-type-id="text-editor" />
+    </entry>
+    <entry file="file://$PROJECT_DIR$/javadoc.xml">
+      <provider selected="true" editor-type-id="text-editor" />
+    </entry>
+  </component>
+</project>
\ No newline at end of file
diff --git a/hw0/COPYING b/hw0/COPYING
new file mode 100755
index 0000000..3912109
--- /dev/null
+++ b/hw0/COPYING
@@ -0,0 +1,340 @@
+		    GNU GENERAL PUBLIC LICENSE
+		       Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.
+                       51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+			    Preamble
+
+  The licenses for most software are designed to take away your
+freedom to share and change it.  By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users.  This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it.  (Some other Free Software Foundation software is covered by
+the GNU Library General Public License instead.)  You can apply it to
+your programs, too.
+
+  When we speak of free software, we are referring to freedom, not
+price.  Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+  To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+  For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have.  You must make sure that they, too, receive or can get the
+source code.  And you must show them these terms so they know their
+rights.
+
+  We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+  Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software.  If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+  Finally, any free program is threatened constantly by software
+patents.  We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary.  To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+  The precise terms and conditions for copying, distribution and
+modification follow.
+
+		    GNU GENERAL PUBLIC LICENSE
+   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+  0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License.  The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language.  (Hereinafter, translation is included without limitation in
+the term "modification".)  Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope.  The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+  1. You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+  2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+    a) You must cause the modified files to carry prominent notices
+    stating that you changed the files and the date of any change.
+
+    b) You must cause any work that you distribute or publish, that in
+    whole or in part contains or is derived from the Program or any
+    part thereof, to be licensed as a whole at no charge to all third
+    parties under the terms of this License.
+
+    c) If the modified program normally reads commands interactively
+    when run, you must cause it, when started running for such
+    interactive use in the most ordinary way, to print or display an
+    announcement including an appropriate copyright notice and a
+    notice that there is no warranty (or else, saying that you provide
+    a warranty) and that users may redistribute the program under
+    these conditions, and telling the user how to view a copy of this
+    License.  (Exception: if the Program itself is interactive but
+    does not normally print such an announcement, your work based on
+    the Program is not required to print an announcement.)
+
+These requirements apply to the modified work as a whole.  If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works.  But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+  3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+    a) Accompany it with the complete corresponding machine-readable
+    source code, which must be distributed under the terms of Sections
+    1 and 2 above on a medium customarily used for software interchange; or,
+
+    b) Accompany it with a written offer, valid for at least three
+    years, to give any third party, for a charge no more than your
+    cost of physically performing source distribution, a complete
+    machine-readable copy of the corresponding source code, to be
+    distributed under the terms of Sections 1 and 2 above on a medium
+    customarily used for software interchange; or,
+
+    c) Accompany it with the information you received as to the offer
+    to distribute corresponding source code.  (This alternative is
+    allowed only for noncommercial distribution and only if you
+    received the program in object code or executable form with such
+    an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for
+making modifications to it.  For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable.  However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+  4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License.  Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+  5. You are not required to accept this License, since you have not
+signed it.  However, nothing else grants you permission to modify or
+distribute the Program or its derivative works.  These actions are
+prohibited by law if you do not accept this License.  Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+  6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions.  You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+  7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License.  If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all.  For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices.  Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+  8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded.  In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+  9. The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time.  Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number.  If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation.  If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+  10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission.  For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this.  Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+			    NO WARRANTY
+
+  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+		     END OF TERMS AND CONDITIONS
+
+	    How to Apply These Terms to Your New Programs
+
+  If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+  To do so, attach the following notices to the program.  It is safest
+to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+    <one line to give the program's name and a brief idea of what it does.>
+    Copyright (C) <year>  <name of author>
+
+    This program is free software; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; either version 2 of the License, or
+    (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program; if not, write to the Free Software
+    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+
+    Gnomovision version 69, Copyright (C) year name of author
+    Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+    This is free software, and you are welcome to redistribute it
+    under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License.  Of course, the commands you use may
+be called something other than `show w' and `show c'; they could even be
+mouse-clicks or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the program, if
+necessary.  Here is a sample; alter the names:
+
+  Yoyodyne, Inc., hereby disclaims all copyright interest in the program
+  `Gnomovision' (which makes passes at compilers) written by James Hacker.
+
+  <signature of Ty Coon>, 1 April 1989
+  Ty Coon, President of Vice
+
+This General Public License does not permit incorporating your program into
+proprietary programs.  If your program is a subroutine library, you may
+consider it more useful to permit linking proprietary applications with the
+library.  If this is what you want to do, use the GNU Library General
+Public License instead of this License.
diff --git a/hw0/bin/lanSimulation/LANSimulation.class b/hw0/bin/lanSimulation/LANSimulation.class
new file mode 100644
index 0000000000000000000000000000000000000000..4ba0865fc81811d1c489d53278cf53f134eb9ce7
GIT binary patch
literal 4544
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

literal 0
HcmV?d00001

diff --git a/hw0/bin/lanSimulation/Network.class b/hw0/bin/lanSimulation/Network.class
new file mode 100644
index 0000000000000000000000000000000000000000..c8eb06f8684a4c5727f045ed2e046bce84f4c77d
GIT binary patch
literal 7873
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
bjso`3FtCS)S^U6QU?+?Mwu;ntsRjQFEHOM|

literal 0
HcmV?d00001

diff --git a/hw0/bin/lanSimulation/internals/Node.class b/hw0/bin/lanSimulation/internals/Node.class
new file mode 100644
index 0000000000000000000000000000000000000000..12ade0dbeae9659d4a012d480c17f7d0ae459e4b
GIT binary patch
literal 1218
zcmbW0T~8B16o%jFZduwc@+F8A5D<`-kE)<TBnT9Y#L^;dYUG9t?FJW@E!o`~z43?O
zr59eS0TNC0&I^B(aL#t67zr0P**SBjv+sGIGqb;bfBg>NE@m`@1bQrK=gqyUB|WoZ
zr%c;399vp$DqATV8dQOnUHMw3XxmOIx4mnWJOMSETV4?mO9D;litT#R_KMP~8VV^x
zAoe`B@ibppEUf0Tyd(s)^^MhRVP%6;Dyw>L_YDfR+@sKzsn^JRj%n{a6lk=KHy*nX
z=*wK@lJ>R_N!K+TMsSx+S8iKInfz^%%3R4ZZPS|<P(~9)Dw!t9D7w(C;krO`y>i+j
z5gl>#2y~VW*K~~X;vd<(C%vlci)=;+u}?=E+Ufm_X&c$<-nQWsxGcj|O42Gy$K*U%
zY@+u|uh!&#kT=W)raDKL{)JBzqfjucV-Ou0ZV7bNU7k5wah!@1#R!JkPf|w{8hAFY
z;|iL2HmRcpt=#OFCRq<})tVmO;;w6$`s-|KeHWO%$k65e=e9<+>c<t$SE^3Qcx-Yz
zB7B6C>>mT<iO-)Jk1!f2)A%-^k@Cp7JW6@&T&~kjg5!(CXnrIxprwlsfpUd3uA+nf
z@1$&wBL7<3#1XC?KvO?LRlcD26D=yZK_eFjy3tQ#h@Js@!U*XLbZe;VH)&+0Bihc6
zXOqVm`i$NK494FFdhzgwVD|0+v2Pf8ag5O)$@n1>$?-#sCB-2o>J__vfO)8Rgaj5a
ziA79d2{TChF8XVQkYX?{iQ9q8S==G$kneFA;S*w3H2S7A`iQY0o`@6Lezp=4BIYwp
z2Mj++SY^TgVVJmpAwzO&#E>P195JjD!!w^DSu1o219ROYLdB;UtI?<d4TU<;`Ne?g
JK2e15;1r?6-^Bm`

literal 0
HcmV?d00001

diff --git a/hw0/bin/lanSimulation/internals/Packet.class b/hw0/bin/lanSimulation/internals/Packet.class
new file mode 100644
index 0000000000000000000000000000000000000000..c39ccf841c60258f69f30e8a5d20f286af22479a
GIT binary patch
literal 717
zcma)(%TC)s6o&svOq`2L+Qd+xT*3-)0+uQ+MIbhnx{6w)plqXw8HJ(FShAhIR~J#G
zF8Tm{sH(r65LAIGHZ$io=bQhW-+zAo0`MNYHVOjUp)@@`o`f>hk@2-jRcvIK_}4P{
zs!|)4!0UVYP5LYx`Co?jDo6$Fu}Ts-QUZ<cW44#Z+Kes)N>Qvw+6dHcRg!9xH)r@#
z8=YPW?Cn2&^)zzO7qC7?x2lRFUOA{>S)jOo(64}>a<GI_84Up@1Y8F;N}09lpp240
zy{nD-JQ)vFd?SZp{?{mwVPD2N^XEY;z0-+6tNZ^+P*r)bQ0)x<5qAC}J<lt&2M@!l
z_M%A~s82fkYi+iGqinj^rK}>iR^(09w77!#O|A3`j8stNS)&)w&+1paA8@?(6m_rh
zW{RfQnPTO8UjCNnDw_dqSm^NaA?i4S3m<EYwq^~mjtzQjg?9vT*t9lj&462TU`XF$
v&V2+D)$|UZ;T^N`guGKM;|xuF$a&uE{etH%crLbc9=qq{YzRAK70~(%wJ(k%

literal 0
HcmV?d00001

diff --git a/hw0/bin/lanSimulation/tests/LANTests$PreconditionViolationTestCase.class b/hw0/bin/lanSimulation/tests/LANTests$PreconditionViolationTestCase.class
new file mode 100644
index 0000000000000000000000000000000000000000..1d736730471a9e169382e25da9623c4c1a1d4846
GIT binary patch
literal 1082
zcmbVL+foxj5Ir3t3u_1vxkvyFh?oGf>Z75ovI1%}rl<mw(zhWQaUeU3yR*V?`68B9
z`2l{EWzQxQmy|sCvOC?=-RJb_p5K3d`~vU<j~%24Pdh^IC_nB9qXO+28JWndJ+JTD
z!_syrTY+vXd)H7wH^^R9L?j)g35y4@R>qSjM(T*8B5&)YC68>vSsY<-LvheE!g8^8
zAifBXLHE5K6Dqx5zTl~JL==@v4MMsSw55vy3}<iygM`tV(y|`=dotV=dmTy0)q<Aj
zG(@PZ-E*eRClwJkYX9F>nbEcI6NEmpgkgEsA7Q+YJLg&n2?NDa!^I?~9ZV4>FVm?@
za~y<+8QjJUA-gF*inwF8PK1ACJDVw%uJG?AlpV|xCK6UE=n2>im64%~Jm#%dcbG!4
zT51fTz#6^NhdMacO-74MGU6dDvYPEcMg<+1f-g*xJ&C0Z?qiuy2<7LPd$^FZ&4V)0
zX3&a#skyo8^<(TG>?IE~?{Y4eJ`fz;6@xJSkEVHlLU|N~3_R5p{7UaUF?T13!<KxZ
ztbQYB`@3$HB4nys%P?6k89DF>bC>5~M|QsTg!yat9t+_4@*4tDeB$-wuftZAz1Hun
ztgfA6=xY+-^4H}+P=)t+6F1o|bi<Ir2wR+hEJnGAJ&j>JDVxKsURj?ZY}wiGn5g|k
z{{2|{6mxG^b9ZwKxrMcFxYs;~$}=0#OMaTKkfkcd=`}B46?uAd0eZFvoyIgCpvXX3
arc%NRL#MFHU@5HOA^%;zBdp^QhW`Sd=orTU

literal 0
HcmV?d00001

diff --git a/hw0/bin/lanSimulation/tests/LANTests.class b/hw0/bin/lanSimulation/tests/LANTests.class
new file mode 100644
index 0000000000000000000000000000000000000000..4010e843a433b61a4aa11beee3f7f1b6f4af05cb
GIT binary patch
literal 9528
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
KJpQ*9#eW0PY0r=V

literal 0
HcmV?d00001

diff --git a/hw0/doc/LANSimulationDocument.pdf b/hw0/doc/LANSimulationDocument.pdf
new file mode 100755
index 0000000000000000000000000000000000000000..6a0c51e7f197a94df764c59cb9294327801e7145
GIT binary patch
literal 36375
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
A(f|Me

literal 0
HcmV?d00001

diff --git a/hw0/doc/README b/hw0/doc/README
new file mode 100755
index 0000000..54e8d51
--- /dev/null
+++ b/hw0/doc/README
@@ -0,0 +1,36 @@
+Original version created by Serge Demeyer, Matthias Rieger and Bart Van Rompaey
+and Bart Du Bois. The original files are available from
+http://www.lore.ua.ac.be/Research/Artefacts/refactoringLabSession/
+
+Modified by Nicholas Chen and Maurice Rabb for use in CS 427 - Software
+Engineering I at UIUC.
+
+-------------------------------------------------------------------------------
+
+This directory contains the ingredients for a computer lab session on
+Refactoring. The session concerns the refactoring of a system which simulates a
+Local Area Network.
+
+The directory contains
+
+/doc ====
+
+* README The file your are reading right now.
+
+* RefactoringAssignment.pdf - The document that describes what steps you need to
+perform for this assignment.
+
+* LANSimulationDocument.pdf - A few UML diagrams documenting the LAN simulation.
+
+* toDoList - A list of the use cases that have been implemented so far, and the
+ones that are still left to be done
+
+/javadoc ========
+
+This folder contains the generated javadoc for the system. Do *NOT* check this
+into the repository. This is for your reference.
+
+/src ====
+
+This folder contains the Java source files that are used for this assignment.
+All your work should be done in this repository.
diff --git a/hw0/doc/RefactoringAssignment.pdf b/hw0/doc/RefactoringAssignment.pdf
new file mode 100755
index 0000000000000000000000000000000000000000..9f01465f54ed6e84968dfae2a63ddf23dcdbaddb
GIT binary patch
literal 139491
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

literal 0
HcmV?d00001

diff --git a/hw0/doc/toDoList b/hw0/doc/toDoList
new file mode 100755
index 0000000..f4f4e0f
--- /dev/null
+++ b/hw0/doc/toDoList
@@ -0,0 +1,23 @@
+FINISHED version 1.4: BROADCAST PACKET
+
+Subsequent versions:
+* version 1.0: BASIC DOCUMENT PRINTING
+ Workstations request the token ring network to deliver a document to a node representing a printer.
+* version 1.1: LOG PACKET SENDING
+ Each time a node sends a packet to the next one, it should be logged on a log file
+* version 1.2: POSTSCRIPT PRINTING
+ A packet may start with "!PS" in which case printers should recognize it as postscript and invoke the postscript printing job
+* version 1.3: PRINT ACCOUNTING
+ Printers should register the author and the title of the document that is being printed. For an ASCII document the author is in character position 10 to 30 and the title is "ASCII DOCUMENT". For postscript documents, the author and title of the document should be found by scanning characters in the document, looking for keyword "author:" up until "."
+* VERSION 1.4: BROADCAST PACKET
+ Introduce a new type of packet "BROADCAST" which should be accepted by all nodes in the network
+ 
+* version 2.0: READ FROM FILE
+  Read the configuration of a network and the jobs to be printed from a file (in XML format)
+* version 2.1: GATEWAY NODE
+  Introduce a new "gateway" node, which can recognize all addresses in its current subnetwork by looking at the first 3 characters of the adressee. If a packet passes trough the gateway and the addressee is not on the current subnetwork, the message is deferred trough the gateway. 
+* version 2.1: COMPILE LIST OF NODES
+  Using BROADCAST PACKET, the gateway periodically sends out a request to all nodes to reply with their name. As such the gateway can verify whether the nodes indeed have the right prefix.
+
+* version 3.0: GUI
+  The system should receive a GUI which is able to show an animation as the system is running.
\ No newline at end of file
diff --git a/hw0/expectedOutput.txt b/hw0/expectedOutput.txt
new file mode 100644
index 0000000..95a45d4
--- /dev/null
+++ b/hw0/expectedOutput.txt
@@ -0,0 +1,98 @@
+---------------------------------ASCII------------------------------------------
+Workstation Filip [Workstation] -> Node n1 [Node] -> Workstation Hans [Workstation] -> Printer Andy [Printer] ->  ... 
+
+---------------------------------HTML------------------------------------------
+<HTML>
+<HEAD>
+<TITLE>LAN Simulation</TITLE>
+</HEAD>
+<BODY>
+<H1>LAN SIMULATION</H1>
+
+<UL>
+	<LI> Workstation Filip [Workstation] </LI>
+	<LI> Node n1 [Node] </LI>
+	<LI> Workstation Hans [Workstation] </LI>
+	<LI> Printer Andy [Printer] </LI>
+	<LI>...</LI>
+</UL>
+
+</BODY>
+</HTML>
+
+
+---------------------------------XML------------------------------------------
+<?xml version="1.0" encoding="UTF-8"?>
+
+<network>
+	<workstation>Filip</workstation>
+	<node>n1</node>
+	<workstation>Hans</workstation>
+	<printer>Andy</printer>
+</network>
+
+---------------------------------SCENARIO: Print Success --------------------------
+'Filip' requests printing of 'Hello World' on 'Andy' ...
+	Node 'Filip' passes packet on.
+	Node 'n1' passes packet on.
+	Node 'Hans' passes packet on.
+	Accounting -- author = 'Unknown' -- title = 'ASCII DOCUMENT'
+>>> ASCII Print job delivered.
+
+
+
+---------------------------------SCENARIO: PrintFailure (UnkownPrinter) ------------
+'Filip' requests printing of 'Hello World' on 'UnknownPrinter' ...
+	Node 'Filip' passes packet on.
+	Node 'n1' passes packet on.
+	Node 'Hans' passes packet on.
+	Node 'Andy' passes packet on.
+>>> Destination not found, print job canceled.
+
+
+
+---------------------------------SCENARIO: PrintFailure (print on Workstation) -----
+'Filip' requests printing of 'Hello World' on 'Hans' ...
+	Node 'Filip' passes packet on.
+	Node 'n1' passes packet on.
+>>> Destination is not a printer, print job canceled.
+
+
+
+---------------------------------SCENARIO: PrintFailure (print on Node) -----
+'Filip' requests printing of 'Hello World' on 'n1' ...
+	Node 'Filip' passes packet on.
+>>> Destination is not a printer, print job canceled.
+
+
+
+---------------------------------SCENARIO: Print Success Postscript-----------------
+'Filip' requests printing of '!PS Hello World in postscript' on 'Andy' ...
+	Node 'Filip' passes packet on.
+	Node 'n1' passes packet on.
+	Node 'Hans' passes packet on.
+	Accounting -- author = 'Unknown' -- title = 'Untitled'
+>>> Postscript job delivered.
+
+
+
+---------------------------------SCENARIO: Print Failure Postscript-----------------
+'Filip' requests printing of '!PS Hello World in postscript' on 'Hans' ...
+	Node 'Filip' passes packet on.
+	Node 'n1' passes packet on.
+>>> Destination is not a printer, print job canceled.
+
+
+
+---------------------------------SCENARIO: Broadcast Success -----------------
+Broadcast Request
+	Node 'Filip' accepts broadcast packet.
+	Node 'Filip' passes packet on.
+	Node 'n1' accepts broadcast packet.
+	Node 'n1' passes packet on.
+	Node 'Hans' accepts broadcast packet.
+	Node 'Hans' passes packet on.
+	Node 'Andy' accepts broadcast packet.
+	Node 'Andy' passes packet on.
+>>> Broadcast traveled whole token ring.
+
diff --git a/hw0/hw0.iml b/hw0/hw0.iml
new file mode 100644
index 0000000..c90834f
--- /dev/null
+++ b/hw0/hw0.iml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<module type="JAVA_MODULE" version="4">
+  <component name="NewModuleRootManager" inherit-compiler-output="true">
+    <exclude-output />
+    <content url="file://$MODULE_DIR$">
+      <sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
+    </content>
+    <orderEntry type="inheritedJdk" />
+    <orderEntry type="sourceFolder" forTests="false" />
+  </component>
+</module>
\ No newline at end of file
diff --git a/hw0/javadoc.xml b/hw0/javadoc.xml
new file mode 100755
index 0000000..cfdae62
--- /dev/null
+++ b/hw0/javadoc.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project default="javadoc">
+<target name="javadoc">
+<javadoc access="package" author="true" destdir="javadoc" nodeprecated="false" nodeprecatedlist="false" noindex="false" nonavbar="false" notree="false" packagenames="lanSimulation,lanSimulation.internals" source="1.5" sourcepath="src" splitindex="true" use="true" version="true"/>
+</target>
+</project>
diff --git a/hw0/src/lanSimulation/LANSimulation.java b/hw0/src/lanSimulation/LANSimulation.java
new file mode 100755
index 0000000..cb77272
--- /dev/null
+++ b/hw0/src/lanSimulation/LANSimulation.java
@@ -0,0 +1,158 @@
+/*   This file is part of lanSimulation.
+ *
+ *   lanSimulation is free software; you can redistribute it and/or modify
+ *   it under the terms of the GNU General Public License as published by
+ *   the Free Software Foundation; either version 2 of the License, or
+ *   (at your option) any later version.
+ *
+ *   lanSimulation is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with lanSimulation; if not, write to the Free Software
+ *   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ *
+ *   Copyright original Java version: 2004 Bart Du Bois, Serge Demeyer
+ *   Copyright C++ version: 2006 Matthias Rieger, Bart Van Rompaey
+ */
+package lanSimulation;
+
+import lanSimulation.tests.*;
+import java.lang.AssertionError;
+import java.io.*;
+
+public class LANSimulation {
+
+	public static void doRegressionTests() {
+		junit.textui.TestRunner.run(LANTests.suite());
+	}
+
+	public static void simulate() {
+		Network network = Network.DefaultExample();
+		StringWriter report = new StringWriter(100);
+		StringBuffer buf = new StringBuffer(100);
+
+		System.out.print("Simulate on Network: ");
+		System.out.println(network);
+		System.out.println();
+
+		network.printHTMLOn(buf);
+		System.out
+				.println("---------------------------------HTML------------------------------------------");
+		System.out.println(buf.toString());
+		System.out.println();
+
+		buf.setLength(0);
+		network.printXMLOn(buf);
+		System.out
+				.println("---------------------------------XML------------------------------------------");
+		System.out.println(buf.toString());
+		System.out.println();
+
+		System.out
+				.println("---------------------------------SCENARIOS------------------------------------------");
+		String document = "author: FILIP   Hello World";
+		System.out.print("'Filip' prints '" + document + "' on 'Andy': ");
+		System.out.print(network.requestWorkstationPrintsDocument("Filip",
+				document, "Andy", report));
+		System.out.println(" (expects true);");
+
+		System.out.print("'Filip' prints '" + document
+				+ "' on 'UnknownPrinter': ");
+		System.out.print(network.requestWorkstationPrintsDocument("Filip",
+				document, "UnknownPrinter", report));
+		System.out.println(" (expects false);");
+
+		System.out.print("'Filip' prints '" + document + "' on 'Hans': ");
+		System.out.print(network.requestWorkstationPrintsDocument("Filip",
+				document, "Hans", report));
+		System.out.println(" (expects false);");
+
+		System.out.print("'Filip' prints '" + document + "' on 'n1': ");
+		System.out.print(network.requestWorkstationPrintsDocument("Filip",
+				document, "n1", report));
+		System.out.println(" (expects false);");
+
+		document = "Hello World";
+		System.out.print("'Filip' prints '" + document + "' on 'Andy': ");
+		System.out.print(network.requestWorkstationPrintsDocument("Filip",
+				document, "Andy", report));
+		System.out.println(" (expects true);");
+
+		document = "!PS Hello World in postscript.author:Filip.title:Hello.";
+		System.out.print("'Filip' prints '" + document + "' on 'Andy': ");
+		System.out.print(network.requestWorkstationPrintsDocument("Filip",
+				document, "Andy", report));
+		System.out.println(" (expects true);");
+
+		System.out.print("'Filip' prints '" + document + "' on 'Hans': ");
+		System.out.print(network.requestWorkstationPrintsDocument("Filip",
+				document, "Hans", report));
+		System.out.println(" (expects false);");
+
+		document = "!PS Hello World in postscript.Author:Filip.Title:Hello.";
+		System.out.print("'Filip' prints '" + document + "' on 'Andy': ");
+		System.out.print(network.requestWorkstationPrintsDocument("Filip",
+				document, "Andy", report));
+		System.out.println(" (expects true);");
+
+		document = "!PS Hello World in postscript.author:Filip;title:Hello;";
+		System.out.print("'Filip' prints '" + document + "' on 'Andy': ");
+		System.out.print(network.requestWorkstationPrintsDocument("Filip",
+				document, "Andy", report));
+		System.out.println(" (expects true);");
+
+		document = "!PS Hello World in postscript.author:.title:.";
+		System.out.print("'Filip' prints '" + document + "' on 'Andy': ");
+		System.out.print(network.requestWorkstationPrintsDocument("Filip",
+				document, "Andy", report));
+		System.out.println(" (expects true);");
+
+		try {
+			System.out
+					.print("'UnknownWorkstation' prints 'does not matter' on 'does not matter': ");
+			System.out.print(network.requestWorkstationPrintsDocument(
+					"UnknownWorkstation", "does not matter", "does not matter",
+					report));
+			System.out.println(" (??? no exception);");
+		} catch (AssertionError e1) {
+			System.out.println("exception (as expected);");
+		}
+		;
+
+		System.out.print("BROADCAST REQUEST: ");
+		System.out.print(network.requestBroadcast(report));
+		System.out.println(" (expects true);");
+
+		System.out.println();
+		System.out.println();
+		System.out.println();
+		System.out
+				.println("---------------------------------REPORT------------------------------------------");
+		System.out.println(report.toString());
+	}
+
+	public static void main(String args[]) {
+
+		if (args.length <= 0) {
+			System.out.println("Usage: t(est) | s(imulate) nrOfIterations '");
+		} else if (args[0].equals("t")) {// 'test' command
+			doRegressionTests();
+		} else if (args[0].equals("s")) {// 'simulate' command
+			Integer nrOfIters = new Integer(1);
+			if (args.length > 1) {
+				nrOfIters = new Integer(args[1]);
+			}
+
+			for (int i = 0; i < nrOfIters.intValue(); i++) {
+				simulate();
+			}
+		} else {// unknown commaND
+			System.out.print("Unknown command to LANSimulation: '");
+			System.out.print(args[0]);
+			System.out.println("'");
+		}
+	}
+}
diff --git a/hw0/src/lanSimulation/Network.java b/hw0/src/lanSimulation/Network.java
new file mode 100755
index 0000000..e1d0714
--- /dev/null
+++ b/hw0/src/lanSimulation/Network.java
@@ -0,0 +1,491 @@
+/*   This file is part of lanSimulation.
+ *
+ *   lanSimulation is free software; you can redistribute it and/or modify
+ *   it under the terms of the GNU General Public License as published by
+ *   the Free Software Foundation; either version 2 of the License, or
+ *   (at your option) any later version.
+ *
+ *   lanSimulation is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with lanSimulation; if not, write to the Free Software
+ *   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ *
+ *   Copyright original Java version: 2004 Bart Du Bois, Serge Demeyer
+ *   Copyright C++ version: 2006 Matthias Rieger, Bart Van Rompaey
+ */
+package lanSimulation;
+
+import lanSimulation.internals.*;
+
+import java.util.Hashtable;
+import java.util.Enumeration;
+import java.io.*;
+
+/**
+ * A <em>Network</em> represents the basic data structure for simulating a Local
+ * Area Network (LAN). The LAN network architecture is a token ring, implying
+ * that packages will be passed from one node to another, until they reached
+ * their destination, or until they traveled the whole token ring.
+ */
+public class Network {
+	/**
+	 * Holds a pointer to some "first" node in the token ring. Used to ensure
+	 * that various printing operations return expected behaviour.
+	 */
+	private Node firstNode;
+	/**
+	 * Maps the names of workstations on the actual workstations. Used to
+	 * initiate the requests for the network.
+	 */
+	private Hashtable<String, Node> workstations;
+
+	/**
+	 * Construct a <em>Network</em> suitable for holding #size Workstations.
+	 * <p>
+	 * <strong>Postcondition:</strong>(result.isInitialized()) & (!
+	 * result.consistentNetwork());
+	 * </p>
+	 */
+	public Network(int size) {
+		assert size > 0;
+		firstNode = null;
+		workstations = new Hashtable<String, Node>(size, 1.0f);
+		assert !consistentNetwork();
+	}
+
+	/**
+	 * Return a <em>Network</em> that may serve as starting point for various
+	 * experiments. Currently, the network looks as follows.
+	 * 
+	 * <pre>
+	 * 	 Workstation Filip [Workstation] -&gt; Node -&gt; Workstation Hans [Workstation]
+	 * 	 -&gt; Printer Andy [Printer] -&gt; ...
+	 * 
+	 * </pre>
+	 * 
+	 * <p>
+	 * <strong>Postcondition:</strong>result.isInitialized() &
+	 * result.consistentNetwork();
+	 * </p>
+	 */
+	public static Network DefaultExample() {
+		Network network = new Network(2);
+
+		Node wsFilip = new Node(Node.WORKSTATION, "Filip");
+		Node n1 = new Node(Node.NODE, "n1");
+		Node wsHans = new Node(Node.WORKSTATION, "Hans");
+		Node prAndy = new Node(Node.PRINTER, "Andy");
+
+		wsFilip.nextNode = n1;
+		n1.nextNode = wsHans;
+		wsHans.nextNode = prAndy;
+		prAndy.nextNode = wsFilip;
+
+		network.workstations.put(wsFilip.name, wsFilip);
+		network.workstations.put(wsHans.name, wsHans);
+		network.firstNode = wsFilip;
+
+		assert network.consistentNetwork();
+		return network;
+	}
+
+	/**
+	 * Answer whether #receiver contains a workstation with the given name.
+	 */
+	public boolean hasWorkstation(String ws) {
+		// return workstations_.containsKey(ws);
+		Node n;
+
+		n = workstations.get(ws);
+		if (n == null) {
+			return false;
+		} else {
+			return n.type == Node.WORKSTATION;
+		}
+	}
+
+	/**
+	 * Answer whether #receiver is a consistent token ring network. A consistent
+	 * token ring network - contains at least one workstation and one printer -
+	 * is circular - all registered workstations are on the token ring - all
+	 * workstations on the token ring are registered.
+	 */
+	public boolean consistentNetwork() {
+		Enumeration<Node> enumeration;
+		Node currentNode;
+		int printersFound = 0, workstationsFound = 0;
+		Hashtable<String, Node> encountered = new Hashtable<String, Node>(workstations.size() * 2, 1.0f);
+
+		if (workstations.isEmpty()) {
+			return false;
+		}
+		;
+		if (firstNode == null) {
+			return false;
+		}
+		;
+		// verify whether all registered workstations are indeed workstations
+		enumeration = workstations.elements();
+		while (enumeration.hasMoreElements()) {
+			currentNode = enumeration.nextElement();
+			if (currentNode.type != Node.WORKSTATION) {
+				return false;
+			}
+			;
+		}
+		// enumerate the token ring, verifying whether all workstations are
+		// registered
+		// also count the number of printers and see whether the ring is
+		// circular
+		currentNode = firstNode;
+		while (!encountered.containsKey(currentNode.name)) {
+			encountered.put(currentNode.name, currentNode);
+			if (currentNode.type == Node.WORKSTATION) {
+				workstationsFound++;
+			}
+			;
+			if (currentNode.type == Node.PRINTER) {
+				printersFound++;
+			}
+			;
+			currentNode = currentNode.nextNode;
+		}
+		if (currentNode != firstNode) {
+			return false;
+		}
+		;// not circular
+		if (printersFound == 0) {
+			return false;
+		}
+		;// does not contain a printer
+		if (workstationsFound != workstations.size()) {
+			return false;
+		}
+		; // not all
+		// workstations
+		// are
+		// registered
+		// all verifications succeeded
+		return true;
+	}
+
+	/**
+	 * The #receiver is requested to broadcast a message to all nodes. Therefore
+	 * #receiver sends a special broadcast packet across the token ring network,
+	 * which should be treated by all nodes.
+	 * <p>
+	 * <strong>Precondition:</strong> consistentNetwork();
+	 * </p>
+	 * 
+	 * @param report
+	 *            Stream that will hold a report about what happened when
+	 *            handling the request.
+	 * @return Answer #true when the broadcast operation was successful and
+	 *         #false otherwise
+	 */
+	public boolean requestBroadcast(Writer report) {
+		assert consistentNetwork();
+
+		try {
+			report.write("Broadcast Request\n");
+		} catch (IOException exc) {
+			// just ignore
+		}
+
+		Node currentNode = firstNode;
+		Packet packet = new Packet("BROADCAST", firstNode.name, firstNode.name);
+		do {
+			try {
+				report.write("\tNode '");
+				report.write(currentNode.name);
+				report.write("' accepts broadcast packet.\n");
+				report.write("\tNode '");
+				report.write(currentNode.name);
+				report.write("' passes packet on.\n");
+				report.flush();
+			} catch (IOException exc) {
+				// just ignore
+			}
+
+			currentNode = currentNode.nextNode;
+		} while (!packet.destination.equals(currentNode.name));
+
+		try {
+			report.write(">>> Broadcast traveled whole token ring.\n\n");
+		} catch (IOException exc) {
+			// just ignore
+		}
+
+		return true;
+	}
+
+	/**
+	 * The #receiver is requested by #workstation to print #document on
+	 * #printer. Therefore #receiver sends a packet across the token ring
+	 * network, until either (1) #printer is reached or (2) the packet traveled
+	 * complete token ring.
+	 * <p>
+	 * <strong>Precondition:</strong> consistentNetwork() &
+	 * hasWorkstation(workstation);
+	 * </p>
+	 * 
+	 * @param workstation
+	 *            Name of the workstation requesting the service.
+	 * @param document
+	 *            Contents that should be printed on the printer.
+	 * @param printer
+	 *            Name of the printer that should receive the document.
+	 * @param report
+	 *            Stream that will hold a report about what happened when
+	 *            handling the request.
+	 * @return Answer #true when the print operation was successful and #false
+	 *         otherwise
+	 */
+	public boolean requestWorkstationPrintsDocument(String workstation,
+			String document, String printer, Writer report) {
+		assert consistentNetwork() & hasWorkstation(workstation);
+
+		try {
+			report.write("'");
+			report.write(workstation);
+			report.write("' requests printing of '");
+			report.write(document);
+			report.write("' on '");
+			report.write(printer);
+			report.write("' ...\n");
+		} catch (IOException exc) {
+			// just ignore
+		}
+
+		boolean result = false;
+		Node startNode, currentNode;
+		Packet packet = new Packet(document, workstation, printer);
+
+		startNode = workstations.get(workstation);
+
+		try {
+			report.write("\tNode '");
+			report.write(startNode.name);
+			report.write("' passes packet on.\n");
+			report.flush();
+		} catch (IOException exc) {
+			// just ignore
+		}
+
+		currentNode = startNode.nextNode;
+		while ((!packet.destination.equals(currentNode.name))
+				& (!packet.origin.equals(currentNode.name))) {
+			try {
+				report.write("\tNode '");
+				report.write(currentNode.name);
+				report.write("' passes packet on.\n");
+				report.flush();
+			} catch (IOException exc) {
+				// just ignore
+			}
+
+			currentNode = currentNode.nextNode;
+		}
+
+		if (packet.destination.equals(currentNode.name)) {
+			result = printDocument(currentNode, packet, report);
+		} else {
+			try {
+				report
+						.write(">>> Destination not found, print job canceled.\n\n");
+				report.flush();
+			} catch (IOException exc) {
+				// just ignore
+			}
+
+			result = false;
+		}
+
+		return result;
+	}
+
+	private boolean printDocument(Node printer, Packet document, Writer report) {
+		String author = "Unknown";
+		String title = "Untitled";
+		int startPos = 0, endPos = 0;
+
+		if (printer.type == Node.PRINTER) {
+			try {
+				if (document.message.startsWith("!PS")) {
+					startPos = document.message.indexOf("author:");
+					if (startPos >= 0) {
+						endPos = document.message.indexOf(".", startPos + 7);
+						if (endPos < 0) {
+							endPos = document.message.length();
+						}
+
+						author = document.message.substring(startPos + 7,
+								endPos);
+					}
+
+					startPos = document.message.indexOf("title:");
+					if (startPos >= 0) {
+						endPos = document.message.indexOf(".", startPos + 6);
+						if (endPos < 0) {
+							endPos = document.message.length();
+						}
+						title = document.message
+								.substring(startPos + 6, endPos);
+					}
+
+					report.write("\tAccounting -- author = '");
+					report.write(author);
+					report.write("' -- title = '");
+					report.write(title);
+					report.write("'\n");
+					report.write(">>> Postscript job delivered.\n\n");
+					report.flush();
+				} else {
+					title = "ASCII DOCUMENT";
+					if (document.message.length() >= 16) {
+						author = document.message.substring(8, 16);
+					}
+
+					report.write("\tAccounting -- author = '");
+					report.write(author);
+					report.write("' -- title = '");
+					report.write(title);
+					report.write("'\n");
+					report.write(">>> ASCII Print job delivered.\n\n");
+					report.flush();
+				}
+
+			} catch (IOException exc) {
+				// just ignore
+			}
+			return true;
+		} else {
+			try {
+				report
+						.write(">>> Destination is not a printer, print job canceled.\n\n");
+				report.flush();
+			} catch (IOException exc) {
+				// just ignore
+			}
+			return false;
+		}
+	}
+
+	/**
+	 * Return a printable representation of #receiver.
+	 */
+	public String toString() {
+		StringBuffer buf = new StringBuffer(30 * workstations.size());
+		printOn(buf);
+		return buf.toString();
+	}
+
+	/**
+	 * Write a printable representation of #receiver on the given #buf.
+	 */
+	public void printOn(StringBuffer buf) {
+		Node currentNode = firstNode;
+		do {
+			switch (currentNode.type) {
+			case Node.NODE:
+				buf.append("Node ");
+				buf.append(currentNode.name);
+				buf.append(" [Node]");
+				break;
+			case Node.WORKSTATION:
+				buf.append("Workstation ");
+				buf.append(currentNode.name);
+				buf.append(" [Workstation]");
+				break;
+			case Node.PRINTER:
+				buf.append("Printer ");
+				buf.append(currentNode.name);
+				buf.append(" [Printer]");
+				break;
+			default:
+				buf.append("(Unexpected)");
+				;
+				break;
+			}
+			;
+			buf.append(" -> ");
+			currentNode = currentNode.nextNode;
+		} while (currentNode != firstNode);
+		buf.append(" ... ");
+	}
+
+	/**
+	 * Write a HTML representation of #receiver on the given #buf.
+	 */
+	public void printHTMLOn(StringBuffer buf) {
+
+		buf.append("<HTML>\n<HEAD>\n<TITLE>LAN Simulation</TITLE>\n</HEAD>\n<BODY>\n<H1>LAN SIMULATION</H1>");
+		Node currentNode = firstNode;
+		buf.append("\n\n<UL>");
+		do {
+			buf.append("\n\t<LI> ");
+			switch (currentNode.type) {
+			case Node.NODE:
+				buf.append("Node ");
+				buf.append(currentNode.name);
+				buf.append(" [Node]");
+				break;
+			case Node.WORKSTATION:
+				buf.append("Workstation ");
+				buf.append(currentNode.name);
+				buf.append(" [Workstation]");
+				break;
+			case Node.PRINTER:
+				buf.append("Printer ");
+				buf.append(currentNode.name);
+				buf.append(" [Printer]");
+				break;
+			default:
+				buf.append("(Unexpected)");
+				break;
+			}
+			buf.append(" </LI>");
+			currentNode = currentNode.nextNode;
+		} while (currentNode != firstNode);
+		buf.append("\n\t<LI>...</LI>\n</UL>\n\n</BODY>\n</HTML>\n");
+	}
+
+	/**
+	 * Write an XML representation of #receiver on the given #buf.
+	 */
+	public void printXMLOn(StringBuffer buf) {
+
+		Node currentNode = firstNode;
+		buf.append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n\n<network>");
+		do {
+			buf.append("\n\t");
+			switch (currentNode.type) {
+			case Node.NODE:
+				buf.append("<node>");
+				buf.append(currentNode.name);
+				buf.append("</node>");
+				break;
+			case Node.WORKSTATION:
+				buf.append("<workstation>");
+				buf.append(currentNode.name);
+				buf.append("</workstation>");
+				break;
+			case Node.PRINTER:
+				buf.append("<printer>");
+				buf.append(currentNode.name);
+				buf.append("</printer>");
+				break;
+			default:
+				buf.append("<unknown></unknown>");
+				break;
+			}
+			currentNode = currentNode.nextNode;
+		} while (currentNode != firstNode);
+		buf.append("\n</network>");
+	}
+
+}
diff --git a/hw0/src/lanSimulation/internals/Node.java b/hw0/src/lanSimulation/internals/Node.java
new file mode 100755
index 0000000..426be89
--- /dev/null
+++ b/hw0/src/lanSimulation/internals/Node.java
@@ -0,0 +1,83 @@
+/*   This file is part of lanSimulation.
+ *
+ *   lanSimulation is free software; you can redistribute it and/or modify
+ *   it under the terms of the GNU General Public License as published by
+ *   the Free Software Foundation; either version 2 of the License, or
+ *   (at your option) any later version.
+ *
+ *   lanSimulation is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with lanSimulation; if not, write to the Free Software
+ *   Foundation, Inc. 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ *
+ *   Copyright original Java version: 2004 Bart Du Bois, Serge Demeyer
+ *   Copyright C++ version: 2006 Matthias Rieger, Bart Van Rompaey
+ */
+package lanSimulation.internals;
+
+/**
+ * A <em>Node</em> represents a single Node in a Local Area Network (LAN).
+ * Several types of Nodes exist.
+ */
+public class Node {
+	// enumeration constants specifying all legal node types
+	/**
+	 * A node with type NODE has only basic functionality.
+	 */
+	public static final byte NODE = 0;
+	/**
+	 * A node with type WORKSTATION may initiate requests on the LAN.
+	 */
+	public static final byte WORKSTATION = 1;
+	/**
+	 * A node with type PRINTER may accept packages to be printed.
+	 */
+	public static final byte PRINTER = 2;
+
+	/**
+	 * Holds the type of the Node.
+	 */
+	public byte type;
+	/**
+	 * Holds the name of the Node.
+	 */
+	public String name;
+	/**
+	 * Holds the next Node in the token ring architecture.
+	 * 
+	 * @see lanSimulation.internals.Node
+	 */
+	public Node nextNode;
+
+	/**
+	 * Construct a <em>Node</em> with given #type and #name.
+	 * <p>
+	 * <strong>Precondition:</strong> (type >= NODE) & (type <= PRINTER);
+	 * </p>
+	 */
+	public Node(byte _type, String _name) {
+		assert (_type >= NODE) & (_type <= PRINTER);
+		type = _type;
+		name = _name;
+		nextNode = null;
+	}
+
+	/**
+	 * Construct a <em>Node</em> with given #type and #name, and which is linked
+	 * to #nextNode.
+	 * <p>
+	 * <strong>Precondition:</strong> (type >= NODE) & (type <= PRINTER);
+	 * </p>
+	 */
+	public Node(byte _type, String _name, Node _nextNode) {
+		assert (_type >= NODE) & (_type <= PRINTER);
+		type = _type;
+		name = _name;
+		nextNode = _nextNode;
+	}
+
+}
\ No newline at end of file
diff --git a/hw0/src/lanSimulation/internals/Packet.java b/hw0/src/lanSimulation/internals/Packet.java
new file mode 100755
index 0000000..9e6b358
--- /dev/null
+++ b/hw0/src/lanSimulation/internals/Packet.java
@@ -0,0 +1,58 @@
+/*   This file is part of lanSimulation.
+ *
+ *   lanSimulation is free software; you can redistribute it and/or modify
+ *   it under the terms of the GNU General Public License as published by
+ *   the Free Software Foundation; either version 2 of the License, or
+ *   (at your option) any later version.
+ *
+ *   lanSimulation is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with lanSimulation; if not, write to the Free Software
+ *   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ *
+ *   Copyright original Java version: 2004 Bart Du Bois, Serge Demeyer
+ *   Copyright C++ version: 2006 Matthias Rieger, Bart Van Rompaey
+ */
+package lanSimulation.internals;
+
+/**
+ * A <em>Packet</em> represents a unit of information to be sent over the Local
+ * Area Network (LAN).
+ */
+public class Packet {
+	/**
+	 * Holds the actual message to be send over the network.
+	 */
+	public String message;
+	/**
+	 * Holds the name of the Node which initiated the request.
+	 */
+	public String origin;
+	/**
+	 * Holds the name of the Node which should receive the information.
+	 */
+	public String destination;
+
+	/**
+	 * Construct a <em>Packet</em> with given #message and #destination.
+	 */
+	public Packet(String _message, String _destination) {
+		message = _message;
+		origin = "";
+		destination = _destination;
+	}
+
+	/**
+	 * Construct a <em>Packet</em> with given #message, #origin and #receiver.
+	 */
+	public Packet(String _message, String _origin, String _destination) {
+		message = _message;
+		origin = _origin;
+		destination = _destination;
+	}
+
+}
\ No newline at end of file
diff --git a/hw0/src/lanSimulation/tests/LANTests.java b/hw0/src/lanSimulation/tests/LANTests.java
new file mode 100755
index 0000000..1b92584
--- /dev/null
+++ b/hw0/src/lanSimulation/tests/LANTests.java
@@ -0,0 +1,343 @@
+/*   This file is part of lanSimulation.
+ *
+ *   lanSimulation is free software; you can redistribute it and/or modify
+ *   it under the terms of the GNU General Public License as published by
+ *   the Free Software Foundation; either version 2 of the License, or
+ *   (at your option) any later version.
+ *
+ *   lanSimulation is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with lanSimulation; if not, write to the Free Software
+ *   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ *
+ *   Copyright original Java version: 2004 Bart Du Bois, Serge Demeyer
+ *   Copyright C++ version: 2006 Matthias Rieger, Bart Van Rompaey
+ */
+package lanSimulation.tests;
+
+import lanSimulation.internals.*;
+import lanSimulation.*;
+import junit.framework.*;
+import junit.extensions.*;
+import java.lang.AssertionError;
+import java.io.*;
+
+public class LANTests extends TestCase {
+
+	public static Test suite() {
+		TestSuite testSuite = new TestSuite(LANTests.class);
+		return testSuite;
+	}
+
+	public void testBasicPacket() {
+		Packet packet;
+
+		packet = new Packet("c", "a");
+		assertEquals("message", packet.message, "c");
+		assertEquals("destination", packet.destination, "a");
+		assertEquals("origin", packet.origin, "");
+		packet.origin = "o";
+		assertEquals("origin (after setting)", packet.origin, "o");
+	}
+
+	private boolean compareFiles(String filename1, String filename2) {
+		FileInputStream f1, f2;
+		int b1 = 0, b2 = 0;
+
+		try {
+			f1 = new FileInputStream(filename1);
+			try {
+				f2 = new FileInputStream(filename2);
+			} catch (FileNotFoundException f2exc) {
+				try {
+					f1.close();
+				} catch (IOException exc) {
+				}
+
+				return false; // file 2 does not exist
+			}
+		} catch (FileNotFoundException f1exc) {
+			return false; // file 1 does not exist
+		}
+
+		try {
+			if (f1.available() != f2.available()) {
+				return false;
+			} // length of files is different
+			while ((b1 != -1) & (b2 != -1)) {
+				b1 = f1.read();
+				b2 = f2.read();
+				if (b1 != b2) {
+					return false;
+				} // discovered one diferring character
+			}
+
+			if ((b1 == -1) & (b2 == -1)) {
+				return true; // reached both end of files
+			} else {
+				return false; // one end of file not reached
+			}
+		} catch (IOException exc) {
+			return false; // read error, assume one file corrupted
+		} finally {
+			try {
+				f1.close();
+			} catch (IOException exc) {
+			}
+
+			try {
+				f2.close();
+			} catch (IOException exc) {
+			}
+
+		}
+	}
+
+	private void YOUMAYWANTTOtestCompareFiles() {
+		String fName1 = "testCompare1.txt", fName2 = "testCompare2.txt", fName3 = "testCompare3.txt", fName4 = "testCompare4.txt";
+		FileWriter f1, f2, f3, f4;
+
+		try {
+			f1 = new FileWriter(fName1);
+			try {
+				f2 = new FileWriter(fName2);
+				try {
+					f3 = new FileWriter(fName3);
+					try {
+						f4 = new FileWriter(fName4);
+					} catch (IOException f3exc) {
+						try {
+							f1.close();
+						} catch (IOException exc) {
+						}
+
+						try {
+							f2.close();
+						} catch (IOException exc) {
+						}
+
+						try {
+							f3.close();
+						} catch (IOException exc) {
+						}
+
+						return;
+					}
+				} catch (IOException f3exc) {
+					try {
+						f1.close();
+					} catch (IOException exc) {
+					}
+
+					try {
+						f2.close();
+					} catch (IOException exc) {
+					}
+
+					return;
+				}
+			} catch (IOException f2exc) {
+				try {
+					f1.close();
+				} catch (IOException exc) {
+				}
+
+				return;
+			}
+		} catch (IOException f1exc) {
+			return;
+		}
+
+		try {
+			f1.write("aaa");
+			f2.write("aaa");
+			f3.write("aa");
+			f4.write("aab");
+		} catch (IOException exc) {
+		} finally {
+			try {
+				f1.close();
+			} catch (IOException exc) {
+			}
+
+			try {
+				f2.close();
+			} catch (IOException exc) {
+			}
+
+			try {
+				f3.close();
+			} catch (IOException exc) {
+			}
+
+			try {
+				f4.close();
+			} catch (IOException exc) {
+			}
+
+		}
+
+		assertTrue("equals fName1 to fName2 ", compareFiles(fName1, fName2));
+		assertFalse("not equals fName1 to fName3 (fName 3 is shorter)",
+				compareFiles(fName1, fName3));
+		assertFalse("not equals fName3 to fName1  (fName 3 is shorter)",
+				compareFiles(fName3, fName1));
+		assertFalse("not equals fName1 to fName4 (last character differs)",
+				compareFiles(fName1, fName4));
+		assertFalse("not equals fName1 to fName4 (last character differs)",
+				compareFiles(fName1, fName4));
+	}
+
+	public void testBasicNode() {
+		Node node;
+
+		node = new Node(Node.NODE, "n");
+		assertEquals("type", node.type, Node.NODE);
+		assertEquals("name", node.name, "n");
+		assertEquals("nextNode", node.nextNode, null);
+		node.nextNode = node;
+		assertEquals("nextNode (after setting)", node.nextNode, node);
+	}
+
+	public void testDefaultNetworkToString() {
+		Network network = Network.DefaultExample();
+
+		assertTrue("consistentNetwork ", network.consistentNetwork());
+		assertEquals(
+				"DefaultNetwork.toString()",
+				network.toString(),
+				"Workstation Filip [Workstation] -> Node n1 [Node] -> Workstation Hans [Workstation] -> Printer Andy [Printer] ->  ... ");
+	}
+
+	public void testWorkstationPrintsDocument() {
+		Network network = Network.DefaultExample();
+		StringWriter report = new StringWriter(500);
+
+		assertTrue("PrintSuccess ", network.requestWorkstationPrintsDocument(
+				"Filip", "Hello World", "Andy", report));
+		assertFalse("PrintFailure (UnkownPrinter) ", network
+				.requestWorkstationPrintsDocument("Filip", "Hello World",
+						"UnknownPrinter", report));
+		assertFalse("PrintFailure (print on Workstation) ", network
+				.requestWorkstationPrintsDocument("Filip", "Hello World",
+						"Hans", report));
+		assertFalse("PrintFailure (print on Node) ", network
+				.requestWorkstationPrintsDocument("Filip", "Hello World", "n1",
+						report));
+		assertTrue("PrintSuccess Postscript", network
+				.requestWorkstationPrintsDocument("Filip",
+						"!PS Hello World in postscript", "Andy", report));
+		assertFalse("PrintFailure Postscript", network
+				.requestWorkstationPrintsDocument("Filip",
+						"!PS Hello World in postscript", "Hans", report));
+	}
+
+	public void testBroadcast() {
+		Network network = Network.DefaultExample();
+		StringWriter report = new StringWriter(500);
+
+		assertTrue("Broadcast ", network.requestBroadcast(report));
+	}
+
+	/**
+	 * Test whether output routines work as expected. This is done by comparing
+	 * generating output on a file "useOutput.txt" and comparing it to a file
+	 * "expectedOutput.txt". On a first run this test might break because the
+	 * file "expectedOutput.txt" does not exist. Then just run the test, verify
+	 * manually whether "useOutput.txt" conforms to the expected output and if
+	 * it does rename "useOutput.txt" in "expectedOutput.txt". From then on the
+	 * tests should work as expected.
+	 */
+	public void testOutput() {
+		Network network = Network.DefaultExample();
+		String generateOutputFName = "useOutput.txt", expectedOutputFName = "expectedOutput.txt";
+		FileWriter generateOutput;
+		StringBuffer buf = new StringBuffer(500);
+		StringWriter report = new StringWriter(500);
+
+		try {
+			generateOutput = new FileWriter(generateOutputFName);
+		} catch (IOException f2exc) {
+			assertTrue("Could not create '" + generateOutputFName + "'", false);
+			return;
+		}
+
+		try {
+			buf
+					.append("---------------------------------ASCII------------------------------------------\n");
+			network.printOn(buf);
+			buf
+					.append("\n\n---------------------------------HTML------------------------------------------\n");
+			network.printHTMLOn(buf);
+			buf
+					.append("\n\n---------------------------------XML------------------------------------------\n");
+			network.printXMLOn(buf);
+			generateOutput.write(buf.toString());
+			report
+					.write("\n\n---------------------------------SCENARIO: Print Success --------------------------\n");
+			network.requestWorkstationPrintsDocument("Filip", "Hello World",
+					"Andy", report);
+			report
+					.write("\n\n---------------------------------SCENARIO: PrintFailure (UnkownPrinter) ------------\n");
+			network.requestWorkstationPrintsDocument("Filip", "Hello World",
+					"UnknownPrinter", report);
+			report
+					.write("\n\n---------------------------------SCENARIO: PrintFailure (print on Workstation) -----\n");
+			network.requestWorkstationPrintsDocument("Filip", "Hello World",
+					"Hans", report);
+			report
+					.write("\n\n---------------------------------SCENARIO: PrintFailure (print on Node) -----\n");
+			network.requestWorkstationPrintsDocument("Filip", "Hello World",
+					"n1", report);
+			report
+					.write("\n\n---------------------------------SCENARIO: Print Success Postscript-----------------\n");
+			network.requestWorkstationPrintsDocument("Filip",
+					"!PS Hello World in postscript", "Andy", report);
+			report
+					.write("\n\n---------------------------------SCENARIO: Print Failure Postscript-----------------\n");
+			network.requestWorkstationPrintsDocument("Filip",
+					"!PS Hello World in postscript", "Hans", report);
+			report
+					.write("\n\n---------------------------------SCENARIO: Broadcast Success -----------------\n");
+			network.requestBroadcast(report);
+			generateOutput.write(report.toString());
+		} catch (IOException exc) {
+		} finally {
+			try {
+				generateOutput.close();
+			} catch (IOException exc) {
+			}
+
+		}
+
+		assertTrue("Generated output is not as expected ", compareFiles(
+				generateOutputFName, expectedOutputFName));
+	}
+
+	static public class PreconditionViolationTestCase extends ExceptionTestCase {
+		public PreconditionViolationTestCase(String name, Class exception) {
+			super(name, exception);
+		}
+
+		public void test() {
+			Network network = Network.DefaultExample();
+			StringWriter report = new StringWriter(100);
+			network.requestWorkstationPrintsDocument("UnknownWorkstation",
+					"does not matter", "does not matter", report);
+		}
+
+	}
+
+	public void testPreconditionViolation() {
+		PreconditionViolationTestCase test = new PreconditionViolationTestCase(
+				"test", AssertionError.class);
+		TestResult result = test.run();
+		assertEquals(1, result.runCount());
+		assertEquals(1, result.errorCount());
+	}
+
+}
\ No newline at end of file
diff --git a/hw0/useOutput.txt b/hw0/useOutput.txt
new file mode 100644
index 0000000..95a45d4
--- /dev/null
+++ b/hw0/useOutput.txt
@@ -0,0 +1,98 @@
+---------------------------------ASCII------------------------------------------
+Workstation Filip [Workstation] -> Node n1 [Node] -> Workstation Hans [Workstation] -> Printer Andy [Printer] ->  ... 
+
+---------------------------------HTML------------------------------------------
+<HTML>
+<HEAD>
+<TITLE>LAN Simulation</TITLE>
+</HEAD>
+<BODY>
+<H1>LAN SIMULATION</H1>
+
+<UL>
+	<LI> Workstation Filip [Workstation] </LI>
+	<LI> Node n1 [Node] </LI>
+	<LI> Workstation Hans [Workstation] </LI>
+	<LI> Printer Andy [Printer] </LI>
+	<LI>...</LI>
+</UL>
+
+</BODY>
+</HTML>
+
+
+---------------------------------XML------------------------------------------
+<?xml version="1.0" encoding="UTF-8"?>
+
+<network>
+	<workstation>Filip</workstation>
+	<node>n1</node>
+	<workstation>Hans</workstation>
+	<printer>Andy</printer>
+</network>
+
+---------------------------------SCENARIO: Print Success --------------------------
+'Filip' requests printing of 'Hello World' on 'Andy' ...
+	Node 'Filip' passes packet on.
+	Node 'n1' passes packet on.
+	Node 'Hans' passes packet on.
+	Accounting -- author = 'Unknown' -- title = 'ASCII DOCUMENT'
+>>> ASCII Print job delivered.
+
+
+
+---------------------------------SCENARIO: PrintFailure (UnkownPrinter) ------------
+'Filip' requests printing of 'Hello World' on 'UnknownPrinter' ...
+	Node 'Filip' passes packet on.
+	Node 'n1' passes packet on.
+	Node 'Hans' passes packet on.
+	Node 'Andy' passes packet on.
+>>> Destination not found, print job canceled.
+
+
+
+---------------------------------SCENARIO: PrintFailure (print on Workstation) -----
+'Filip' requests printing of 'Hello World' on 'Hans' ...
+	Node 'Filip' passes packet on.
+	Node 'n1' passes packet on.
+>>> Destination is not a printer, print job canceled.
+
+
+
+---------------------------------SCENARIO: PrintFailure (print on Node) -----
+'Filip' requests printing of 'Hello World' on 'n1' ...
+	Node 'Filip' passes packet on.
+>>> Destination is not a printer, print job canceled.
+
+
+
+---------------------------------SCENARIO: Print Success Postscript-----------------
+'Filip' requests printing of '!PS Hello World in postscript' on 'Andy' ...
+	Node 'Filip' passes packet on.
+	Node 'n1' passes packet on.
+	Node 'Hans' passes packet on.
+	Accounting -- author = 'Unknown' -- title = 'Untitled'
+>>> Postscript job delivered.
+
+
+
+---------------------------------SCENARIO: Print Failure Postscript-----------------
+'Filip' requests printing of '!PS Hello World in postscript' on 'Hans' ...
+	Node 'Filip' passes packet on.
+	Node 'n1' passes packet on.
+>>> Destination is not a printer, print job canceled.
+
+
+
+---------------------------------SCENARIO: Broadcast Success -----------------
+Broadcast Request
+	Node 'Filip' accepts broadcast packet.
+	Node 'Filip' passes packet on.
+	Node 'n1' accepts broadcast packet.
+	Node 'n1' passes packet on.
+	Node 'Hans' accepts broadcast packet.
+	Node 'Hans' passes packet on.
+	Node 'Andy' accepts broadcast packet.
+	Node 'Andy' passes packet on.
+>>> Broadcast traveled whole token ring.
+
-- 
GitLab