Re: T4.1.4-SNAPSHOT issue migrating from 4.0.2 with PopupLinkSubmit

2007-11-07 Thread Dom Couldwell
FYI, if we remove the PopupLinkSubmit component we don't get the errors
appearing in the logs so it's definitely related to something in that
component

Dom

---

This e-mail may contain confidential and/or privileged information. If you
are not the intended recipient (or have received this e-mail in error)
please notify the sender immediately and destroy this e-mail. Any
unauthorized copying, disclosure or distribution of the material in this
e-mail is strictly forbidden.


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



Re: T4.1.4-SNAPSHOT issue migrating from 4.0.2 with PopupLinkSubmit

2007-11-07 Thread Dom Couldwell
OK we updated the generated Javascript with the new version of the Javascript
function

function submitPopupLink(form, elementId, url)
{
  var windowName = 'RDQGraphPopup';
  var randomNumber = Math.floor(Math.random()*1000);
  windowName = windowName+randomNumber;
  aWindow = window.open(url, windowName, 'width=840, height=550,
scrollbars=yes,resizable=yes', false);
  aWindow.focus();
  var form = document.getElementById(form);
  form.target=windowName;
  tapestry.form.submit(form, elementId);
  form.target='';
}

this seems to allow the popup link to work but we're still getting the errors
in the back end.
They don't seem to have any ill effect but they are generated each time the
page serves.

For script generation we are using the version of the call passing this:

getScript().execute(this, cycle, pageRenderSupport, symbols);

(If this is the call Jessie meant)

Any ideas as to what is causing the error? Even though it does not seem to be
causing any problems I've a feeling it's gonna bite us in the ass at some
point...

Here's PopupLinkSubmit.java if it's any help. As I mentioned before it's
mostly copied from the online example I cited before.

public abstract class PopupLinkSubmit extends CustomSubmit {

/**
 * The name of an [EMAIL PROTECTED] 
org.apache.tapestry.IRequestCycle}attribute in
which
 * the current submit link is stored. LinkSubmits do not nest.
 */
public static final String ATTRIBUTE_NAME =
"actualis.web.tapestry.PopupLinkSubmit";

public static final String ATTRIBUTE_NAME_SCRIPT =
"actualis.web.tapestry.PopupLinkSubmitScript";

/**
 * The name of an [EMAIL PROTECTED] 
org.apache.tapestry.IRequestCycle}attribute in
which
 * the link submit component that generates the javascript function is
stored.
 * The function is only required once per page (containing a form with a
 * non-disabled LinkSubmit)
 */
public static final String ATTRIBUTE_FUNCTION_NAME =
"actualis.web.tapestry.PopupLinkSubmit_function";

@InjectObject("engine-service:external")
public abstract IEngineService getExternalService();

@Parameter(required=false)
public abstract String getStyleClass();
@Parameter(defaultValue="900", required=false)
public abstract String getWindowHeight();
@Parameter(defaultValue="600", required=false)
public abstract String getWindowWidth();

/**
 * Checks the submit name ([EMAIL PROTECTED] 
FormConstants#SUBMIT_NAME_PARAMETER}) to
 * see if it matches this LinkSubmit's assigned element name.
 */
@Override
protected boolean isClicked(IRequestCycle cycle, String name) {
  String value = cycle.getParameter(FormConstants.SUBMIT_NAME_PARAMETER);

  return name.equals(value);
}

/**
 *
 * @param cycle
 * @return
 */
public ILink getLink(IRequestCycle cycle) {
  Object[] pageParameters =
  DirectLink.constructServiceParameters(getPopupParameters());
  ExternalServiceParameter esp =
  new ExternalServiceParameter(
  getPopupPage(),
  pageParameters);

  return getExternalService().getLink(false, esp);
}

public abstract Object getPopupParameters();

public abstract String getPopupPage();

/**
 * @see
org.apache.tapestry.form.AbstractFormComponent#renderFormComponent(org.apache.tapestry.IMarkupWriter,
 *  org.apache.tapestry.IRequestCycle)
 */
@Override
@SuppressWarnings("unchecked")
protected void renderFormComponent(IMarkupWriter writer, IRequestCycle
cycle) {
  boolean disabled = isDisabled();

  if (!disabled) {
PageRenderSupport pageRenderSupport =
TapestryUtils.getPageRenderSupport(cycle,this);

if (cycle.getAttribute(ATTRIBUTE_NAME_SCRIPT) == null) {

  BodyBuilder builder = new BodyBuilder();

  builder.addln("");
  builder.addln("function {0}(form, elementId, url)",
"submitPopupLink");
  builder.begin();
  builder.addln("var windowName = 'RDQGraphPopup';");
  builder.addln("var randomNumber = Math.floor(Math.random()*1000);");
  builder.addln("windowName = windowName+randomNumber;");
  builder.addln("aWindow = window.open(url, windowName, "
  + "'width="+getWindowWidth()+", height="+getWindowHeight()
  + ", scrollbars=yes,resizable=yes'"
  + ", false);");
  builder.addln("aWindow.focus();");
  builder.addln("var form = document.getElementById(form);");
  builder.addln("form.target=windowName;");
  builder.addln("tapestry.form.submit(form, elementId);");
  builder.addln("form.target='';");
  builder.end();

  pageRenderSupport.addBodyScript(
  this,
  builder.toString());
  cycle.setAttribute(ATTRIBUTE_NAME_SCRIPT, this);
}

IForm form = getForm();

String slink = getLink(cycl

T4.1.4-SNAPSHOT issue migrating from 4.0.2 with PopupLinkSubmit

2007-11-06 Thread Dom Couldwell

We have a link on a page that does a submit and pops up a new window once the
form has been submitted.

The code is based on the PopupLinkSubmit example here:
http://wiki.apache.org/tapestry/PopupLinkSubmit

This all works fine on 4.0.2 but under 4.1.4-SNAPSHOT we get the following
error when the page opens up:

2007-11-06 18:35:10,197, ERROR,
[org.apache.tapestry.services.impl.HiveMindExpressionCompiler], line 227,
Error generating OGNL statements for expression class with root
{href=javascript:submitPopupLink('editorForm',
'PopupLinkSubmit','/GQ/Waiting.page');,
[EMAIL PROTECTED]/editor.editorForm], class=action,
popupLink=/GQ/Waiting.page, name=PopupLinkSubmit}
org.apache.hivemind.ApplicationRuntimeException: Unable to add method void
set(ognl.OgnlContext, java.lang.Object, java.lang.Object) to class
$ASTProperty_116174fa4f8: [source error]
put(java.lang.String,java.lang.Object) not found in java.lang.Object
  at
org.apache.tapestry.enhance.ClassFabImpl.addMethod(ClassFabImpl.java:278)
  at
org.apache.tapestry.services.impl.HiveMindExpressionCompiler.compileExpression(HiveMindExpressionCompiler.java:217)
  at ognl.OgnlRuntime.compileExpression(OgnlRuntime.java:523)
  at ognl.Ognl.compileExpression(Ognl.java:141)
...
Caused by: javassist.CannotCompileException: [source error]
put(java.lang.String,java.lang.Object) not found in java.lang.Object
  at javassist.CtBehavior.setBody(CtBehavior.java:347)
  at javassist.CtBehavior.setBody(CtBehavior.java:316)
  at
org.apache.tapestry.enhance.ClassFabImpl.addMethod(ClassFabImpl.java:272)
  ... 137 more
Caused by: compile error: put(java.lang.String,java.lang.Object) not found in
java.lang.Object
  at javassist.compiler.TypeChecker.atMethodCallCore(TypeChecker.java:716)
  at javassist.compiler.TypeChecker.atCallExpr(TypeChecker.java:681)
  at
javassist.compiler.JvstTypeChecker.atCallExpr(JvstTypeChecker.java:156)
  at javassist.compiler.ast.CallExpr.accept(CallExpr.java:45)
  at javassist.compiler.CodeGen.doTypeCheck(CodeGen.java:235)
  at javassist.compiler.CodeGen.atStmnt(CodeGen.java:323)
  at javassist.compiler.ast.Stmnt.accept(Stmnt.java:49)
  at javassist.compiler.CodeGen.atStmnt(CodeGen.java:344)
  at javassist.compiler.ast.Stmnt.accept(Stmnt.java:49)
  at javassist.compiler.CodeGen.atMethodBody(CodeGen.java:285)
  at javassist.compiler.Javac.compileBody(Javac.java:212)
  at javassist.CtBehavior.setBody(CtBehavior.java:341)
  ... 139 more

Here's what's on the page:

  
Generate Plot
  


Here's PopupLinkSubmit.script


http://jakarta.apache.org/tapestry/dtd/Script_3_0.dtd";>








  javascript:submitPopupLink('${form.name}', '${name}','${popupLink}');



  ${class}




Which comes out as:

  
Generate Plot
  

The Javascript we're rendering in PopupLinkSubmit.java comes out as:

function submitPopupLink(form, elementId, url)
{
  var windowName = 'RDQGraphPopup';
  var randomNumber = Math.floor(Math.random()*1000);
  windowName = windowName+randomNumber;
  aWindow = window.open(url, windowName, 'width=840, height=800,
scrollbars=yes,resizable=yes', false);
  aWindow.focus();
  var form = document.getElementById(form);
  form.target=windowName;
  form.events.submit(elementId);
  form.target='';
}

I can supply the rest of the source if required but it's basically following
the example I mentioned at the top.

The rendered versions of the link and the Javascript are the same as under
4.0.2 but we get the above error in the back end and the link does not work.
We get a Javascript error stating that 'events' is null or not an object.
This is referring to this line:
  form.events.submit(elementId);
Which seems to be related to issues mentioned here
http://tapestry.apache.org/tapestry4.1/usersguide/upgrade4.0.html
Can anyone let me know what we should be doing instead of form.events.submit?
The documentation does not make it clear what the replacement is

If we fix the form.events issues will that also fix the error we see when the
page loads up or is that an unrelated error?

Any ideas would be appreciated.

Dom

---

This e-mail may contain confidential and/or privileged information. If you
are not the intended recipient (or have received this e-mail in error)
please notify the sender immediately and destroy this e-mail. Any
unauthorized copying, disclosure or distribution of the material in this
e-mail is strictly forbidden.


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



Re: T4.1.3 loop index issues, migrating from 4.0.2

2007-11-06 Thread Dom Couldwell
Thanks for your help Jessie. Fix you applied to the 4.1.4-SNAPSHOT has fixed
our issue.

We have run into another issue in the migration which I'll post about
separately...

Dom Couldwell
Global Markets Research
+1(212)250-7082

---

This e-mail may contain confidential and/or privileged information. If you
are not the intended recipient (or have received this e-mail in error)
please notify the sender immediately and destroy this e-mail. Any
unauthorized copying, disclosure or distribution of the material in this
e-mail is strictly forbidden.


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



Re: T4.1.3 loop index issues, migrating from 4.0.2

2007-10-31 Thread Dom Couldwell
Any ideas as to when we might get a fix for this?

We're stuck in terms of migrating to 4.1.3 until we get a fix.

Thanks,

Dom

---

This e-mail may contain confidential and/or privileged information. If you
are not the intended recipient (or have received this e-mail in error)
please notify the sender immediately and destroy this e-mail. Any
unauthorized copying, disclosure or distribution of the material in this
e-mail is strictly forbidden.


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



Re: T4.1.3 loop index issues, migrating from 4.0.2

2007-10-26 Thread Dom Couldwell
Fixed the typo but still get the same sort of error as the original problem

2007-10-26 08:33:25,031, ERROR, [com.db.rdq.web.tapestry.html.RDQException],
line 22, org.apache.tapestry.BindingException
2007-10-26 08:33:25,062, ERROR, [com.db.rdq.web.tapestry.html.RDQException],
line 23, Unable to update OGNL expression '' of
[EMAIL PROTECTED]/$Search] to true: source is null for
getProperty(null, "currentFilterGroupIndex")
2007-10-26 08:33:25,078, ERROR, [com.db.rdq.web.tapestry.html.RDQException],
line 32,
2007-10-26 08:33:25,078, ERROR, [com.db.rdq.web.tapestry.html.RDQException],
line 44,
binding|ExpressionBinding[Home/$Search
getTab().getSearchCriteriaSelections().get(currentFilterGroupIndex)[currentFilterIndex]]
location|context:/WEB-INF/Search.html, line 109
2007-10-26 08:33:25,078, ERROR, [com.db.rdq.web.tapestry.html.RDQException],
line 22, org.apache.hivemind.ApplicationRuntimeException
2007-10-26 08:33:25,078, ERROR, [com.db.rdq.web.tapestry.html.RDQException],
line 23, Unable to update OGNL expression '' of
[EMAIL PROTECTED]/$Search] to true: source is null for
getProperty(null, "currentFilterGroupIndex")
2007-10-26 08:33:25,078, ERROR, [com.db.rdq.web.tapestry.html.RDQException],
line 32,
2007-10-26 08:33:25,328, ERROR, [com.db.rdq.web.tapestry.html.RDQException],
line 44,
component|[EMAIL PROTECTED]/$Search]
location|context:/WEB-INF/Home.html, line 51
2007-10-26 08:33:25,328, ERROR, [com.db.rdq.web.tapestry.html.RDQException],
line 22, ognl.OgnlException
2007-10-26 08:33:25,328, ERROR, [com.db.rdq.web.tapestry.html.RDQException],
line 23, source is null for getProperty(null, "currentFilterGroupIndex")
2007-10-26 08:33:25,344, ERROR, [com.db.rdq.web.tapestry.html.RDQException],
line 32,
ognl.OgnlRuntime.getProperty(OgnlRuntime.java:1993)
...

Dom Couldwell
Global Markets Research
+1(212)250-7082



  
 andyhot  
 <[EMAIL PROTECTED]   
 > To 
 Sent by: Andreas   Tapestry users
 Andreou   
 <[EMAIL PROTECTED]cc 
 m>   
  Subject 
Re: T4.1.3 loop index issues, 
 10/25/2007 09:37   migrating from 4.0.2  
 AM   
  
  
 Please respond to
  "Tapestry users"
 <[EMAIL PROTECTED]   
 ache.org>
  
  




I had a typo in my suggestion - happens with such long expressions I
guess ;)
I meant

selected="ognl:getTab().getSearchCriteriaSelections().get(currentFilterGroupIndex)[currentFilterIndex]"






Dom Couldwell wrote:
> Tried Andy's work around but no joy (stack track below). Have raised another
> JIRA (http://jira.opensymphony.com/browse/OGNL-131) yell if you need more
> details.
>
> Dom
>
> 2007-10-25 09:09:57,763, ERROR, [com.db.rdq.web.tapestry.html.RDQException],
> line 22, org.apache.tapestry.BindingException
> 2007-10-25 09:09:57,763, ERROR, [com.db.rdq.web.tapestry.html.RDQException],
> line 23, Unable to parse OGNL expression
>
'getTab().getSearchCriteriaSelections().get(currentFilterGroupIndex).[currentFilterIndex]':

>  Malformed OGNL expression:
>
getTab().getSearchCriteriaSelections().get(currentFilterGroupIndex).[currentFilterIndex]

> 2007-10-25 09:09:57,763, ERROR, [com.db.rdq.web.tapestry.html.RDQException],
> line 32,
> 2007-10-25 09:09:57,779, ERROR, [com.db.rdq.web.tapestry.html.RDQException],
> line 44,
> binding|ExpressionBinding[Home/$Search
>
getTab().getSearchCriteriaSelections().get(currentFilterGroupIndex).[currentFilterIndex]]

> location|context:/WEB-INF/Search.html, line 109
> 2007-10-25 09:09:57,779, ERROR, [com.db.rdq.web.tapestry.html.RDQException],
> line 22, org.apache.hivemind.ApplicationRuntimeException
> 2007-10-25 09:09:57,779, ERROR, [com.db.rdq.web.tapestry.htm

Re: T4.1.3 loop index issues, migrating from 4.0.2

2007-10-25 Thread Dom Couldwell
Tried Andy's work around but no joy (stack track below). Have raised another
JIRA (http://jira.opensymphony.com/browse/OGNL-131) yell if you need more
details.

Dom

2007-10-25 09:09:57,763, ERROR, [com.db.rdq.web.tapestry.html.RDQException],
line 22, org.apache.tapestry.BindingException
2007-10-25 09:09:57,763, ERROR, [com.db.rdq.web.tapestry.html.RDQException],
line 23, Unable to parse OGNL expression
'getTab().getSearchCriteriaSelections().get(currentFilterGroupIndex).[currentFilterIndex]':
 Malformed OGNL expression:
getTab().getSearchCriteriaSelections().get(currentFilterGroupIndex).[currentFilterIndex]
2007-10-25 09:09:57,763, ERROR, [com.db.rdq.web.tapestry.html.RDQException],
line 32,
2007-10-25 09:09:57,779, ERROR, [com.db.rdq.web.tapestry.html.RDQException],
line 44,
binding|ExpressionBinding[Home/$Search
getTab().getSearchCriteriaSelections().get(currentFilterGroupIndex).[currentFilterIndex]]
location|context:/WEB-INF/Search.html, line 109
2007-10-25 09:09:57,779, ERROR, [com.db.rdq.web.tapestry.html.RDQException],
line 22, org.apache.hivemind.ApplicationRuntimeException
2007-10-25 09:09:57,779, ERROR, [com.db.rdq.web.tapestry.html.RDQException],
line 23, Unable to parse OGNL expression
'getTab().getSearchCriteriaSelections().get(currentFilterGroupIndex).[currentFilterIndex]':
 Malformed OGNL expression:
getTab().getSearchCriteriaSelections().get(currentFilterGroupIndex).[currentFilterIndex]
2007-10-25 09:09:57,779, ERROR, [com.db.rdq.web.tapestry.html.RDQException],
line 32,
2007-10-25 09:09:57,779, ERROR, [com.db.rdq.web.tapestry.html.RDQException],
line 44,
2007-10-25 09:09:57,779, ERROR, [com.db.rdq.web.tapestry.html.RDQException],
line 22, ognl.ExpressionSyntaxException
2007-10-25 09:09:57,795, ERROR, [com.db.rdq.web.tapestry.html.RDQException],
line 23, Malformed OGNL expression:
getTab().getSearchCriteriaSelections().get(currentFilterGroupIndex).[currentFilterIndex]
2007-10-25 09:09:57,795, ERROR, [com.db.rdq.web.tapestry.html.RDQException],
line 32,
2007-10-25 09:09:57,795, ERROR, [com.db.rdq.web.tapestry.html.RDQException],
line 44,
2007-10-25 09:09:57,795, ERROR, [com.db.rdq.web.tapestry.html.RDQException],
line 22, ognl.ParseException
2007-10-25 09:09:57,795, ERROR, [com.db.rdq.web.tapestry.html.RDQException],
line 23, Encountered "[" at line 1, column 69.
Was expecting one of:
"(" ...
"{" ...
 ...

2007-10-25 09:09:57,795, ERROR, [com.db.rdq.web.tapestry.html.RDQException],
line 32,
Was expecting one of:
"(" ...
"{" ...
 ...

ognl.OgnlParser.generateParseException(OgnlParser.java:3161)
...


  
 "Jesse Kuhnert"  
 <[EMAIL PROTECTED]   
 m>To 
"Tapestry users"  
 10/24/2007 04:59  
 PMcc 
  
  Subject 
 Please respond to  Re: T4.1.3 loop index issues, 
  "Tapestry users"  migrating from 4.0.2  
 <[EMAIL PROTECTED]   
 ache.org>
  
  
  
  




Another ognl jira ticket with as much specific information as possible
would help me either way.

Since you are getting errors that mention OgnlRuntime I'm thinking
this isn't a compile time issue at all so would probably consider it
more important than most to fix.  (assuming I'm able to re-produce it
in a simple non tapestry environment unit test)

On 10/24/07, andyhot <[EMAIL PROTECTED]> wrote:
> well, it must be ognl related after all...
> In http://jira.opensymphony.com/browse/OGNL-130 you mentioned you tried
>
selected="ognl:getTab().getSearchCriteriaSelections().get(currentFilterGroupIndex).get(currentFilterIndex)"

>
>
> Well, I'm wondering if
>
selected="ognl:getTab().getSearchCriteriaSelections().get(currentFilterGroupIndex).[currentFilterIndex]"

>
> would work...
>
>
> Dom Couldwell wrote:
> > Updated first For loop to:
> >
> >  >

Re: T4.1.3 loop index issues, migrating from 4.0.2

2007-10-24 Thread Dom Couldwell
index issues, 
 10/24/2007 02:39   migrating from 4.0.2  
 PM   
  
  
 Please respond to
  "Tapestry users"
 <[EMAIL PROTECTED]   
 ache.org>
  
  




looks like an issue during rewind -
take a look at all those parameters and the hints for the @For component
at http://tapestry.apache.org/tapestry4.1/components/general/for.html

If the form worked in 4.0 and you weren't getting any
|StaleLinkExceptions|,
then using volatile="true" should probably fix this


Dom Couldwell wrote:
> Thanks to Jessie for his help fixing our last issue (We've updated to the
ognl
> 2.7.2 snapshot which fixed it) but and have run into another issue migrating
> form 4.0.2 to 4.1.3.
>
> The following works fine under 4.0.2:
>
>  multiple="literal:false"
> size="10"
>
>
onchange="ognl:'searchSubmit(\''[EMAIL PROTECTED]@INSTRUMENT_GROUP+'\',0);'">

>   source="ognl:tab.searchItems"
>value="ognl:currentSearchItem"
>index="ognl:currentSearchItemIndex">
>   
> selected="ognl:tab.searchItems[currentSearchItemIndex].selected"
>
> label="ognl:tab.searchItems[currentSearchItemIndex].displayName">
>   
>   
> 
>
> Under 4.1.3 the page renders but then when the users selects an option and
> submits the form we get the following error:
>
> 2007-10-24 13:41:15,206, ERROR, [com.db.rdq.web.tapestry.html.RDQException],
> line 22, org.apache.tapestry.BindingException
> 2007-10-24 13:41:15,206, ERROR, [com.db.rdq.web.tapestry.html.RDQException],
> line 23, Unable to update OGNL expression '' of
> [EMAIL PROTECTED]/$Search] to false: source is null for
> getProperty(null, "currentSearchItemIndex")
> 2007-10-24 13:41:15,221, ERROR, [com.db.rdq.web.tapestry.html.RDQException],
> line 32,
> 2007-10-24 13:41:15,221, ERROR, [com.db.rdq.web.tapestry.html.RDQException],
> line 44,
> binding|ExpressionBinding[Home/$Search
> tab.searchItems[currentSearchItemIndex].selected]
> location|context:/WEB-INF/Search.html, line 82
> 2007-10-24 13:41:15,221, ERROR, [com.db.rdq.web.tapestry.html.RDQException],
> line 22, org.apache.hivemind.ApplicationRuntimeException
> 2007-10-24 13:41:15,221, ERROR, [com.db.rdq.web.tapestry.html.RDQException],
> line 23, Unable to update OGNL expression '' of
> [EMAIL PROTECTED]/$Search] to false: source is null for
> getProperty(null, "currentSearchItemIndex")
> 2007-10-24 13:41:15,237, ERROR, [com.db.rdq.web.tapestry.html.RDQException],
> line 32,
> 2007-10-24 13:41:15,253, ERROR, [com.db.rdq.web.tapestry.html.RDQException],
> line 44,
> component|[EMAIL PROTECTED]/$Search]
> location|context:/WEB-INF/Home.html, line 51
> 2007-10-24 13:41:15,253, ERROR, [com.db.rdq.web.tapestry.html.RDQException],
> line 22, ognl.OgnlException
> 2007-10-24 13:41:15,253, ERROR, [com.db.rdq.web.tapestry.html.RDQException],
> line 23, source is null for getProperty(null, "currentSearchItemIndex")
> 2007-10-24 13:41:15,253, ERROR, [com.db.rdq.web.tapestry.html.RDQException],
> line 32,
> ognl.OgnlRuntime.getProperty(OgnlRuntime.java:1993)
> ...
>
> It looks like the index variable is going out of scope or something equally
> strange.
>
> If we update the template to:
>
>  multiple="literal:false"
> size="10"
>
>
onchange="ognl:'searchSubmit(\''[EMAIL PROTECTED]@INSTRUMENT_GROUP+'\',0);'">

>   source="ognl:tab.searchItems"
>value="ognl:currentSearchItem"
>index="ognl:currentSearchItemIndex">
>  selected="ognl:currentSearchItem.selected"
>
> label="ognl:tab.searchItems[currentSearchItemIndex].displayName">
>   
>   
> 
>
> The page renders and submits correctly.
> In 4.0

T4.1.3 loop index issues, migrating from 4.0.2

2007-10-24 Thread Dom Couldwell

Thanks to Jessie for his help fixing our last issue (We've updated to the ognl
2.7.2 snapshot which fixed it) but and have run into another issue migrating
form 4.0.2 to 4.1.3.

The following works fine under 4.0.2:


  
  
  
  


Under 4.1.3 the page renders but then when the users selects an option and
submits the form we get the following error:

2007-10-24 13:41:15,206, ERROR, [com.db.rdq.web.tapestry.html.RDQException],
line 22, org.apache.tapestry.BindingException
2007-10-24 13:41:15,206, ERROR, [com.db.rdq.web.tapestry.html.RDQException],
line 23, Unable to update OGNL expression '' of
[EMAIL PROTECTED]/$Search] to false: source is null for
getProperty(null, "currentSearchItemIndex")
2007-10-24 13:41:15,221, ERROR, [com.db.rdq.web.tapestry.html.RDQException],
line 32,
2007-10-24 13:41:15,221, ERROR, [com.db.rdq.web.tapestry.html.RDQException],
line 44,
binding|ExpressionBinding[Home/$Search
tab.searchItems[currentSearchItemIndex].selected]
location|context:/WEB-INF/Search.html, line 82
2007-10-24 13:41:15,221, ERROR, [com.db.rdq.web.tapestry.html.RDQException],
line 22, org.apache.hivemind.ApplicationRuntimeException
2007-10-24 13:41:15,221, ERROR, [com.db.rdq.web.tapestry.html.RDQException],
line 23, Unable to update OGNL expression '' of
[EMAIL PROTECTED]/$Search] to false: source is null for
getProperty(null, "currentSearchItemIndex")
2007-10-24 13:41:15,237, ERROR, [com.db.rdq.web.tapestry.html.RDQException],
line 32,
2007-10-24 13:41:15,253, ERROR, [com.db.rdq.web.tapestry.html.RDQException],
line 44,
component|[EMAIL PROTECTED]/$Search]
location|context:/WEB-INF/Home.html, line 51
2007-10-24 13:41:15,253, ERROR, [com.db.rdq.web.tapestry.html.RDQException],
line 22, ognl.OgnlException
2007-10-24 13:41:15,253, ERROR, [com.db.rdq.web.tapestry.html.RDQException],
line 23, source is null for getProperty(null, "currentSearchItemIndex")
2007-10-24 13:41:15,253, ERROR, [com.db.rdq.web.tapestry.html.RDQException],
line 32,
ognl.OgnlRuntime.getProperty(OgnlRuntime.java:1993)
...

