Ok bfo81 lets see:

My Entity Class:
package org.jboss.seam.example.client;
  | 
  | import javax.persistence.Entity;
  | 
  | import org.hibernate.validator.Length;
  | import org.hibernate.validator.NotNull;
  | 
  | @Entity
  | public class ClientPerson extends Client {
  |     
  |     private static final long serialVersionUID = 7829975195914473729L;
  |     private String firstname;
  |     private String lastname;
  |     
  |     @NotNull 
  |     @Length(min=2, max=5)
  |     public String getFirstname() {
  |             return firstname;
  |     }
  |     
  |     public void setFirstname(String firstname) {
  |             this.firstname = firstname;
  |     }
  |     
  |     @NotNull
  |     public String getLastname() {
  |             return lastname;
  |     }
  |     
  |     public void setLastname(String lastname) {
  |             this.lastname = lastname;
  |     }
  |     
  | 
  | 
  | 
  | 
  | }
  | 

My Edit Action:
package org.jboss.seam.example.client;
  | 
  | import javax.ejb.Remove;
  | import javax.ejb.Stateful;
  | import javax.ejb.Stateless;
  | import javax.persistence.EntityManager;
  | import javax.persistence.PersistenceContext;
  | 
  | import org.hibernate.validator.Valid;
  | import org.jboss.seam.ScopeType;
  | import org.jboss.seam.annotations.Begin;
  | import org.jboss.seam.annotations.Destroy;
  | import org.jboss.seam.annotations.End;
  | import org.jboss.seam.annotations.Factory;
  | import org.jboss.seam.annotations.In;
  | import org.jboss.seam.annotations.Name;
  | import org.jboss.seam.annotations.Out;
  | import org.jboss.seam.annotations.RequestParameter;
  | import org.jboss.seam.annotations.Scope;
  | 
  | @Stateful
  | @Name("clientPersonAction")
  | public class ClientPersonEditAction implements ClientPersonEdit{
  |     
  |     @PersistenceContext
  |     private EntityManager em;
  |     
  |     @RequestParameter()
  |     private Long clientPersonId;
  |     
  |     @In(required=false) 
  |     @Out(scope=ScopeType.PAGE,required=false)
  |     private ClientPerson newClientPerson;
  |     
  |     @Begin(join=true) 
  |     @Factory("newClientPerson")
  |     public void createNewClientPerson()
  |     {
  |             if(clientPersonId != null)
  |             {
  |                     ClientPersonDAO clientPersonDAO = new 
ClientPersonDAO(em);
  |                     newClientPerson = 
clientPersonDAO.getClientPersonById(clientPersonId);
  |                     System.out.println("createNewClientPerson:" + 
newClientPerson.getId());
  |             }
  |             else
  |             {
  |                     newClientPerson = new ClientPerson();
  |             }
  |     }
  |     
  |     @End
  |     public String saveClientPerson() {
  |             ClientPersonDAO clientPersonDAO = new ClientPersonDAO(em);
  |             System.out.println("newClientPerson.getId():" + 
newClientPerson.getId());
  |             clientPersonDAO.merge(newClientPerson);
  |             return "home";
  |     }
  |     
  |     @Destroy @Remove 
  |     public void detroy()
  |     {
  |     }
  | 
  |     @End
  |     public String removeClientPerson() {
  |             ClientPersonDAO clientPersonDAO = new ClientPersonDAO(em);
  |             clientPersonDAO.remove(newClientPerson);
  |             return "home";
  |     }
  | 
  | }
  | 


