37
37
import java .util .Locale ;
38
38
39
39
import javax .servlet .http .HttpServletRequest ;
40
-
41
40
import org .apache .commons .collections .CollectionUtils ;
41
+ import org .apache .commons .fileupload .FileItem ;
42
42
import org .apache .commons .lang3 .StringUtils ;
43
43
44
44
import fr .paris .lutece .plugins .genericattributes .business .Entry ;
48
48
import fr .paris .lutece .plugins .genericattributes .business .Response ;
49
49
import fr .paris .lutece .plugins .genericattributes .util .GenericAttributesUtils ;
50
50
import fr .paris .lutece .portal .business .regularexpression .RegularExpression ;
51
+ import fr .paris .lutece .portal .service .fileimage .FileImagePublicService ;
51
52
import fr .paris .lutece .portal .service .i18n .I18nService ;
53
+ import fr .paris .lutece .portal .service .image .ImageResourceManager ;
52
54
import fr .paris .lutece .portal .service .message .AdminMessage ;
53
55
import fr .paris .lutece .portal .service .message .AdminMessageService ;
54
56
import fr .paris .lutece .portal .service .plugin .Plugin ;
55
57
import fr .paris .lutece .portal .service .regularexpression .RegularExpressionService ;
58
+ import fr .paris .lutece .portal .service .util .AppException ;
59
+ import fr .paris .lutece .portal .service .util .AppLogService ;
56
60
import fr .paris .lutece .util .ReferenceList ;
57
61
import fr .paris .lutece .util .string .StringUtil ;
62
+ import fr .paris .lutece .portal .web .upload .MultipartHttpServletRequest ;
58
63
59
64
/**
60
65
* Abstract entry type for text
61
66
*/
62
67
public abstract class AbstractEntryTypeText extends EntryTypeService
63
68
{
69
+ private static final String MESSAGE_ERROR_FILE_IMAGE = "Error importing file." ;
64
70
/**
65
71
* {@inheritDoc}
66
72
*/
67
73
@ Override
68
74
public String getRequestData ( Entry entry , HttpServletRequest request , Locale locale )
69
75
{
70
76
initCommonRequestData ( entry , request );
77
+ FileImagePublicService fileImagePublicService = FileImagePublicService .getInstance ( );
78
+ fileImagePublicService .init ();
71
79
String strCode = request .getParameter ( PARAMETER_ENTRY_CODE );
72
80
String strTitle = request .getParameter ( PARAMETER_TITLE );
73
81
String strHelpMessage = ( request .getParameter ( PARAMETER_HELP_MESSAGE ) != null ) ? request .getParameter ( PARAMETER_HELP_MESSAGE ).trim ( ) : null ;
@@ -84,6 +92,8 @@ public String getRequestData( Entry entry, HttpServletRequest request, Locale lo
84
92
String strErrorMessage = request .getParameter ( PARAMETER_ERROR_MESSAGE );
85
93
String strIndexed = request .getParameter ( PARAMETER_INDEXED );
86
94
String strPlaceholder = request .getParameter ( PARAMETER_PLACEHOLDER );
95
+ MultipartHttpServletRequest multipartRequest = ( MultipartHttpServletRequest ) request ;
96
+ FileItem imageFileItem = multipartRequest .getFile ( PARAMETER_ILLUSTRATION_IMAGE );
87
97
88
98
int nWidth = -1 ;
89
99
int nMaxSizeEnter = -1 ;
@@ -153,11 +163,25 @@ public String getRequestData( Entry entry, HttpServletRequest request, Locale lo
153
163
entry .setErrorMessage ( strErrorMessage );
154
164
entry .setCode ( strCode );
155
165
166
+ if ( imageFileItem != null && imageFileItem .getSize ( ) > 0 )
167
+ {
168
+ try
169
+ {
170
+ String strFileStoreKey = ImageResourceManager .addImageResource ( fileImagePublicService .IMAGE_RESOURCE_TYPE_ID , imageFileItem );
171
+ GenericAttributesUtils .createOrUpdateField ( entry , FIELD_ILLUSTRATION_IMAGE , imageFileItem .getName ( ), strFileStoreKey );
172
+ }
173
+ catch ( Exception e )
174
+ {
175
+ AppLogService .error ( MESSAGE_ERROR_FILE_IMAGE , e );
176
+ throw new AppException ( MESSAGE_ERROR_FILE_IMAGE , e );
177
+ }
178
+ }
179
+
156
180
GenericAttributesUtils .createOrUpdateField ( entry , FIELD_TEXT_CONF , null , strValue );
157
181
GenericAttributesUtils .createOrUpdateField ( entry , FIELD_WIDTH , null , String .valueOf ( nWidth ) );
158
182
GenericAttributesUtils .createOrUpdateField ( entry , FIELD_MAX_SIZE , null , String .valueOf ( nMaxSizeEnter ) );
159
183
GenericAttributesUtils .createOrUpdateField ( entry , FIELD_PLACEHOLDER , null , strPlaceholder != null ? strPlaceholder : StringUtils .EMPTY );
160
-
184
+
161
185
entry .setMandatory ( strMandatory != null );
162
186
entry .setOnlyDisplayInBack ( strOnlyDisplayInBack != null );
163
187
0 commit comments