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.portal.service.user.attribute;
35
36 import fr.paris.lutece.portal.business.user.attribute.AttributeField;
37 import fr.paris.lutece.portal.business.user.attribute.AttributeFieldHome;
38 import fr.paris.lutece.portal.business.user.attribute.AttributeHome;
39 import fr.paris.lutece.portal.business.user.attribute.IAttribute;
40
41 import java.util.List;
42 import java.util.Locale;
43
44
45
46
47
48
49 public final class AttributeService
50 {
51 private static AttributeService _singleton;
52
53
54
55
56 private AttributeService( )
57 {
58 }
59
60
61
62
63
64
65 public static synchronized AttributeService getInstance( )
66 {
67 if ( _singleton == null )
68 {
69 _singleton = new AttributeService( );
70 }
71
72 return _singleton;
73 }
74
75
76
77
78
79
80
81
82
83
84 public IAttribute getAttributeWithoutFields( int nIdAttribute, Locale locale )
85 {
86 return AttributeHome.findByPrimaryKey( nIdAttribute, locale );
87 }
88
89
90
91
92
93
94
95
96
97
98 public IAttribute getAttributeWithFields( int nIdAttribute, Locale locale )
99 {
100 IAttribute attribute = getAttributeWithoutFields( nIdAttribute, locale );
101 setAttributeField( attribute );
102
103 return attribute;
104 }
105
106
107
108
109
110
111
112
113 public List<IAttribute> getAllAttributesWithoutFields( Locale locale )
114 {
115 return AttributeHome.findAll( locale );
116 }
117
118
119
120
121
122
123
124
125 public List<IAttribute> getCoreAttributesWithoutFields( Locale locale )
126 {
127 return AttributeHome.findCoreAttributes( locale );
128 }
129
130
131
132
133
134
135
136
137
138
139 public List<IAttribute> getPluginAttributesWithoutFields( String strPluginName, Locale locale )
140 {
141 return AttributeHome.findPluginAttributes( strPluginName, locale );
142 }
143
144
145
146
147
148
149
150
151 public List<IAttribute> getAllAttributesWithFields( Locale locale )
152 {
153 List<IAttribute> listAttributes = getAllAttributesWithoutFields( locale );
154 setAttributeFields( listAttributes );
155
156 return listAttributes;
157 }
158
159
160
161
162
163
164
165
166 public List<IAttribute> getCoreAttributesWithFields( Locale locale )
167 {
168 List<IAttribute> listAttributes = getCoreAttributesWithoutFields( locale );
169 setAttributeFields( listAttributes );
170
171 return listAttributes;
172 }
173
174
175
176
177
178
179
180
181
182
183 public List<IAttribute> getPluginAttributesWithFields( String strPluginName, Locale locale )
184 {
185 List<IAttribute> listAttributes = getPluginAttributesWithoutFields( strPluginName, locale );
186 setAttributeFields( listAttributes );
187
188 return listAttributes;
189 }
190
191
192
193
194
195
196
197 public void setAttributeFields( List<IAttribute> listAttributes )
198 {
199 for ( IAttribute attribute : listAttributes )
200 {
201 setAttributeField( attribute );
202 }
203 }
204
205
206
207
208
209
210
211 public void setAttributeField( IAttribute attribute )
212 {
213 if ( attribute != null )
214 {
215 List<AttributeField> listAttributeFields = AttributeFieldHome.selectAttributeFieldsByIdAttribute( attribute.getIdAttribute( ) );
216 attribute.setListAttributeFields( listAttributeFields );
217 }
218 }
219
220
221
222
223
224
225
226 public void createAttribute( IAttribute attribute )
227 {
228 if ( attribute != null )
229 {
230 int nIdAttribute = AttributeHome.create( attribute );
231 attribute.setIdAttribute( nIdAttribute );
232
233 if ( attribute.getListAttributeFields( ) != null )
234 {
235 for ( AttributeField attributeField : attribute.getListAttributeFields( ) )
236 {
237 attributeField.setAttribute( attribute );
238 AttributeFieldService.getInstance( ).createAttributeField( attributeField );
239 }
240 }
241 }
242 }
243
244
245
246
247
248
249
250 public void updateAttribute( IAttribute attribute )
251 {
252 if ( attribute != null )
253 {
254 AttributeHome.update( attribute );
255
256 if ( attribute.getListAttributeFields( ) != null )
257 {
258 for ( AttributeField attributeField : attribute.getListAttributeFields( ) )
259 {
260 attributeField.setAttribute( attribute );
261 AttributeFieldService.getInstance( ).updateAttributeField( attributeField );
262 }
263 }
264 }
265 }
266
267
268
269
270
271
272
273 public void removeAttribute( int nIdAttribute )
274 {
275
276 AdminUserFieldService.doRemoveUserFieldsByIdAttribute( nIdAttribute );
277
278 AttributeFieldService.getInstance( ).removeAttributeFieldsFromIdAttribute( nIdAttribute );
279
280 AttributeHome.remove( nIdAttribute );
281 }
282
283
284
285
286
287
288
289
290
291 public void updateAnonymizationStatusUserField( int nIdAttribute, boolean bAnonymize )
292 {
293 AttributeHome.updateAttributeAnonymization( nIdAttribute, bAnonymize );
294 }
295 }