[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