It looks like the index variable is going out of scope or something equally
strange.

If we update the template to:


  
  
  
  


The page renders and submits correctly.
In 4.0.2 we had avoided this syntax as it did not reliably save the value back
into the correct element, has this syntax changed in 4.1.3?

Unfortunately even with the above work around we hit a similar problem again
later in the form


  
  
  
  


The above renders OK but then the form submits we get:

2007-10-24 13:49:21,134, ERROR, [com.db.rdq.web.tapestry.html.RDQException],
line 22, org.apache.tapestry.BindingException
2007-10-24 13:49:21,134, ERROR, [com.db.rdq.web.tapestry.html.RDQException],
line 23, Unable to update OGNL expression '' of
[EMAIL PROTECTED]/$Search] to false: source is null for
getProperty(null, "currentFilterGroupIndex")
2007-10-24 13:49:21,134, ERROR, [com.db.rdq.web.tapestry.html.RDQException],
line 32,
2007-10-24 13:49:21,134, ERROR, [com.db.rdq.web.tapestry.html.RDQException],
line 44,
binding|ExpressionBinding[Home/$Search
tab.searchCriteriaSelections[currentFilterGroupIndex][currentFilterIndex]]
location|context:/WEB-INF/Search.html, line 106
2007-10-24 13:49:21,134, ERROR, [com.db.rdq.web.tapestry.html.RDQException],
line 22, org.apache.hivemind.ApplicationRuntimeException
2007-10-24 13:49:21,149, ERROR, [com.db.rdq.web.tapestry.html.RDQException],
line 23, Unable to update OGNL expression '' of
[EMAIL PROTECTED]/$Search] to false: source is null for
getProperty(null, "currentFilterGroupIndex")
2007-10-24 13:49:21,149, ERROR, [com.db.rdq.web.tapestry.html.RDQException],
line 32,
2007-10-24 13:49:21,149, ERROR, [com.db.rdq.web.tapestry.html.RDQException],
line 44,
component|[EMAIL PROTECTED]/$Search]
location|context:/WEB-INF/Home.html, line 51
2007-10-24 13:49:21,149, ERROR, [com.db.rdq.web.tapestry.html.RDQException],
line 22, ognl.OgnlException
2007-10-24 13:49:21,149, ERROR, [com.db.rdq.web.tapestry.html.RDQException],
line 23, source is null for getProperty(null, "currentFilterGroupIndex")
2007-10-24 13:49:21,149, ERROR, [com.db.rdq.web.tapestry.html.RDQException],
line 32,
ognl.OgnlRuntime.getProperty(OgnlRuntime.java:1993)
...

