Cleanup + persistence fix

This commit is contained in:
Light2
2014-04-12 17:19:52 +02:00
parent b2edbb2104
commit c5520abff8
8 changed files with 29 additions and 27 deletions
@@ -43,7 +43,7 @@ import engine.resources.scene.Planet;
import engine.resources.scene.Point3D;
import engine.resources.scene.Quaternion;
@Entity(version=5)
@Entity(version=6)
public class BuildingObject extends TangibleObject implements IPersistent {
@NotPersistent
@@ -58,7 +58,6 @@ public class BuildingObject extends TangibleObject implements IPersistent {
private byte privacy=(byte)0;
public static byte PRIVATE = (byte)0;
public static byte PUBLIC = (byte)1;
private Vector<TangibleObject> itemsList = new Vector<TangibleObject>();
private short maximumStorageCapacity=0;
private Vector<Long> entryList = new Vector<Long>(); // Preferably the OIDs should be stored, because of name changes
private Vector<Long> banList = new Vector<Long>();
@@ -150,13 +149,11 @@ public class BuildingObject extends TangibleObject implements IPersistent {
}
public Vector<TangibleObject> getItemsList() {
return itemsList;
Vector<TangibleObject> items = new Vector<TangibleObject>();
getCells().forEach(c -> c.viewChildren(c, true, false, (item) -> items.add((TangibleObject) item)));
return items;
}
public void setItemsList(Vector<TangibleObject> itemsList) {
this.itemsList = itemsList;
}
public short getMaximumStorageCapacity() {
return maximumStorageCapacity;
}
@@ -238,4 +235,11 @@ public class BuildingObject extends TangibleObject implements IPersistent {
txn = env.beginTransaction(null, null);
txn.setLockTimeout(500, TimeUnit.MILLISECONDS);
}
public Vector<CellObject> getCells() {
Vector<CellObject> cells = new Vector<CellObject>();
this.viewChildren(this, true, false, (cell) -> cells.add((CellObject) cell));
return cells;
}
}
@@ -125,7 +125,7 @@ public class HarvesterObject extends InstallationObject {
private byte resourceUpdateCount;
private Vector<String> adminList = new Vector<String>();
private Vector<String> hopperList = new Vector<String>();
private SWGObject owner;
private long owner;
private float currentHarvestedCountFloat=0.0F;
private String deedTemplate;
@@ -192,7 +192,7 @@ public class HarvesterObject extends InstallationObject {
public void activateHarvester(CreatureObject owner){
activated = true;
this.setOwner(owner);
this.setOwner(owner.getObjectID());
owner.getClient().getSession().write(messageBuilder.buildHINO3Delta(this,(byte)1));
owner.getClient().getSession().write(messageBuilder.buildHINO7ActivateDelta2(this));
}
@@ -335,12 +335,12 @@ public class HarvesterObject extends InstallationObject {
}
public SWGObject getOwner() {
public long getOwner() {
return owner;
}
public void setOwner(SWGObject owner) {
public void setOwner(long owner) {
this.owner = owner;
}
@@ -388,11 +388,11 @@ public class HarvesterObject extends InstallationObject {
}
public void deActivate(){
owner.getClient().getSession().write(messageBuilder.buildResourceHarvesterActivatePageMessage(this));
NGECore.getInstance().objectService.getObject(owner).getClient().getSession().write(messageBuilder.buildResourceHarvesterActivatePageMessage(this));
}
public void placeHarvester(){
owner.getClient().getSession().write(messageBuilder.buildResourceHarvesterActivatePageMessage(this));
NGECore.getInstance().objectService.getObject(owner).getClient().getSession().write(messageBuilder.buildResourceHarvesterActivatePageMessage(this));
}
public static void createAndPlaceHarvester(SWGObject object){
@@ -487,14 +487,14 @@ public class HarvesterObject extends InstallationObject {
public void createNewHopperContainer(){
Vector<GalacticResource> planetResourcesVector = NGECore.getInstance().resourceService.getSpawnedResourcesByPlanetAndHarvesterType(this.getPlanetId(),this.getHarvester_type());
((CreatureObject)this.getOwner()).getClient().getSession().write(messageBuilder.buildHINOBaseline7(this, planetResourcesVector));
((CreatureObject)this.getOwner()).getClient().getSession().write(messageBuilder.buildHINO7Delta(this,(byte)1));
NGECore.getInstance().objectService.getObject(owner).getClient().getSession().write(messageBuilder.buildHINOBaseline7(this, planetResourcesVector));
NGECore.getInstance().objectService.getObject(owner).getClient().getSession().write(messageBuilder.buildHINO7Delta(this,(byte)1));
}
public void continueHopperContainer(){
Vector<GalacticResource> planetResourcesVector = NGECore.getInstance().resourceService.getSpawnedResourcesByPlanetAndHarvesterType(this.getPlanetId(),this.getHarvester_type());
((CreatureObject)this.getOwner()).getClient().getSession().write(messageBuilder.buildHarvesterGetResourceData(this, owner, planetResourcesVector));
((CreatureObject)this.getOwner()).getClient().getSession().write(messageBuilder.buildHINOBaseline7(this, planetResourcesVector));
NGECore.getInstance().objectService.getObject(owner).getClient().getSession().write(messageBuilder.buildHarvesterGetResourceData(this, NGECore.getInstance().objectService.getObject(owner), planetResourcesVector));
NGECore.getInstance().objectService.getObject(owner).getClient().getSession().write(messageBuilder.buildHINOBaseline7(this, planetResourcesVector));
}
@Override
@@ -21,15 +21,15 @@
******************************************************************************/
package resources.objects.installation;
import com.sleepycat.persist.model.Entity;
import com.sleepycat.persist.model.Persistent;
import engine.resources.scene.Planet;
import engine.resources.scene.Point3D;
import engine.resources.scene.Quaternion;
import resources.objects.tangible.TangibleObject;
@Persistent(version=0)
@Entity(version=0)
public class InstallationObject extends TangibleObject {
public InstallationObject(long objectID, Planet planet, String template, Point3D position, Quaternion orientation){