Add DAO implementations
This commit is contained in:
parent
a0b099cbc3
commit
0f8a8d5f9f
@ -20,55 +20,46 @@ public class DAOFactory implements IDAOFactory {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public IDriverDAO createDriverDAO() {
|
public IDriverDAO createDriverDAO() {
|
||||||
// TODO
|
return new DriverDAO(em);
|
||||||
return null;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public IEmploymentDAO createEmploymentDAO() {
|
public IEmploymentDAO createEmploymentDAO() {
|
||||||
// TODO
|
return new EmploymentDAO(em);
|
||||||
return null;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ILocationDAO createLocationDAO() {
|
public ILocationDAO createLocationDAO() {
|
||||||
// TODO
|
return new LocationDAO(em);
|
||||||
return null;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public IMatchDAO createMatchDAO() {
|
public IMatchDAO createMatchDAO() {
|
||||||
// TODO
|
return new MatchDAO(em);
|
||||||
return null;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public IOrganizationDAO createOrganizationDAO() {
|
public IOrganizationDAO createOrganizationDAO() {
|
||||||
// TODO
|
return new OrganizationDAO(em);
|
||||||
return null;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public IRiderDAO createRiderDAO() {
|
public IRiderDAO createRiderDAO() {
|
||||||
// TODO
|
return new RiderDAO(em);
|
||||||
return null;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ITripDAO createTripDAO() {
|
public ITripDAO createTripDAO() {
|
||||||
// TODO
|
return new TripDAO(em);
|
||||||
return null;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ITripInfoDAO createTripInfoDAO() {
|
public ITripInfoDAO createTripInfoDAO() {
|
||||||
// TODO
|
return new TripInfoDAO(em);
|
||||||
return null;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public IVehicleDAO createVehicleDAO() {
|
public IVehicleDAO createVehicleDAO() {
|
||||||
// TODO
|
return new VehicleDAO(em);
|
||||||
return null;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
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