Add DAO implementations
This commit is contained in:
parent
a0b099cbc3
commit
0f8a8d5f9f
@ -20,55 +20,46 @@ public class DAOFactory implements IDAOFactory {
|
||||
|
||||
@Override
|
||||
public IDriverDAO createDriverDAO() {
|
||||
// TODO
|
||||
return null;
|
||||
return new DriverDAO(em);
|
||||
}
|
||||
|
||||
@Override
|
||||
public IEmploymentDAO createEmploymentDAO() {
|
||||
// TODO
|
||||
return null;
|
||||
return new EmploymentDAO(em);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ILocationDAO createLocationDAO() {
|
||||
// TODO
|
||||
return null;
|
||||
return new LocationDAO(em);
|
||||
}
|
||||
|
||||
@Override
|
||||
public IMatchDAO createMatchDAO() {
|
||||
// TODO
|
||||
return null;
|
||||
return new MatchDAO(em);
|
||||
}
|
||||
|
||||
@Override
|
||||
public IOrganizationDAO createOrganizationDAO() {
|
||||
// TODO
|
||||
return null;
|
||||
return new OrganizationDAO(em);
|
||||
}
|
||||
|
||||
@Override
|
||||
public IRiderDAO createRiderDAO() {
|
||||
// TODO
|
||||
return null;
|
||||
return new RiderDAO(em);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ITripDAO createTripDAO() {
|
||||
// TODO
|
||||
return null;
|
||||
return new TripDAO(em);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ITripInfoDAO createTripInfoDAO() {
|
||||
// TODO
|
||||
return null;
|
||||
return new TripInfoDAO(em);
|
||||
}
|
||||
|
||||
@Override
|
||||
public IVehicleDAO createVehicleDAO() {
|
||||
// TODO
|
||||
return null;
|
||||
return new VehicleDAO(em);
|
||||
}
|
||||
}
|
||||
|
||||
19
ass1-jpa/src/main/java/dst/ass1/jpa/dao/impl/DriverDAO.java
Normal file
19
ass1-jpa/src/main/java/dst/ass1/jpa/dao/impl/DriverDAO.java
Normal file
@ -0,0 +1,19 @@
|
||||
package dst.ass1.jpa.dao.impl;
|
||||
|
||||
import dst.ass1.jpa.dao.IDriverDAO;
|
||||
import dst.ass1.jpa.model.IDriver;
|
||||
import dst.ass1.jpa.model.impl.Driver;
|
||||
|
||||
import javax.persistence.EntityManager;
|
||||
import java.util.Collection;
|
||||
|
||||
public class DriverDAO extends GenericDAO<IDriver> implements IDriverDAO {
|
||||
public DriverDAO(EntityManager entityManager) {
|
||||
super(entityManager, Driver.class);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Collection<IDriver> findActiveInMultipleOrganizationsDrivers(Long numberOfOrganizations) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,13 @@
|
||||
package dst.ass1.jpa.dao.impl;
|
||||
|
||||
import dst.ass1.jpa.dao.IEmploymentDAO;
|
||||
import dst.ass1.jpa.model.IEmployment;
|
||||
import dst.ass1.jpa.model.impl.Employment;
|
||||
|
||||
import javax.persistence.EntityManager;
|
||||
|
||||
public class EmploymentDAO extends GenericDAO<IEmployment> implements IEmploymentDAO {
|
||||
public EmploymentDAO(EntityManager entityManager) {
|
||||
super(entityManager, Employment.class);
|
||||
}
|
||||
}
|
||||
30
ass1-jpa/src/main/java/dst/ass1/jpa/dao/impl/GenericDAO.java
Normal file
30
ass1-jpa/src/main/java/dst/ass1/jpa/dao/impl/GenericDAO.java
Normal file
@ -0,0 +1,30 @@
|
||||
package dst.ass1.jpa.dao.impl;
|
||||
|
||||
import javax.persistence.EntityManager;
|
||||
import javax.persistence.criteria.CriteriaQuery;
|
||||
import javax.persistence.criteria.Root;
|
||||
import java.util.List;
|
||||
|
||||
public class GenericDAO<T> implements dst.ass1.jpa.dao.GenericDAO<T> {
|
||||
private final EntityManager entityManager;
|
||||
private final Class aClass;
|
||||
|
||||
public GenericDAO(EntityManager entityManager, Class aClass) {
|
||||
this.entityManager = entityManager;
|
||||
this.aClass = aClass;
|
||||
}
|
||||
|
||||
@Override
|
||||
public T findById(Long id) {
|
||||
return (T) entityManager.find(aClass, id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<T> findAll() {
|
||||
CriteriaQuery<T> criteriaQuery = entityManager.getCriteriaBuilder().createQuery(aClass);
|
||||
Root<T> root = criteriaQuery.from(aClass);
|
||||
criteriaQuery.select(root);
|
||||
|
||||
return entityManager.createQuery(criteriaQuery).getResultList();
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,19 @@
|
||||
package dst.ass1.jpa.dao.impl;
|
||||
|
||||
import dst.ass1.jpa.dao.ILocationDAO;
|
||||
import dst.ass1.jpa.model.ILocation;
|
||||
import dst.ass1.jpa.model.impl.Location;
|
||||
|
||||
import javax.persistence.EntityManager;
|
||||
import java.util.Collection;
|
||||
|
||||
public class LocationDAO extends GenericDAO<ILocation> implements ILocationDAO {
|
||||
public LocationDAO(EntityManager entityManager) {
|
||||
super(entityManager, Location.class);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Collection<Long> findReachedLocationIds() {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
13
ass1-jpa/src/main/java/dst/ass1/jpa/dao/impl/MatchDAO.java
Normal file
13
ass1-jpa/src/main/java/dst/ass1/jpa/dao/impl/MatchDAO.java
Normal file
@ -0,0 +1,13 @@
|
||||
package dst.ass1.jpa.dao.impl;
|
||||
|
||||
import dst.ass1.jpa.dao.IMatchDAO;
|
||||
import dst.ass1.jpa.model.IMatch;
|
||||
import dst.ass1.jpa.model.impl.Match;
|
||||
|
||||
import javax.persistence.EntityManager;
|
||||
|
||||
public class MatchDAO extends GenericDAO<IMatch> implements IMatchDAO {
|
||||
public MatchDAO(EntityManager entityManager) {
|
||||
super(entityManager, Match.class);
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,13 @@
|
||||
package dst.ass1.jpa.dao.impl;
|
||||
|
||||
import dst.ass1.jpa.dao.IOrganizationDAO;
|
||||
import dst.ass1.jpa.model.IOrganization;
|
||||
import dst.ass1.jpa.model.impl.Organization;
|
||||
|
||||
import javax.persistence.EntityManager;
|
||||
|
||||
public class OrganizationDAO extends GenericDAO<IOrganization> implements IOrganizationDAO {
|
||||
public OrganizationDAO(EntityManager entityManager) {
|
||||
super(entityManager, Organization.class);
|
||||
}
|
||||
}
|
||||
30
ass1-jpa/src/main/java/dst/ass1/jpa/dao/impl/RiderDAO.java
Normal file
30
ass1-jpa/src/main/java/dst/ass1/jpa/dao/impl/RiderDAO.java
Normal file
@ -0,0 +1,30 @@
|
||||
package dst.ass1.jpa.dao.impl;
|
||||
|
||||
import dst.ass1.jpa.dao.IRiderDAO;
|
||||
import dst.ass1.jpa.model.IMoney;
|
||||
import dst.ass1.jpa.model.IRider;
|
||||
import dst.ass1.jpa.model.impl.Rider;
|
||||
|
||||
import javax.persistence.EntityManager;
|
||||
import java.util.Map;
|
||||
|
||||
public class RiderDAO extends GenericDAO<IRider> implements IRiderDAO {
|
||||
public RiderDAO(EntityManager entityManager) {
|
||||
super(entityManager, Rider.class);
|
||||
}
|
||||
|
||||
@Override
|
||||
public IRider findByEmail(String email) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Double getTotalDistanceOfMostRecentRider() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<IRider, Map<String, IMoney>> getRecentSpending() {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
20
ass1-jpa/src/main/java/dst/ass1/jpa/dao/impl/TripDAO.java
Normal file
20
ass1-jpa/src/main/java/dst/ass1/jpa/dao/impl/TripDAO.java
Normal file
@ -0,0 +1,20 @@
|
||||
package dst.ass1.jpa.dao.impl;
|
||||
|
||||
import dst.ass1.jpa.dao.ITripDAO;
|
||||
import dst.ass1.jpa.model.ITrip;
|
||||
import dst.ass1.jpa.model.impl.Trip;
|
||||
|
||||
import javax.persistence.EntityManager;
|
||||
import java.util.Collection;
|
||||
import java.util.Date;
|
||||
|
||||
public class TripDAO extends GenericDAO<ITrip> implements ITripDAO {
|
||||
public TripDAO(EntityManager entityManager) {
|
||||
super(entityManager, Trip.class);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Collection<ITrip> findCancelledTrips(Date start, Date end) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,13 @@
|
||||
package dst.ass1.jpa.dao.impl;
|
||||
|
||||
import dst.ass1.jpa.dao.ITripInfoDAO;
|
||||
import dst.ass1.jpa.model.ITripInfo;
|
||||
import dst.ass1.jpa.model.impl.TripInfo;
|
||||
|
||||
import javax.persistence.EntityManager;
|
||||
|
||||
public class TripInfoDAO extends GenericDAO<ITripInfo> implements ITripInfoDAO {
|
||||
public TripInfoDAO(EntityManager entityManager) {
|
||||
super(entityManager, TripInfo.class);
|
||||
}
|
||||
}
|
||||
13
ass1-jpa/src/main/java/dst/ass1/jpa/dao/impl/VehicleDAO.java
Normal file
13
ass1-jpa/src/main/java/dst/ass1/jpa/dao/impl/VehicleDAO.java
Normal file
@ -0,0 +1,13 @@
|
||||
package dst.ass1.jpa.dao.impl;
|
||||
|
||||
import dst.ass1.jpa.dao.IVehicleDAO;
|
||||
import dst.ass1.jpa.model.IVehicle;
|
||||
import dst.ass1.jpa.model.impl.Vehicle;
|
||||
|
||||
import javax.persistence.EntityManager;
|
||||
|
||||
public class VehicleDAO extends GenericDAO<IVehicle> implements IVehicleDAO {
|
||||
public VehicleDAO(EntityManager entityManager) {
|
||||
super(entityManager, Vehicle.class);
|
||||
}
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user