You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@wookie.apache.org by sc...@apache.org on 2010/06/28 14:45:28 UTC

svn commit: r958558 - in /incubator/wookie/branches/pluggablepersistence: WebContent/admin/ WebContent/webmenu/ src/org/apache/wookie/ src/org/apache/wookie/helpers/

Author: scottbw
Date: Mon Jun 28 12:45:27 2010
New Revision: 958558

URL: http://svn.apache.org/viewvc?rev=958558&view=rev
Log:
Applied patch to use HttpServletRequest attributes in place of HttpSession attributes when passing data from servlets to JSP rendering implementations. Note that errors and messages now utilize both attribute scopes depending on the source: request errors and messages appear in request attributes and FlashMessage errors and messages are stored in the session. See related FlashMessage class methods invoked form JSPs. 

These changes were made to limit usage of session attributes and to ensure that persistent object instances are not stored in the session where they would become unmanaged outside of a transactional scope.

See WOOKIE-144 for more details.

Thanks to Randy Watler for the patch.

Modified:
    incubator/wookie/branches/pluggablepersistence/WebContent/admin/addnewservice.jsp
    incubator/wookie/branches/pluggablepersistence/WebContent/admin/addtowhitelist.jsp
    incubator/wookie/branches/pluggablepersistence/WebContent/admin/index.jsp
    incubator/wookie/branches/pluggablepersistence/WebContent/admin/keys.jsp
    incubator/wookie/branches/pluggablepersistence/WebContent/admin/listall.jsp
    incubator/wookie/branches/pluggablepersistence/WebContent/admin/listallfordelete.jsp
    incubator/wookie/branches/pluggablepersistence/WebContent/admin/listservices.jsp
    incubator/wookie/branches/pluggablepersistence/WebContent/admin/message.jsp
    incubator/wookie/branches/pluggablepersistence/WebContent/admin/removeservice.jsp
    incubator/wookie/branches/pluggablepersistence/WebContent/admin/removewhitelist.jsp
    incubator/wookie/branches/pluggablepersistence/WebContent/admin/uploadresults.jsp
    incubator/wookie/branches/pluggablepersistence/WebContent/admin/viewwhitelist.jsp
    incubator/wookie/branches/pluggablepersistence/WebContent/webmenu/demoWidget.jsp
    incubator/wookie/branches/pluggablepersistence/WebContent/webmenu/index.jsp
    incubator/wookie/branches/pluggablepersistence/WebContent/webmenu/instantiate.jsp
    incubator/wookie/branches/pluggablepersistence/WebContent/webmenu/listall.jsp
    incubator/wookie/branches/pluggablepersistence/WebContent/webmenu/requestapikey.jsp
    incubator/wookie/branches/pluggablepersistence/src/org/apache/wookie/WidgetAdminServlet.java
    incubator/wookie/branches/pluggablepersistence/src/org/apache/wookie/WidgetWebMenuServlet.java
    incubator/wookie/branches/pluggablepersistence/src/org/apache/wookie/helpers/FlashMessage.java

Modified: incubator/wookie/branches/pluggablepersistence/WebContent/admin/addnewservice.jsp
URL: http://svn.apache.org/viewvc/incubator/wookie/branches/pluggablepersistence/WebContent/admin/addnewservice.jsp?rev=958558&r1=958557&r2=958558&view=diff
==============================================================================
--- incubator/wookie/branches/pluggablepersistence/WebContent/admin/addnewservice.jsp (original)
+++ incubator/wookie/branches/pluggablepersistence/WebContent/admin/addnewservice.jsp Mon Jun 28 12:45:27 2010
@@ -14,8 +14,9 @@
  * limitations under the License.
  */
 --%>
+<%@ page import='org.apache.wookie.helpers.FlashMessage' %>
 <%@ page import='org.apache.wookie.beans.IWidgetService' %>
-<%IWidgetService[] services = (IWidgetService[])session.getAttribute("services"); %>
+<%IWidgetService[] services = (IWidgetService[])request.getAttribute("services"); %>
 <html>
 <head>
 <title>Widget Service Types</title>
