As an addition: also pointing out what type of errors are likely to cause these errors would help. I know that mixing injection with components can give loader constraints, which is why i created an interface for SuperPage. Moreover, I can mimagine that cyclic references would cause errors as well. Are there any others that I should track in my code?
Thanks again, Geert-Jan Britske wrote: > > I'm going slightly insane on this one.. > that's because everything worked fine, and after some slight modifications > (none that could cause such errors I believe) I can't backtrack anymore > where things went wrong. > > The error I'm getting is this: > > Could not convert 'page.quickNavigation' into a component parameter > binding: java.lang.LinkageError: Class > com/wrappt/aroer/base/AbstractNavigationContainer violates loader > constraints. > for full stack-trace see entirely below. > > location > classpath:com/wrappt/aroer/components/BaseLayout.tml, line 122, column > 77 > 117 <div class="h plain"> > 118 <h2>Verfijn de resultaten</h2> > 119 </div> > 120 <div class="c"> > 121 <!-- <t:quickForm t:id="quickForm"/>--> > 122 <t:delegate t:id="quickFormDelegate" > t:to="page.quickNavigation"/> > <-- here it happens > 123 </div> > 124 <div class="f"> </div> > 125 </div> > 126 </div> > 127 </div> > > the setup is not that simple, but here it goes anyway: > > - baselayout is a basic layout that wraps all pages as implemented in an > abstract class called superPage. > - all pages extend SuperPage. > - SuperPage implements ISuperPage (for mixing services with components) > - all pages have a quicknavigation component , although their > implementation can be different. > - each quickNavigation-component inherits from AbstractNavigationContainer > (which is where the loader constraint happens) > > the relevant parts: > > BaseLayout > ---------------------- > @Parameter(required = true) > private ISuperPage page; > public ISuperPage getPage() > { > return (ISuperPage)page; > } > > > SuperPage (implements ISuperPage) > -------------- > @Component(parameters={"page=this"}) > private BaseLayout bl; > > public abstract AbstractNavigationContainer getQuickNavigation(); > > Aanbiedingen extends SuperPage > ---------------------------------- > @Component private QuickFormAllResults quickNavigation; > public QuickFormAllResults getQuickNavigation() { > return this.quickNavigation; > } > > Aanbiedingen.tml > ---------------------- > <t:baselayout t:id="bl" > xmlns:t="http://tapestry.apache.org/schema/tapestry_5_0_0.xsd"> > <t:block> > <t:quickformallresults t:id="quickNavigation"/> > </t:block> > ... > </t:baselayout> > > and finally: > QuickFormAllResults extends AbstractNavigationContainer > --------------------- > // nothing intersteing here > > > AbstractNavigationContainer > ------------------------------- > public SuperPage getPage() > { > ..... //uses componentresources to recursively traverse the tree upwards > until it finds a componet > of type SuperPage and returns that.. > } > > > I'm really out of options, as I can't seem to comment enough lines to make > it work: when i comment quicknavigation in baselayout.tml the error > simply shifts to another component that implements > AbstractNavigationContainer > > Thanks a lot for any help! > Geert-Jan > > p.s: i was on 5.0.7 SNAPSHOT and now back on 5.0.6 > > stacktrace: > Caused by: java.lang.LinkageError: Class > com/wrappt/aroer/base/AbstractNavigationContainer violates loader > constraints > at java.lang.ClassLoader.defineClass1(Native Method) > at java.lang.ClassLoader.defineClass(ClassLoader.java:620) > at > java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124) > at java.net.URLClassLoader.defineClass(URLClassLoader.java:260) > at java.net.URLClassLoader.access$100(URLClassLoader.java:56) > at java.net.URLClassLoader$1.run(URLClassLoader.java:195) > at java.security.AccessController.doPrivileged(Native Method) > at java.net.URLClassLoader.findClass(URLClassLoader.java:188) > at java.lang.ClassLoader.loadClass(ClassLoader.java:306) > at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:268) > at java.lang.ClassLoader.loadClass(ClassLoader.java:251) > at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319) > at java.lang.Class.getDeclaredMethods0(Native Method) > at java.lang.Class.privateGetDeclaredMethods(Class.java:2395) > at java.lang.Class.getDeclaredMethods(Class.java:1763) > at java.beans.Introspector$1.run(Introspector.java:1265) > at java.security.AccessController.doPrivileged(Native Method) > at > java.beans.Introspector.getPublicDeclaredMethods(Introspector.java:1263) > at java.beans.Introspector.getTargetMethodInfo(Introspector.java:1129) > at java.beans.Introspector.getBeanInfo(Introspector.java:387) > at java.beans.Introspector.getBeanInfo(Introspector.java:159) > at > org.apache.tapestry.ioc.internal.services.PropertyAccessImpl.buildAdapter(PropertyAccessImpl.java:85) > ... 72 more > -- View this message in context: http://www.nabble.com/T5%3A-Linkage-error-....-violates-loader-constraints-tp14460169p14460173.html Sent from the Tapestry - User mailing list archive at Nabble.com. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]