again the index variable seems to have gone out of scope or something.

Any ideas what's changed between 4.0.2 and 4.1.3? Is this another ognl issue?

I know Andy mentioned we should consider cleaning up our markup in response to
my last post.
Is there something in particular we're doing that we should consider changing?

Thanks,

Dom

---

This e-mail may contain confidential and/or privileged information. If you
are not the intended recipient (or have received this e-mail in error)
please notify the sender immediately and destroy this e-mail. Any
unauthorized copying, disclosure or distribution of the material in this
e-mail is strictly forbidden.


-

Re: Tap 4.0.2 to 4.1.2 migration loop / ognl issue

2007-10-22 Thread Dom Couldwell
OK, I've updated the JIRA with more info on the underlying implementation.
Yell if you need more detail.

Thanks,

Dom Couldwell
Global Markets Research



  
 "Jesse Kuhnert"  
 <[EMAIL PROTECTED]   
 m>To 
"Tapestry users"  
 10/22/2007 09:19  
 AMcc 
  
  Subject 
 Please respond to  Re: Tap 4.0.2 to 4.1.2 migration loop 
  "Tapestry users"  / ognl issue  
 <[EMAIL PROTECTED]   
 ache.org>
  
  
  
  




Yes,  it would make a big difference.   I'll need to create a unit
test to re-produce the runtime behavior so anything you know about the
object structure will help a great deal.  (in the form of jira ticket
knowledge)

