[jboss-cvs] jboss-seam/examples/wiki/src/main/org/jboss/seam/wiki/core/model ...
Christian Bauer
christian at hibernate.org
Sat Aug 25 13:59:23 EDT 2007
User: cbauer
Date: 07/08/25 13:59:23
Modified: examples/wiki/src/main/org/jboss/seam/wiki/core/model
DatabaseObjects.hbm.xml Directory.java File.java
Node.java
Log:
Major refactoring of navigation
Revision Changes Path
1.4 +76 -28 jboss-seam/examples/wiki/src/main/org/jboss/seam/wiki/core/model/DatabaseObjects.hbm.xml
(In the diff below, changes in quantity of whitespace are not shown.)
Index: DatabaseObjects.hbm.xml
===================================================================
RCS file: /cvsroot/jboss/jboss-seam/examples/wiki/src/main/org/jboss/seam/wiki/core/model/DatabaseObjects.hbm.xml,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -b -r1.3 -r1.4
--- DatabaseObjects.hbm.xml 17 Aug 2007 13:00:24 -0000 1.3
+++ DatabaseObjects.hbm.xml 25 Aug 2007 17:59:23 -0000 1.4
@@ -98,6 +98,24 @@
<database-object>
<create>
+ alter table PREFERENCE drop constraint FK_PREFERENCE_NODE_ID;
+ alter table PREFERENCE add constraint FK_PREFERENCE_NODE_ID foreign key (NODE_ID) references NODE on delete cascade;
+ </create>
+ <drop></drop>
+ <dialect-scope name="org.hibernate.dialect.HSQLDialect"/>
+ </database-object>
+
+ <database-object>
+ <create>
+ alter table PREFERENCE drop constraint FK_PREFERENCE_USER_ID;
+ alter table PREFERENCE add constraint FK_PREFERENCE_USER_ID foreign key (USER_ID) references USERS on delete cascade;
+ </create>
+ <drop></drop>
+ <dialect-scope name="org.hibernate.dialect.HSQLDialect"/>
+ </database-object>
+
+ <database-object>
+ <create>
alter table USERS drop constraint FK_USER_MEMBER_HOME_NODE_ID;
alter table USERS add constraint FK_USER_MEMBER_HOME_NODE_ID foreign key (MEMBER_HOME_NODE_ID) references NODE on delete set null;
</create>
@@ -158,25 +176,25 @@
<database-object>
<create>
alter table FEEDENTRY drop foreign key FK_FEEDENTRY_DOCUMENT_ID;
- </create><drop></drop><dialect-scope name="org.hibernate.dialect.MySQL5InnoDBDialect"/>
+ </create><drop></drop><dialect-scope name="org.hibernate.dialect.MySQLInnoDBDialect"/>
</database-object>
<database-object>
<create>
alter table FEEDENTRY
add constraint FK_FEEDENTRY_DOCUMENT_ID foreign key (DOCUMENT_ID) references NODE (NODE_ID) on delete set null;
- </create><drop></drop><dialect-scope name="org.hibernate.dialect.MySQL5InnoDBDialect"/>
+ </create><drop></drop><dialect-scope name="org.hibernate.dialect.MySQLInnoDBDialect"/>
</database-object>
<database-object>
<create>
alter table FEED_FEEDENTRY drop foreign key FK_FEED_FEEDENTRY_FEED_ID;
- </create><drop></drop><dialect-scope name="org.hibernate.dialect.MySQL5InnoDBDialect"/>
+ </create><drop></drop><dialect-scope name="org.hibernate.dialect.MySQLInnoDBDialect"/>
</database-object>
<database-object>
<create>
alter table FEED_FEEDENTRY
add constraint FK_FEED_FEEDENTRY_FEED_ID foreign key (FEED_ID) references FEED (FEED_ID) on delete cascade;
- </create><drop></drop><dialect-scope name="org.hibernate.dialect.MySQL5InnoDBDialect"/>
+ </create><drop></drop><dialect-scope name="org.hibernate.dialect.MySQLInnoDBDialect"/>
</database-object>
<database-object>
@@ -184,7 +202,7 @@
alter table FEED_FEEDENTRY drop foreign key FK_FEED_FEEDENTRY_FEEDENTRY_ID;
</create>
<drop></drop>
- <dialect-scope name="org.hibernate.dialect.MySQL5InnoDBDialect"/>
+ <dialect-scope name="org.hibernate.dialect.MySQLInnoDBDialect"/>
</database-object>
<database-object>
<create>
@@ -192,7 +210,7 @@
add constraint FK_FEED_FEEDENTRY_FEEDENTRY_ID foreign key (FEEDENTRY_ID) references FEEDENTRY (FEEDENTRY_ID) on delete cascade;
</create>
<drop></drop>
- <dialect-scope name="org.hibernate.dialect.MySQL5InnoDBDialect"/>
+ <dialect-scope name="org.hibernate.dialect.MySQLInnoDBDialect"/>
</database-object>
<database-object>
@@ -200,7 +218,7 @@
alter table NODE drop foreign key FK_NODE_PARENT_NODE_ID;
</create>
<drop></drop>
- <dialect-scope name="org.hibernate.dialect.MySQL5InnoDBDialect"/>
+ <dialect-scope name="org.hibernate.dialect.MySQLInnoDBDialect"/>
</database-object>
<database-object>
<create>
@@ -208,7 +226,7 @@
add constraint FK_NODE_PARENT_NODE_ID foreign key (PARENT_NODE_ID) references NODE (NODE_ID) on delete cascade;
</create>
<drop></drop>
- <dialect-scope name="org.hibernate.dialect.MySQL5InnoDBDialect"/>
+ <dialect-scope name="org.hibernate.dialect.MySQLInnoDBDialect"/>
</database-object>
<database-object>
@@ -216,7 +234,7 @@
alter table NODE drop foreign key FK_NODE_LAST_MODIFIED_BY_USER_ID;
</create>
<drop></drop>
- <dialect-scope name="org.hibernate.dialect.MySQL5InnoDBDialect"/>
+ <dialect-scope name="org.hibernate.dialect.MySQLInnoDBDialect"/>
</database-object>
<database-object>
<create>
@@ -224,7 +242,7 @@
add constraint FK_NODE_LAST_MODIFIED_BY_USER_ID foreign key (LAST_MODIFIED_BY_USER_ID) references USERS (USER_ID) on delete set null;
</create>
<drop></drop>
- <dialect-scope name="org.hibernate.dialect.MySQL5InnoDBDialect"/>
+ <dialect-scope name="org.hibernate.dialect.MySQLInnoDBDialect"/>
</database-object>
<database-object>
@@ -232,14 +250,14 @@
alter table NODE_DIRECTORY drop foreign key FK_DIRECTORY_DEFAULT_DOCUMENT_ID;
</create>
<drop></drop>
- <dialect-scope name="org.hibernate.dialect.MySQL5InnoDBDialect"/>
+ <dialect-scope name="org.hibernate.dialect.MySQLInnoDBDialect"/>
</database-object>
<database-object>
<create>
alter table NODE_DIRECTORY add constraint FK_DIRECTORY_DEFAULT_DOCUMENT_ID foreign key (DEFAULT_DOCUMENT_ID) references NODE (NODE_ID) on delete set null;
</create>
<drop></drop>
- <dialect-scope name="org.hibernate.dialect.MySQL5InnoDBDialect"/>
+ <dialect-scope name="org.hibernate.dialect.MySQLInnoDBDialect"/>
</database-object>
<database-object>
@@ -247,14 +265,14 @@
alter table NODE_DOCUMENT drop foreign key FK_NODE_DOCUMENT_DOCUMENT_ID;
</create>
<drop></drop>
- <dialect-scope name="org.hibernate.dialect.MySQL5InnoDBDialect"/>
+ <dialect-scope name="org.hibernate.dialect.MySQLInnoDBDialect"/>
</database-object>
<database-object>
<create>
alter table NODE_DOCUMENT add constraint FK_NODE_DOCUMENT_DOCUMENT_ID foreign key (DOCUMENT_ID) references NODE (NODE_ID) on delete cascade;
</create>
<drop></drop>
- <dialect-scope name="org.hibernate.dialect.MySQL5InnoDBDialect"/>
+ <dialect-scope name="org.hibernate.dialect.MySQLInnoDBDialect"/>
</database-object>
<database-object>
@@ -262,14 +280,14 @@
alter table NODE_DIRECTORY drop foreign key FK_NODE_DIRECTORY_DIRECTORY_ID;
</create>
<drop></drop>
- <dialect-scope name="org.hibernate.dialect.MySQL5InnoDBDialect"/>
+ <dialect-scope name="org.hibernate.dialect.MySQLInnoDBDialect"/>
</database-object>
<database-object>
<create>
alter table NODE_DIRECTORY add constraint FK_NODE_DIRECTORY_DIRECTORY_ID foreign key (DIRECTORY_ID) references NODE (NODE_ID) on delete cascade;
</create>
<drop></drop>
- <dialect-scope name="org.hibernate.dialect.MySQL5InnoDBDialect"/>
+ <dialect-scope name="org.hibernate.dialect.MySQLInnoDBDialect"/>
</database-object>
<database-object>
@@ -277,14 +295,44 @@
alter table NODE_FILE drop foreign key FK_NODE_FILE_FILE_ID;
</create>
<drop></drop>
- <dialect-scope name="org.hibernate.dialect.MySQL5InnoDBDialect"/>
+ <dialect-scope name="org.hibernate.dialect.MySQLInnoDBDialect"/>
</database-object>
<database-object>
<create>
alter table NODE_FILE add constraint FK_NODE_FILE_FILE_ID foreign key (FILE_ID) references NODE (NODE_ID) on delete cascade;
</create>
<drop></drop>
- <dialect-scope name="org.hibernate.dialect.MySQL5InnoDBDialect"/>
+ <dialect-scope name="org.hibernate.dialect.MySQLInnoDBDialect"/>
+ </database-object>
+
+ <database-object>
+ <create>
+ alter table PREFERENCE drop foreign key FK_PREFERENCE_NODE_ID;
+ </create>
+ <drop></drop>
+ <dialect-scope name="org.hibernate.dialect.MySQLInnoDBDialect"/>
+ </database-object>
+ <database-object>
+ <create>
+ alter table PREFERENCE add constraint FK_PREFERENCE_NODE_ID foreign key (NODE_ID) references NODE (NODE_ID) on delete cascade;
+ </create>
+ <drop></drop>
+ <dialect-scope name="org.hibernate.dialect.MySQLInnoDBDialect"/>
+ </database-object>
+
+ <database-object>
+ <create>
+ alter table PREFERENCE drop foreign key FK_PREFERENCE_USER_ID;
+ </create>
+ <drop></drop>
+ <dialect-scope name="org.hibernate.dialect.MySQLInnoDBDialect"/>
+ </database-object>
+ <database-object>
+ <create>
+ alter table PREFERENCE add constraint FK_PREFERENCE_USER_ID foreign key (USER_ID) references USERS (USER_ID) on delete cascade;
+ </create>
+ <drop></drop>
+ <dialect-scope name="org.hibernate.dialect.MySQLInnoDBDialect"/>
</database-object>
<database-object>
@@ -292,14 +340,14 @@
alter table USERS drop foreign key FK_USER_MEMBER_HOME_NODE_ID;
</create>
<drop></drop>
- <dialect-scope name="org.hibernate.dialect.MySQL5InnoDBDialect"/>
+ <dialect-scope name="org.hibernate.dialect.MySQLInnoDBDialect"/>
</database-object>
<database-object>
<create>
alter table USERS add constraint FK_USER_MEMBER_HOME_NODE_ID foreign key (MEMBER_HOME_NODE_ID) references NODE (NODE_ID) on delete set null;
</create>
<drop></drop>
- <dialect-scope name="org.hibernate.dialect.MySQL5InnoDBDialect"/>
+ <dialect-scope name="org.hibernate.dialect.MySQLInnoDBDialect"/>
</database-object>
<database-object>
@@ -307,14 +355,14 @@
alter table USER_ROLE drop foreign key USER_ROLE_USER_ID;
</create>
<drop></drop>
- <dialect-scope name="org.hibernate.dialect.MySQL5InnoDBDialect"/>
+ <dialect-scope name="org.hibernate.dialect.MySQLInnoDBDialect"/>
</database-object>
<database-object>
<create>
alter table USER_ROLE add constraint USER_ROLE_USER_ID foreign key (USER_ID) references USERS (USER_ID) on delete cascade;
</create>
<drop></drop>
- <dialect-scope name="org.hibernate.dialect.MySQL5InnoDBDialect"/>
+ <dialect-scope name="org.hibernate.dialect.MySQLInnoDBDialect"/>
</database-object>
<database-object>
@@ -322,14 +370,14 @@
alter table USER_ROLE drop foreign key USER_ROLE_ROLE_ID;
</create>
<drop></drop>
- <dialect-scope name="org.hibernate.dialect.MySQL5InnoDBDialect"/>
+ <dialect-scope name="org.hibernate.dialect.MySQLInnoDBDialect"/>
</database-object>
<database-object>
<create>
alter table USER_ROLE add constraint USER_ROLE_ROLE_ID foreign key (ROLE_ID) references ROLES (ROLE_ID) on delete cascade;
</create>
<drop></drop>
- <dialect-scope name="org.hibernate.dialect.MySQL5InnoDBDialect"/>
+ <dialect-scope name="org.hibernate.dialect.MySQLInnoDBDialect"/>
</database-object>
<database-object>
@@ -337,14 +385,14 @@
alter table USERS drop foreign key FK_USER_USER_PROFILE_ID;
</create>
<drop></drop>
- <dialect-scope name="org.hibernate.dialect.MySQL5InnoDBDialect"/>
+ <dialect-scope name="org.hibernate.dialect.MySQLInnoDBDialect"/>
</database-object>
<database-object>
<create>
alter table USERS add constraint FK_USER_USER_PROFILE_ID foreign key (USER_PROFILE_ID) references USER_PROFILE (USER_PROFILE_ID) on delete cascade;
</create>
<drop></drop>
- <dialect-scope name="org.hibernate.dialect.MySQL5InnoDBDialect"/>
+ <dialect-scope name="org.hibernate.dialect.MySQLInnoDBDialect"/>
</database-object>
<database-object>
@@ -354,7 +402,7 @@
<drop>
drop index IDX_COMPONENT_NAME
</drop>
- <dialect-scope name="org.hibernate.dialect.MySQL5InnoDBDialect"/>
+ <dialect-scope name="org.hibernate.dialect.MySQLInnoDBDialect"/>
</database-object>
<database-object>
@@ -364,7 +412,7 @@
<drop>
drop index IDX_COMPONENT_PROPERTY_NAME
</drop>
- <dialect-scope name="org.hibernate.dialect.MySQL5InnoDBDialect"/>
+ <dialect-scope name="org.hibernate.dialect.MySQLInnoDBDialect"/>
</database-object>
</hibernate-mapping>
1.9 +4 -0 jboss-seam/examples/wiki/src/main/org/jboss/seam/wiki/core/model/Directory.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: Directory.java
===================================================================
RCS file: /cvsroot/jboss/jboss-seam/examples/wiki/src/main/org/jboss/seam/wiki/core/model/Directory.java,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -b -r1.8 -r1.9
--- Directory.java 17 Aug 2007 13:00:24 -0000 1.8
+++ Directory.java 25 Aug 2007 17:59:23 -0000 1.9
@@ -35,6 +35,10 @@
super(name);
}
+ public Directory(Directory original) {
+ super(original);
+ }
+
// Mutable properties
/**
1.10 +4 -0 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.9
retrieving revision 1.10
diff -u -b -r1.9 -r1.10
--- File.java 17 Aug 2007 13:00:24 -0000 1.9
+++ File.java 25 Aug 2007 17:59:23 -0000 1.10
@@ -61,6 +61,10 @@
super(name);
}
+ public File(File original) {
+ super(original);
+ }
+
// Mutable properties
public String getFilename() {
1.17 +18 -3 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.16
retrieving revision 1.17
diff -u -b -r1.16 -r1.17
--- Node.java 17 Aug 2007 13:00:24 -0000 1.16
+++ Node.java 25 Aug 2007 17:59:23 -0000 1.17
@@ -9,6 +9,7 @@
import org.hibernate.validator.Length;
import org.hibernate.validator.Pattern;
import org.jboss.seam.wiki.core.nestedset.AbstractNestedSetNode;
+import org.jboss.seam.wiki.core.nestedset.NestedSetNode;
import org.jboss.seam.wiki.core.preferences.WikiPreferenceValue;
import org.jboss.seam.wiki.core.search.PaddedIntegerBridge;
import org.jboss.seam.wiki.core.search.annotations.Searchable;
@@ -145,7 +146,7 @@
}
/**
- * Creates copy for history archiving, increments originals revision.
+ * Creates copy for display or history archiving.
* <p>
* Does <b>NOT</b> copy the node id and object version, so the copy might as well be
* considered transient and can be persisted right away. If you want to store the
@@ -155,12 +156,17 @@
* @param original The node to make a copy of
*/
public Node(Node original) {
- if (original == null) return;
+ super(original);
+ // For history/audit logging
this.revision = original.revision;
this.name = original.name;
this.wikiname = original.wikiname;
this.lastModifiedOn = original.lastModifiedOn;
this.lastModifiedByUsername = original.lastModifiedBy != null ? original.lastModifiedBy.getUsername() : null;
+
+ // For display
+ this.displayPosition = original.getDisplayPosition();
+ this.areaNumber = original.getAreaNumber();
}
// Immutable properties
@@ -259,10 +265,18 @@
this.preferences = preferences;
}
+ public boolean vetoNestedSetUpdate() {
+ return historicalNodeId != null; // Historical nodes do not cause updates of the nested set tree!
+ }
+
public String getTreeSuperclassEntityName() {
return "Node";
}
+ public Class getTreeSuperclass() {
+ return Node.class;
+ }
+
// TODO: http://opensource.atlassian.com/projects/hibernate/browse/HHH-1615
public String[] getTreeSuperclassPropertiesForGrouping() {
return new String[]{
@@ -298,7 +312,8 @@
// Misc methods
public String toString() {
- return getName() + " (ID: " + getId() + ")";
+ return getName();
+ // Debug return getName() + " " + super.toString();
}
public Node getArea() {
More information about the jboss-cvs-commits
mailing list