Skip to content

Commit 2630fa6

Browse files
YXMEseboo
authored andcommitted
LUT-28590: Adapt Entry type File, type Image and Type Gallery Image to use a different fileservice.
1 parent 7592a9c commit 2630fa6

File tree

4 files changed

+50
-22
lines changed

4 files changed

+50
-22
lines changed

src/java/fr/paris/lutece/plugins/forms/web/entrytype/EntryTypeFileDisplayService.java

Lines changed: 45 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,11 @@
5656
import fr.paris.lutece.portal.business.file.FileHome;
5757
import fr.paris.lutece.portal.business.physicalfile.PhysicalFile;
5858
import fr.paris.lutece.portal.business.physicalfile.PhysicalFileHome;
59+
import fr.paris.lutece.portal.service.file.FileService;
60+
import fr.paris.lutece.portal.service.file.FileServiceException;
61+
import fr.paris.lutece.portal.service.file.IFileStoreServiceProvider;
5962
import fr.paris.lutece.portal.service.template.AppTemplateService;
63+
import fr.paris.lutece.portal.service.util.AppLogService;
6064

6165
/**
6266
* The display service for entry type file
@@ -139,30 +143,43 @@ private String getTemplateEdition( HttpServletRequest request, Entry entry, Disp
139143
IEntryTypeService service = EntryTypeServiceManager.getEntryTypeService( entry );
140144
List<Response> listResponse = retrieveResponseListFromModel( model );
141145
List<FileItem> listFiles = new ArrayList<>( );
146+
147+
142148
for ( Response response : listResponse )
143149
{
144150
if ( response.getFile( ) != null )
145151
{
146-
if ( StringUtils.isNotEmpty( response.getFile( ).getFileKey( ) ) )
147-
{
148-
File file = FileHome.findByPrimaryKey( response.getFile( ).getIdFile( ) );
149-
PhysicalFile physicalFile = PhysicalFileHome.findByPrimaryKey( file.getPhysicalFile( ).getIdPhysicalFile( ) );
150-
FileItem fileItem = new GenAttFileItem( physicalFile.getValue( ), file.getTitle( ) );
151-
( (AbstractEntryTypeUpload) service ).getAsynchronousUploadHandler( ).addFileItemToUploadedFilesList( fileItem, "nIt"
152-
+ response.getIterationNumber( ) + "_" + IEntryTypeService.PREFIX_ATTRIBUTE + Integer.toString( response.getEntry( ).getIdEntry( ) ),
153-
request );
154-
listFiles.add( fileItem );
152+
try {
153+
if ( StringUtils.isNotEmpty( response.getFile( ).getFileKey( ) ) )
154+
{
155+
IFileStoreServiceProvider fss = FileService.getInstance( ).getFileStoreServiceProvider( response.getFile( ).getOrigin( ) );
156+
File file = fss.getFile( response.getFile( ).getFileKey( ) );
157+
158+
file.setUrl(displayType.isFront( ) ? fss.getFileDownloadUrlFO( file.getFileKey()) : fss.getFileDownloadUrlBO(file.getFileKey()));
159+
160+
PhysicalFile physicalFile = file.getPhysicalFile();
161+
FileItem fileItem = new GenAttFileItem( physicalFile.getValue( ), file.getTitle( ) );
162+
( (AbstractEntryTypeUpload) service ).getAsynchronousUploadHandler( ).addFileItemToUploadedFilesList( fileItem, "nIt"
163+
+ response.getIterationNumber( ) + "_" + IEntryTypeService.PREFIX_ATTRIBUTE + Integer.toString( response.getEntry( ).getIdEntry( ) ),
164+
request );
165+
listFiles.add( fileItem );
166+
}
167+
else if ( response.getFile( ).getPhysicalFile( ) != null )
168+
{
169+
FileItem fileItem = new GenAttFileItem( response.getFile( ).getPhysicalFile( ).getValue( ), response.getFile( ).getTitle( ) );
170+
( (AbstractEntryTypeUpload) service ).getAsynchronousUploadHandler( ).addFileItemToUploadedFilesList( fileItem, "nIt"
171+
+ response.getIterationNumber( ) + "_" + IEntryTypeService.PREFIX_ATTRIBUTE + Integer.toString( response.getEntry( ).getIdEntry( ) ),
172+
request );
173+
listFiles.add( fileItem );
174+
}
155175
}
156-
else if ( response.getFile( ).getPhysicalFile( ) != null )
176+
catch (FileServiceException e)
157177
{
158-
FileItem fileItem = new GenAttFileItem( response.getFile( ).getPhysicalFile( ).getValue( ), response.getFile( ).getTitle( ) );
159-
( (AbstractEntryTypeUpload) service ).getAsynchronousUploadHandler( ).addFileItemToUploadedFilesList( fileItem, "nIt"
160-
+ response.getIterationNumber( ) + "_" + IEntryTypeService.PREFIX_ATTRIBUTE + Integer.toString( response.getEntry( ).getIdEntry( ) ),
161-
request );
162-
listFiles.add( fileItem );
178+
AppLogService.error("Error getting file from file store service provider", e);
163179
}
164180
}
165181
}
182+
166183
model.put( "listFiles", listFiles );
167184
return AppTemplateService.getTemplate( service.getTemplateHtmlForm( entry, displayType.isFront( ) ), locale, setModel( entry, service, model ) )
168185
.getHtml( );
@@ -180,6 +197,7 @@ else if ( response.getFile( ).getPhysicalFile( ) != null )
180197
* @param model
181198
* The model to populate
182199
* @return the template of the given Entry with its Response value
200+
* @throws FileServiceException
183201
*/
184202
private String getEntryResponseValueTemplateDisplay( Entry entry, DisplayType displayType, Locale locale, Map<String, Object> model )
185203
{
@@ -193,7 +211,17 @@ private String getEntryResponseValueTemplateDisplay( Entry entry, DisplayType di
193211
File file = response.getFile( );
194212
if ( file != null && file.getPhysicalFile( ) == null )
195213
{
196-
response.setFile( FileHome.findByPrimaryKey( file.getIdFile( ) ) );
214+
try {
215+
IFileStoreServiceProvider fss = FileService.getInstance( ).getFileStoreServiceProvider( response.getFile().getOrigin() );
216+
file = fss.getFile(file.getFileKey() );
217+
218+
file.setUrl(displayType.isFront( ) ? fss.getFileDownloadUrlFO( file.getFileKey()) : fss.getFileDownloadUrlBO(file.getFileKey()));
219+
220+
response.setFile( file );
221+
}
222+
catch (FileServiceException e) {
223+
AppLogService.error("Error getting file from file store service provider", e);
224+
}
197225
}
198226
}
199227
}
@@ -207,4 +235,4 @@ public IFormColumn getFormColumn( int nFormColumnPosition, String strColumnTitle
207235
{
208236
return null;
209237
}
210-
}
238+
}

