4 package com.edf.gde.dao.impl;
6 import com.edf.gde.dao.FileDao;
7 import com.edf.gde.entities.GDEFile;
8 import com.edf.gde.transferables.FileTO;
10 import javax.persistence.EntityManager;
16 public class FileDaoImpl implements FileDao {
18 private final EntityManager em;
20 public FileDaoImpl(EntityManager em) {
25 public FileTO createFile(FileTO fto) {
26 GDEFile f = GDEFile.fromFileTO(fto);
34 public void deleteFile(FileTO fto) {
35 GDEFile f = GDEFile.fromFileTO(fto);
40 public FileTO updateFile(FileTO fto) {
41 GDEFile f = GDEFile.fromFileTO(fto);
42 GDEFile up = em.merge(f);
47 public FileTO findFile(FileTO fto) {
48 GDEFile found = em.find(GDEFile.class, fto.getId());
49 return found.toFileTO();
52 private <T> FileTO findBy(String queryName, String varName, T value) {
53 GDEFile found = (GDEFile) em.createNamedQuery(queryName)
54 .setParameter(varName, value)
56 return found.toFileTO();
60 public FileTO findById(long id) {
61 return findBy("File.findById", "id", id);
65 public FileTO findByName(String name) {
66 return findBy("File.findByName", "name", name);
70 public FileTO findByCreationDate(Date creationDate) {
71 return findBy("File.findByCreationDate", "creationDate", creationDate);
75 public FileTO findByUpdateDate(Date updateDate) {
76 return findBy("File.findByUpdateDate", "updateDate", updateDate);
80 public FileTO findByDeletionDate(Date deletionDate) {
81 return findBy("File.findByDeletionDate", "deletionDate", deletionDate);
85 public void validate(long fileId) {
86 GDEFile file = em.find(GDEFile.class, fileId);