com.jalios.jcms.upload
Class DocUploadHandler

java.lang.Object
  extended by com.jalios.jcms.context.JcmsContext
      extended by com.jalios.jcms.context.JcmsJspContext
          extended by com.jalios.jcms.handler.JcmsFormHandler
              extended by com.jalios.jcms.handler.EditDataHandler
                  extended by com.jalios.jcms.handler.EditPublicationHandler
                      extended by com.jalios.jcms.upload.DocUploadHandler
All Implemented Interfaces:
JcmsConstants, JaliosConstants

public class DocUploadHandler
extends EditPublicationHandler

This form handler processes document upload. It use new UploadFilter mechanism and no longer decode MultiPart request.

Since:
jcms-5.7.0
Version:
$Revision: 33552 $
Author:
Jean-Philippe Encausse
See Also:
MultipartFilter

Field Summary
protected  TreeSet<Group> authorizedGroupSet
           
protected  TreeSet<Member> authorizedMemberSet
           
protected  Set<Category> categorySet
           
protected  FileDocument document
           
protected  String[] filename
           
protected  boolean isModal
           
protected  boolean opUpload
           
static String REVISION
           
 
Fields inherited from class com.jalios.jcms.handler.EditPublicationHandler
adate, anchor, author, authorizedGroupsAddCount, authorizedMemberSetAddCount, cids, DISPLAY_URL_TOKEN, edate, fieldStatusMap, friendlyURLSet, ID_TOKEN, internalWf, isAuthorForced, isCategorized, isContentType, isDBType, isFormType, isPortletType, isUGCType, itemPos, listToProcess, mainLanguage, majorUpdate, oldPstatus, opAddItem, opAddItemReadRights, opAddItemUpdateRights, openTab, opMerge, pdate, PREVIEW_URL_TOKEN, pubClass, publication, roleIds, roleMap, roleMembers, sdate, showAllTabs, showContentTabOnly, templates, title, titleML, typeLabel, updateGroupsAddCount, updateGroupSet, updateMemberSet, updateMemberSetAddCount, wf, wfNote, workingPub, wste
 
Fields inherited from class com.jalios.jcms.handler.EditDataHandler
extFormHandler, formStep, id, isDeleteForced, op, opCancel, opCreate, opDelete, opFinish, opNext, opPrevious, opRefresh, opUpdate, resultOpCreate, resultOpDelete, resultOpUpdate
 
Fields inherited from class com.jalios.jcms.handler.JcmsFormHandler
contextMap, editFieldSet, noRedirect, noSendRedirect, popupEdition, redirect, redirectOnClosePopup, workspaceForced
 
Fields inherited from class com.jalios.jcms.context.JcmsJspContext
AJAX_REQUEST_ATTRIBUTES, BODY_HEADER, CSS_HEADER, cssboMap, cssfoMap, CUSTOM_HEADER, editIcon, HTTPEQUIV_HEADER, httpequivMap, HTTPNAME_HEADER, httpnameMap, initEditIcon, JAVASCRIPT_CODE_SET_ATTRIBUTE, JAVASCRIPT_SET_ATTRIBUTE, jsboSet, jsfoSet, out, pageContext, SHOW_EDIT_ICON, STYLE_HEADER
 
Fields inherited from class com.jalios.jcms.context.JcmsContext
browser, caddy, channel, inFO, initDone, initWorkspace, isAdmin, isAjaxRequest, isDBMember, isDebug, isLogged, loggedMember, request, response, userCountry, userLang, userLocale, workspace
 
