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
[email protected]
http://lists.xwiki.org/mailman/listinfo/notifications