[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