Issue created
WICKET-1838

Thanks
Louis

Matej Knopp wrote:
Hi,

this is probably a bug in wicket where the queue is not resumed after
redirect. Normally this is not needed, but since your redirect is an
attachement the page stays active. Can you please open a jira issue for
this? It shouldn't be difficult to fix.

-Matej

On Tue, Sep 16, 2008 at 6:27 PM, Louis Letourneau <
[EMAIL PROTECTED]> wrote:

The redirect works (firefox pops up the filedownload window)

the problem is since I'm not actually redirected to a page (I get a file
instead) I stay on the same page with the links but the links do not work
anymore.

If I click on them I get 'Channel busy - postponing'.

I'm using wicket 1.3.4.

The redirect seems to happen, but only once.

Say there are 3 files to download on the page, I would need to:
click link1 -> download the file -> refresh the page -> click link2 -. etc.

I shouldn't need to refresh the page.

If I don't refresh the page, when I click link2 I'll get 'Channel busy -
postponing'.

BTW:
On the first link click in firebug I get this in the response headers:
Ajax-Location   ../../../../fileDownload?type=RUN_REGION_READS_FILE&id=246


which makes sens since the QueryStringUrlCodingStrategy is mounted on
'fileDownload'.

Louis


Matej Knopp wrote:

For some reason the redirect didn't happen. What wicket version are you
using?

-Matej

On Tue, Sep 16, 2008 at 5:43 PM, Louis Letourneau <
[EMAIL PROTECTED]> wrote:

 When I click on an AjaxLink that does a setResponsePage towards a
ResourceStreamRequestTarget, afetr the download, the links on the page
become non-clickable. In the Ajax debug window I get a 'Channel busy -
postponing'.

Details:
I have a page with many AjaxLinks. The links check whether some data is
available. If the data is available it does a setResponsePage towards a
BookmarkablePage that can work with the data.

The Page that handles the data is mounted on a 'custom'
QueryStringUrlCodingStrategy. In 'decode()' the strategy checks if
manipulations are needed. If not the strategy answers with a
ResourceStreamRequestTarget.

So here's the path that causes the error:
onClick->setResponsePage->decode->ResourceStreamRequestTarget

Once a link has been clicked no other links are clickable on the page.

AjaxLink Code:
-------------------------------------------->
public void onClick(AjaxRequestTarget target)
          {
              if(file.isOnline()) {
                  PageParameters params = new PageParameters();
                  params.add("id", String.valueOf(typeId));
                  params.add("type", type.toString());

                  setResponsePage(StageableFilePage.class, params);
              }
              else {
                  modal.show(target);
              }
          }

-------------------------------------------->
QueryStringUrlCodingStrategy Code:
-------------------------------------------->
  public IRequestTarget decode(RequestParameters requestParameters) {
      [..get id and fileType and make sure the user has priviledges..]
      final StageableFile file = resolveFile(id, fileType);
      if(file.isOnline()) {
          IResourceStream resourceStream = new FileResourceStream(file);

          //Content-type will be set by the ResourceStreamRequestTarget

          ResourceStreamRequestTarget rsrt = new
ResourceStreamRequestTarget(resourceStream) {
              @Override
              public String getFileName() {
                  return file.getName();
              }
          };

          return rsrt;
      }
      else {
          return super.decode(requestParameters);
      }
  }
-------------------------------------------->

Any clues?
Louis

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to