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.plugins.folderlisting.business;
35
36 import fr.paris.lutece.portal.service.plugin.Plugin;
37 import fr.paris.lutece.util.sql.DAOUtil;
38
39 import java.util.ArrayList;
40 import java.util.List;
41
42
43
44
45
46 public final class FolderListingDatabaseDAO implements IFolderListingDatabaseDAO
47 {
48
49
50 private static final String SQL_QUERY_NEW_PK = " SELECT max( id_folder ) FROM folderlisting_folders ";
51 private static final String SQL_QUERY_SELECT = " SELECT id_folder, folder_name, folder_path, workgroup_key FROM folderlisting_folders WHERE id_folder = ? ";
52 private static final String SQL_QUERY_INSERT = " INSERT INTO folderlisting_folders ( id_folder, folder_name, folder_path, workgroup_key ) VALUES ( ?, ?, ?, ? ) ";
53 private static final String SQL_QUERY_DELETE = " DELETE FROM folderlisting_folders WHERE id_folder = ? ";
54 private static final String SQL_QUERY_UPDATE = " UPDATE folderlisting_folders SET id_folder = ?, folder_name = ?, folder_path = ?, workgroup_key = ? WHERE id_folder = ? ";
55 private static final String SQL_QUERY_SELECTALL = " SELECT id_folder, folder_name, folder_path, workgroup_key FROM folderlisting_folders ";
56
57
58
59
60
61
62 private int newPrimaryKey( Plugin plugin )
63 {
64 DAOUtil daoUtil = new DAOUtil( SQL_QUERY_NEW_PK, plugin );
65 daoUtil.executeQuery( );
66
67 int nKey;
68
69 if ( !daoUtil.next( ) )
70 {
71
72 nKey = 1;
73 }
74
75 nKey = daoUtil.getInt( 1 ) + 1;
76
77 daoUtil.free( );
78
79 return nKey;
80 }
81
82
83
84
85
86
87 public void insert( FolderListingDatabase folderListingDatabase, Plugin plugin )
88 {
89 DAOUtil daoUtil = new DAOUtil( SQL_QUERY_INSERT, plugin );
90 folderListingDatabase.setId( newPrimaryKey( plugin ) );
91 daoUtil.setInt( 1, folderListingDatabase.getId( ) );
92 daoUtil.setString( 2, folderListingDatabase.getFolderName( ) );
93 daoUtil.setString( 3, folderListingDatabase.getFolderPath( ) );
94 daoUtil.setString( 4, folderListingDatabase.getWorkgroup( ) );
95
96 daoUtil.executeUpdate( );
97 daoUtil.free( );
98 }
99
100
101
102
103
104
105
106 public FolderListingDatabase load( int nFolderListingDatabaseId, Plugin plugin )
107 {
108 DAOUtil daoUtil = new DAOUtil( SQL_QUERY_SELECT, plugin );
109 daoUtil.setInt( 1, nFolderListingDatabaseId );
110 daoUtil.executeQuery( );
111
112 FolderListingDatabase folderListingDatabase = null;
113
114 if ( daoUtil.next( ) )
115 {
116 folderListingDatabase = new FolderListingDatabase( );
117 folderListingDatabase.setId( daoUtil.getInt( 1 ) );
118 folderListingDatabase.setFolderName( daoUtil.getString( 2 ) );
119 folderListingDatabase.setFolderPath( daoUtil.getString( 3 ) );
120 folderListingDatabase.setWorkgroup( daoUtil.getString( 4 ) );
121 }
122
123 daoUtil.free( );
124
125 return folderListingDatabase;
126 }
127
128
129
130
131
132
133 public void delete( int nFolderListingDatabaseId, Plugin plugin )
134 {
135 DAOUtil daoUtil = new DAOUtil( SQL_QUERY_DELETE, plugin );
136 daoUtil.setInt( 1, nFolderListingDatabaseId );
137 daoUtil.executeUpdate( );
138 daoUtil.free( );
139 }
140
141
142
143
144
145
146 public void store( FolderListingDatabase folderListingDatabase, Plugin plugin )
147 {
148 DAOUtil daoUtil = new DAOUtil( SQL_QUERY_UPDATE, plugin );
149 daoUtil.setInt( 1, folderListingDatabase.getId( ) );
150 daoUtil.setString( 2, folderListingDatabase.getFolderName( ) );
151 daoUtil.setString( 3, folderListingDatabase.getFolderPath( ) );
152 daoUtil.setString( 4, folderListingDatabase.getWorkgroup( ) );
153 daoUtil.setInt( 5, folderListingDatabase.getId( ) );
154
155 daoUtil.executeUpdate( );
156 daoUtil.free( );
157 }
158
159
160
161
162
163
164 public List selectFolderListingDatabaseList( Plugin plugin )
165 {
166 List listFolderListingDatabases = new ArrayList( );
167 DAOUtil daoUtil = new DAOUtil( SQL_QUERY_SELECTALL, plugin );
168 daoUtil.executeQuery( );
169
170 while ( daoUtil.next( ) )
171 {
172 FolderListingDatabase folderListingDatabase = new FolderListingDatabase( );
173 folderListingDatabase.setId( daoUtil.getInt( 1 ) );
174 folderListingDatabase.setFolderName( daoUtil.getString( 2 ) );
175 folderListingDatabase.setFolderPath( daoUtil.getString( 3 ) );
176 folderListingDatabase.setWorkgroup( daoUtil.getString( 4 ) );
177
178 listFolderListingDatabases.add( folderListingDatabase );
179 }
180
181 daoUtil.free( );
182
183 return listFolderListingDatabases;
184 }
185 }