webapp/WEB-INF/templates/admin/plugins/forms/entries/readonly_entry_type_file.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
<@p>
77
<#if response.file?exists>
88
<#if response.file.fileKey?exists>
9-
<@link href='jsp/admin/plugins/forms/FormsDownloadFile.jsp?id_file=${response.file.idFile}&id_response=${response.idResponse}'>
9+
<@link href='${response.file.url}'>
1010
${response.file.title}(${response.file.size} O)
1111
</@link>
1212
<#else>

webapp/WEB-INF/templates/admin/plugins/forms/entries/readonly_entry_type_gallery_image.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@
55
<#list list_responses as response>
66
<@p>
77
<#if response.file?exists && entry?exists >
8-
<@link href='jsp/admin/plugins/forms/FormsDownloadFile.jsp?id_file=${response.file.idFile}&id_response=${response.idResponse}'>
9-
<img src="image?resource_type=forms_entry_img&id=${response.file.idFile}&id_response=${response.idResponse}" width="100px" height="100px"/>
8+
<@link href='${response.file.url}'>
9+
<img src="${response.file.url}" width="100px" height="100px"/>
1010
</@link>
1111
</#if>
1212
</@p>

webapp/WEB-INF/templates/admin/plugins/forms/entries/readonly_entry_type_image.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@
55
<#list list_responses as response>
66
<@p>
77
<#if response.file?exists && entry?exists >
8-
<@link href='jsp/admin/plugins/forms/FormsDownloadFile.jsp?id_file=${response.file.idFile}&id_response=${response.idResponse}'>
9-
<img src="image?resource_type=forms_entry_img&id=${response.file.idFile}&id_response=${response.idResponse}" width="100px" height="100px"/>
8+
<@link href='${response.file.url}'>
9+
<img src="${response.file.url}" width="100px" height="100px"/>
1010
</@link>
1111
</#if>
1212
</@p>

0 commit comments

Comments
 (0)