It looks like I can reproduce this issue easily.  For instance say I
have a page that contains:

@InjectState("visit")
public abstract Visit getVisitObj();

And have the exact same getter (annotation or not) in my component:

public abstract Visit getVisitObj();

The binding exception seems to occur.

Does this seem like correct behavior for tapestry?  I do this quite
often in my components because at times the page may not have the
visit or some other object that the page has, but other times it may.

Thoughts and help greatly appreciated



On 1/27/06, Chris Chiappone <[EMAIL PROTECTED]> wrote:
> At first I thought I could work around these issues but they seem to
> be popping up more and more throughout my application.  Its really
> becoming an issue for me.
>
> Ever since I have moved from .page and .jwc files to annotations I get
> these exceptions more often.
>
> I don't believe I am doing anything wrong with these annotations.  As
> you can see by the following one I have just declared a DelegateBean
> in my class.  Using
>
> @Bean(SimpleValidationDeleage)
> public abstract SimpleValidationDelegate getDelegate();
>
> That same Delegate is used on mulitple pages and in components.  From
> what I understand this should be acceptable.
>
> This issue also has sprung up on my declaring the same Persistent
> property on different pages or components using the @Persist
> annotation.
>
> I didn't run into these problems before I used annotations.  I'd also
> hate to have to go back to .page and .jwc files since there are so
> many files that I've changed.
>
> Here is an one of the exceptions:
>
> Exception invoking listener method searchLinkListener of component
> SearchResults/border.search: Error: An error occured processing
> annotation @org.apache.tapestry.annotations.Bean(value=class
> view.util.SimpleValidationDelegate, lifecycle=REQUEST, initializer=)
> of public abstract view.util.SimpleValidationDelegate
> view.components.BasicSearch.getDelegate(): Bean delegate has already
> been declared (at Annotation
> @org.apache.tapestry.annotations.Bean(value=class
> view.util.SimpleValidationDelegate, lifecycle=REQUEST, initializer=)
> of public abstract view.util.SimpleValidationDelegate
> view.components.BasicSearch.getDelegate()).
> binding: [EMAIL PROTECTED]
> parameter listener, component=SearchResults/border.search,
> methodName=searchLinkListener,
> location=context:/WEB-INF/BasicSearch.html, line 16]
> component: [EMAIL PROTECTED]/border.search]
> location: context:/WEB-INF/BasicSearch.html, line 16
> 11 <br>
> 12 <input jwcid="companyField"
> 13 autocomplete="off" size="20" id="txt1" /> <br>
> 14 <input jwcid="@Submit" name="Submit" label="message:submit" /></form>
> 15
> 16 <a jwcid="@DirectLink" listener="listener:searchLinkListener">
> 17 &raquo;&nbsp;<span key="advanced">Advanced</span>
> 18 </a>
> 19 </div>
> 20 </td>
> 21 </tr>
>
>
> org.apache.hivemind.ApplicationRuntimeException
> Error: An error occured processing annotation
> @org.apache.tapestry.annotations.Bean(value=class
> util.SimpleValidationDelegate, lifecycle=REQUEST, initializer=) of
> public abstract view.util.SimpleValidationDelegate
> view.components.BasicSearch.getDelegate(): Bean delegate has already
> been declared (at Annotation
> @org.apache.tapestry.annotations.Bean(value=class
> view.util.SimpleValidationDelegate, lifecycle=REQUEST, initializer=)
> of public abstract view.util.SimpleValidationDelegate
> view.components.BasicSearch.getDelegate()).
> location: Annotation @org.apache.tapestry.annotations.Bean(value=class
> view.util.SimpleValidationDelegate, lifecycle=REQUEST, initializer=)
> of public abstract view.util.SimpleValidationDelegate
> view.components.BasicSearch.getDelegate()
>
> org.apache.hivemind.ApplicationRuntimeException
> Bean delegate has already been declared (at Annotation
> @org.apache.tapestry.annotations.Bean(value=class
> view.util.SimpleValidationDelegate, lifecycle=REQUEST, initializer=)
> of public abstract view.util.SimpleValidationDelegate
> view.components.BasicSearch.getDelegate()).
> location: Annotation @org.apache.tapestry.annotations.Bean(value=class
> view.util.SimpleValidationDelegate, lifecycle=REQUEST, initializer=)
> of public abstract view.util.SimpleValidationDelegate
> view.components.BasicSearch.getDelegate()
> Stack Trace:
> org.apache.tapestry.spec.ComponentSpecification.addBeanSpecification(ComponentSpecification.java:410)
> org.apache.tapestry.annotations.BeanAnnotationWorker.performEnhancement(BeanAnnotationWorker.java:64)
> org.apache.tapestry.annotations.AnnotationEnhancementWorker.performMethodEnhancement(AnnotationEnhancementWorker.java:142)
> org.apache.tapestry.annotations.AnnotationEnhancementWorker.performMethodEnhancement(AnnotationEnhancementWorker.java:110)
> org.apache.tapestry.annotations.AnnotationEnhancementWorker.performEnhancement(AnnotationEnhancementWorker.java:70)
> $EnhancementWorker_1090cd8cc4b.performEnhancement($EnhancementWorker_1090cd8cc4b.java)
> $EnhancementWorker_1090cd8cc4d.performEnhancement($EnhancementWorker_1090cd8cc4d.java)
> $EnhancementWorker_1090cd8cc2d.performEnhancement($EnhancementWorker_1090cd8cc2d.java)
> org.apache.tapestry.services.impl.ComponentConstructorFactoryImpl.getComponentConstructor(ComponentConstructorFactoryImpl.java:97)
> $ComponentConstructorFactory_1090cd8cc1a.getComponentConstructor($ComponentConstructorFactory_1090cd8cc1a.java)
> org.apache.tapestry.pageload.PageLoader.instantiateComponent(PageLoader.java:531)
> org.apache.tapestry.pageload.PageLoader.createImplicitComponent(PageLoader.java:481)
>
>
>
> --
> ~chris
>


--
~chris

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

Reply via email to