diff --git a/JodaTime_Migration_Plan_ArcMineWindowMsg.pdf b/JodaTime_Migration_Plan_ArcMineWindowMsg.pdf index efd71326..3a201fe3 100644 --- a/JodaTime_Migration_Plan_ArcMineWindowMsg.pdf +++ b/JodaTime_Migration_Plan_ArcMineWindowMsg.pdf @@ -42,7 +42,7 @@ endobj endobj 7 0 obj << -/Author (\(anonymous\)) /CreationDate (D:20261002191128-05'00') /Creator (\(unspecified\)) /Keywords () /ModDate (D:20261002191128-05'00') /Producer (ReportLab PDF Library - \(opensource\)) +/Author (\(anonymous\)) /CreationDate (D:20261002192444-05'00') /Creator (\(unspecified\)) /Keywords () /ModDate (D:20261002192444-05'00') /Producer (ReportLab PDF Library - \(opensource\)) /Subject (\(unspecified\)) /Title (\(anonymous\)) /Trapped /False >> endobj @@ -53,17 +53,17 @@ endobj endobj 9 0 obj << -/Filter [ /ASCII85Decode /FlateDecode ] /Length 1694 +/Filter [ /ASCII85Decode /FlateDecode ] /Length 941 >> stream -Gat=+92jk1&AI`dqN_OIGV-[>mu;m,MlC9G))AT90#CX%1QI`_'N4l+C!"[H[X_9c'hb+iA&bQ_D>tliW4nD'[P5`,2W\n+5b@"R""'5S`abmMSh5uToQtpk8`p\V4]=$-/9C[0Xet>jn,u\JnNh;K4slfW=6\s-JXY4l0(^j82i`"c<%Q0N2PDf.i%QU.e8`o:b)b9f(9E?%LXm3jlHj`.PI.83c$>2o#PZnWC8X_Vg!6NVdF,Zi.23!J:]QM6mZn^Ng_RhHA?88cc_:9/mi9ud&2J0l$%14BXt@g$O/+2iJFfPj>K`#P`'BU]XCE^]IX0?76rZ-+@R$;JX.0EX]Odhg,-V]9X$9``i=Gsl"2/"9ip&E-Z,H@QjPJ9FA]F!31^bR(Ku[DYm/=2#P''\Xe?]ZM_6fhR6m63S),9-D&U'Lh!"WH+nutqas8WIGbH/5b7M3mBthYe8.-oDG!aj2:(k+D3.U]aNkAL+2J9n"4+k:2*5d8>9:FQ+EVpASG=_'E3ZlZ'g`,T+c6URHc7:WMDhk4CeM3R:/Kc-UuDfPJ7X<]N4Rfo',`6r`jA4]GR4&h@8T1pa,$YFpnDcVG+I&"sU.^bFTNYrL>P_tQDi&gor#T`lUN:*/ZKFn6(BT'P>7p]hma9kCE\4NE3Y*mD4M>B]aAh/6H+@8I//9t-,nc+5"if(#G:8':,JnY',6,W:p\Pr-6[-!7AuCAMN5]70SSR,@g$);nLZ9Kpb&="@H,Ofe%b`jF4PDGE+LofXf.'"ijBGM'>"*=k_b]d]=dFh3"7UO2EL[G#E;$XONpVcc'_bT/'AD$68T]R(1p0Tca3,0YGJiBkA6$Nu,&=V4uX4-L$/UnbeqAL:GSDYS3JhV4^gH92>]^9OC&'*%!jquKcf?H)OL/Y&l,i$H.[=cj`")r,!nMUh?-Uk&VJI:2>S%A7#dXL]<,dF;6Mj">>Q5-bsDYkiaRefLEEd8;PjNO;O'GE:4n:K9Ml]:25>K&D=SSb3On#!6tfl7b'WpYT)(pa9TgHjiD5@/pI<>glbg?6E=kI#[bD]";Hn+g`Hc:<:r'JY/FUbQF+;*!V:p\qK(HFB]T0;J-Epnb6q-QhRt45Vk'B]+APIbraM_3IurTA!+Pu<&e&&tQ_9N/i(;9.ohK1LJ\r6t'c.[T[WTf3YUrVM=\d?9QNk#[e60W@47m2.q'k2Y\=-j5Rl<3!(YU8H[PqVnV3i[5=[u6O_Ur%6r0\%_RA!>t[W>'kD<,?^0S,&2#LT]O3N;>_*oKtCnO5eg:!Z2p7/*'qYG(Ue`dE4hF5$,RdY'\AD("Xj3]p/].i]*gF#c20YWp^kM>!0_gOZC%gE*nc?tr/c,<0Z9#M?^7nc~>endstream +GatUr>Aoub'S,*3Tc8b\HlXgC`s?!-jL(Y>1->Hk)D''8#s-F]g]87dYk"`lBT3Tm^l!8i6Wp6SbZmo,V/"V??KXrni.Jb0?*VACm%_*0WB_)-/JG0FmF<.87/$][#s;b/E#9aJSZ9bW8!Os#RoH'6hOBa1>.18?;%&=,F[e8QkpCIn\g0-PaqoErUce;Ja\%pp`nj8sgNOibjW9mK;P96:guFagtKR$BAg<#u>Y;4_##8/)UJT;t+&]+cfCjE7T^a9](jOG]:\rKJ/Lr)-hepCkkd&:Sp,<;SdjoS(qsK+f*K$hV)"^'D0:QL>TZG2ZIQ0Rh_k7_4md"VY*Udb?$t+?#i?iLrXF',n>!4#L$@cXVd3P\%'*T<;MK.h#].""@#s946\VD!)/,TLC)Vf;(G4pX57RqN5DGeQAt]\7N0^;`bI,`BjMR==YA%]dfoHkkC@2VZ4S%DdDW.Ic,"E)8RUNtlI[B,+5"P8#>r/FYU:)VO^hde>Q'0[sJ[RuDo(6pa=dRnh)'nr_U?i0E$+YK7:"DemIP2TuX&;GXpS-h.30M$GJE_aP%o;J;Z\DXZ#em3JK#E"WTmr#QS[D*aiJ8G-f2b+?u\P>uHk*dPlP[[/<*ZC1muX<,9]cusD]gP"?[@njM7"t6ROh$,9;NI--J!X5-tqh&.gV^695^F?+4h"hM]7PG'9?"JP%W9nb]C5l@<1gGfa2a]f(dkE,9j)@Nho$FudAM2H7aq:=2iLJiT'endstream endobj 10 0 obj << -/Filter [ /ASCII85Decode /FlateDecode ] /Length 921 +/Filter [ /ASCII85Decode /FlateDecode ] /Length 702 >> stream -Gat=)bAQ&g&A7ljp/\(^>g&ETaXorN6dZT^Wj\5o!DT[B2LMGKA_2Fh,qV37RhCQ$p]695%VKF/)%>cOi\sp=mgFAaPsI<[@L61$aJ&A;+,f"E?ImAkc!`LMd:=.7`\C]jBN_e$M:S]o0#P3B..#>GK3N.;is=P()dPL,$X^f,ehSn;L:dGr7L^+PM[m-2\cN(Ip\O=="H$P_]FA8_ddmUgoR(llT^PUs4G#n,Rh@]EdK.he+)b_l9*:\'>7qjb8OB)rX!-O+.+!6)`bSDFlDPgbf!JF/2rG.j?KlRH31;FBCIm!)G0s[pD[\n!rnBiE*0`Gip(UA\Lf#g>N2LYcD#&849~>endstream +Gau1+?#Q2d'Sc)J/']H/)@mMQOmZs]W>939[`,dEWZ5s`Ohha%FoD%j+$j+B;$C[>KYZMe*rC@m0\C^0p)<)oCC2.*0jk7M&MQKRkZ8&Sm!4?_0Dtm`Q(pRpF*9WHV),dn&!cdU>ZYnF#>GrRBklQ@=qP,VV$U8Y/?P;^A-(SU;S4Je!Qecp$N>_oM;T+0ZX4-Xh^gDaT*%4Yr;_bjCM9ReHMktJPD8DjX>`c;FL6A?G.Zq'etON%q*8*VPXd0UI&TE&Gg2p_]WCS*F@ID)1BA).3tOmNPF$m?*4!5AQ$TA"1,*io]\>M$i3AI@IGYfNQ(kTY(fFM^d0!=;lC1SE0TL"%Z%FJZ<":=98NMf);(G\GE=1GT:q/%QFp\Jj^.e1M+m8,9'<&7E@-UY[EE1f0A5LmM@*kr(jlIVj(_0FNc3i3XoP+:">PLTFgG#q9npllbY3mD_'Z?Dch=!95d`>ft1=ni[(XMZ;VYhkCl5[=,i=fT10L$n6\5X/+bS:5R;'3WeHr@KG?$k>6B&sQpniu]Dc0%ciNIf$Km\`YBT>un[[@\0h)p\6\>CA[1?jkW#hhdh+AjmFAUJ6,hM!,$,[gendstream endobj xref 0 11 @@ -77,11 +77,11 @@ xref 0000000776 00000 n 0000001056 00000 n 0000001121 00000 n -0000002906 00000 n +0000002152 00000 n trailer << /ID -[<4da05722106b6ed34629948cd6472599><4da05722106b6ed34629948cd6472599>] +[<823ed1f68bcfbaecab7b5c501b924b32><823ed1f68bcfbaecab7b5c501b924b32>] % ReportLab generated PDF document -- digest (opensource) /Info 7 0 R @@ -89,5 +89,5 @@ trailer /Size 11 >> startxref -3918 +2945 %%EOF diff --git a/JodaTime_References_Tracking.txt b/JodaTime_References_Tracking.txt index 5bf78644..c4084c07 100644 --- a/JodaTime_References_Tracking.txt +++ b/JodaTime_References_Tracking.txt @@ -14,7 +14,7 @@ Branch: ai-refactor-jodatimeFull ### Files to be Migrated 1. BaneRecord.java - [ ] 2. dbBaneHandler.java - [ ] -3. dbBuildingHandler.java - [ ] +3. dbBuildingHandler.java - ✅ COMPLETE 4. dbGuildHandler.java - [ ] 5. dbMobHandler.java - [ ] 6. dbNPCHandler.java - [ ] diff --git a/src/engine/db/handlers/dbBaneHandler.java b/src/engine/db/handlers/dbBaneHandler.java index 904f0cdd..ab2be067 100644 --- a/src/engine/db/handlers/dbBaneHandler.java +++ b/src/engine/db/handlers/dbBaneHandler.java @@ -14,7 +14,7 @@ import engine.objects.Bane; import engine.objects.Building; import engine.objects.City; import engine.objects.PlayerCharacter; -import org.joda.time.DateTime; +import java.time.Instant; import org.pmw.tinylog.Logger; import java.sql.Connection; @@ -71,12 +71,12 @@ public class dbBaneHandler extends dbHandlerBase { } - public boolean SET_BANE_TIME(DateTime toSet, int cityUUID) { + public boolean SET_BANE_TIME(Instant toSet, int cityUUID) { try (Connection connection = DbManager.getConnection(); PreparedStatement preparedStatement = connection.prepareStatement("UPDATE `dyn_banes` SET `liveDate`=? WHERE `cityUUID`=?")) { - preparedStatement.setTimestamp(1, new java.sql.Timestamp(toSet.getMillis())); + preparedStatement.setTimestamp(1, java.sql.Timestamp.from(toSet)); preparedStatement.setLong(2, cityUUID); preparedStatement.execute(); diff --git a/src/engine/db/handlers/dbBuildingHandler.java b/src/engine/db/handlers/dbBuildingHandler.java index 449def09..6e39531c 100644 --- a/src/engine/db/handlers/dbBuildingHandler.java +++ b/src/engine/db/handlers/dbBuildingHandler.java @@ -16,7 +16,9 @@ import engine.Enum.TaxType; import engine.gameManager.DbManager; import engine.math.Vector3fImmutable; import engine.objects.*; -import org.joda.time.DateTime; +import java.time.Instant; +import java.time.LocalDateTime; +import java.time.ZoneId; import org.pmw.tinylog.Logger; import java.sql.Connection; @@ -38,7 +40,7 @@ public class dbBuildingHandler extends dbHandlerBase { public Building CREATE_BUILDING(int parentZoneID, int OwnerUUID, String name, int meshUUID, Vector3fImmutable location, float meshScale, int currentHP, ProtectionState protectionState, int currentGold, int rank, - DateTime upgradeDate, int blueprintUUID, float w, float rotY) { + Instant upgradeDate, int blueprintUUID, float w, float rotY) { Building building = null; @@ -59,7 +61,7 @@ public class dbBuildingHandler extends dbHandlerBase { preparedStatement.setInt(12, rank); if (upgradeDate != null) - preparedStatement.setTimestamp(13, new java.sql.Timestamp(upgradeDate.getMillis())); + preparedStatement.setTimestamp(13, new java.sql.Timestamp(upgradeDate.toEpochMilli())); else preparedStatement.setNull(13, java.sql.Types.DATE); @@ -752,7 +754,7 @@ public class dbBuildingHandler extends dbHandlerBase { return false; } - public boolean updateBuildingUpgradeTime(LocalDateTime upgradeDateTime, Building toUpgrade, int costToUpgrade) { + public boolean updateBuildingUpgradeTime(Instant upgradeDateTime, Building toUpgrade, int costToUpgrade) { try (Connection connection = DbManager.getConnection(); PreparedStatement preparedStatement = connection.prepareStatement("UPDATE obj_building SET upgradeDate=?, currentGold=? " @@ -761,8 +763,7 @@ public class dbBuildingHandler extends dbHandlerBase { if (upgradeDateTime == null) preparedStatement.setNull(1, java.sql.Types.DATE); else - preparedStatement.setTimestamp(1, new java.sql.Timestamp(upgradeDateTime.atZone(ZoneId.systemDefault()) - .toInstant().toEpochMilli())); + preparedStatement.setTimestamp(1, new java.sql.Timestamp(upgradeDateTime.toEpochMilli())); preparedStatement.setInt(2, toUpgrade.getStrongboxValue() - costToUpgrade); preparedStatement.setInt(3, toUpgrade.getObjectUUID()); @@ -841,7 +842,7 @@ public class dbBuildingHandler extends dbHandlerBase { PreparedStatement preparedStatement = connection.prepareStatement("UPDATE obj_building SET taxDate=? " + "WHERE UID = ?")) { - preparedStatement.setTimestamp(1, new java.sql.Timestamp(DateTime.now().plusDays(7).getMillis())); + preparedStatement.setTimestamp(1, new java.sql.Timestamp(Instant.now().plus(java.time.temporal.ChronoUnit.DAYS, 7).toEpochMilli())); preparedStatement.setInt(2, building.getObjectUUID()); return (preparedStatement.executeUpdate() > 0);