@ -27,7 +27,6 @@ import java.time.LocalDateTime;
@@ -27,7 +27,6 @@ import java.time.LocalDateTime;
import java.time.ZoneId ;
import java.util.ArrayList ;
import java.util.HashMap ;
import java.util.concurrent.ConcurrentHashMap ;
public class dbBuildingHandler extends dbHandlerBase {
@ -119,7 +118,7 @@ public class dbBuildingHandler extends dbHandlerBase {
@@ -119,7 +118,7 @@ public class dbBuildingHandler extends dbHandlerBase {
try ( Connection connection = DbManager . getConnection ( ) ;
PreparedStatement preparedStatement = connection . prepareStatement ( "SELECT `obj_building`.*, `object`.`parent` FROM `object` INNER JOIN `obj_building` ON `obj_building`.`UID` = `object`.`UID` WHERE `object`.`UID` = ?;" ) ) {
preparedStatement . setLong ( 1 , ( long ) uuid ) ;
preparedStatement . setLong ( 1 , uuid ) ;
ResultSet rs = preparedStatement . executeQuery ( ) ;
building = ( Building ) getObjectFromRs ( rs ) ;
@ -468,59 +467,55 @@ public class dbBuildingHandler extends dbHandlerBase {
@@ -468,59 +467,55 @@ public class dbBuildingHandler extends dbHandlerBase {
if ( building = = null )
return ;
prepareCallable ( "SELECT * FROM `dyn_building_condemned` WHERE `buildingUID` = ?" ) ;
setInt ( 1 , building . getObjectUUID ( ) ) ;
try ( Connection connection = DbManager . getConnection ( ) ;
PreparedStatement preparedStatement = connection . prepareStatement ( "SELECT * FROM `dyn_building_condemned` WHERE `buildingUID` = ?" ) ) {
try {
ResultSet rs = executeQuery ( ) ;
preparedStatement . setInt ( 1 , building . getObjectUUID ( ) ) ;
ResultSet rs = preparedStatement . executeQuery ( ) ;
//shrines cached in rs for easy cache on creation.
while ( rs . next ( ) ) {
Condemned condemn = new Condemned ( rs ) ;
switch ( condemn . getFriendType ( ) ) {
Condemned condemned = new Condemned ( rs ) ;
switch ( condemned . getFriendType ( ) ) {
case 2 :
building . getCondemned ( ) . put ( condemn . getPlayerUID ( ) , condemn ) ;
building . getCondemned ( ) . put ( condemned . getPlayerUID ( ) , condemned ) ;
break ;
case 4 :
case 5 :
building . getCondemned ( ) . put ( condemn . getGuildUID ( ) , condemn ) ;
building . getCondemned ( ) . put ( condemned . getGuildUID ( ) , condemned ) ;
break ;
}
}
} catch ( SQLException e ) {
Logger . error ( "LOAD Condemned for building: " + e . getErrorCode ( ) + ' ' + e . getMessage ( ) , e ) ;
} finally {
closeCallable ( ) ;
Logger . error ( e ) ;
}
}
public ArrayList < Vector3fImmutable > LOAD_PATROL_POINTS ( Building building ) {
if ( building = = null )
return null ;
ArrayList < Vector3fImmutable > patrolPoints = new ArrayList < > ( ) ;
try ( Connection connection = DbManager . getConnection ( ) ;
PreparedStatement preparedStatement = connection . prepareStatement ( "SELECT * FROM `dyn_building_patrol_points` WHERE `buildingUID` = ?" ) ) {
preparedStatement . setInt ( 1 , building . getObjectUUID ( ) ) ;
prepareCallable ( "SELECT * FROM `dyn_building_patrol_points` WHERE `buildingUID` = ?" ) ;
setInt ( 1 , building . getObjectUUID ( ) ) ;
try {
ResultSet rs = executeQuery ( ) ;
ResultSet rs = preparedStatement . executeQuery ( ) ;
//shrines cached in rs for easy cache on creation.
while ( rs . next ( ) ) {
float x1 = rs . getFloat ( "patrolX" ) ;
float y1 = rs . getFloat ( "patrolY" ) ;
float z1 = rs . getFloat ( "patrolZ" ) ;
Vector3fImmutable patrolPoint = new Vector3fImmutable ( x1 , y1 , z1 ) ;
Vector3fImmutable patrolPoint = new Vector3fImmutable ( x1 , y1 , z1 ) ;
patrolPoints . add ( patrolPoint ) ;
}
} catch ( SQLException e ) {
Logger . error ( "LOAD Patrol Points for building: " + e . getErrorCode ( ) + ' ' + e . getMessage ( ) , e ) ;
} finally {
closeCallable ( ) ;
Logger . error ( e ) ;
}
return patrolPoints ;
@ -528,134 +523,136 @@ public class dbBuildingHandler extends dbHandlerBase {
@@ -528,134 +523,136 @@ public class dbBuildingHandler extends dbHandlerBase {
}
public boolean ADD_TO_CONDEMNLIST ( final long parentUID , final long playerUID , final long guildID , final int friendType ) {
prepareCallable ( "INSERT INTO `dyn_building_condemned` (`buildingUID`, `playerUID`,`guildUID`, `friendType`) VALUES (?,?,?,?)" ) ;
setLong ( 1 , parentUID ) ;
setLong ( 2 , playerUID ) ;
setLong ( 3 , guildID ) ;
setInt ( 4 , friendType ) ;
return ( executeUpdate ( ) > 0 ) ;
try ( Connection connection = DbManager . getConnection ( ) ;
PreparedStatement preparedStatement = connection . prepareStatement ( "INSERT INTO `dyn_building_condemned` (`buildingUID`, `playerUID`,`guildUID`, `friendType`) VALUES (?,?,?,?)" ) ) {
preparedStatement . setLong ( 1 , parentUID ) ;
preparedStatement . setLong ( 2 , playerUID ) ;
preparedStatement . setLong ( 3 , guildID ) ;
preparedStatement . setInt ( 4 , friendType ) ;
return ( preparedStatement . executeUpdate ( ) > 0 ) ;
} catch ( SQLException e ) {
Logger . error ( e ) ;
return false ;
}
public boolean ADD_TO_PATROL ( final long parentUID , final Vector3fImmutable patrolPoint ) {
prepareCallable ( "INSERT INTO `dyn_building_patrol_points` (`buildingUID`, `patrolX`,`patrolY`, `patrolZ`) VALUES (?,?,?,?)" ) ;
setLong ( 1 , parentUID ) ;
setFloat ( 2 , ( int ) patrolPoint . x ) ;
setFloat ( 3 , ( int ) patrolPoint . y ) ;
setFloat ( 4 , ( int ) patrolPoint . z ) ;
return ( executeUpdate ( ) > 0 ) ;
}
public HashMap < Integer , ArrayList < BuildingRegions > > LOAD_BUILDING_REGIONS ( ) {
public boolean ADD_TO_PATROL ( final long parentUID , final Vector3fImmutable patrolPoint ) {
try ( Connection connection = DbManager . getConnection ( ) ;
PreparedStatement preparedStatement = connection . prepareStatement ( "INSERT INTO `dyn_building_patrol_points` (`buildingUID`, `patrolX`,`patrolY`, `patrolZ`) VALUES (?,?,?,?)" ) ) {
preparedStatement . setLong ( 1 , parentUID ) ;
preparedStatement . setFloat ( 2 , ( int ) patrolPoint . x ) ;
preparedStatement . setFloat ( 3 , ( int ) patrolPoint . y ) ;
preparedStatement . setFloat ( 4 , ( int ) patrolPoint . z ) ;
return ( preparedStatement . executeUpdate ( ) > 0 ) ;
} catch ( SQLException e ) {
Logger . error ( e ) ;
return false ;
}
HashMap < Integer , ArrayList < BuildingRegions > > regions ;
BuildingRegions thisRegions ;
}
public HashMap < Integer , ArrayList < BuildingRegions > > LOAD_BUILDING_REGIONS ( ) {
regions = new HashMap < > ( ) ;
HashMap < Integer , ArrayList < BuildingRegions > > regionList = new HashMap < > ( ) ;
BuildingRegions buildingRegions ;
int recordsRead = 0 ;
prepareCallable ( "SELECT * FROM static_building_regions" ) ;
try ( Connection connection = DbManager . getConnection ( ) ;
PreparedStatement preparedStatement = connection . prepareStatement ( "SELECT * FROM static_building_regions" ) ) {
try {
ResultSet rs = executeQuery ( ) ;
ResultSet rs = preparedStatement . executeQuery ( ) ;
while ( rs . next ( ) ) {
recordsRead + + ;
thisRegions = new BuildingRegions ( rs ) ;
if ( regions . get ( thisRegions . getBuildingID ( ) ) = = null ) {
buildingRegions = new BuildingRegions ( rs ) ;
if ( regionList . get ( buildingRegions . getBuildingID ( ) ) = = null ) {
ArrayList < BuildingRegions > regionsList = new ArrayList < > ( ) ;
regionsList . add ( thisRegions ) ;
regions . put ( thisRegions . getBuildingID ( ) , regionsList ) ;
}
else {
ArrayList < BuildingRegions > regionsList = regions . get ( thisRegions . getBuildingID ( ) ) ;
regionsList . add ( thisRegions ) ;
regions . put ( thisRegions . getBuildingID ( ) , regionsList ) ;
regionsList . add ( buildingRegions ) ;
regionList . put ( buildingRegions . getBuildingID ( ) , regionsList ) ;
} else {
ArrayList < BuildingRegions > regionsList = regionList . get ( buildingRegions . getBuildingID ( ) ) ;
regionsList . add ( buildingRegions ) ;
regionList . put ( buildingRegions . getBuildingID ( ) , regionsList ) ;
}
}
Logger . info ( "read: " + recordsRead + " cached: " + regions . size ( ) ) ;
} catch ( SQLException e ) {
Logger . error ( ": " + e . getErrorCode ( ) + ' ' + e . getMessage ( ) , e ) ;
} finally {
closeCallable ( ) ;
Logger . error ( e ) ;
return null ;
}
return regions ;
Logger . info ( "read: " + recordsRead + " cached: " + regionList . size ( ) ) ;
return regionList ;
}
public HashMap < Integer , MeshBounds > LOAD_MESH_BOUNDS ( ) {
HashMap < Integer , MeshBounds > meshBoundsMap ;
HashMap < Integer , MeshBounds > meshBoundsMap = new HashMap < > ( ) ;
MeshBounds meshBounds ;
meshBoundsMap = new HashMap < > ( ) ;
int recordsRead = 0 ;
prepareCallable ( "SELECT * FROM static_mesh_bounds" ) ;
try ( Connection connection = DbManager . getConnection ( ) ;
PreparedStatement preparedStatement = connection . prepareStatement ( "SELECT * FROM static_mesh_bounds" ) ) {
try {
ResultSet rs = executeQuery ( ) ;
ResultSet rs = preparedStatement . executeQuery ( ) ;
while ( rs . next ( ) ) {
recordsRead + + ;
meshBounds = new MeshBounds ( rs ) ;
meshBoundsMap . put ( meshBounds . meshID , meshBounds ) ;
}
Logger . info ( "read: " + recordsRead + " cached: " + meshBoundsMap . size ( ) ) ;
} catch ( SQLException e ) {
Logger . error ( "LoadMeshBounds: " + e . getErrorCode ( ) + ' ' + e . getMessage ( ) , e ) ;
} finally {
closeCallable ( ) ;
Logger . error ( e ) ;
}
Logger . info ( "read: " + recordsRead + " cached: " + meshBoundsMap . size ( ) ) ;
return meshBoundsMap ;
}
public HashMap < Integer , ArrayList < StaticColliders > > LOAD_ALL_STATIC_COLLIDERS ( ) {
HashMap < Integer , ArrayList < StaticColliders > > colliders ;
HashMap < Integer , ArrayList < StaticColliders > > colliders = new HashMap < > ( ) ;
StaticColliders thisColliders ;
colliders = new HashMap < > ( ) ;
int recordsRead = 0 ;
prepareCallable ( "SELECT * FROM static_building_colliders" ) ;
try ( Connection connection = DbManager . getConnection ( ) ;
PreparedStatement preparedStatement = connection . prepareStatement ( "SELECT * FROM static_building_colliders" ) ) {
try {
ResultSet rs = executeQuery ( ) ;
ResultSet rs = preparedStatement . executeQuery ( ) ;
while ( rs . next ( ) ) {
recordsRead + + ;
thisColliders = new StaticColliders ( rs ) ;
if ( colliders . get ( thisColliders . getMeshID ( ) ) = = null ) {
if ( colliders . get ( thisColliders . getMeshID ( ) ) = = null ) {
ArrayList < StaticColliders > colliderList = new ArrayList < > ( ) ;
colliderList . add ( thisColliders ) ;
colliders . put ( thisColliders . getMeshID ( ) , colliderList ) ;
}
else {
ArrayList < StaticColliders > colliderList = colliders . get ( thisColliders . getMeshID ( ) ) ;
} else {
ArrayList < StaticColliders > colliderList = colliders . get ( thisColliders . getMeshID ( ) ) ;
colliderList . add ( thisColliders ) ;
colliders . put ( thisColliders . getMeshID ( ) , colliderList ) ;
}
}
Logger . info ( "read: " + recordsRead + " cached: " + colliders . size ( ) ) ;
} catch ( SQLException e ) {
Logger . error ( "LoadAllBlueprints: " + e . getErrorCode ( ) + ' ' + e . getMessage ( ) , e ) ;
} finally {
closeCallable ( ) ;
Logger . error ( e ) ;
}
Logger . info ( "read: " + recordsRead + " cached: " + colliders . size ( ) ) ;
return colliders ;
}
@ -666,174 +663,204 @@ public class dbBuildingHandler extends dbHandlerBase {
@@ -666,174 +663,204 @@ public class dbBuildingHandler extends dbHandlerBase {
public final DbObjectType GET_UID_ENUM ( long object_UID ) {
DbObjectType storedEnum = DbObjectType . INVALID ;
String typeString ;
if ( object_UID = = 0 )
return storedEnum ;
// Set up call to stored procedure
prepareCallable ( "CALL object_UID_ENUM(?)" ) ;
setLong ( 1 , object_UID ) ;
try ( Connection connection = DbManager . getConnection ( ) ;
PreparedStatement preparedStatement = connection . prepareStatement ( "SELECT `type` FROM `object` WHERE `object`.`UID` = n LIMIT 1;" ) ) {
try {
preparedStatement . setLong ( 1 , object_UID ) ;
// Evaluate database ordinal and return enum
ResultSet rs = preparedStatement . executeQuery ( ) ;
if ( rs . next ( ) )
storedEnum = DbObjectType . valueOf ( getString ( "type" ) . toUpperCase ( ) ) ;
} catch ( Exception e ) {
storedEnum = DbObjectType . INVALID ;
Logger . error ( "UID_ENUM " , "Orphaned Object? Lookup failed for UID: " + object_UID ) ;
} finally {
closeCallable ( ) ;
} catch ( SQLException e ) {
Logger . error ( "Building" , e ) ;
return DbObjectType . INVALID ;
}
return storedEnum ;
}
public ConcurrentHashMap < Integer , Integer > GET_FRIENDS ( final long buildingID ) {
ConcurrentHashMap < Integer , Integer > friendsList = new ConcurrentHashMap < > ( ) ;
prepareCallable ( "SELECT * FROM `dyn_building_friends` WHERE `buildingUID`=?" ) ;
setLong ( 1 , buildingID ) ;
try {
ResultSet rs = executeQuery ( ) ;
while ( rs . next ( ) ) {
int friendType = rs . getInt ( "friendType" ) ;
switch ( friendType ) {
case 7 :
friendsList . put ( rs . getInt ( "playerUID" ) , 7 ) ;
break ;
case 8 :
friendsList . put ( rs . getInt ( "guildUID" ) , 8 ) ;
break ;
case 9 :
friendsList . put ( rs . getInt ( "guildUID" ) , 9 ) ;
}
}
public boolean updateBuildingRank ( final Building b , int Rank ) {
try ( Connection connection = DbManager . getConnection ( ) ;
PreparedStatement preparedStatement = connection . prepareStatement ( "UPDATE `obj_building` SET `rank`=?,"
+ "`upgradeDate`=?, `meshUUID`=?, `currentHP`=? "
+ "WHERE `UID` = ?" ) ) {
preparedStatement . setInt ( 1 , Rank ) ;
preparedStatement . setNull ( 2 , java . sql . Types . DATE ) ;
preparedStatement . setInt ( 3 , b . getBlueprint ( ) . getMeshForRank ( Rank ) ) ;
preparedStatement . setInt ( 4 , b . getBlueprint ( ) . getMaxHealth ( Rank ) ) ;
preparedStatement . setInt ( 5 , b . getObjectUUID ( ) ) ;
return ( preparedStatement . executeUpdate ( ) > 0 ) ;
rs . close ( ) ;
} catch ( SQLException e ) {
Logger . error ( "dbBuildingHandler.GET_FRIENDS_GUILD_IC" , e ) ;
} finally {
closeCallable ( ) ;
Logger . error ( e ) ;
return false ;
}
return friendsList ;
}
public boolean updateBuildingRank ( final Building b , int Rank ) {
public boolean updateReverseKOS ( final Building b , boolean reverse ) {
prepareCallable ( "UPDATE `obj_building` SET `rank`=?,"
+ "`upgradeDate`=?, `meshUUID`=?, `currentHP`=? "
+ "WHERE `UID` = ?" ) ;
try ( Connection connection = DbManager . getConnection ( ) ;
PreparedStatement preparedStatement = connection . prepareStatement ( "UPDATE `obj_building` SET `reverseKOS`=? WHERE `UID` = ?" ) ) {
setInt ( 1 , Rank ) ;
setNULL ( 2 , java . sql . Types . DATE ) ;
setInt ( 3 , b . getBlueprint ( ) . getMeshForRank ( Rank ) ) ;
setInt ( 4 , b . getBlueprint ( ) . getMaxHealth ( Rank ) ) ;
setInt ( 5 , b . getObjectUUID ( ) ) ;
return ( executeUpdate ( ) > 0 ) ;
}
preparedStatement . setBoolean ( 1 , reverse ) ;
preparedStatement . setInt ( 2 , b . getObjectUUID ( ) ) ;
public boolean updateReverseKOS ( final Building b , boolean reverse ) {
return ( preparedStatement . executeUpdate ( ) > 0 ) ;
} catch ( SQLException e ) {
Logger . error ( e ) ;
return false ;
}
prepareCallable ( "UPDATE `obj_building` SET `reverseKOS`=? "
+ "WHERE `UID` = ?" ) ;
setBoolean ( 1 , reverse ) ;
setInt ( 2 , b . getObjectUUID ( ) ) ;
return ( executeUpdate ( ) > 0 ) ;
}
public boolean updateActiveCondemn ( final Condemned condemn , boolean active ) {
prepareCallable ( "UPDATE `dyn_building_condemned` SET `active`=? "
+ "WHERE`buildingUID` = ? AND `playerUID` = ? AND `guildUID` = ? AND `friendType` = ?" ) ;
setBoolean ( 1 , active ) ;
setInt ( 2 , condemn . getParent ( ) ) ;
setInt ( 3 , condemn . getPlayerUID ( ) ) ;
setInt ( 4 , condemn . getGuildUID ( ) ) ;
setInt ( 5 , condemn . getFriendType ( ) ) ;
return ( executeUpdate ( ) > 0 ) ;
try ( Connection connection = DbManager . getConnection ( ) ;
PreparedStatement preparedStatement = connection . prepareStatement ( "UPDATE `dyn_building_condemned` SET `active`=? "
+ "WHERE`buildingUID` = ? AND `playerUID` = ? AND `guildUID` = ? AND `friendType` = ?" ) ) {
preparedStatement . setBoolean ( 1 , active ) ;
preparedStatement . setInt ( 2 , condemn . getParent ( ) ) ;
preparedStatement . setInt ( 3 , condemn . getPlayerUID ( ) ) ;
preparedStatement . setInt ( 4 , condemn . getGuildUID ( ) ) ;
preparedStatement . setInt ( 5 , condemn . getFriendType ( ) ) ;
return ( preparedStatement . executeUpdate ( ) > 0 ) ;
} catch ( SQLException e ) {
Logger . error ( e ) ;
return false ;
}
}
public boolean updateBuildingOwner ( final Building building , int ownerUUID ) {
prepareCallable ( "UPDATE `obj_building` SET `ownerUUID`=? "
+ " WHERE `UID` = ?" ) ;
try ( Connection connection = DbManager . getConnection ( ) ;
PreparedStatement preparedStatement = connection . prepareStatement ( "UPDATE `obj_building` SET `ownerUUID`=? "
+ " WHERE `UID` = ?" ) ) {
preparedStatement . setInt ( 1 , ownerUUID ) ;
preparedStatement . setInt ( 2 , building . getObjectUUID ( ) ) ;
return ( preparedStatement . executeUpdate ( ) > 0 ) ;
} catch ( SQLException e ) {
Logger . error ( e ) ;
return false ;
}
setInt ( 1 , ownerUUID ) ;
setInt ( 2 , building . getObjectUUID ( ) ) ;
return ( executeUpdate ( ) > 0 ) ;
}
public boolean updateBuildingUpgradeTime ( LocalDateTime upgradeDateTime , Building toUpgrade , int costToUpgrade ) {
prepareCallable ( "UPDATE obj_building SET upgradeDate=?, currentGold=? "
+ "WHERE UID = ?" ) ;
try ( Connection connection = DbManager . getConnection ( ) ;
PreparedStatement preparedStatement = connection . prepareStatement ( "UPDATE obj_building SET upgradeDate=?, currentGold=? "
+ "WHERE UID = ?" ) ) {
if ( upgradeDateTime = = null )
setNULL ( 1 , java . sql . Types . DATE ) ;
preparedStatement . setNull ( 1 , java . sql . Types . DATE ) ;
else
setTimeStamp ( 1 , upgradeDateTime . atZone ( ZoneId . systemDefault ( ) )
. toInstant ( ) . toEpochMilli ( ) ) ;
preparedStatement . setTimestamp ( 1 , new java . sql . Timestamp ( upgradeDateTime . atZone ( ZoneId . systemDefault ( ) )
. toInstant ( ) . toEpochMilli ( ) ) ) ;
preparedStatement . setInt ( 2 , toUpgrade . getStrongboxValue ( ) - costToUpgrade ) ;
preparedStatement . setInt ( 3 , toUpgrade . getObjectUUID ( ) ) ;
setInt ( 2 , toUpgrade . getStrongboxValue ( ) - costToUpgrade ) ;
setInt ( 3 , toUpgrade . getObjectUUID ( ) ) ;
return ( executeUpdate ( ) > 0 ) ;
return ( preparedStatement . executeUpdate ( ) > 0 ) ;
} catch ( SQLException e ) {
Logger . error ( e ) ;
return false ;
}
}
public boolean updateMaintDate ( Building building ) {
prepareCallable ( "UPDATE obj_building SET maintDate=? "
+ "WHERE UID = ?" ) ;
try ( Connection connection = DbManager . getConnection ( ) ;
PreparedStatement preparedStatement = connection . prepareStatement ( "UPDATE obj_building SET maintDate=? "
+ "WHERE UID = ?" ) ) {
if ( building . maintDateTime = = null )
setNULL ( 1 , java . sql . Types . DATE ) ;
preparedStatement . setNull ( 1 , java . sql . Types . DATE ) ;
else
setLocalDateTime ( 1 , building . maintDateTime ) ;
preparedStatement . setTimestamp ( 1 , new java . sql . Timestamp ( building . maintDateTime . atZone ( ZoneId . systemDefault ( ) )
. toInstant ( ) . toEpochMilli ( ) ) ) ;
preparedStatement . setInt ( 2 , building . getObjectUUID ( ) ) ;
setInt ( 2 , building . getObjectUUID ( ) ) ;
return ( preparedStatement . executeUpdate ( ) > 0 ) ;
return ( executeUpdate ( ) > 0 ) ;
} catch ( SQLException e ) {
Logger . error ( e ) ;
return false ;
}
}
public boolean addTaxes ( Building building , TaxType taxType , int amount , boolean enforceKOS ) {
prepareCallable ( "UPDATE obj_building SET taxType=?, taxAmount = ?, enforceKOS = ? "
+ "WHERE UID = ?" ) ;
public boolean addTaxes ( Building building , TaxType taxType , int amount , boolean enforceKOS ) {
setString ( 1 , taxType . name ( ) ) ;
setInt ( 2 , amount ) ;
setBoolean ( 3 , enforceKOS ) ;
setInt ( 4 , building . getObjectUUID ( ) ) ;
try ( Connection connection = DbManager . getConnection ( ) ;
PreparedStatement preparedStatement = connection . prepareStatement ( "UPDATE obj_building SET taxType=?, taxAmount = ?, enforceKOS = ? "
+ "WHERE UID = ?" ) ) {
return ( executeUpdate ( ) > 0 ) ;
preparedStatement . setString ( 1 , taxType . name ( ) ) ;
preparedStatement . setInt ( 2 , amount ) ;
preparedStatement . setBoolean ( 3 , enforceKOS ) ;
preparedStatement . setInt ( 4 , building . getObjectUUID ( ) ) ;
return ( preparedStatement . executeUpdate ( ) > 0 ) ;
} catch ( SQLException e ) {
Logger . error ( e ) ;
return false ;
}
public boolean removeTaxes ( Building building ) {
prepareCallable ( "UPDATE obj_building SET taxType=?, taxAmount = ?, enforceKOS = ?, taxDate = ? "
+ "WHERE UID = ?" ) ;
}
setString ( 1 , TaxType . NONE . name ( ) ) ;
setInt ( 2 , 0 ) ;
setBoolean ( 3 , false ) ;
setNULL ( 4 , java . sql . Types . DATE ) ;
setInt ( 5 , building . getObjectUUID ( ) ) ;
public boolean removeTaxes ( Building building ) {
try ( Connection connection = DbManager . getConnection ( ) ;
PreparedStatement preparedStatement = connection . prepareStatement ( "UPDATE obj_building SET taxType=?, taxAmount = ?, enforceKOS = ?, taxDate = ? "
+ "WHERE UID = ?" ) ) {
preparedStatement . setString ( 1 , TaxType . NONE . name ( ) ) ;
preparedStatement . setInt ( 2 , 0 ) ;
preparedStatement . setBoolean ( 3 , false ) ;
preparedStatement . setNull ( 4 , java . sql . Types . DATE ) ;
preparedStatement . setInt ( 5 , building . getObjectUUID ( ) ) ;
return ( executeUpdate ( ) > 0 ) ;
return ( preparedStatement . executeUpdate ( ) > 0 ) ;
} catch ( SQLException e ) {
Logger . error ( e ) ;
return false ;
}
}
public boolean acceptTaxes ( Building building ) {
prepareCallable ( "UPDATE obj_building SET taxDate=? "
+ "WHERE UID = ?" ) ;
setTimeStamp ( 1 , DateTime . now ( ) . plusDays ( 7 ) . getMillis ( ) ) ;
setInt ( 2 , building . getObjectUUID ( ) ) ;
try ( Connection connection = DbManager . getConnection ( ) ;
PreparedStatement preparedStatement = connection . prepareStatement ( "UPDATE obj_building SET taxDate=? "
+ "WHERE UID = ?" ) ) {
return ( executeUpdate ( ) > 0 ) ;
}
preparedStatement . setTimestamp ( 1 , new java . sql . Timestamp ( DateTime . now ( ) . plusDays ( 7 ) . getMillis ( ) ) ) ;
preparedStatement . setInt ( 2 , building . getObjectUUID ( ) ) ;
return ( preparedStatement . executeUpdate ( ) > 0 ) ;
} catch ( SQLException e ) {
Logger . error ( e ) ;
return false ;
}
}
}