From db25b1265a5bd3c18c783ca8665a3c681c5fbda0 Mon Sep 17 00:00:00 2001 From: brutzman <brutzman@nps.edu> Date: Sun, 30 Apr 2023 11:36:51 -0700 Subject: [PATCH] zip unrecoverable homework project submission --- .../package-info.java | 6 +- .../homework1/Royer/RoyerHomework2/pom.xml | 13 --- .../main/java/royer/homework2/TCPPeer.java | 89 ------------------ .../src/main/java/royer/homework2/Tester.java | 55 ----------- .../classes/royer/homework2/TCPPeer.class | Bin 3408 -> 0 bytes .../royer/homework2/Tester$ServerThread.class | Bin 1091 -> 0 bytes .../classes/royer/homework2/Tester.class | Bin 1386 -> 0 bytes .../compile/default-compile/createdFiles.lst | 2 - .../compile/default-compile/inputFiles.lst | 2 - .../homework1/Royer/readme.md | 1 - .../homework1/RoyerHomework1Directory.zip | Bin 0 -> 9642 bytes 11 files changed, 4 insertions(+), 164 deletions(-) rename assignments/src/{MV3500Cohort2022MayJune/homework1/Royer => MV3500Cohort2018JanuaryMarch}/package-info.java (72%) delete mode 100644 assignments/src/MV3500Cohort2022MayJune/homework1/Royer/RoyerHomework2/pom.xml delete mode 100644 assignments/src/MV3500Cohort2022MayJune/homework1/Royer/RoyerHomework2/src/main/java/royer/homework2/TCPPeer.java delete mode 100644 assignments/src/MV3500Cohort2022MayJune/homework1/Royer/RoyerHomework2/src/main/java/royer/homework2/Tester.java delete mode 100644 assignments/src/MV3500Cohort2022MayJune/homework1/Royer/RoyerHomework2/target/classes/royer/homework2/TCPPeer.class delete mode 100644 assignments/src/MV3500Cohort2022MayJune/homework1/Royer/RoyerHomework2/target/classes/royer/homework2/Tester$ServerThread.class delete mode 100644 assignments/src/MV3500Cohort2022MayJune/homework1/Royer/RoyerHomework2/target/classes/royer/homework2/Tester.class delete mode 100644 assignments/src/MV3500Cohort2022MayJune/homework1/Royer/RoyerHomework2/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst delete mode 100644 assignments/src/MV3500Cohort2022MayJune/homework1/Royer/RoyerHomework2/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst delete mode 100644 assignments/src/MV3500Cohort2022MayJune/homework1/Royer/readme.md create mode 100644 assignments/src/MV3500Cohort2022MayJune/homework1/RoyerHomework1Directory.zip diff --git a/assignments/src/MV3500Cohort2022MayJune/homework1/Royer/package-info.java b/assignments/src/MV3500Cohort2018JanuaryMarch/package-info.java similarity index 72% rename from assignments/src/MV3500Cohort2022MayJune/homework1/Royer/package-info.java rename to assignments/src/MV3500Cohort2018JanuaryMarch/package-info.java index 68d490841f..6c84267f0b 100644 --- a/assignments/src/MV3500Cohort2022MayJune/homework1/Royer/package-info.java +++ b/assignments/src/MV3500Cohort2018JanuaryMarch/package-info.java @@ -1,5 +1,7 @@ +package MV3500Cohort2018JanuaryMarch; + /** - * ExampleSimpleSimulation program-modification homework assignment supporting the NPS MOVES MV3500 Networked Graphics course. + * Student homework assignments produced as part of the NPS MOVES MV3500 Networked Graphics course. * * @see <a href="https://gitlab.nps.edu/Savage/NetworkedGraphicsMV3500/-/tree/master/assignments">networkedGraphicsMV3500 assignments</a> * @see java.lang.Package @@ -7,4 +9,4 @@ * @see <a href="https://stackoverflow.com/questions/624422/how-do-i-document-packages-in-java">StackOverflow: how-do-i-document-packages-in-java</a> */ -package MV3500Cohort2022MayJune.homework2.Royer; + diff --git a/assignments/src/MV3500Cohort2022MayJune/homework1/Royer/RoyerHomework2/pom.xml b/assignments/src/MV3500Cohort2022MayJune/homework1/Royer/RoyerHomework2/pom.xml deleted file mode 100644 index ab19a7ddda..0000000000 --- a/assignments/src/MV3500Cohort2022MayJune/homework1/Royer/RoyerHomework2/pom.xml +++ /dev/null @@ -1,13 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> - <modelVersion>4.0.0</modelVersion> - <groupId>com.mycompany</groupId> - <artifactId>RoyerHomework2</artifactId> - <version>1.0-SNAPSHOT</version> - <packaging>jar</packaging> - <properties> - <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> - <maven.compiler.source>12</maven.compiler.source> - <maven.compiler.target>12</maven.compiler.target> - </properties> -</project> \ No newline at end of file diff --git a/assignments/src/MV3500Cohort2022MayJune/homework1/Royer/RoyerHomework2/src/main/java/royer/homework2/TCPPeer.java b/assignments/src/MV3500Cohort2022MayJune/homework1/Royer/RoyerHomework2/src/main/java/royer/homework2/TCPPeer.java deleted file mode 100644 index 31b31ad6e2..0000000000 --- a/assignments/src/MV3500Cohort2022MayJune/homework1/Royer/RoyerHomework2/src/main/java/royer/homework2/TCPPeer.java +++ /dev/null @@ -1,89 +0,0 @@ -package royer.homework2; - -import java.net.*; -import java.io.*; -import java.util.concurrent.atomic.AtomicBoolean; - -/** - * Homework example - * @author Nick Royer - */ -public class TCPPeer { - private ServerSocket server_socket = null; - private Socket client_socket = null; - - private PrintWriter out_stream = null; - private BufferedReader in_stream = null; - - private boolean is_server = true; - - public boolean isServer() { - return is_server; - } - - public TCPPeer(int port, String ip) throws IOException { - is_server = (ip.equals("")); - if (is_server) { - server_socket = new ServerSocket(port); - client_socket = server_socket.accept(); - - } else { - // Client - client_socket = new Socket(ip, port); - } - - in_stream = new BufferedReader(new InputStreamReader(client_socket.getInputStream())); - out_stream = new PrintWriter(client_socket.getOutputStream(), true); - - should_stop.set(false); - - start(); - } - - void start() { - if (is_server) { - while(!should_stop.get()) { - try { - String msg = in_stream.readLine(); - // if (msg == null || msg.equals("")) - // continue; - System.out.println("Server received \"" + msg + "\""); - out_stream.println("OK"); - if (msg.equals("--quit")) - stop_connection(); - } catch (IOException ex) { - - } - } - } - } - - private final AtomicBoolean should_stop = new AtomicBoolean(false); - - public void stop_connection() { - should_stop.set(true); - } - - public TCPPeer(int port) throws IOException { - this(port, ""); - } - - public void close() throws IOException { - System.out.println("Closing " + (is_server ? "Server" : "Client")); - in_stream.close(); - out_stream.close(); - client_socket.close(); - if (is_server) { - server_socket.close(); - } else { - - } - } - - public String send(String msg) throws IOException { - out_stream.println(msg); - String response = in_stream.readLine(); - System.out.println((is_server ? "Server" : "Client") + " sending \"" + msg + "\": " + response); - return response; - } -} diff --git a/assignments/src/MV3500Cohort2022MayJune/homework1/Royer/RoyerHomework2/src/main/java/royer/homework2/Tester.java b/assignments/src/MV3500Cohort2022MayJune/homework1/Royer/RoyerHomework2/src/main/java/royer/homework2/Tester.java deleted file mode 100644 index 2e21d6cc7f..0000000000 --- a/assignments/src/MV3500Cohort2022MayJune/homework1/Royer/RoyerHomework2/src/main/java/royer/homework2/Tester.java +++ /dev/null @@ -1,55 +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 royer.homework2; - -/** - * Homework example - * @author Nicholas Royer - */ -public class Tester { - - private static class ServerThread extends Thread { - private TCPPeer server = null; - int port = 0; - public ServerThread(int port) { - super(); - this.port = port; - } - - @Override - public void run() { - try { - server = new TCPPeer(port); - server.close(); - Thread.currentThread().interrupt(); - } catch (Exception ioex) { - System.err.println(ioex.toString()); - } - } - } - - public static void main(String[] args) { - - int test_port = 6668; - - try { - System.out.println("Setting up"); - ServerThread st = new ServerThread(test_port); - st.start(); - TCPPeer client = new TCPPeer(test_port, "127.0.0.1"); - System.out.println("Setup complete"); - client.send("Test"); - - client.send("--quit"); - client.close(); - st.join(); - - System.out.println("Done"); - } catch (Exception ex) { - System.err.println(ex.toString()); - } - } -} diff --git a/assignments/src/MV3500Cohort2022MayJune/homework1/Royer/RoyerHomework2/target/classes/royer/homework2/TCPPeer.class b/assignments/src/MV3500Cohort2022MayJune/homework1/Royer/RoyerHomework2/target/classes/royer/homework2/TCPPeer.class deleted file mode 100644 index c2a2699cf29f7560a8cdc86cca629210e46a0329..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3408 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 diff --git a/assignments/src/MV3500Cohort2022MayJune/homework1/Royer/RoyerHomework2/target/classes/royer/homework2/Tester$ServerThread.class b/assignments/src/MV3500Cohort2022MayJune/homework1/Royer/RoyerHomework2/target/classes/royer/homework2/Tester$ServerThread.class deleted file mode 100644 index 29e799fc67d687b5068c5316558acf22a7d6bef4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1091 zcmZ`&YflqV5IwgoY+JTG3y3@{0@{aC#kWO#G#W_?X;RYYC$p3ry3+18w_Ak&;Q#P5 z28z+dAK;HNp1YI^Hh$>bduQj&oH;Z7_51rz0FRN6B7mTQkcmF@3k-j>_N{Eqa(1&@ zRVA$*f&Nw7vAs2cU@}#XAdHBCsEGlX0t?DLlqy?w>++MU_Exf6vgt{+SdwaAs&0m+ z{}h-i^u*_jMJZKI=N&XLgkgbD!&RPuST`^#F!>)y6eEah*5gDZ*HdNfm^5)kx6xOr zxlO5iyJ}(@GXk+nODXAi=bYlnRN>!Va~d#b;+jqou^o1zS`E*@yujGs;MWHg+3;-F ziC_VX29`|Rz|BkAl@2LGosuzw!1!4u+szggvz9yxTW7HZQYO;K2!uVCUfbCfxJ>NK z%h=mkHjp)O2Y1iOT+Sz8G<5cw!-B~Ry>(Kg%G4?E?nr^5g6+u7R(+czvbJmVj27IA zRV!P{*6)rp<W=paz*6tfdWW22`y0}$x;sTnS#?S22o0(h*@SFY9&}akcdIKQaj}wT zRrWTlMyG7F<hE2rzOgm2fwP5L*6LHHO;&#EHaU_P0uw!(;qwwO*BwWye9dY$C0Upk zw~?ZUIc4w{&^yc<^xF9zE)K@&U*YSW9|6SErx0mz0wWzfK`cE@bL2<gqn#jvF$i(_ zA{fOW@niJf_rK{naXi37p8BTi2t4Awk5k|w_!sP_)dfE@i3ViSKQQt>eT>*C#&p?Z z7;Q{^!&DoyUocqsitCv+l5N~NA{3b6!X^-e<}(L_cACj&$YPc@!LM_^O=G^xD}gAU n;Hi(#bQtD{G!Xb;AQ5G{RXziFhBg0uj+Z>61cdP%uMqtMk+<rs diff --git a/assignments/src/MV3500Cohort2022MayJune/homework1/Royer/RoyerHomework2/target/classes/royer/homework2/Tester.class b/assignments/src/MV3500Cohort2022MayJune/homework1/Royer/RoyerHomework2/target/classes/royer/homework2/Tester.class deleted file mode 100644 index 04d5d5f7339a67bb6aa264e0e6284a78940ddf84..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1386 zcmZ`(Yg1A|7=9MfgU2H#hL`N3X$BUeW@>3yyJ3J7Mp+-4Bkt%?IER*l=`ZTDebAYj z=?C<qs%N2^9EdZsyYKDU_wp>?e|-4{U=eRk1kh$6XrUb)0%vyZeLGpQ-R<Ps=B_OI z0v*ea>-cvC+G6oSCqn2nU|Q&cb;><|SoLL@US5qs(R3Zi@sc^^xPIPO(k?HB5Ed}= z()S&Ad!$w|aR$8xA{P2^R-ms%jDS(m2ql-Gu?A{AJwg&>DPAzpFEFOOL#dKGURi$h z)ZT1zT{0ato|kH0s`VXSzhxqdL0#vNKrohy7qnv7!g*bId)2p<Z{VW9KoizVE+?f5 zVML&FW_Dp}n%|6x3%IP|#svCfsaC0la77@@dTW)DqF1hzq%T9b%IkG{8X#_A64$7x zN_R_OqE&^>$RQ*+mqg-2&8ed#Elk&oD3-jc)Md?DxS=({UC(htxXIHa&y@xi{<OK? z#K#9kS@9ju)pNaN;kF)Xn^elgJeDoo0p}j_y+*SI&c@=+*%-Lb4m35bJ^<dk;%!NR zp0wl2Y^}V>Y1o@3Y9eW`XqO7Ma<u$g8T5CYs=#2nHQW;M%C<u;^vB*cXA&<61gfOp zmH)(_;se1tiX}(73>az-XbhcB0eSG3(5Jhm)3Mby6Ygt~4awrO3GXYO;te7t(4F_~ z;$FtC)T=eH#ut>4{*Jemvz1*YI~1|ZyjN32`NYv(>S_>qN<R%sSpsIH?jjwnl<P{h zQnIU6sl|WEj#1p>)7HNLNN;p-eLyM6U2t!oJb^f>n;&x3W+03eu2#bVkMNjMC!XLb zK^QCo2=W6qde2$QpJ7D0kJ0lL(T(8~3}mh!<J?zV*cgsnI>BgG+sA27L?(_Ad!2~T z&g~deJj`h89Ic-a&V0rqRZEnPcy$n~$dG?+(23ne57!B5<4kOl+`fh(T*o*PT&GC$ zY0`FvezWwSW9$N>Zz4;CH~fdw1<kSkD0R<}Vj<&1Tg7wYXJH~uZ{4R2N^9JMc!eBZ uFprm%dJ*`k9Sr2zHUsk})~Rk6^ac@LaSfn=*W81QiSkYmRiEw=)BFVp;W!uo diff --git a/assignments/src/MV3500Cohort2022MayJune/homework1/Royer/RoyerHomework2/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst b/assignments/src/MV3500Cohort2022MayJune/homework1/Royer/RoyerHomework2/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst deleted file mode 100644 index b8c08f64ab..0000000000 --- a/assignments/src/MV3500Cohort2022MayJune/homework1/Royer/RoyerHomework2/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst +++ /dev/null @@ -1,2 +0,0 @@ -royer/homework2/Tester.class -royer/homework2/TCPPeer.class diff --git a/assignments/src/MV3500Cohort2022MayJune/homework1/Royer/RoyerHomework2/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/assignments/src/MV3500Cohort2022MayJune/homework1/Royer/RoyerHomework2/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst deleted file mode 100644 index a2b22bf32a..0000000000 --- a/assignments/src/MV3500Cohort2022MayJune/homework1/Royer/RoyerHomework2/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst +++ /dev/null @@ -1,2 +0,0 @@ -/home/nick/Documents/NPS/Quarter 4/MV3500/Homework 2/RoyerHomework2/src/main/java/royer/homework2/Tester.java -/home/nick/Documents/NPS/Quarter 4/MV3500/Homework 2/RoyerHomework2/src/main/java/royer/homework2/TCPPeer.java diff --git a/assignments/src/MV3500Cohort2022MayJune/homework1/Royer/readme.md b/assignments/src/MV3500Cohort2022MayJune/homework1/Royer/readme.md deleted file mode 100644 index 3514d7e2ee..0000000000 --- a/assignments/src/MV3500Cohort2022MayJune/homework1/Royer/readme.md +++ /dev/null @@ -1 +0,0 @@ -nothing yet diff --git a/assignments/src/MV3500Cohort2022MayJune/homework1/RoyerHomework1Directory.zip b/assignments/src/MV3500Cohort2022MayJune/homework1/RoyerHomework1Directory.zip new file mode 100644 index 0000000000000000000000000000000000000000..2f14232a29434a4456114f804b838a98f25f97f1 GIT binary patch literal 9642 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 IZwK-J0q4c!ga7~l literal 0 HcmV?d00001 -- GitLab