[jboss-cvs] jboss-seam/examples/wiki/src/main/org/jboss/seam/wiki/core/model ...
Christian Bauer
christian at hibernate.org
Mon Apr 2 14:25:05 EDT 2007
User: cbauer
Date: 07/04/02 14:25:05
Modified: examples/wiki/src/main/org/jboss/seam/wiki/core/model
Document.java Node.java User.java File.java
Removed: examples/wiki/src/main/org/jboss/seam/wiki/core/model
GlobalPreferences.java
Log:
Totally overengineered but definitely cool system/user/instance wiki preferences architecture
Revision Changes Path
1.7 +4 -2 jboss-seam/examples/wiki/src/main/org/jboss/seam/wiki/core/model/Document.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: Document.java
===================================================================
RCS file: /cvsroot/jboss/jboss-seam/examples/wiki/src/main/org/jboss/seam/wiki/core/model/Document.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -b -r1.6 -r1.7
--- Document.java 22 Mar 2007 12:16:08 -0000 1.6
+++ Document.java 2 Apr 2007 18:25:05 -0000 1.7
@@ -7,7 +7,6 @@
@Entity
@DiscriminatorValue("DOCUMENT")
- at Restrict
public class Document extends Node {
@Column(name = "CONTENT")
@@ -17,7 +16,10 @@
@Column(name = "NAME_AS_TITLE")
private Boolean nameAsTitle = true;
- public Document() { super("New Document"); }
+ public Document() {
+ super("New Document");
+ content = "Edit this text..."; // Don't know why the interactive preview doesn't work without content
+ }
public Document(String name) {
super(name);
1.7 +13 -5 jboss-seam/examples/wiki/src/main/org/jboss/seam/wiki/core/model/Node.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: Node.java
===================================================================
RCS file: /cvsroot/jboss/jboss-seam/examples/wiki/src/main/org/jboss/seam/wiki/core/model/Node.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -b -r1.6 -r1.7
--- Node.java 20 Mar 2007 02:38:14 -0000 1.6
+++ Node.java 2 Apr 2007 18:25:05 -0000 1.7
@@ -2,12 +2,10 @@
import org.hibernate.validator.Length;
import org.hibernate.validator.Pattern;
-import org.jboss.seam.annotations.security.Restrict;
+import org.jboss.seam.wiki.core.preferences.WikiPreferenceValue;
import javax.persistence.*;
-import java.util.List;
-import java.util.ArrayList;
-import java.util.Date;
+import java.util.*;
import java.io.Serializable;
@Entity
@@ -25,7 +23,6 @@
name = "NODE_TYPE",
length = 255
)
- at Restrict
@org.hibernate.annotations.FilterDef(
name = "accessLevelFilter",
parameters = {@org.hibernate.annotations.ParamDef(name = "currentAccessLevel", type="integer")}
@@ -104,6 +101,9 @@
@Column(name = "READ_ACCESS_LEVEL", nullable = false)
protected int readAccessLevel;
+ @OneToMany(mappedBy="node")
+ private Set<WikiPreferenceValue> preferences = new HashSet<WikiPreferenceValue>();
+
public Node() {}
public Node(String name) {
@@ -240,6 +240,14 @@
this.readAccessLevel = readAccessLevel;
}
+ public Set<WikiPreferenceValue> getPreferences() {
+ return preferences;
+ }
+
+ public void setPreferences(Set<WikiPreferenceValue> preferences) {
+ this.preferences = preferences;
+ }
+
// Misc methods
public Directory getArea() {
1.3 +12 -1 jboss-seam/examples/wiki/src/main/org/jboss/seam/wiki/core/model/User.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: User.java
===================================================================
RCS file: /cvsroot/jboss/jboss-seam/examples/wiki/src/main/org/jboss/seam/wiki/core/model/User.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -b -r1.2 -r1.3
--- User.java 18 Mar 2007 15:44:37 -0000 1.2
+++ User.java 2 Apr 2007 18:25:05 -0000 1.3
@@ -4,7 +4,7 @@
import org.hibernate.validator.Pattern;
import org.hibernate.validator.Length;
import org.hibernate.validator.Email;
-import org.jboss.seam.annotations.security.Restrict;
+import org.jboss.seam.wiki.core.preferences.WikiPreferenceValue;
import javax.persistence.*;
import java.io.Serializable;
@@ -66,6 +66,9 @@
@OrderBy("accessLevel desc, displayName asc")
private List<Role> roles = new ArrayList<Role>();
+ @OneToMany(mappedBy="user")
+ private Set<WikiPreferenceValue> preferences = new HashSet<WikiPreferenceValue>();
+
@ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.PERSIST)
@JoinColumn(name = "MEMBER_HOME_NODE_ID")
private Directory memberHome;
@@ -121,6 +124,14 @@
this.roles = roles;
}
+ public Set<WikiPreferenceValue> getPreferences() {
+ return preferences;
+ }
+
+ public void setPreferences(Set<WikiPreferenceValue> preferences) {
+ this.preferences = preferences;
+ }
+
// Misc methods
public String toString() {
1.3 +23 -8 jboss-seam/examples/wiki/src/main/org/jboss/seam/wiki/core/model/File.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: File.java
===================================================================
RCS file: /cvsroot/jboss/jboss-seam/examples/wiki/src/main/org/jboss/seam/wiki/core/model/File.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -b -r1.2 -r1.3
--- File.java 19 Mar 2007 04:53:53 -0000 1.2
+++ File.java 2 Apr 2007 18:25:05 -0000 1.3
@@ -1,28 +1,43 @@
package org.jboss.seam.wiki.core.model;
-import javax.persistence.Entity;
-import javax.persistence.DiscriminatorValue;
-import javax.persistence.Column;
-import javax.persistence.Lob;
+import javax.persistence.*;
import java.math.BigDecimal;
@Entity
@DiscriminatorValue("FILE")
+ at SecondaryTable(
+ name = "NODE_FILE",
+ pkJoinColumns = @PrimaryKeyJoinColumn(name = "FILE_ID")
+)
public class File extends Node {
- @Column(name = "FILENAME", length = 255)
+ @Column(table = "NODE_FILE", name = "FILENAME", length = 255, nullable = false)
private String filename;
- @Column(name = "FILESIZE")
+ @Column(table = "NODE_FILE", name = "FILESIZE", nullable = false)
private int filesize;
@Lob
- @Column(name = "FILEDATA")
+ @Column(table = "NODE_FILE", name = "FILEDATA", nullable = false)
private byte[] data;
- @Column(name = "CONTENT_TYPE", length = 255)
+ @Column(table = "NODE_FILE", name = "CONTENT_TYPE", length = 255)
private String contentType;
+ @AttributeOverrides({
+ @AttributeOverride(
+ name = "sizeX",
+ column = @Column(table = "NODE_FILE", name = "IMAGE_SIZE_X")
+ ),
+ @AttributeOverride(
+ name = "sizeY",
+ column = @Column(table = "NODE_FILE", name = "IMAGE_SIZE_Y")
+ ),
+ @AttributeOverride(
+ name = "thumbnail",
+ column = @Column(table = "NODE_FILE", name = "IMAGE_THUMBNAIL")
+ )
+ })
private ImageMetaInfo imageMetaInfo;
public File() { super("New File"); }
More information about the jboss-cvs-commits
mailing list