Ok got it working. It turns out Seam Bijection was not the culprit. I was
trying to use an Embedded class in more than one entity, which I found out is a
bad thing. I have not been able to find any documentation that says you can't
do this but I'll leave that for a post on the Hibernate
The most basic description is that @In and @Out just replaces the glue code you
have to write to get things out of some context (Session, Request, Application
and, in Seam, Conversation scopes). Rather than having:
String param = request.getSession().get(param);
you have:
BTW, to answer your question, passing from sfsb to sfsb works the same way.
There is some context in between which has the value you're injecting, making
it available to any Seam component who is interested in it.
View the original post :
Ok, what I am struggling with is I have a component, Address, that is just a
POJO, not an entity. It is submitted via a form. It's inject into sfsb A
which then outjects it. By the time sfsb B comes along, the Address component
is null. Both A and B exist in a long running conversation.
Ok, this is weird. I had Address declared like this
| //sfsb A
|
| @In(required=false)
| @Out(required=false)
| private Address address
|
|
and Address kept nulling or falling out of scope more likley
when I changed it to this
| //sfsb A
|
| @In(required=false)
|
This is still a gray area for me. I have not seen a clear and complete
description of the implied scopes. Does it default to:
The scope of the bijected component, if any?
The bean which is injecting it?
Conversation unless specified otherwise?
Find in any scope?
Thus far, I have always
Ok, I am still having problems with Address getting injected into my second sfsb
Here is what is going on
A form is submitted to sfsb addressLocator via an actionListener on the
a4j:commandButton
h:form id=addressSearch_Form
| h:panelGrid columns=2
| //Form inputs here