Add basic JPA models

This commit is contained in:
Tobias Eidelpes 2021-03-14 13:59:42 +01:00
parent 720d6c193f
commit 0d3c8b0239
5 changed files with 495 additions and 0 deletions

View File

@ -0,0 +1,101 @@
package dst.ass1.jpa.model.impl;
import dst.ass1.jpa.model.IEmployment;
import dst.ass1.jpa.model.IOrganization;
import dst.ass1.jpa.model.IVehicle;
import javax.persistence.*;
import java.util.Collection;
@Entity
public class Organization implements IOrganization {
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE)
private Long id;
private String name;
@ManyToMany
private Collection<IOrganization> parts;
public Organization() {
}
@Override
public Long getId() {
return null;
}
@Override
public void setId(Long id) {
}
@Override
public String getName() {
return null;
}
@Override
public void setName(String name) {
}
@Override
public Collection<IOrganization> getParts() {
return null;
}
@Override
public void setParts(Collection<IOrganization> parts) {
}
@Override
public void addPart(IOrganization part) {
}
@Override
public Collection<IOrganization> getPartOf() {
return null;
}
@Override
public void setPartOf(Collection<IOrganization> partOf) {
}
@Override
public void addPartOf(IOrganization partOf) {
}
@Override
public Collection<IEmployment> getEmployments() {
return null;
}
@Override
public void setEmployments(Collection<IEmployment> employments) {
}
@Override
public void addEmployment(IEmployment employment) {
}
@Override
public Collection<IVehicle> getVehicles() {
return null;
}
@Override
public void setVehicles(Collection<IVehicle> vehicles) {
}
@Override
public void addVehicle(IVehicle vehicle) {
}
}

View File

@ -0,0 +1,45 @@
package dst.ass1.jpa.model.impl;
import dst.ass1.jpa.model.IPreferences;
import dst.ass1.jpa.model.IRider;
import javax.persistence.FetchType;
import javax.persistence.Id;
import javax.persistence.MapsId;
import javax.persistence.OneToOne;
import java.util.Map;
public class Preferences implements IPreferences {
@Id
private Long id;
private Map<String, String> data;
@OneToOne(fetch = FetchType.LAZY)
@MapsId
private IRider rider;
@Override
public Long getId() {
return id;
}
@Override
public void setId(Long id) {
this.id = id;
}
@Override
public Map<String, String> getData() {
return data;
}
@Override
public void setData(Map<String, String> data) {
this.data = data;
}
@Override
public void putData(String key, String value) {
data.put(key, value);
}
}

View File

@ -0,0 +1,126 @@
package dst.ass1.jpa.model.impl;
import dst.ass1.jpa.model.IPreferences;
import dst.ass1.jpa.model.IRider;
import dst.ass1.jpa.model.ITrip;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.validation.constraints.NotNull;
import java.util.Collection;
@Entity
public class Rider implements IRider {
@Id
private Long id;
private String name;
@NotNull
private String tel;
private Double avgRating;
private Collection<ITrip> trips;
@Override
public Long getId() {
return id;
}
@Override
public void setId(Long id) {
this.id = id;
}
@Override
public String getName() {
return name;
}
@Override
public void setName(String name) {
this.name = name;
}
@Override
public String getTel() {
return null;
}
@Override
public void setTel(String tel) {
this.tel = tel;
}
@Override
public Double getAvgRating() {
return avgRating;
}
@Override
public void setAvgRating(Double avgRating) {
this.avgRating = avgRating;
}
@Override
public String getEmail() {
return null;
}
@Override
public void setEmail(String email) {
}
@Override
public byte[] getPassword() {
return new byte[0];
}
@Override
public void setPassword(byte[] password) {
}
@Override
public String getAccountNo() {
return null;
}
@Override
public void setAccountNo(String accountNo) {
}
@Override
public String getBankCode() {
return null;
}
@Override
public void setBankCode(String bankCode) {
}
@Override
public IPreferences getPreferences() {
return null;
}
@Override
public void setPreferences(IPreferences preferences) {
}
@Override
public Collection<ITrip> getTrips() {
return trips;
}
@Override
public void setTrips(Collection<ITrip> trips) {
this.trips = trips;
}
@Override
public void addTrip(ITrip trip) {
this.trips.add(trip);
}
}

View File

@ -0,0 +1,129 @@
package dst.ass1.jpa.model.impl;
import dst.ass1.jpa.model.*;
import javax.persistence.Entity;
import javax.persistence.Id;
import java.util.Collection;
import java.util.Date;
@Entity
public class Trip implements ITrip {
@Id
private Long id;
private Date created;
private Date updated;
private TripState state;
private ILocation pickup;
private ILocation destination;
private Collection<ILocation> stops;
private ITripInfo tripInfo;
private IMatch match;
private IRider rider;
@Override
public Long getId() {
return id;
}
@Override
public void setId(Long id) {
this.id = id;
}
@Override
public Date getCreated() {
return created;
}
@Override
public void setCreated(Date created) {
this.created = created;
}
@Override
public Date getUpdated() {
return updated;
}
@Override
public void setUpdated(Date updated) {
this.updated = updated;
}
@Override
public TripState getState() {
return state;
}
@Override
public void setState(TripState state) {
this.state = state;
}
@Override
public ILocation getPickup() {
return pickup;
}
@Override
public void setPickup(ILocation pickup) {
this.pickup = pickup;
}
@Override
public ILocation getDestination() {
return destination;
}
@Override
public void setDestination(ILocation destination) {
this.destination = destination;
}
@Override
public Collection<ILocation> getStops() {
return stops;
}
@Override
public void setStops(Collection<ILocation> stops) {
this.stops = stops;
}
@Override
public void addStop(ILocation stop) {
this.stops.add(stop);
}
@Override
public ITripInfo getTripInfo() {
return tripInfo;
}
@Override
public void setTripInfo(ITripInfo tripInfo) {
this.tripInfo = tripInfo;
}
@Override
public IMatch getMatch() {
return match;
}
@Override
public void setMatch(IMatch match) {
this.match = match;
}
@Override
public IRider getRider() {
return rider;
}
@Override
public void setRider(IRider rider) {
this.rider = rider;
}
}

View File

@ -0,0 +1,94 @@
package dst.ass1.jpa.model.impl;
import dst.ass1.jpa.model.IMoney;
import dst.ass1.jpa.model.ITrip;
import dst.ass1.jpa.model.ITripInfo;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.OneToOne;
import java.util.Date;
@Entity
public class TripInfo implements ITripInfo {
@Id
private Long id;
private Date completed;
private Double distance;
private IMoney total;
private Integer driverRating;
private Integer riderRating;
@OneToOne
private ITrip trip;
@Override
public Long getId() {
return id;
}
@Override
public void setId(Long id) {
this.id = id;
}
@Override
public Date getCompleted() {
return completed;
}
@Override
public void setCompleted(Date date) {
this.completed = date;
}
@Override
public Double getDistance() {
return distance;
}
@Override
public void setDistance(Double distance) {
this.distance = distance;
}
@Override
public IMoney getTotal() {
return total;
}
@Override
public void setTotal(IMoney money) {
this.total = money;
}
@Override
public Integer getDriverRating() {
return driverRating;
}
@Override
public void setDriverRating(Integer driverRating) {
this.driverRating = driverRating;
}
@Override
public Integer getRiderRating() {
return riderRating;
}
@Override
public void setRiderRating(Integer riderRating) {
this.riderRating = riderRating;
}
@Override
public ITrip getTrip() {
return trip;
}
@Override
public void setTrip(ITrip trip) {
this.trip = trip;
}
}