Hi All,
Am using the wls10 platform. Any help would be appriciated. Have been struggling
on this for a bit now.
Thanks,
The the relevant control code is:
@JdbcControl.SQL(statement = "SELECT p.PATCH_ID,
p.REQUIRES,ps.PRODUCT_DISPLAY_NAME, v.VERSION_NAME,p.PATCH_NAME,p.DESCRIPTION,
to_char(p.RELEASE_DATE, 'MM/DD/YYYY') RELEASE_DATE, p.SUPERCEDES,
p.RELEASE_TYPE, p.KB_ARTICLE, p.SYSTEM_IMPACT , p.DOWNLOAD_LOCATION,
p.requirelogin, p.SEVERITY, p.ACTIVE, p.MD5, P.DOWNLOAD_FILE_SIZE from patch p,
version v, products ps where p.VERSION_ID = v.VERSION_ID and v.PRODUCT_ID =
ps.PRODUCT_ID and upper(p.PATCH_NAME) {sql: whereClause} and v.active = 1 ORDER
BY ps.PRODUCT_DISPLAY_NAME, v.VERSION_NAME")
public Patch[] findPatchByReleaseName(String whereClause)throws SQLException;
The controller code is:
@Jpf.Action(forwards = {
@Jpf.Forward(name = "success", path =
"Downloadpage.jsp", actionOutputs = { @Jpf.ActionOutput(name =
"findPatchResult", type = com.vmware.s3portal.domain.Patch[].class)
}),
@Jpf.Forward(name = "noResults", path = "index.jsp"),
@Jpf.Forward(name = "authError", path =
"/jsps/authCheck.jsp"),
@Jpf.Forward(name = "error", path = "/jsps/error.jsp")
})
public Forward findPatchByReleaseName(DisplayDataFormBean form) {
Forward forward = null;
String patchname = form.getPatchname();
boolean releaseNameFlag = true;
if (logger.isDebugEnabled()) {
logger.debug("patchname in findPatchByReleaseName is = " +
patchname);
}
try {
findPatchResult = null;// reset it
if(patchname != null){
patchname = patchname.trim().toUpperCase();
}
if (! StringUtils.isEmptyString(patchname) && !
IllegalCharValidator.isValid(patchname)) {
logger.debug("patchname is illegal.");
forward = new Forward("noResults");
forward.addActionOutput("noResults", Boolean.TRUE);
setPageOutputs(forward, form);
return forward;
}
String whereClause = "";
if (!StringUtils.isEmptyString(patchname)) {
logger.debug("search by patchname");
if (patchname.indexOf("*") != -1 || patchname.indexOf("
") != -1 || patchname.indexOf("-") != -1) {
patchname = patchname.replaceAll("\\*", "%");
patchname = patchname.replaceAll(" ", "%");
patchname = patchname.replaceAll("\\-", "%");
whereClause += " like '%" + patchname + "%'";
} else {
whereClause += " like '%" + patchname + "%'";
}
}
whereClause = getWhereClause(whereClause);
logger.debug("whereClause in findPatchByReleaseName: " +
whereClause);
findPatchResult = rmcontrol.findPatchByReleaseName(whereClause);
if (findPatchResult == null || findPatchResult.length == 0) {
// forward to index.jsp
forward = new Forward("noResults");
forward.addActionOutput("noResults", Boolean.TRUE);
setPageOutputs(forward, form);
return forward;
}
sorter.sort(getRequest(),findPatchResult);
logger.debug("Total number of patchs returned in ReleaseName Search:
"+ findPatchResult.length);
forward = new Forward("success");
forward.addActionOutput("products", products);
forward.addActionOutput("versions", versions);
forward.addOutputForm(form);
forward.addActionOutput("actionForm", form);
forward.addActionOutput("findPatchResult", findPatchResult);
forward.addActionOutput("sorter", sorter);
forward.addActionOutput("releaseNameFlag", releaseNameFlag);
} catch (S3PException exception) {
logger.error("Auth Exception in findPatchByReleaseName().",
exception);
forward = new Forward("authError");
} catch (Exception exception) {
logger.error("Exception in findPatchByReleaseName().",
exception);
forward = new Forward("error");
}
return forward;
}
The exception I am getting is:
14 May 2008 15:48:58,028 ERROR PatchupdateController: Exception in
findPatchByRe
leaseName().
java.lang.NullPointerException
at
org.apache.beehive.controls.system.jdbc.JdbcControlImpl.execPreparedS
tatement(JdbcControlImpl.java:257)
at
org.apache.beehive.controls.system.jdbc.JdbcControlImpl.invoke(JdbcCo
ntrolImpl.java:224)
at
com.vmware.s3portal.dbaccess.RMControlBean.findPatchByReleaseName(RMC
ontrolBean.java:191)
at
portlets.patchupdate.PatchupdateController.findPatchByReleaseName(Pat
chupdateController.java:291)
at
jrockit.reflect.VirtualNativeMethodInvoker.invoke(Ljava.lang.Object;[
Ljava.lang.Object;)Ljava.lang.Object;(Unknown Source)
at
java.lang.reflect.Method.invoke(Ljava.lang.Object;[Ljava.lang.Object;
I)Ljava.lang.Object;(Unknown Source)
at
org.apache.beehive.netui.pageflow.FlowController.invokeActionMethod(F
lowController.java:870)
at
org.apache.beehive.netui.pageflow.FlowController.getActionMethodForwa
rd(FlowController.java:809)
at
org.apache.beehive.netui.pageflow.FlowController.internalExecute(Flow
Controller.java:478)
at
org.apache.beehive.netui.pageflow.PageFlowController.internalExecute(
PageFlowController.java:306)
at
org.apache.beehive.netui.pageflow.FlowController.execute(FlowControll
er.java:336)
at
org.apache.beehive.netui.pageflow.internal.FlowControllerAction.execu
te(FlowControllerAction.java:52)
at
org.apache.struts.action.RequestProcessor.processActionPerform(Reques
tProcessor.java:431)
at
org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.access$201
(PageFlowRequestProcessor.java:97)
at
org.apache.beehive.netui.pageflow.PageFlowRequestProcessor$ActionRunn
er.execute(PageFlowRequestProcessor.java:2044)
at
org.apache.beehive.netui.pageflow.interceptor.action.internal.ActionI
nterceptors$WrapActionInterceptorChain.continueChain(ActionInterceptors.java:64)
at
org.apache.beehive.netui.pageflow.interceptor.action.ActionIntercepto
r.wrapAction(ActionInterceptor.java:168)
at
org.apache.beehive.netui.pageflow.interceptor.action.internal.ActionI
nterceptors$WrapActionInterceptorChain.invoke(ActionInterceptors.java:50)
at
org.apache.beehive.netui.pageflow.interceptor.action.internal.ActionI
nterceptors$WrapActionInterceptorChain.continueChain(ActionInterceptors.java:58)
at
org.apache.beehive.netui.pageflow.interceptor.action.internal.ActionI
nterceptors.wrapAction(ActionInterceptors.java:87)
at
org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.processAct
ionPerform(PageFlowRequestProcessor.java:2116)
at
org.apache.struts.action.RequestProcessor.process(RequestProcessor.ja
va:236)
at
org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.processInt
ernal(PageFlowRequestProcessor.java:556)
at
org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.process(Pa
geFlowRequestProcessor.java:853)
at
org.apache.beehive.netui.pageflow.AutoRegisterActionServlet.process(A
utoRegisterActionServlet.java:631)
at
org.apache.beehive.netui.pageflow.PageFlowActionServlet.process(PageF
lowActionServlet.java:158)
at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
at
org.apache.beehive.netui.pageflow.PageFlowUtils.strutsLookup(PageFlow
Utils.java:1170)
at
com.bea.portlet.adapter.scopedcontent.ScopedContentCommonSupport.exec
|