On 10/22/07, Dom Couldwell <[EMAIL PROTECTED]> wrote:
> I should point out that the underlying implementation is a List of Lists not
> an actual 2D Array, don't know if that makes any difference.
>
> Dom Couldwell
> Global Markets Research
> +1(212)250-7082
>
>
>
>
>  "Jesse Kuhnert"
>  <[EMAIL PROTECTED]
>  m>
To
> "Tapestry users"
>  10/22/2007 08:53   
>  AM
cc
>
>
Subject
>  Please respond to  Re: Tap 4.0.2 to 4.1.2 migration
loop
>   "Tapestry users"  / ognl issue
>  <[EMAIL PROTECTED]
>      ache.org>
>
>
>
>
>
>
>
>
> Yes,  I think it's probably the 2d array causing my problems.   Should
> be a fix for it later today.  (evening EST )
>
> On 10/22/07, Dom Couldwell <[EMAIL PROTECTED]> wrote:
> > Anything in particular that you would suggest? Some of the underlying code
> is
> > dictating some of this (e.g. the use of the 2D array of booleans).
> >
> > Dom Couldwell
> > Global Markets Research
> > +1(212)250-7082
> >
> >
> >
> >
> >  andyhot
> >  <[EMAIL PROTECTED]
> >  >
> To
> >  Sent by: Andreas   Tapestry users
> >  Andreou
> >  <[EMAIL PROTECTED]
> cc
> >  m>
> >
> Subject
> > Re: Tap 4.0.2 to 4.1.2 migration
> loop
> >  10/19/2007 05:32   / ognl issue
> >  PM
> >
> >
> >  Please respond to
> >   "Tapestry users"
> >  <[EMAIL PROTECTED]
> >  ache.org>
> >
> >
> >
> >
> >
> >
> > But i 1would point out that this is a good opportunity to clean up your
> > markup
> >
> > Jesse Kuhnert wrote:
> > > Sounds like it's just an OGNL bug.   If you file it here I should be
> > > able to fix it fairly quickly as it looks like something that'll be
> > > easy to do:
> > >
> > > http://jira.opensymphony.com/browse/OGNL
> > >
> > > (the fix will come in the form of a new 2.7.2-SNAPSHOT build off of
> > > http://opencomponentry.com/repository/ )
> > >
> > > On 10/19/07, Dom Couldwell <[EMAIL PROTECTED]> wrote:
> > >
> > >> Hi,
> > >>
> > >> I'm migrating an existing project which uses 4.0.2 to use 4.1.2 and I'm
> > having
> > >> and ognl / loop related issue.
> > >>
> > >> Here's the snippet that works on 4.0.2
> > >>
> > >>> >>   source="ognl:tab.searchCriteriaOptions"
> > >>  

Re: Tap 4.0.2 to 4.1.2 migration loop / ognl issue

2007-10-22 Thread Dom Couldwell
I should point out that the underlying implementation is a List of Lists not
an actual 2D Array, don't know if that makes any difference.

Dom Couldwell
Global Markets Research
+1(212)250-7082



  
 "Jesse Kuhnert"  
 <[EMAIL PROTECTED]   
 m>To 
"Tapestry users"  
 10/22/2007 08:53  
 AMcc 
  
  Subject 
 Please respond to  Re: Tap 4.0.2 to 4.1.2 migration loop 
  "Tapestry users"  / ognl issue  
 <[EMAIL PROTECTED]   
 ache.org>
  
  
  
  




Yes,  I think it's probably the 2d array causing my problems.   Should
be a fix for it later today.  (evening EST )

On 10/22/07, Dom Couldwell <[EMAIL PROTECTED]> wrote:
> Anything in particular that you would suggest? Some of the underlying code
is
> dictating some of this (e.g. the use of the 2D array of booleans).
>
> Dom Couldwell
> Global Markets Research
> +1(212)250-7082
>
>
>
>
>  andyhot
>  <[EMAIL PROTECTED]
>  >
To
>  Sent by: Andreas   Tapestry users
>  Andreou
>  <[EMAIL PROTECTED]
cc
>  m>
>
Subject
> Re: Tap 4.0.2 to 4.1.2 migration
loop
>  10/19/2007 05:32   / ognl issue
>  PM
>
>
>  Please respond to
>   "Tapestry users"
>  <[EMAIL PROTECTED]
>  ache.org>
>
>
>
>
>
>
> But i 1would point out that this is a good opportunity to clean up your
> markup
>
> Jesse Kuhnert wrote:
> > Sounds like it's just an OGNL bug.   If you file it here I should be
> > able to fix it fairly quickly as it looks like something that'll be
> > easy to do:
> >
> > http://jira.opensymphony.com/browse/OGNL
> >
> > (the fix will come in the form of a new 2.7.2-SNAPSHOT build off of
> > http://opencomponentry.com/repository/ )
> >
> > On 10/19/07, Dom Couldwell <[EMAIL PROTECTED]> wrote:
> >
> >> Hi,
> >>
> >> I'm migrating an existing project which uses 4.0.2 to use 4.1.2 and I'm
> having
> >> and ognl / loop related issue.
> >>
> >> Here's the snippet that works on 4.0.2
> >>
> >>>>   source="ognl:tab.searchCriteriaOptions"
> >>   value="ognl:currentFilterGroup"
> >>   index="ognl:currentFilterGroupIndex">
> >>  >>  element="literal:td"
> >>  condition="ognl:tab.searchCriteria[currentFilterGroupIndex]
!=
> >> null"
> >>  class="ognl:'filter' +
> >> getFilterColumnStyle(currentFilterGroupIndex)">
> >>  >> multiple="literal:false"
> >> size="10"
> >> onchange=
> >>
>
"ognl:'searchSubmit(\''[EMAIL PROTECTED]@FILTER+'\',

>
> >>  '+currentFilterGroupIndex+');'"
> >>
> >>>>source="ognl:currentFilterGroup"
> >>value="ognl:currentFilter"
> >>index="ognl:currentFilterIndex">
> >>>>   selected=
> >>
>
"ognl:tab.searchCriteriaSelections[currentFilterGroupIndex][currentFilterIndex]"

>
> >>   label="ognl:currentFilter">
> >>   
> >>   
> >> 
> >> 

Re: Tap 4.0.2 to 4.1.2 migration loop / ognl issue

2007-10-22 Thread Dom Couldwell
Anything in particular that you would suggest? Some of the underlying code is
dictating some of this (e.g. the use of the 2D array of booleans).

Dom Couldwell
Global Markets Research
+1(212)250-7082



  
 andyhot  
 <[EMAIL PROTECTED]   
 > To 
 Sent by: Andreas   Tapestry users
 Andreou   
 <[EMAIL PROTECTED]cc 
 m>   
  Subject 
Re: Tap 4.0.2 to 4.1.2 migration loop 
 10/19/2007 05:32   / ognl issue  
 PM   
  
  
 Please respond to
  "Tapestry users"
 <[EMAIL PROTECTED]   
 ache.org>
  
  




But i 1would point out that this is a good opportunity to clean up your
markup

Jesse Kuhnert wrote:
> Sounds like it's just an OGNL bug.   If you file it here I should be
> able to fix it fairly quickly as it looks like something that'll be
> easy to do:
>
> http://jira.opensymphony.com/browse/OGNL
>
> (the fix will come in the form of a new 2.7.2-SNAPSHOT build off of
> http://opencomponentry.com/repository/ )
>
> On 10/19/07, Dom Couldwell <[EMAIL PROTECTED]> wrote:
>
>> Hi,
>>
>> I'm migrating an existing project which uses 4.0.2 to use 4.1.2 and I'm
having
>> and ognl / loop related issue.
>>
>> Here's the snippet that works on 4.0.2
>>
>>   >   source="ognl:tab.searchCriteriaOptions"
>>   value="ognl:currentFilterGroup"
>>   index="ognl:currentFilterGroupIndex">
>> >  element="literal:td"
>>  condition="ognl:tab.searchCriteria[currentFilterGroupIndex] !=
>> null"
>>  class="ognl:'filter' +
>> getFilterColumnStyle(currentFilterGroupIndex)">
>> > multiple="literal:false"
>> size="10"
>> onchange=
>>
"ognl:'searchSubmit(\''[EMAIL PROTECTED]@FILTER+'\',

>>  '+currentFilterGroupIndex+');'"
>>
>>   >source="ognl:currentFilterGroup"
>>value="ognl:currentFilter"
>>index="ognl:currentFilterIndex">
>>   >   selected=
>>
"ognl:tab.searchCriteriaSelections[currentFilterGroupIndex][currentFilterIndex]"

>>   label="ognl:currentFilter">
>>   
>>   
>> 
>> 
>>   
>>
>> But under 4.1.2 it's giving me the error:
>>
>> 2007-10-19 16:31:13,878, ERROR,
>> [org.apache.tapestry.services.impl.HiveMindExpressionCompiler], line 179,
>> Error generating OGNL getter for expression
>> tab.searchCriteriaSelections[currentFilterGroupIndex][currentFilterIndex]
with
>> root [EMAIL PROTECTED]/$Search] and body:
>> { return  ($w)
>>
(((java.util.List)(($Search_91)$2).getTab().getSearchCriteriaSelections()).get((($Search_91)$2).getCurrentFilterGroupIndex())).get(((java.util.List)(($Search_91)$2).getCurrentFilterIndex()));}

