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.document.business;
35
36 import fr.paris.lutece.plugins.document.business.attributes.DocumentAttributeHome;
37 import fr.paris.lutece.util.ReferenceList;
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 DocumentTypeDAO implements IDocumentTypeDAO
48 {
49
50 private static final String SQL_QUERY_SELECT = "SELECT code_document_type, document_type_name, description, thumbnail_attr_id, default_thumbnail_url, admin_xsl, content_service_xsl, metadata_handler FROM document_type WHERE code_document_type = ? ";
51 private static final String SQL_QUERY_INSERT = "INSERT INTO document_type ( code_document_type, document_type_name, description, thumbnail_attr_id, default_thumbnail_url, metadata_handler ) VALUES ( ?, ?, ?, ?, ?, ? ) ";
52 private static final String SQL_QUERY_DELETE = "DELETE FROM document_type WHERE code_document_type = ? ";
53 private static final String SQL_QUERY_UPDATE = "UPDATE document_type SET code_document_type = ?, document_type_name = ?, description = ?, thumbnail_attr_id = ?, default_thumbnail_url = ?, metadata_handler = ? WHERE code_document_type = ? ";
54 private static final String SQL_QUERY_SELECTALL = "SELECT code_document_type, document_type_name, description, thumbnail_attr_id, default_thumbnail_url, metadata_handler FROM document_type ";
55 private static final String SQL_QUERY_CHECK_DOCUMENTS = "SELECT id_document FROM document WHERE code_document_type = ? ";
56 private static final String SQL_QUERY_REORDER_ATTRIBUTES = "UPDATE document_type_attr SET attr_order = ? WHERE id_document_attr = ? ";
57 private static final String SQL_QUERY_UPDATE_ADMIN_STYLESHEET = "UPDATE document_type SET admin_xsl = ? WHERE code_document_type = ? ";
58 private static final String SQL_QUERY_UPDATE_CONTENT_STYLESHEET = "UPDATE document_type SET content_service_xsl = ? WHERE code_document_type = ? ";
59
60
61
62
63
64
65 public void insert( DocumentType documentType )
66 {
67 DAOUtil daoUtil = new DAOUtil( SQL_QUERY_INSERT );
68 daoUtil.setString( 1, documentType.getCode( ) );
69 daoUtil.setString( 2, documentType.getName( ) );
70 daoUtil.setString( 3, documentType.getDescription( ) );
71 daoUtil.setInt( 4, documentType.getThumbnailAttributeId( ) );
72 daoUtil.setString( 5, documentType.getDefaultThumbnailUrl( ) );
73 daoUtil.setString( 6, documentType.getMetadataHandler( ) );
74
75 daoUtil.executeUpdate( );
76 daoUtil.free( );
77 }
78
79
80
81
82
83
84 public DocumentType load( String strDocumentTypeCode )
85 {
86 DAOUtil daoUtil = new DAOUtil( SQL_QUERY_SELECT );
87 daoUtil.setString( 1, strDocumentTypeCode );
88 daoUtil.executeQuery( );
89
90 DocumentType documentType = null;
91
92 if ( daoUtil.next( ) )
93 {
94 documentType = new DocumentType( );
95 documentType.setCode( daoUtil.getString( 1 ) );
96 documentType.setName( daoUtil.getString( 2 ) );
97 documentType.setDescription( daoUtil.getString( 3 ) );
98 documentType.setThumbnailAttributeId( daoUtil.getInt( 4 ) );
99 documentType.setDefaultThumbnailUrl( daoUtil.getString( 5 ) );
100 documentType.setAdminXsl( daoUtil.getBytes( 6 ) );
101 documentType.setContentServiceXsl( daoUtil.getBytes( 7 ) );
102 documentType.setMetadataHandler( daoUtil.getString( 8 ) );
103 DocumentAttributeHome.setDocumentTypeAttributes( documentType );
104 }
105
106 daoUtil.free( );
107
108 return documentType;
109 }
110
111
112
113
114
115 public void delete( String strCode )
116 {
117 DAOUtil daoUtil = new DAOUtil( SQL_QUERY_DELETE );
118 daoUtil.setString( 1, strCode );
119
120 daoUtil.executeUpdate( );
121 daoUtil.free( );
122 }
123
124
125
126
127
128 public void store( DocumentType documentType )
129 {
130 DAOUtil daoUtil = new DAOUtil( SQL_QUERY_UPDATE );
131 daoUtil.setString( 1, documentType.getCode( ) );
132 daoUtil.setString( 2, documentType.getName( ) );
133 daoUtil.setString( 3, documentType.getDescription( ) );
134 daoUtil.setInt( 4, documentType.getThumbnailAttributeId( ) );
135 daoUtil.setString( 5, documentType.getDefaultThumbnailUrl( ) );
136 daoUtil.setString( 6, documentType.getMetadataHandler( ) );
137 daoUtil.setString( 7, documentType.getOldCode( ) );
138
139 daoUtil.executeUpdate( );
140 daoUtil.free( );
141 }
142
143
144
145
146
147 public Collection<DocumentType> selectDocumentTypeList( )
148 {
149 Collection<DocumentType> listDocumentTypes = new ArrayList<DocumentType>( );
150 DAOUtil daoUtil = new DAOUtil( SQL_QUERY_SELECTALL );
151 daoUtil.executeQuery( );
152
153 while ( daoUtil.next( ) )
154 {
155 DocumentTypeusiness/DocumentType.html#DocumentType">DocumentType documentType = new DocumentType( );
156 documentType.setCode( daoUtil.getString( 1 ) );
157 documentType.setName( daoUtil.getString( 2 ) );
158 documentType.setDescription( daoUtil.getString( 3 ) );
159 documentType.setThumbnailAttributeId( daoUtil.getInt( 4 ) );
160 documentType.setDefaultThumbnailUrl( daoUtil.getString( 5 ) );
161 documentType.setMetadataHandler( daoUtil.getString( 6 ) );
162
163 listDocumentTypes.add( documentType );
164 }
165
166 daoUtil.free( );
167
168 return listDocumentTypes;
169 }
170
171
172
173
174
175 public ReferenceList getDocumentTypeList( )
176 {
177 ReferenceList listDocumentTypes = new ReferenceList( );
178 DAOUtil daoUtil = new DAOUtil( SQL_QUERY_SELECTALL );
179 daoUtil.executeQuery( );
180
181 while ( daoUtil.next( ) )
182 {
183 DocumentTypeusiness/DocumentType.html#DocumentType">DocumentType documentType = new DocumentType( );
184 documentType.setCode( daoUtil.getString( 1 ) );
185 documentType.setName( daoUtil.getString( 2 ) );
186 listDocumentTypes.addItem( documentType.getCode( ), documentType.getName( ) );
187 }
188
189 daoUtil.free( );
190
191 return listDocumentTypes;
192 }
193
194
195
196
197
198
199 public boolean checkDocuments( String strCode )
200 {
201 DAOUtil daoUtil = new DAOUtil( SQL_QUERY_CHECK_DOCUMENTS );
202 daoUtil.setString( 1, strCode );
203 daoUtil.executeQuery( );
204
205 boolean bCheck = daoUtil.next( );
206 daoUtil.free( );
207
208 return bCheck;
209 }
210
211
212
213
214
215
216
217
218 public void reorderAttributes( int nIdAttribute1, int nOrderAttribute1, int nIdAttribute2, int nOrderAttribute2 )
219 {
220 DAOUtil daoUtil = new DAOUtil( SQL_QUERY_REORDER_ATTRIBUTES );
221 daoUtil.setInt( 1, nOrderAttribute1 );
222 daoUtil.setInt( 2, nIdAttribute1 );
223 daoUtil.executeUpdate( );
224 daoUtil.setInt( 1, nOrderAttribute2 );
225 daoUtil.setInt( 2, nIdAttribute2 );
226 daoUtil.executeUpdate( );
227 daoUtil.free( );
228 }
229
230
231
232
233
234
235 public void setAdminStyleSheet( byte[] baXslAdmin, String strCodeType )
236 {
237 DAOUtil daoUtil = new DAOUtil( SQL_QUERY_UPDATE_ADMIN_STYLESHEET );
238 daoUtil.setBytes( 1, baXslAdmin );
239 daoUtil.setString( 2, strCodeType );
240
241 daoUtil.executeUpdate( );
242 daoUtil.free( );
243 }
244
245
246
247
248
249
250 public void setContentStyleSheet( byte[] baXslContent, String strCodeType )
251 {
252 DAOUtil daoUtil = new DAOUtil( SQL_QUERY_UPDATE_CONTENT_STYLESHEET );
253 daoUtil.setBytes( 1, baXslContent );
254 daoUtil.setString( 2, strCodeType );
255
256 daoUtil.executeUpdate( );
257 daoUtil.free( );
258 }
259 }