4 package com.edf.gde.dao.impl;
6 import com.edf.gde.dao.FileDao;
7 import com.edf.gde.entities.GDEFile;
9 import javax.persistence.EntityManager;
15 public class FileDaoImpl implements FileDao {
17 private final EntityManager em;
19 public FileDaoImpl(EntityManager em) {
24 public GDEFile createFile(GDEFile file) {
25 Date date = new Date();
27 file.setDeleted(false);
28 file.setCreationDate(date);
29 file.setUpdateDate(date);
35 public void deleteFile(long id) {
36 GDEFile file = em.find(GDEFile.class, id);
41 public GDEFile updateFile(GDEFile file) {
42 GDEFile up = em.merge(file);
43 file.setUpdateDate(new Date());
47 private <T> GDEFile findBy(String queryName, String varName, T value) {
48 GDEFile found = (GDEFile) em.createNamedQuery(queryName)
49 .setParameter(varName, value)
55 public GDEFile findById(long id) {
56 return findBy("File.findById", "id", id);
60 public GDEFile findByName(String name) {
61 return findBy("File.findByName", "name", name);
65 public GDEFile findByCreationDate(Date creationDate) {
66 return findBy("File.findByCreationDate", "creationDate", creationDate);
70 public GDEFile findByUpdateDate(Date updateDate) {
71 return findBy("File.findByUpdateDate", "updateDate", updateDate);
75 public GDEFile findByDeletionDate(Date deletionDate) {
76 return findBy("File.findByDeletionDate", "deletionDate", deletionDate);
80 public void validate(long fileId) {
81 GDEFile file = em.find(GDEFile.class, fileId);