>> org.apache.hivemind.ApplicationRuntimeException: Unable to add method
>> java.lang.Object get(ognl.OgnlContext, java.lang.Object) to class
>> $ASTChain_115b9f4b263: [source error] get(java.util.List) not found in
>> java.lang.Object
>>   at
>> org.apache.tapestry.enhance.ClassFabImpl.addMethod(ClassFabImpl.java:278)
>> ...
>> Caused by: javassist.CannotCompileException: [source error]
>> get(java.util.List) not 

Re: Tap 4.0.2 to 4.1.2 migration loop / ognl issue

2007-10-22 Thread Dom Couldwell
Tapestry version should be 4.1.3 not 4.1.2, apologies on the typo. I've
updated the JIRA as well.

Dom Couldwell
Global Markets Research
+1(212)250-7082



  
     Dom Couldwell
  
To 
"Tapestry users"  
 10/19/2007 05:31  
 PMcc 
  
  Subject 
 Please respond to  Re: Tap 4.0.2 to 4.1.2 migration loop 
  "Tapestry users"  / ognl issue  
 <[EMAIL PROTECTED]   
 ache.org>
  
  
  
  




Done

http://jira.opensymphony.com/browse/OGNL-130

Thanks,

Dom

Dom Couldwell
Global Markets Research
+1(212)250-7082




 "Jesse Kuhnert"
 <[EMAIL PROTECTED]
 m>To
"Tapestry users"
 10/19/2007 05:23   
 PMcc

  Subject
 Please respond to  Re: Tap 4.0.2 to 4.1.2 migration loop
  "Tapestry users"  / ognl issue
 <[EMAIL PROTECTED]
 ache.org>








Sounds like it's just an OGNL bug.   If you file it here I should be
able to fix it fairly quickly as it looks like something that'll be
easy to do:

http://jira.opensymphony.com/browse/OGNL

(the fix will come in the form of a new 2.7.2-SNAPSHOT build off of
http://opencomponentry.com/repository/ )

On 10/19/07, Dom Couldwell <[EMAIL PROTECTED]> wrote:
>
> Hi,
>
> I'm migrating an existing project which uses 4.0.2 to use 4.1.2 and I'm
having
> and ognl / loop related issue.
>
> Here's the snippet that works on 4.0.2
>
>  source="ognl:tab.searchCriteriaOptions"
>   value="ognl:currentFilterGroup"
>   index="ognl:currentFilterGroupIndex">
>   element="literal:td"
>  condition="ognl:tab.searchCriteria[currentFilterGroupIndex] !=
> null"
>  class="ognl:'filter' +
> getFilterColumnStyle(currentFilterGroupIndex)">
>  multiple="literal:false"
> size="10"
> onchange=
>
"ognl:'searchSubmit(\''[EMAIL PROTECTED]@FILTER+'\',


>  '+currentFilterGroupIndex+');'"
> >
>   source="ognl:currentFilterGroup"
>value="ognl:currentFilter"
>index="ognl:currentFilterIndex">
>  selected=
>
"ognl:tab.searchCriteriaSelections[currentFilterGroupIndex][currentFilterIndex]"


