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.appstore.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.Collection;
41
42
43
44
45 public final class CategoryDAO implements ICategoryDAO
46 {
47
48 private static final String SQL_QUERY_NEW_PK = "SELECT max( id_category ) FROM appstore_category";
49 private static final String SQL_QUERY_SELECT = "SELECT id_category, name, id_order FROM appstore_category WHERE id_category = ?";
50 private static final String SQL_QUERY_INSERT = "INSERT INTO appstore_category ( id_category, name, id_order ) VALUES ( ?, ?, ? ) ";
51 private static final String SQL_QUERY_DELETE = "DELETE FROM appstore_category WHERE id_category = ? ";
52 private static final String SQL_QUERY_UPDATE = "UPDATE appstore_category SET id_category = ?, name = ?, id_order = ? WHERE id_category = ?";
53 private static final String SQL_QUERY_SELECTALL = "SELECT id_category, name, id_order FROM appstore_category";
54
55
56
57
58
59
60
61
62 public 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 daoUtil.free( );
77
78 return nKey;
79 }
80
81
82
83
84
85
86
87
88
89 public void insert( Category category, Plugin plugin )
90 {
91 DAOUtil daoUtil = new DAOUtil( SQL_QUERY_INSERT, plugin );
92
93 category.setId( newPrimaryKey( plugin ) );
94
95 daoUtil.setInt( 1, category.getId( ) );
96 daoUtil.setString( 2, category.getName( ) );
97 daoUtil.setInt( 3, category.getOrder( ) );
98
99 daoUtil.executeUpdate( );
100 daoUtil.free( );
101 }
102
103
104
105
106
107
108
109
110
111
112 public Category load( int nId, Plugin plugin )
113 {
114 DAOUtil daoUtil = new DAOUtil( SQL_QUERY_SELECT, plugin );
115 daoUtil.setInt( 1, nId );
116 daoUtil.executeQuery( );
117
118 Category category = null;
119
120 if ( daoUtil.next( ) )
121 {
122 category = new Category( );
123
124 category.setId( daoUtil.getInt( 1 ) );
125 category.setName( daoUtil.getString( 2 ) );
126 category.setOrder( daoUtil.getInt( 3 ) );
127 }
128
129 daoUtil.free( );
130
131 return category;
132 }
133
134
135
136
137
138
139
140
141
142 public void delete( int nCategoryId, Plugin plugin )
143 {
144 DAOUtil daoUtil = new DAOUtil( SQL_QUERY_DELETE, plugin );
145 daoUtil.setInt( 1, nCategoryId );
146 daoUtil.executeUpdate( );
147 daoUtil.free( );
148 }
149
150
151
152
153
154
155
156
157
158 public void store( Category category, Plugin plugin )
159 {
160 DAOUtil daoUtil = new DAOUtil( SQL_QUERY_UPDATE, plugin );
161
162 daoUtil.setInt( 1, category.getId( ) );
163 daoUtil.setString( 2, category.getName( ) );
164 daoUtil.setInt( 3, category.getOrder( ) );
165 daoUtil.setInt( 4, category.getId( ) );
166
167 daoUtil.executeUpdate( );
168 daoUtil.free( );
169 }
170
171
172
173
174
175
176
177
178 public Collection<Category> selectCategorysList( Plugin plugin )
179 {
180 Collection<Category> categoryList = new ArrayList<Category>( );
181 DAOUtil daoUtil = new DAOUtil( SQL_QUERY_SELECTALL, plugin );
182 daoUtil.executeQuery( );
183
184 while ( daoUtil.next( ) )
185 {
186 Category category = new Category( );
187
188 category.setId( daoUtil.getInt( 1 ) );
189 category.setName( daoUtil.getString( 2 ) );
190 category.setOrder( daoUtil.getInt( 3 ) );
191
192 categoryList.add( category );
193 }
194
195 daoUtil.free( );
196
197 return categoryList;
198 }
199 }