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.pluginwizard.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 public final class ModelDAO implements IModelDAO
46 {
47
48 private static final String SQL_QUERY_NEW_PK = "SELECT max( id_plugin ) FROM pluginwizard_plugin_model";
49 private static final String SQL_QUERY_SELECT = "SELECT id_plugin, name, model_json FROM pluginwizard_plugin_model WHERE id_plugin = ?";
50 private static final String SQL_QUERY_INSERT = "INSERT INTO pluginwizard_plugin_model ( id_plugin, name, model_json ) VALUES ( ?, ?, ? ) ";
51 private static final String SQL_QUERY_DELETE = "DELETE FROM pluginwizard_plugin_model WHERE id_plugin = ? ";
52 private static final String SQL_QUERY_UPDATE = "UPDATE pluginwizard_plugin_model SET name = ?, model_json = ? WHERE id_plugin = ?";
53 private static final String SQL_QUERY_SELECTALL = "SELECT id_plugin, name, model_json FROM pluginwizard_plugin_model";
54
55
56
57
58
59
60
61
62 public int newPrimaryKey( Plugin plugin )
63 {
64 try ( DAOUtil daoUtil = new DAOUtil( SQL_QUERY_NEW_PK, plugin ) )
65 {
66 daoUtil.executeQuery( );
67
68 int nKey;
69
70 daoUtil.next( );
71 nKey = daoUtil.getInt( 1 ) + 1;
72 daoUtil.free( );
73
74 return nKey;
75 }
76 }
77
78
79
80
81
82
83
84
85
86 @Override
87 public void insert( Model model, Plugin plugin )
88 {
89 try ( DAOUtil daoUtil = new DAOUtil( SQL_QUERY_INSERT, plugin ) )
90 {
91
92 model.setIdPlugin( newPrimaryKey( plugin ) );
93
94 daoUtil.setInt( 1, model.getIdPlugin( ) );
95 daoUtil.setString( 2, model.getName( ) );
96 daoUtil.setString( 3, model.getModelJson( ) );
97
98 daoUtil.executeUpdate( );
99 daoUtil.free( );
100 }
101 }
102
103
104
105
106
107
108
109
110
111
112 @Override
113 public Model load( int nId, Plugin plugin )
114 {
115 try ( DAOUtil daoUtil = new DAOUtil( SQL_QUERY_SELECT, plugin ) )
116 {
117 daoUtil.setInt( 1, nId );
118 daoUtil.executeQuery( );
119
120 Model model = null;
121
122 if ( daoUtil.next( ) )
123 {
124 model = new Model( );
125
126 model.setIdPlugin( daoUtil.getInt( 1 ) );
127 model.setName( daoUtil.getString( 2 ) );
128 model.setModelJson( daoUtil.getString( 3 ) );
129 }
130
131 daoUtil.free( );
132
133 return model;
134 }
135 }
136
137
138
139
140
141
142
143
144
145 @Override
146 public void delete( int nModelId, Plugin plugin )
147 {
148 try ( DAOUtil daoUtil = new DAOUtil( SQL_QUERY_DELETE, plugin ) )
149 {
150 daoUtil.setInt( 1, nModelId );
151 daoUtil.executeUpdate( );
152 daoUtil.free( );
153 }
154 }
155
156
157
158
159
160
161
162
163
164 @Override
165 public void store( Model model, Plugin plugin )
166 {
167 try ( DAOUtil daoUtil = new DAOUtil( SQL_QUERY_UPDATE, plugin ) )
168 {
169
170 daoUtil.setString( 1, model.getName( ) );
171 daoUtil.setString( 2, model.getModelJson( ) );
172 daoUtil.setInt( 3, model.getIdPlugin( ) );
173
174 daoUtil.executeUpdate( );
175 daoUtil.free( );
176 }
177 }
178
179
180
181
182
183
184
185
186 @Override
187 public List<Model> selectModelsList( Plugin plugin )
188 {
189 List<Model> modelList = new ArrayList<>( );
190 try ( DAOUtil daoUtil = new DAOUtil( SQL_QUERY_SELECTALL, plugin ) )
191 {
192 daoUtil.executeQuery( );
193
194 while ( daoUtil.next( ) )
195 {
196 Modelins/pluginwizard/business/Model.html#Model">Model model = new Model( );
197
198 model.setIdPlugin( daoUtil.getInt( 1 ) );
199 model.setName( daoUtil.getString( 2 ) );
200 model.setModelJson( daoUtil.getString( 3 ) );
201
202 modelList.add( model );
203 }
204
205 daoUtil.free( );
206
207 return modelList;
208 }
209 }
210 }