>   label="ognl:currentFilter">
>   
>   
> 
> 
>   
>
> But under 4.1.2 it's giving me the error:
>
> 2007-10-19 16:31:13,878, ERROR,
> [org.apache.tapestry.services.impl.HiveMindExpressionCompiler], line 179,
> Error generating OGNL getter for expression
> tab.searchCriteriaSelections[currentFilterGroupIndex][currentFilterIndex]
with
> root [EMAIL PROTECTED]/$Search] and body:
> { return  ($w)
>
(((java.util.List)(($Search_91)$2).getTab().getSearchCriteriaSelections()).get((($Search_91)$2).getCurrentFilterGroupIndex())).get(((java.util.List)(($Search_91)$2).getCurrentFilterIndex()));}


> org.apache.hivemind.ApplicationRuntimeException: Unable to add method
> java.lang.Object get(ognl.OgnlContext, java.lang.Object) to class
> $ASTChain_115b9f4b263: [source error] get(java.util.List) not found in
> java.lang.Object
>   at
> org.apache.tapestry.enhance.ClassFabImpl.addMethod(ClassFabImpl.java:278)
> ...
> Caused by: javassist.CannotCompileException: [source error]
> get(jav

Re: Tap 4.0.2 to 4.1.2 migration loop / ognl issue

2007-10-19 Thread Dom Couldwell
Done

http://jira.opensymphony.com/browse/OGNL-130

Thanks,

Dom

Dom Couldwell
Global Markets Research
+1(212)250-7082



  
 "Jesse Kuhnert"  
 <[EMAIL PROTECTED]   
 m>To 
"Tapestry users"  
 10/19/2007 05:23  
 PMcc 
  
  Subject 
 Please respond to  Re: Tap 4.0.2 to 4.1.2 migration loop 
  "Tapestry users"  / ognl issue  
 <[EMAIL PROTECTED]   
 ache.org>
  
  
  
  




Sounds like it's just an OGNL bug.   If you file it here I should be
able to fix it fairly quickly as it looks like something that'll be
easy to do:

http://jira.opensymphony.com/browse/OGNL

(the fix will come in the form of a new 2.7.2-SNAPSHOT build off of
http://opencomponentry.com/repository/ )

On 10/19/07, Dom Couldwell <[EMAIL PROTECTED]> wrote:
>
> Hi,
>
> I'm migrating an existing project which uses 4.0.2 to use 4.1.2 and I'm
having
> and ognl / loop related issue.
>
> Here's the snippet that works on 4.0.2
>
>  source="ognl:tab.searchCriteriaOptions"
>   value="ognl:currentFilterGroup"
>   index="ognl:currentFilterGroupIndex">
>   element="literal:td"
>  condition="ognl:tab.searchCriteria[currentFilterGroupIndex] !=
> null"
>  class="ognl:'filter' +
> getFilterColumnStyle(currentFilterGroupIndex)">
>  multiple="literal:false"
> size="10"
> onchange=
>
"ognl:'searchSubmit(\''[EMAIL PROTECTED]@FILTER+'\',

>  '+currentFilterGroupIndex+');'"
> >
>   source="ognl:currentFilterGroup"
>value="ognl:currentFilter"
>index="ognl:currentFilterIndex">
>  selected=
>
"ognl:tab.searchCriteriaSelections[currentFilterGroupIndex][currentFilterIndex]"

>   label="ognl:currentFilter">
>   
>   
> 
> 
>   
>
> But under 4.1.2 it's giving me the error:
>
> 2007-10-19 16:31:13,878, ERROR,
> [org.apache.tapestry.services.impl.HiveMindExpressionCompiler], line 179,
> Error generating OGNL getter for expression
> tab.searchCriteriaSelections[currentFilterGroupIndex][currentFilterIndex]
with
> root [EMAIL PROTECTED]/$Search] and body:
> { return  ($w)
>
(((java.util.List)(($Search_91)$2).getTab().getSearchCriteriaSelections()).get((($Search_91)$2).getCurrentFilterGroupIndex())).get(((java.util.List)(($Search_91)$2).getCurrentFilterIndex()));}

> org.apache.hivemind.ApplicationRuntimeException: Unable to add method
> java.lang.Object get(ognl.OgnlContext, java.lang.Object) to class
> $ASTChain_115b9f4b263: [source error] get(java.util.List) not found in
> java.lang.Object
>   at
> org.apache.tapestry.enhance.ClassFabImpl.addMethod(ClassFabImpl.java:278)
> ...
> Caused by: javassist.CannotCompileException: [source error]
> get(java.util.List) not found in java.lang.Object
>   at javassist.CtBehavior.setBody(CtBehavior.java:347)
>   at javassist.CtBehavior.setBody(CtBehavior.java:316)
>   at
> org.apache.tapestry.enhance.ClassFabImpl.addMethod(ClassFabImpl.java:272)
>   ... 161 more
> Caused by: compile error: get(java.util.List) not found in java.lang.Object
> ...
>
> Should we be using different ognl syntax for the new version of Tapestry?
>
> I've tried updating the problem line to
> selected=
>
"ognl:getTab().getSearchCriteriaSelections().get(currentFilterGroupIndex).get(currentFilterIndex)"

>
> which works when the page serves but

Tap 4.0.2 to 4.1.2 migration loop / ognl issue

2007-10-19 Thread Dom Couldwell

Hi,

I'm migrating an existing project which uses 4.0.2 to use 4.1.2 and I'm having
and ognl / loop related issue.

Here's the snippet that works on 4.0.2

  


  
  
  
  


  

But under 4.1.2 it's giving me the error:

2007-10-19 16:31:13,878, ERROR,
[org.apache.tapestry.services.impl.HiveMindExpressionCompiler], line 179,
Error generating OGNL getter for expression
tab.searchCriteriaSelections[currentFilterGroupIndex][currentFilterIndex] with
root [EMAIL PROTECTED]/$Search] and body:
{ return  ($w)
(((java.util.List)(($Search_91)$2).getTab().getSearchCriteriaSelections()).get((($Search_91)$2).getCurrentFilterGroupIndex())).get(((java.util.List)(($Search_91)$2).getCurrentFilterIndex()));}
org.apache.hivemind.ApplicationRuntimeException: Unable to add method
java.lang.Object get(ognl.OgnlContext, java.lang.Object) to class
$ASTChain_115b9f4b263: [source error] get(java.util.List) not found in
java.lang.Object
  at
org.apache.tapestry.enhance.ClassFabImpl.addMethod(ClassFabImpl.java:278)
...
Caused by: javassist.CannotCompileException: [source error]
get(java.util.List) not found in java.lang.Object
  at javassist.CtBehavior.setBody(CtBehavior.java:347)
  at javassist.CtBehavior.setBody(CtBehavior.java:316)
  at
org.apache.tapestry.enhance.ClassFabImpl.addMethod(ClassFabImpl.java:272)
  ... 161 more
Caused by: compile error: get(java.util.List) not found in java.lang.Object
...

Should we be using different ognl syntax for the new version of Tapestry?

I've tried updating the problem line to
selected=
"ognl:getTab().getSearchCriteriaSelections().get(currentFilterGroupIndex).get(currentFilterIndex)"

which works when the page serves but does not write the values back to the
page:

2007-10-19 17:01:08,272, ERROR, [com.db.rdq.web.tapestry.html.RDQException],
line 22, org.apache.tapestry.BindingException
2007-10-19 17:01:08,272, ERROR, [com.db.rdq.web.tapestry.html.RDQException],
line 23, Unable to update OGNL expression '' of
[EMAIL PROTECTED]/$Search] to true: Inappropriate OGNL expression:
get(currentFilterIndex)
2007-10-19 17:01:08,272, ERROR, [com.db.rdq.web.tapestry.html.RDQException],
line 32,
2007-10-19 17:01:08,272, ERROR, [com.db.rdq.web.tapestry.html.RDQException],
line 44,
binding|ExpressionBinding[Home/$Search
getTab().getSearchCriteriaSelections().get(currentFilterGroupIndex).get(currentFilterIndex)]
location|context:/WEB-INF/Search.html, line 106
2007-10-19 17:01:08,272, ERROR, [com.db.rdq.web.tapestry.html.RDQException],
line 22, org.apache.hivemind.ApplicationRuntimeException
2007-10-19 17:01:08,287, ERROR, [com.db.rdq.web.tapestry.html.RDQException],
line 23, Unable to update OGNL expression '' of
[EMAIL PROTECTED]/$Search] to true: Inappropriate OGNL expression:
get(currentFilterIndex)
2007-10-19 17:01:08,287, ERROR, [com.db.rdq.web.tapestry.html.RDQException],
line 32,
2007-10-19 17:01:08,287, ERROR, [com.db.rdq.web.tapestry.html.RDQException],
line 44,
component|[EMAIL PROTECTED]/$Search]
location|context:/WEB-INF/Home.html, line 51
2007-10-19 17:01:08,287, ERROR, [com.db.rdq.web.tapestry.html.RDQException],
line 22, ognl.InappropriateExpressionException

Any ideas?

Thanks,

Dom Couldwell
Global Markets Research

---

This e-mail may contain confidential and/or privileged information. If you
are not the intended recipient (or have received this e-mail in error)
please notify the sender immediately and destroy this e-mail. Any
unauthorized copying, disclosure or distribution of the material in this
e-mail is strictly forbidden.


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



