BugFix: Stack overflow in database boot.

Oops.
This commit is contained in:
ryanhamshire 2014-10-13 19:08:43 -07:00
parent b86b5809c3
commit c4f7236e5f
2 changed files with 15 additions and 17 deletions

View File

@ -620,7 +620,7 @@ public class Claim
//excludeSubdivisions = true means that locations inside subdivisions of the claim will return FALSE //excludeSubdivisions = true means that locations inside subdivisions of the claim will return FALSE
public boolean contains(Location location, boolean ignoreHeight, boolean excludeSubdivisions) public boolean contains(Location location, boolean ignoreHeight, boolean excludeSubdivisions)
{ {
//not in the same world implies false //not in the same world implies false
if(!location.getWorld().equals(this.lesserBoundaryCorner.getWorld())) return false; if(!location.getWorld().equals(this.lesserBoundaryCorner.getWorld())) return false;
int x = location.getBlockX(); int x = location.getBlockX();

View File

@ -217,9 +217,7 @@ public class DatabaseDataStore extends DataStore
{ {
try try
{ {
//skip subdivisions long parentId = results.getLong("parentid");
long parentId = results.getLong("parentid");
long claimID = results.getLong("id"); long claimID = results.getLong("id");
Location lesserBoundaryCorner = null; Location lesserBoundaryCorner = null;
@ -251,7 +249,7 @@ public class DatabaseDataStore extends DataStore
UUID ownerID = null; UUID ownerID = null;
if(ownerName.isEmpty()) if(ownerName.isEmpty())
{ {
ownerID = null; //administrative land claim ownerID = null; //administrative land claim or subdivision
} }
else if(this.getSchemaVersion() < 1) else if(this.getSchemaVersion() < 1)
{ {
@ -312,20 +310,20 @@ public class DatabaseDataStore extends DataStore
GriefPrevention.AddLogEntry("Unable to load a claim. Details: " + e.getMessage() + " ... " + results.toString()); GriefPrevention.AddLogEntry("Unable to load a claim. Details: " + e.getMessage() + " ... " + results.toString());
e.printStackTrace(); e.printStackTrace();
} }
//add subdivisions to their parent claims
for(Claim childClaim : subdivisionsToLoad)
{
//find top level claim parent
Claim topLevelClaim = this.getClaimAt(childClaim.getLesserBoundaryCorner(), true, null);
//add this claim to the list of children of the current top level claim
childClaim.parent = topLevelClaim;
topLevelClaim.children.add(childClaim);
childClaim.inDataStore = true;
}
} }
//add subdivisions to their parent claims
for(Claim childClaim : subdivisionsToLoad)
{
//find top level claim parent
Claim topLevelClaim = this.getClaimAt(childClaim.getLesserBoundaryCorner(), true, null);
//add this claim to the list of children of the current top level claim
childClaim.parent = topLevelClaim;
topLevelClaim.children.add(childClaim);
childClaim.inDataStore = true;
}
for(int i = 0; i < claimsToRemove.size(); i++) for(int i = 0; i < claimsToRemove.size(); i++)
{ {
this.deleteClaimFromSecondaryStorage(claimsToRemove.get(i)); this.deleteClaimFromSecondaryStorage(claimsToRemove.get(i));