Author: andyhot
Date: Sun Apr 22 18:15:33 2007
New Revision: 531308
URL: http://svn.apache.org/viewvc?view=rev&rev=531308
Log:
Support adding status messages to an XHR response. No changes yet to the
ResponseBuilder interface, you'll have to cast to DojoAjaxResponseBuilder to
use this for now
Modified:
tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/services/impl/DojoAjaxResponseBuilder.java
Modified:
tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/services/impl/DojoAjaxResponseBuilder.java
URL:
http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/services/impl/DojoAjaxResponseBuilder.java?view=diff&rev=531308&r1=531307&r2=531308
==============================================================================
---
tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/services/impl/DojoAjaxResponseBuilder.java
(original)
+++
tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/services/impl/DojoAjaxResponseBuilder.java
Sun Apr 22 18:15:33 2007
@@ -69,6 +69,8 @@
private List _parts = new ArrayList();
// Map of specialized writers, like scripts
private Map _writers = new HashMap();
+ // List of status messages.
+ private List _statusMessages;
private IRequestCycle _cycle;
@@ -492,6 +494,30 @@
writer.end();
}
+
+ public void addStatus(IMarkupWriter normalWriter, String text)
+ {
+ addStatus(normalWriter, text, "info");
+ }
+
+ public void addStatus(IMarkupWriter normalWriter, String text, String
category)
+ {
+ if (_statusMessages==null)
+ {
+ _statusMessages = new ArrayList();
+ }
+ _statusMessages.add(category);
+ _statusMessages.add(text);
+ }
+
+ void writeStatusMessages() {
+ for (int i=0; i<_statusMessages.size(); i+=2)
+ {
+ IMarkupWriter writer = getWriter((String) _statusMessages.get(i),
"status");
+ writer.printRaw((String) _statusMessages.get(i+1));
+ }
+ _statusMessages = null;
+ }
/**
* [EMAIL PROTECTED]
@@ -632,6 +658,8 @@
void endResponse()
{
// write out captured content
+ if (_statusMessages != null)
+ writeStatusMessages();
Iterator keys = _writers.keySet().iterator();
String buffer = null;