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