[jboss-cvs] jboss-mail/src/java/org/jboss/mail/mailbox ...

Michael Barker mike at middlesoft.co.uk
Tue Jul 25 16:42:01 EDT 2006


  User: mikezzz 
  Date: 06/07/25 16:42:01

  Modified:    src/java/org/jboss/mail/mailbox   Folder.java
  Added:       src/java/org/jboss/mail/mailbox   FolderSequence.java
  Log:
  Started work to create a folder scoped sequence.
  
  Revision  Changes    Path
  1.16      +20 -1     jboss-mail/src/java/org/jboss/mail/mailbox/Folder.java
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: Folder.java
  ===================================================================
  RCS file: /cvsroot/jboss/jboss-mail/src/java/org/jboss/mail/mailbox/Folder.java,v
  retrieving revision 1.15
  retrieving revision 1.16
  diff -u -b -r1.15 -r1.16
  --- Folder.java	17 Apr 2006 22:30:03 -0000	1.15
  +++ Folder.java	25 Jul 2006 20:42:01 -0000	1.16
  @@ -37,13 +37,14 @@
   import javax.persistence.Inheritance;
   import javax.persistence.ManyToOne;
   import javax.persistence.OneToMany;
  +import javax.persistence.OneToOne;
   import javax.persistence.Transient;
   
   /**
    * Mailboxes and folder contain other folders. Folders may contain messages.
    * 
    * @author Andrew C. Oliver
  - * @version $Revision: 1.15 $
  + * @version $Revision: 1.16 $
    */
   @Entity
   @Inheritance(strategy = javax.persistence.InheritanceType.SINGLE_TABLE)
  @@ -85,10 +86,19 @@
        */
       private Collection<Lock> locks;
   
  +    /**
  +     * Entity to hold a sequence number for this folder.
  +     * Related here to simplify creation.  Will normally be accessed
  +     * using native SQL.
  +     */
  +    private FolderSequence folderSequence;
  +
       public Folder() {
           this.folders = new ArrayList<Folder>();
           this.locks = new HashSet<Lock>();
           this.messages = new ArrayList<MessageData>();
  +        this.folderSequence = new FolderSequence();
  +        folderSequence.setFolder(this);
       }
   
       /**
  @@ -229,4 +239,13 @@
       protected void setFolders(Collection<Folder> folders) {
           this.folders = folders;
       }
  +    
  +    @OneToOne(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = "folder")
  +    public FolderSequence getFolderSequence() {
  +        return this.folderSequence;
  +    }
  +    
  +    public void setFolderSequence(FolderSequence fs) {
  +        folderSequence = fs;
  +    }
   }
  
  
  
  1.1      date: 2006/07/25 20:42:01;  author: mikezzz;  state: Exp;jboss-mail/src/java/org/jboss/mail/mailbox/FolderSequence.java
  
  Index: FolderSequence.java
  ===================================================================
  /**
   * 
   */
  package org.jboss.mail.mailbox;
  
  import javax.persistence.Entity;
  import javax.persistence.GeneratedValue;
  import javax.persistence.GenerationType;
  import javax.persistence.Id;
  import javax.persistence.OneToOne;
  
  /**
   * @author Michael Barker
   *
   */
  @Entity
  public class FolderSequence {
  
      private long id;
      
      private Folder folder;
      
      private long nextMessageId = 1;
      
      @Id
      @GeneratedValue(strategy = GenerationType.SEQUENCE)
      public long getId() {
          return id;
      }
  
      public void setId(long id) {
          this.id = id;
      }
  
      @OneToOne
      public Folder getFolder() {
          return folder;
      }
      
      public void setFolder(Folder folder) {
          this.folder = folder;
      }
      
      public long getNextMessageId() {
          return nextMessageId;
      }
      
      public void setNextMessageId(long l) {
          nextMessageId = l;
      }
  }
  
  
  



More information about the jboss-cvs-commits mailing list