public abstract class SimpleCrudBaseBean extends FormBaseBean
| Modifier and Type | Field and Description |
|---|---|
static String |
CANCEL_BUTTON |
static String |
CANCELLED_ACTION |
static String |
DELETE_ACTION |
static String |
DELETE_BUTTON |
static String |
EDIT_ACTION |
static String |
EDIT_BUTTON |
static String |
INVALID_ACTION |
protected org.apache.commons.logging.Log |
log |
static String |
MAIN_MESSAGE |
static String |
NEW_ACTION |
static String |
NEW_BUTTON |
static String |
OK_BUTTON |
static String |
SAVE_ACTION |
static String |
SAVE_BUTTON |
static String |
START_ACTION |
protected static int |
TEMPNEW_ID |
protected Object |
theObject |
action, errors, form, isInit, locale, mapping, messages, request, requestParams, response, session, UNKNOWN_ACTION| Constructor and Description |
|---|
SimpleCrudBaseBean(javax.servlet.http.HttpServletRequest req,
org.apache.struts.validator.DynaValidatorForm dform,
org.apache.struts.action.ActionMapping mapp)
Deze minimale constructor kent geen locale instelling, geen
message resources en geen foutterugmelding en zal niet vaak
gebruikt worden.
|
SimpleCrudBaseBean(javax.servlet.http.HttpServletRequest req,
Locale loc,
org.apache.struts.util.MessageResources mess,
org.apache.struts.action.ActionMessages err,
org.apache.struts.validator.DynaValidatorForm dform,
org.apache.struts.action.ActionMapping mapp)
De constructor bepaalt uit de request de parameters welke gepost zijn en slaat deze
lokaal op.
|
| Modifier and Type | Method and Description |
|---|---|
protected void |
createLists()
Elk struts formulier maakt gebruik van een aantal lijsten.
|
protected org.apache.struts.action.ActionForward |
deleteAction()
Het hoofdrecord met alle bijbehorende subrecords wordt gewist.
|
protected void |
deleteObject()
Een concrete implementatie van deze functie moet het hoofdobject verwijderen
uit de database, alle afhankelijke subrecords dienen vooraf al verwijderd te
of the database moet on delete cascade in gesteld hebben.
|
protected org.apache.struts.action.ActionErrors |
determineAction(boolean tokenValid,
boolean transactionCancelled,
org.apache.struts.action.ActionErrors validateErrors)
Deze functie bepaalt de waarde van action.
|
protected void |
determineNewAction()
Deze functie vult de nieuwe actie in op het struts form, zodat
de volgende ronde hiermee gewerkt wordt.
|
protected void |
determineObjects()
Deze functie haalt het hoofdobject op en de subobjecten worden in een array
bewaard voor gebruik later.
|
protected org.apache.struts.action.ActionForward |
doCreateAction()
Deze functie checkt of de NEW_ACTION moet worden uitgevoerd.
|
protected org.apache.struts.action.ActionForward |
doDeleteAction()
Deze functie checkt of de DELETE_ACTION moet worden uitgevoerd.
|
protected org.apache.struts.action.ActionForward |
doEditAction(org.apache.struts.action.ActionErrors validateErrors)
Deze functie checkt of de EDIT_ACTION moet worden uitgevoerd.
|
protected org.apache.struts.action.ActionForward |
doSaveAction(org.apache.struts.action.ActionErrors validateErrors)
Deze functie checkt of de SAVE_ACTION moet worden uitgevoerd.
|
protected String |
getMainID()
Een concrete implementatie van deze functie haalt het id op van de hoofdtabel
uit het struts formulier dat getoond wordt, bijvoorbeeld via:
return getForm("id"); |
protected Object |
getMainObject()
Een concrete implementatie van deze functie haalt het eerst het id op van de hoofdrecord
uit het struts formulier dat getoond wordt, bijvoorbeeld via:
int id = getMainObjectID();
Vervolgens wordt het bijbehorende object (persistence laag class) welke een record uit de tabel
beschrijft opgehaald, bijvoorbeeld via:
return hsession.createQuery("from tabel where id = id"); |
protected String |
getNewAction()
Tijdens de uitvoer van de functies zal een nieuwe actie berekend worden voor de volgende post.
|
protected Object |
getNewObject()
Een concrete implementatie van deze functie zorgt ervoor dat een nieuw persistent
object wordt aangemaakt voor de hoofdtabel.
|
boolean |
isAllowEdits()
Configuratie parameter van EditBaseBean welke bepaalt of
de bebruiker de records mag editten of niet.
|
boolean |
isDirectDelete()
Configuratie parameter van EditBaseBean welke bepaalt of een delete
meteen (true) moet worden uitgevoerd of pas na een waarschuwing (false).
|
boolean |
isDirectSave()
Configuratie parameter van EditBaseBean welke bepaalt of een save
meteen (true) moet worden uitgevoerd of pas na een waarschuwing (false).
|
protected boolean |
isNewAction(String lact)
test of een actie de huidige actie voor de volgende ronde is
|
protected void |
populateForm()
Een concrete implementatie van deze functie zorgt voor het vullen van het form uit het hoofdobject.
|
protected org.apache.struts.action.ActionForward |
populateMainForm()
Deze functie vult het hoofdformulier met
de bijgewerkte informatie uit de database.
|
protected void |
populateObject()
Een concrete implementatie van deze functie vult het hoofdobject vanuit het form.
|
org.apache.struts.action.ActionForward |
processAction(boolean tokenValid,
boolean transactionCancelled,
org.apache.struts.action.ActionErrors validateErrors)
Deze functie procest een request, welke is opgeslagen bij de constructie van de bean.
|
org.apache.struts.action.ActionForward |
processLists() |
protected boolean |
reduceMainErrors(org.apache.struts.action.ActionErrors ve)
Deze functie verwijdert de niet relevante errors uit de lijst door
te kijken naar de velden (properties) die in het form aanwezig zijn.
|
protected org.apache.struts.action.ActionForward |
saveAction(org.apache.struts.action.ActionErrors validateErrors)
Deze functie voert de SAVE_ACTION uit.
|
void |
setAllowEdits(boolean allowEdits)
Configuratie parameter van EditBaseBean welke bepaalt of
de bebruiker de records mag editten of niet.
|
void |
setDirectDelete(boolean directDelete)
Configuratie parameter van EditBaseBean welke bepaalt of een delete
meteen (true) moet worden uitgevoerd of pas na een waarschuwing (false).
|
void |
setDirectSave(boolean directSave)
Configuratie parameter van EditBaseBean welke bepaalt of een save
meteen (true) moet worden uitgevoerd of pas na een waarschuwing (false).
|
protected void |
setID(String id)
Een concrete implementatie van deze functie plaatst een nieuw id in het id veld.
|
protected void |
setNewAction(String newAction)
setter voor newAction
|
protected void |
syncID()
Een concrete implementatie van deze functie synchroniseert het id van het hoofdobject
met het id in het strutsformulier.
|
buttonPressed, getAction, getErrors, getForm, getForm, getFormAsBoolean, getFormAsFormFile, getFormAsInteger, getFormAsObject, getFormAsStringArray, getLocale, getMapping, getMessages, getParamAsObject, getParamAsString, getParamAsStringArray, getRequest, getRequestParams, getResponse, getSession, isAction, nullOrEmpty, setAction, setErrors, setForm, setForm, setLocale, setMapping, setMessages, setRequest, setRequestParams, setResponse, setSessionprotected org.apache.commons.logging.Log log
protected Object theObject
public static final String INVALID_ACTION
public static final String CANCELLED_ACTION
public static final String START_ACTION
public static final String EDIT_ACTION
public static final String NEW_ACTION
public static final String SAVE_ACTION
public static final String DELETE_ACTION
public static final String OK_BUTTON
public static final String CANCEL_BUTTON
public static final String DELETE_BUTTON
public static final String NEW_BUTTON
public static final String SAVE_BUTTON
public static final String EDIT_BUTTON
public static final String MAIN_MESSAGE
protected static int TEMPNEW_ID
public SimpleCrudBaseBean(javax.servlet.http.HttpServletRequest req,
org.apache.struts.validator.DynaValidatorForm dform,
org.apache.struts.action.ActionMapping mapp)
req - de request waarmee het struts formulier gepost isdform - het struts formulier zelfmapp - de mapping voor deze struts actionpublic SimpleCrudBaseBean(javax.servlet.http.HttpServletRequest req,
Locale loc,
org.apache.struts.util.MessageResources mess,
org.apache.struts.action.ActionMessages err,
org.apache.struts.validator.DynaValidatorForm dform,
org.apache.struts.action.ActionMapping mapp)
Indien locale, message resources en foutterugmelding null zijn, wordt een default waarde hiervoor vastgesteld, zodat de class verder kan functioneren.
req - de request waarmee het struts formulier gepost isloc - de locale zoals door struts bepaaldmess - de message resources waaruit de foutmelding worden gehaalderr - de reeks van foutmeldingen, zoals deze tijdens de uitvoer van de functies wordt opgebouwddform - het struts formulier zelfmapp - de mapping voor deze struts actionpublic org.apache.struts.action.ActionForward processAction(boolean tokenValid,
boolean transactionCancelled,
org.apache.struts.action.ActionErrors validateErrors)
Afhankelijk van de waarde van action en de waarden in de request wordt een record in de tabel bewerkt, gewist of nieuw aangemaakt.
In deze functie worden een aantal functies aangeroepen, die weer abstracte functies aanroepen die bij een concrete implementatie moeten worden gedefinieerd.
tokenValid - wordt false indien dit formulier een tweede keer wordt geposttransactionCancelled - wordt true indien de cancel knop is gekliktvalidateErrors - bevat alle validatie errors, zoals door struts vastgesteldpublic org.apache.struts.action.ActionForward processLists()
protected org.apache.struts.action.ActionErrors determineAction(boolean tokenValid,
boolean transactionCancelled,
org.apache.struts.action.ActionErrors validateErrors)
validateErrors - bekende foutmeldingentokenValid - false indien het formulier 2x gepost wordttransactionCancelled - true als de cancel knop geklikt isprotected void determineObjects()
protected org.apache.struts.action.ActionForward doCreateAction()
protected org.apache.struts.action.ActionForward doDeleteAction()
protected org.apache.struts.action.ActionForward deleteAction()
protected org.apache.struts.action.ActionForward doSaveAction(org.apache.struts.action.ActionErrors validateErrors)
validateErrors - zoals deze door struts zijn vastgesteldprotected org.apache.struts.action.ActionForward saveAction(org.apache.struts.action.ActionErrors validateErrors)
validateErrors - zoals deze door struts zijn vastgesteldprotected org.apache.struts.action.ActionForward doEditAction(org.apache.struts.action.ActionErrors validateErrors)
Vanuit de EDIT_ACTION kan het hoofdrecord in de volgende ronde bewerkt, gewist of nieuw gemaakt worden. Ook kan een many-to-many koppeling worden gemaakt of verbroken.
validateErrors - foutenmeldingen van formulierprotected org.apache.struts.action.ActionForward populateMainForm()
protected boolean reduceMainErrors(org.apache.struts.action.ActionErrors ve)
ve - protected void determineNewAction()
protected String getNewAction()
protected void setNewAction(String newAction)
newAction - zet een nieuwe actie voor de volgende rondeprotected boolean isNewAction(String lact)
lact - te testen actieprotected String getMainID() throws B3pCommonsException
return getForm("id");
B3pCommonsException - bij foutenprotected Object getMainObject() throws B3pCommonsException
int id = getMainObjectID();
Vervolgens wordt het bijbehorende object (persistence laag class) welke een record uit de tabel
beschrijft opgehaald, bijvoorbeeld via:
return hsession.createQuery("from tabel where id = id");
B3pCommonsException - bij foutenprotected Object getNewObject() throws B3pCommonsException
B3pCommonsException - bij foutenprotected void setID(String id) throws B3pCommonsException
id - waarde van nieuw idB3pCommonsException - bij foutenprotected void syncID()
throws B3pCommonsException
De code kan er als volgt uitzien:
if (theObject!=null) {
int id = ((Cast)theObject).getId();
setID(id);
} else {
setID(null);
}
B3pCommonsException - bij foutenprotected void deleteObject()
throws B3pCommonsException
B3pCommonsException - bij foutenprotected void populateObject()
throws B3pCommonsException
B3pCommonsException - bij foutenprotected void populateForm()
throws B3pCommonsException
B3pCommonsException - bij foutenprotected void createLists()
throws B3pCommonsException
De namen van de lijsten moeten afgestemd worden met het gebruik in de jsp's waarin het struts formulier wordt gebruikt.
B3pCommonsException - bij fout ophalen lijstenpublic boolean isDirectSave()
public void setDirectSave(boolean directSave)
directSave - meteen bewaren of nietpublic boolean isDirectDelete()
public void setDirectDelete(boolean directDelete)
directDelete - meteen wissen of nietpublic boolean isAllowEdits()
public void setAllowEdits(boolean allowEdits)
allowEdits - edit of nietCopyright © 2018 B3Partners B.V.. All rights reserved.