Fields inherited from interface com.jalios.jcms.JcmsConstants
ADATE_SEARCH, ADMIN_NOTES_PROP, ADVANCED_TAB, ARCHIVES_DIR, ASCII_WIDTH, CATEGORY_TAB, CDATE_SEARCH, COMMON_ALARM, CONTENT_TAB, COOKIE_MAX_AGE, CTRL_TOPIC_INTERNAL, CTRL_TOPIC_REF, CTRL_TOPIC_VALUE, CTRL_TOPIC_WRITE, CUSTOM_PROP, DOCCHOOSER_HEIGHT, DOCCHOOSER_WIDTH, DOCS_DIR, EDATE_SEARCH, EMAIL_REGEXP, ERROR_MSG, FORBIDDEN_FILE_ACCESS, FORBIDDEN_REDIRECT, FORCE_REDIRECT, ICON_ARCHIVE, ICON_LOCK, ICON_LOCK_STRONG, ICON_WARN, ICON_WH_BOOK_CLOSED, ICON_WH_BOOK_OPEN, INFORMATION_MSG, JALIOS_JUNIT_PROP, JCMS_CADDY, JCMS_MSG_LIST, JSYNC_DOWNLOAD_DIR, JSYNC_SYNC_ALARM, LOG_FILE, LOG_TOPIC_SECURITY, LOGGER_PROP, LOGGER_XMLPROP, MBR_PHOTO_DIR, MDATE_SEARCH, MONITOR_XML, OP_CREATE, OP_DEEP_COPY, OP_DEEP_DELETE, OP_DELETE, OP_MERGE, OP_UPDATE, PDATE_SEARCH, PHOTO_DIR, PHOTO_ICON, PHOTO_ICON_HEIGHT, PHOTO_ICON_WIDTH, PHOTO_LARGE, PHOTO_LARGE_HEIGHT, PHOTO_LARGE_WIDTH, PHOTO_NORMAL, PHOTO_NORMAL_HEIGHT, PHOTO_NORMAL_WIDTH, PHOTO_SMALL, PHOTO_SMALL_HEIGHT, PHOTO_SMALL_WIDTH, PHOTO_TINY, PHOTO_TINY_HEIGHT, PHOTO_TINY_WIDTH, PREVIOUS_TAB, PRINT_VIEW, PRIVATE_FILE_ACCESS, PUBLIC_FILE_ACCESS, READ_RIGHT_TAB, SDATE_SEARCH, SEARCHENGINE_ALARM, SESSION_AUTHORIZED_FILENAMES_SET, STATS_REPORT_DIR, STATUS_PROP, STORE_XML, TEMPLATE_TAB, THUMBNAIL_LARGE_HEIGHT, THUMBNAIL_LARGE_WIDTH, THUMBNAIL_SMALL_HEIGHT, THUMBNAIL_SMALL_WIDTH, UDATE_SEARCH, UPDATE_RIGHT_TAB, UPLOAD_DIR, URL_REGEXP, WARNING_MSG, WEBAPP_PROP, WFEXPRESS_ALARM, WFREMINDER_ALARM, WORKFLOW_TAB, WORKFLOW_XML
 
Fields inherited from interface com.jalios.util.JaliosConstants
CRLF, MILLIS_IN_ONE_DAY, MILLIS_IN_ONE_HOUR, MILLIS_IN_ONE_MINUTE, MILLIS_IN_ONE_MONTH, MILLIS_IN_ONE_SECOND, MILLIS_IN_ONE_WEEK, MILLIS_IN_ONE_YEAR
 
Constructor Summary
DocUploadHandler()
           
 
Method Summary
 HashMap<String,String> getAllAvailableDescriptionML()
           
 TreeSet<Group> getAvailableAuthorizedGroupSet()
           
 TreeSet<Member> getAvailableAuthorizedMemberSet()
           
 Category[] getAvailableCategories()
           
 Set<Category> getAvailableCategorySet()
           
 String getAvailableDescription()
           
 String getAvailableDescription(String lang)
           
 HashMap<String,String> getAvailableDescriptionML()
           
 FileDocument getAvailableFileDocument()
           
 FileDocument[] getAvailableFileDocuments()
           
 String getAvailableFilename()
           
 String getAvailableJsFunc()
           
 boolean getAvailableMajorUpdate()
           
 int getAvailableNbElt()
           
 String getAvailableOpenerForm()
           
 String getAvailableOpenerRefresh()
           
 int getAvailablePstatus()
           
 boolean getAvailableRemoveFile()
           
 int getAvailableStartElt()
           
 boolean getAvailableTracked()
           
 String getAvailableType()
           
 String getNextUploadStep()
          Returns the JavaScript code to use depending of the upload step.
 Class<? extends Publication> getPublicationClass()
           
