1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34 package fr.paris.lutece.portal.business.physicalfile;
35
36 import fr.paris.lutece.util.sql.DAOUtil;
37
38
39
40
41
42 public final class PhysicalFileDAO implements IPhysicalFileDAO
43 {
44
45 private static final String SQL_QUERY_NEW_PK = "SELECT max( id_physical_file ) FROM core_physical_file";
46 private static final String SQL_QUERY_FIND_BY_PRIMARY_KEY = "SELECT id_physical_file,file_value" +
47 " FROM core_physical_file WHERE id_physical_file = ?";
48 private static final String SQL_QUERY_INSERT = "INSERT INTO core_physical_file(id_physical_file,file_value)" +
49 " VALUES(?,?)";
50 private static final String SQL_QUERY_DELETE = "DELETE FROM core_physical_file WHERE id_physical_file = ? ";
51 private static final String SQL_QUERY_UPDATE = "UPDATE core_physical_file SET " +
52 "id_physical_file=?,file_value=? WHERE id_physical_file = ?";
53
54
55
56
57 @Override
58 public int newPrimaryKey( )
59 {
60 DAOUtil daoUtil = new DAOUtil( SQL_QUERY_NEW_PK );
61 daoUtil.executeQuery( );
62
63 int nKey;
64
65 if ( !daoUtil.next( ) )
66 {
67
68 nKey = 1;
69 }
70
71 nKey = daoUtil.getInt( 1 ) + 1;
72 daoUtil.free( );
73
74 return nKey;
75 }
76
77
78
79
80 @Override
81 public synchronized int insert( PhysicalFile physicalFile )
82 {
83 DAOUtil daoUtil = new DAOUtil( SQL_QUERY_INSERT );
84 daoUtil.setBytes( 2, physicalFile.getValue( ) );
85 physicalFile.setIdPhysicalFile( newPrimaryKey( ) );
86 daoUtil.setInt( 1, physicalFile.getIdPhysicalFile( ) );
87 daoUtil.executeUpdate( );
88
89 daoUtil.free( );
90
91 return physicalFile.getIdPhysicalFile( );
92 }
93
94
95
96
97 @Override
98 public PhysicalFile load( int nId )
99 {
100 DAOUtil daoUtil = new DAOUtil( SQL_QUERY_FIND_BY_PRIMARY_KEY );
101 daoUtil.setInt( 1, nId );
102 daoUtil.executeQuery( );
103
104 PhysicalFile physicalFile = null;
105
106 if ( daoUtil.next( ) )
107 {
108 int nIndex = 1;
109 physicalFile = new PhysicalFile( );
110 physicalFile.setIdPhysicalFile( daoUtil.getInt( nIndex++ ) );
111 physicalFile.setValue( daoUtil.getBytes( nIndex ) );
112 }
113
114 daoUtil.free( );
115
116 return physicalFile;
117 }
118
119
120
121
122 @Override
123 public void delete( int nIdPhysicalFile )
124 {
125 DAOUtil daoUtil = new DAOUtil( SQL_QUERY_DELETE );
126 daoUtil.setInt( 1, nIdPhysicalFile );
127 daoUtil.executeUpdate( );
128 daoUtil.free( );
129 }
130
131
132
133
134 @Override
135 public void store( PhysicalFile physicalFile )
136 {
137 int nIndex = 1;
138 DAOUtil daoUtil = new DAOUtil( SQL_QUERY_UPDATE );
139 daoUtil.setInt( nIndex++, physicalFile.getIdPhysicalFile( ) );
140 daoUtil.setBytes( nIndex++, physicalFile.getValue( ) );
141 daoUtil.setInt( nIndex, physicalFile.getIdPhysicalFile( ) );
142 daoUtil.executeUpdate( );
143 daoUtil.free( );
144 }
145 }