Re: Workaround for WO 5.4 "WebAssistant: You backtracked too far"
Re: Workaround for WO 5.4 "WebAssistant: You backtracked too far"
- Subject: Re: Workaround for WO 5.4 "WebAssistant: You backtracked too far"
- From: "Cuauhtemoc Hohman" <email@hidden>
- Date: Thu, 6 Mar 2008 12:03:33 -0600
Hi Dave,
To avoid problems I have the user.d2wmodel in the root folder in the meantime, so that is working ok, if I add a rule to it with the Rule Modeler, it executes ok in the application.
However the problem is executing the web assistant, when I try it I get the
"WebAssistant: You backtracked too far" message on the page.
The method that lauches my problem is lastUrl(), where reference _lastPage is correctly set, but urlForPage allways returns null.
String lastUrl()
{
String lastUrl = urlForPage(_lastPage);
if(lastUrl != null)
return lastUrl;
else
throw new IllegalArgumentException("WebAssistant: You backtracked too far");
}
In urlForPage I can see that _recentPagesHashtable is always empty, and thats why the method always returns null.
String urlForPage(WOComponent page)
{
String pageKey = (new StringBuilder()).append(page.hashCode()).append(page.getClass().toString()).toString();
_UrlFormValues urlfv = (_UrlFormValues)_recentPagesHashtable.get(pageKey);
return urlfv != null ? D2WUtils.urlFromUrlAndFormValues(urlfv.url, urlfv.formValues) : null;
}
So, why is _recentPagesHashtable always empty?
It is supposed to be filled in the _setCurrentContext(WOContext currentContext) method which in turn is called from the requestWasHandled(WOContext c) method, from which the D2W class documentation only says "This method is intentionally undocumented.
You should never have to invoke or customize it.
"
Do you think this problem can be solved using your workaround solution? It seems to me that it is related, but I didn't get how you did it.
Thanks again.-- Cuauhtemoc Hohman
On Thu, Mar 6, 2008 at 10:57 AM, David Avendasora <
email@hidden> wrote:
Where do you have your user.d2wmodel file? Is it in Resources or in
the root of your project?
I've found that the EOAssistant will update it if it is in the root of
the project, but not if it is in Resources. I'm guessing this is a
left-over from Xcode storing _everything_ in the root.
I've filed a bug with Apple about this.
Dave
On Mar 6, 2008, at 11:49 AM, Cuauhtemoc Hohman wrote:
> Of course I still haven't gotten WOLips to tell WebAssistant to save
> the file to the source code directory (it saves to the bundled copy
> which gets overwritten on the next build) but it's progress
> nonetheless.
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden