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.digglike.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
48 public class DiggAttributeDAO implements IDiggAttributeDAO
49 {
50 private static final String SQL_QUERY_SELECT = " SELECT attribute_key, attribute_value FROM digglike_digg_attribute WHERE id_digg = ? ";
51 private static final String SQL_QUERY_INSERT = " INSERT INTO digglike_digg_attribute ( id_digg, attribute_key, attribute_value ) VALUES ( ?,?,? ) ";
52 private static final String SQL_QUERY_DELETE = " DELETE FROM digglike_digg_attribute WHERE id_digg = ? ";
53
54
55
56
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 public synchronized void insert( int nIdDirectory, String strAttributeKey, Object attributeValue, Plugin plugin )
81 {
82 int nIndex = 1;
83 DAOUtil daoUtil = new DAOUtil( SQL_QUERY_INSERT, plugin );
84 daoUtil.setInt( nIndex++, nIdDirectory );
85 daoUtil.setString( nIndex++, strAttributeKey );
86 daoUtil.setString( nIndex++, ( attributeValue != null ) ? attributeValue.toString( ) : null );
87
88 daoUtil.executeUpdate( );
89
90 daoUtil.free( );
91 }
92
93
94
95
96 public void remove( int nIdDirectory, Plugin plugin )
97 {
98 DAOUtil daoUtil = new DAOUtil( SQL_QUERY_DELETE, plugin );
99 daoUtil.setInt( 1, nIdDirectory );
100
101 daoUtil.executeUpdate( );
102
103 daoUtil.free( );
104 }
105 }