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.genericattributes.business;
35
36 import java.util.ArrayList;
37 import java.util.List;
38
39 import fr.paris.lutece.portal.service.plugin.Plugin;
40 import fr.paris.lutece.util.sql.DAOUtil;
41
42
43
44
45
46
47 public class ReferenceItemFieldDao implements IReferenceItemFieldDao
48 {
49 private static final String SQL_QUERY_INSERT = "INSERT INTO genatt_referenceitem_field ( id_field, id_item ) VALUES ( ?, ? ) ";
50 private static final String SQL_QUERY_DELETE_BY_ITEM = "DELETE FROM genatt_referenceitem_field WHERE id_item = ? ";
51 private static final String SQL_QUERY_DELETE_BY_FIELD = "DELETE FROM genatt_referenceitem_field WHERE id_field = ? ";
52 private static final String SQL_QUERY_SELECT_FIELD_BY_ITEM = "SELECT id_field FROM genatt_referenceitem_field WHERE id_item = ? ";
53 private static final String SQL_QUERY_SELECT_ITEM_BY_FIELD = "SELECT id_item FROM genatt_referenceitem_field WHERE id_field = ? ";
54
55 @Override
56 public void insert( int idField, int idReferenceItem, Plugin plugin )
57 {
58 try ( DAOUtil daoUtil = new DAOUtil( SQL_QUERY_INSERT, plugin ) )
59 {
60 daoUtil.setInt( 1, idField );
61 daoUtil.setInt( 2, idReferenceItem );
62 daoUtil.executeUpdate( );
63 }
64
65 }
66
67 @Override
68 public void deleteByIdItem( int idReferenceItem, Plugin plugin )
69 {
70 try ( DAOUtil daoUtil = new DAOUtil( SQL_QUERY_DELETE_BY_ITEM, plugin ) )
71 {
72 daoUtil.setInt( 1, idReferenceItem );
73
74 daoUtil.executeUpdate( );
75 }
76 }
77
78 @Override
79 public void deleteByIdField( int idField, Plugin plugin )
80 {
81 try ( DAOUtil daoUtil = new DAOUtil( SQL_QUERY_DELETE_BY_FIELD, plugin ) )
82 {
83 daoUtil.setInt( 1, idField );
84
85 daoUtil.executeUpdate( );
86 }
87 }
88
89 @Override
90 public List<Integer> loadFieldByItem( int idReferenceItem, Plugin plugin )
91 {
92 List<Integer> list = new ArrayList<>( );
93 try ( DAOUtil daoUtil = new DAOUtil( SQL_QUERY_SELECT_FIELD_BY_ITEM, plugin ) )
94 {
95 daoUtil.setInt( 1, idReferenceItem );
96
97 daoUtil.executeQuery( );
98 while ( daoUtil.next( ) )
99 {
100 list.add( daoUtil.getInt( 1 ) );
101 }
102 }
103
104 return list;
105 }
106
107 @Override
108 public Integer loadItemByField( int idField, Plugin plugin )
109 {
110 Integer idItem = -1;
111 try ( DAOUtil daoUtil = new DAOUtil( SQL_QUERY_SELECT_ITEM_BY_FIELD, plugin ) )
112 {
113 daoUtil.setInt( 1, idField );
114
115 daoUtil.executeQuery( );
116 while ( daoUtil.next( ) )
117 {
118 idItem = daoUtil.getInt( 1 );
119 }
120 }
121
122 return idItem;
123 }
124 }