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
50 public final class AttributeService
51 {
52 private static AttributeService _singleton;
53
54
55
56
57 private AttributeService( )
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 public IAttribute getAttributeWithoutFields( int nIdAttribute, Locale locale )
82 {
83 return AttributeHome.findByPrimaryKey( nIdAttribute, locale );
84 }
85
86
87
88
89
90
91
92 public IAttribute getAttributeWithFields( int nIdAttribute, Locale locale )
93 {
94 IAttribute attribute = getAttributeWithoutFields( nIdAttribute, locale );
95 setAttributeField( attribute );
96
97 return attribute;
98 }
99
100
101
102
103
104
105
106 public List<IAttribute> getAllAttributesWithoutFields( Locale locale )
107 {
108 return AttributeHome.findAll( locale );
109 }
110
111
112
113
114
115
116 public List<IAttribute> getCoreAttributesWithoutFields( Locale locale )
117 {
118 return AttributeHome.findCoreAttributes( locale );
119 }
120
121
122
123
124
125
126
127 public List<IAttribute> getPluginAttributesWithoutFields( String strPluginName, Locale locale )
128 {
129 return AttributeHome.findPluginAttributes( strPluginName, locale );
130 }
131
132
133
134
135
136
137 public List<IAttribute> getAllAttributesWithFields( Locale locale )
138 {
139 List<IAttribute> listAttributes = getAllAttributesWithoutFields( locale );
140 setAttributeFields( listAttributes );
141
142 return listAttributes;
143 }
144
145
146
147
148
149
150 public List<IAttribute> getCoreAttributesWithFields( Locale locale )
151 {
152 List<IAttribute> listAttributes = getCoreAttributesWithoutFields( locale );
153 setAttributeFields( listAttributes );
154
155 return listAttributes;
156 }
157
158
159
160
161
162
163
164 public List<IAttribute> getPluginAttributesWithFields( String strPluginName, Locale locale )
165 {
166 List<IAttribute> listAttributes = getPluginAttributesWithoutFields( strPluginName, locale );
167 setAttributeFields( listAttributes );
168
169 return listAttributes;
170 }
171
172
173
174
175
176 public void setAttributeFields( List<IAttribute> listAttributes )
177 {
178 for ( IAttribute attribute : listAttributes )
179 {
180 setAttributeField( attribute );
181 }
182 }
183
184
185
186
187
188 public void setAttributeField( IAttribute attribute )
189 {
190 if ( attribute != null )
191 {
192 List<AttributeField> listAttributeFields = AttributeFieldHome.selectAttributeFieldsByIdAttribute( attribute.getIdAttribute( ) );
193 attribute.setListAttributeFields( listAttributeFields );
194 }
195 }
196
197
198
199
200
201
202 public void createAttribute( IAttribute attribute )
203 {
204 if ( attribute != null )
205 {
206 int nIdAttribute = AttributeHome.create( attribute );
207 attribute.setIdAttribute( nIdAttribute );
208
209 if ( attribute.getListAttributeFields( ) != null )
210 {
211 for ( AttributeField attributeField : attribute.getListAttributeFields( ) )
212 {
213 attributeField.setAttribute( attribute );
214 AttributeFieldService.getInstance( ).createAttributeField( attributeField );
215 }
216 }
217 }
218 }
219
220
221
222
223
224 public void updateAttribute( IAttribute attribute )
225 {
226 if ( attribute != null )
227 {
228 AttributeHome.update( attribute );
229
230 if ( attribute.getListAttributeFields( ) != null )
231 {
232 for ( AttributeField attributeField : attribute.getListAttributeFields( ) )
233 {
234 attributeField.setAttribute( attribute );
235 AttributeFieldService.getInstance( ).updateAttributeField( attributeField );
236 }
237 }
238 }
239 }
240
241
242
243
244
245 public void removeAttribute( int nIdAttribute )
246 {
247
248 AdminUserFieldService.doRemoveUserFieldsByIdAttribute( nIdAttribute );
249
250 AttributeFieldService.getInstance( ).removeAttributeFieldsFromIdAttribute( nIdAttribute );
251
252 AttributeHome.remove( nIdAttribute );
253 }
254
255
256
257
258
259
260
261 public void updateAnonymizationStatusUserField( int nIdAttribute, boolean bAnonymize )
262 {
263 AttributeHome.updateAttributeAnonymization( nIdAttribute, bAnonymize );
264 }
265 }