[jboss-cvs] jboss-seam/examples/seamspace/src/org/jboss/seam/example/seamspace ...

Shane Bryzak Shane_Bryzak at symantec.com
Wed Dec 20 06:40:25 EST 2006


  User: sbryzak2
  Date: 06/12/20 06:40:25

  Modified:    examples/seamspace/src/org/jboss/seam/example/seamspace     
                        LoginAction.java Member.java
  Added:       examples/seamspace/src/org/jboss/seam/example/seamspace     
                        MemberImage.java ProfileAction.java
                        ProfileLocal.java
  Log:
  added profile page
  
  Revision  Changes    Path
  1.3       +2 -0      jboss-seam/examples/seamspace/src/org/jboss/seam/example/seamspace/LoginAction.java
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: LoginAction.java
  ===================================================================
  RCS file: /cvsroot/jboss/jboss-seam/examples/seamspace/src/org/jboss/seam/example/seamspace/LoginAction.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -b -r1.2 -r1.3
  --- LoginAction.java	20 Dec 2006 03:36:56 -0000	1.2
  +++ LoginAction.java	20 Dec 2006 11:40:25 -0000	1.3
  @@ -2,6 +2,8 @@
   
   import javax.ejb.Remove;
   import javax.ejb.Stateful;
  +import javax.persistence.EntityManager;
  +import javax.persistence.PersistenceContext;
   
   import org.jboss.seam.ScopeType;
   import org.jboss.seam.Seam;
  
  
  
  1.7       +98 -51    jboss-seam/examples/seamspace/src/org/jboss/seam/example/seamspace/Member.java
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: Member.java
  ===================================================================
  RCS file: /cvsroot/jboss/jboss-seam/examples/seamspace/src/org/jboss/seam/example/seamspace/Member.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -b -r1.6 -r1.7
  --- Member.java	20 Dec 2006 03:36:56 -0000	1.6
  +++ Member.java	20 Dec 2006 11:40:25 -0000	1.7
  @@ -2,12 +2,20 @@
   
   import java.io.Serializable;
   import java.util.Set;
  +
   import javax.persistence.Entity;
  +import javax.persistence.FetchType;
   import javax.persistence.Id;
   import javax.persistence.JoinColumn;
   import javax.persistence.JoinTable;
   import javax.persistence.ManyToMany;
  +import javax.persistence.OneToMany;
  +import javax.persistence.OneToOne;
  +import javax.persistence.Table;
  +import javax.persistence.UniqueConstraint;
   
  +import org.hibernate.validator.Length;
  +import org.hibernate.validator.NotNull;
   import org.jboss.seam.annotations.Name;
   
   /**
  @@ -17,13 +25,16 @@
    */
   @Entity
   @Name("member")
  + at Table(uniqueConstraints = @UniqueConstraint(columnNames = "name"))
   public class Member implements Serializable
   {
     private Integer memberId;
     private String username;
     private String password;
  -
  +   private String name;
  +   private MemberImage picture;
     private Set<MemberRole> roles;
  +   private Set<MemberImage> images;
   
     @Id
     public Integer getMemberId()
  @@ -36,6 +47,8 @@
       this.memberId = memberId;
     }
   
  +   @NotNull
  +   @Length(min = 6, max = 20)
     public String getUsername()
     {
       return username;
  @@ -46,6 +59,8 @@
       this.username = username;
     }
   
  +   @NotNull
  +   @Length(min = 6, max = 20)
     public String getPassword()
     {
       return password;
  @@ -56,10 +71,20 @@
       this.password = password;
     }
   
  +   @NotNull
  +   @Length(min = 3, max = 40)
  +   public String getName()
  +   {
  +      return name;
  +   }
  +
  +   public void setName(String name)
  +   {
  +      this.name = name;
  +   }
  +
     @ManyToMany
  -  @JoinTable(name = "MemberRoles",
  -             joinColumns=@JoinColumn(name="MEMBER_ID"), 
  -		     inverseJoinColumns=@JoinColumn(name="ROLE_ID"))    
  +   @JoinTable(name = "MemberRoles", joinColumns = @JoinColumn(name = "MEMBER_ID"), inverseJoinColumns = @JoinColumn(name = "ROLE_ID"))
     public Set<MemberRole> getRoles()
     {
       return roles;
  @@ -69,4 +94,26 @@
     {
       this.roles = roles;
     }
  +
  +   @OneToOne(fetch = FetchType.LAZY)
  +   public MemberImage getPicture()
  +   {
  +      return picture;
  +   }
  +
  +   public void setPicture(MemberImage picture)
  +   {
  +      this.picture = picture;
  +   }
  +
  +   @OneToMany(mappedBy = "member", fetch = FetchType.LAZY)
  +   public Set<MemberImage> getImages()
  +   {
  +      return images;
  +   }
  +
  +   public void setImages(Set<MemberImage> images)
  +   {
  +      this.images = images;
  +   }
   }
  
  
  
  1.1      date: 2006/12/20 11:40:25;  author: sbryzak2;  state: Exp;jboss-seam/examples/seamspace/src/org/jboss/seam/example/seamspace/MemberImage.java
  
  Index: MemberImage.java
  ===================================================================
  package org.jboss.seam.example.seamspace;
  
  import java.io.Serializable;
  
  import javax.persistence.Entity;
  import javax.persistence.Id;
  import javax.persistence.ManyToOne;
  
  import org.jboss.seam.annotations.Name;
  
  @Entity
  @Name("memberImage")
  public class MemberImage implements Serializable
  {
     private Integer imageId;
     private Member member;
     private byte[] data;
     private String contentType;
     
     @Id
     public Integer getImageId()
     {
        return imageId;
     }
     
     public void setImageId(Integer imageId)
     {
        this.imageId = imageId;
     }
     
     @ManyToOne
     public Member getMember()
     {
        return member;
     }
     
     public void setMember(Member member)
     {
        this.member = member;
     }
  
     public String getContentType()
     {
        return contentType;
     }
  
     public void setContentType(String contentType)
     {
        this.contentType = contentType;
     }
  
     public byte[] getData()
     {
        return data;
     }
  
     public void setData(byte[] data)
     {
        this.data = data;
     }
  }
  
  
  
  1.1      date: 2006/12/20 11:40:25;  author: sbryzak2;  state: Exp;jboss-seam/examples/seamspace/src/org/jboss/seam/example/seamspace/ProfileAction.java
  
  Index: ProfileAction.java
  ===================================================================
  package org.jboss.seam.example.seamspace;
  
  import javax.ejb.Stateless;
  import javax.persistence.EntityManager;
  import javax.persistence.NoResultException;
  
  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.core.FacesMessages;
  import org.jboss.seam.security.Identity;
  
  @Stateless
  @Name("profile")
  public class ProfileAction implements ProfileLocal
  {
     @RequestParameter
     private String name;
  
     @Out
     private Member selectedMember;
     
     @In(create=true)
     private EntityManager entityManager;
  
     @Factory("selectedMember")
     public void display()
     {
        if (name == null)
        {
           selectedMember = (Member) entityManager.createQuery(
                 "from Member where username = :username")
                 .setParameter("username", Identity.instance().getName())
                 .getSingleResult();
        }
        else
        {
           try
           {
              selectedMember = (Member) entityManager.createQuery(
              "from Member where name = :name")
              .setParameter("name", name)
              .getSingleResult();
           }
           catch (NoResultException ex) 
           {
              FacesMessages.instance().add("The member name you specified does not exist.");
           }   
        }
  }
  
  
  
  1.1      date: 2006/12/20 11:40:25;  author: sbryzak2;  state: Exp;jboss-seam/examples/seamspace/src/org/jboss/seam/example/seamspace/ProfileLocal.java
  
  Index: ProfileLocal.java
  ===================================================================
  package org.jboss.seam.example.seamspace;
  
  import javax.ejb.Local;
  
  @Local
  public interface ProfileLocal
  {
    void display();
  }
  
  
  



More information about the jboss-cvs-commits mailing list