diff --git a/ass1-jpa/src/main/java/dst/ass1/jpa/model/impl/Organization.java b/ass1-jpa/src/main/java/dst/ass1/jpa/model/impl/Organization.java new file mode 100644 index 0000000..ed28961 --- /dev/null +++ b/ass1-jpa/src/main/java/dst/ass1/jpa/model/impl/Organization.java @@ -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 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 getParts() { + return null; + } + + @Override + public void setParts(Collection parts) { + + } + + @Override + public void addPart(IOrganization part) { + + } + + @Override + public Collection getPartOf() { + return null; + } + + @Override + public void setPartOf(Collection partOf) { + + } + + @Override + public void addPartOf(IOrganization partOf) { + + } + + @Override + public Collection getEmployments() { + return null; + } + + @Override + public void setEmployments(Collection employments) { + + } + + @Override + public void addEmployment(IEmployment employment) { + + } + + @Override + public Collection getVehicles() { + return null; + } + + @Override + public void setVehicles(Collection vehicles) { + + } + + @Override + public void addVehicle(IVehicle vehicle) { + + } +} diff --git a/ass1-jpa/src/main/java/dst/ass1/jpa/model/impl/Preferences.java b/ass1-jpa/src/main/java/dst/ass1/jpa/model/impl/Preferences.java new file mode 100644 index 0000000..a0ad143 --- /dev/null +++ b/ass1-jpa/src/main/java/dst/ass1/jpa/model/impl/Preferences.java @@ -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 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 getData() { + return data; + } + + @Override + public void setData(Map data) { + this.data = data; + } + + @Override + public void putData(String key, String value) { + data.put(key, value); + } +} diff --git a/ass1-jpa/src/main/java/dst/ass1/jpa/model/impl/Rider.java b/ass1-jpa/src/main/java/dst/ass1/jpa/model/impl/Rider.java new file mode 100644 index 0000000..382fc5c --- /dev/null +++ b/ass1-jpa/src/main/java/dst/ass1/jpa/model/impl/Rider.java @@ -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 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 getTrips() { + return trips; + } + + @Override + public void setTrips(Collection trips) { + this.trips = trips; + } + + @Override + public void addTrip(ITrip trip) { + this.trips.add(trip); + } +} diff --git a/ass1-jpa/src/main/java/dst/ass1/jpa/model/impl/Trip.java b/ass1-jpa/src/main/java/dst/ass1/jpa/model/impl/Trip.java new file mode 100644 index 0000000..ebfcedb --- /dev/null +++ b/ass1-jpa/src/main/java/dst/ass1/jpa/model/impl/Trip.java @@ -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 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 getStops() { + return stops; + } + + @Override + public void setStops(Collection 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; + } +} diff --git a/ass1-jpa/src/main/java/dst/ass1/jpa/model/impl/TripInfo.java b/ass1-jpa/src/main/java/dst/ass1/jpa/model/impl/TripInfo.java new file mode 100644 index 0000000..9abd603 --- /dev/null +++ b/ass1-jpa/src/main/java/dst/ass1/jpa/model/impl/TripInfo.java @@ -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; + } +}