Example of an exception based update

How to do updates in Aspire


request.DFUL.validateExistingFile.classname=com.ai.db.DBRequestExecutor2
request.DFUL.validateExistingFile.stmt=select * from file_attachments where filename = {datafile_filename.quote} and file_id = {reportId}
request.DFUL.validateExistingFile.filterName=VEFFilter

request.VEFFilter.classname=com.ai.filters.EmptySetValidator
request.VEFFilter.exception_message=DUPLICATE_FILENAME:filename already exists

request.DocFUL.redirectURL=/akc/display?url=UploadMPURL&reportId={reportId}&ownerUserId={ownerUserId}

request.DocFUL.failureRedirectURL.DUPLICATE_FILENAME=/akc/display?url=UploadMPURL&reportId={reportId}&ownerUserId={ownerUserId}&status=dulicate&filename={datafile_filename}

###################################
# DFSoftDelete
#    Delete a folder if it has no children
# inputs: folderId
###################################
request.DFSoftDelete.classname=com.ai.parts.CollectionWorkSplitterObjectPart
request.DFSoftDelete.db=reportsDB
request.DFSoftDelete.query_type=update
request.DFSoftDelete.collectionRequestName=DFFiledItems
request.DFSoftDelete.emptyRequestName=DeleteFolderRow
request.DFSoftDelete.beginRequestName=DFRejectDelete

##if successful go to folders page
request.DFSoftDelete.redirectURL=/akc/display?url=ShowFiledReportsJSPURL&ownerUserId={profile_user}

##if failure go to same page and warn the user
request.DFSoftDelete.redirectURL.DFNonEmptyFolder=\
/akc/display?url=DeleteFolderURL&errorCode=NonEmptyFolder


##DFRejectDelete
request.DFRejectDelete.classname=com.ai.parts.SubstitutionPart
request.DFRejectDelete.substitution=DFNonEmptyFolder
request.DFRejectDelete.resultName=aspire_target_url

See this page for managing view state for forms