Re: Complex Bindings with Contrib Table

2006-10-19 Thread Dom Couldwell
I did something recently that might be of use, it was not pretty though...

Basically the underlying page returned a list of MarketData objects (POJOs) 
that each have a method called getMarketData(String key) on them that pulled 
data from a map
i.e. each Market Data object held a number of pieces of data keyed by Strings.

For the Contrib table definition the definition was:

  



  

Where the getTableColumns() method on the underlying page returned something 
like:

data0:displayName1:getMarketDate('key1'),data1:displayName2:getMarketDate('key2'),data2:displayName3:getMarketDate('key3')

e.g.

data0:Mid Price:getMarketDate('Mid_Price'),data1:Mid 
Yield:getMarketDate('Mid_Yield'),data2:Ask Price:getMarketDate('Ask Price')

And the getResults() method returned a list of the MarketData objects

in the .html I then had something like:


  


  


  


This is a simplified version as the original had a lot more junk...

the getKeys method returns a list of Strings that corresponds to the keys used 
to build up the original tableColumns list

You can have as many of the above Block definitions as you like to cater for up 
to the maximum number of columns of data you want to show but they will only be 
rendered for the number of columns that you declare in your table columns.

As I said it's not pretty but it did work... I did try to get it to render the 
above blocks in a For loop but could not work out how to generate them 
dynamically.

I should also point out that I'm relatively new to Tapestry so there may be 
others with far better solutions. In the end I also binned the Contrib table 
and did it myself which made for much neater code.

Dom















  
 "Daniel Jue" <[EMAIL PROTECTED]>   











 












  
 10/18/2006 06:50 PM

 

Re: beware new 4.1.1 snapshot builds

2006-10-03 Thread Dom Couldwell
yes, sorry should have tried that.

Dom Couldwell
Global Markets Research
+1(212)250-7082















  
 "Jesse Kuhnert" <[EMAIL PROTECTED]>











 












  
 10/03/2006 03:46 PM











   To 





   

Re: beware new 4.1.1 snapshot builds

2006-10-03 Thread Dom Couldwell
Hmm, seem to be getting the following debug when I redeploy our site after 
pulling down the latest 4.1.1 snapshot

DEBUG: failed loading 
http://dbnycws72331.dbg.ads.db.com:8080/RDQ/app?service=asset&path=%2Fdojo%2F../tapestry/namespace.js
 with error: [TypeError: dojo.registerModulePath is not a function, file: 
http://dbnycws72331.dbg.ads.db.com:8080/RDQ/app?service=asset&path=%2Fdojo%2Fdojo.js,
 line: 203]

Was not getting this error before I pulled down the latest snapshot.

Any ideas as to what has changed in the snapshot that's causing this error to 
appear? It's not causing any functional problems as far as I can see just 
bringing up this debug but I want to be sure there's not something under the 
hood broken.

This line appears in the header and does not appear to have been there prior to 
pulling down the latest snapshot:

dojo.require("tapestry.namespace")

I did a clean maven build of the project before redeploying so I'm assuming I 
should have pulled down everything we require..

Dom Couldwell















  
 "Josh Long" <[EMAIL PROTECTED]>











   












 

Refreshing popup links

2006-09-11 Thread Dom Couldwell

Hi,

I'm having a problem with asynchronous refreshes of table data not refreshing 
the associated popup link javascript.

Basically I've got a set of tabs, under each tab there's a table and I switch 
between tabs using a DirectLink which asynchronously refreshes the contents of 
the display table
Each display table contains a set of values which are also ExternalLinks to a 
popup page. The popup links are generated using the popupRenderer renderer on 
top of and ExternalLink.

The problem comes when you switch between panes. The table data refreshes OK 
but the popup link javascript is not refreshed so the popup_window_7 javascript 
function is still pointing to what used to be item 7 in the previously 
displayed table, not item 7 in the newly updated table.

I could work around this by not making the tab switching asynchronous but 
that's just ugly. Is there any way I can get the javascript re-rendered at the 
same time as the content table is refreshed? Can I somehow add another 
component to the updateComponents list of the async DirectLink?

Thanks,

Dom

--
This e-mail may contain confidential and/or privileged information. If you are 
not the intended recipient (or have received this e-mail in error) please 
notify the sender immediately and destroy this e-mail. Any unauthorized 
copying, disclosure or distribution of the material in this e-mail is strictly 
forbidden.


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



Re: Shell renderBaseTag flag

2006-08-16 Thread Dom Couldwell




I'll update the docs to more clearly state that
renderBaseTag relates to the  tag found inside of 

If you don't want  written, do not use the @Shell


Dom Couldwell wrote:
> OK, this may just be down to the fact that it's the end of a very long day 
> but...
>
> does the renderBaseTag parameter of the Shell component actually work?
>
> see http://tapestry.apache.org/tapestry4.1/components/Shell.html
>
> I've tried setting it to false but it still keeps on rendering the  
> element at the top of the document. I really don't want it as I'm trying to 
> produce XML for an RSS feed.
>
> Dom
> --
> This e-mail may contain confidential and/or privileged information. If you 
> are not the intended recipient (or have received this e-mail in error) please 
> notify the sender immediately and destroy this e-mail. Any unauthorized 
> copying, disclosure or distribution of the material in this e-mail is 
> strictly forbidden.
>
>
> -
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>
>


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


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




--
This e-mail may contain confidential and/or privileged information. If you are 
not the intended recipient (or have received this e-mail in error) please 
notify the sender immediately and destroy this e-mail. Any unauthorized 
copying, disclosure or distribution of the material in this e-mail is strictly 
forbidden.


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



Shell renderBaseTag flag

2006-08-16 Thread Dom Couldwell

OK, this may just be down to the fact that it's the end of a very long day 
but...

does the renderBaseTag parameter of the Shell component actually work?

see http://tapestry.apache.org/tapestry4.1/components/Shell.html

I've tried setting it to false but it still keeps on rendering the  
element at the top of the document. I really don't want it as I'm trying to 
produce XML for an RSS feed.

Dom
--
This e-mail may contain confidential and/or privileged information. If you are 
not the intended recipient (or have received this e-mail in error) please 
notify the sender immediately and destroy this e-mail. Any unauthorized 
copying, disclosure or distribution of the material in this e-mail is strictly 
forbidden.


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



EventListener follow up event

2006-08-15 Thread Dom Couldwell

Hi,

I'm trying to implement a pretty simple menu structure that supposed to update 
the menu tree when a given link is clicked and also update the content of the 
page. I've got it working but only for the first click...
First time I click on one of the given links the tree expands to show the sub 
menu and the content div (main_content) updates to display the name of the link 
that the user has selected. Problem is when I then click on another link 
nothing happens. If I refresh the page then I can click on another link again.

Any ideas as to what I'm doing wrong?

Also for the EventListeners is there a neater way of working out which link has 
been clicked rather than adding in all the elements to the EventListener 
annotation? It's not really a sustainable solution once the menu structure gets 
bigger. Ideally I'd want to pass through a parameter link you do with a regular 
listener (e.g. the parameters definition on a DirectLink) but I can't see where 
I could define this.

Relevant parts of html, page and java files are attached. I'm using the 4.1.1 
snapshot on Tomcat 5.0.1.9 with Firefox.

Thanks,

Dom

Home.html



  

  


  

  

  

  

  







Home.page



  
  
  



  
  
  


Home.java

@Persist("session")
public abstract List getMenuItems();
public abstract void setMenuItems(List items);

@Persist("session")
public abstract String getSelectedPage();
public abstract void setSelectedPage(String page);

@EventListener(events="onclick",
   elements={"introduction", "research", "biographies"},
   async=true)
public void menuSelect(BrowserEvent event){
String menu = (String)event.getTarget().get("id");
setSelectedPage(menu);

List items = getMenuItems();
for (Iterator iter = items.iterator(); iter.hasNext();) {

MenuItem element = (MenuItem) iter.next();
if(element.getId().equals(menu)){
element.setExpanded(true);
} else {
element.setExpanded(false);
}
}
getRequestCycle().getResponseBuilder().updateComponent("main_menu");
getRequestCycle().getResponseBuilder().updateComponent("main_content");
}

@EventListener(events="onclick",
   targets = "article_1, article_2, article_3",
   async=true)
public void subMenuSelect(BrowserEvent event){
setSelectedPage((String)event.getTarget().get("id"));

getRequestCycle().getResponseBuilder().updateComponent("main_content");
}

--
This e-mail may contain confidential and/or privileged information. If you are 
not the intended recipient (or have received this e-mail in error) please 
notify the sender immediately and destroy this e-mail. Any unauthorized 
copying, disclosure or distribution of the material in this e-mail is strictly 
forbidden.


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



Re: Tapestry 4.1 + Dojo Tabs