protected  com.jalios.jcms.upload.DocUploadHandler.UploadStep getStepCase()
          Returns the upload step depending of multiple paramter steps OpenerForm, OpenerRefresh, Redirect
 boolean getUnzipUploadedFiles()
          Check if archives should be unziped and a new document created each time
 Map<String,String> handleUpload()
          Performs upload of all FileDocuments and create/update FileDocuments.
 Map<String,String> handleUpload(DocUploadInfo dui)
          This method allow the use of this formHandler by a programatic call, not in a jsp:usebean tag.
 String handleUploadError(Map<String,String> failedMap)
          Convenient method that returns a list (ul/li) of errors for each files.
protected  boolean isFieldMissing(String field)
          Check if the given parameter is present in the query parameters
 boolean isInModal()
           
 boolean isUpdate()
           
 boolean isUploading()
           
protected  void performCreate(DocUploadInfo info, Map<String,String> controllerFailedMap)
          Performs creation of a FileDocument from a given DocUploadInfo.
protected  void performUpdate(DocUploadInfo info, Map<String,String> controllerFailedMap)
          Performs creation of a FileDocument from a given DocUploadInfo.
 void setCids(String[] v)
           
 void setDescription(String[] v)
           
 void setFilename(String[] v)
           
 void setGids(String[] v)
           
 void setId(String id)
          Set the value of id.
 void setJsFunc(String v)
           
 void setMajorUpdate(boolean v)
           
 void setMids(String[] v)
           
 void setModal(boolean modal)
           
 void setNbElt(int v)
           
 void setOpenerForm(String v)
           
 void setOpUpload(String v)
           
 void setPstatus(int v)
           
 void setRefresh(String v)
           
 void setRemoveFile(boolean v)
           
 void setStartElt(int v)
           
 void setTracked(boolean v)
           
 void setType(String type)
           
 void setUnlock(boolean v)
           
 void setUnzipUploadedFiles(boolean unzip)
          Set whether uploaded archives should be unziped and a new document created each time
 
Methods inherited from class com.jalios.jcms.handler.EditPublicationHandler
cannotRead, containsHiddenParts, getAllAvailableTitleML, getAnchor, getAuthorizedGroupsCount, getAuthorizedMemberSetCount, getAvailableAdate, getAvailableAuthor, getAvailableEdate, getAvailableFriendlyURLSet, getAvailableInternalWorkflow, getAvailableMainLanguage, getAvailablePdate, getAvailableRoleMap, getAvailableSdate, getAvailableTemplateEntry, getAvailableTemplates, getAvailableTitle, getAvailableTitle, getAvailableTitleML, getAvailableUpdateGroupSet, getAvailableUpdateMemberSet, getAvailableWFNote, getAvailableWorkspace, getCategorySet, getControllerContext, getDataClass, getDefaultAuthorizedGroupSet, getDefaultAuthorizedMemberSet, getDefaultCategorySet, getDefaultTemplateUsage, getDefaultUpdateGroupSet, getDefaultUpdateMemberSet, getFieldStatus, getHiddenCatSet, getMemberSetAssignedToRole, getOpenTab, getPublication, getShowAllTabs, getShowContentTabOnly, getTabLabel, getTitleFieldValue, getTypeLabel, getUpdateGroupsCount, getUpdateMemberSetCount, getWorkAreaCss, getWorkflow, getWSTypeEntry, init, internalPerformCreate, internalPerformDelete, internalPerformUpdate, isAdvancedTabHidden, isCategoryTabHidden, isContentTabOnly, isDBType, isExpanded, isFieldEdition, isForm, isLocked, isReadRightTabHidden, isStrongLocked, isTabForced, isTemplateTabHidden, isUpdateRightTabHidden, isWorkflowTabHidden, performAddItem, performAddItemReadRights, performAddItemUpdateRights, performCreate, performDelete, performMerge, performRefresh, performUpdate, prepare, processAction, processStatus, releaseDBWorkingPub, sendRedirect, setAdate, setAnchor, setAuthor, setAuthorForced, setAuthorizedGroupIds, setAuthorizedMemberIds, setAuthorizedMemberSetAddCount, setEdate, setFields, setFriendlyURL, setInternalWf, setItemPos, setMainLanguage, setMajorUpdate, setOpAddItem, setOpAddItemReadRights, setOpAddItemUpdateRights, setOpenTab, setOpMerge, setPdate, setRoleId, setSdate, setShowAllTabs, setShowContentTabOnly, setTemplates, setTitle, setUpdateGroupIds, setUpdateMemberIds, setUpdateMemberSetAddCount, setWfNote, showForceDelete, showFriendlyURL, showLockWarning, showMainLanguage, showReaderTracker, showSDate, showWFRole, updateCids, validateAddItem, validateAddItemReadRights, validateAddItemUpdateRights, validateBeforeOp, validateCreate, validateDelete, validateFieldFormat, validateMember, validateMerge, validateUpdate, validateWorkspace
 
Methods inherited from class com.jalios.jcms.handler.EditDataHandler
afterValidation, createUploadedFileDocument, createUploadedFileDocument, createUploadedFileDocument, createUploadedFileDocument, getAvailableData, getAvailableDataArray, getAvailableExtraDataMap, getAvailableExtraDBDataMap, getExtFormHandler, getFormStep, getFormStepCount, getId, handleRestResponse, isFirstAccess, performCancel, performCreateExtension, performFinish, performNext, performPrevious, performUpdateExtension, processDataId, processDataIds, processDataIds, processMLData, processMLDataArray, restValidation, setExtFormHandler, setExtraDBKeys, setExtraDBValues, setExtraKeys, setExtraValues, setFields, setForceDelete, setFormStep, setOpCancel, setOpCreate, setOpDelete, setOpFinish, setOpNext, setOpPrevious, setOpRefresh, setOpUpdate, showFinishButton, showNextButton, showPreviousButton, validateCancel, validateCreateExtension, validateFinish, validateNext, validatePrevious, validateRefresh, validateUpdateExtension, validateUploadedFileDocument, validateUploadedFileDocument, validateUploadedFileDocument, validateUploadedFileDocument
 
Methods inherited from class com.jalios.jcms.handler.JcmsFormHandler
checkMissingField, getEditFieldSet, getHiddenField, getHiddenField, getHiddenField, getHiddenField, getHiddenField, getHiddenField, getHiddenField, getHiddenField, getHiddenField, getHiddenField, getHiddenField, getHiddenField, getHiddenField, getHiddenField, getHiddenFieldML, getMainLangValue, getMainLangValueArray, getMLMap, getMLMapArray, getRedirect, getRedirectOnClosePopup, getWorkspace, isPartialFieldEdition, isPopupEdition, isWorkspaceForced, sendRedirect, sendRedirect, setEditField, setNoRedirect, setNoSendRedirect, setPopupEdition, setRedirect, setRedirectOnClosePopup, setWorkspace, setWs, updateUploadedField, updateUploadedFields, validate
 
Methods inherited from class com.jalios.jcms.context.JcmsJspContext
addBodyAttributes, addCSSHeader, addCSSHeader, addCSSHeader, addCSSHeader, addCustomHeader, addHttpEquivHeader, addHttpNameHeader, addJavaScript, addJavaScript, addJavaScript, addJavaScriptCode, addStyleHeader, addStyleHeader, checkAccess, checkAccess, checkCSRF, debugDisplayContext, forceEditIcon, forceUpdate, getAjaxRequestAttribute, getAjaxRequestId, getAllHeadersDiffMap, getAllHeadersMap, getBackOfficeCSSHeader, getBackOfficeJavaScriptSet, getBodyAttributes, getContentForm, getCSSHeaders, getCtxCategories, getCurrentCategory, getCustomHeaders, getDocType, getFinalCSSMap, getFinalJavaScriptSet, getFormElementCount, getFrontOfficeCSSHeader, getFrontOfficeJavaScriptSet, getHttpEquivHeaders, getHttpNameHeaders, getJavaScriptCodeSet, getJavaScriptSet, getJSONBridge, getPackVersion, getPageContext, getPageTitle, getPageZone, getPortal, getPortalCategory, getPortlet, getStyleHeaders, getTemplateUsage, internalSetupEmptyHeader, isEditIcon, isPrintView, registerDisplayContext, removeAjaxRequestAttribute, setAjaxRequestAttribute, setAjaxRequestId, setAllHeadersDiffMap, setDocType, setEditIcon, setFormElementCount, setPageContext, setPageTitle, setPageZone, setShowEditIcon, setTemplateUsage, showEditIcon, workaroundBrowserBaseHrefBug
 
Methods inherited from class com.jalios.jcms.context.JcmsContext
addCookie, addMsg, addMsg, addMsgSession, addMsgSession, applySelector, forceWorkspaceUpdate, getBaseUrl, getBrowser, getCaddy, getContextPath, getErrorMsg, getErrorMsgList, getErrorMsgSession, getErrorMsgSessionList, getInfoMsg, getInfoMsgList, getInfoMsgSession, getInfoMsgSessionList, getLoggedMember, getMsgList, getMsgSessionList, getRequest, getResponse, getSession, getUploadedFile, getUploadedFileList, getUrlWithCommonUpdatedParams, getUserCountry, getUserLang, getUserLocale, getWarningMsg, getWarningMsgList, getWarningMsgSession, getWarningMsgSessionList, glp, isAdmin, isAjaxRequest, isDBMember, isDebug, isInFrontOffice, isLogged, isWebdavAccess, removeMessage, removeMessage, retrieveUploadedFile, select, sendForbidden, sendForbidden, sendRedirect, sendRedirect, sendRedirect, setErrorMsg, setErrorMsg, setErrorMsgSession, setErrorMsgSession, setInfoMsg, setInfoMsg, setInfoMsgSession, setInfoMsgSession, setLoggedMember, setRequest, setResponse, setWarningMsg, setWarningMsg, setWarningMsgSession, setWarningMsgSession, validateRegexp, validateSchedule
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

REVISION

public static final String REVISION
See Also:
Constant Field Values

isModal

protected boolean isModal

document

protected FileDocument document

filename

protected String[] filename

categorySet

protected Set<Category> categorySet

authorizedGroupSet

protected TreeSet<Group> authorizedGroupSet

authorizedMemberSet

protected TreeSet<Member> authorizedMemberSet

opUpload

protected boolean opUpload
Constructor Detail

DocUploadHandler

public DocUploadHandler()
Method Detail

getPublicationClass

public Class<? extends Publication> getPublicationClass()
Specified by:
getPublicationClass in class EditPublicationHandler

handleUploadError

public String handleUploadError(Map<String,String> failedMap)
Convenient method that returns a list (ul/li) of errors for each files.

Parameters:
failedMap - a map of errors returned by handleUpload()
Returns:
String error list

handleUpload

public Map<String,String> handleUpload()
Performs upload of all FileDocuments and create/update FileDocuments. Returns a Map of all FileDocuments with errors

Returns:
Map a map of errors

handleUpload

public Map<String,String> handleUpload(DocUploadInfo dui)
This method allow the use of this formHandler by a programatic call, not in a jsp:usebean tag. Support only one DocUploadInfo.

Parameters:
dui - a DocUploadInfo
Returns:
failedMap : not empty if some problem occured

performUpdate

protected void performUpdate(DocUploadInfo info,
                             Map<String,String> controllerFailedMap)
Performs creation of a FileDocument from a given DocUploadInfo. Store errors in the given controllerFailedMap.

Parameters:
info - a DocUploadInfo
controllerFailedMap - a Map of errors.

performCreate

protected void performCreate(DocUploadInfo info,
                             Map<String,String> controllerFailedMap)
Performs creation of a FileDocument from a given DocUploadInfo. Store errors in the given controllerFailedMap.

Parameters:
info - a DocUploadInfo
controllerFailedMap - a Map of errors.

getNextUploadStep

public String getNextUploadStep()
Returns the JavaScript code to use depending of the upload step. The script may refresh opener, make redrect, fill opener form or close the doc chooser.

Returns:
String the JavaScript code to execute

getStepCase

protected com.jalios.jcms.upload.DocUploadHandler.UploadStep getStepCase()
Returns the upload step depending of multiple paramter steps OpenerForm, OpenerRefresh, Redirect

