Skip to content
Snippets Groups Projects
Commit 8ed55af2 authored by Leonard's avatar Leonard
Browse files

added step retrace

parent 873c93df
No related branches found
No related tags found
No related merge requests found
package com.galaxytrucker.galaxytruckerreloaded.Server.Exception;
public class DuplicateRequestObjectException extends Exception {
}
package com.galaxytrucker.galaxytruckerreloaded.Server.Exception;
public class DuplicateTileException extends Exception {
}
package com.galaxytrucker.galaxytruckerreloaded.Server.Exception;
public class RequestObjectNotFoundException extends Exception {
}
package com.galaxytrucker.galaxytruckerreloaded.Server.Exception;
public class TileNotFoundException extends Exception {
}
package com.galaxytrucker.galaxytruckerreloaded.Server.Persistence;
import com.galaxytrucker.galaxytruckerreloaded.Server.Exception.DuplicateRequestObjectException;
import com.galaxytrucker.galaxytruckerreloaded.Server.Exception.RequestObjectNotFoundException;
import com.galaxytrucker.galaxytruckerreloaded.Server.RequestObject;
/** Used for retracing game steps */
public class RequestObjectDAO extends ObjectDAO<RequestObject> {
/** Add a new request object to the database
* @param o - the request object to add
* @throws DuplicateRequestObjectException if the request object already exists in the database */
@Override
public void persist(RequestObject o) throws DuplicateRequestObjectException {
try {
entityManager.getTransaction().begin();
entityManager.persist(o);
entityManager.getTransaction().commit();
}
catch (Exception e){
e.printStackTrace();
throw new DuplicateRequestObjectException();
}
}
/** Remove an existing request object from the database
* @param o - the request object to remove
* @throws RequestObjectNotFoundException if the request object cannot be found in the database */
@Override
public void remove(RequestObject o) throws RequestObjectNotFoundException {
try {
entityManager.getTransaction().begin();
entityManager.persist(o);
entityManager.getTransaction().commit();
}
catch (Exception e){
e.printStackTrace();
throw new RequestObjectNotFoundException();
}
}
}
package com.galaxytrucker.galaxytruckerreloaded.Server.Persistence;
import com.galaxytrucker.galaxytruckerreloaded.Model.ShipLayout.Tile;
import com.galaxytrucker.galaxytruckerreloaded.Server.Exception.DuplicateTileException;
import com.galaxytrucker.galaxytruckerreloaded.Server.Exception.TileNotFoundException;
/** Handles tile objects in the database */
public class TileDAO extends ObjectDAO<Tile> {
/** Add a new tile to the database
* @param t - the tile to add
* @throws DuplicateTileException if the tile already exists in the database */
@Override
public void persist(Tile t) throws DuplicateTileException {
try {
entityManager.getTransaction().begin();
entityManager.persist(t);
entityManager.getTransaction().commit();
}
catch (Exception e){
e.printStackTrace();
throw new DuplicateTileException();
}
}
/** Update an existing tile in the database
* @param t - the tile to update
* @throws TileNotFoundException if the tile cannot be found in the database */
public void update(Tile t) throws TileNotFoundException {
try {
entityManager.getTransaction().begin();
entityManager.merge(t);
entityManager.getTransaction().commit();
}
catch (Exception e){
e.printStackTrace();
throw new TileNotFoundException();
}
}
/** Remove a tile from the database
* @param t - the tile to remove
* @throws TileNotFoundException if the tile cannot be found in the database */
@Override
public void remove(Tile t) throws TileNotFoundException {
try {
entityManager.getTransaction().begin();
entityManager.remove(t);
entityManager.getTransaction().commit();
}
catch (Exception e){
e.printStackTrace();
throw new TileNotFoundException();
}
}
}
......@@ -6,15 +6,26 @@ import com.galaxytrucker.galaxytruckerreloaded.Model.Map.Trader;
import com.galaxytrucker.galaxytruckerreloaded.Model.Ship;
import com.galaxytrucker.galaxytruckerreloaded.Model.ShipLayout.Room;
import com.galaxytrucker.galaxytruckerreloaded.Model.Weapons.Weapon;
import lombok.Getter;
import lombok.Setter;
import lombok.*;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.OneToMany;
import javax.persistence.OneToOne;
import java.io.Serializable;
import java.util.List;
/** Request sent to the server */
@Getter
@Setter
public class RequestObject {
@RequiredArgsConstructor(access = AccessLevel.PUBLIC)
@NoArgsConstructor(access = AccessLevel.PUBLIC)
@Entity
public class RequestObject implements Serializable {
/** ID */
@Id
private int id;
/** Type of Request */
private RequestType requestType;
......@@ -23,23 +34,31 @@ public class RequestObject {
private String username;
/** Ship */
@OneToOne
private Ship ship;
/** Trader */
@OneToOne
private Trader trader;
/** Planet */
@OneToOne
private Planet planet;
/** Crew */
@OneToOne
private Crew crew;
/** List of crew */
@OneToMany
private List<Crew> moreCrew;
/** Room */
@OneToOne
private Room room;
/** Weapon */
@OneToOne
private Weapon weapon;
/** Heal amount */
......@@ -47,8 +66,7 @@ public class RequestObject {
/** Damage amount */
private int damageAmount;
/** int - eg fuel, rockets, hp for trader */
private int intAmount;
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment