[jboss-cvs] jboss-seam/examples/wiki/src/main/org/jboss/seam/wiki/core/model ...

Christian Bauer christian at hibernate.org
Thu Dec 20 07:23:04 EST 2007


  User: cbauer  
  Date: 07/12/20 07:23:04

  Modified:    examples/wiki/src/main/org/jboss/seam/wiki/core/model       
                        WikiNode.java WikiComment.java WikiDirectory.java
                        WikiFile.java WikiUpload.java WikiUploadImage.java
                        WikiDocument.java
  Log:
  JBSEAM-1743 - Clipboard for copying/moving of nodes
  
  Revision  Changes    Path
  1.2       +5 -3      jboss-seam/examples/wiki/src/main/org/jboss/seam/wiki/core/model/WikiNode.java
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: WikiNode.java
  ===================================================================
  RCS file: /cvsroot/jboss/jboss-seam/examples/wiki/src/main/org/jboss/seam/wiki/core/model/WikiNode.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -b -r1.1 -r1.2
  --- WikiNode.java	19 Dec 2007 04:29:20 -0000	1.1
  +++ WikiNode.java	20 Dec 2007 12:23:04 -0000	1.2
  @@ -23,7 +23,7 @@
       condition = "READ_ACCESS_LEVEL <= :currentAccessLevel"
   )
   @org.hibernate.annotations.BatchSize(size = 20)
  -public abstract class WikiNode implements Comparable {
  +public abstract class WikiNode<N extends WikiNode> implements Comparable {
   
       @Id
       @GeneratedValue(generator = "wikiSequenceGenerator")
  @@ -67,7 +67,7 @@
       @org.hibernate.annotations.ForeignKey(name = "FK_WIKI_NODE_CREATED_BY_USER_ID")
       protected User createdBy;
   
  -    @Column(name = "LAST_MODIFIED_ON", nullable = true, insertable = false)
  +    @Column(name = "LAST_MODIFIED_ON", nullable = true)
       @org.hibernate.search.annotations.Field(
           index = org.hibernate.search.annotations.Index.UN_TOKENIZED,
           store = org.hibernate.search.annotations.Store.YES
  @@ -77,7 +77,7 @@
       protected Date lastModifiedOn;
   
       @ManyToOne(fetch = FetchType.LAZY)
  -    @JoinColumn(name = "LAST_MODIFIED_BY_USER_ID", nullable = true, insertable = false)
  +    @JoinColumn(name = "LAST_MODIFIED_BY_USER_ID", nullable = true)
       @org.hibernate.annotations.ForeignKey(name = "FK_WIKI_NODE_LAST_MODIFIED_BY")
       protected User lastModifiedBy;
   
  @@ -205,4 +205,6 @@
       public abstract String getPermURL(String suffix);
       public abstract String getWikiURL();
   
  +    public abstract N duplicate(boolean copyLazyProperties);
  +    
   }
  
  
  
  1.2       +7 -1      jboss-seam/examples/wiki/src/main/org/jboss/seam/wiki/core/model/WikiComment.java
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: WikiComment.java
  ===================================================================
  RCS file: /cvsroot/jboss/jboss-seam/examples/wiki/src/main/org/jboss/seam/wiki/core/model/WikiComment.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -b -r1.1 -r1.2
  --- WikiComment.java	19 Dec 2007 04:29:20 -0000	1.1
  +++ WikiComment.java	20 Dec 2007 12:23:04 -0000	1.2
  @@ -26,7 +26,7 @@
           properties = {"subject", "content"}
       )
   )
  -public class WikiComment extends WikiNode implements NestedSetNode<WikiComment>, Serializable {
  +public class WikiComment extends WikiNode<WikiComment> implements NestedSetNode<WikiComment>, Serializable {
   
       @Column(name = "SUBJECT", nullable = false)
       @Length(min = 3, max = 255)
  @@ -98,6 +98,12 @@
           }
       }
   
  +    public WikiComment duplicate(boolean copyLazyProperties) {
  +        WikiComment dupe = new WikiComment();
  +        dupe.flatCopy(this, copyLazyProperties);
  +        return dupe;
  +    }
  +
       public NestedSetNodeInfo<WikiComment> getNodeInfo() {
           return nodeInfo;
       }
  
  
  
  1.2       +22 -2     jboss-seam/examples/wiki/src/main/org/jboss/seam/wiki/core/model/WikiDirectory.java
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: WikiDirectory.java
  ===================================================================
  RCS file: /cvsroot/jboss/jboss-seam/examples/wiki/src/main/org/jboss/seam/wiki/core/model/WikiDirectory.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -b -r1.1 -r1.2
  --- WikiDirectory.java	19 Dec 2007 04:29:20 -0000	1.1
  +++ WikiDirectory.java	20 Dec 2007 12:23:04 -0000	1.2
  @@ -3,16 +3,18 @@
   import org.hibernate.validator.Length;
   import org.jboss.seam.wiki.core.nestedset.NestedSetNode;
   import org.jboss.seam.wiki.core.nestedset.NestedSetNodeInfo;
  -import org.jboss.seam.wiki.core.nestedset.query.NestedSetDuplicator;
   
   import javax.persistence.*;
   import java.io.Serializable;
  +import java.util.List;
  +import java.util.ArrayList;
  +import java.util.Collections;
   
   @Entity
   @Table(name = "WIKI_DIRECTORY")
   @org.hibernate.annotations.ForeignKey(name = "FK_WIKI_DIRECTORY_NODE_ID")
   @org.hibernate.annotations.OnDelete(action = org.hibernate.annotations.OnDeleteAction.CASCADE)
  -public class WikiDirectory extends WikiNode implements NestedSetNode<WikiDirectory>, Serializable {
  +public class WikiDirectory extends WikiNode<WikiDirectory> implements NestedSetNode<WikiDirectory>, Serializable {
   
       @Column(name = "DESCRIPTION", nullable = true)
       @Length(min = 0, max = 512)
  @@ -62,6 +64,12 @@
           this.nodeInfo = original.nodeInfo;
       }
   
  +    public WikiDirectory duplicate(boolean copyLazyProperties) {
  +        WikiDirectory dupe = new WikiDirectory();
  +        dupe.flatCopy(this, copyLazyProperties);
  +        return dupe;
  +    }
  +
       public NestedSetNodeInfo<WikiDirectory> getNodeInfo() {
           return nodeInfo;
       }
  @@ -98,6 +106,18 @@
           }
       }
   
  +    public List<WikiDirectory> getPath() {
  +        List<WikiDirectory> path = new ArrayList<WikiDirectory>();
  +        WikiDirectory current = this;
  +        path.add(current);
  +        while (current.getParent() != null && getParent().isInstance(WikiDirectory.class)){
  +            current = (WikiDirectory)current.getParent();
  +            path.add(current);
  +        }
  +        Collections.reverse(path);
  +        return path;
  +    }
  +
       public String toString() {
           return "Directory (" + getId() + "): " + getName();
       }
  
  
  
  1.2       +3 -2      jboss-seam/examples/wiki/src/main/org/jboss/seam/wiki/core/model/WikiFile.java
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: WikiFile.java
  ===================================================================
  RCS file: /cvsroot/jboss/jboss-seam/examples/wiki/src/main/org/jboss/seam/wiki/core/model/WikiFile.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -b -r1.1 -r1.2
  --- WikiFile.java	19 Dec 2007 04:29:20 -0000	1.1
  +++ WikiFile.java	20 Dec 2007 12:23:04 -0000	1.2
  @@ -7,7 +7,7 @@
   @Table(name = "WIKI_FILE")
   @org.hibernate.annotations.ForeignKey(name = "FK_WIKI_FILE_NODE_ID")
   @org.hibernate.annotations.OnDelete(action = org.hibernate.annotations.OnDeleteAction.CASCADE)
  -public abstract class WikiFile extends WikiNode {
  +public abstract class WikiFile<N extends WikiFile> extends WikiNode<N> {
   
       @org.hibernate.annotations.CollectionOfElements(fetch = FetchType.LAZY)
       @JoinTable(name = "WIKI_TAG", joinColumns = @JoinColumn(name = "FILE_ID"))
  @@ -61,6 +61,7 @@
       @Override
       public void setLastModifiedBy(User lastModifiedBy) {
           super.setLastModifiedBy(lastModifiedBy);
  +        if (lastModifiedBy != null)
           lastModifiedByUsername = lastModifiedBy.getUsername();
       }
   
  
  
  
  1.2       +7 -1      jboss-seam/examples/wiki/src/main/org/jboss/seam/wiki/core/model/WikiUpload.java
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: WikiUpload.java
  ===================================================================
  RCS file: /cvsroot/jboss/jboss-seam/examples/wiki/src/main/org/jboss/seam/wiki/core/model/WikiUpload.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -b -r1.1 -r1.2
  --- WikiUpload.java	19 Dec 2007 04:29:20 -0000	1.1
  +++ WikiUpload.java	20 Dec 2007 12:23:04 -0000	1.2
  @@ -12,7 +12,7 @@
   @Table(name = "WIKI_UPLOAD")
   @org.hibernate.annotations.ForeignKey(name = "FK_WIKI_UPLOAD_NODE_ID")
   @org.hibernate.annotations.OnDelete(action = org.hibernate.annotations.OnDeleteAction.CASCADE)
  -public class WikiUpload extends WikiFile {
  +public class WikiUpload<U extends WikiUpload> extends WikiFile<U> {
   
       @Column(name = "FILENAME", length = 255, nullable = false)
       private String filename;
  @@ -100,6 +100,12 @@
           }
       }
   
  +    public U duplicate(boolean copyLazyProperties) {
  +        U dupe = (U)new WikiUpload();
  +        dupe.flatCopy(this, copyLazyProperties);
  +        return dupe;
  +    }
  +
       public String getPermURL(String suffix) {
           return "/servlets/files/download.seam?fileId=" + getId();
       }
  
  
  
  1.2       +7 -1      jboss-seam/examples/wiki/src/main/org/jboss/seam/wiki/core/model/WikiUploadImage.java
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: WikiUploadImage.java
  ===================================================================
  RCS file: /cvsroot/jboss/jboss-seam/examples/wiki/src/main/org/jboss/seam/wiki/core/model/WikiUploadImage.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -b -r1.1 -r1.2
  --- WikiUploadImage.java	19 Dec 2007 04:29:20 -0000	1.1
  +++ WikiUploadImage.java	20 Dec 2007 12:23:04 -0000	1.2
  @@ -6,7 +6,7 @@
   @Table(name = "WIKI_UPLOAD_IMAGE")
   @org.hibernate.annotations.ForeignKey(name = "FK_WIKI_UPLOAD_IMAGE_NODE_ID")
   @org.hibernate.annotations.OnDelete(action = org.hibernate.annotations.OnDeleteAction.CASCADE)
  -public class WikiUploadImage extends WikiUpload {
  +public class WikiUploadImage extends WikiUpload<WikiUploadImage> {
   
       @Column(name = "SIZE_X")
       private int sizeX;
  @@ -77,6 +77,12 @@
           }
       }
   
  +    public WikiUploadImage duplicate(boolean copyLazyProperties) {
  +        WikiUploadImage dupe = new WikiUploadImage();
  +        dupe.flatCopy(this, copyLazyProperties);
  +        return dupe;
  +    }
  +
       public String toString() {
           return "WikiUploadImage (" + getId() + "): " + getName()
                   + ", " + getFilename() + ", Size: " + getSizeX() + "x" + getSizeY();
  
  
  
  1.2       +9 -1      jboss-seam/examples/wiki/src/main/org/jboss/seam/wiki/core/model/WikiDocument.java
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: WikiDocument.java
  ===================================================================
  RCS file: /cvsroot/jboss/jboss-seam/examples/wiki/src/main/org/jboss/seam/wiki/core/model/WikiDocument.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -b -r1.1 -r1.2
  --- WikiDocument.java	19 Dec 2007 04:29:20 -0000	1.1
  +++ WikiDocument.java	20 Dec 2007 12:23:04 -0000	1.2
  @@ -16,7 +16,7 @@
   @org.hibernate.search.annotations.Indexed
   @Searchable(description = "Documents")
   
  -public class WikiDocument extends WikiFile implements Serializable {
  +public class WikiDocument extends WikiFile<WikiDocument> implements Serializable {
   
       @Column(name = "NAME_AS_TITLE", nullable = false)
       private boolean nameAsTitle = true;
  @@ -123,11 +123,19 @@
           this.headerMacrosString = original.headerMacrosString;
           this.contentMacrosString = original.contentMacrosString;
           this.footerMacrosString = original.footerMacrosString;
  +        this.header = original.header;
  +        this.footer = original.footer;
           if (copyLazyProperties) {
               this.content = original.content;
           }
       }
   
  +    public WikiDocument duplicate(boolean copyLazyProperties) {
  +        WikiDocument dupe = new WikiDocument();
  +        dupe.flatCopy(this, copyLazyProperties);
  +        return dupe;
  +    }
  +
       public void rollback(WikiDocument revision) {
           super.rollback(revision);
           this.content = revision.content;
  
  
  



More information about the jboss-cvs-commits mailing list