This has been updated to include a wrapper for ExternalContext. This is necessary because of the addition of (among other methods) to the ExternalContext API:
public Flash getFlash()
auctionMonitor deploys and renders, but fails with the following exception upon interaction:
Caused by: java.lang.NullPointerException
at com.icesoft.faces.application.D2DViewHandler.renderResponse(D2DViewHandler.java:414)
at com.icesoft.faces.application.D2DViewHandler.renderView(D2DViewHandler.java:153)
at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:124)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:103)
at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
at com.icesoft.faces.webapp.http.core.JsfLifecycleExecutor.apply(JsfLifecycleExecutor.java:19)
The workaround for this is to modify the actions so that they return the actual viewID:
Index: src/com/icesoft/applications/faces/auctionMonitor/beans/AuctionMonitorItemBean.java
===================================================================
— src/com/icesoft/applications/faces/auctionMonitor/beans/AuctionMonitorItemBean.java (revision 18928)
+++ src/com/icesoft/applications/faces/auctionMonitor/beans/AuctionMonitorItemBean.java (working copy)
@@ -74,7 +74,7 @@
"./images/time_left_hours.gif";
private static final String TRIANGLE_OPEN = "./images/triangle_open.gif";
private static final String TRIANGLE_CLOSED = "./images/triangle_close.gif";
- private static final String SUCCESS = "success";
+ private static final String SUCCESS = "auctionMonitor.iface";
private static final String STYLE_CLASS_EXPANDED_ROW = "rowClassHilite";
Index: src/com/icesoft/applications/faces/auctionMonitor/beans/UserBean.java
===================================================================
— src/com/icesoft/applications/faces/auctionMonitor/beans/UserBean.java (revision 18928)
+++ src/com/icesoft/applications/faces/auctionMonitor/beans/UserBean.java (working copy)
@@ -351,7 +351,7 @@
position--;
}
- return ("moveUpMinor");
+ return ("auctionMonitor.iface");
}
/**
@@ -365,7 +365,7 @@
position++;
}
- return ("moveDownMinor");
+ return ("auctionMonitor.iface");
}
/**
@@ -378,7 +378,7 @@
position = (NUM_MESSAGES - 1);
}
- return ("moveToTop");
+ return ("auctionMonitor.iface");
}
/**
@@ -389,7 +389,7 @@
public String moveToBottom()
{
position = bottom();
- return ("moveToBottom");
+ return ("auctionMonitor.iface");
}
/**
@@ -408,7 +408,7 @@
position = bottom();
}
- return ("switchMinimized");
+ return ("auctionMonitor.iface");
}
/**
Index: src/com/icesoft/applications/faces/auctionMonitor/beans/AuctionBean.java
===================================================================
— src/com/icesoft/applications/faces/auctionMonitor/beans/AuctionBean.java (revision 18928)
+++ src/com/icesoft/applications/faces/auctionMonitor/beans/AuctionBean.java (working copy)
@@ -56,7 +56,7 @@
private static Log log = LogFactory.getLog(AuctionBean.class);
private static int userCount = 0;
public static final String RENDERER_NAME = "demand";
- private static final String SUCCESS = "success";
+ private static final String SUCCESS = "auctionMonitor.iface";
private String queryItemID;
private String queryString;
private AuctionMonitorItemBean[] searchItemBeans;
Index: web/auctionMonitor.jspx
===================================================================
-
- web/auctionMonitor.jspx (revision 18928)
+++ web/auctionMonitor.jspx (working copy)
@@ -324,7 +324,7 @@
title="Enter your message text"
styleClass="textField"/>
<ice:commandButton id="button_send_message"
- value="Send Message" action="send"
+ value="Send Message" action="auctionMonitor.iface"
styleClass="orangeButtons"
title="Send your message text"/>
</ice:column>
Disable gen.facelets.file as follows in component/build.xml:
+ <target name="jar.components" depends=" test">