[jboss-user] [JBoss Seam] - outject problem

laxu do-not-reply at jboss.com
Mon Feb 19 11:06:47 EST 2007


I already (http://www.jboss.com/index.html?module=bb&op=viewtopic&t=101517) had asked this in this forum and I could not solve the problem yet. Here I have downsized my dummy app to even simpler and it still cannot outject. I must be missing or misunderstanding something fundamental.

I have the entity bean Organization:
@Entity
  | @Name("organization")
  | public class Organization implements Serializable {
  |     
  |     @TableGenerator(name="organizationGenerator")
  |     @Id
  |     @GeneratedValue(strategy=GenerationType.TABLE,generator="organizationGenerator")
  |     private Long id;
  |     
  |     private String name;
  |     private String description,address;
  |     private boolean deleted=false;
  |     
  |     @Temporal(TemporalType.DATE)
  |     private Date startUpDate;
  |     public Organization() {
  |         name="unnamed";
  |     }
  |     
  |     public Long getId() {
  |         return this.id;
  |     }
  |     
  |     public void setId(Long id) {
  |         this.id = id;
  |     }
  |     
  |     @Override
  |     public int hashCode() {
  |         int hash = 0;
  |         hash += (this.id != null ? this.id.hashCode() : 0);
  |         return hash;
  |     }
  |     
  |     @Override
  |     public boolean equals(Object object) {
  |         // TODO: Warning - this method won't work in the case the id fields are not set
  |         if (!(object instanceof Organization)) {
  |             return false;
  |         }
  |         Organization other = (Organization)object;
  |         if (this.id != other.id && (this.id == null || !this.id.equals(other.id))) return false;
  |         return true;
  |     }
  |     
  |     @Override
  |     public String toString() {
  |         return "[id=" + id + ":"+ name +"]";
  |     }
  | 
  | ... standart getters and setters follow ...
  |     

A stateful session bean


  | @Stateful
  | @Name("testAction")
  | public class TestActionBean implements TestActionLocal {
  |     
  |     @Out
  |     Organization organization;
  |     
  |     public TestActionBean() {}
  |     
  |     @Begin
  |     public String go(){
  |         organization=new Organization();
  |         organization.setName("Tester");
  |         return "org";
  |     }
  |     
  |     @End
  |     public String stop(){
  |          return "test";
  |     }
  |     
  |     @Remove @Destroy
  |     void destroy(){}
  | }

one initial page, only for calling the action bean:

test.xhtml
  | <?xml version='1.0' encoding='UTF-8' ?>
  | <!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  | <ui:composition xmlns="http://www.w3.org/1999/xhtml"
  |                 xmlns:ui="http://java.sun.com/jsf/facelets"
  |                 xmlns:h="http://java.sun.com/jsf/html"
  |                 template="listTemplate.xhtml">
  |     
  |     <ui:define name="content">
  |         <h:form>
  |             <h:commandButton value="Go" action="#{testAction.go}" />
  |         </h:form>
  |     </ui:define>
  | 
  | </ui:composition>
  | 

and another one that is navigated when "org" is returned:

org.xhtml
  | <!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  | <ui:composition xmlns="http://www.w3.org/1999/xhtml"
  |                 xmlns:ui="http://java.sun.com/jsf/facelets"
  |                 xmlns:h="http://java.sun.com/jsf/html"
  |                 xmlns:f="http://java.sun.com/jsf/core"
  |                 template="listTemplate.xhtml" >
  |     
  |     <ui:define name="content">
  |         <h:form>
  |             <h:outputLabel value="Name:" /> <h:inputText value="#{organization.name}"/>
  |         </h:form>
  |     </ui:define>
  |     
  |     
  | </ui:composition>
I construct a new "Organization" at the method "go" and set its "name" property to "tester". I expect it to show up in the "org.xhtml", but instead "unnamed" shows up, which is assigned in the default constructor of "Organization". The instance I assigned at the "go" method is ignored and another instance is outjected. 
Where am I wrong?
Regards,
Levent

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

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4018895



More information about the jboss-user mailing list