Bugs item #579131, was opened at 2002-07-09 10:40
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=104754&aid=579131&group_id=4754

Category: Tapestry
Group: bug
Status: Open
Resolution: None
Priority: 7
Submitted By: Howard Lewis Ship (hship)
Assigned to: Howard Lewis Ship (hship)
Summary: Load order problem with string-binding

Initial Comment:
Bindings get set during page load, but for <string-
binding>s, the engine property hasn't been set.

ValidField caches the value of the binding in 
setDisplayNameBinding().

NPE at AbstracTComponent.java:942

        public String getString(String key)
        {
            if (strings == null)
                strings = getPage().getEngine
().getComponentStringsSource().getStrings(this);
                
            return strings.getString(key);
        }
}

getEngine() returns null.

net.sf.tapestry.util.DynamicInvocationException 
Could not invoke method getDisplayNameBinding on 
net.sf.tapestry.valid.ValidField@4520eb
[Login/inputPassword]. 
   
java.lang.reflect.InvocationTargetException 
 
   
java.lang.NullPointerException 
 
Stack Trace: 
net.sf.tapestry.AbstractComponent.getString
(AbstractComponent.java:942)
net.sf.tapestry.binding.StringBinding.getObject
(StringBinding.java:69)
net.sf.tapestry.binding.AbstractBinding.getString
(AbstractBinding.java:112)
net.sf.tapestry.valid.ValidField.setDisplayNameBinding
(ValidField.java:182)
java.lang.reflect.Method.invoke(Native Method)
net.sf.tapestry.util.prop.PropertyAccessor.set
(PropertyAccessor.java:168)
net.sf.tapestry.AbstractComponent.setBinding
(AbstractComponent.java:676)
net.sf.tapestry.pageload.PageLoader.bind
(PageLoader.java:184)
net.sf.tapestry.pageload.PageLoader.setBindings
(PageLoader.java:518)
net.sf.tapestry.pageload.PageLoader.loadPage
(PageLoader.java:465)
net.sf.tapestry.pageload.PageSource.getPage
(PageSource.java:178)
net.sf.tapestry.engine.RequestCycle.getPage
(RequestCycle.java:223)
net.sf.tapestry.engine.PageService.service
(PageService.java:84)
net.sf.tapestry.engine.AbstractEngine.service
(AbstractEngine.java:743)
net.sf.tapestry.ApplicationServlet.doService
(ApplicationServlet.java:198)
net.sf.tapestry.ApplicationServlet.doGet
(ApplicationServlet.java:163) 


Solution:

Set the engine property early ... just after instantiating 
the page.

----------------------------------------------------------------------

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=104754&aid=579131&group_id=4754


-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Two, two, TWO treats in one.
http://thinkgeek.com/sf
_______________________________________________
Tapestry-developer mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/tapestry-developer

Reply via email to