From 61d699010ba6ae5d1bee5e13f5cfbc75cddcebf0 Mon Sep 17 00:00:00 2001 From: Obique Date: Fri, 8 Aug 2014 20:53:11 -0500 Subject: [PATCH] Fixed loading issue for SWGObject ODB, and removed the Creature ODB --- src/main/NGECore.java | 7 --- .../objects/creature/CreatureObject.java | 3 ++ src/services/CharacterService.java | 2 +- src/services/object/ObjectService.java | 47 ++----------------- 4 files changed, 7 insertions(+), 52 deletions(-) diff --git a/src/main/NGECore.java b/src/main/NGECore.java index 7bddd52d..e264accf 100644 --- a/src/main/NGECore.java +++ b/src/main/NGECore.java @@ -233,7 +233,6 @@ public class NGECore { private ObjectDatabase auctionODB; private ObjectDatabase resourceHistoryODB; private ObjectDatabase swgObjectODB; - private ObjectDatabase creatureODB; private ObjectDatabase bountiesODB; private ObjectDatabase cityODB; @@ -304,7 +303,6 @@ public class NGECore { } setGalaxyStatus(GalaxyStatus.Loading); - creatureODB = new ObjectDatabase("players", true, true, true, CreatureObject.class); swgObjectODB = new ObjectDatabase("swgobjects", true, true, true, SWGObject.class); mailODB = new ObjectDatabase("mails", true, true, true, Mail.class); guildODB = new ObjectDatabase("guild", true, true, true, GuildObject.class); @@ -672,10 +670,6 @@ public class NGECore { return databaseConnection2; } - public ObjectDatabase getCreatureODB() { - return creatureODB; - } - public ObjectDatabase getSWGObjectODB() { return swgObjectODB; } @@ -813,7 +807,6 @@ public class NGECore { } public void closeODBs() { - creatureODB.close(); swgObjectODB.close(); mailODB.close(); guildODB.close(); diff --git a/src/resources/objects/creature/CreatureObject.java b/src/resources/objects/creature/CreatureObject.java index 332d1731..1ac2c33b 100644 --- a/src/resources/objects/creature/CreatureObject.java +++ b/src/resources/objects/creature/CreatureObject.java @@ -204,6 +204,9 @@ public class CreatureObject extends TangibleObject implements Serializable { public CreatureObject() { super(); messageBuilder = new CreatureMessageBuilder(this); + System.out.println("Name: " + getCustomName()); + System.out.println(" Cash Credits: " + cashCredits); + System.out.println(" Bank Credits: " + bankCredits); } @Override diff --git a/src/services/CharacterService.java b/src/services/CharacterService.java index 73f08cd2..873b3fa7 100644 --- a/src/services/CharacterService.java +++ b/src/services/CharacterService.java @@ -355,7 +355,7 @@ public class CharacterService implements INetworkDispatch { //core.scriptService.callScript("scripts/", "demo", "CreateStartingCharacter", core, object); System.out.println("Saving character with name: " + object.getCustomName()); - core.getCreatureODB().put(object.getObjectID(), object); + core.getSWGObjectODB().put(object.getObjectID(), object); PreparedStatement ps = databaseConnection.preparedStatement("INSERT INTO characters (id, \"firstName\", \"lastName\", \"accountId\", \"galaxyId\", \"statusId\", appearance, gmflag) VALUES (?, ?, ?, ?, ?, ?, ?, ?)"); ps.setLong(1, object.getObjectID()); diff --git a/src/services/object/ObjectService.java b/src/services/object/ObjectService.java index 07ade934..462abc80 100644 --- a/src/services/object/ObjectService.java +++ b/src/services/object/ObjectService.java @@ -55,6 +55,7 @@ import resources.harvest.SurveyTool; import org.apache.commons.lang3.text.WordUtils; import org.apache.mina.core.buffer.IoBuffer; import org.apache.mina.core.session.IoSession; +import org.python.antlr.PythonParser.list_for_return; import org.python.core.Py; import org.python.core.PyObject; @@ -194,52 +195,10 @@ public class ObjectService implements INetworkDispatch { while (cursor.hasNext()) { SWGObject object = (SWGObject) cursor.next(); - if (object != null && !(object instanceof BuildingObject)) + if (object != null && !(object instanceof BuildingObject) && !objectList.containsKey(object.getObjectID())) objectList.put(object.getObjectID(), object); } - cursor = core.getCreatureODB().getCursor(); - - while (cursor.hasNext()) { - CreatureObject object = (CreatureObject) cursor.next(); - if (object != null) { - System.out.println("Loaded character with name: " + object.getCustomName()); - objectList.put(object.getObjectID(), object); - - loadServerTemplate(object); - object.viewChildren(object, true, true, (child) -> loadServerTemplate(child)); - } else { - System.err.println("Character was null!"); - } - } - - // Loading characters by using a lookup - try { - PreparedStatement ps = core.getDatabase1().preparedStatement("SELECT * FROM characters"); - ResultSet resultSet = ps.executeQuery(); - while (resultSet.next()) { - long objectId = resultSet.getLong("id"); - CreatureObject object = (CreatureObject) core.getCreatureODB().get(objectId); - if (object != null) { - if (object.getCustomName() == null || object.getCustomName().isEmpty()) { - String first = resultSet.getString("firstName"); - String last = resultSet.getString("lastName"); - if (last.isEmpty()) - object.setCustomName(first); - else - object.setCustomName(first + " " + last); - } - System.out.println("Loaded character manually with name: " + object.getCustomName()); - objectList.put(objectId, object); - } else { - System.err.println("Attempt failed to recover character."); - } - } - } catch (SQLException e) { - e.printStackTrace(); - } - - loadBuildings(); System.out.println("Finished loading objects."); } @@ -729,7 +688,7 @@ public class ObjectService implements INetworkDispatch { } public CreatureObject getCreatureFromDB(long objectId) { - CreatureObject object = (CreatureObject) core.getCreatureODB().get(objectId); + CreatureObject object = (CreatureObject) core.getSWGObjectODB().get(objectId); if (object != null) { loadServerTemplate(object); object.viewChildren(object, true, true, (child) -> loadServerTemplate(child));