From b7a3190bff3e2746aed8b122db63393df251c997 Mon Sep 17 00:00:00 2001 From: Tinsae Date: Mon, 26 Jan 2026 22:15:05 +0100 Subject: [PATCH] done task 5 --- week5_TinsaeGhilay/ReadME.md | 40 ++++++++++++++ .../{ => Task 2}/client/pom.xml | 0 .../src/main/java/net/tinsae/Client.java | 0 .../src/main/java/net/tinsae/Delegator.java | 0 .../client/src/main/java/net/tinsae/Main.java | 0 .../target/classes/net/tinsae/Client.class | Bin 4016 -> 3943 bytes .../target/classes/net/tinsae/Delegator.class | Bin 5511 -> 3845 bytes .../target/classes/net/tinsae/Main.class | Bin 1569 -> 1302 bytes .../client/target/client-1.0-SNAPSHOT.jar | Bin .../target/maven-archiver/pom.properties | 0 .../default-testCompile/createdFiles.lst | 0 .../default-testCompile/inputFiles.lst | 0 .../{ => Task 2}/shop/.gitignore | 0 .../{ => Task 2}/shop/.idea/.gitignore | 0 .../{ => Task 2}/shop/.idea/dataSources.xml | 0 .../{ => Task 2}/shop/.idea/encodings.xml | 0 .../{ => Task 2}/shop/.idea/misc.xml | 0 .../{ => Task 2}/shop/.idea/sqldialects.xml | 0 .../shop/.mvn/wrapper/maven-wrapper.jar | Bin .../.mvn/wrapper/maven-wrapper.properties | 0 week5_TinsaeGhilay/{ => Task 2}/shop/mvnw | 0 week5_TinsaeGhilay/{ => Task 2}/shop/mvnw.cmd | 0 week5_TinsaeGhilay/{ => Task 2}/shop/pom.xml | 0 .../src/main/java/net/tinsae/shop/App.java | 0 .../main/java/net/tinsae/shop/Factory.java | 0 .../net/tinsae/shop/InvalidItemException.java | 0 .../src/main/java/net/tinsae/shop/Item.java | 0 .../main/java/net/tinsae/shop/ItemDao.java | 0 .../src/main/java/net/tinsae/shop/Util.java | 0 .../main/resources}/META-INF/beans.xml | 0 .../target/classes/net/tinsae/shop/App.class | Bin 374 -> 0 bytes .../classes/net/tinsae/shop/Factory.class | Bin 2329 -> 0 bytes .../tinsae/shop/InvalidItemException.class | Bin 391 -> 0 bytes .../target/classes/net/tinsae/shop/Item.class | Bin 1834 -> 0 bytes .../classes/net/tinsae/shop/ItemDao.class | Bin 5903 -> 0 bytes .../target/classes/net/tinsae/shop/Util.class | Bin 1550 -> 0 bytes .../shop/target/maven-archiver/pom.properties | 3 - .../compile/default-compile/createdFiles.lst | 6 -- .../compile/default-compile/inputFiles.lst | 6 -- week5_TinsaeGhilay/Task 3/Table.pdf | Bin 0 -> 51454 bytes week5_TinsaeGhilay/Task 4/Client.cpp | 52 ++++++++++++++++++ week5_TinsaeGhilay/Task 4/client | Bin 0 -> 31200 bytes .../target/classes/net/tinsae/Client.class | Bin 3943 -> 0 bytes .../target/classes/net/tinsae/Delegator.class | Bin 3845 -> 0 bytes .../target/classes/net/tinsae/Main.class | Bin 1302 -> 0 bytes .../compile/default-compile/createdFiles.lst | 3 - .../compile/default-compile/inputFiles.lst | 3 - .../src/main/resources/META-INF/beans.xml | 6 -- week5_TinsaeGhilay/solutions.txt | 5 ++ 49 files changed, 97 insertions(+), 27 deletions(-) create mode 100644 week5_TinsaeGhilay/ReadME.md rename week5_TinsaeGhilay/{ => Task 2}/client/pom.xml (100%) rename week5_TinsaeGhilay/{ => Task 2}/client/src/main/java/net/tinsae/Client.java (100%) rename week5_TinsaeGhilay/{ => Task 2}/client/src/main/java/net/tinsae/Delegator.java (100%) rename week5_TinsaeGhilay/{ => Task 2}/client/src/main/java/net/tinsae/Main.java (100%) rename week5_TinsaeGhilay/{ => Task 2}/client/target/client-1.0-SNAPSHOT.jar (100%) rename week5_TinsaeGhilay/{ => Task 2}/client/target/maven-archiver/pom.properties (100%) rename week5_TinsaeGhilay/{ => Task 2}/client/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst (100%) rename week5_TinsaeGhilay/{ => Task 2}/client/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst (100%) rename week5_TinsaeGhilay/{ => Task 2}/shop/.gitignore (100%) rename week5_TinsaeGhilay/{ => Task 2}/shop/.idea/.gitignore (100%) rename week5_TinsaeGhilay/{ => Task 2}/shop/.idea/dataSources.xml (100%) rename week5_TinsaeGhilay/{ => Task 2}/shop/.idea/encodings.xml (100%) rename week5_TinsaeGhilay/{ => Task 2}/shop/.idea/misc.xml (100%) rename week5_TinsaeGhilay/{ => Task 2}/shop/.idea/sqldialects.xml (100%) rename week5_TinsaeGhilay/{ => Task 2}/shop/.mvn/wrapper/maven-wrapper.jar (100%) rename week5_TinsaeGhilay/{ => Task 2}/shop/.mvn/wrapper/maven-wrapper.properties (100%) rename week5_TinsaeGhilay/{ => Task 2}/shop/mvnw (100%) rename week5_TinsaeGhilay/{ => Task 2}/shop/mvnw.cmd (100%) rename week5_TinsaeGhilay/{ => Task 2}/shop/pom.xml (100%) rename week5_TinsaeGhilay/{ => Task 2}/shop/src/main/java/net/tinsae/shop/App.java (100%) rename week5_TinsaeGhilay/{ => Task 2}/shop/src/main/java/net/tinsae/shop/Factory.java (100%) rename week5_TinsaeGhilay/{ => Task 2}/shop/src/main/java/net/tinsae/shop/InvalidItemException.java (100%) rename week5_TinsaeGhilay/{ => Task 2}/shop/src/main/java/net/tinsae/shop/Item.java (100%) rename week5_TinsaeGhilay/{ => Task 2}/shop/src/main/java/net/tinsae/shop/ItemDao.java (100%) rename week5_TinsaeGhilay/{ => Task 2}/shop/src/main/java/net/tinsae/shop/Util.java (100%) rename week5_TinsaeGhilay/Task 2/shop/{target/classes => src/main/resources}/META-INF/beans.xml (100%) delete mode 100644 week5_TinsaeGhilay/Task 2/shop/target/classes/net/tinsae/shop/App.class delete mode 100644 week5_TinsaeGhilay/Task 2/shop/target/classes/net/tinsae/shop/Factory.class delete mode 100644 week5_TinsaeGhilay/Task 2/shop/target/classes/net/tinsae/shop/InvalidItemException.class delete mode 100644 week5_TinsaeGhilay/Task 2/shop/target/classes/net/tinsae/shop/Item.class delete mode 100644 week5_TinsaeGhilay/Task 2/shop/target/classes/net/tinsae/shop/ItemDao.class delete mode 100644 week5_TinsaeGhilay/Task 2/shop/target/classes/net/tinsae/shop/Util.class delete mode 100644 week5_TinsaeGhilay/Task 2/shop/target/maven-archiver/pom.properties delete mode 100644 week5_TinsaeGhilay/Task 2/shop/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst delete mode 100644 week5_TinsaeGhilay/Task 2/shop/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst create mode 100644 week5_TinsaeGhilay/Task 3/Table.pdf create mode 100644 week5_TinsaeGhilay/Task 4/Client.cpp create mode 100755 week5_TinsaeGhilay/Task 4/client delete mode 100644 week5_TinsaeGhilay/client/target/classes/net/tinsae/Client.class delete mode 100644 week5_TinsaeGhilay/client/target/classes/net/tinsae/Delegator.class delete mode 100644 week5_TinsaeGhilay/client/target/classes/net/tinsae/Main.class delete mode 100644 week5_TinsaeGhilay/client/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst delete mode 100644 week5_TinsaeGhilay/client/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst delete mode 100644 week5_TinsaeGhilay/shop/src/main/resources/META-INF/beans.xml create mode 100644 week5_TinsaeGhilay/solutions.txt diff --git a/week5_TinsaeGhilay/ReadME.md b/week5_TinsaeGhilay/ReadME.md new file mode 100644 index 0000000..8bcf8e0 --- /dev/null +++ b/week5_TinsaeGhilay/ReadME.md @@ -0,0 +1,40 @@ +## Start Glass fish +```bash +# start glassfish server +glassfish7/bin/asadmin start-domain + +# deploy app on it +glassfish7/bin/asadmin deploy target/shop-1.0-SNAPSHOT.war +``` + +we can browse server at [http://localhost:8080/shop-1.0-SNAPSHOT/api/items](http://localhost:8080/shop-1.0-SNAPSHOT/api/items) + +## Start client +```bash +# cd to clients project directory +cd client + +# compile and run project +mvn clean compile exec:java +``` + +The client class handles HTTP operations, while the Delegator class handles user interaction, input validation, and adapts the input into the correct format. Delegator then calls the appropriate Client methods, acting as a proxy in a liberal sense. + +## Ending the program + +Clent program can be ended by typing `done` or `exit` in the interactive terminal + +Glassfish can be stoped using the following command in terminal +```bash +# first check which domains are running +glassfish7/bin/asadmin list-domains +# you will get somehing like the below lines +# domain1 running +# Command list-domains executed successfully. +# we have domain1 running. so we stop it with +glassfish7/bin/asadmin stop-domain domain1 +``` + +## DONE + + diff --git a/week5_TinsaeGhilay/client/pom.xml b/week5_TinsaeGhilay/Task 2/client/pom.xml similarity index 100% rename from week5_TinsaeGhilay/client/pom.xml rename to week5_TinsaeGhilay/Task 2/client/pom.xml diff --git a/week5_TinsaeGhilay/client/src/main/java/net/tinsae/Client.java b/week5_TinsaeGhilay/Task 2/client/src/main/java/net/tinsae/Client.java similarity index 100% rename from week5_TinsaeGhilay/client/src/main/java/net/tinsae/Client.java rename to week5_TinsaeGhilay/Task 2/client/src/main/java/net/tinsae/Client.java diff --git a/week5_TinsaeGhilay/client/src/main/java/net/tinsae/Delegator.java b/week5_TinsaeGhilay/Task 2/client/src/main/java/net/tinsae/Delegator.java similarity index 100% rename from week5_TinsaeGhilay/client/src/main/java/net/tinsae/Delegator.java rename to week5_TinsaeGhilay/Task 2/client/src/main/java/net/tinsae/Delegator.java diff --git a/week5_TinsaeGhilay/client/src/main/java/net/tinsae/Main.java b/week5_TinsaeGhilay/Task 2/client/src/main/java/net/tinsae/Main.java similarity index 100% rename from week5_TinsaeGhilay/client/src/main/java/net/tinsae/Main.java rename to week5_TinsaeGhilay/Task 2/client/src/main/java/net/tinsae/Main.java diff --git a/week5_TinsaeGhilay/Task 2/client/target/classes/net/tinsae/Client.class b/week5_TinsaeGhilay/Task 2/client/target/classes/net/tinsae/Client.class index 45a7b0c796e9be8dba1e94345ba1f7390277a22b..9d2a98133f075a9510808264529877072dbf5ae8 100644 GIT binary patch literal 3943 zcma)9`BxKH6#iZknGnYUp z_nw}vian>N{k4BoPro-a36o}^J)F$)=Dv6D_uYHH_xS7Y%fACSfbSBBAgUmyVgZ^2 zmY&kiYMG*DPG*jcozll0fu>%=G@N|`(RAl%9C40h3`d`~n~}gm1*(cgSS+y2)SZlD zn6{>828xDma_$008!PGp$-?Zq!%o>SC$mZVU#emmk^(EIwbS~5WsYmkjfOMDC)?3X z#}?R=Zk*XT(%Cp9gIlg*g^Vm(DHju1iB$^PRJ3EYK${znjCjg%N}0pF9M{iObelmZ zO#NJc#VAhbWr0m;fAKKely8<*uvS2=t$E^jK7ln@CrQ0RU_}Us&e4U~fQ<@LDmG!W z!1~(ke@9gH;sP-QuJV_Y5z$lj{{$FEngNnnhk4mHa=xU;(ZzIYrBcx#?S^G$PT7_z zgW9TM8?I!Ur*zHbARiKcBjf)kj0Co0hk~6duEH*X^gNiYiSt91v7%v5>17r|+`7vv z9D%-&aOQO$Tq-LO_NcfTdjw)b$A(7)1_OjPl3zD_UO!&VxE}VZ$fB1GFeV2D*3MT( zSy`<6RP4vKWPRN4opz7ny1MiFDw{w*1{7Q;Y0L?138T?2v5WLnKf^z)nG;2q#jZKR zXf&peLpZD;ui^-<7g*KkquS&#TQ><&n}@}02$th|h}Up_JwpGy zNYiz>LT)4{hi+AIn;eQB%8fMR4&13gQ!$3|Iz1geZ&NjCWmPCLD?COFD>Fnnbm&mm zrd@=(in}n$;v8e@1eRA*77%6X4Rs)()n2>_oJLW>vfdlnctF% zGoZ*VqT)#jtY&mg)n{1oF*1+UB?ZIO2P@NKdU>QO^VYal9M#H(eD?=q&XmChZYjvc z>h^~$mzvfLQ=m0{ONgM1^1D`^l#@d~Gsn5R$MurbE?dC^RlqJ!wJ%hTl4U!2m-($*K7<9bsm#)B?P(#07iK|dY2xZqNW&1qydK;u4UD;&s38dWebF*QX zXRXtE#;a0qpFgOLJ64(X{bsNieM8TSCtG%^U|FXtC0{~mo!~QuzhVUEN(jqxmwH0KcH+2O34-@R~%7SC!WU{}y2t zm#uK5)pgj0vpB~$F6BBFXvW<*&u`LAH-AF@W|wPn2UfUCsNP51gL`RoAAd29+|S>G zc*tMkdydHf`YxgMH>^3yAX_e?V+QLZNN!1X&Y(Mr?n}tbV0Q#FxJKaUkLcTa2?u_~ z!NF}aCCHP@Hp3eg7y-IH*$d^K^RZsDIdn4B!2;Ia{(BuFXK4S0EVFx%n2XNAi-?&!0e5+ z#X{kvu-pZ)85^;MVWzQzAo}8AQj9%=-GQX^)KK*JC{neg zWEzsX5t_-afkp8GZROciR-Zsg+MlPwQN*tD&@n8(AtAD+algb zeKz8Fk$LwtX`Ne>fN}}ePw119A>5wzBx5Ogdx>Kayo^_PU(BaBY4NIieI4&}Y$q4n nz`p*VshMT85+72HKH~iozW4KF`YGQ( z-#y1&DW2oeU;U#ze(%jBosent^fWW?&3*6Q@B8k(@BRJH`9A>c!#63!5Z92<(SSyQ z<;RUvMmlfUv*{z#$IYB4(74;OEpLxNyt8Yng{zV}nvfD$d(t>zjyiVE@UFMKIlj4` zVSBE?uFkQAeI~r3WzP=Q&UDpIH9^M`4NG+_!*YQYw&|rk%XSSjJ({;no8iPu#k@dE z?b;Mtuu{V+9jmcMpjAa6H<Z*;Hc8uhfz=U!yQZ445$zf_>DY`d0$VDpFN~<{MWM3tS zNTCP48v1lxinKsy9n8+m>G9HZ-g4*6B9kWR-07!^z)(aub)AQ|8k7hx*RdTt1QO#% zCME?AhX}1DziM?|KYq?A4_D~u$CUyN({fT^W4$yQl!<+njsXmk^<0q3Z9c_SdFQA3 zUq@YE6(f~VfY6PdnT_~>|P{{T4VYc!KjA)Ix;vQu&&lex#kkC zX%nJRhsB`2tFRn3BfLiQ>l>2TgUD*QM#r@n6KJaqsk|qPnBB%JxuedEsd`hk1r%EL zrXwUQB7?GlYt`L?t|W8iIvq!4uEfWWP0I14j$^WeH15xgWhOIn>UteF$f@|%naL*H zgqtwxA;T<{*OfxyBDV@NovSgvQ z%YH+`L*3YqH-$Sft6@%uCELzQ#ZR>d0j(hY+2-NW$!W7VX-wy-NXwX$GxAeL(URj}GU3fxEcKOR(rr~^XI(US z{>o&*alNc!GP18`=~Z?zA}y9X`ud1c3fet)P8Neq6xa}H7^I)Tn(C<8MT5vMtFvx* zEj4@SHI=z1XBK4Rbu~OxR!fOo`6AUS1z^{7W@|U?|I?C0jCGUHhoBaY*_UePEVGQBxx#!cc?@+3qOue1I{S}beCn<<>dTN>V$ zJ>eaJ4pl9Rf6G4QoG{aVQTbPx14hnsiY&*o;noot`d<7l>voJe&WTbX;zkpauWF$@ zjU&u&4%z#+t@2494sz7U=O--BB&B-Rw$0*b-f&%$dTW(C%u;y>EF7j9K3wF?P!}L| zWK^u#9I95+P54OB@TtJXi#Ou%`9qmPOErAK+f@zeQCw>His@V5lnvP@9$R>r#&{8p z@sIaJzO~7dl~0XFKm%<4Ivh1)dqLz+% zTpUNwIdsqCvKZ#EQ{d2#*wuRuyMM*L!+rC(THsr55LW@U%Mh`Wfvw{8ay5^hHQ2_t z9<=hh(WV0I_8nFN9KziUOVFkT_uw=G>*p@_;y&(qKX=pl&7V2LnFlzN;LL;ke;AJh zF#aNK4g8V`!B~GDhkzO|44q)c12BgPrq2g6kZ4Ur!f7X%O@y);Td7?SF2d#L;00%! zg0s_iT!E9pqj-$LF&G6bM(b4ySe$E;3Rt27%%3?!NMT@)+7tIA*fEP1svhB zAP!bW1xMe7IQCM9Vd}7t7)GeWeyWhc9vld1Fa-{*-D&lxi5%CgU=5r}2d4peGQNOR@UCwRiW*eCn j?=?25nth+g(+3=X#PJX>z#nt`37?;F{5ihF*J%A0pc(W9 diff --git a/week5_TinsaeGhilay/Task 2/client/target/classes/net/tinsae/Delegator.class b/week5_TinsaeGhilay/Task 2/client/target/classes/net/tinsae/Delegator.class index e09014730426a7fc8100bbe421ab48bc0f952ff9..38eba4a1294fe60617b720b3796223d6425f3568 100644 GIT binary patch delta 1801 zcmZux+gnss99{d&{cvz}KobNU@B?E8Ma48VH3~2UyiEwGWg{GEbQmT$nsytzn07VW zWm;Kemfa{p9Sqa%Hy?ZIp@-i31A6EoyR3a?9O(P{=KJ>EXYcjTz{M*M%&1Pd~Rp>=lbk1PXRV_eN`D{k0ngVhJl^4VckB0Z&qW#S=d0Xfe== z+XNi_dn_;3$-lHv%?1M-!DyF_)8RqHz@4aKWWwBMH76{!x7k1kI%ULB<=$doE4Im$ zW2XCV1KV+rJn2}xV#oFSkF<_!oK<_oJHgj+=+G_?N(5r&) z6{wO&y@fL9EZnh6z`ZWoXD$!ws6gC6p9*sgS_8497ySbH4d!4sKUC)BK`-uOktEw~ zM|d!3z``B@pDMg5-XFC{^~UNZ9R;}Gz&`Ak$DA$h2Ms)ghvje1xz1iM4#rEEGPg6c<_r+zeo-9(Tbep`pNx<1d_UuP2k=$d+{dsj_Ob+LT#HaG-ylQbtYDTrVENhI) zX?{08*YO3u^x!Mi<*(&0#!ni)lV|g*UHCzuOxEY$AZO=$2r@LxcHUo*SHV<^6W(h)*5yvZ@Z0MJuTc)89)84L_@XGSIs-ohz(!6$2yb-&*WO3 zYHtk(o=fA%2^h*{X~>Qd1v!?3Y+5;4m69}$cl^hCuVocbZ?POrRGOV(l3R$>ubq0FffGtu>q zNnM`-$2C-VQ1K7d79Og|!FH(9)PBoY%6MgEA9?N!yw0aI@gJe{j7?&(o%a1k2ARFV mfpa|7a2^*p7gNY9JWt!>MSC2#$ItK$&vl-Ci|_Fxiv9%+#b;9h literal 5511 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 I6+FVT|7B2Y!2kdN delta 864 zcmXw1OHUI~6#i~sQ>MeKAhrnfR*P++P!vHeiegcu@{%eFqH$<1Fxt+Tc0gS92bh>N zlbGPn6^T1BDNzy=m-(%Yyd=~-H%eUW zXeKueo+}t-AtQ)R38xfvq1(zZUVRe?O9(NvK2x{V!M`$4l6i~GuCSs zn(9HXjeeFP5SytdYesTff3am|O~NXU#g}CCAf_OWJ_c!1EzgM^lffB_uh@}Kc}IW6i!lo14V`%Va8v79 zB5f3ls-E}aIzuRJ=%%J`3I0+uH@T`C=B6m|+;K{Z+xRyWq~T$3*EiwCO@{PB$=E2V zMK1Kb$PaRP($J$OUpGn{!sPM)TjSJ>mqlrtTAGGId3?$+@_g-;2#0BXQ`QH^H;>y? z*9yYYoC{6~i`HjnSLGHQ^hZIGVBsNoo2(?gj9z!&0occSc$%ag23*LHRE`sH2Qy?f zU>0-ap<))L3=jDVerd+vFnb8!a)06gjdS~G@pse^I7H9#KKKD5sfsJ;sv)|I5&P}0 zA(?Uq-Tn(TjJ`vdv=nK(@a&;|An2~)irwQH_1HW5ZdXj$_9WRhNhfTQ<7loEauP)k zn$SXafDR=BKN4ueC>>%39Yi>YYz3WoM3?r2wx2@?&k?RqH%_Ia=*2u1Xe~4g?qabH zp&?5?I()3-9%&8&SjBxT5qyN^e}IQH|1#x<;XERjTf&Njq59{O2nT-yKUW8tF0cqDBjeAd4P&g1W${I%HF4Ipi{TWvdPxx@+5fh0emQN zcJZKKLjKA86FxHY`Stz*V2=F+9d!GMMu^ctmoWwI=Am)|1hG>B{E4LUiq(jKVl&Yi{fH!c>p6D8!khE~g@+iktk$ zjKY$=!a@2EYo?GqxVp;C4L5*+@Gn-hA%(;H+6G>mj6Dl%ZmkRLKZSLi{%z$~7k3nv zLX9_6)B=n&m5dYgWfaX)vSk>eTaxKE2jcTLs8=yMNJN`5Fu+iB)ZSx>+iiWP)iHJ@ M4yCpyXW}va2A3vPsQ>@~ diff --git a/week5_TinsaeGhilay/Task 2/shop/target/classes/net/tinsae/shop/Factory.class b/week5_TinsaeGhilay/Task 2/shop/target/classes/net/tinsae/shop/Factory.class deleted file mode 100644 index 5288b022acda91629f4f0c6c1b30a6aa6fbada54..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2329 zcmb7FYg5}s6g_Jj3p*+}I6z#QLIO?9qo_@r^Z_B^VG=h^a4~@f`V#gAM1;ghaypq# z|5Mv(Nv56Y59p8T^sFQ(Hioueq}|oI=iGbu?CQ_Ie)|K!Ja)54AgLjxqYG()+@ATu zG;Gt^F;=$sWIYf_&svTZ%n2lmYZ%rsf~x}8_RQy| z7nsI(zTx>s-SwogD*XeOL}RtU44OU@UR*8Bua%Yr#+dHE;hE7W#x%U6<2r5#44o6g zl>JzwR{SsAs$XX(aFqE%)3O`VVW{ z?ttb_H>52C8L4e5>U%oR2dOiTyXZQBbZC;)qT3**w_-W+adUrLdTZvk&6U22TQ}`> z)3ek(UQ7kM7QJxV;_(@n5xB4;1NvGWAR;q0YsaC1JTgw4GWu+1gU*qru-bG2YhSKg zzD50c$8qTqiQc?Io=bm&ZW~HXe&PLXWf^Qeg zox{&PGGu9QY4u6S9a$*i9#OZ?IfsWV18v`zN|n-DNhMixn_gWmTgq8_Y?f(t>j_+L z3#xiuozO zxXPP7!M_IGuI_e@(j4=*!RG>Jb4YRo%qzvoLtNhY8E?JDwL=vD(T4{rRbgnlQ=F~ zW%MP!iZgl;mz|3nJ;P+~wj>kPJk6So6E)|K6Unvp{Ofl4)}ANv4FL&!8|FL8G)yK` h-GcD3jrxgkTtfqr0euX)!khlty#oJwqu5Dh{s!&39MJ#( diff --git a/week5_TinsaeGhilay/Task 2/shop/target/classes/net/tinsae/shop/InvalidItemException.class b/week5_TinsaeGhilay/Task 2/shop/target/classes/net/tinsae/shop/InvalidItemException.class deleted file mode 100644 index cc6b65f31eebf6aee06f56b31228cfd439325033..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 391 zcma)2O-sW-5PchC(#C4FprAKF#1C+PK&2p}PzWBZ^uA4(bR^j=$)@ygc@jMM1N>3q zY!wvr;0z4&9&g_c@9q8N6~GmG2?DIe2s>CuByjMk7D^V%f zt{&8+V5XPaOci5Qk;h+T=w?(49H;*=?+e7Gu4|RA?0y|8kc@0oW%`!mWc;R2+ z5HY9YOK@{OJll*0%z8dLJAa0F;w?bJ(`N~^SlPw~Z+o9Abg;>Y_1Hpp<+aTyz|IF* CgkN(2 diff --git a/week5_TinsaeGhilay/Task 2/shop/target/classes/net/tinsae/shop/Item.class b/week5_TinsaeGhilay/Task 2/shop/target/classes/net/tinsae/shop/Item.class deleted file mode 100644 index 006094926007546803cb5472e95b84d5403a4303..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1834 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 diff --git a/week5_TinsaeGhilay/Task 2/shop/target/classes/net/tinsae/shop/Util.class b/week5_TinsaeGhilay/Task 2/shop/target/classes/net/tinsae/shop/Util.class deleted file mode 100644 index 797148b53fc378a683f79c0c8f1a690a07b2bf47..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1550 zcmZ`(+j1I55IuvCmaC*7S-!+p)=uJxi$(4iq1ZtZN>Kuof)%k`l~gUu6s!yj*;#J@)G9^f(2I`s&W75Ee9q6IjHO!0MU# z#LV|hr;|T!ok`0VSlYE6+rKZcu$69VhzP7Z($D+0f9JIDg>UPo!Hl9kU}{fn-Pe`vb?} z_V&OLNN-hUX*GP;b~=Uh<&uh?K?@pE0&6pH>8T}$ibTV@z>S%sK5~4!F9UxJYuHd4 zTot%Bzn#%_2S1ywo-CxBF=)81lD{Evb?eO;#Bme1G;AjD4)kd*uV*Q+V!6`vWy9yt zmkveVn5PTY3lZEAc%k#RUoRDnl5Q0DDkZ&qsMn4Sz4Wl$Fd90w?tA)HOu^L8ZtLZm zQTn!2*T1WmtHt`MepEWuizmi$xkjF9sb=H?v}5+AZj>GxW6Ih|r84uirDwVJSit{- z3|-rjI+Lpe@nh<0$5k5KPYgNa6ZlZwVA5>28>8XSm7XWt>Pj*K;i2hwna6)?i2>v zY4%3UCcHmrb6Tm`j;xLPE$JGn22}LGGJ8$awUs?t4EtT%;~iGs)E5N-q0TqAZBTXe zC8>t>xM~h3T#;R?H|;mi@3Yxvg&qjUxCKjf#)S3t`l2`17>ry?9@;ABsA|t`B|mPn zfq@Z<(`VT0)Yn%K@)Oz8w_k+vUey4>iU_ z@bxr7vB$_TechM1c9c2C+X9tr>h?L_4dMIjpSY7fM_S++u2*TLrdG6;yY~Xyxr+=T z4EtydsnAMIt!OoyBP4tA49QvQ&nZqE>l84DyQT(=uP~{hoVD|(p2ZE;$*sy2h=J|CBNYt4Pxf?I7I9f140^Z nYU~f8A@_;`@)cJ$t?|<0-w>6F>k>L!-=myS?yyJh5cdBCPcu=d diff --git a/week5_TinsaeGhilay/Task 2/shop/target/maven-archiver/pom.properties b/week5_TinsaeGhilay/Task 2/shop/target/maven-archiver/pom.properties deleted file mode 100644 index d133594..0000000 --- a/week5_TinsaeGhilay/Task 2/shop/target/maven-archiver/pom.properties +++ /dev/null @@ -1,3 +0,0 @@ -artifactId=shop -groupId=net.tinsae.rest -version=1.0-SNAPSHOT diff --git a/week5_TinsaeGhilay/Task 2/shop/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst b/week5_TinsaeGhilay/Task 2/shop/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst deleted file mode 100644 index 50996ef..0000000 --- a/week5_TinsaeGhilay/Task 2/shop/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst +++ /dev/null @@ -1,6 +0,0 @@ -net/tinsae/shop/App.class -net/tinsae/shop/Item.class -net/tinsae/shop/Util.class -net/tinsae/shop/Factory.class -net/tinsae/shop/InvalidItemException.class -net/tinsae/shop/ItemDao.class diff --git a/week5_TinsaeGhilay/Task 2/shop/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/week5_TinsaeGhilay/Task 2/shop/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst deleted file mode 100644 index 8173d6f..0000000 --- a/week5_TinsaeGhilay/Task 2/shop/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst +++ /dev/null @@ -1,6 +0,0 @@ -/home/tgk/Repos/Trusted/DistributedSystems/week5_TinsaeGhilay/shop/src/main/java/net/tinsae/shop/App.java -/home/tgk/Repos/Trusted/DistributedSystems/week5_TinsaeGhilay/shop/src/main/java/net/tinsae/shop/Factory.java -/home/tgk/Repos/Trusted/DistributedSystems/week5_TinsaeGhilay/shop/src/main/java/net/tinsae/shop/InvalidItemException.java -/home/tgk/Repos/Trusted/DistributedSystems/week5_TinsaeGhilay/shop/src/main/java/net/tinsae/shop/Item.java -/home/tgk/Repos/Trusted/DistributedSystems/week5_TinsaeGhilay/shop/src/main/java/net/tinsae/shop/ItemDao.java -/home/tgk/Repos/Trusted/DistributedSystems/week5_TinsaeGhilay/shop/src/main/java/net/tinsae/shop/Util.java diff --git a/week5_TinsaeGhilay/Task 3/Table.pdf b/week5_TinsaeGhilay/Task 3/Table.pdf new file mode 100644 index 0000000000000000000000000000000000000000..21380c57fa1f791c21e5326563f3ac2725802e84 GIT binary patch literal 51454 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

