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.directory.business.attribute;
35
36 import fr.paris.lutece.portal.service.plugin.Plugin;
37 import fr.paris.lutece.util.sql.DAOUtil;
38
39 import java.util.HashMap;
40 import java.util.Map;
41
42
43
44
45
46
47 public class DirectoryAttributeDAO implements IDirectoryAttributeDAO
48 {
49 private static final String SQL_QUERY_SELECT = " SELECT attribute_key, attribute_value FROM directory_directory_attribute WHERE id_directory = ? ";
50 private static final String SQL_QUERY_INSERT = " INSERT INTO directory_directory_attribute ( id_directory, attribute_key, attribute_value ) VALUES ( ?,?,? ) ";
51 private static final String SQL_QUERY_DELETE = " DELETE FROM directory_directory_attribute WHERE id_directory = ? ";
52
53
54
55
56 @Override
57 public Map<String, Object> load( int nIdDirectory, Plugin plugin )
58 {
59 Map<String, Object> mapAttributes = new HashMap<String, Object>( );
60 DAOUtil daoUtil = new DAOUtil( SQL_QUERY_SELECT, plugin );
61 daoUtil.setInt( 1, nIdDirectory );
62 daoUtil.executeQuery( );
63
64 while ( daoUtil.next( ) )
65 {
66 int nIndex = 1;
67 String strAttributeKey = daoUtil.getString( nIndex++ );
68 Object attributeValue = daoUtil.getObject( nIndex++ );
69 mapAttributes.put( strAttributeKey, attributeValue );
70 }
71
72 daoUtil.free( );
73
74 return mapAttributes;
75 }
76
77
78
79
80 @Override
81 public synchronized void insert( int nIdDirectory, String strAttributeKey, Object attributeValue, Plugin plugin )
82 {
83 int nIndex = 1;
84 DAOUtil daoUtil = new DAOUtil( SQL_QUERY_INSERT, plugin );
85 daoUtil.setInt( nIndex++, nIdDirectory );
86 daoUtil.setString( nIndex++, strAttributeKey );
87 daoUtil.setString( nIndex++, attributeValue.toString( ) );
88
89 daoUtil.executeUpdate( );
90
91 daoUtil.free( );
92 }
93
94
95
96
97 @Override
98 public void remove( int nIdDirectory, Plugin plugin )
99 {
100 DAOUtil daoUtil = new DAOUtil( SQL_QUERY_DELETE, plugin );
101 daoUtil.setInt( 1, nIdDirectory );
102
103 daoUtil.executeUpdate( );
104
105 daoUtil.free( );
106 }
107 }