Skip to content
Snippets Groups Projects
Commit 15c3f45c authored by Lars Brodin Østby's avatar Lars Brodin Østby
Browse files

Fixed image repository

parent 77475a5f
No related branches found
No related tags found
2 merge requests!30Weekly merge to master,!24Image repository
......@@ -6,54 +6,139 @@ import javax.persistence.EntityManager;
import java.util.List;
public class ImageRepository implements Repository<Image, Long> {
/**
* Image Repository.
* <p>
* Implements {@link Repository} which supports regular Create, Read, Update and Delete operations.
*
* @author Lars Østby
* @version 1.0 19.03.20
* @see NTNU.IDATT1002.repository.Repository
*/
public class ImageRepository implements Repository<Image, Long> {
private EntityManager entityManager;
public Optional<Image> save (Image image){
try{
/**
* Constructor to inject {@link EntityManager} dependency.
*
* @param entityManager the entity manager to utilize.
*/
public ImageRepository(EntityManager entityManager) {
this.entityManager = entityManager;
}
/**
* Saves a given image and returns the saved instance.
*
* @param image the image album to save
* @return the saved image
*/
public Optional<Image> save(Image image) {
try {
persist(image);
return Optional.of(image);
} catch (Exception e){
} catch (Exception e) {
e.printStackTrace();
}
return Optional.empty();
}
private void persist(Image image){
/**
* Persists the given image
*
* @param image the image to persist
*/
private void persist(Image image) {
entityManager.getTransaction().begin();
entityManager.persist(image);
entityManager.getTransaction().commit();
}
public Optional<Image> update(Image image){
/**
* Retrieves all instances of the type image.
*
* @return all entities
*/
public Optional<Image> update(Image image) {
return Optional.empty();
}
public List<Image> findAll(){
/**
* Retrieves all instances of type image.
*
* @return all saved image
*/
public List<Image> findAll() {
return entityManager.createQuery("from Image").getResultList();
}
public Optional<Image> findById(Long id){
/**
* Retrieves an image with the given id.
*
* @param id the if of the image to find
* @return the entity with the given id if found, else Optional.empty()
*/
public Optional<Image> findById(Long id) {
Image image = entityManager.find(Image.class, id);
return image != null ? Optional.of(image) : Optional.empty();
}
public void delete(Image entity){
/**
* Deletes the given image
*
* @param image the image to delete
*/
public void delete(Image image) {
try {
entityManager.getTransaction().begin();
entityManager.remove(image);
entityManager.getTransaction().commit();
} catch (Exception e) {
e.printStackTrace();
}
}
public void deleteById(Long aLong){
/**
* Deletes an image with the given id.
*
* @param id the id of the image to delete
*/
public void deleteById(Long id) {
Optional<Image> image = findById(id);
image.ifPresent(this::delete);
}
public long count(){
return 0;
/**
* Return the number of images
*
* @return the number of images
*/
public long count() {
return findAll().size();
}
/**
* Return whether the given image exists.
*
* @param image image album to check existence for
* @return true if the image album exist, else false
*/
@Override
public boolean exists(Image entity) {
public boolean exists(Image image) {
return false;
}
}
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