From e323a0064db81f7a6641fd87b953549725f8ebb2 Mon Sep 17 00:00:00 2001 From: Tony Grosinger Date: Fri, 16 Sep 2011 11:38:44 -0700 Subject: [PATCH] -Created BadRequestException -Finished implementation of max Objectives Signed-off-by: Tony Grosinger --- bin/net/grosinger/nomads/DroneListItem.class | Bin 10460 -> 10572 bytes bin/net/grosinger/nomads/TownHall.class | Bin 2194 -> 2422 bytes .../exceptions/BadRequestException.class | Bin 0 -> 413 bytes src/net/grosinger/nomads/DroneListItem.java | 4 ++++ src/net/grosinger/nomads/TownHall.java | 8 +++++++- .../exceptions/BadRequestException.java | 9 +++++++++ 6 files changed, 20 insertions(+), 1 deletion(-) create mode 100644 bin/net/grosinger/nomads/exceptions/BadRequestException.class create mode 100644 src/net/grosinger/nomads/exceptions/BadRequestException.java diff --git a/bin/net/grosinger/nomads/DroneListItem.class b/bin/net/grosinger/nomads/DroneListItem.class index 4480a58b249b5e83b332dfe764f46423a19c3cf7..f16932cf5d762d2193c2b220d349e317f0931cdf 100644 GIT binary patch delta 4484 zcmaJ_31C#!6+QQ5{`{HA%bt)7NeC1YvI#;Y!3dZ@!Xils1dMg<|RZ_`8*32 zm3tOX_snl#*-_V8?P>CPYn&jgmqLFe_Rdp(UDM`l)8lTq&|ux*yuV(fApakOKP z#INzFvC=t*g~ucgvhabk%=rYK)bSfaKNY;LCXo28ajh%O{-du~EPR;j6}(EI3c?Vhe^|0{#^p5b3y-wFChA`7eo2 zkjn_yG#5ws6zWQQM&eV$Cr3quV*$R9h{Jyf8OBz7l93h}8ScVYIH%*R#ef9XMQ9RV z;~OJAVvzkiiSy_-rbJYf5=q>Qr7j91O(z>6(ky+0r>S;mxyQFqlAUydy~Wd1)69ir zo|M>&W)?BW01kx0B}wDGh~;_lk`h!9TC2~i0G|ZIMM>0GCpRJb`&mnx+n6zuk}1X5 z5_#pwBpM_sT`dw`W16n^G_-kDK!YV^QWlqZfwzt+YRfFiD&cu4M^Y|bVkAV3un(1V zDGf6!qw<`2G(xA#2>Hx_1Y>^mfGkP*3b?4nEp<&kldscTJPW*Pijj(K+g1F95*v-v zQJcq(lgPj^7gy;8r5`V`nsGrjO_VfAaY-_ptD9RIYO1&cl*?p^+boxI$*h@TJRd#M zHr3*7f{`2(ZmS9jN1aZ;i>Be6D%Uv|RnttJuDJl0Dj$bgD`^%UWxTyNw0Rm@)$-R$ zx{l`X@{P<{t8I&Y%k_Y+o*Eg;Lopq93P~l2(~M70s&El+S8OwAU=V}{jgx%`YyF^6nz1E0(MU~p&{iWOd9aqrx-6v&Z!ps!Y{PcrXmY%9 zM{PCuyR#4B-xpB-dbqg?cW`=l zB7*;lxZ}ohgO!oL9aVHcX3!emht|PE>#>kJP){4tKwGec9>j9m3O{YfD%yp+=pnv5 zbYcxXjJ32I8)y$U(Ozt&eY__f?1l2qAQUca-~;_LF0tyeILL2Nq;rGETEC-6(-eIX(_`J2UC;O-P`{dgryC|_xX9NcB zKzO$8AQ+cL3XmO;maP-BEr1gEQMm(=@sw%~>cm*3*$HKswM`k)f`%;C)NC^i^UV49-x7Xx+vqGd`Blns}kj^-H-a%YQk!4^KR#0^PQYjg;FOt z1C$-0A)Rm)y4}f9SCtTPwT-YzTuwQXu&vIeAQOaA;WFat3gkhGj!6P)(3p;KUI#vq@+JzIFgbR;| za2ym8PlyOSEn;y(#Nic@fYTxg=LKJJL|@WGDn*Jo8YI$8ax7N0@>6<<9en2rvV$U- z9VR)**+Y)+ddP7mNRCpRqAQptc1*@e8bza_^ZjHxjbWXGGag7+@|%-sqEQhQ^My?H z(InMJ7M-qwV{C6e@ii-nPr;<5BzB46^t0f)*v_nDw>EPh#`=GM6QOhILx)`3E|?I`)D1!#JqW_7>}LZRKQx$ObE`ohss zg}P!LkJk2u0x*|P4bbeA4n$;!f|;8dlsJz7dG>MAdl0~3Cez3G9AEa3YCCr@gg+Cy z$U=2{sz#Vk~OKI3`vJR*6#F zA|_$2n2e3047)@*_J}DsEGqH1n2Kja652XYc$Hfso(WgO1QF=NmvAq?g<&l^=z6N;h_Lo<1Ef|x6dEW(IxzT4s|AN+YOwH5?{#GhcZtds1oW_9wQ#&zI?Fl)G4!!q;(TWaAn-ba)92J*v zQG=?29{xmFLmNA~k1$UQ7pon?&E?AJDP9JgT)Z0*CYEunZbpt+j$E+*U;ml9qKEnl?wG^Y}Ku9)qZN7 z`5bI}tGlS}$tPTsv-i_Ye4a<^Q#$#=%F@j&^$30zY$3}nENCI&XDrx5!W}F`J3^BG zE+zID?_nuun|Xj*_wv>djlTQ^ydC{8m`|E^Y{F73<7e+nakROYsXLt7TnZ2~(XW%yjd)d8Lw&Sk^8fiLQ#$j*v@%-!{mMcM z2ZCr_wV&36&{}Juh4*=%3FU^DSqR~Sw^>m5_!W-$h@~Kooc5Z%%%o_pSqiV3%1dSO zGaGrx=Vt+m_z?cFvAlh8y{x3bO Btz-ZI delta 4308 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 PH;?l2{}K>w8Rh*ipk$N_ diff --git a/bin/net/grosinger/nomads/TownHall.class b/bin/net/grosinger/nomads/TownHall.class index 64d85857f544f94ddbc23c39e5c65f984442bf7d..4958976e9b0893cab89c679cb619d728ab77ad0a 100644 GIT binary patch delta 437 zcmX|*-AWsA5XFBRo1|Hl9f0 zXiUnOIZ%7H+6mo;-z+R!&UdvNsb;wHPt(^b delta 223 zcmXAjK~BP85QV?Lh&81aYy_cFED6D+iHSCb#0{=s@1iDdjEPc8FX0{dSKa~&fkczK z_Y9oFC2D)YPlquVJkaG)JTLS}>Ff8SBs)Nf+mw?rhG_7@4ebw{ voME^o*zmge!h6~hf6KOnCFlsljpQO+ZsixS|I@<9(mhL+P_7K8A`Q|%yo4W} diff --git a/bin/net/grosinger/nomads/exceptions/BadRequestException.class b/bin/net/grosinger/nomads/exceptions/BadRequestException.class new file mode 100644 index 0000000000000000000000000000000000000000..3a28dd2941de9d81de181dccbcf5ad9f02efb605 GIT binary patch literal 413 zcmbV{y-ve06otr&#Vk+tYf+=F4sJok3!6>o8b`Y<{gv7uD@KA`G zQec1yU+K!<_3`oX+xyEafJ5{XM1&)wf+(H!+LX!(V{2J>p&oN}7qm5AoXX-#-8agI z^RHoon6Q2;AEcv{*4nxAmPWB@h1;_S--7z6PvxQ1Ahs7@D(INCQZPaB` zPn5fslS&c#nayQ2mQJ@k8^+;Ad%|({kGumyQY-IeId%V)i;#|N<8pPO+xNHr`0_z} z3ELn}-Y(+e_}mkwAtElIv$y|@g(u!cNV%t getCurrentObjectives() { return currentObjectives; } + + public boolean getCurrentObjectivesFull(){ + return currentObjectives.size() >= Nomads.MAXREQUESTEDOBJECTIVES; + } /** * Returns if the drone is wanted diff --git a/src/net/grosinger/nomads/TownHall.java b/src/net/grosinger/nomads/TownHall.java index 2e97d06..577538b 100644 --- a/src/net/grosinger/nomads/TownHall.java +++ b/src/net/grosinger/nomads/TownHall.java @@ -1,5 +1,6 @@ package net.grosinger.nomads; +import net.grosinger.nomads.exceptions.BadRequestException; import net.grosinger.nomads.exceptions.ObjectReferenceOutdatedException; /** @@ -44,9 +45,14 @@ public class TownHall extends NeighborBuilding { * created in a previous turn. * * @throws ObjectReferenceOutdatedException + * @throws BadRequestException */ - public Point requestNewObjective() throws ObjectReferenceOutdatedException { + public Point requestNewObjective() throws ObjectReferenceOutdatedException, BadRequestException { if (verifyObjectValidity()) { + if (drone.getCurrentObjectivesFull()) { + throw new BadRequestException( + "Maximum number of requested objectives already achieved"); + } return Nomads.awesomeWorld.generateObjective(drone); } else { throw new ObjectReferenceOutdatedException(); diff --git a/src/net/grosinger/nomads/exceptions/BadRequestException.java b/src/net/grosinger/nomads/exceptions/BadRequestException.java new file mode 100644 index 0000000..b7ff85f --- /dev/null +++ b/src/net/grosinger/nomads/exceptions/BadRequestException.java @@ -0,0 +1,9 @@ +package net.grosinger.nomads.exceptions; + +public class BadRequestException extends Exception { + + public BadRequestException(String message) { + super(message); + } + +}