Author: tmortagne
Date: 2007-10-09 10:41:57 +0200 (Tue, 09 Oct 2007)
New Revision: 5324

Modified:
   
xwiki-platform/xwiki-plugins/trunk/application-manager/src/main/java/com/xpn/xwiki/plugin/applicationmanager/core/doc/objects/classes/AbstractSuperClass.java
Log:
XAAM-12: By default the new class document parent of a SuperClass is set to 
XWiki.XWikiClasses and template/sheet document parent to class document.
XAAM-14: Add method to override for AbstractSuperClass extended classes to able 
to modify initialize some specifics in the class template document.

Modified: 
xwiki-platform/xwiki-plugins/trunk/application-manager/src/main/java/com/xpn/xwiki/plugin/applicationmanager/core/doc/objects/classes/AbstractSuperClass.java
===================================================================
--- 
xwiki-platform/xwiki-plugins/trunk/application-manager/src/main/java/com/xpn/xwiki/plugin/applicationmanager/core/doc/objects/classes/AbstractSuperClass.java
       2007-10-08 20:28:46 UTC (rev 5323)
+++ 
xwiki-platform/xwiki-plugins/trunk/application-manager/src/main/java/com/xpn/xwiki/plugin/applicationmanager/core/doc/objects/classes/AbstractSuperClass.java
       2007-10-09 08:41:57 UTC (rev 5324)
@@ -133,6 +133,11 @@
      */
     private final String classTemplateDefaultContent;
 
+    /**
+     * FullName of the default parent page for a document containing xwiki 
class.
+     */
+    private final String DEFAULT_XWIKICLASS_PARENT = "XWiki.XWikiClasses";
+
     public String getClassSpacePrefix()
     {
         return CLASS_SPACE_PREFIX;
@@ -352,6 +357,7 @@
             doc = new XWikiDocument();
             doc.setSpace(getClassSpace());
             doc.setName(getClassName());
+            doc.setParent(DEFAULT_XWIKICLASS_PARENT);
             needsUpdate = true;
         }
 
@@ -391,6 +397,7 @@
             doc = new XWikiDocument();
             doc.setSpace(getClassSheetSpace());
             doc.setName(getClassSheetName());
+            doc.setParent(getClassFullName());
             needsUpdate = true;
         }
 
@@ -441,13 +448,26 @@
 
         if (doc.isNew()) {
             doc.setContent(getClassTemplateDefaultContent());
+            doc.setParent(getClassFullName());
         }
 
+        needsUpdate |= updateClassTemplateDocument(doc);
+        
         if (doc.isNew() || needsUpdate)
             xwiki.saveDocument(doc, context);
     }
 
     /**
+     * Initialize template document with default content.
+     * 
+     * @param doc the class template document that will be saved.
+     */
+    protected boolean updateClassTemplateDocument(XWikiDocument doc)
+    {
+        return false;
+    }
+
+    /**
      * Configure BaseClass.
      * 
      * @param baseClass the baseClass to configure.

_______________________________________________
notifications mailing list
notifications@xwiki.org
http://lists.xwiki.org/mailman/listinfo/notifications

Reply via email to