]> SALOME platform Git repositories - modules/gde.git/blob - projects/GDE_App/GDE-ejb/src/java/com/edf/gde/dao/FileDao.java
Salome HOME
Merge branch 'permissions' of /media/mordicus/git/salome-gde into permissions
[modules/gde.git] / projects / GDE_App / GDE-ejb / src / java / com / edf / gde / dao / FileDao.java
1 /*
2  * (C) 2015 EDF
3  */
4 package com.edf.gde.dao;
5
6 import com.edf.gde.entities.GDEFile;
7 import com.edf.gde.transferables.FileTO;
8 import java.util.Date;
9 import javax.persistence.EntityManager;
10
11 /**
12  *
13  * @author Kavoos
14  */
15 public class FileDao {
16
17     private EntityManager em;
18
19     public FileDao(EntityManager em) {
20         this.em = em;
21     }
22
23     public FileTO createFile(FileTO fto) {
24         GDEFile f = GDEFile.fromFileTO(fto);
25         em.persist(f);
26         return f.toFileTO();
27     }
28
29     public void deleteFile(FileTO fto) {
30         GDEFile f = GDEFile.fromFileTO(fto);
31         em.remove(f);
32     }
33
34     public FileTO updateFile(FileTO fto) {
35         GDEFile f = GDEFile.fromFileTO(fto);
36         GDEFile up = em.merge(f);
37         return up.toFileTO();
38     }
39
40     public FileTO findFile(FileTO fto) {
41         GDEFile found = em.find(GDEFile.class, fto.getId());
42         return found.toFileTO();
43     }
44
45     private <T> FileTO findBy(String queryName, String varName, T value) {
46         GDEFile found = (GDEFile) em.createNamedQuery(queryName)
47                 .setParameter(varName, value)
48                 .getSingleResult();
49         return found.toFileTO();
50     }
51
52     public FileTO findById(long id) {
53         return findBy("File.findById", "id", id);
54     }
55
56     public FileTO findByName(String name) {
57         return findBy("File.findByName", "name", name);
58     }
59
60     public FileTO findByCreationDate(Date creationDate) {
61         return findBy("File.findByCreationDate", "creationDate", creationDate);
62     }
63
64     public FileTO findByUpdateDate(Date updateDate) {
65         return findBy("File.findByUpdateDate", "updateDate", updateDate);
66     }
67
68     public FileTO findByDeletionDate(Date deletionDate) {
69         return findBy("File.findByDeletionDate", "deletionDate", deletionDate);
70     }
71
72 }