|
|||||||||
| Home >> All >> jreceiver >> client >> common >> [ struts overview ] | PREV CLASS NEXT CLASS | ||||||||
SUMMARY: JAVADOC | SOURCE | DOWNLOAD | NESTED | FIELD | CONSTR | METHOD |
DETAIL: FIELD | CONSTR | METHOD | ||||||||
jreceiver.client.common.struts
Class JRecTableAction

java.lang.Objectorg.apache.struts.action.Action
jreceiver.client.common.struts.JRecAction
jreceiver.client.common.struts.JRecTableAction
- public abstract class JRecTableAction
- extends JRecAction
A base Action class for all JReceiver Struts application actions Provides session-management, error-management and paging management. Pages are cached in a map in the session. That map is keyed by mapping.getType().
- Version:
- $Revision: 1.15 $ $Date: 2003/05/16 04:45:46 $
| Field Summary | |
private static int |
ITEMS_PER_PAGE
|
protected static org.apache.commons.logging.Log |
log
logging object |
private static int |
PAGES_TO_CACHE
cache at most this many pages per user on an LRU basis |
| Fields inherited from class jreceiver.client.common.struts.JRecAction |
FORWARD_CANCEL, FORWARD_CONTINUE, FORWARD_EDIT, FORWARD_ERROR, FORWARD_SUCCESS |
| Fields inherited from class org.apache.struts.action.Action |
defaultLocale, servlet |
| Constructor Summary | |
JRecTableAction()
|
|
| Method Summary | |
private java.lang.String |
buildEditPath(jreceiver.common.rec.security.User user,
javax.servlet.http.HttpServletRequest req,
org.apache.struts.action.ActionMapping mapping,
java.lang.Object rec_to_edit)
|
protected abstract void |
deleteRecs(jreceiver.common.rec.security.User user,
javax.servlet.http.HttpSession session,
java.util.Vector keys)
delete the record(s) for the specified key(s) |
protected void |
deleteSelected(jreceiver.common.rec.security.User user,
java.util.Vector recs,
javax.servlet.http.HttpSession session,
org.apache.struts.action.ActionErrors errors)
attempt to delete all marked records |
org.apache.struts.action.ActionForward |
execute(org.apache.struts.action.ActionMapping mapping,
org.apache.struts.action.ActionForm action_form,
javax.servlet.http.HttpServletRequest req,
javax.servlet.http.HttpServletResponse resp)
Examine to request to determine how a form should be loaded or a submit to be processed. |
protected abstract int |
fetchKeyCount(jreceiver.common.rec.security.User user,
javax.servlet.http.HttpServletRequest req)
return an approximate total of keys for the current filter |
protected abstract java.util.Vector |
fetchKeys(jreceiver.common.rec.security.User user,
javax.servlet.http.HttpServletRequest req,
JRecTableForm form,
int rec_offset,
int rec_count)
return a range of keys for the current filter |
protected abstract java.util.Vector |
fetchRecs(jreceiver.common.rec.security.User user,
javax.servlet.http.HttpServletRequest req,
JRecTableForm form,
java.util.Vector keys)
return recs for each key in the vector |
protected java.lang.String |
getEditForward(javax.servlet.http.HttpServletRequest req,
java.lang.Object rec_to_edit)
Default method to return the forward of the edit form; should be overridden if different edit pages are used based upon record type. |
protected abstract void |
getEditParams(jreceiver.common.rec.security.User user,
javax.servlet.http.HttpServletRequest req,
java.lang.Object rec_to_edit,
java.util.Map params)
generate a parameter list used in the redirection to the edit screen |
protected java.lang.Object |
getFirstSelected(JRecTableForm form)
return details of the first selected record only |
protected abstract java.lang.String |
getHandlerName()
obtain the name of the handler that manages this table |
protected static int |
getPageCount(java.util.Vector all_recs)
|
private int |
getPageNo(jreceiver.common.rec.security.User user,
javax.servlet.http.HttpServletRequest req,
JRecTableForm form)
obtain a valid page_no from the request, initializing view details as needed |
private java.util.Vector |
getRecsForPage(jreceiver.common.rec.security.User user,
javax.servlet.http.HttpServletRequest req,
JRecTableForm form,
int page_no)
Fetched cached list of recs for a single page from the session. |
protected java.util.Vector |
getSelected(JRecTableForm form,
boolean only_first)
Obtain a list of recs for the selected rows of the request. |
private java.lang.String |
getUrlPattern(javax.servlet.http.HttpServletRequest req)
create a url template for the page navigation machinery |
protected void |
getUrlPatternParams(javax.servlet.http.HttpServletRequest req,
java.util.Map params)
subclasses can optionally override to include additional params beyond pageNo |
private void |
load(jreceiver.common.rec.security.User user,
javax.servlet.http.HttpServletRequest req,
JRecTableForm form)
|
protected boolean |
onExport(jreceiver.common.rec.security.User user,
JRecTableForm table_form,
javax.servlet.http.HttpServletResponse resp,
org.apache.struts.action.ActionErrors errors)
default export handler - subclasses that support export should override |
protected void |
onImport(jreceiver.common.rec.security.User user,
JRecTableForm table_form,
org.apache.struts.action.ActionErrors errors)
default import handler - subclasses that support import should override |
protected abstract void |
onLoad(jreceiver.common.rec.security.User user,
javax.servlet.http.HttpServletRequest req,
JRecTableForm table_form)
initialize the form from data in the request (occurs prior to key fetching so that filter params can be specified by querying the form) |
| Methods inherited from class jreceiver.client.common.struts.JRecAction |
getUser, getUser, reportDeleteError, reportDeleteError, reportError, reportError, reportError, reportError, reportError, reportExportError, reportImportError, reportImportFileNotFound, reportLoadError, reportSaveError |
| Methods inherited from class org.apache.struts.action.Action |
addErrors, addMessages, execute, generateToken, getDataSource, getDataSource, getErrors, getLocale, getMessages, getResources, getResources, getServlet, isCancelled, isTokenValid, isTokenValid, resetToken, saveErrors, saveErrors, saveErrors, saveMessages, saveMessages, saveToken, setLocale, setServlet |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
ITEMS_PER_PAGE
private static final int ITEMS_PER_PAGE
- See Also:
- Constant Field Values
PAGES_TO_CACHE
private static final int PAGES_TO_CACHE
- cache at most this many pages per user on an LRU basis
- See Also:
- Constant Field Values
log
protected static org.apache.commons.logging.Log log
- logging object
| Constructor Detail |
JRecTableAction
public JRecTableAction()
| Method Detail |
getHandlerName
protected abstract java.lang.String getHandlerName()
- obtain the name of the handler that manages this table
onLoad
protected abstract void onLoad(jreceiver.common.rec.security.User user, javax.servlet.http.HttpServletRequest req, JRecTableForm table_form) throws jreceiver.common.JRecException
- initialize the form from data in the request (occurs prior to key
fetching so that filter params can be specified by querying the form)
fetchKeys
protected abstract java.util.Vector fetchKeys(jreceiver.common.rec.security.User user, javax.servlet.http.HttpServletRequest req, JRecTableForm form, int rec_offset, int rec_count) throws jreceiver.common.JRecException
- return a range of keys for the current filter
fetchRecs
protected abstract java.util.Vector fetchRecs(jreceiver.common.rec.security.User user, javax.servlet.http.HttpServletRequest req, JRecTableForm form, java.util.Vector keys) throws jreceiver.common.JRecException
- return recs for each key in the vector
Note that keys can either be java.lang.Number, java.lang.String or jreceiver.common.rec.Key
fetchKeyCount
protected abstract int fetchKeyCount(jreceiver.common.rec.security.User user, javax.servlet.http.HttpServletRequest req) throws jreceiver.common.JRecException
- return an approximate total of keys for the current filter
Note that 'SELECT COUNT(*)' can be an expensive operation. Values are cached in session.
getEditParams
protected abstract void getEditParams(jreceiver.common.rec.security.User user, javax.servlet.http.HttpServletRequest req, java.lang.Object rec_to_edit, java.util.Map params) throws jreceiver.common.JRecException
- generate a parameter list used in the redirection to the edit screen
deleteRecs
protected abstract void deleteRecs(jreceiver.common.rec.security.User user, javax.servlet.http.HttpSession session, java.util.Vector keys) throws jreceiver.common.JRecException
- delete the record(s) for the specified key(s)
execute
public org.apache.struts.action.ActionForward execute(org.apache.struts.action.ActionMapping mapping, org.apache.struts.action.ActionForm action_form, javax.servlet.http.HttpServletRequest req, javax.servlet.http.HttpServletResponse resp) throws java.io.IOException, javax.servlet.ServletException
- Examine to request to determine how a form should be loaded or a submit
to be processed.
load
private void load(jreceiver.common.rec.security.User user, javax.servlet.http.HttpServletRequest req, JRecTableForm form) throws jreceiver.common.JRecException
getPageNo
private int getPageNo(jreceiver.common.rec.security.User user, javax.servlet.http.HttpServletRequest req, JRecTableForm form) throws jreceiver.common.JRecException
- obtain a valid page_no from the request, initializing view details as needed
getEditForward
protected java.lang.String getEditForward(javax.servlet.http.HttpServletRequest req, java.lang.Object rec_to_edit) throws jreceiver.common.JRecException
- Default method to return the forward of the edit form; should be
overridden if different edit pages are used based upon record type.
buildEditPath
private java.lang.String buildEditPath(jreceiver.common.rec.security.User user, javax.servlet.http.HttpServletRequest req, org.apache.struts.action.ActionMapping mapping, java.lang.Object rec_to_edit) throws jreceiver.common.JRecException
getSelected
protected java.util.Vector getSelected(JRecTableForm form, boolean only_first) throws jreceiver.common.JRecException
- Obtain a list of recs for the selected rows of the request.
Chances are that we're getting the cached records.
Note that because we're using a form with request scope, it doesn't retain the records prior to the submit. We must verify the keys are equivalent. If not, we'll have to get the recs again.
getFirstSelected
protected java.lang.Object getFirstSelected(JRecTableForm form) throws jreceiver.common.JRecException
- return details of the first selected record only
deleteSelected
protected void deleteSelected(jreceiver.common.rec.security.User user, java.util.Vector recs, javax.servlet.http.HttpSession session, org.apache.struts.action.ActionErrors errors)
- attempt to delete all marked records
getRecsForPage
private java.util.Vector getRecsForPage(jreceiver.common.rec.security.User user, javax.servlet.http.HttpServletRequest req, JRecTableForm form, int page_no) throws jreceiver.common.JRecException
- Fetched cached list of recs for a single page from the session.
The form's state will determine the filter used to obtain keys and ultimately recs to populate the page.
TODO: adapt for different page sizes
TODO: performance - get addl pages of keys whenever querying for keys to reduce roundtrips and db load
getUrlPatternParams
protected void getUrlPatternParams(javax.servlet.http.HttpServletRequest req, java.util.Map params) throws jreceiver.common.JRecException
- subclasses can optionally override to include additional params beyond pageNo
e.g. PlaylistsAction can append "&plMask=3"
getUrlPattern
private java.lang.String getUrlPattern(javax.servlet.http.HttpServletRequest req) throws jreceiver.common.JRecException
- create a url template for the page navigation machinery
getPageCount
protected static int getPageCount(java.util.Vector all_recs)
onImport
protected void onImport(jreceiver.common.rec.security.User user, JRecTableForm table_form, org.apache.struts.action.ActionErrors errors) throws jreceiver.common.JRecException
- default import handler - subclasses that support import should override
onExport
protected boolean onExport(jreceiver.common.rec.security.User user, JRecTableForm table_form, javax.servlet.http.HttpServletResponse resp, org.apache.struts.action.ActionErrors errors) throws jreceiver.common.JRecException
- default export handler - subclasses that support export should override
|
|||||||||
| Home >> All >> jreceiver >> client >> common >> [ struts overview ] | PREV CLASS NEXT CLASS | ||||||||
SUMMARY: JAVADOC | SOURCE | DOWNLOAD | NESTED | FIELD | CONSTR | METHOD |
DETAIL: FIELD | CONSTR | METHOD | ||||||||
JAVADOC