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"> &nbsp; </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]

Reply via email to