2006-08-10 Thread Dom Couldwell
 




Thanks for sticking in there Dom.

I've fixed/ehanced the listener method invocation logic so this should work
now. (You can also have your IRequestCycle or BrowserEvent parameters appear
in any order you like in the method, even mixed in randomly with your other
parameters. )

Changes should be deployed to the maven2 snapshot repo in the next couple of
minutes.

On 8/9/06, Jesse Kuhnert <[EMAIL PROTECTED]> wrote:
>
> Ok thanks Dom. (and sorry...I have found the problem and have started a
> test case. )
>
> You can expect a new snapshot later tonight that fixes this issue.
>
>
> On 8/9/06, Dom Couldwell <[EMAIL PROTECTED]> wrote:
> >
> > OK, I've tried this with the latest snapshot as well and get the same
> > problem.
> >
> > I've raised a JIRA ticket:
> >
> > https://issues.apache.org/jira/browse/TAPESTRY-1051
> >
> > Dom Couldwell
> > Global Markets Research
> > +1(212)250-7082
> >
> >
> >
> >
> >  "Jesse Kuhnert" <[EMAIL PROTECTED]>
> >
> >  08/09/2006 04:49
> > PM
> > To
> > 
> > 
> > 
> > 
> > 
> > "Tapestry
> > users" < users@tapestry.apache.org>
> >
> > cc
> >
> > Please respond to
> > 
> > 
> > "Tapestry
> > users" < users@tapestry.apache.org> 
> > 
> > 
> > 
> > 
> > 
> > 
> > 
> > 
> > 
> >  Subject
> >
> > 
> > 
> > 
> > 
> >     
> > Re:
> > Tapestry 4.1 + Dojo Tabs
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> > HmmI don't remember fixing anything specific to BrowserEvent since
> > then,
> > but yes...More or less the snapshot builds are slowly having fixes made
> > to
> > them almost every day.
> >
> > I would reccomend moving to them if you are already on 4.1.
> >
> > On 8/9/06, Dom Couldwell <[EMAIL PROTECTED]> wrote:
> > >
> > > Yep, Browser was a typo in my email, Br

Re: Tapestry 4.1 + Dojo Tabs

2006-08-09 Thread Dom Couldwell
OK, I've tried this with the latest snapshot as well and get the same problem.

I've raised a JIRA ticket:

https://issues.apache.org/jira/browse/TAPESTRY-1051

Dom Couldwell
Global Markets Research
+1(212)250-7082















  
 "Jesse Kuhnert" <[EMAIL PROTECTED]>











 












  
 08/09/2006 04:49 PM











   To 




  

Re: Tapestry 4.1 + Dojo Tabs

2006-08-09 Thread Dom Couldwell
  




Everything sounds reasonable to me. I've been able to add BrowserEvent (not
"Browser" that you listed in your example) to the page here:
http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-examples/TimeTracker/src/java/org/apache/tapestry/timetracker/page/TaskEntryPage.java?view=markup


If you can't make it work can you file a JIRA issue so I can work on this
later tonight?

On 8/9/06, Dom Couldwell <[EMAIL PROTECTED]> wrote:
>
> All I've done is add in the BrowserEvent parameter into the method in the
> java class. This results in the error I described.
>
> Please let me know if there is anything else I need to do or if this is a
> bug.
>
> Thanks,
>
> Dom
>
> Dom Couldwell
> Global Markets Research
> +1(212)250-7082
>
>
>
>
>  "Jesse Kuhnert" <[EMAIL PROTECTED]>
>
>  08/09/2006 03:23
> PM
> To
>   
>   
>   
>   
>   
>   "Tapestry
> users" 
>
> cc
>
> Please respond to
>   
>   
> "Tapestry
> users"  > 
> > 
> > 
> > 
> > 
> > 
> > 
> > 
> > 
> >  Subject
>   
>   
>   
>   
>   
>       Re:
> Tapestry 4.1 + Dojo Tabs
>
>
>
>
>
>
>
>
>
>
> You shouldn't have to do anything other than define a BrowserEvent
> parameter.
>
> It's possible I have a bug wrt having BrowserEvent and other parameters
> set
> in the same method? If this is the case I will fix it asap.
>
> On 8/9/06, Dom Couldwell <[EMAIL PROTECTED]> wrote:
> >
> > OK, that seems to work now when I add in explicit calls to addChild in
> the
> > .script associated with the TabContainer component.
> >
> > Next question is about dynamically adding tabs.
> >
> > I can get a simple version of the Event Listener in Tapestry 4.1 working
> > ok where one form element can have a given event listened to e.g.
> onchange
> > for a select element.
> >
> > e.g.
> > @EventListener(events = "onchange",
> >elements   = "tabSelect",
> >submitForm = "myForm")
> > public void tabSelected(){
> > log.info("Hi");
> > }
> >
> >   
> >  >   value="ognl:selectedTab"
> >   model="ognl:tabs"/>
> > 
> >   
> >
> > But...I can't see how I can update the definition of the element to
> allow
> > me to use the EventListener with a method that includes a BrowserEvent
> or a
> > RequestCycle in the definition.
> > When I just update the m

Re: Tapestry 4.1 + Dojo Tabs

2006-08-09 Thread Dom Couldwell
All I've done is add in the BrowserEvent parameter into the method in the java 
class. This results in the error I described.

Please let me know if there is anything else I need to do or if this is a bug.

Thanks,

Dom

Dom Couldwell
Global Markets Research
+1(212)250-7082















  
 "Jesse Kuhnert" <[EMAIL PROTECTED]>











 












  
 08/09/2006 03:23 PM











   To 





  

Re: Tapestry 4.1 + Dojo Tabs

2006-08-09 Thread Dom Couldwell
OK, that seems to work now when I add in explicit calls to addChild in the 
.script associated with the TabContainer component.

Next question is about dynamically adding tabs.

I can get a simple version of the Event Listener in Tapestry 4.1 working ok 
where one form element can have a given event listened to e.g. onchange for a 
select element.

e.g.
@EventListener(events = "onchange",
   elements   = "tabSelect",
   submitForm = "myForm")
public void tabSelected(){
log.info("Hi");
}

  


  

But...I can't see how I can update the definition of the element to allow me to 
use the EventListener with a method that includes a BrowserEvent or a 
RequestCycle in the definition.
When I just update the method I get an error telling me it can't find a version 
of the method with no parameters
I need to capture the browser event in order to know what the user has selected 
so I can add the correct tab.

e.g.
@EventListener(events = "onchange",
   elements   = "tabSelect",
   submitForm = "myForm")
public void tabSelected(Browser event){
log.info("Hi");
}

Exception: no listener method named 'tabSelected' suitable for no parameters 
found in ...

Am I missing something obvious? I've tried looking through all the on-line docs 
but I can't find anything covering this.

Thanks,

Dom

Dom Couldwell
Global Markets Research
+1(212)250-7082














        
  
 Dom Couldwell <[EMAIL PROTECTED]>  











  












Re: Tapestry 4.1 + Dojo Tabs

2006-08-09 Thread Dom Couldwell
I think the addChild call has implicitly been made as the contents of the first 
tab are displayed, it's just the actual tabs at the tab of the screen that are 
missing.

I'll try adding in an explicit addChild call to the script of the LinkPane 
component.

Dom Couldwell
Global Markets Research
+1(212)250-7082















  
 "Jesse Kuhnert" <[EMAIL PROTECTED]>











 












  
 08/09/2006 10:20 AM











   To 




  

Tapestry 4.1 + Dojo Tabs

2006-08-09 Thread Dom Couldwell

Hi,

I'm trying to use Tapestry 4.1 to create a set of dynamic tabs using custom 
components.

I've got some if it to work using the components that I've written but I can't 
seem to get the tabs themselves to be created, just the content pane.

The main html looks like this:

  

  

  

  

Where the tabs component is just a For element.

The TabContainer component I've written seems to work ok and is rendered as I'd 
expect but the LinkPane doesn't seem to render the TabLabels correctly.
Here's the html that's produced according to Firebug:


  
  
..contents of first pane...
  


As you can see the dojoTabLabels attach point doesn't contain anything, this 
should contain a list of the tabs.


Here's the widget definitions produced in the html from the components script 
files:

 tapestry.widget.synchronizeWidgetState("Treasuries", 
"LinkPane", {"refreshOnShow":"true","href":"","label":"Treasuries","widgetId":"Treasuries"});


 tapestry.widget.synchronizeWidgetState("mainTabContainer", 
"TabContainer", {"selectedTab":"Treasuries","widgetId":"mainTabContainer"});

Any ideas as to what I'm missing?

Thanks,

Dom
--
This e-mail may contain confidential and/or privileged information. If you are 
not the intended recipient (or have received this e-mail in error) please 
notify the sender immediately and destroy this e-mail. Any unauthorized 
copying, disclosure or distribution of the material in this e-mail is strictly 
forbidden.


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