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
35 package fr.paris.lutece.plugins.directory.modules.exportfile.business;
36
37 import fr.paris.lutece.portal.service.plugin.Plugin;
38 import fr.paris.lutece.util.sql.DAOUtil;
39
40 import java.util.ArrayList;
41 import java.util.Collection;
42
43
44
45
46
47 public final class FileDAO implements IFileDAO
48 {
49
50 private static final String SQL_QUERY_NEW_PK = "SELECT max( id_file ) FROM exportfile_file";
51 private static final String SQL_QUERY_SELECT = "SELECT id_file, idDirectory, idFile, isCreated FROM exportfile_file WHERE id_file = ?";
52 private static final String SQL_QUERY_INSERT = "INSERT INTO exportfile_file ( id_file, idDirectory, idFile, isCreated ) VALUES ( ?, ?, ?, ? ) ";
53 private static final String SQL_QUERY_DELETE = "DELETE FROM exportfile_file WHERE id_file = ? ";
54 private static final String SQL_QUERY_UPDATE = "UPDATE exportfile_file SET id_file = ?, idDirectory = ?, idFile = ?, isCreated = ? WHERE id_file = ?";
55 private static final String SQL_QUERY_SELECTALL = "SELECT id_file, idDirectory, idFile, isCreated FROM exportfile_file";
56 private static final String SQL_QUERY_SELECTALL_ID = "SELECT id_file FROM exportfile_file";
57 private static final String SQL_QUERY_SELECT_BY_ID_FILE = "SELECT id_file, idDirectory, idFile, isCreated FROM exportfile_file WHERE idFile = ? AND idDirectory = ?";
58
59
60
61
62
63
64
65
66 public int newPrimaryKey( Plugin plugin )
67 {
68 DAOUtil daoUtil = new DAOUtil( SQL_QUERY_NEW_PK, plugin );
69 daoUtil.executeQuery( );
70
71 int nKey = 1;
72
73 if ( daoUtil.next( ) )
74 {
75 nKey = daoUtil.getInt( 1 ) + 1;
76 }
77
78 daoUtil.free( );
79
80 return nKey;
81 }
82
83
84
85
86 @Override
87 public void insert( File file, Plugin plugin )
88 {
89 DAOUtil daoUtil = new DAOUtil( SQL_QUERY_INSERT, plugin );
90
91 file.setId( newPrimaryKey( plugin ) );
92
93 daoUtil.setInt( 1, file.getId( ) );
94 daoUtil.setInt( 2, file.getIdDirectory( ) );
95 daoUtil.setInt( 3, file.getIdFile( ) );
96 daoUtil.setBoolean( 4, file.getIsCreated( ) );
97
98 daoUtil.executeUpdate( );
99 daoUtil.free( );
100 }
101
102
103
104
105 @Override
106 public File load( int nKey, Plugin plugin )
107 {
108 DAOUtil daoUtil = new DAOUtil( SQL_QUERY_SELECT, plugin );
109 daoUtil.setInt( 1, nKey );
110 daoUtil.executeQuery( );
111
112 File file = null;
113
114 if ( daoUtil.next( ) )
115 {
116 file = new File( );
117 file.setId( daoUtil.getInt( 1 ) );
118 file.setIdDirectory( daoUtil.getInt( 2 ) );
119 file.setIdFile( daoUtil.getInt( 3 ) );
120 file.setIsCreated( daoUtil.getBoolean( 4 ) );
121 }
122
123 daoUtil.free( );
124 return file;
125 }
126
127
128
129
130 @Override
131 public File load( int nIdFile, int nIdDirectory, Plugin plugin )
132 {
133 DAOUtil daoUtil = new DAOUtil( SQL_QUERY_SELECT_BY_ID_FILE, plugin );
134 daoUtil.setInt( 1, nIdFile );
135 daoUtil.setInt( 2, nIdDirectory );
136 daoUtil.executeQuery( );
137
138 File file = null;
139
140 if ( daoUtil.next( ) )
141 {
142 file = new File( );
143 file.setId( daoUtil.getInt( 1 ) );
144 file.setIdDirectory( daoUtil.getInt( 2 ) );
145 file.setIdFile( daoUtil.getInt( 3 ) );
146 file.setIsCreated( daoUtil.getBoolean( 4 ) );
147 }
148
149 daoUtil.free( );
150 return file;
151 }
152
153
154
155
156 @Override
157 public void delete( int nKey, Plugin plugin )
158 {
159 DAOUtil daoUtil = new DAOUtil( SQL_QUERY_DELETE, plugin );
160 daoUtil.setInt( 1, nKey );
161 daoUtil.executeUpdate( );
162 daoUtil.free( );
163 }
164
165
166
167
168 @Override
169 public void store( File file, Plugin plugin )
170 {
171 DAOUtil daoUtil = new DAOUtil( SQL_QUERY_UPDATE, plugin );
172
173 daoUtil.setInt( 1, file.getId( ) );
174 daoUtil.setInt( 2, file.getIdDirectory( ) );
175 daoUtil.setInt( 3, file.getIdFile( ) );
176 daoUtil.setBoolean( 4, file.getIsCreated( ) );
177 daoUtil.setInt( 5, file.getId( ) );
178
179 daoUtil.executeUpdate( );
180 daoUtil.free( );
181 }
182
183
184
185
186 @Override
187 public Collection<File> selectFilesList( Plugin plugin )
188 {
189 Collection<File> fileList = new ArrayList<File>( );
190 DAOUtil daoUtil = new DAOUtil( SQL_QUERY_SELECTALL, plugin );
191 daoUtil.executeQuery( );
192
193 while ( daoUtil.next( ) )
194 {
195 File file = new File( );
196
197 file.setId( daoUtil.getInt( 1 ) );
198 file.setIdDirectory( daoUtil.getInt( 2 ) );
199 file.setIdFile( daoUtil.getInt( 3 ) );
200 file.setIsCreated( daoUtil.getBoolean( 4 ) );
201
202 fileList.add( file );
203 }
204
205 daoUtil.free( );
206 return fileList;
207 }
208
209
210
211
212 @Override
213 public Collection<Integer> selectIdFilesList( Plugin plugin )
214 {
215 Collection<Integer> fileList = new ArrayList<Integer>( );
216 DAOUtil daoUtil = new DAOUtil( SQL_QUERY_SELECTALL_ID, plugin );
217 daoUtil.executeQuery( );
218
219 while ( daoUtil.next( ) )
220 {
221 fileList.add( daoUtil.getInt( 1 ) );
222 }
223
224 daoUtil.free( );
225 return fileList;
226 }
227 }