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;
35
36 import fr.paris.lutece.portal.business.regularexpression.RegularExpression;
37 import fr.paris.lutece.portal.service.plugin.Plugin;
38 import fr.paris.lutece.portal.service.regularexpression.RegularExpressionService;
39 import fr.paris.lutece.portal.service.spring.SpringContextService;
40
41 import java.util.ArrayList;
42 import java.util.List;
43
44
45
46
47
48
49 public final class EntryHome
50 {
51
52 private static IEntryDAO _dao = SpringContextService.getBean( "digglike.entryDAO" );
53 private static IEntryAdditionalAttributeDAO _daoAA = SpringContextService.getBean(
54 "digglike.entryAdditionalAttributeDAO" );
55
56
57
58
59 private EntryHome( )
60 {
61 }
62
63
64
65
66
67
68
69
70
71 public static int create( IEntry entry, Plugin plugin )
72 {
73 int nPK;
74 nPK = _dao.insert( entry, plugin );
75
76 if ( entry.getEntryAdditionalAttributeList( ) != null )
77 {
78 for ( EntryAdditionalAttribute entryAdditionalAttribute : entry.getEntryAdditionalAttributeList( ) )
79 {
80 entryAdditionalAttribute.setIdEntry( nPK );
81 _daoAA.insert( entryAdditionalAttribute, plugin );
82 }
83 }
84
85 return nPK;
86 }
87
88
89
90
91
92
93
94
95 public static void copy( IEntry entry, Plugin plugin )
96 {
97 IEntry entryCopy = entry;
98 entryCopy.setIdEntry( create( entry, plugin ) );
99
100 for ( RegularExpression regularExpression : entry.getRegularExpressionList( ) )
101 {
102 insertVerifyBy( entryCopy.getIdEntry( ), regularExpression.getIdExpression( ), plugin );
103 }
104 }
105
106
107
108
109
110
111
112
113
114 public static void update( IEntry entry, Plugin plugin )
115 {
116 _dao.store( entry, plugin );
117
118 if ( entry.getEntryAdditionalAttributeList( ) != null )
119 {
120 for ( EntryAdditionalAttribute entryAdditionalAttribute : entry.getEntryAdditionalAttributeList( ) )
121 {
122 entryAdditionalAttribute.setIdEntry( entry.getIdEntry( ) );
123 _daoAA.store( entryAdditionalAttribute, plugin );
124 }
125 }
126 }
127
128
129
130
131
132
133
134 public static void remove( int nIdEntry, Plugin plugin )
135 {
136 _dao.delete( nIdEntry, plugin );
137 _daoAA.delete( nIdEntry, plugin );
138 }
139
140
141
142
143
144
145
146
147
148
149
150 public static IEntry findByPrimaryKey( int nKey, Plugin plugin )
151 {
152 IEntry entry = _dao.load( nKey, plugin );
153 List<RegularExpression> listRegularExpression = new ArrayList<RegularExpression>( );
154
155 if ( RegularExpressionService.getInstance( ).isAvailable( ) )
156 {
157 List<Integer> listRegularExpressionKeyEntry = getListRegularExpressionKeyByIdEntry( nKey, plugin );
158
159 if ( ( listRegularExpressionKeyEntry != null ) && ( listRegularExpressionKeyEntry.size( ) != 0 ) )
160 {
161 RegularExpression regularExpression = null;
162
163 for ( Integer regularExpressionKey : listRegularExpressionKeyEntry )
164 {
165 regularExpression = RegularExpressionService.getInstance( )
166 .getRegularExpressionByKey( regularExpressionKey );
167
168 if ( regularExpression != null )
169 {
170 listRegularExpression.add( regularExpression );
171 }
172 }
173 }
174 }
175
176 entry.setRegularExpressionList( listRegularExpression );
177
178 List<EntryAdditionalAttribute> additionalAttribute = _daoAA.selectEntryAdditionalAttributeList( nKey, plugin );
179 entry.setEntryAdditionalAttributeList( additionalAttribute );
180
181 return entry;
182 }
183
184
185
186
187
188
189
190
191 public static List<IEntry> getEntryList( EntryFilter filter, Plugin plugin )
192 {
193 List<IEntry> entries = _dao.selectEntryListByFilter( filter, plugin );
194
195 for ( IEntry e : entries )
196 {
197 e.setEntryAdditionalAttributeList( _daoAA.selectEntryAdditionalAttributeList( e.getIdEntry( ), plugin ) );
198 }
199
200 return entries;
201 }
202
203
204
205
206
207
208
209 public static int getNumberEntryByFilter( EntryFilter filter, Plugin plugin )
210 {
211 return _dao.selectNumberEntryByFilter( filter, plugin );
212 }
213
214
215
216
217
218
219
220
221 public static void deleteVerifyBy( int nIdEntry, int nIdExpression, Plugin plugin )
222 {
223 _dao.deleteVerifyBy( nIdEntry, nIdExpression, plugin );
224 }
225
226
227
228
229
230
231
232
233 public static void insertVerifyBy( int nIdEntry, int nIdExpression, Plugin plugin )
234 {
235 _dao.insertVerifyBy( nIdEntry, nIdExpression, plugin );
236 }
237
238
239
240
241
242
243
244
245 public static boolean isRegularExpressionIsUse( int nIdExpression, Plugin plugin )
246 {
247 return _dao.isRegularExpressionIsUse( nIdExpression, plugin );
248 }
249
250
251
252
253
254
255
256
257 public static List<Integer> getListRegularExpressionKeyByIdEntry( int nIdEntry, Plugin plugin )
258 {
259 return _dao.selectListRegularExpressionKeyByIdEntry( nIdEntry, plugin );
260 }
261 }