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 bound to address fields                      
        
  |     </h:panelGrid>
  |     <a4j:commandButton 
actionListener="#{addressLocator.findAddressByAddress}" 
  |             value="#{messages['AddressLookup.search']}"
  |             reRender="searchResults"/>
  |             
  | ...searchResults here....
  | 
  |     <h:panelGrid columns="1" rendered="#{address != null}">
  |             <h:outputText value="Address Not Found?"/>
  |             <h:commandLink value="Create a Service Request with the address 
you entered above" action="createRequestFromAddress"/>  
  |     </h:panelGrid>
  | </form>     

Here is the my first sfsb "AddressLocator"
@Stateful
  | @Name("addressLocator")
  | @Scope(ScopeType.CONVERSATION)
  | @SuppressWarnings("unchecked")
  | public class AddressLocatorAction implements AddressLocator {
  |  
  |     @In
  |     private EntityManager entityManager;  
  |     
  |     @In(required=false)
  |     @Out(scope=ScopeType.CONVERSATION, required=false)
  |     private Address address;  
  | 
  | 
  |     public AddressLocatorAction() {
  |     }
  | 
  |     public void findAddressByAddress(ActionEvent event) {
  |     //Uses address for query, address has value here
  |     }

after a dataTable "searchResults" is reRendered, the commandLink is pressed 
which calls requestManager.createRequestFromAddress()

@Stateful
  | @Name("requestManager")
  | @Scope(ScopeType.CONVERSATION)
  | public class RequestManagerAction implements 
com.stlouiscity.csb.ejb.action.RequestManager {
  |     
  |     @In
  |     private EntityManager entityManager; 
  |     
  |     @In
  |     private Address address;
  | 
  | 
  |     public RequestManagerAction() {
  |     }
  |     
  |     public void createRequestFromAddress() {
  |             serviceRequest = new ServiceRequest();
  | 
  |         //This is a different address instance than was outjected 
  |         //   by addressLocatorAction, fields are null
  |             serviceRequest.setAddress(address);
  |     }

The address component that is outjected from addressLocator is not the same 
instance that is injected into requestManager.  I can see the orginal address 
component on the seam debug page but a different instance belongs to 
serviceRequest on the debug page.  This is taking place in the scope of a long 
running conversation being managed by a jpdl pageflow.

Thanks again.

Thanks again.

View the original post : 
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4067167#4067167

Reply to the post : 
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4067167
_______________________________________________
jboss-user mailing list
jboss-user@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/jboss-user

Reply via email to