Of course, you wont have to cast in order to use this...

I did it this way in order to (perhaps) get some comments on the methods'
signature before also changing the interface - that's what i was trying to
describe
in the commit message!


On 4/23/07, Jesse Kuhnert <[EMAIL PROTECTED]> wrote:

I like the addition of course, but have to ask - is there really a plan
for
adding an impl for this for the other response builders?  I only ask
because
it looks like one of those things that might not ever get implemented in
the
others - and I don't like the idea of telling people to cast.

If you do have plans please ignore - if not - I would add a no-op for this
in the builders so no casting is required.

On 4/22/07, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote:
>
> 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;
>
>
>


--
Jesse Kuhnert
Tapestry/Dojo team member/developer

Open source based consulting work centered around
dojo/tapestry/tacos/hivemind. http://blog.opencomponentry.com




--
Andreas Andreou - [EMAIL PROTECTED] - http://andyhot.di.uoa.gr
Tapestry / Tacos developer
Open Source / JEE Consulting

Reply via email to