My DAO Class for the Entity:
package org.jboss.seam.example.client;
  | 
  | import java.util.List;
  | 
  | import javax.persistence.EntityManager;
  | import javax.persistence.Query;
  | 
  | public class ClientPersonDAO {
  |     
  |     private EntityManager entityManager;
  |     
  |     public ClientPersonDAO()
  |     {
  |             
  |     }
  |     
  |     public ClientPersonDAO(EntityManager entityManager)
  |     {
  |             this.entityManager = entityManager;
  |     }
  |     
  |     public EntityManager getEntityManager() {
  |             return entityManager;
  |     }
  | 
  |     public void setEntityManager(EntityManager entityManager) {
  |             this.entityManager = entityManager;
  |     }
  |     
  |     public void persist(Object obj)
  |     {
  |             getEntityManager().persist(obj);
  |     }
  |     
  |     public void merge(Object obj)
  |     {
  |             getEntityManager().merge(obj);
  |     }
  |     
  |     public List<ClientPerson> getAllClientPerson() {
  |             return getEntityManager().createQuery("select c from 
ClientPerson c").getResultList();
  |     }
  | 
  |     public ClientPerson getClientPersonById(long id) {
  |             Query q = getEntityManager().createQuery("select c from 
ClientPerson c where c.id = :id");
  |             q.setParameter("id", id);
  |             return (ClientPerson) q.getSingleResult();
  |     }
  | 
  |     public void remove(ClientPerson clientPerson) {
  |             getEntityManager().remove(clientPerson);
  |     }
  |     
  | }

My Facelet page:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
  |                       
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd";>
  | <html xmlns="http://www.w3.org/1999/xhtml";
  |       xmlns:s="http://jboss.com/products/seam/taglib";
  |       xmlns:ui="http://java.sun.com/jsf/facelets";
  |       xmlns:f="http://java.sun.com/jsf";
  |       xmlns:h="http://java.sun.com/jsf/html";>
  | <body>
  |     <ui:composition template="/WEB-INF/layout/template.xhtml">
  |                    
  |        <ui:define name="header">
  |          <ui:include src="/WEB-INF/layout/header.xhtml" />
  |        </ui:define>
  |        
  |        <ui:define name="body">
  |             <h1>Kundenverwaltung</h1>
  |               <h:form>
  |          <s:validateAll>
  |             <div>
  |                <h:outputLabel for="firstname">Vorname: </h:outputLabel>
  |             </div>
  |             <div>
  |                <h:inputText id="firstname" 
value="#{newClientPerson.firstname}" size="70" maxlength="70" required="true"/>
  |                <span class="errors"><h:message for="firstname"/></span>
  |             </div>
  |             <div>
  |                <h:outputLabel for="lastname">Nachname: </h:outputLabel>
  |             </div>
  |             <div>
  |                <h:inputText id="lastname" 
value="#{newClientPerson.lastname}" size="70" maxlength="70" required="true"/>
  |                <span class="errors"><h:message for="lastname"/></span>
  |             </div>
  |             <span>
  |                <h:commandButton value="Speichern" 
action="#{clientPersonAction.saveClientPerson}"/>
  |                  
  |                         
  |             </span>
  |          </s:validateAll>
  |       </h:form>
  |       
  |       <span>
  |               <h:form>
  |                     <h:commandButton value="Entfernen" 
action="#{clientPersonAction.removeClientPerson}"/>            
  |           </h:form>
  |       </span>
  |       
  |        </ui:define>
  |        
  |        <ui:define name="footer">
  |             <ui:include src="/WEB-INF/layout/footer.xhtml" />
  |        </ui:define>        
  |         
  |     </ui:composition> 
  | </body> 
  | </html>
  | 

The ClientPerson service that provides the list:
package org.jboss.seam.example.client;
  | 
  | import java.util.List;
  | 
  | import javax.ejb.Stateful;
  | import javax.ejb.Stateless;
  | import javax.persistence.EntityManager;
  | import javax.persistence.PersistenceContext;
  | 
  | import org.hibernate.validator.Valid;
  | import org.jboss.seam.ScopeType;
  | import org.jboss.seam.annotations.Factory;
  | import org.jboss.seam.annotations.In;
  | import org.jboss.seam.annotations.Name;
  | import org.jboss.seam.annotations.Out;
  | import org.jboss.seam.annotations.RequestParameter;
  | 
  | @Stateless
  | @Name("clientPersonService")
  | public class ClientPersonServiceImpl implements ClientPersonService {
  |     
  |     @PersistenceContext
  |     private EntityManager em;
  |     
  |     public List <ClientPerson> getAllClientPerson()
  |     {
  |             ClientPersonDAO clientPersonDAO = new ClientPersonDAO(em);
  |             return clientPersonDAO.getAllClientPerson();
  |     }
  | }
  | 

The List facelet page/component:

  | <div xmlns="http://www.w3.org/1999/xhtml";
  |     xmlns:s="http://jboss.com/products/seam/taglib";
  |     xmlns:ui="http://java.sun.com/jsf/facelets";
  |     xmlns:f="http://java.sun.com/jsf/core";
  |     xmlns:h="http://java.sun.com/jsf/html";>
  | 
  |             <h1>Kundenverwaltung</h1>
  |             <h:dataTable value="#{clientPersonService.allClientPerson}" 
var="clientPerson" rows="3">
  |                     <h:column>
  |                             <h:outputLink value="addClientPerson.seam">
  |                               #{clientPerson.firstname} 
#{clientPerson.lastname} - ID: #{clientPerson.id}
  |                   <f:param name="clientPersonId" 
value="#{clientPerson.id}"/>
  |                             
  |                </h:outputLink>
  |                     </h:column>
  |             </h:dataTable>
  | 
  | </div>



And thanks bfo81 for your time. ;-)

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

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

Reply via email to