Returns:
int the upload step

setModal

public void setModal(boolean modal)

isInModal

public boolean isInModal()

setId

public void setId(String id)
Description copied from class: EditPublicationHandler
Set the value of id.

Overrides:
setId in class EditPublicationHandler
Parameters:
id - Value to assign to id.

getAvailableFileDocument

public FileDocument getAvailableFileDocument()

getAvailableFileDocuments

public FileDocument[] getAvailableFileDocuments()

isUpdate

public boolean isUpdate()

isFieldMissing

protected boolean isFieldMissing(String field)
Description copied from class: JcmsFormHandler
Check if the given parameter is present in the query parameters

Overrides:
isFieldMissing in class JcmsFormHandler
Parameters:
field - the field to be checked
Returns:
true if this field is present in the query parameters

setFilename

public void setFilename(String[] v)

getAvailableFilename

public String getAvailableFilename()

setDescription

public void setDescription(String[] v)

getAvailableDescription

public String getAvailableDescription()

getAvailableDescriptionML

public HashMap<String,String> getAvailableDescriptionML()

getAvailableDescription

public String getAvailableDescription(String lang)

getAllAvailableDescriptionML

public HashMap<String,String> getAllAvailableDescriptionML()

setCids

public void setCids(String[] v)
Overrides:
setCids in class EditPublicationHandler

getAvailableCategories

public Category[] getAvailableCategories()
Overrides:
getAvailableCategories in class EditPublicationHandler

getAvailableCategorySet

public Set<Category> getAvailableCategorySet()

setGids

public void setGids(String[] v)

getAvailableAuthorizedGroupSet

public TreeSet<Group> getAvailableAuthorizedGroupSet()
Overrides:
getAvailableAuthorizedGroupSet in class EditPublicationHandler

setMids

public void setMids(String[] v)

getAvailableAuthorizedMemberSet

public TreeSet<Member> getAvailableAuthorizedMemberSet()
Overrides:
getAvailableAuthorizedMemberSet in class EditPublicationHandler

setRemoveFile

public void setRemoveFile(boolean v)

getAvailableRemoveFile

public boolean getAvailableRemoveFile()

setUnlock

public void setUnlock(boolean v)

setPstatus

public void setPstatus(int v)
Overrides:
setPstatus in class EditPublicationHandler

getAvailablePstatus

public int getAvailablePstatus()
Overrides:
getAvailablePstatus in class EditPublicationHandler

setTracked

public void setTracked(boolean v)
Overrides:
setTracked in class EditPublicationHandler

getAvailableTracked

public boolean getAvailableTracked()
Overrides:
getAvailableTracked in class EditPublicationHandler

setUnzipUploadedFiles

public void setUnzipUploadedFiles(boolean unzip)
Set whether uploaded archives should be unziped and a new document created each time

Parameters:
unzip - true to unzip, false to leave document intact

getUnzipUploadedFiles

public boolean getUnzipUploadedFiles()
Check if archives should be unziped and a new document created each time

Returns:
true to unzip, false to leave document intact

setType

public void setType(String type)

getAvailableType

public String getAvailableType()

setOpenerForm

public void setOpenerForm(String v)

getAvailableOpenerForm

public String getAvailableOpenerForm()

setRefresh

public void setRefresh(String v)

getAvailableOpenerRefresh

public String getAvailableOpenerRefresh()

setNbElt

public void setNbElt(int v)

getAvailableNbElt

public int getAvailableNbElt()

setStartElt

public void setStartElt(int v)

getAvailableStartElt

public int getAvailableStartElt()

setJsFunc

public void setJsFunc(String v)

getAvailableJsFunc

public String getAvailableJsFunc()

setOpUpload

public void setOpUpload(String v)

isUploading

public boolean isUploading()

setMajorUpdate

public void setMajorUpdate(boolean v)

getAvailableMajorUpdate

public boolean getAvailableMajorUpdate()
Overrides:
getAvailableMajorUpdate in class EditPublicationHandler


Copyright © 2001-2010 Jalios SA. All Rights Reserved.