fr.paris.lutece.plugins.directory.service.upload
Class DirectoryAsynchronousUploadHandler

java.lang.Object
  extended by fr.paris.lutece.plugins.directory.service.upload.DirectoryAsynchronousUploadHandler
All Implemented Interfaces:
fr.paris.lutece.portal.web.upload.IAsynchronousUploadHandler

public class DirectoryAsynchronousUploadHandler
extends java.lang.Object
implements fr.paris.lutece.portal.web.upload.IAsynchronousUploadHandler

Handler for asynchronous uploads. Files are stored using SubForm#addFileItem(String, String, FileItem). The jessionid parameter should be the REAL session id, not the flash player one. The uploaded files are deleted by SubForm when filling fields.


Field Summary
static java.util.Map<java.lang.String,java.util.Map<java.lang.String,org.apache.commons.fileupload.FileItem>> _mapAsynchronousUpload
          contains uploaded file items
 
Method Summary
 void doRemoveFile(RecordField recordField, IEntry entry, java.lang.String strWSRestUrl)
          Do remove a file from a given record field
 void doRemoveFile(Record record, IEntry entry, java.lang.String strWSRestUrl)
          Do remove a file from a given record and entry
 java.lang.String doUploadFile(java.lang.String strBaseUrl, org.apache.commons.fileupload.FileItem fileItem, java.lang.String strBlobStore)
          Do upload a file in the blobstore webapp
static org.apache.commons.fileupload.FileItem getFileItem(java.lang.String strIdEntry, java.lang.String strSessionId)
          Gets the fileItem for the entry and the given session.
 java.lang.String getFileName(java.lang.String strUrl)
          Get the file name from a given url
 java.lang.String getFileUrl(java.lang.String strBaseUrl, java.lang.String strBlobKey, java.lang.String strBlobStore)
          Get the file url
static DirectoryAsynchronousUploadHandler getHandler()
          Get the handler
 boolean isInvoked(javax.servlet.http.HttpServletRequest request)
          
 void process(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, net.sf.json.JSONObject mainObject, java.util.List<org.apache.commons.fileupload.FileItem> listFileItems)
          
static void removeFileItem(java.lang.String strIdEntry, java.lang.String strSessionId)
          Removes the file from the list.
static void removeSessionFiles(java.lang.String strSessionId)
          Removes all files associated to the session
 void setBlobStoreClientWebService(fr.paris.lutece.plugins.blobstoreclient.service.BlobStoreClientWebService blobStoreClientWebService)
          Set the blobstore client web service
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

_mapAsynchronousUpload

public static java.util.Map<java.lang.String,java.util.Map<java.lang.String,org.apache.commons.fileupload.FileItem>> _mapAsynchronousUpload
contains uploaded file items

Method Detail

getHandler

public static DirectoryAsynchronousUploadHandler getHandler()
Get the handler

Returns:
the handler

setBlobStoreClientWebService

public void setBlobStoreClientWebService(fr.paris.lutece.plugins.blobstoreclient.service.BlobStoreClientWebService blobStoreClientWebService)
Set the blobstore client web service

Parameters:
blobStoreClientWebService - the blob store client web service

isInvoked

public boolean isInvoked(javax.servlet.http.HttpServletRequest request)

Specified by:
isInvoked in interface fr.paris.lutece.portal.web.upload.IAsynchronousUploadHandler

process

public void process(javax.servlet.http.HttpServletRequest request,
                    javax.servlet.http.HttpServletResponse response,
                    net.sf.json.JSONObject mainObject,
                    java.util.List<org.apache.commons.fileupload.FileItem> listFileItems)

Specified by:
process in interface fr.paris.lutece.portal.web.upload.IAsynchronousUploadHandler

doUploadFile

public java.lang.String doUploadFile(java.lang.String strBaseUrl,
                                     org.apache.commons.fileupload.FileItem fileItem,
                                     java.lang.String strBlobStore)
                              throws fr.paris.lutece.util.httpaccess.HttpAccessException
Do upload a file in the blobstore webapp

Parameters:
strBaseUrl - the base url
fileItem - the file
strBlobStore - the blobstore service name
Returns:
the blob key of the uploaded file
Throws:
fr.paris.lutece.util.httpaccess.HttpAccessException - Exception if there is an HTTP issue

doRemoveFile

public void doRemoveFile(Record record,
                         IEntry entry,
                         java.lang.String strWSRestUrl)
                  throws fr.paris.lutece.util.httpaccess.HttpAccessException
Do remove a file from a given record and entry

Parameters:
record - the record
entry - the entry
strWSRestUrl - the url of the WS rest
Throws:
fr.paris.lutece.util.httpaccess.HttpAccessException - Exception if there is an HTTP issue

doRemoveFile

public void doRemoveFile(RecordField recordField,
                         IEntry entry,
                         java.lang.String strWSRestUrl)
                  throws fr.paris.lutece.util.httpaccess.HttpAccessException
Do remove a file from a given record field

Parameters:
recordField - the record field
entry - the entry
strWSRestUrl - the url of the WS rest
Throws:
fr.paris.lutece.util.httpaccess.HttpAccessException - Exception if there is an HTTP issue

getFileUrl

public java.lang.String getFileUrl(java.lang.String strBaseUrl,
                                   java.lang.String strBlobKey,
                                   java.lang.String strBlobStore)
                            throws fr.paris.lutece.util.httpaccess.HttpAccessException
Get the file url

Parameters:
strBaseUrl - the base url
strBlobKey - the blob key
strBlobStore - the blobstore service name
Returns:
the file url
Throws:
fr.paris.lutece.util.httpaccess.HttpAccessException - Exception if there is an HTTP issue

getFileName

public java.lang.String getFileName(java.lang.String strUrl)
                             throws fr.paris.lutece.util.httpaccess.HttpAccessException
Get the file name from a given url

Parameters:
strUrl - the url
Returns:
the file name
Throws:
fr.paris.lutece.util.httpaccess.HttpAccessException - Exception if there is an HTTP issue

getFileItem

public static org.apache.commons.fileupload.FileItem getFileItem(java.lang.String strIdEntry,
                                                                 java.lang.String strSessionId)
Gets the fileItem for the entry and the given session.

Parameters:
strIdEntry - the entry
strSessionId - the session id
Returns:
the fileItem found, null otherwise.

removeFileItem

public static void removeFileItem(java.lang.String strIdEntry,
                                  java.lang.String strSessionId)
Removes the file from the list.

Parameters:
strIdEntry - the entry id
strSessionId - the session id

removeSessionFiles

public static void removeSessionFiles(java.lang.String strSessionId)
Removes all files associated to the session

Parameters:
strSessionId - the session id


Copyright © 2011 Mairie de Paris. All Rights Reserved.