ucAddPostInsert
Purpose
This allows additional error reporting by returning an error message.
Applies To
Add Issue screen
Signature
public void ucAddPostInsert (
Problem pProblem, // the problem or case
ArrayList pReleases, // the list of releases
ArrayList pModules, // the list of modules
ArrayList pUdfs, // the list of UDF's
SesameSession session) // the current sesame Session
Notes
This is called after a record has been successfully added to the database.
Example
This example shows how after the record has been added, information pertaining to the record is read and an update is in turn made to another record. Technically, this same example could be achieved in Business Rules within the <== postupdate ==> directive, in conjunction with a <== link ==> rule.
public void ucAddPostInsert (
Problem pProblem, // the problem or case
ArrayList pReleases, // the list of releases
ArrayList pModules, // the list of modules
ArrayList pUdfs, // the list of UDF's
SesameSession session) // the current sesame Session
{
// Call Business Rules
super.ucAddPostInsert(pProblem, pReleases, pModules, pUdfs, session);
String status = pProblem.getStatus();
String projectId = pProblem.getProjctId();
Z.log.writeToLog(Z.log.WARN, "UC: ucAddPostInsert - projectId=" + projectId);
// PROJ__BUGS_DATA is a static String object,
// populated in the class constructor and if status closed
if (P_BUGS_DATA.equals(projectId) && "OPEN".equals(status) )
{
Connection dbConn = null;
String childId = null;
HashMap fp = new FormParameters();
try
{
// Get database connection
dbConn = Z.pool.getConnection("ucAddPostInsert");
// Iterate through udf's to find special child id
Iterator itr = pUdfs.iterator();
while (itr.hasNext())
{
Problem_UDF udf = (Problem_UDF) itr.next();
if ("SPECIAL_CHILD_ID".equals(udf.getName()) )
{
childId = udf.getValue();
break;
}
}
// Populate form parameter object as needed
fp.put("STATUS", "DUPLICATE");
fp.put("COMMENTS", "This record was marked as Duplicate because it was " +
"the 'Special Child' of a new Bug record: " +
pProblem.getId() + " that was Opened.");
// If child records not null then update using another User Custom method
if (childId != null) {
apiEditItem(fp, dbConn, session, childId);
}
} catch (Exception e) {
Z.log.writeToLog(Z.log.ERROR, "UC: ucAddPostInsert Exception: " + e);
ErrorWriter.write(e, ErrorWriter.LOGERR);
} finally {
// Close the database connection
if (dbConn != null) { Z.pool.close(dbConn); }
}
}
}