Migrate JodaTime to java.time.* in dbBuildingHandler.java

This commit is contained in:
2026-10-02 19:24:54 -05:00
parent e9ce418772
commit 800f72512d
4 changed files with 20 additions and 19 deletions
+8 -8
View File
@@ -42,7 +42,7 @@ endobj
endobj endobj
7 0 obj 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 /Subject (\(unspecified\)) /Title (\(anonymous\)) /Trapped /False
>> >>
endobj endobj
@@ -53,17 +53,17 @@ endobj
endobj endobj
9 0 obj 9 0 obj
<< <<
/Filter [ /ASCII85Decode /FlateDecode ] /Length 1694 /Filter [ /ASCII85Decode /FlateDecode ] /Length 941
>> >>
stream stream
Gat=+92jk1&AI`dqN_OIGV-[>mu;m,MlC9G))AT90#CX%1QI`_'N4l+C!"[H[X_<a'$F2If<;C."C1j9o06L_I$qlZ2["pAo*(5k$"3`cI%?o.4sTaG=U\0eiFZ>9c'hb+iA&bQ_D>tliW4nD'[P5`,2W\n+5b@"R""'5S`abmMSh5uToQtpk8`p\V4]=$-/9<DqulV(R%M8bs"%XTNh:_^J\cE;9&>C[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!<oSc.%V`o']G[;<%?O!d9b7YS4SnM$P)MUBr4fL^=2?hsoM&0"`'V!>aj2:(k+D3.U]aNkAL+2J9n"4+k:<cICa:X*WXsCB!HX0Z&.f*pd"i8t4VBZ+$-GJJ0BtOhMXHrnccj[(o9R53dnoIth7QdJl0QH#I=[[YM[]&2\GP&"QCQS852ENHt_G9UmeOp>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-bsDYki<DIFTsWnc>aRefLEEd8;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-QhRt45V<r<2IpERq:7.s60[WFq.`i%_@pC$;i`n4fBCOAm9G9cC1]#RcKL=5T?Ycd?*r(C>k'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,*</'_X..>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<p39G*c=nDt\7t*J][PodK(NAs\IYM;Qm[9kJLaraG.8bdXg>$BAg<#u>Y;4_##8/)UJT;t+&]+cfCjE7T^a9](jOG]:\rKJ/Lr)-hepCk<k?F;+KFKZrZ%J'nOM#AlSq]q%(Rr_R-&f1JqA>kd&: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$+Y<u4^<:nRO'U[Y2.Kn>K7:"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@<<Aa/"4mIMS$:lOF>1gGfa2a]f(dkE,9j)@Nho$FudAM2H7aq:=2iLJiT'<DT`dXJ-VEiKd^I&X/o/s"n!*seRm$Sj*p%1iuD,eF,NS<^#9"YrX/q*nj7&ds~>endstream
endobj endobj
10 0 obj 10 0 obj
<< <<
/Filter [ /ASCII85Decode /FlateDecode ] /Length 921 /Filter [ /ASCII85Decode /FlateDecode ] /Length 702
>> >>
stream 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.<G-+28[[Mu\9FANXRM6Eg:2%t`:BI"\?Ops.fTG30KMSIUKi!#DMbCFU3P,+)1B'P?%/_1X9-Fn7Mnd1IU#ea$&j;OPBR,8S31;,ok?G_H;J-+pO+8I72j3E)]ug'^4Y$.G#ZNoEBl33hUN9Usgf(,(5-('fM^3iK&\Z7HObE:lQ<t#Z5D:`7qJsQ.A.+6f2qP2nOGI\6Mkp]b:+CHCb?kcp1k==]a#7-Ih`A#/BXJtMKU%d0/5Y;c0.aT\8A^`8&LufAgn:KQ.Q@J'"sOI!5@VK3PS&K$3023Zcr@-/,q,WnKo2Ve'Gb+&XQV"-j(:&,,&VR1(Ref-)JTW_]o]a)_AXG6"LkS]MWG$\CDsRa^m_BYYt6e4,?.AAs$8F)/C(1NC$9BL*$3$?&P6gJ@XlmR&kt96`ma`GM=Gje?\MJ4j\2[d5"Y16jj+nCM4KLmMCorB<!PV:,U-D.,k7W$UZU-:)h>j?KlRH31;FBCIm!)G0s[pD[\n!rnBiE<jrocn$bRd[8Ij$%hmu,Eki8Ias)[fc`o@4:0913WS!G%hN=UieoLaAC4TXft"ocB4Xc]O?)A)nmhWk't93p!,L,,!61*hKBVT>*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<lYY1Ki=P-Wmk,C`KeuDuqCA);SRn0`(@BWX"s)_PLin+'3T!ZF>`>ft1=ni[(XMZ;VYhkCl5[=,i=<Pk$T8n6K]+qH9J")BJM)aD-biRRcts1q;2*#(&ZTH@>fT10L$n6\5X/+bS:5R;'3WeHr@KG?$k>6B&sQpniu]Dc0%ciNIf$Km\`YBT>un[[@\0h)p\6\>CA[1?jkW#hhdh+AjmFAUJ6,hM!,$,[g<N<3-Q'~>endstream
endobj endobj
xref xref
0 11 0 11
@@ -77,11 +77,11 @@ xref
0000000776 00000 n 0000000776 00000 n
0000001056 00000 n 0000001056 00000 n
0000001121 00000 n 0000001121 00000 n
0000002906 00000 n 0000002152 00000 n
trailer trailer
<< <<
/ID /ID
[<4da05722106b6ed34629948cd6472599><4da05722106b6ed34629948cd6472599>] [<823ed1f68bcfbaecab7b5c501b924b32><823ed1f68bcfbaecab7b5c501b924b32>]
% ReportLab generated PDF document -- digest (opensource) % ReportLab generated PDF document -- digest (opensource)
/Info 7 0 R /Info 7 0 R
@@ -89,5 +89,5 @@ trailer
/Size 11 /Size 11
>> >>
startxref startxref
3918 2945
%%EOF %%EOF
+1 -1
View File
@@ -14,7 +14,7 @@ Branch: ai-refactor-jodatimeFull
### Files to be Migrated ### Files to be Migrated
1. BaneRecord.java - [ ] 1. BaneRecord.java - [ ]
2. dbBaneHandler.java - [ ] 2. dbBaneHandler.java - [ ]
3. dbBuildingHandler.java - [ ] 3. dbBuildingHandler.java - ✅ COMPLETE
4. dbGuildHandler.java - [ ] 4. dbGuildHandler.java - [ ]
5. dbMobHandler.java - [ ] 5. dbMobHandler.java - [ ]
6. dbNPCHandler.java - [ ] 6. dbNPCHandler.java - [ ]
+3 -3
View File
@@ -14,7 +14,7 @@ import engine.objects.Bane;
import engine.objects.Building; import engine.objects.Building;
import engine.objects.City; import engine.objects.City;
import engine.objects.PlayerCharacter; import engine.objects.PlayerCharacter;
import org.joda.time.DateTime; import java.time.Instant;
import org.pmw.tinylog.Logger; import org.pmw.tinylog.Logger;
import java.sql.Connection; 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(); try (Connection connection = DbManager.getConnection();
PreparedStatement preparedStatement = connection.prepareStatement("UPDATE `dyn_banes` SET `liveDate`=? WHERE `cityUUID`=?")) { 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.setLong(2, cityUUID);
preparedStatement.execute(); preparedStatement.execute();
@@ -16,7 +16,9 @@ import engine.Enum.TaxType;
import engine.gameManager.DbManager; import engine.gameManager.DbManager;
import engine.math.Vector3fImmutable; import engine.math.Vector3fImmutable;
import engine.objects.*; 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 org.pmw.tinylog.Logger;
import java.sql.Connection; 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, public Building CREATE_BUILDING(int parentZoneID, int OwnerUUID, String name, int meshUUID,
Vector3fImmutable location, float meshScale, int currentHP, Vector3fImmutable location, float meshScale, int currentHP,
ProtectionState protectionState, int currentGold, int rank, 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; Building building = null;
@@ -59,7 +61,7 @@ public class dbBuildingHandler extends dbHandlerBase {
preparedStatement.setInt(12, rank); preparedStatement.setInt(12, rank);
if (upgradeDate != null) if (upgradeDate != null)
preparedStatement.setTimestamp(13, new java.sql.Timestamp(upgradeDate.getMillis())); preparedStatement.setTimestamp(13, new java.sql.Timestamp(upgradeDate.toEpochMilli()));
else else
preparedStatement.setNull(13, java.sql.Types.DATE); preparedStatement.setNull(13, java.sql.Types.DATE);
@@ -752,7 +754,7 @@ public class dbBuildingHandler extends dbHandlerBase {
return false; 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(); try (Connection connection = DbManager.getConnection();
PreparedStatement preparedStatement = connection.prepareStatement("UPDATE obj_building SET upgradeDate=?, currentGold=? " PreparedStatement preparedStatement = connection.prepareStatement("UPDATE obj_building SET upgradeDate=?, currentGold=? "
@@ -761,8 +763,7 @@ public class dbBuildingHandler extends dbHandlerBase {
if (upgradeDateTime == null) if (upgradeDateTime == null)
preparedStatement.setNull(1, java.sql.Types.DATE); preparedStatement.setNull(1, java.sql.Types.DATE);
else else
preparedStatement.setTimestamp(1, new java.sql.Timestamp(upgradeDateTime.atZone(ZoneId.systemDefault()) preparedStatement.setTimestamp(1, new java.sql.Timestamp(upgradeDateTime.toEpochMilli()));
.toInstant().toEpochMilli()));
preparedStatement.setInt(2, toUpgrade.getStrongboxValue() - costToUpgrade); preparedStatement.setInt(2, toUpgrade.getStrongboxValue() - costToUpgrade);
preparedStatement.setInt(3, toUpgrade.getObjectUUID()); preparedStatement.setInt(3, toUpgrade.getObjectUUID());
@@ -841,7 +842,7 @@ public class dbBuildingHandler extends dbHandlerBase {
PreparedStatement preparedStatement = connection.prepareStatement("UPDATE obj_building SET taxDate=? " PreparedStatement preparedStatement = connection.prepareStatement("UPDATE obj_building SET taxDate=? "
+ "WHERE UID = ?")) { + "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()); preparedStatement.setInt(2, building.getObjectUUID());
return (preparedStatement.executeUpdate() > 0); return (preparedStatement.executeUpdate() > 0);