From 0e27974ea4ec88b6d51fdaf0c7dac1e61f29a20b Mon Sep 17 00:00:00 2001 From: olhag Date: Sun, 19 May 2024 14:18:53 +0200 Subject: [PATCH] Fixed problem with onArriveMessage:arrivedPackages --- .../7.1/executionHistory/executionHistory.bin | Bin 80265 -> 80265 bytes .../executionHistory/executionHistory.lock | Bin 17 -> 17 bytes .gradle/7.1/fileHashes/fileHashes.bin | Bin 21797 -> 21847 bytes .gradle/7.1/fileHashes/fileHashes.lock | Bin 17 -> 17 bytes .../buildOutputCleanup.lock | Bin 17 -> 17 bytes .../com/example/DeliveryCar$CheckStop.class | Bin 1344 -> 1344 bytes .../com/example/DeliveryCar$LoadMessage.class | Bin 1772 -> 1772 bytes .../example/DeliveryCar$PickupResponse.class | Bin 1586 -> 1586 bytes .../com/example/DeliveryCar$StartRoute.class | Bin 1350 -> 1350 bytes .../java/main/com/example/DeliveryCar.class | Bin 10989 -> 11576 bytes .../DistributionCenter$ArriveMessage.class | Bin 1386 -> 1386 bytes .../DistributionCenter$GenerateRoutes.class | Bin 1083 -> 1083 bytes .../DistributionCenter$StartAllRoutes.class | Bin 500 -> 500 bytes .../main/com/example/DistributionCenter.class | Bin 11367 -> 11443 bytes .../compileJava/previous-compilation-data.bin | Bin 20804 -> 20858 bytes src/main/java/com/example/DeliveryCar.java | 20 ++++++++++++------ .../java/com/example/DistributionCenter.java | 2 +- 17 files changed, 14 insertions(+), 8 deletions(-) diff --git a/.gradle/7.1/executionHistory/executionHistory.bin b/.gradle/7.1/executionHistory/executionHistory.bin index c9a290a290879ceeb1b266068396e23d685ee1c6..b64d7e389e0c08b93333531a8000fa2a22c45451 100644 GIT binary patch delta 701 zcmeDD%+mRprC|#rzl=)iY!j0LqnyIh#H6C6@|3LN%;dzAp_TJ}ZV z;g9g zL19J%*5zQq1$!hUCi_Xx>-lW&mYi$+E=jz9{RWVX;dIl?ccYYIK?b+1?)c>GN zdOC+8qX7F<5Z7?Wcbl2e=q#xTNM} zmZcU|IwuyXIOn7$7U?DDBo-Gl2)y- zwrR(KQqu!W7%eysfsJ^{IQ^m+qv-UdCX8YtvOAVNV5%sPx#oFpm4*D;tOFp$=S>(D zBo3B->{Xk#fM?UJ{}LS+e;S_!Yu+3=x$&3Lc1u%6OD3}};m7$0_vps(FEQ5=uK3Ny z%pky?qZ|IQ^<$$@Li>!x8zl{aLh(~O51%|0pMI}q&i!bvh+Uh{_SZA&_kTELuvDeq mqgM91YX5hMbMJdVLHuhGBMTz~gKSaVsu}$Ue;D3|@|yttk}kji delta 714 zcmeDD%+mRprC|#rzl@5}?23YlB;(Suij<<%jHK*}ikuYFoV@&!oTOX^Fks#=xv|=H zb3=75-(<7xe%p<;8DB68JSG1*UgUe9NHx8z*ocS+*?>swv`6&X%9o!q!sesbqG0oJ>#Rs!`u zD3hMfVaO=J{tU!5+%fsWHW*g@4EoYAs}!1M?*$E z*1aI{=?_I1jaiO@1fz`@)mW~8Sgl5k$`ZS#2Ha(zWAPzTKJflh?|J=;UV>b3fNS!C zeTt%IC(bNWTKspqVD7X@xyhVcrh+7=*N6iBFcHk$D9WfVvV{5Z@7pntnHJh*oV~=p z`pFES)byFgj4C4W&LmxRk;sKllZfeI7Bn@t4u|98*S1CNrg-cMru&6e-PV2%N|D-Rd7RgFxzb z{+8U@RUH>*O^KU$^XCnq&{6i*H1&-$%ru@F%@a(-yu4`R&LeMixc}23h-^P=?23!->-J)2j0`%C{+H9p4uFk9nPX-KrV=2Y(pe IhN@`-0Q>|@8~^|S diff --git a/.gradle/7.1/executionHistory/executionHistory.lock b/.gradle/7.1/executionHistory/executionHistory.lock index 9675f43e2e81d14fc013f70c3bec207e5194afd4..89333587bf041b693cb9edaf6055e8a44efc137d 100644 GIT binary patch literal 17 VcmZQJ-Ffa%$-@Ly1~6b^2LLy`1Z4mK literal 17 VcmZQJ-Ffa%$-@Ly1~6cJ2>>{p1x5e> diff --git a/.gradle/7.1/fileHashes/fileHashes.bin b/.gradle/7.1/fileHashes/fileHashes.bin index e5e9bf737ad924b237795b6be38227f2dec36d07..7bba79aaaf14400356ada7976f5fa11052f6f4a0 100644 GIT binary patch delta 719 zcmZ3wit+j?#tkMCjLwryB|HSCUkVRPw&I%000yC|n@c5rvoc0*RQw^n(cpmKW=9WC zCguZkc_#OI=>uue&HKG77!~?IoHAIdQtweKdtJ5vyTmyL2FCsg$J+8CrUX_^KIknx zd5(|B<~pBJrXY)riIe1)1V{@lJSE=V5eHNSQr)BhQ7z;Pr1gw}geDLxg0R5#?0~Q- zF1o)}gqD3#claX=)^T7~IZzS^BrGPo`bRP!Yt@>(&|e=&t53cRrVS>u27vhflg+_& z(Bw=o?J;>an0A?b7EF6j{tu=jCL0DyN&K7l)p3#M?0GIZQ=I>BK0gF;UTf>*JX*6ecE(i%TYtDJed{LTZ=YyU}P@NqR9c)IJI!?RSG0!}HpUq{m{%mPa zrdv=Q(;zx@EhaMtsRKQ5XtH*Yl)}N%kG*Qs7VvDE^s0snxFVMWYDJT#PKQeNKG#tkMCj82nHB|J7ymH5oc=(thwhxkT=8-kl1Jv^D1yFz0p_j>6A>9o!J zy($LvF*4xR9 zLFzycyqc^XB&Be2cbb~o!X)c&B1K$EVUr&~75{=L)=A%-8f3>Pv5WcZiM%)3$JU%X z8?VfB!~v@6{p8)jiNLV=Jy||PO2TI+qkY{6iw`x-f}hn6UReQE^l@@vh);dI^U1>} zbJ?XobneNpU3cId?ccz>z)ynd*TML?CDK+Ng@(gFZ%{MhyY diff --git a/.gradle/7.1/fileHashes/fileHashes.lock b/.gradle/7.1/fileHashes/fileHashes.lock index bbe791b27a47558ebb82011cf7fbe5225a589a4d..341b18bb5a211e6d6f02d3db39ef07811e85ca36 100644 GIT binary patch literal 17 VcmZR6t*}YBa<=Ot1~A}#3ji@k1jzsZ literal 17 VcmZR6t*}YBa<=Ot1~B0H3;;1p1kL~e diff --git a/.gradle/buildOutputCleanup/buildOutputCleanup.lock b/.gradle/buildOutputCleanup/buildOutputCleanup.lock index 642f185b0c77adf6429c1f88af5a60e5e7b94063..9a1a8499a6277fa89f99899c599f32502f0e144f 100644 GIT binary patch literal 17 VcmZR6_T&GuLYbG|3}C>b3IIj+1#tiX literal 17 VcmZR6_T&GuLYbG|3}C?g5&%ZH1~dQw diff --git a/build/classes/java/main/com/example/DeliveryCar$CheckStop.class b/build/classes/java/main/com/example/DeliveryCar$CheckStop.class index a104d3d81f3612852b142fe15d10be951cd41d7e..e2c4eac93a85d8ed82a65281d87e2a52a503bfa6 100644 GIT binary patch delta 31 gcmX@Wb%1MwGz+8bWEmDaAQ=rNXR+7=*|%8I0E4XvL;wH) delta 31 gcmX@Wb%1MwGz+8LWEmDaAQ=rNXR+7=*|%8I0E6WSNB{r; diff --git a/build/classes/java/main/com/example/DeliveryCar$LoadMessage.class b/build/classes/java/main/com/example/DeliveryCar$LoadMessage.class index 30183298d0082e7a77cd58f24f75aa24f3a3879d..1987861058fd8f7485bdf9383e5ac2ff77f6b8a3 100644 GIT binary patch delta 41 pcmaFE`-XReGb^L`WEa+4Ao-D1bn0fg}g39guWqwFi>ztZqQ^9BT>y%n%AM delta 37 ncmdnQvx#TJW)?=N$y->0fg}g39guWqwFi>ztZqQ^9BT>y%w-BR diff --git a/build/classes/java/main/com/example/DeliveryCar$StartRoute.class b/build/classes/java/main/com/example/DeliveryCar$StartRoute.class index 65ef920dc8e807a7bc7a861bb62c7e68cb9cb510..6fbaa1b9d79229647b5f771308b41d5f211dc2fe 100644 GIT binary patch delta 35 jcmX@cb&P9+A`7GRWF;0mAejgyMJI1%(E{=xu%rP1sC5Z* delta 35 jcmX@cb&P9+A`7F;WF;0mAejgyMJI1%(E{=xu%rP1sJRJu diff --git a/build/classes/java/main/com/example/DeliveryCar.class b/build/classes/java/main/com/example/DeliveryCar.class index 9f31e90e04dad3ab0fae90f892c9419edf9c63f7..d5c06447d40f3031ce82bf995cdbdb46647ad8ab 100644 GIT binary patch delta 4408 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 ZQ+a%j$9`TvZ7|Uprsa5+&e15+{|hF1uJ8Z= delta 3991 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 OQrGQac}AW??tcJ_G&+L- diff --git a/build/classes/java/main/com/example/DistributionCenter$ArriveMessage.class b/build/classes/java/main/com/example/DistributionCenter$ArriveMessage.class index 00831207c15fe6e2458cbcb9d02786f67e2ec434..0743378a6afdf58b24a89bea697ff3af26c0b2f4 100644 GIT binary patch delta 41 vcmaFG^@?jlI18^S0}F#011Ezy10RFMJ7X0}F#Y11E#WJ7%0}F!(11E#$X)6l%+LUR=Q=T z$1KarD5LBJS-?OVwr$(?*xL85+g8@L?XKIdwY6<#(Ra=agZV?w`JeNh|M}kM^2tR9 z8;sY#8#)YNHoeqmJghsaaIJ~!utCgsl-RB(WQiR~X{qyC{JstY8(|o@5u0?}Wa4IQ z7XA7p?N$@FVT*WQpOo_xLc;3y)>8j^U+cOSf9Yc1mHt318gPe+ZMak9IkGh!cM&E@ z)~Pk^zQ$UAXQ!{pZ(uuiny^C9|{rIHqX3U^sBE z_|!2~yU)bcxL@SOOs##u#Dl0Om`(n`yspkbd#k^r(?A^dnRr-II-C4${tjQjzqGw8 z;O~?wJ!0Zf>?i2Woz<=D0@o6(Ma3%|=n;Ek=4eky@&n?7m`v>{6HntAVKFM5z39{N zoQZ>Yo{-8mq>4tPQtLM{fI-n?lxssKhVi2K$f&2oVpeQs)*%@3wj(B9#umPVHH<|m zUNP}Ayea~*1o|m8ns^)Uh!10D#r&FJ@#Z@4TTy6w zwcnfg1O6y3G7Dpm;?FwXHSrhh7hBD|q@#G>#0NM=u(kQu2bi!(v-kb$psiWNJYDURb5XOa_dif5cf z3=&LAWbmHTP01oA-gC}znqX3@B$J6GuL{#4US2fOqzt(?;Rk9gYi?@u1-d%?4$2b8 z;tRxRYP@(LEhA@^Jdz}NaD6NaXr@UO z*uVwBx-Rp#tTC_vI}K!0rAc$BO7tdrw7DjoOH~JtB|ht*fY_1of^8$AP%KF)6zei4 zID-b=NSk!J$)uZUv)Gk+B&9H3quZofTTGmyA{TLwxKL{LvCAtCXPJq~EU;Y)++}h; zxLveUyqmRP?k>4>w@Dzci@fo6x>qjjG4Um3xhRVl_R0mW{F9XLqI_oAXVAmctrJ)F z06i+2vR|Rcgf}Obo)EP;muhy^#Khw{Q|O?0C#S&n0wITMI7icIKnCL2#7v%sWDy>l zn9S2*!esGw=47i*hs37b%CdRfC@u6OB*KLR5QT9y7oPeT#rpqS?Kt{XP~T}2CMA&+uaL$x3|BstEY-||74IxamKyyD2GlaE-K?LUvL+72C3Y)duo?_4HMs~VQ3Rpw9#exxR z4dHeR>Nne|XY|7`)%J#T+W>Ybvhd0-rr52pyC0W@u!@j)Pvn}Qyr(6EJyy7TSt%Py zBg^?I0akGAF6P)>f-`X`s&P4+>tnPEeyrvGIsC^t>P7xd9<1@;}NhylvI<`Fyvo;y&`sEb z6CK|GsjyL<>Q03n2|sE}b#Ot*#OJ&Z#f)0Zmj z)^aUHD^cmvjhX58k`yh35t$jKA^ep1?9U1Pc&mO)%GTJ8*mQg1ujJxpjmmpQUmn-z zH+(0jL%KbL4ja;K!x+z<%@)qFOZwOv&Jl6*VzfRUW7$&{3-65T`=LN!Ul3$r9d+7W5Sy9d4hI#MsMs$o^9*T^qvh2({i2{v>0R z#gq3)x^Yp-=}zbw{UBNePv5$J){bWlby`N(C&?5}YB#KvHHv?A^B`L6#K}r&(DX@`2dJ<(S z(C)VOQ}zhrhEM}YI!W8WW0barL6o+Nfuaq{8)q@O;;|R$tXLfNX%2dh&-ZCD^gOT2v7ZLjI7BbfVWfW#{{c1n delta 3744 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 PxLjX(p6DRD81{bv$j$TM literal 20804 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 { public record CheckStop() implements Message {} + public record Clear() implements Message {} // Clear all packages in the delivery car + private DeliveryCar(ActorContext context, TimerScheduler timers, ArrayList> route) { super(context); this.route = route; @@ -46,12 +47,13 @@ public class DeliveryCar extends AbstractBehavior { .onMessage(LoadMessage.class, this::onLoadMessage) .onMessage(StartRoute.class, this::onStartRoute) .onMessage(CheckStop.class, this::onCheckStop) + .onMessage(Clear.class, this::onClear) .build(); } private Behavior onLoadMessage(LoadMessage msg) { pakete.addAll(msg.pakete); - getContext().getLog().info("Geladen {} Pakete in den LKW.", msg.pakete.size()); + getContext().getLog().info("Laden: {} Pakete wurden in den LKW geladen.", msg.pakete.size()); scheduleNextStopCheck(Duration.ofSeconds(3)); // Start checking the first stop after 3 seconds return this; } @@ -59,7 +61,7 @@ public class DeliveryCar extends AbstractBehavior { private Behavior onPickupResponse(PickupResponse rsp) { if (rsp.paket != null && rsp.paket.inhalt != null && pakete.size() < maxCapacity) { pakete.add(rsp.paket); - getContext().getLog().info("Ein Paket abgeholt. Aktuelle Anzahl der Pakete im LKW: {}", pakete.size()); + getContext().getLog().info("Abholung: Ein Paket wurde aufgenommen. Aktuelle Anzahl der Pakete im LKW: {}", pakete.size()); } scheduleNextStopCheck(Duration.ofSeconds(1)); // Move to the next stop after 1 second return this; @@ -67,14 +69,13 @@ public class DeliveryCar extends AbstractBehavior { private Behavior onCheckStop(CheckStop stop) { if (globalIndex >= route.size()) { - getContext().getLog().info("Der LKW kehrt zum Verteilzentrum zurück."); + getContext().getLog().info("Rückkehr: Der LKW kehrt zum Verteilzentrum zurück mit {} Paketen.", pakete.size()); DistributionCenter.ArriveMessage antwort = new DistributionCenter.ArriveMessage(pakete, getContext().getSelf()); getDistributionCenter().tell(antwort); - pakete.clear(); globalIndex = 0; } else { ActorRef currentStop = route.get(globalIndex); - getContext().getLog().info("Ich bin bei {}", currentStop.path().name()); + getContext().getLog().info("Aktuelle Haltestelle: {}", currentStop.path().name()); deliverPackages(currentStop); if (pakete.size() < maxCapacity) { sendPickupMessage(currentStop); @@ -91,8 +92,13 @@ public class DeliveryCar extends AbstractBehavior { return this; } + private Behavior onClear(Clear clear) { + pakete.clear(); + return this; + } + private void sendPickupMessage(ActorRef customer) { - customer.tell(new Customer.PickUpMessage(getContext().getSelf(), "LKW kann Paket abholen")); + customer.tell(new Customer.PickUpMessage(getContext().getSelf(), "Der LKW kann das Paket abholen.")); } private void deliverPackages(ActorRef customer) { diff --git a/src/main/java/com/example/DistributionCenter.java b/src/main/java/com/example/DistributionCenter.java index 9fdf470..10a1992 100644 --- a/src/main/java/com/example/DistributionCenter.java +++ b/src/main/java/com/example/DistributionCenter.java @@ -1,4 +1,3 @@ -// DistributionCenter.java package com.example; import akka.actor.typed.ActorRef; @@ -91,6 +90,7 @@ public class DistributionCenter extends AbstractBehavior arrivedPackages = msg.getPakete(); lagerraum.addAll(arrivedPackages); getContext().getLog().info("Angekommene Pakete: {} Anz Packeten in Lager: {}", arrivedPackages.size(), lagerraum.size()); + msg.getTruck().tell(new DeliveryCar.Clear()); // Entferne zufällig 3 Pakete aus dem Lagerraum und sende sie dem angekommenen Wagen int numPackagesToSend = Math.min(3, lagerraum.size());