From 6937eace68d52e508853e00fff4d03eab90e1df2 Mon Sep 17 00:00:00 2001 From: Faure Paul Date: Fri, 12 Feb 2021 15:59:15 +0100 Subject: [PATCH] =?UTF-8?q?Version=20bugu=C3=A9e=20pour=20le=20proxy=20ok?= =?UTF-8?q?=20pour=20pr=C3=A9sence?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../insa/clav/Messages/MessageChatFile.class | Bin 0 -> 1161 bytes .../insa/clav/Messages/MessageChatTxt.class | Bin 0 -> 946 bytes .../app/insa/clav/Messages/MessageInit.class | Bin 0 -> 564 bytes .../insa/clav/Messages/MessageSrvTCP.class | Bin 0 -> 787 bytes .../ServeurClavardage/GetConnectionChat.class | Bin 0 -> 3456 bytes .../ServeurClavardage/GetMessageChat.class | Bin 0 -> 3385 bytes .../ListMessageTxtParCo.class | Bin 0 -> 1105 bytes .../ListMessageTxtParUser.class | Bin 0 -> 1201 bytes .../ListMessagesInitParUser.class | Bin 0 -> 1245 bytes .../ServeurClavardage/SharedInformation.class | Bin 1832 -> 4893 bytes .../SubmitConnectionChat.class | Bin 0 -> 3190 bytes .../ServeurClavardage/SubmitMessageChat.class | Bin 0 -> 3151 bytes build/libs/ServletJiggly.war | Bin 231756 -> 244813 bytes .../compileJava/source-classes-mapping.txt | 38 ++++++++--- .../insa/clav/Messages/MessageChatFile.java | 21 ++++++ .../insa/clav/Messages/MessageChatTxt.java | 27 ++++++++ .../app/insa/clav/Messages/MessageInit.java | 17 +++++ .../app/insa/clav/Messages/MessageSrvTCP.java | 26 +++++++ .../ServeurClavardage/GetConnectionChat.java | 51 ++++++++++++++ .../ServeurClavardage/GetMessageChat.java | 50 ++++++++++++++ .../ListMessageTxtParCo.java | 32 +++++++++ .../ListMessageTxtParUser.java | 28 ++++++++ .../ListMessagesInitParUser.java | 33 +++++++++ .../ServeurClavardage/SharedInformation.java | 64 ++++++++++++++++++ .../SubmitConnectionChat.java | 47 +++++++++++++ .../ServeurClavardage/SubmitMessageChat.java | 46 +++++++++++++ 26 files changed, 472 insertions(+), 8 deletions(-) create mode 100644 build/classes/java/main/app/insa/clav/Messages/MessageChatFile.class create mode 100644 build/classes/java/main/app/insa/clav/Messages/MessageChatTxt.class create mode 100644 build/classes/java/main/app/insa/clav/Messages/MessageInit.class create mode 100644 build/classes/java/main/app/insa/clav/Messages/MessageSrvTCP.class create mode 100644 build/classes/java/main/com/example/ServeurClavardage/GetConnectionChat.class create mode 100644 build/classes/java/main/com/example/ServeurClavardage/GetMessageChat.class create mode 100644 build/classes/java/main/com/example/ServeurClavardage/ListMessageTxtParCo.class create mode 100644 build/classes/java/main/com/example/ServeurClavardage/ListMessageTxtParUser.class create mode 100644 build/classes/java/main/com/example/ServeurClavardage/ListMessagesInitParUser.class create mode 100644 build/classes/java/main/com/example/ServeurClavardage/SubmitConnectionChat.class create mode 100644 build/classes/java/main/com/example/ServeurClavardage/SubmitMessageChat.class create mode 100644 src/main/java/app/insa/clav/Messages/MessageChatFile.java create mode 100644 src/main/java/app/insa/clav/Messages/MessageChatTxt.java create mode 100644 src/main/java/app/insa/clav/Messages/MessageInit.java create mode 100644 src/main/java/app/insa/clav/Messages/MessageSrvTCP.java create mode 100644 src/main/java/com/example/ServeurClavardage/GetConnectionChat.java create mode 100644 src/main/java/com/example/ServeurClavardage/GetMessageChat.java create mode 100644 src/main/java/com/example/ServeurClavardage/ListMessageTxtParCo.java create mode 100644 src/main/java/com/example/ServeurClavardage/ListMessageTxtParUser.java create mode 100644 src/main/java/com/example/ServeurClavardage/ListMessagesInitParUser.java create mode 100644 src/main/java/com/example/ServeurClavardage/SubmitConnectionChat.java create mode 100644 src/main/java/com/example/ServeurClavardage/SubmitMessageChat.java diff --git a/build/classes/java/main/app/insa/clav/Messages/MessageChatFile.class b/build/classes/java/main/app/insa/clav/Messages/MessageChatFile.class new file mode 100644 index 0000000000000000000000000000000000000000..ab556db1d392f28621c57becf228f804b5c5e78c GIT binary patch literal 1161 zcmcJO&2G~`5Xb+UICj3;(!>qK<)Z~!TGQeSx1vg@5-3$bmD1*bxNPGkF>>w5b}Nc_ z7+!%xRfz)+z(XNs76&0x2p42&H8Y<5?{8*yzkd7t1;ArGsKUgZ3QAbvWtH8#7VcTN zFHn9HgsK<3R{~;Rps3zu0*&rlc_zJ3MnkWcB|$XY5ip+wQIPElyxQo>@z@KZRCVp9hU> z6r=*Pfc8c*dq#Cq6~&WuD6lfC0s(6*&%;>ygyhSN07e^~AIOo)ybdi-eLtbf^J;&O z=E=YIaJu3@G@+KAk5%4PnoCEZlqQ4Dfk5kO1e%Vo(u_08Y#hW1jj`H`Pm_V-$_4CP zZ_R6hG5`{w9t zVjc?=+0|#*xQ0dYNQE++q|BC0rxmodL{?E-Ou|aGW-%$VhE`7Uk<^*bahJEYmyC9) zZC=7~TbAajT*0$QBz#^IZBk^O*Q84dKY1Kn#|_QnP>!Q{94wQ?JPvNsU*>T%ZAn{9 V%bjy{-?%r9rmc|9E%FMu{T<285tsk~ literal 0 HcmV?d00001 diff --git a/build/classes/java/main/app/insa/clav/Messages/MessageChatTxt.class b/build/classes/java/main/app/insa/clav/Messages/MessageChatTxt.class new file mode 100644 index 0000000000000000000000000000000000000000..38dbb9eb0eb04e0cbcf2296a2a182dc5344d61ea GIT binary patch literal 946 zcmah{T~E|N6g{&a?NU~Ot+4K*2m%o*+85t2CWb`aWHltk?ANr(s`VY_62H@)Jnj48K<#+CGd8qFUR9BP74_h6L}H7S4AO5s`%~f z-(!s}H0TM_Xc_S^PuwJmm{H?*F?f0n5$s)|5R?bwmHImw%H+Z*NVQIl>QO*+03#P^|6As74=!urU)fixoq3??GoxXW?FJs J(0TR6uGbc9tTQrs@CGvjtuOs~f7Sp1 literal 0 HcmV?d00001 diff --git a/build/classes/java/main/app/insa/clav/Messages/MessageSrvTCP.class b/build/classes/java/main/app/insa/clav/Messages/MessageSrvTCP.class new file mode 100644 index 0000000000000000000000000000000000000000..968374274452797b5b0300cee0d395603c8f120b GIT binary patch literal 787 zcmaixOH0E*6otwkNPvm5-0E--)E#3gp1Oh%cg_;+XOizvK5#1@=mn%DCs{hJba}y(N0O>UX@$ z{zKCX>#`ZJGh6MpWYCbIug*!+>fQN~!2TF=EgaO(t~pM&?e%Vwh0Ic!E2Y>`>*bh} z`2}`Lh zRrB6!^#nL?1Ka#JY5p}6h9a{v6kKQWnJow!Pci0s3V3fZ&pU4r&e{-$Qyju{4u-H^ zv}&4hkyMalamFkuc@pNxD6s3qddy&!Cz7-mrK@<{Qrezo!qYqW`d literal 0 HcmV?d00001 diff --git a/build/classes/java/main/com/example/ServeurClavardage/GetConnectionChat.class b/build/classes/java/main/com/example/ServeurClavardage/GetConnectionChat.class new file mode 100644 index 0000000000000000000000000000000000000000..d90081a2afa2da2768732496d9e0358a928bac84 GIT binary patch literal 3456 zcmbVPX?GLX8Gf#jbR~Ikz-*QYV8RkG%doTwktqdSAOf+}HaHGR=~x=e1JaB#Gcq>m zn!Q`vrhB1uNhl%9hvWni!Z}IK;hcQPPw79%m(b_VjBVL6xTnX*ckbN#?(g%y@94{~ zKlv2EH}GB>>oJtX(p>rso+YQ=mP6-WW6VvSF9>e&4n1Qjb83H!83*UvMhAIc`*{WmE4r z-7&M~_LfQQ7Rjpjj~cF7%-JK3TQPjgvB{X&YuT2+Phi2O&1VE+y-txj9?Dy`d7@Ss zHr)YZxEyG83P$;i;aciFI*j?FmN&oNBc|W$*tS_vI(tVApL%0TE!7vDQ;x??-=@H= zaowZYWz*M3eZQ(d$wm3WgFf@Qn(6sH^OAX0$M(z~<&EZ=;hS=YK^k@iI>PW-j()H< zGGa0yeWp<~UD_nwP=~;y^J)o=5lBv|5SZVC$TVsiu32R&6<8JItmHT)rmW;Swtj@m z!SGteNu3ESpOZ}8EBykQ(5nVeOp8cVyi&hACa^JYRI9pWdxl;hD)i$aq`b)ui3WO4 zDWT+GUYCVJYra+154f%|k++xtfq2z$jS3;-)R?)5iUB=EF#3b8};b#9gCZEFm7W;xu$AKZ@Sd58QlVF`|jQ-)T(!HxPjU(+TT@R!E_Z={fyHw4I8jg z;$;o5;8hKeVw1p1RrdFRkcQXrGl3PedqxBg1|zs>DhCE*@*-zfYd$-TX;i{e(eQKp zLgJSieudYS<-bU5A^b_hpYevoUo`v`mo;2belD3dXJFKI zE~=iQ;cvJqu>OC+sD{7e9|DU=Teb>8tn~9N6b=7WI{t+>HN1su8vc#z8s5eYiFY)- zi^~G~gL`CCW&~C%WAERX2#p65M4gNEHy>Tt9|V@pl~B4n9ksCWPX?0N%blFU{=7am z%>jYdlIiDc&o}G>0lItB=Kp7u6bKQY>>UyNY)G;?+5$aOcw)LqJ2Na%DK(&ud}{;O zZ92+wa6QfkwgJ1y!Nz%_-dUmX(*uXk?Gfk<+g2lSL_|Tm!Y-|=kWJ${YDsgks5!D^ znkgC<>XfbDD29_|Y2?MMsT|{YW}i$DrlwsK*cQoYXwyBR`;Cm#ox3sN6P|BU)~s$D zmL>g4`c4xjf_@xQuoqTUcP?|5ESt*;`V%jd9gpc-XcUY6wQ7}<#WQJjMoln7My!#f!2Lahuu8H7qDYkL1g#_46VsO7> zig`bUE9SQD_LiGi(ETxDHxZwf(uM`R%}`n=7GhC&XXc?XH1 zTaYKV)sf7`?jXgtbT)nmtwVR94Q;uNg#sUSV+`2`kd;u%>- zdmT##uiyL6hgh14*RiaQ<%(v-b!0+n?zC(&BQwc5G8y? zl30T_bYTT^(}hP!y$-vXqkYUzo+ERR**V9%8ng2XL;N~}a)lDEF>LQMTpuy~Djk=Y z5XHBfS(TJ>h(8s+$( zr(-`3P|6ji>mYh5`5G4CJJg{#lhksUzZs5Di-JQ)^(3isJSib@kLDyL)=3hU-piGBKZ}aI6-9!z9;#AY6^u4#tMZ^@ZHq_I1$CB c1>YrU3;NK{=Mpjw@a?pRGZ;Jz;o+(O0++m>lK=n! literal 0 HcmV?d00001 diff --git a/build/classes/java/main/com/example/ServeurClavardage/GetMessageChat.class b/build/classes/java/main/com/example/ServeurClavardage/GetMessageChat.class new file mode 100644 index 0000000000000000000000000000000000000000..2c4baabf670297a766588aab1c62fd36e7b97601 GIT binary patch literal 3385 zcma)8X?GJ<7=CU^a+7oj*n%`DP>`jRWmIrWU63jeEQ@WS)D5S}G#yN4;>@Ii`@Zk{ zuDBtnALM8dI7dClbNt{>@gMj_eD2J&O&6#qCwK0hcYojKzVH0?@0ni#Y{n01tipjL z22)sxJJPrlcd6ao68EH$zyY-!l(;vI6b?uj5<|_%qmV)oW*QoX(`ZIXEhB04z*3Bd zQn(LgwX39I!%@_##QkZs!IkjRxD9?1wPx(ZXc~+0fLabK>qivrK}C2djfe4w#G?|A z3CN1+c}B?;Xz4j*j2e2`uuFQM?^<@LOQ6Xc5xAnK;8b+;uu-X&O})=_N6nhsT_(3% zq^RCEVz_28Zx1_e#qcf1reNZF%eMR*1?F_D-7gU9c8atyug9{@-L=Y)>Gm5#<-n>_ zFv|N4*HY)`Wy~M3Jb{g~*xhdWyF%}~M+~1vW6CCN7oEM1$4zfX5Yu7Zqt9j2*GGK6 zs_)>Ug5Zl@^ZuIY`CYTJc~!^u%q|s*=9=M2#lj2?xdLrr?kq>&S{oiVnT=l4D4H&P zl5S{2V9l&nLT3b$V_xbetNCxNtnTdkIQ^z_t7!v2*);qj29YqZ)ul;&F*5B%YLbN+5mf;euIJQ1m38 zW@?J8vg;fnrO&Ck1#_FFz}Gq%K^xTtVA#Di+qWv_e#^6n$(wE4@dH@X`&CnFXp9r} z0dpuql?v82Dm0LpY=EJS8s!=Z^YqCS4V_pgu&nowvvCJmqAbAkEfEn9^kQ~DtyTEkIg;|qML;VZR#jc+s@!?zlaG7B=XyRI+~gJ>!rU z&@UX|w0tl@8q;Z zm#6`Elv^HzZZl9`2iIdO=k2$P96)US>dd8-^E?aV33c8YY5%8FH`%R#o>bv+XaO$qU94FO(gR<(q31i+#0fl|#TY z>2+Hp|M-OsW?^#Jbt*f9VRB6)SLjNV)gW4aE_mLgVD}6iG7D;IXIQ>&$M#Lz?>|zd z11W-JA4hhc#`*b>r)vr}JSq4@1E$AP6Mkh!KEHPMiIVW0(96}0UPc~FuK=A=K7^x& z?Q^WU1kL0b6n3)7ujy@&YAomX-YR|!Hu1-{9qib#`HVrRe$RD1PdcB1&v@r4h#v#C z4O|n!%T{dUUJDt>dO1)0A{!UpLgh+0)7jGWGv;*ug4oZ9PiVhYFSoCJLO}_#PVEn{b{Ta$fdF=rRK69 z8Oh}sz(K}rU>FvkbD;9M6D?eqAc>{OU>O#noxkPeUcvY;!;LIg4+}NGQXM3v#_{?r z%k?Ttb(Hx&!3>?Grqj%!%Ho5p$|lNeCcmVXTX7YxX8xGHD6?vJ4XzF9a|YKTN8ggv z(S_^jQ-;In23n2LlP_@-wjfS>n{hL?Qp-`+s~fja^9jtS?lpmAk|T9HKmT{oN(qT` zbRa3QQX((0Qz9X8n?y>YSuzx~ony#yMmmI4dDyV7onE+Rcs}**nVjWn1~D#^yFrQd@4%4YtW<)k=HZs{IxLXC1evUJknr zR|IkwJd%kS%$it(ZQ>Eu1s4DPASNE`sP+GDroh#Zz9V~W z`&HvWH3Rm>3OmGxa)zw&fSe21EWKw8+oEr4rN8g_7b{tfr5(X#26DX25w=II0Cn^6yen)yn@DyA0zz}Q%+=O_A8$!@@Ci=P>4w> Uc>_X~WX<{X@ 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 XVpiT@n<*$mcT!S$)vj~88&19lRRnYr diff --git a/build/classes/java/main/com/example/ServeurClavardage/SubmitConnectionChat.class b/build/classes/java/main/com/example/ServeurClavardage/SubmitConnectionChat.class new file mode 100644 index 0000000000000000000000000000000000000000..503389df6cef91a01f399889eb4d5cf54dc1b216 GIT binary patch literal 3190 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 TwotH-r+yDdaP(ma4+H-I^x;Fq literal 0 HcmV?d00001 diff --git a/build/libs/ServletJiggly.war b/build/libs/ServletJiggly.war index ee03b8bb4765bf9049eee64dae81f633af9b0b8c..8c1a8e84542f759aedc0e1f8d541e0e7d1b61f4f 100644 GIT binary patch delta 13846 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 delta 1620 zcmZ9M3p`YL6vyw(-(!dwZsV;lC&dv?Jy0ql-D*ryt1LJ$Ee-$PD9gZ%2hTk z%_nQZYuig5z_kQl@oclfJckcgx|DSWZ7Vw>?@yb*( zkWqvn91hCOBj+i{0mP&mqvnbgNJ=5+4H6N3{yr;3ViQH^vG@m z5M(9~L9P&tsR1_JKsjyZ1#VExJ(5c1DVixIXA*#3}g)- zDlF(5?(c3fpUFvjg2yTtC6Pu<*Jf;P+Mp~hNhx{34iCR>=jix;zEwnkD8p%Zpss5Y z&$H>yQR<{`=I>osaO&A=leD@~aqRY1&tH3D1I3&Nvr$E+F&mjy1LghRd&C}3ns%#) zb=2$6m7EzlJY3{+S40;GZ^n3%#pieh1FVP*UW11eYbLWd#!0yOjGVOzv;}{%eYiy3 zEj$vdETQ}j~!~g`^d@nPjTwiCjJuvnmzoG_?L`o>tlm)3Z0z~ zE2l2*x=XXPGN&@f8+AR?H3#dWYbQJMgEczvP7SPGnv&C;gc*HDKj!`DbrV5VAFfPU zvbD({^V~nCt>+UebKJ7~V%@}A`^K3TGxj4~^41HDvx%8qnc)*XliGC;vuNVfk;~=3 zWuK37%C*<9Ke@|>l*is*eTC=uwy&JBw@#DN+}*yudtiXcSKm|IG+cM!{Ym@(=3PU#~$++ zpFb>)I_#HBxb#E&j_}b{>-?|1?L0GG?HpiQ8Ev#}+ySp$Ci(jN!Xl;q+iWe|`;yuW z>|=o#9%_ET>@ZAQ>Jn&VEv#975=3A-i{Nd2Cq~V#M;|G@$q0X^d}j72Z@SU>j>YeK zVT%E{{uZMA*-@y~c{z(ydMhD07niDEMJh_jh=~nn%`FE%mDKILQ~a~@$D;>4Buy#) z%O7M0zI!*f;9j{klz!fpku^@#lH|QGTcS%M!ydH?n5wMl;(qI7`R+M=L*3jC-IgX| z4K^W;sL3zv{HDz^tMUk2DqIp?}PaNGc2HF;) zUJtRAoi+@W2t@7j0j(~z1a6>`pPS+Ka<$#^I=7Fv361pQL)=3i_^AKXQWlr-My7#V zII%j~<9RSE{`DJ%y)ap5>pES9FB*FKZ0pWj7RIx^JBB=GDNA{)1k`a606WxS2!JCZgzE+1Thw_c0PZU}S3v+uE?xx(@n6mgSi1^@8c21% zL9|8QBkBB5!9kD<^!ehYURFS+i4R(JDT~j z5F}XzLFCU>AYSU2I;w&>wZI&$)mRJkFr)C{8n6i_)Bz&{WNCj|v}`&d)wfCY-e2fn zuKDk)a!9%ox58E#uBZh{=<<b09S-_t4(k*D4NTD9# zf2)T%NQ{ca4B#$Afc)&g5XfGEUkQOK3ax}v*u4S|3V|W|gEOJAB>Bol4a$Pz3NJDzVzI3Q=|t7{R3w@ly(3B diff --git a/build/tmp/compileJava/source-classes-mapping.txt b/build/tmp/compileJava/source-classes-mapping.txt index 0bb4705..a25ae7a 100644 --- a/build/tmp/compileJava/source-classes-mapping.txt +++ b/build/tmp/compileJava/source-classes-mapping.txt @@ -1,20 +1,42 @@ -app/insa/clav/Messages/MessagePseudo.java - app.insa.clav.Messages.MessagePseudo -app/insa/clav/Messages/Message.java - app.insa.clav.Messages.Message -com/example/ServeurClavardage/GetAllUsers.java - com.example.ServeurClavardage.GetAllUsers -com/example/ServeurClavardage/GetOutdoorUsers.java - com.example.ServeurClavardage.GetOutdoorUsers +com/example/ServeurClavardage/ListMessageTxtParUser.java + com.example.ServeurClavardage.ListMessageTxtParUser com/example/ServeurClavardage/SubmitDeconnectionIndoor.java com.example.ServeurClavardage.SubmitDeconnectionIndoor +com/example/ServeurClavardage/ListMessagesInitParUser.java + com.example.ServeurClavardage.ListMessagesInitParUser +com/example/ServeurClavardage/GetOutdoorUsers.java + com.example.ServeurClavardage.GetOutdoorUsers +app/insa/clav/Messages/MessageInit.java + app.insa.clav.Messages.MessageInit +com/example/ServeurClavardage/ListMessageTxtParCo.java + com.example.ServeurClavardage.ListMessageTxtParCo +app/insa/clav/Messages/MessageSrvTCP.java + app.insa.clav.Messages.MessageSrvTCP +app/insa/clav/Messages/MessagePseudo.java + app.insa.clav.Messages.MessagePseudo +app/insa/clav/Messages/MessageChatFile.java + app.insa.clav.Messages.MessageChatFile com/example/ServeurClavardage/SubmitConnectionOutdoor.java com.example.ServeurClavardage.SubmitConnectionOutdoor com/example/ServeurClavardage/SubmitDeconnectionOutdoor.java com.example.ServeurClavardage.SubmitDeconnectionOutdoor +com/example/ServeurClavardage/SubmitMessageChat.java + com.example.ServeurClavardage.SubmitMessageChat com/example/ServeurClavardage/SharedInformation.java com.example.ServeurClavardage.SharedInformation +app/insa/clav/Messages/Message.java + app.insa.clav.Messages.Message +com/example/ServeurClavardage/GetConnectionChat.java + com.example.ServeurClavardage.GetConnectionChat +com/example/ServeurClavardage/GetAllUsers.java + com.example.ServeurClavardage.GetAllUsers com/example/ServeurClavardage/SubmitConnectionIndoor.java com.example.ServeurClavardage.SubmitConnectionIndoor +com/example/ServeurClavardage/SubmitConnectionChat.java + com.example.ServeurClavardage.SubmitConnectionChat app/insa/clav/Core/Utilisateurs.java app.insa.clav.Core.Utilisateurs +com/example/ServeurClavardage/GetMessageChat.java + com.example.ServeurClavardage.GetMessageChat +app/insa/clav/Messages/MessageChatTxt.java + app.insa.clav.Messages.MessageChatTxt diff --git a/src/main/java/app/insa/clav/Messages/MessageChatFile.java b/src/main/java/app/insa/clav/Messages/MessageChatFile.java new file mode 100644 index 0000000..ac2f671 --- /dev/null +++ b/src/main/java/app/insa/clav/Messages/MessageChatFile.java @@ -0,0 +1,21 @@ +package app.insa.clav.Messages; + +import java.net.InetAddress; + +public class MessageChatFile extends MessageChatTxt{ + + public long fileSize; + public String ext; + + public MessageChatFile(Message msg, String payload, String date, long fileSize, String ext) { + super(msg, payload, date); + this.fileSize = fileSize; + this.ext = ext; + } + + public MessageChatFile(int typeMessage, InetAddress srcIP, InetAddress destIP, int destPort, String payload, String date, long fileSize, String ext) { + super(typeMessage, srcIP, destIP, destPort, payload, date); + this.fileSize = fileSize; + this.ext = ext; + } +} diff --git a/src/main/java/app/insa/clav/Messages/MessageChatTxt.java b/src/main/java/app/insa/clav/Messages/MessageChatTxt.java new file mode 100644 index 0000000..5c5d1f2 --- /dev/null +++ b/src/main/java/app/insa/clav/Messages/MessageChatTxt.java @@ -0,0 +1,27 @@ +package app.insa.clav.Messages; + +import java.net.InetAddress; + + +/** + * Messages texte dans un chat + */ +//Message de type 6 +public class MessageChatTxt extends Message { + + public String payload; + public String date; + + + public MessageChatTxt(Message msg, String payload, String date) { + super(msg); + this.payload = payload; + this.date = date; + } + + public MessageChatTxt(int typeMessage, InetAddress srcIP, InetAddress destIP, int destPort, String payload, String date) { + super(typeMessage, srcIP); + this.payload = payload; + this.date = date; + } +} diff --git a/src/main/java/app/insa/clav/Messages/MessageInit.java b/src/main/java/app/insa/clav/Messages/MessageInit.java new file mode 100644 index 0000000..eeb34ef --- /dev/null +++ b/src/main/java/app/insa/clav/Messages/MessageInit.java @@ -0,0 +1,17 @@ +package app.insa.clav.Messages; + +import java.net.InetAddress; + +/** + * Messaged sent when a user creates a chat room to identifies itself + */ +public class MessageInit extends Message { + + public int id; + + + public MessageInit(int typeMessage, InetAddress srcIP, InetAddress destIP, int destPort, int localId) { + super(typeMessage, srcIP); + this.id = localId; + } +} diff --git a/src/main/java/app/insa/clav/Messages/MessageSrvTCP.java b/src/main/java/app/insa/clav/Messages/MessageSrvTCP.java new file mode 100644 index 0000000..02b52aa --- /dev/null +++ b/src/main/java/app/insa/clav/Messages/MessageSrvTCP.java @@ -0,0 +1,26 @@ +package app.insa.clav.Messages; + + +public class MessageSrvTCP { + private int userId; + private int id; + private Message message; + + public MessageSrvTCP(int userId, int id, Message message) { + this.userId = userId; + this.id = id; + this.message = message; + } + + public int getUserId() { + return userId; + } + + public int getId() { + return id; + } + + public Message getMessage() { + return message; + } +} diff --git a/src/main/java/com/example/ServeurClavardage/GetConnectionChat.java b/src/main/java/com/example/ServeurClavardage/GetConnectionChat.java new file mode 100644 index 0000000..ad9d7f3 --- /dev/null +++ b/src/main/java/com/example/ServeurClavardage/GetConnectionChat.java @@ -0,0 +1,51 @@ +package com.example.ServeurClavardage; + +import app.insa.clav.Messages.MessageInit; +import app.insa.clav.Messages.MessageSrvTCP; +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; + +import javax.servlet.annotation.WebServlet; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; +import java.io.PrintWriter; +import java.nio.charset.StandardCharsets; +import java.util.ArrayList; + +@WebServlet(name = "GetConnectionChat", value = "/GetConnectionChat") +public class GetConnectionChat extends HttpServlet { + private String message; + private SharedInformation sh; + + public void init() { + message = "Récupération des chat connexion"; + this.sh = SharedInformation.getInstance(); + } + + public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException { + final GsonBuilder builder = new GsonBuilder(); + final Gson gson = builder.create(); + StringBuilder resp = new StringBuilder(); + try(BufferedReader br = new BufferedReader( + new InputStreamReader(request.getInputStream(), StandardCharsets.UTF_8))) { + String responseLine = null; + while ((responseLine = br.readLine()) != null) { + resp.append(responseLine.trim()); + } + System.out.println(resp.toString()); + } + MessageSrvTCP msgSrv = gson.fromJson(resp.toString(), MessageSrvTCP.class); + response.setContentType("application/json"); + ArrayList msgs = this.sh.getCoList(msgSrv.getUserId()); + String param = gson.toJson(msgs); + PrintWriter out = response.getWriter(); + out.print(param); + } + + public void destroy() { + } +} diff --git a/src/main/java/com/example/ServeurClavardage/GetMessageChat.java b/src/main/java/com/example/ServeurClavardage/GetMessageChat.java new file mode 100644 index 0000000..f912970 --- /dev/null +++ b/src/main/java/com/example/ServeurClavardage/GetMessageChat.java @@ -0,0 +1,50 @@ +package com.example.ServeurClavardage; + +import app.insa.clav.Messages.Message; +import app.insa.clav.Messages.MessageSrvTCP; +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; + +import javax.servlet.annotation.WebServlet; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; +import java.io.PrintWriter; +import java.nio.charset.StandardCharsets; + +@WebServlet(name = "GetMessageChat", value = "/GetMessageChat") +public class GetMessageChat extends HttpServlet { + private String message; + private SharedInformation sh; + + public void init() { + message = "Récupération des chat message"; + this.sh = SharedInformation.getInstance(); + } + + public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException { + final GsonBuilder builder = new GsonBuilder(); + final Gson gson = builder.create(); + StringBuilder resp = new StringBuilder(); + try(BufferedReader br = new BufferedReader( + new InputStreamReader(request.getInputStream(), StandardCharsets.UTF_8))) { + String responseLine = null; + while ((responseLine = br.readLine()) != null) { + resp.append(responseLine.trim()); + } + System.out.println(resp.toString()); + } + MessageSrvTCP msgSrv = gson.fromJson(resp.toString(), MessageSrvTCP.class); + response.setContentType("application/json"); + Message msgs = this.sh.getMessageList(msgSrv.getUserId(), msgSrv.getId()); + String param = gson.toJson(msgs); + PrintWriter out = response.getWriter(); + out.print(param); + } + + public void destroy() { + } +} \ No newline at end of file diff --git a/src/main/java/com/example/ServeurClavardage/ListMessageTxtParCo.java b/src/main/java/com/example/ServeurClavardage/ListMessageTxtParCo.java new file mode 100644 index 0000000..00aa5d8 --- /dev/null +++ b/src/main/java/com/example/ServeurClavardage/ListMessageTxtParCo.java @@ -0,0 +1,32 @@ +package com.example.ServeurClavardage; + + + +import app.insa.clav.Messages.Message; + +import java.util.ArrayList; + +public class ListMessageTxtParCo { + private int remoteId; + private ArrayList msgs; + + public ListMessageTxtParCo(int remoteId) { + this.remoteId = remoteId; + this.msgs = new ArrayList(); + } + + public int getRemoteId() { + return remoteId; + } + + public void addMsg(Message msg) { + this.msgs.add(msg); + } + + public Message getMsgs() { + Message msg = msgs.get(0); + msgs.remove(0); + return msg; + } + +} diff --git a/src/main/java/com/example/ServeurClavardage/ListMessageTxtParUser.java b/src/main/java/com/example/ServeurClavardage/ListMessageTxtParUser.java new file mode 100644 index 0000000..fd3acca --- /dev/null +++ b/src/main/java/com/example/ServeurClavardage/ListMessageTxtParUser.java @@ -0,0 +1,28 @@ +package com.example.ServeurClavardage; + +import app.insa.clav.Core.Utilisateurs; +import app.insa.clav.Messages.Message; + +import java.util.ArrayList; + +public class ListMessageTxtParUser { + private Utilisateurs user; + private ArrayList listMsgsTxtParCo; + + public ListMessageTxtParUser(Utilisateurs user) { + this.user = user; + this.listMsgsTxtParCo = new ArrayList(); + } + + public Utilisateurs getUser() { + return user; + } + + public void addCo(int remoteId) { + this.listMsgsTxtParCo.add(new ListMessageTxtParCo(remoteId)); + } + + public ArrayList getlistMsgsTxtParCo() { + return listMsgsTxtParCo; + } +} diff --git a/src/main/java/com/example/ServeurClavardage/ListMessagesInitParUser.java b/src/main/java/com/example/ServeurClavardage/ListMessagesInitParUser.java new file mode 100644 index 0000000..4c1c974 --- /dev/null +++ b/src/main/java/com/example/ServeurClavardage/ListMessagesInitParUser.java @@ -0,0 +1,33 @@ +package com.example.ServeurClavardage; + +import app.insa.clav.Core.Utilisateurs; +import app.insa.clav.Messages.MessageInit; + +import java.util.ArrayList; + +public class ListMessagesInitParUser { + + private Utilisateurs user; + private ArrayList msgs; + + public ListMessagesInitParUser(Utilisateurs user) { + this.user = user; + this.msgs = new ArrayList(); + } + + public Utilisateurs getUser() { + return user; + } + + public void addMsg(MessageInit msg) { + this.msgs.add(msg); + } + + public ArrayList getMsgs() { + return msgs; + } + + public void clearMsgs() { + this.msgs.clear(); + } +} diff --git a/src/main/java/com/example/ServeurClavardage/SharedInformation.java b/src/main/java/com/example/ServeurClavardage/SharedInformation.java index 27ca612..c22a04a 100644 --- a/src/main/java/com/example/ServeurClavardage/SharedInformation.java +++ b/src/main/java/com/example/ServeurClavardage/SharedInformation.java @@ -1,19 +1,26 @@ package com.example.ServeurClavardage; import app.insa.clav.Core.Utilisateurs; +import app.insa.clav.Messages.Message; +import app.insa.clav.Messages.MessageInit; import java.util.ArrayList; import java.util.Collection; import java.util.Collections; +import java.util.Iterator; public class SharedInformation { private ArrayList outdoorUsersList; private ArrayList indoorUsersList; + private ArrayList listMsgInit; + private ArrayList listMessageTxt; private static SharedInformation instance = null; public SharedInformation(){ this.outdoorUsersList = new ArrayList<>(); this.indoorUsersList = new ArrayList<>(); + this.listMsgInit = new ArrayList<>(); + this.listMessageTxt = new ArrayList<>(); } public static SharedInformation getInstance(){ @@ -33,6 +40,63 @@ public class SharedInformation { return indoorUsersList; } + public synchronized ArrayList getCoList(int user){ + ArrayList msgs = new ArrayList<>(); + for (Iterator iter = listMsgInit.iterator(); iter.hasNext(); ) { + ListMessagesInitParUser list = iter.next(); + if (user == list.getUser().getId()) { + msgs = list.getMsgs(); + list.clearMsgs(); + break; + } + } + return msgs; + } + + public synchronized Message getMessageList(int user, int remoteId){ + Message msgs = null; + for (Iterator iter1 = listMessageTxt.iterator(); iter1.hasNext(); ) { + ListMessageTxtParUser list1 = iter1.next(); + if (list1.getUser().getId() == user) { + for (Iterator iter2 = list1.getlistMsgsTxtParCo().iterator(); iter2.hasNext(); ) { + ListMessageTxtParCo list2 = iter2.next(); + if (remoteId == list2.getRemoteId()) { + msgs = list2.getMsgs(); + break; + } + } + break; + } + } + return msgs; + } + + public synchronized void addMsgInit(int user, MessageInit msg){ + for (Iterator iter = listMsgInit.iterator(); iter.hasNext(); ) { + ListMessagesInitParUser list = iter.next(); + if (user == list.getUser().getId()) { + list.addMsg(msg); + break; + } + } + } + + public synchronized void addMsgTxt(int user, int remoteId, Message msg) { + for (Iterator iter1 = listMessageTxt.iterator(); iter1.hasNext(); ) { + ListMessageTxtParUser list1 = iter1.next(); + if (list1.getUser().getId() == user) { + for (Iterator iter2 = list1.getlistMsgsTxtParCo().iterator(); iter2.hasNext(); ) { + ListMessageTxtParCo list2 = iter2.next(); + if (remoteId == list2.getRemoteId()) { + list2.addMsg(msg); + break; + } + } + break; + } + } + } + public synchronized void addIndoorUser(Utilisateurs newUser){ this.indoorUsersList.remove(newUser); this.indoorUsersList.add(newUser); diff --git a/src/main/java/com/example/ServeurClavardage/SubmitConnectionChat.java b/src/main/java/com/example/ServeurClavardage/SubmitConnectionChat.java new file mode 100644 index 0000000..8dfdf02 --- /dev/null +++ b/src/main/java/com/example/ServeurClavardage/SubmitConnectionChat.java @@ -0,0 +1,47 @@ +package com.example.ServeurClavardage; + +import app.insa.clav.Messages.MessageInit; +import app.insa.clav.Messages.MessageSrvTCP; +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; + +import javax.servlet.annotation.WebServlet; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; +import java.nio.charset.StandardCharsets; + +@WebServlet(name = "SubmitConnectionChat", value = "/SubmitConnectionChat") +public class SubmitConnectionChat extends HttpServlet { + private String message; + private SharedInformation sh; + + public void init() { + message = "Ajout d'une co"; + this.sh = SharedInformation.getInstance(); + } + + public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException { + final GsonBuilder builder = new GsonBuilder(); + final Gson gson = builder.create(); + StringBuilder resp = new StringBuilder(); + try (BufferedReader br = new BufferedReader( + new InputStreamReader(request.getInputStream(), StandardCharsets.UTF_8))) { + String responseLine = null; + while ((responseLine = br.readLine()) != null) { + resp.append(responseLine.trim()); + } + System.out.println(resp.toString()); + } + MessageSrvTCP msgSrv = gson.fromJson(resp.toString(), MessageSrvTCP.class); + response.setContentType("application/json"); + this.sh.addMsgInit(msgSrv.getUserId(), (MessageInit) msgSrv.getMessage()); + } + + public void destroy() { + } +} + diff --git a/src/main/java/com/example/ServeurClavardage/SubmitMessageChat.java b/src/main/java/com/example/ServeurClavardage/SubmitMessageChat.java new file mode 100644 index 0000000..7d72383 --- /dev/null +++ b/src/main/java/com/example/ServeurClavardage/SubmitMessageChat.java @@ -0,0 +1,46 @@ +package com.example.ServeurClavardage; + +import app.insa.clav.Messages.MessageSrvTCP; +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; + +import javax.servlet.annotation.WebServlet; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; +import java.nio.charset.StandardCharsets; + +@WebServlet(name = "SubmitMessageChat", value = "/SubmitMessageChat") +public class SubmitMessageChat extends HttpServlet { + private String message; + private SharedInformation sh; + + public void init() { + message = "Ajout d'une co"; + this.sh = SharedInformation.getInstance(); + } + + public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException { + final GsonBuilder builder = new GsonBuilder(); + final Gson gson = builder.create(); + StringBuilder resp = new StringBuilder(); + try (BufferedReader br = new BufferedReader( + new InputStreamReader(request.getInputStream(), StandardCharsets.UTF_8))) { + String responseLine = null; + while ((responseLine = br.readLine()) != null) { + resp.append(responseLine.trim()); + } + System.out.println(resp.toString()); + } + MessageSrvTCP msgSrv = gson.fromJson(resp.toString(), MessageSrvTCP.class); + response.setContentType("application/json"); + this.sh.addMsgTxt(msgSrv.getUserId(), msgSrv.getId(), msgSrv.getMessage()); + } + + public void destroy() { + } +} +