fyq9>u>k%>S{@m`A(POyAFxiu@(>`1|qsS-&pyQ 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 +#include +#include + +size_t WriteCallback(void* contents, size_t size, size_t nmemb, void* userp) { + ((std::string*)userp)->append((char*)contents, size * nmemb); + return size * nmemb; +} + +std::string httpRequest(const std::string& url, + const std::string& method, + const std::string& body = "") { + CURL* curl; + CURLcode res; + std::string readBuffer; + + curl = curl_easy_init(); + if (curl) { + struct curl_slist* headers = NULL; + headers = curl_slist_append(headers, "Content-Type: application/json"); + + curl_easy_setopt(curl, CURLOPT_URL, url.c_str()); + curl_easy_setopt(curl, CURLOPT_CUSTOMREQUEST, method.c_str()); + curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers); + + if (!body.empty()) { + curl_easy_setopt(curl, CURLOPT_POSTFIELDS, body.c_str()); + } + + curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, WriteCallback); + curl_easy_setopt(curl, CURLOPT_WRITEDATA, &readBuffer); + + res = curl_easy_perform(curl); + curl_easy_cleanup(curl); + } + return readBuffer; +} + +int main() { + std::string base = "http://localhost:8080/shop-1.0-SNAPSHOT/api/items"; + + // GET all items + std::cout << "GET all items:\n" << httpRequest(base, "GET") << "\n\n"; + + // GET item by ID + std::cout << "GET item 1:\n" << httpRequest(base + "/1", "GET") << "\n\n"; + + // POST new item + std::string newItem = R"({"name":"Mouse","price":1.25, "description":"Logitek gaming mouse"})"; + std::cout << "POST new item:\n" << httpRequest(base, "POST", newItem) << "\n\n"; + return 0; +} diff --git a/week5_TinsaeGhilay/Task 4/client b/week5_TinsaeGhilay/Task 4/client new file mode 100755 index 0000000000000000000000000000000000000000..ecbe9060d891572133b914f31d58f45396b3c905 GIT binary patch literal 31200 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 literal 0 HcmV?d00001 diff --git a/week5_TinsaeGhilay/client/target/classes/net/tinsae/Client.class b/week5_TinsaeGhilay/client/target/classes/net/tinsae/Client.class deleted file mode 100644 index 9d2a98133f075a9510808264529877072dbf5ae8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3943 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�$`DSn;5Vw7pZ8;n(S_eC*EWDKIH!)l@k zFMDAuS`%qj&&`6wV$a2Ltb!?edobn9FOA5&I5#g1RfpTzm2RuxTm>KA6{p$?Yy%lR~@a62!xEG+Pt-C~MaPALUo* zV@z(@k=cJxr|@e`0RO@q;Kzo$QeUdz<;yUHU=@6Q?7B!?nv*!Pw>l;3D|lsW0qedK z!7n|hg|}XdOzIEDkbPkq2AGCHGV4h?cYtykN)0n1BiN3^EYne*$@0|GlsLlDKROre zQi6UXNW*plA-s%HW*+jfD#%x%?w@F7o&ATI)^w(jkAR$#(6H}4%JahFMhWw~QJIH$ z%YRfNL|0D)=8aG=GEj$KaW{rHag*a(Ch;EkE5Y-2@Vpy5e~mwIKgqp6;?H;&YyJxh Cx07lB diff --git a/week5_TinsaeGhilay/client/target/classes/net/tinsae/Main.class b/week5_TinsaeGhilay/client/target/classes/net/tinsae/Main.class deleted file mode 100644 index 5dcdb4300586ee2d55db6ab64689dc0a95cbcaad..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1302 zcmZux-BQ~|6#mv0$Z`Y(^A|!}MB5~Gz=)(tN)2sDolt0vAvNPp+N(w0u|?&TBCQhg zD0zZjCl_X>%=7{J620hKbTYJO4Q-tedq%7C|DErg)$gaj{s!OyzRx3rtO>)$5QZ5p zAM$714Y+K(y9bBDQw+oFzVy{s4B29-nM00Yv7=N}aor&Fc+d$GRasqGU2&667?p1= zuaq102YZdJ-F=rwzKJ};q!h|kzD&4qABsSW^Q z;j)Qw8wE_fg{|=-QKCzb!juqBodx@$yGN0V;sx)n0 z=UggBg(Tj0I9Z>Imcu>ehca<^ES&tdOhl}foHS~2C6=5PK~}=yvgJ_bRvt6BVq(_D zRgHb3kNoZ83}&RE1k%I@4C8&5RQZA1@VJyB)~$VHV;&Ae#+QRVY|AM9w}(9D@UiCT z6NW4298sk~mr_$ZU9)i=H>hlfCv|Z|q|mf})RvNsn^2B(2_dvw^{2(Ar zp{6&o$zxy3=So9${DfvudneBtCF=I`O&5Q<$VaJ3oW&xEXf67wFDxj<^SDi^C*BiI z#)zv9gQd5pzwivxgBbq12m~aPc$DT0#Ne8cX{4dJ_wx>q&fCd1!Zh~8rmq{eG$G3x z85Zy*U1j~tfcV2OJ@1p`(#hx?x_J!ts&C$)r#1ryeF6ac%mH7cN|J?#ctjc<{3o)M z3fL-`wG&uR7LRdh=QTzPlRZqIVD8Cle0Yq7dbx*BU&5iI*uzrAm^BKwdid-mj8{vu zMh~C=^7kKPtmyh#Y|!&IRRv6va`a|l5|`*U=q(;0$fL9%W2n%*-ylmBQ}~81oyK~H z@VFSqCTR?kx9Go3XO=L3OFBk5*6|%`M8iBv*g>6ayW}y0>?!6=lucMB=HB2cz5hk! L8TQDW!Q+1b8)PqH diff --git a/week5_TinsaeGhilay/client/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst b/week5_TinsaeGhilay/client/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst deleted file mode 100644 index 5fe1ffc..0000000 --- a/week5_TinsaeGhilay/client/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst +++ /dev/null @@ -1,3 +0,0 @@ -net/tinsae/Client.class -net/tinsae/Main.class -net/tinsae/Delegator.class diff --git a/week5_TinsaeGhilay/client/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/week5_TinsaeGhilay/client/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst deleted file mode 100644 index 954887d..0000000 --- a/week5_TinsaeGhilay/client/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst +++ /dev/null @@ -1,3 +0,0 @@ -/home/tgk/Repos/Trusted/DistributedSystems/week5_TinsaeGhilay/client/src/main/java/net/tinsae/Client.java -/home/tgk/Repos/Trusted/DistributedSystems/week5_TinsaeGhilay/client/src/main/java/net/tinsae/Delegator.java -/home/tgk/Repos/Trusted/DistributedSystems/week5_TinsaeGhilay/client/src/main/java/net/tinsae/Main.java diff --git a/week5_TinsaeGhilay/shop/src/main/resources/META-INF/beans.xml b/week5_TinsaeGhilay/shop/src/main/resources/META-INF/beans.xml deleted file mode 100644 index 96b4c76..0000000 --- a/week5_TinsaeGhilay/shop/src/main/resources/META-INF/beans.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - \ No newline at end of file diff --git a/week5_TinsaeGhilay/solutions.txt b/week5_TinsaeGhilay/solutions.txt new file mode 100644 index 0000000..d4a3d81 --- /dev/null +++ b/week5_TinsaeGhilay/solutions.txt @@ -0,0 +1,5 @@ +Exercise 1: not mandatory +Exercise 2: done 100% +Exercise 3: done 100% +Exercise 4: done 100% +Exercise 5: not mandatory \ No newline at end of file