@@ -102,8 +103,8 @@ function doDialog(){
      
     <div id="content">  
 	
-	<% String errors = (String)session.getAttribute("error_value");%>
-	<% String messages = (String)session.getAttribute("message_value");%>
+	<% String errors = FlashMessage.getErrors(session, request);%>
+	<% String messages = FlashMessage.getMessages(session, request);%>
 	<%if(errors!=null){%>
       <p><img src="../shared/images/cancel.gif" width="16" height="16"><font color=red> <%=errors%> </font> </p>
 	<%}%>
@@ -164,5 +165,4 @@ function doDialog(){
 <div id="confirm" style="display:none;" title="Warning"></div>
 </body>
 </html>
-<% session.setAttribute("error_value", null); %>
-<% session.setAttribute("message_value", null);%>
+<% FlashMessage.clearErrorsAndMessages(session);%>

Modified: incubator/wookie/branches/pluggablepersistence/WebContent/admin/addtowhitelist.jsp
URL: http://svn.apache.org/viewvc/incubator/wookie/branches/pluggablepersistence/WebContent/admin/addtowhitelist.jsp?rev=958558&r1=958557&r2=958558&view=diff
==============================================================================
--- incubator/wookie/branches/pluggablepersistence/WebContent/admin/addtowhitelist.jsp (original)
+++ incubator/wookie/branches/pluggablepersistence/WebContent/admin/addtowhitelist.jsp Mon Jun 28 12:45:27 2010
@@ -14,8 +14,9 @@
  * limitations under the License.
  */
 --%>
+<%@ page import='org.apache.wookie.helpers.FlashMessage' %>
 <%@ page import='org.apache.wookie.beans.IWhitelist' %>
-<%IWhitelist[] services = (IWhitelist[])session.getAttribute("whitelist"); %>
+<%IWhitelist[] services = (IWhitelist[])request.getAttribute("whitelist"); %>
 <html>
 <head>
 <title>Add a new White list entry</title>
@@ -100,8 +101,8 @@ function doDialog(){
      
     <div id="content">  
 	
-	<% String errors = (String)session.getAttribute("error_value");%>
-	<% String messages = (String)session.getAttribute("message_value");%>
+	<% String errors = FlashMessage.getErrors(session, request);%>
+	<% String messages = FlashMessage.getMessages(session, request);%>
 	<%if(errors!=null){%>
       <p><img src="../shared/images/cancel.gif" width="16" height="16"><font color=red> <%=errors%> </font> </p>
 	<%}%>
@@ -157,5 +158,4 @@ function doDialog(){
 <div id="confirm" style="display:none;" title="Warning"></div>
 </body>
 </html>
-<% session.setAttribute("error_value", null); %>
-<% session.setAttribute("message_value", null); %>
+<% FlashMessage.clearErrorsAndMessages(session);%>

Modified: incubator/wookie/branches/pluggablepersistence/WebContent/admin/index.jsp
URL: http://svn.apache.org/viewvc/incubator/wookie/branches/pluggablepersistence/WebContent/admin/index.jsp?rev=958558&r1=958557&r2=958558&view=diff
==============================================================================
--- incubator/wookie/branches/pluggablepersistence/WebContent/admin/index.jsp (original)
+++ incubator/wookie/branches/pluggablepersistence/WebContent/admin/index.jsp Mon Jun 28 12:45:27 2010
@@ -14,15 +14,15 @@
  * limitations under the License.
  */
 --%>
-<% String version = (String)session.getAttribute("version");
+<% String version = (String)request.getAttribute("version");
 if (version == null){
 	version="";
 }
 %>
 <%@ page import='org.apache.wookie.helpers.FlashMessage' %>
 <% FlashMessage.getInstance().appendFlashMessages(session);%>
-<% String errors = (String)session.getAttribute("error_value");%>
-<% String messages = (String)session.getAttribute("message_value");%>
+<% String errors = FlashMessage.getErrors(session, request);%>
+<% String messages = FlashMessage.getMessages(session, request);%>
 <html>
 <head>
 <title>Widget Server Administration <%=version%></title>
@@ -310,6 +310,4 @@ if (version == null){
 
 </body>
 </html>
-<% session.setAttribute("error_value", null); %>
-<% session.setAttribute("message_value", null);%>
-
+<% FlashMessage.clearErrorsAndMessages(session);%>

Modified: incubator/wookie/branches/pluggablepersistence/WebContent/admin/keys.jsp
URL: http://svn.apache.org/viewvc/incubator/wookie/branches/pluggablepersistence/WebContent/admin/keys.jsp?rev=958558&r1=958557&r2=958558&view=diff
==============================================================================
--- incubator/wookie/branches/pluggablepersistence/WebContent/admin/keys.jsp (original)
+++ incubator/wookie/branches/pluggablepersistence/WebContent/admin/keys.jsp Mon Jun 28 12:45:27 2010
@@ -13,8 +13,9 @@
  * limitations under the License.
  */
 --%>
+<%@ page import='org.apache.wookie.helpers.FlashMessage' %>
 <%@ page import='org.apache.wookie.beans.IApiKey' %>
-<% IApiKey[] keys = (IApiKey[])session.getAttribute("keys"); %>
+<% IApiKey[] keys = (IApiKey[])request.getAttribute("keys"); %>
 <html>
 <head>
 <title>Widget Service Types</title>
@@ -33,8 +34,8 @@
   <tr>  	
     <td valign="top" bgcolor="#FFFFFF" class="tbody">
 	<h3>API Keys</h3>
-	<% String errors = (String)session.getAttribute("error_value");%>
-	<% String messages = (String)session.getAttribute("message_value");%>
+	<% String errors = FlashMessage.getErrors(session, request);%>
+	<% String messages = FlashMessage.getMessages(session, request);%>
 	<%if(errors!=null){%>
       <p><img src="../shared/images/cancel.gif" width="16" height="16"><font color=red> <%=errors%> </font> </p>
 	<%}%>
@@ -69,5 +70,4 @@
 
 </body>
 </html>
-<% session.setAttribute("error_value", null); %>
-<% session.setAttribute("message_value", null);%>
+<% FlashMessage.clearErrorsAndMessages(session);%>

Modified: incubator/wookie/branches/pluggablepersistence/WebContent/admin/listall.jsp
URL: http://svn.apache.org/viewvc/incubator/wookie/branches/pluggablepersistence/WebContent/admin/listall.jsp?rev=958558&r1=958557&r2=958558&view=diff
==============================================================================
--- incubator/wookie/branches/pluggablepersistence/WebContent/admin/listall.jsp (original)
+++ incubator/wookie/branches/pluggablepersistence/WebContent/admin/listall.jsp Mon Jun 28 12:45:27 2010
@@ -14,10 +14,11 @@
  * limitations under the License.
  */
 --%>
+<%@ page import='org.apache.wookie.helpers.FlashMessage' %>
 <%@ page import='org.apache.wookie.beans.IWidget,org.apache.wookie.beans.IWidgetType,java.util.Collection,java.util.Hashtable;' %>
 <%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>
-<% String errors = (String)session.getAttribute("error_value");%>
-<% String messages = (String)session.getAttribute("message_value");%>
+<% String errors = FlashMessage.getErrors(session, request);%>
+<% String messages = FlashMessage.getMessages(session, request);%>
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
@@ -133,8 +134,8 @@ var answer = confirm("Are you sure you w
 		<div id="accordion">
 		
 			<%
-			IWidget[] widgets = (IWidget[])session.getAttribute("widgets");
-			Hashtable widgetHashDefaults = (Hashtable)session.getAttribute("widget_defaults");
+			IWidget[] widgets = (IWidget[])request.getAttribute("widgets");
+			Hashtable widgetHashDefaults = (Hashtable)request.getAttribute("widget_defaults");
 			if(widgets!=null){	
 				for (int i = 1; i < widgets.length; i++) {
 					IWidget widget = (IWidget) widgets[i];
@@ -300,7 +301,4 @@ var answer = confirm("Are you sure you w
 <div id="confirm" style="display:none;" title="Warning"></div>
 </body>
 </html>
-<% session.setAttribute("error_value", null); %>
-<% session.setAttribute("message_value", null);%>
-<% session.setAttribute("widget_defaults", null);%>
-<% session.setAttribute("widgets", null);%>
+<% FlashMessage.clearErrorsAndMessages(session);%>

Modified: incubator/wookie/branches/pluggablepersistence/WebContent/admin/listallfordelete.jsp
URL: http://svn.apache.org/viewvc/incubator/wookie/branches/pluggablepersistence/WebContent/admin/listallfordelete.jsp?rev=958558&r1=958557&r2=958558&view=diff
==============================================================================
--- incubator/wookie/branches/pluggablepersistence/WebContent/admin/listallfordelete.jsp (original)
+++ incubator/wookie/branches/pluggablepersistence/WebContent/admin/listallfordelete.jsp Mon Jun 28 12:45:27 2010
@@ -13,6 +13,7 @@
  * limitations under the License.
  */
 --%>
+<%@ page import='org.apache.wookie.helpers.FlashMessage' %>
 <%@ page import='org.apache.wookie.beans.IWidget,org.apache.wookie.beans.IWidgetType;' %>
 <%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>
 <!DOCTYPE html>
@@ -79,8 +80,8 @@ $(document).ready(function(){
      
     <div id="content">     
 	
-	<% String errors = (String)session.getAttribute("error_value");%>
-	<% String messages = (String)session.getAttribute("message_value");%>
+	<% String errors = FlashMessage.getErrors(session, request);%>
+	<% String messages = FlashMessage.getMessages(session, request);%>
 	<%if(errors!=null){%>
       <p><img src="../shared/images/cancel.gif" width="16" height="16"><font color=red> <%=errors%> </font> </p>
 	<%}%>
@@ -92,7 +93,7 @@ $(document).ready(function(){
 	</p>
 	<%}%>
 	<%
-	IWidget[] widgets = (IWidget[])session.getAttribute("widgets");	
+	IWidget[] widgets = (IWidget[])request.getAttribute("widgets");	
 	if(widgets!=null){
 	%>			
 	<%
@@ -124,5 +125,4 @@ $(document).ready(function(){
 <div id="confirm" style="display:none;" title="Delete widget"></div>
 </body>
 </html>
-<% session.setAttribute("error_value", null); %>
-<% session.setAttribute("message_value", null);%>
+<% FlashMessage.clearErrorsAndMessages(session);%>

Modified: incubator/wookie/branches/pluggablepersistence/WebContent/admin/listservices.jsp
URL: http://svn.apache.org/viewvc/incubator/wookie/branches/pluggablepersistence/WebContent/admin/listservices.jsp?rev=958558&r1=958557&r2=958558&view=diff
==============================================================================
--- incubator/wookie/branches/pluggablepersistence/WebContent/admin/listservices.jsp (original)
+++ incubator/wookie/branches/pluggablepersistence/WebContent/admin/listservices.jsp Mon Jun 28 12:45:27 2010
@@ -14,8 +14,9 @@
  * limitations under the License.
  */
 --%>
+<%@ page import='org.apache.wookie.helpers.FlashMessage' %>
 <%@ page import='org.apache.wookie.beans.IWidgetService' %>
-<%IWidgetService[] services = (IWidgetService[])session.getAttribute("services"); %>
+<%IWidgetService[] services = (IWidgetService[])request.getAttribute("services"); %>
 <html>
 <head>
 <title>Widget Service Types</title>
@@ -55,8 +56,8 @@ $(document).ready(function(){
      
     <div id="content">  
 	
-	<% String errors = (String)session.getAttribute("error_value");%>
-	<% String messages = (String)session.getAttribute("message_value");%>
+	<% String errors = FlashMessage.getErrors(session, request);%>
+	<% String messages = FlashMessage.getMessages(session, request);%>
 	<%if(errors!=null){%>
       <p><img src="../shared/images/cancel.gif" width="16" height="16"><font color=red> <%=errors%> </font> </p>
 	<%}%>
@@ -111,5 +112,4 @@ $(document).ready(function(){
 
 </body>
 </html>
-<% session.setAttribute("error_value", null); %>
-<% session.setAttribute("message_value", null);%>
+<% FlashMessage.clearErrorsAndMessages(session);%>

Modified: incubator/wookie/branches/pluggablepersistence/WebContent/admin/message.jsp
URL: http://svn.apache.org/viewvc/incubator/wookie/branches/pluggablepersistence/WebContent/admin/message.jsp?rev=958558&r1=958557&r2=958558&view=diff
==============================================================================
--- incubator/wookie/branches/pluggablepersistence/WebContent/admin/message.jsp (original)
+++ incubator/wookie/branches/pluggablepersistence/WebContent/admin/message.jsp Mon Jun 28 12:45:27 2010
@@ -13,6 +13,7 @@
  * limitations under the License.
  */
 --%>
+<%@ page import='org.apache.wookie.helpers.FlashMessage' %>
 <html>
 <head>
 <title>Results</title>
@@ -33,9 +34,9 @@
     <td valign="top" bgcolor="#FFFFFF" class="tbody">
 	<h3>Results</h3>
 
+<% String errors = FlashMessage.getErrors(session, request);%>
+<% String messages = FlashMessage.getMessages(session, request);%>
 <% 
-String errors = (String)session.getAttribute("error_value");
-String messages = (String)session.getAttribute("message_value");
 if(errors!=null){%>
 	<font color=red>
 	<%=errors%>
@@ -56,5 +57,4 @@ if(messages!=null){%>
 
 </body>
 </html>
-<% session.setAttribute("error_value", null); %>
-<% session.setAttribute("message_value", null);%>
\ No newline at end of file
+<% FlashMessage.clearErrorsAndMessages(session);%>

Modified: incubator/wookie/branches/pluggablepersistence/WebContent/admin/removeservice.jsp
URL: http://svn.apache.org/viewvc/incubator/wookie/branches/pluggablepersistence/WebContent/admin/removeservice.jsp?rev=958558&r1=958557&r2=958558&view=diff
==============================================================================
--- incubator/wookie/branches/pluggablepersistence/WebContent/admin/removeservice.jsp (original)
+++ incubator/wookie/branches/pluggablepersistence/WebContent/admin/removeservice.jsp Mon Jun 28 12:45:27 2010
@@ -14,8 +14,9 @@
  * limitations under the License.
  */
 --%>
+<%@ page import='org.apache.wookie.helpers.FlashMessage' %>
 <%@ page import='org.apache.wookie.beans.IWidgetService' %>
-<%IWidgetService[] services = (IWidgetService[])session.getAttribute("services"); %>
+<%IWidgetService[] services = (IWidgetService[])request.getAttribute("services"); %>
 <html>
 <head>
 <title>Remove Service Type</title>
@@ -78,8 +79,8 @@ $(document).ready(function(){    
      
     <div id="content"> 
 	
-	<% String errors = (String)session.getAttribute("error_value");%>
-	<% String messages = (String)session.getAttribute("message_value");%>
+	<% String errors = FlashMessage.getErrors(session, request);%>
+	<% String messages = FlashMessage.getMessages(session, request);%>
 	<%if(errors!=null){%>
       <p><img src="../shared/images/cancel.gif" width="16" height="16"><font color=red> <%=errors%> </font> </p>
 	<%}%>
@@ -145,5 +146,4 @@ $(document).ready(function(){    
 <div id="confirm" style="display:none;" title="Delete service"></div>
 </body>
 </html>
-<% session.setAttribute("error_value", null); %>
-<% session.setAttribute("message_value", null);%>
+<% FlashMessage.clearErrorsAndMessages(session);%>

Modified: incubator/wookie/branches/pluggablepersistence/WebContent/admin/removewhitelist.jsp
URL: http://svn.apache.org/viewvc/incubator/wookie/branches/pluggablepersistence/WebContent/admin/removewhitelist.jsp?rev=958558&r1=958557&r2=958558&view=diff
==============================================================================
--- incubator/wookie/branches/pluggablepersistence/WebContent/admin/removewhitelist.jsp (original)
+++ incubator/wookie/branches/pluggablepersistence/WebContent/admin/removewhitelist.jsp Mon Jun 28 12:45:27 2010
@@ -1,5 +1,6 @@
+<%@ page import='org.apache.wookie.helpers.FlashMessage' %>
 <%@ page import='org.apache.wookie.beans.IWhitelist' %>
-<%IWhitelist[] list = (IWhitelist[])session.getAttribute("whitelist"); %>
+<%IWhitelist[] list = (IWhitelist[])request.getAttribute("whitelist"); %>
 <!DOCTYPE html>
 <%--
 /*
@@ -86,8 +87,8 @@ var answer = confirm("Are you sure you w
      
     <div id="content"> 
 	
-	<% String errors = (String)session.getAttribute("error_value");%>
-	<% String messages = (String)session.getAttribute("message_value");%>
+	<% String errors = FlashMessage.getErrors(session, request);%>
+	<% String messages = FlashMessage.getMessages(session, request);%>
 	<%if(errors!=null){%>
       <p><img src="../shared/images/cancel.gif" width="16" height="16"><font color="red"> <%=errors%> </font> </p>
 	<%}%>
@@ -155,5 +156,4 @@ var answer = confirm("Are you sure you w
 </html>
 </body>
 </html>
-<% session.setAttribute("error_value", null); %>
-<% session.setAttribute("message_value", null); %>
+<% FlashMessage.clearErrorsAndMessages(session);%>

Modified: incubator/wookie/branches/pluggablepersistence/WebContent/admin/uploadresults.jsp
URL: http://svn.apache.org/viewvc/incubator/wookie/branches/pluggablepersistence/WebContent/admin/uploadresults.jsp?rev=958558&r1=958557&r2=958558&view=diff
==============================================================================
--- incubator/wookie/branches/pluggablepersistence/WebContent/admin/uploadresults.jsp (original)
+++ incubator/wookie/branches/pluggablepersistence/WebContent/admin/uploadresults.jsp Mon Jun 28 12:45:27 2010
@@ -13,14 +13,15 @@
  * limitations under the License.
  */
 --%>
+<%@ page import='org.apache.wookie.helpers.FlashMessage' %>
 <%@ page import='org.apache.wookie.beans.IWidgetService' %>
+<% String errors = FlashMessage.getErrors(session, request);%>
+<% String messages = FlashMessage.getMessages(session, request);%>
 <% 
-Integer dbkey = (Integer)session.getAttribute("dbkey");
-String errors = (String)session.getAttribute("error_value");
-String messages = (String)session.getAttribute("message_value");
-Boolean hasValidated = (Boolean)session.getAttribute("hasValidated");
-Boolean closeWindow = (Boolean)session.getAttribute("closeWindow");
-IWidgetService[] services = (IWidgetService[])session.getAttribute("services");
+Integer dbkey = (Integer)request.getAttribute("dbkey");
+Boolean hasValidated = (Boolean)request.getAttribute("hasValidated");
+Boolean closeWindow = (Boolean)request.getAttribute("closeWindow");
+IWidgetService[] services = (IWidgetService[])request.getAttribute("services");
 %>
 <!DOCTYPE html>
 <html>
@@ -108,5 +109,4 @@ When a client of the widget system asks 
 
 </body>
 </html>
-<% session.setAttribute("error_value", null); %>
-<% session.setAttribute("message_value", null);%>
+<% FlashMessage.clearErrorsAndMessages(session);%>

Modified: incubator/wookie/branches/pluggablepersistence/WebContent/admin/viewwhitelist.jsp
URL: http://svn.apache.org/viewvc/incubator/wookie/branches/pluggablepersistence/WebContent/admin/viewwhitelist.jsp?rev=958558&r1=958557&r2=958558&view=diff
==============================================================================
--- incubator/wookie/branches/pluggablepersistence/WebContent/admin/viewwhitelist.jsp (original)
+++ incubator/wookie/branches/pluggablepersistence/WebContent/admin/viewwhitelist.jsp Mon Jun 28 12:45:27 2010
@@ -14,8 +14,9 @@
  * limitations under the License.
  */
 --%>
+<%@ page import='org.apache.wookie.helpers.FlashMessage' %>
 <%@ page import='org.apache.wookie.beans.IWhitelist' %>
-<%IWhitelist[] services = (IWhitelist[])session.getAttribute("whitelist"); %>
+<%IWhitelist[] services = (IWhitelist[])request.getAttribute("whitelist"); %>
 <html>
 <head>
 <title>Server white list</title>
@@ -41,8 +42,8 @@
      
     <div id="content">  
     
-	<% String errors = (String)session.getAttribute("error_value");%>
-	<% String messages = (String)session.getAttribute("message_value");%>
+	<% String errors = FlashMessage.getErrors(session, request);%>
+	<% String messages = FlashMessage.getMessages(session, request);%>
 	<%if(errors!=null){%>
       <p><img src="../shared/images/cancel.gif" width="16" height="16"><font color=red> <%=errors%> </font> </p>
 	<%}%>
@@ -87,5 +88,4 @@
 
 </body>
 </html>
-<% session.setAttribute("error_value", null); %>
-<% session.setAttribute("message_value", null); %>
+<% FlashMessage.clearErrorsAndMessages(session);%>

Modified: incubator/wookie/branches/pluggablepersistence/WebContent/webmenu/demoWidget.jsp
URL: http://svn.apache.org/viewvc/incubator/wookie/branches/pluggablepersistence/WebContent/webmenu/demoWidget.jsp?rev=958558&r1=958557&r2=958558&view=diff
==============================================================================
--- incubator/wookie/branches/pluggablepersistence/WebContent/webmenu/demoWidget.jsp (original)
+++ incubator/wookie/branches/pluggablepersistence/WebContent/webmenu/demoWidget.jsp Mon Jun 28 12:45:27 2010
@@ -13,6 +13,7 @@
  * limitations under the License.
  */
 --%>
+<%@ page import='org.apache.wookie.helpers.FlashMessage' %>
 <%@ page
 	import='org.apache.wookie.Messages'%>
 <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
@@ -81,10 +82,4 @@
 </div>
 </body>
 </html>
-<%
-	session.setAttribute("error_value", null);
-%>
-<%
-	session.setAttribute("message_value", null);
-%>
-
+<% FlashMessage.clearErrorsAndMessages(session);%>

Modified: incubator/wookie/branches/pluggablepersistence/WebContent/webmenu/index.jsp
URL: http://svn.apache.org/viewvc/incubator/wookie/branches/pluggablepersistence/WebContent/webmenu/index.jsp?rev=958558&r1=958557&r2=958558&view=diff
==============================================================================
--- incubator/wookie/branches/pluggablepersistence/WebContent/webmenu/index.jsp (original)
+++ incubator/wookie/branches/pluggablepersistence/WebContent/webmenu/index.jsp Mon Jun 28 12:45:27 2010
@@ -13,10 +13,11 @@
  * limitations under the License.
  */
 --%>
+<%@ page import='org.apache.wookie.helpers.FlashMessage' %>
 <%@ page import='org.apache.wookie.Messages;'%>
 <% Messages localizedMessages = (Messages)session.getAttribute(Messages.class.getName()); %>
 <!DOCTYPE html>
-<% String version = (String)session.getAttribute("version");
+<% String version = (String)request.getAttribute("version");
 // "version" is lazy loaded and will be empty until a request is made to the server
 if (version==null){
 	version="";
@@ -48,8 +49,8 @@ if (version==null){
      
     <div id="content">    
 	
-	<% String errors = (String)session.getAttribute("error_value");%>
-	<% String messages = (String)session.getAttribute("message_value");%>
+	<% String errors = FlashMessage.getErrors(session, request);%>
+	<% String messages = FlashMessage.getMessages(session, request);%>
 	<%if(errors!=null){%>
       <p><img src="../shared/images/cancel.gif" width="16" height="16"><font color=red> <%=errors%> </font> </p>
 	<%}%>
@@ -144,6 +145,4 @@ if (version==null){
 
 </body>
 </html>
-<% session.setAttribute("error_value", null); %>
-<% session.setAttribute("message_value", null);%>
-
+<% FlashMessage.clearErrorsAndMessages(session);%>

Modified: incubator/wookie/branches/pluggablepersistence/WebContent/webmenu/instantiate.jsp
URL: http://svn.apache.org/viewvc/incubator/wookie/branches/pluggablepersistence/WebContent/webmenu/instantiate.jsp?rev=958558&r1=958557&r2=958558&view=diff
==============================================================================
--- incubator/wookie/branches/pluggablepersistence/WebContent/webmenu/instantiate.jsp (original)
+++ incubator/wookie/branches/pluggablepersistence/WebContent/webmenu/instantiate.jsp Mon Jun 28 12:45:27 2010
@@ -15,7 +15,7 @@
 --%>
 <%@ page import='org.apache.wookie.Messages,org.apache.wookie.beans.IWidget' %>
 <% Messages localizedMessages = (Messages)session.getAttribute(Messages.class.getName()); %>
-<% IWidget[] widgets = (IWidget[])session.getAttribute("widgets"); %>
+<% IWidget[] widgets = (IWidget[])request.getAttribute("widgets"); %>
 <!DOCTYPE html>
 <html>
 <head>

Modified: incubator/wookie/branches/pluggablepersistence/WebContent/webmenu/listall.jsp
URL: http://svn.apache.org/viewvc/incubator/wookie/branches/pluggablepersistence/WebContent/webmenu/listall.jsp?rev=958558&r1=958557&r2=958558&view=diff
==============================================================================
--- incubator/wookie/branches/pluggablepersistence/WebContent/webmenu/listall.jsp (original)
+++ incubator/wookie/branches/pluggablepersistence/WebContent/webmenu/listall.jsp Mon Jun 28 12:45:27 2010
@@ -13,6 +13,7 @@
  * limitations under the License.
  */
 --%>
+<%@ page import='org.apache.wookie.helpers.FlashMessage' %>
 <%@ page import='org.apache.wookie.Messages,org.apache.wookie.beans.IWidget,java.util.ArrayList,java.util.Enumeration,java.util.Hashtable;' %>
 <%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>
 <% Messages localizedMessages = (Messages)session.getAttribute(Messages.class.getName()); %>
@@ -47,7 +48,7 @@
 	<table align="center">	
 	<tr align="center">
 	<%	
-	Hashtable widgetsHash = (Hashtable)session.getAttribute("widgetsHash");
+	Hashtable widgetsHash = (Hashtable)request.getAttribute("widgetsHash");
 	ArrayList<String> guids = new ArrayList<String>();
 	int count = -1;
 	for(Enumeration e = widgetsHash.keys(); e.hasMoreElements();){				
@@ -89,6 +90,4 @@
 </div>
 </body>
 </html>
-<% session.setAttribute("error_value", null); %>
-<% session.setAttribute("message_value", null);%>
-
+<% FlashMessage.clearErrorsAndMessages(session);%>

Modified: incubator/wookie/branches/pluggablepersistence/WebContent/webmenu/requestapikey.jsp
URL: http://svn.apache.org/viewvc/incubator/wookie/branches/pluggablepersistence/WebContent/webmenu/requestapikey.jsp?rev=958558&r1=958557&r2=958558&view=diff
==============================================================================
--- incubator/wookie/branches/pluggablepersistence/WebContent/webmenu/requestapikey.jsp (original)
+++ incubator/wookie/branches/pluggablepersistence/WebContent/webmenu/requestapikey.jsp Mon Jun 28 12:45:27 2010
@@ -13,10 +13,11 @@
  * limitations under the License.
  */
 --%>
+<%@ page import='org.apache.wookie.helpers.FlashMessage' %>
 <%@ page import='org.apache.wookie.Messages' %>
 <% Messages localizedMessages = (Messages)session.getAttribute(Messages.class.getName()); %>
 <!DOCTYPE html>
-<% String version = (String)session.getAttribute("version");
+<% String version = (String)request.getAttribute("version");
 // "version" is lazy loaded and will be empty until a request is made to the server
 if (version==null){
 	version="";
@@ -101,8 +102,8 @@ if (version==null){
      
     <div id="content">    
 	
-	<% String errors = (String)session.getAttribute("error_value");%>
-	<% String messages = (String)session.getAttribute("message_value");%>
+	<% String errors = FlashMessage.getErrors(session, request);%>
+	<% String messages = FlashMessage.getMessages(session, request);%>
 	<%if(errors!=null){%>
       <p><img src="../shared/images/cancel.gif" width="16" height="16"><font color=red> <%=errors%> </font> </p>
 	<%}%>
@@ -142,4 +143,4 @@ if (version==null){
 </div>
 <div id="confirm" style="display:none;" title="<%=localizedMessages.getString("webmenu.requestapikey.8")%>"><span class="ui-icon ui-icon-alert" style="float:left;"></span><%=localizedMessages.getString("webmenu.requestapikey.5")%></div>
 </body>
-</html>
\ No newline at end of file
+</html>

Modified: incubator/wookie/branches/pluggablepersistence/src/org/apache/wookie/WidgetAdminServlet.java
URL: http://svn.apache.org/viewvc/incubator/wookie/branches/pluggablepersistence/src/org/apache/wookie/WidgetAdminServlet.java?rev=958558&r1=958557&r2=958558&view=diff
==============================================================================
--- incubator/wookie/branches/pluggablepersistence/src/org/apache/wookie/WidgetAdminServlet.java (original)
+++ incubator/wookie/branches/pluggablepersistence/src/org/apache/wookie/WidgetAdminServlet.java Mon Jun 28 12:45:27 2010
@@ -105,37 +105,36 @@ public class WidgetAdminServlet extends 
 
 	/**
 	 * Add a new service type to the DB
-	 * @param session
 	 * @param request
 	 * @param manager
 	 */
-	private void addNewService(HttpSession session, HttpServletRequest request) {
+	private void addNewService(HttpServletRequest request) {
 		String serviceName = request.getParameter("newservice"); //$NON-NLS-1$
 		Messages localizedMessages = LocaleHandler.localizeMessages(request);	
 		try {
 			WidgetServicesController.create(serviceName);
-			session.setAttribute("message_value", localizedMessages.getString("WidgetAdminServlet.0")); //$NON-NLS-1$ //$NON-NLS-2$
+			request.setAttribute("message_value", localizedMessages.getString("WidgetAdminServlet.0")); //$NON-NLS-1$ //$NON-NLS-2$
 		} catch (ResourceDuplicationException e) {
-			session.setAttribute("error_value", localizedMessages.getString("WidgetAdminServlet.1")); //$NON-NLS-1$ //$NON-NLS-2$ 
+			request.setAttribute("error_value", localizedMessages.getString("WidgetAdminServlet.1")); //$NON-NLS-1$ //$NON-NLS-2$ 
 		} catch (InvalidParametersException e) {
-			session.setAttribute("error_value", localizedMessages.getString("WidgetAdminServlet.1")); //$NON-NLS-1$ //$NON-NLS-2$ 
+			request.setAttribute("error_value", localizedMessages.getString("WidgetAdminServlet.1")); //$NON-NLS-1$ //$NON-NLS-2$ 
 		}
 	}
 
 	/**
 	 *  Adds a new entry to the whitelist DB
 	 */
-	private void addWhiteListEntry(HttpSession session, HttpServletRequest request) {
+	private void addWhiteListEntry(HttpServletRequest request) {
 		Messages localizedMessages = LocaleHandler.localizeMessages(request);
 		String uri = request.getParameter("newuri"); //$NON-NLS-1$
 		IPersistenceManager persistenceManager = PersistenceManagerFactory.getPersistenceManager();
 		IWhitelist list = persistenceManager.newInstance(IWhitelist.class);
 		list.setfUrl(uri);
 		if(persistenceManager.save(list)){
-			session.setAttribute("message_value", localizedMessages.getString("WidgetAdminServlet.2")); //$NON-NLS-1$ //$NON-NLS-2$ 
+			request.setAttribute("message_value", localizedMessages.getString("WidgetAdminServlet.2")); //$NON-NLS-1$ //$NON-NLS-2$ 
 		}
 		else{
-			session.setAttribute("error_value", localizedMessages.getString("WidgetAdminServlet.3")); //$NON-NLS-1$ //$NON-NLS-2$ 
+			request.setAttribute("error_value", localizedMessages.getString("WidgetAdminServlet.3")); //$NON-NLS-1$ //$NON-NLS-2$ 
 		}
 	}
 
@@ -165,11 +164,7 @@ public class WidgetAdminServlet extends 
 		}
 		Configuration properties = (Configuration) session.getServletContext().getAttribute("properties"); //$NON-NLS-1$
 
-		session.setAttribute("error_value", null); //$NON-NLS-1$
-		session.setAttribute("message_value", null); //$NON-NLS-1$
-		session.setAttribute("widget_defaults", null); //$NON-NLS-1$
-		session.setAttribute("widgets", null); //$NON-NLS-1$
-		session.setAttribute("version", properties.getString("widget.version")); //$NON-NLS-1$ //$NON-NLS-2$
+		request.setAttribute("version", properties.getString("widget.version")); //$NON-NLS-1$ //$NON-NLS-2$
 		String task = request.getParameter("operation"); //$NON-NLS-1$
 		Operation op=null;
 		// sanity check...		
@@ -178,19 +173,19 @@ public class WidgetAdminServlet extends 
 			try {op = Operation.valueOf(task);} 
 			catch (IllegalArgumentException e) {
 				op=null;
-				session.setAttribute("error_value", localizedMessages.getString("WidgetAdminServlet.4")); //$NON-NLS-1$ //$NON-NLS-2$				
+				request.setAttribute("error_value", localizedMessages.getString("WidgetAdminServlet.4")); //$NON-NLS-1$ //$NON-NLS-2$				
 			}
 		}	
 		if(op!=null){
 			switch (op) {
 			case ADDNEWWHITELISTENTRY: {
-				addWhiteListEntry(session, request);					
-				listWhiteListOperation(session);
+				addWhiteListEntry(request);					
+				listWhiteListOperation(request);
 				doForward(request, response, faddToWhiteListPage);
 				break;
 			}
 			case VIEWWHITELIST: {
-				listWhiteListOperation(session);
+				listWhiteListOperation(request);
 				if(request.getParameter("param").equalsIgnoreCase("list")){											 //$NON-NLS-1$ //$NON-NLS-2$
 					doForward(request, response, fViewWhiteListPage);
 				}
@@ -203,40 +198,40 @@ public class WidgetAdminServlet extends 
 				break;
 			}
 			case REMOVEWIDGET: {
-				removeWidget(session, request, properties, manager);										
-				listOperation(session, false);					
+				removeWidget(request, properties, manager);										
+				listOperation(request, false);					
 				doForward(request, response, fListWidgetsForDeletePage);					
 				break;
 			}
 			case REVISETYPES: {
-				reviseTypes(session, request, manager);					
+				reviseTypes(request, manager);					
 				doForward(request, response, fUpLoadResultsPage);
 				break;
 			}
 			case ADDNEWSERVICE: {
-				addNewService(session, request);	
-				retrieveServices(session);
+				addNewService(request);	
+				retrieveServices(request);
 				doForward(request, response, fAddNewServicesPage);
 				break;
 			}
 			case UPLOADWIDGET: {
-				uploadOperation(request, properties, manager, session);						
+				uploadOperation(request, properties, manager);						
 				doForward(request, response, fUpLoadResultsPage);
 				break;
 			}
 			case LISTWIDGETS: {
 				if(request.getParameter("param").equalsIgnoreCase("remove")){ //$NON-NLS-1$ //$NON-NLS-2$
-					listOperation(session, false);					
+					listOperation(request, false);					
 					doForward(request, response, fListWidgetsForDeletePage);
 				}
 				else{
-					listOperation(session, true);					
+					listOperation(request, true);					
 					doForward(request, response, fListWidgetsPage);						
 				}
 				break;
 			}
 			case LISTSERVICES: {
-				retrieveServices(session);
+				retrieveServices(request);
 				if(request.getParameter("param").equalsIgnoreCase("list")){											 //$NON-NLS-1$ //$NON-NLS-2$
 					doForward(request, response, fListServicesPage);
 				}
@@ -249,51 +244,51 @@ public class WidgetAdminServlet extends 
 				break;
 			}
 			case SETWIDGETTYPES: {
-				updateWidgetTypes(session, request, manager);
-				listOperation(session, true);											
+				updateWidgetTypes(request, manager);
+				listOperation(request, true);											
 				doForward(request, response, fListWidgetsPage);
 				break;
 			}				
 			case REMOVESERVICE:{
-				removeServiceOperation(session, request);
+				removeServiceOperation(request);
 				doForward(request, response, fRemoveServicesPage);
 				break;
 			}
 			case REMOVEWHITELISTENTRY: {
-				removeWhiteListEntry(session, request);										
-				listWhiteListOperation(session);
+				removeWhiteListEntry(request);										
+				listWhiteListOperation(request);
 				doForward(request, response, fremoveWhiteListPage);
 				break;
 			}
 			case REMOVESINGLEWIDGETTYPE:{
-				removeSingleWidgetTypeOperation(session, request, manager);
-				listOperation(session, true);
+				removeSingleWidgetTypeOperation(request, manager);
+				listOperation(request, true);
 				doForward(request, response, fListWidgetsPage);
 				break;
 			}
 			case SETDEFAULTWIDGET:{
-				setDefaultWidgetOperation(session, request, manager);
+				setDefaultWidgetOperation(request, manager);
 				doForward(request, response, fListWidgetsPage);
 				break;
 			}
 			case REGISTERGADGET:{
-				registerOperation(request, properties, session);
+				registerOperation(request, properties);
 				doForward(request, response,fMainPage);
 				break;
 			}
 			case LISTAPIKEYS:{
-				listAPIKeysOperation(session, request);
+				listAPIKeysOperation(request);
 				doForward(request, response, fListAPIKeysPage);
 				break;
 			}
 			case REVOKEAPIKEY:{
-				revokeAPIKeyOperation(session, request);
+				revokeAPIKeyOperation(request);
 				doForward(request, response, fListAPIKeysPage);
 				break;
 			}
 
 			default: {
-				session.setAttribute("error_value", localizedMessages.getString("WidgetAdminServlet.5"));// need to i18n this //$NON-NLS-1$ //$NON-NLS-2$ 
+				request.setAttribute("error_value", localizedMessages.getString("WidgetAdminServlet.5"));// need to i18n this //$NON-NLS-1$ //$NON-NLS-2$ 
 				doForward(request, response, fMainPage);
 			}
 			}						
@@ -314,8 +309,8 @@ public class WidgetAdminServlet extends 
 		doGet(request, response);
 	}
 
-	private void listOperation(HttpSession session, boolean getDefaults){
-		retrieveWidgets(session);	
+	private void listOperation(HttpServletRequest request, boolean getDefaults){
+		retrieveWidgets(request);	
 		if(getDefaults){
 			Hashtable<String, Object> defaultHash = new Hashtable<String, Object>();
 	        IPersistenceManager persistenceManager = PersistenceManagerFactory.getPersistenceManager();
@@ -325,56 +320,55 @@ public class WidgetAdminServlet extends 
 					defaultHash.put(defaultWidget.getWidgetContext(), defaultWidget.getWidget().getId());				
 				}	
 			}
-			session.setAttribute("widget_defaults", defaultHash); //$NON-NLS-1$
+			request.setAttribute("widget_defaults", defaultHash); //$NON-NLS-1$
 		}
 	}
 
-	private void listWhiteListOperation(HttpSession session) {
+	private void listWhiteListOperation(HttpServletRequest request) {
         IPersistenceManager persistenceManager = PersistenceManagerFactory.getPersistenceManager();
-		session.setAttribute("whitelist", persistenceManager.findAll(IWhitelist.class)); //$NON-NLS-1$
+		request.setAttribute("whitelist", persistenceManager.findAll(IWhitelist.class)); //$NON-NLS-1$
 	}  	
 
-	private void removeServiceOperation(HttpSession session, HttpServletRequest request) {
+	private void removeServiceOperation(HttpServletRequest request) {
 		Messages localizedMessages = LocaleHandler.localizeMessages(request);
 		String serviceId = request.getParameter("serviceId"); //$NON-NLS-1$
 		try {
 			WidgetServicesController.remove(serviceId);
-			session.setAttribute("message_value", localizedMessages.getString("WidgetAdminServlet.6")); 				 //$NON-NLS-1$ //$NON-NLS-2$ 
+			request.setAttribute("message_value", localizedMessages.getString("WidgetAdminServlet.6")); 				 //$NON-NLS-1$ //$NON-NLS-2$ 
 		} catch (ResourceNotFoundException e) {
-			session.setAttribute("error_value", localizedMessages.getString("WidgetAdminServlet.7")); //$NON-NLS-1$ //$NON-NLS-2$ 
+			request.setAttribute("error_value", localizedMessages.getString("WidgetAdminServlet.7")); //$NON-NLS-1$ //$NON-NLS-2$ 
 		}
-		retrieveServices(session);
+		retrieveServices(request);
 	}
 
-	private void removeSingleWidgetTypeOperation(HttpSession session,
-			HttpServletRequest request, IWidgetAdminManager manager) {
+	private void removeSingleWidgetTypeOperation(HttpServletRequest request, IWidgetAdminManager manager) {
 		Messages localizedMessages = LocaleHandler.localizeMessages(request);
 		String widgetId = request.getParameter("widgetId"); //$NON-NLS-1$
 		String widgetType = request.getParameter("widgetType");	 //$NON-NLS-1$
 		if(manager.removeSingleWidgetType(widgetId, widgetType)){
-			session.setAttribute("message_value", localizedMessages.getString("WidgetAdminServlet.8")); 				 //$NON-NLS-1$ //$NON-NLS-2$ 
+			request.setAttribute("message_value", localizedMessages.getString("WidgetAdminServlet.8")); 				 //$NON-NLS-1$ //$NON-NLS-2$ 
 		}
 		else{
-			session.setAttribute("error_value", localizedMessages.getString("WidgetAdminServlet.9")); //$NON-NLS-1$ //$NON-NLS-2$ 
+			request.setAttribute("error_value", localizedMessages.getString("WidgetAdminServlet.9")); //$NON-NLS-1$ //$NON-NLS-2$ 
 		}	
-		session.setAttribute("widgets", null);						 //$NON-NLS-1$
+		request.setAttribute("widgets", null);						 //$NON-NLS-1$
 	}
 
-	private void removeWhiteListEntry(HttpSession session, HttpServletRequest request) {
+	private void removeWhiteListEntry(HttpServletRequest request) {
 		Messages localizedMessages = LocaleHandler.localizeMessages(request);
 		String entryId = request.getParameter("entryId"); //$NON-NLS-1$
         IPersistenceManager persistenceManager = PersistenceManagerFactory.getPersistenceManager();
 		IWhitelist entry = persistenceManager.findById(IWhitelist.class, entryId);
 		if(persistenceManager.delete(entry)){
-			session.setAttribute("message_value", localizedMessages.getString("WidgetAdminServlet.10")); 				 //$NON-NLS-1$ //$NON-NLS-2$ 
+			request.setAttribute("message_value", localizedMessages.getString("WidgetAdminServlet.10")); 				 //$NON-NLS-1$ //$NON-NLS-2$ 
 		}
 		else{
-			session.setAttribute("error_value", localizedMessages.getString("WidgetAdminServlet.11")); //$NON-NLS-1$ //$NON-NLS-2$ 
+			request.setAttribute("error_value", localizedMessages.getString("WidgetAdminServlet.11")); //$NON-NLS-1$ //$NON-NLS-2$ 
 		}				
 	}
 
-	private void removeWidget(HttpSession session, HttpServletRequest request, Configuration properties, IWidgetAdminManager manager) {
-		final String WIDGETFOLDER = request.getSession().getServletContext().getRealPath(properties.getString("widget.widgetfolder"));//$NON-NLS-1$
+	private void removeWidget(HttpServletRequest request, Configuration properties, IWidgetAdminManager manager) {
+		final String WIDGETFOLDER = getServletContext().getRealPath(properties.getString("widget.widgetfolder"));//$NON-NLS-1$
 		Messages localizedMessages = LocaleHandler.localizeMessages(request);
 		String widgetId = request.getParameter("widgetId"); //$NON-NLS-1$
         IPersistenceManager persistenceManager = PersistenceManagerFactory.getPersistenceManager();
@@ -382,45 +376,45 @@ public class WidgetAdminServlet extends 
 		String guid = widget.getGuid();
 		if(WidgetFactory.destroy(widgetId)){
 			if(WidgetFileUtils.removeWidgetResources(WIDGETFOLDER, guid)){			
-				session.setAttribute("message_value", localizedMessages.getString("WidgetAdminServlet.12"));			 //$NON-NLS-1$ //$NON-NLS-2$ 
+				request.setAttribute("message_value", localizedMessages.getString("WidgetAdminServlet.12"));			 //$NON-NLS-1$ //$NON-NLS-2$ 
 			}
 			else{
-				session.setAttribute("error_value", localizedMessages.getString("WidgetAdminServlet.13")); //$NON-NLS-1$ //$NON-NLS-2$ 
+				request.setAttribute("error_value", localizedMessages.getString("WidgetAdminServlet.13")); //$NON-NLS-1$ //$NON-NLS-2$ 
 			}
 		}
 		else{
-			session.setAttribute("error_value", localizedMessages.getString("WidgetAdminServlet.14")); //$NON-NLS-1$ //$NON-NLS-2$ 
+			request.setAttribute("error_value", localizedMessages.getString("WidgetAdminServlet.14")); //$NON-NLS-1$ //$NON-NLS-2$ 
 		}
 	}		
 
-	private void retrieveServices(HttpSession session){						
+	private void retrieveServices(HttpServletRequest request){						
         IPersistenceManager persistenceManager = PersistenceManagerFactory.getPersistenceManager();
-		session.setAttribute("services", persistenceManager.findAll(IWidgetService.class));						 //$NON-NLS-1$
+		request.setAttribute("services", persistenceManager.findAll(IWidgetService.class));						 //$NON-NLS-1$
 	}
 
-	private void retrieveWidgets(HttpSession session){
+	private void retrieveWidgets(HttpServletRequest request){
         IPersistenceManager persistenceManager = PersistenceManagerFactory.getPersistenceManager();
-		session.setAttribute("widgets", persistenceManager.findAll(IWidget.class)); //$NON-NLS-1$
+		request.setAttribute("widgets", persistenceManager.findAll(IWidget.class)); //$NON-NLS-1$
 	}
 
 
 
-	private void reviseTypes(HttpSession session, HttpServletRequest request, IWidgetAdminManager manager) {
-		retrieveServices(session);
-		session.setAttribute("hasValidated", Boolean.valueOf(true)); //$NON-NLS-1$
-		session.setAttribute("closeWindow", Boolean.valueOf(false)); //$NON-NLS-1$
+	private void reviseTypes(HttpServletRequest request, IWidgetAdminManager manager) {
+		retrieveServices(request);
+		request.setAttribute("hasValidated", Boolean.valueOf(true)); //$NON-NLS-1$
+		request.setAttribute("closeWindow", Boolean.valueOf(false)); //$NON-NLS-1$
 		String dbkey = request.getParameter("dbkey"); //$NON-NLS-1$
-		session.setAttribute("dbkey", Integer.parseInt(dbkey)); //$NON-NLS-1$
+		request.setAttribute("dbkey", Integer.parseInt(dbkey)); //$NON-NLS-1$
 	}
 
-	private void setDefaultWidgetOperation(HttpSession session, HttpServletRequest request, IWidgetAdminManager manager){
+	private void setDefaultWidgetOperation(HttpServletRequest request, IWidgetAdminManager manager){
 		String widgetId = request.getParameter("widgetId"); //$NON-NLS-1$
 		String widgetType = request.getParameter("widgetType");		 //$NON-NLS-1$
 		manager.setDefaultWidget(widgetId, widgetType);
-		listOperation(session, true);
+		listOperation(request, true);
 	}
 
-	private void updateWidgetTypes(HttpSession session, HttpServletRequest request, IWidgetAdminManager manager) throws IOException{
+	private void updateWidgetTypes(HttpServletRequest request, IWidgetAdminManager manager) throws IOException{
 		Messages localizedMessages = LocaleHandler.localizeMessages(request);
 		boolean canMax = false;
 
@@ -431,54 +425,54 @@ public class WidgetAdminServlet extends 
 		String dbKey = request.getParameter("dbkey"); //$NON-NLS-1$
 		String[] widgetTypes = request.getParameterValues("widgetTypes"); //$NON-NLS-1$
 		manager.setWidgetTypesForWidget(dbKey, widgetTypes, canMax);
-		session.setAttribute("message_value", localizedMessages.getString("WidgetAdminServlet.15")); 		 //$NON-NLS-1$ //$NON-NLS-2$ 
+		request.setAttribute("message_value", localizedMessages.getString("WidgetAdminServlet.15")); 		 //$NON-NLS-1$ //$NON-NLS-2$ 
 	}  
 
-	private void registerOperation(HttpServletRequest request, Configuration properties, HttpSession session){
+	private void registerOperation(HttpServletRequest request, Configuration properties){
 		Messages localizedMessages = LocaleHandler.localizeMessages(request);
 		try {
 			W3CWidget widgetModel = GadgetUtils.createWidget(request);
 	        IPersistenceManager persistenceManager = PersistenceManagerFactory.getPersistenceManager();
 			if(persistenceManager.findWidgetByGuid(widgetModel.getIdentifier()) == null){
 				WidgetFactory.addNewWidget(widgetModel);
-				session.setAttribute("message_value", widgetModel.getLocalName("en")+": "+localizedMessages.getString("WidgetAdminServlet.16")); //$NON-NLS-1$ //$NON-NLS-2$
+				request.setAttribute("message_value", widgetModel.getLocalName("en")+": "+localizedMessages.getString("WidgetAdminServlet.16")); //$NON-NLS-1$ //$NON-NLS-2$
 			} else {
-				session.setAttribute("message_value", widgetModel.getLocalName("en")+": "+localizedMessages.getString("WidgetAdminServlet.17")); //$NON-NLS-1$ //$NON-NLS-2$				
+				request.setAttribute("message_value", widgetModel.getLocalName("en")+": "+localizedMessages.getString("WidgetAdminServlet.17")); //$NON-NLS-1$ //$NON-NLS-2$				
 			}
 		} catch (Exception e1) {
 			e1.printStackTrace();
-			session.setAttribute("error_value", localizedMessages.getString("WidgetAdminServlet.18")); //$NON-NLS-1$ //$NON-NLS-2$
+			request.setAttribute("error_value", localizedMessages.getString("WidgetAdminServlet.18")); //$NON-NLS-1$ //$NON-NLS-2$
 		}
 	}
 
-	private void listAPIKeysOperation(HttpSession session, HttpServletRequest request){
+	private void listAPIKeysOperation(HttpServletRequest request){
         IPersistenceManager persistenceManager = PersistenceManagerFactory.getPersistenceManager();
-		session.setAttribute("keys", persistenceManager.findAll(IApiKey.class));
+		request.setAttribute("keys", persistenceManager.findAll(IApiKey.class));
 	}
 
-	private void revokeAPIKeyOperation(HttpSession session, HttpServletRequest request){
+	private void revokeAPIKeyOperation(HttpServletRequest request){
 		String value = request.getParameter("key");
 		if (WidgetKeyManager.revokeKey(value)){
-			session.setAttribute("message_value", "Key revoked");
+			request.setAttribute("message_value", "Key revoked");
 		} else {
-			session.setAttribute("error_value", "Key could not be revoked");
+			request.setAttribute("error_value", "Key could not be revoked");
 		}
 	}
 
-	private void uploadOperation(HttpServletRequest request, Configuration properties, IWidgetAdminManager manager, HttpSession session) {
+	private void uploadOperation(HttpServletRequest request, Configuration properties, IWidgetAdminManager manager) {
 
-		final String WIDGETFOLDER = request.getSession().getServletContext().getRealPath(properties.getString("widget.widgetfolder"));//$NON-NLS-1$
-		final String UPLOADFOLDER = request.getSession().getServletContext().getRealPath(properties.getString("widget.useruploadfolder"));//$NON-NLS-1$
+		final String WIDGETFOLDER = getServletContext().getRealPath(properties.getString("widget.widgetfolder"));//$NON-NLS-1$
+		final String UPLOADFOLDER = getServletContext().getRealPath(properties.getString("widget.useruploadfolder"));//$NON-NLS-1$
 		
 		Messages localizedMessages = LocaleHandler.localizeMessages(request);
-		session.setAttribute("hasValidated", Boolean.valueOf(false)); //$NON-NLS-1$
-		session.setAttribute("closeWindow", Boolean.valueOf(true)); //$NON-NLS-1$
+		request.setAttribute("hasValidated", Boolean.valueOf(false)); //$NON-NLS-1$
+		request.setAttribute("closeWindow", Boolean.valueOf(true)); //$NON-NLS-1$
 		File zipFile;
 		try {
 			zipFile = WidgetFileUtils.upload(UPLOADFOLDER, request);
 		} 
 		catch (Exception ex) {
-			session.setAttribute("error_value", localizedMessages.getString("WidgetAdminServlet.28") + "\n" + ex.getMessage()); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+			request.setAttribute("error_value", localizedMessages.getString("WidgetAdminServlet.28") + "\n" + ex.getMessage()); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
 			return;
 		}
 
@@ -488,7 +482,7 @@ public class WidgetAdminServlet extends 
 				final String[] locales = properties.getStringArray("widget.locales");
 				W3CWidgetFactory fac = new W3CWidgetFactory();
 				fac.setLocales(locales);
-				fac.setLocalPath(session.getServletContext().getContextPath()+properties.getString("widget.widgetfolder"));
+				fac.setLocalPath(getServletContext().getContextPath()+properties.getString("widget.widgetfolder"));
 				fac.setOutputDirectory(WIDGETFOLDER);
 				fac.setFeatures(persistenceManager.findServerFeatureNames());
 				fac.setStartPageProcessor(new StartPageProcessor());
@@ -498,43 +492,43 @@ public class WidgetAdminServlet extends 
 					IWidget widget = WidgetFactory.addNewWidget(widgetModel);
 					Object dbkey = widget.getId();
 					// widget added
-					session.setAttribute("message_value", "'"+ widgetModel.getLocalName("en") +"' - " + localizedMessages.getString("WidgetAdminServlet.19")); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-					retrieveServices(session);
-					session.setAttribute("hasValidated", Boolean.valueOf(true));																	 //$NON-NLS-1$
-					session.setAttribute("dbkey", dbkey); //$NON-NLS-1$
+					request.setAttribute("message_value", "'"+ widgetModel.getLocalName("en") +"' - " + localizedMessages.getString("WidgetAdminServlet.19")); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
+					retrieveServices(request);
+					request.setAttribute("hasValidated", Boolean.valueOf(true));																	 //$NON-NLS-1$
+					request.setAttribute("dbkey", dbkey); //$NON-NLS-1$
 				}	
 				else{
 					// UPDATE
 					// TODO - call the manager to update required resources
 					// widget updated
-					session.setAttribute("message_value", "'"+ widgetModel.getLocalName("en") +"' - " + localizedMessages.getString("WidgetAdminServlet.20")); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
+					request.setAttribute("message_value", "'"+ widgetModel.getLocalName("en") +"' - " + localizedMessages.getString("WidgetAdminServlet.20")); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
 				}					
 			}
 			else{
 				// no file found to be uploaded - shouldn't happen
-				session.setAttribute("error_value", localizedMessages.getString("WidgetAdminServlet.24")); //$NON-NLS-1$ //$NON-NLS-2$
+				request.setAttribute("error_value", localizedMessages.getString("WidgetAdminServlet.24")); //$NON-NLS-1$ //$NON-NLS-2$
 			}						
 		} 		 
 		catch (InvalidStartFileException ex){
 			_logger.error(ex);
-			session.setAttribute("error_value", localizedMessages.getString("WidgetAdminServlet.27") + "\n" + ex.getMessage()); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$			
+			request.setAttribute("error_value", localizedMessages.getString("WidgetAdminServlet.27") + "\n" + ex.getMessage()); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$			
 		}
 		catch (BadManifestException ex) {
 			_logger.error(ex);		
 			String message = ex.getMessage();
 			if (ex.getMessage() == null || ex.getMessage().equals("")) message = localizedMessages.getString("WidgetAdminServlet.28"); //$NON-NLS-1$
 			if (ex instanceof InvalidContentTypeException) message = localizedMessages.getString("WidgetAdminServlet.30");//$NON-NLS-1$
-			session.setAttribute("error_value", message); //$NON-NLS-1$
+			request.setAttribute("error_value", message); //$NON-NLS-1$
 		}
 		catch (BadWidgetZipFileException ex) {
 			_logger.error(ex);	
 			String message = ex.getMessage();
 			if (ex.getMessage() == null || ex.getMessage().equals("")) message = localizedMessages.getString("WidgetAdminServlet.29"); //$NON-NLS-1$
-			session.setAttribute("error_value", message); //$NON-NLS-1$
+			request.setAttribute("error_value", message); //$NON-NLS-1$
 		}
 		catch (Exception ex) {
 			_logger.error(ex);			
-			session.setAttribute("error_value", localizedMessages.getString("WidgetAdminServlet.25") + "\n" + ex.getMessage()); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+			request.setAttribute("error_value", localizedMessages.getString("WidgetAdminServlet.25") + "\n" + ex.getMessage()); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
 		}
 
 

Modified: incubator/wookie/branches/pluggablepersistence/src/org/apache/wookie/WidgetWebMenuServlet.java
URL: http://svn.apache.org/viewvc/incubator/wookie/branches/pluggablepersistence/src/org/apache/wookie/WidgetWebMenuServlet.java?rev=958558&r1=958557&r2=958558&view=diff
==============================================================================
--- incubator/wookie/branches/pluggablepersistence/src/org/apache/wookie/WidgetWebMenuServlet.java (original)
+++ incubator/wookie/branches/pluggablepersistence/src/org/apache/wookie/WidgetWebMenuServlet.java Mon Jun 28 12:45:27 2010
@@ -78,11 +78,7 @@ public class WidgetWebMenuServlet extend
 		}
 		Configuration properties = (Configuration) request.getSession().getServletContext().getAttribute("properties"); //$NON-NLS-1$
 
-		session.setAttribute("error_value", null); //$NON-NLS-1$
-		session.setAttribute("message_value", null); //$NON-NLS-1$
-		session.setAttribute("widget_defaults", null); //$NON-NLS-1$
-		session.setAttribute("widgets", null); //$NON-NLS-1$
-		session.setAttribute("version", properties.getString("widget.version")); //$NON-NLS-1$ //$NON-NLS-2$
+		request.setAttribute("version", properties.getString("widget.version")); //$NON-NLS-1$ //$NON-NLS-2$
 		String task = request.getParameter("operation"); //$NON-NLS-1$
 		Operation op=null;
 		// sanity check...
@@ -91,7 +87,7 @@ public class WidgetWebMenuServlet extend
 			try {op = Operation.valueOf(task);}
 			catch (IllegalArgumentException e) {
 				op=null;
-				session.setAttribute("error_value", localizedMessages.getString("WidgetWebMenuServlet.0")); //$NON-NLS-1$ //$NON-NLS-2$				
+				request.setAttribute("error_value", localizedMessages.getString("WidgetWebMenuServlet.0")); //$NON-NLS-1$ //$NON-NLS-2$				
 			}
 		}
 		if(op!=null){
@@ -129,17 +125,17 @@ public class WidgetWebMenuServlet extend
 					break;
 				}
 				case INSTANTIATE: {
-					instantiateOperation(session, manager);
+					instantiateOperation(request, manager);
 					doForward(request, response, fInstantiateWidgetsPage);
 					break;
 				}
 				case REQUESTAPIKEY:{
-					requestApiKeyOperation(request,properties,manager,session);
+					requestApiKeyOperation(request,properties,manager);
 					doForward(request, response, fMainPage);
 					break;
 				}
 				default: {
-					session.setAttribute("error_value", localizedMessages.getString("WidgetWebMenuServlet.2"));//$NON-NLS-1$ //$NON-NLS-2$
+					request.setAttribute("error_value", localizedMessages.getString("WidgetWebMenuServlet.2"));//$NON-NLS-1$ //$NON-NLS-2$
 					doForward(request, response, fMainPage);
 				}
 			}
@@ -179,16 +175,16 @@ public class WidgetWebMenuServlet extend
 		doGet(request, response);
 	}
 
-	private void instantiateOperation(HttpSession session, IWidgetAdminManager manager){
+	private void instantiateOperation(HttpServletRequest request, IWidgetAdminManager manager){
         IPersistenceManager persistenceManager = PersistenceManagerFactory.getPersistenceManager();
 		IWidget[] widgets = persistenceManager.findAll(IWidget.class);
-		session.setAttribute("widgets", widgets); //$NON-NLS-1$
+		request.setAttribute("widgets", widgets); //$NON-NLS-1$
 	}
 	/**
 	 * Creates a table, looks for widget definitions with a string (the name of 
 	 * the widget) and an instance of the widget which references the actual widget 
 	 * object and its putting widgets in widgets_hash" 
-	 * Results are returned in the session.
+	 * Results are returned in the request.
 	 * 
 	 * @param request
 	 * @param session
@@ -222,30 +218,29 @@ public class WidgetWebMenuServlet extend
 		//for(WidgetDefault defaultWidget : manager.getAllDefaultWidgets()){
 		//	widgetsHash.put(defaultWidget.getWidgetContext(), manager.getWidget(defaultWidget.getWidgetId()));
 		//}
-		session.setAttribute("widgetsHash", widgetsHash); //$NON-NLS-1$
+		request.setAttribute("widgetsHash", widgetsHash); //$NON-NLS-1$
 	}
 
-	private void requestApiKeyOperation(HttpServletRequest request, Configuration properties, IWidgetAdminManager manager, HttpSession session){
+	private void requestApiKeyOperation(HttpServletRequest request, Configuration properties, IWidgetAdminManager manager){
 		Messages localizedMessages = LocaleHandler.localizeMessages(request);
-		session.setAttribute("message_value", null); //$NON-NLS-1$
 		try {
 			String email = request.getParameter("email"); //$NON-NLS-1$
 			if (email == null) {
-				session.setAttribute("message_value", localizedMessages.getString("WidgetWebMenuServlet.1")); //$NON-NLS-1$ //$NON-NLS-2$
+				request.setAttribute("message_value", localizedMessages.getString("WidgetWebMenuServlet.1")); //$NON-NLS-1$ //$NON-NLS-2$
 			}
 			else {
 				if (email.trim().equals("")){ //$NON-NLS-1$
-					session.setAttribute("message_value", localizedMessages.getString("WidgetWebMenuServlet.1"));					 //$NON-NLS-1$ //$NON-NLS-2$
+					request.setAttribute("message_value", localizedMessages.getString("WidgetWebMenuServlet.1"));					 //$NON-NLS-1$ //$NON-NLS-2$
 				}
 				else {
 					// Otherwise, good to go
 					WidgetKeyManager.createKey(request, email, localizedMessages);
-					session.setAttribute("message_value", localizedMessages.getString("WidgetWebMenuServlet.3")); //$NON-NLS-1$ //$NON-NLS-2$
+					request.setAttribute("message_value", localizedMessages.getString("WidgetWebMenuServlet.3")); //$NON-NLS-1$ //$NON-NLS-2$
 				}
 			}
 		}
 		catch (Exception ex) {
-			session.setAttribute("error_value", localizedMessages.getString("WidgetWebMenuServlet.4")); //$NON-NLS-1$ //$NON-NLS-2$
+			request.setAttribute("error_value", localizedMessages.getString("WidgetWebMenuServlet.4")); //$NON-NLS-1$ //$NON-NLS-2$
 			_logger.error(localizedMessages.getString("WidgetWebMenuServlet.4"), ex); //$NON-NLS-1$
 		}
 

Modified: incubator/wookie/branches/pluggablepersistence/src/org/apache/wookie/helpers/FlashMessage.java
URL: http://svn.apache.org/viewvc/incubator/wookie/branches/pluggablepersistence/src/org/apache/wookie/helpers/FlashMessage.java?rev=958558&r1=958557&r2=958558&view=diff
==============================================================================
--- incubator/wookie/branches/pluggablepersistence/src/org/apache/wookie/helpers/FlashMessage.java (original)
+++ incubator/wookie/branches/pluggablepersistence/src/org/apache/wookie/helpers/FlashMessage.java Mon Jun 28 12:45:27 2010
@@ -15,6 +15,7 @@ package org.apache.wookie.helpers;
 
 import java.util.ArrayList;
 
+import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpSession;
 
 /**
@@ -110,4 +111,53 @@ public class FlashMessage {
 		}
 	}
 	
+    /**
+     * Utility to merge flash and request errors for display.
+     * 
+     * @param session current request session
+     * @param request current request
+     * @return merged error messages
+     */
+    public static String getErrors(HttpSession session, HttpServletRequest request) {
+        String flashErrors = (String) session.getAttribute("error_value");
+        String errors = (String) request.getAttribute("error_value");
+        if (flashErrors != null) {
+            if (errors != null) {
+                return flashErrors+"<br/>"+errors;
+            }
+            return flashErrors;
+        }
+        return errors;
+    }
+
+    /**
+     * Utility to merge flash and request messages for display.
+     * 
+     * @param session current request session
+     * @param request current request
+     * @return merged messages
+     */
+	public static String getMessages(HttpSession session, HttpServletRequest request) {
+        String flashMessages = (String) session.getAttribute("message_value");
+        String messages = (String) request.getAttribute("message_value");
+        if (flashMessages != null) {
+            if (messages != null) {
+                return flashMessages+"<br/>"+messages;
+            }
+            return flashMessages;
+        }
+        return messages;
+	}
+
+    /**
+     * Utility to clear flash messages when displayed.
+     * 
+     * @param session current request session
+     * @param request current request
+     * @return merged messages
+     */
+	public static void clearErrorsAndMessages(HttpSession session) {
+        session.setAttribute("error_value", null);
+        session.setAttribute("message_value", null);
+    }
 }