This is used to preprocess the clone operation after the Clone button is pressed, and before the ExtraView internal cloning process starts.
Edit screen buttons
public boolean ucPreClone(
ProblemFormParam values, //contains values of form params
HttpServletRequest request, // the servlet request
HttpServletResponse response, // the servlet response
Connection con, // the database connection
SesameSession session) // session object
You may change any of the values in the values passed into the method.
public boolean ucPreClone(
ProblemFormParam values, //contains values of form params
HttpServletRequest request, // the servlet request
HttpServletResponse response, // the servlet response
Connection con, // the database connection
SesameSession session) throws Exception // session object
{
// check to see if we have the value for the area and project for this clone.
// if not, send the area/project prompts like in the preAdd display
if (pfp.containsKey("uc_pre_add_indicator") &&
"true".equals(pfp.getString("uc_pre_add_indicator")))
{
// get the area and project as specified by the user...
ProblemFormParam npfp = new ProblemFormParam(pfp);
session.setAttribute("CLONEE_PFP", npfp);
if (session.getAttribute("CLONING_PFP") instanceof ProblemFormParam) {
pfp.clear(); // discard preclone form parameters...
pfp.putAll( (ProblemFormParam) session.getAttribute("CLONING_PFP"));
return true;
}
}
session.setAttribute("CLONING_PFP", new ProblemFormParam(pfp));
return this.addMenuForClone(pfp, request, response, dbconn, session);
}