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.service.entrytype;
35
36 import java.util.ArrayList;
37 import java.util.List;
38 import java.util.Locale;
39 import java.util.stream.Collectors;
40
41 import javax.servlet.http.HttpServletRequest;
42
43 import org.apache.commons.fileupload.FileItem;
44 import org.apache.commons.lang3.StringUtils;
45 import org.apache.commons.lang3.math.NumberUtils;
46
47 import fr.paris.lutece.plugins.genericattributes.business.Entry;
48 import fr.paris.lutece.plugins.genericattributes.business.GenericAttributeError;
49 import fr.paris.lutece.plugins.genericattributes.business.Response;
50 import fr.paris.lutece.plugins.genericattributes.service.anonymization.IEntryAnonymizationType;
51 import fr.paris.lutece.plugins.genericattributes.util.GenericAttributesUtils;
52 import fr.paris.lutece.portal.service.plugin.Plugin;
53 import fr.paris.lutece.util.ReferenceList;
54
55
56
57
58 public abstract class EntryTypeService implements IEntryTypeService
59 {
60 private List<IEntryAnonymizationType> _anonymizationTypes = new ArrayList<>( );
61
62
63
64
65 @Override
66 public String getRequestData( Entry entry, HttpServletRequest request, Locale locale )
67 {
68 return null;
69 }
70
71
72
73
74 @Override
75 public GenericAttributeError getResponseData( Entry entry, HttpServletRequest request, List<Response> listResponse, Locale locale )
76 {
77 return null;
78 }
79
80
81
82
83 @Override
84 public String getResponseValueForExport( Entry entry, HttpServletRequest request, Response response, Locale locale )
85 {
86 return StringUtils.EMPTY;
87 }
88
89
90
91
92 @Override
93 public String getResponseValueForRecap( Entry entry, HttpServletRequest request, Response response, Locale locale )
94 {
95 return StringUtils.EMPTY;
96 }
97
98
99
100
101 @Override
102 public ReferenceList getReferenceListRegularExpression( Entry entry, Plugin plugin )
103 {
104 return null;
105 }
106
107
108
109
110 @Override
111 public void setResponseToStringValue( Entry entry, Response response, Locale locale )
112 {
113 response.setToStringValueResponse( response.getResponseValue( ) );
114 }
115
116
117
118
119 @Override
120 public GenericAttributeError canUploadFiles( Entry entry, List<FileItem> listUploadedFileItems, List<FileItem> listFileItemsToUpload, Locale locale )
121 {
122 return null;
123 }
124
125
126
127
128 @Override
129 public int getResponseIterationValue( HttpServletRequest request )
130 {
131 int nIterationValue = NumberUtils.INTEGER_MINUS_ONE;
132
133 Object objAttributeResponseValue = request.getAttribute( ATTRIBUTE_RESPONSE_ITERATION_NUMBER );
134 if ( objAttributeResponseValue != null )
135 {
136 nIterationValue = (int) objAttributeResponseValue;
137 }
138
139 return nIterationValue;
140 }
141
142
143
144
145 @Override
146 public String getTemplateEntryReadOnly( )
147 {
148 return StringUtils.EMPTY;
149 }
150
151
152
153
154 @Override
155 public String getTemplateEntryReadOnly( boolean bIsDisplayFront )
156 {
157 return StringUtils.EMPTY;
158 }
159
160 protected void initCommonRequestData( Entry entry, HttpServletRequest request )
161 {
162 if ( entry.getFields( ) == null )
163 {
164 entry.setFields( new ArrayList<>( ) );
165 }
166 String strExportable = request.getParameter( PARAMETER_EXPORTABLE );
167 GenericAttributesUtils.createOrUpdateField( entry, FIELD_EXPORTABLE, null, String.valueOf( strExportable != null ) );
168
169 String strExportablePDF = request.getParameter( PARAMETER_EXPORTABLE_PDF );
170 GenericAttributesUtils.createOrUpdateField( entry, FIELD_EXPORTABLE_PDF, null, String.valueOf( strExportablePDF != null ) );
171
172 String strAnonymizable = request.getParameter( PARAMETER_ANONYMIZABLE );
173 String strAnonymizePattern = request.getParameter( PARAMETER_ANONYMIZE_PATTERN );
174
175 GenericAttributesUtils.createOrUpdateField( entry, FIELD_ANONYMIZABLE, strAnonymizePattern, String.valueOf( strAnonymizable != null ) );
176
177 String strDisabled = request.getParameter( PARAMETER_DISABLED );
178 GenericAttributesUtils.createOrUpdateField( entry, IEntryTypeService.FIELD_DISABLED, null, String.valueOf( strDisabled != null ) );
179
180 }
181
182
183
184
185
186 public void setAnonymizationTypes( List<IEntryAnonymizationType> anonymizationTypes )
187 {
188 _anonymizationTypes = new ArrayList<>( anonymizationTypes );
189 }
190
191 @Override
192 public List<IEntryAnonymizationType> getValidWildcards( )
193 {
194 return new ArrayList<>( _anonymizationTypes );
195 }
196
197 @Override
198 public String getAnonymizationHelpMessage( Locale locale )
199 {
200 return getValidWildcards( ).stream( ).map( w -> w.getHelpMessage( locale ) ).collect( Collectors.joining( "," ) );
201 }
202 }