[xwiki-notifications] r5611 - in xwiki-platform/xwiki-plugins/trunk/wiki-manager/src/main/java/com/xpn/xwiki/plugin/wikimanager: . doc

tmortagne (SVN) notifications at xwiki.org
Fri Nov 2 16:39:42 CET 2007


Author: tmortagne
Date: 2007-11-02 16:39:42 +0100 (Fri, 02 Nov 2007)
New Revision: 5611

Modified:
   xwiki-platform/xwiki-plugins/trunk/wiki-manager/src/main/java/com/xpn/xwiki/plugin/wikimanager/WikiManager.java
   xwiki-platform/xwiki-plugins/trunk/wiki-manager/src/main/java/com/xpn/xwiki/plugin/wikimanager/WikiManagerMessageTool.java
   xwiki-platform/xwiki-plugins/trunk/wiki-manager/src/main/java/com/xpn/xwiki/plugin/wikimanager/WikiManagerPluginApi.java
   xwiki-platform/xwiki-plugins/trunk/wiki-manager/src/main/java/com/xpn/xwiki/plugin/wikimanager/doc/XWikiServer.java
   xwiki-platform/xwiki-plugins/trunk/wiki-manager/src/main/java/com/xpn/xwiki/plugin/wikimanager/doc/XWikiServerClass.java
Log:
XAWM-22: View and edit more than one server name for one wiki.

Modified: xwiki-platform/xwiki-plugins/trunk/wiki-manager/src/main/java/com/xpn/xwiki/plugin/wikimanager/WikiManager.java
===================================================================
--- xwiki-platform/xwiki-plugins/trunk/wiki-manager/src/main/java/com/xpn/xwiki/plugin/wikimanager/WikiManager.java	2007-11-02 15:39:02 UTC (rev 5610)
+++ xwiki-platform/xwiki-plugins/trunk/wiki-manager/src/main/java/com/xpn/xwiki/plugin/wikimanager/WikiManager.java	2007-11-02 15:39:42 UTC (rev 5611)
@@ -38,7 +38,6 @@
 import com.xpn.xwiki.doc.XWikiDocument;
 
 import java.io.IOException;
-import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Iterator;
 import java.util.List;
@@ -594,7 +593,7 @@
 
         XWiki xwiki = context.getWiki();
 
-        SuperClass wikiClass = userWikiSuperDoc.getSuperClass();
+        SuperClass wikiClass = XWikiServerClass.getInstance(context);
 
         XWikiServer wikiSuperDocToSave;
 
@@ -617,8 +616,11 @@
                 }
             }
 
-            wikiSuperDocToSave = (XWikiServer) wikiClass.newSuperDocument(docToSave, context);
+            int objtId = docToSave.createNewObject(wikiClass.getClassFullName(), context);
 
+            wikiSuperDocToSave =
+                (XWikiServer) wikiClass.newSuperDocument(docToSave, objtId, context);
+
             // clear entry in virtual wiki cache
             if (!wikiSuperDocToSave.getServer().equals(userWikiSuperDoc.getServer())) {
                 xwiki.getVirtualWikiMap().flushEntry(userWikiSuperDoc.getServer());
@@ -759,6 +761,7 @@
      * Only delete the wiki descriptor the corresponding database always exist after delete.
      * 
      * @param wikiNameToDelete the name of the wiki to delete.
+     * @param objectId the id of the XWiki object included in the document to manage.
      * @param context the XWiki context.
      * @throws XWikiException error when:
      *             <ul>
@@ -766,9 +769,10 @@
      *             <li>or deleteing wiki.</li>
      *             </ul>
      */
-    public void deleteWiki(String wikiNameToDelete, XWikiContext context) throws XWikiException
+    public void deleteWiki(String wikiNameToDelete, int objectId, XWikiContext context)
+        throws XWikiException
     {
-        XWikiServer doc = getWiki(wikiNameToDelete, context, true);
+        XWikiServer doc = getWiki(wikiNameToDelete, objectId, true, context);
 
         doc.delete();
     }
@@ -777,39 +781,25 @@
      * Get the wiki descriptor document.
      * 
      * @param wikiName the name of the wiki.
-     * @param context the XWiki context.
+     * @param objectId the id of the XWiki object included in the document to manage.
      * @param validate when wiki descriptor document does not exist :
      *            <ul>
      *            <li> if true, throw an exception with code
      *            {@link WikiManagerException#ERROR_WM_WIKIDOESNOTEXISTS}
      *            <li> if false, return new document unsaved
      *            </ul>
+     * @param context the XWiki context.
      * @return a wiki descriptor document.
      * @throws XWikiException error when getting wiki descriptor document.
      */
-    public XWikiServer getWiki(String wikiName, XWikiContext context, boolean validate)
-        throws XWikiException
+    public XWikiServer getWiki(String wikiName, int objectId, boolean validate,
+        XWikiContext context) throws XWikiException
     {
-        return XWikiServerClass.getInstance(context).getWikiServer(wikiName, context, validate);
+        return XWikiServerClass.getInstance(context).getWikiServer(wikiName, objectId, validate,
+            context);
     }
 
     /**
-     * Get all wiki descriptors documents.
-     * 
-     * @param context the XWiki context.
-     * @return a list of XWikiDocuments.
-     * @throws XWikiException error when:
-     *             <ul>
-     *             <li>getting {@link XWikiServerClass} unique instance.</li>
-     *             <li>or when searching for documents.</li>
-     *             </ul>
-     */
-    public List getWikiDocumentList(XWikiContext context) throws XWikiException
-    {
-        return XWikiServerClass.getInstance(context).searchItemDocuments(context);
-    }
-
-    /**
      * Get all the wikis descriptors documents.
      * 
      * @param context the XWiki context.
@@ -822,29 +812,21 @@
      */
     public List getWikiList(XWikiContext context) throws XWikiException
     {
-        List documentList = getWikiDocumentList(context);
-
-        List wikiList = new ArrayList(documentList.size());
-
-        for (Iterator it = documentList.iterator(); it.hasNext();) {
-            wikiList.add(XWikiServerClass.getInstance(context).newSuperDocument(
-                (XWikiDocument) it.next(), context));
-        }
-
-        return wikiList;
+        return XWikiServerClass.getInstance(context).searchSuperDocuments(context);
     }
 
     /**
      * Indicate of wiki descriptor document exist.
      * 
      * @param wikiName the name of the wiki.
+     * @param objectId the id of the XWiki object included in the document to manage.
      * @param context the XWiki context.
      * @return true if wiki descriptor exist, false if not.
      */
-    public boolean isWikiExist(String wikiName, XWikiContext context)
+    public boolean isWikiExist(String wikiName, int objectId, XWikiContext context)
     {
         try {
-            return getWiki(wikiName, context, true) != null;
+            return getWiki(wikiName, objectId, true, context) != null;
         } catch (XWikiException e) {
             return false;
         }
@@ -860,6 +842,7 @@
      * "template".
      * 
      * @param wikiName the name of the template wiki.
+     * @param objectId the id of the XWiki object included in the document to manage.
      * @param context the XWiki context.
      * @param validate when wiki descriptor document does not exist :
      *            <ul>
@@ -875,11 +858,11 @@
      *             "template".</li>
      *             </ul>
      */
-    public XWikiServer getWikiTemplate(String wikiName, XWikiContext context, boolean validate)
-        throws XWikiException
+    public XWikiServer getWikiTemplate(String wikiName, int objectId, XWikiContext context,
+        boolean validate) throws XWikiException
     {
-        return XWikiServerClass.getInstance(context).getWikiTemplateServer(wikiName, context,
-            validate);
+        return XWikiServerClass.getInstance(context).getWikiTemplateServer(wikiName, objectId,
+            validate, context);
     }
 
     /**
@@ -889,7 +872,7 @@
      * "template".
      * 
      * @param context the XWiki context.
-     * @return a list of XWikiDocuments.
+     * @return a list of {@link XWikiServer}.
      * @throws XWikiException eeor when:
      *             <ul>
      *             <li>getting {@link XWikiServerClass} unique instance.</li>
@@ -897,43 +880,14 @@
      *             to "template".</li>
      *             </ul>
      */
-    public List getWikiTemplateDocumentList(XWikiContext context) throws XWikiException
+    public List getWikiTemplateList(XWikiContext context) throws XWikiException
     {
-        return XWikiServerClass.getInstance(context).searchItemDocumentsByField(
+        return XWikiServerClass.getInstance(context).searchSuperDocumentsByField(
             XWikiServerClass.FIELD_VISIBILITY, XWikiServerClass.FIELDL_VISIBILITY_TEMPLATE,
             "StringProperty", context);
     }
 
     /**
-     * Get all the templates wikis descriptors documents.
-     * <p>
-     * A template wiki is a wiki which the XWiki.XWikiServerClass "visibility" field is set to
-     * "template".
-     * 
-     * @param context the XWiki context.
-     * @return a list of {@link XWikiServer}.
-     * @throws XWikiException eeor when:
-     *             <ul>
-     *             <li>getting {@link XWikiServerClass} unique instance.</li>
-     *             <li>or when searching for all wikis descriptors with "visibility" field equals
-     *             to "template".</li>
-     *             </ul>
-     */
-    public List getWikiTemplateList(XWikiContext context) throws XWikiException
-    {
-        List documentList = getWikiTemplateDocumentList(context);
-
-        List wikiList = new ArrayList(documentList.size());
-
-        for (Iterator it = documentList.iterator(); it.hasNext();) {
-            wikiList.add(XWikiServerClass.getInstance(context).newSuperDocument(
-                (XWikiDocument) it.next(), context));
-        }
-
-        return wikiList;
-    }
-
-    /**
      * Create a template wiki. The new template wiki is initialized with provided xar package.
      * <p>
      * A template wiki is a wiki which the XWiki.XWikiServerClass "visibility" field is set to

Modified: xwiki-platform/xwiki-plugins/trunk/wiki-manager/src/main/java/com/xpn/xwiki/plugin/wikimanager/WikiManagerMessageTool.java
===================================================================
--- xwiki-platform/xwiki-plugins/trunk/wiki-manager/src/main/java/com/xpn/xwiki/plugin/wikimanager/WikiManagerMessageTool.java	2007-11-02 15:39:02 UTC (rev 5610)
+++ xwiki-platform/xwiki-plugins/trunk/wiki-manager/src/main/java/com/xpn/xwiki/plugin/wikimanager/WikiManagerMessageTool.java	2007-11-02 15:39:42 UTC (rev 5611)
@@ -40,7 +40,7 @@
         "wikimanager.plugin.comment.createwikitemplate";
 
     /**
-     * Used as {@link WikiManagerException} message when trying to make action that require virtaul
+     * Used as {@link WikiManagerException} message when trying to make action that require virtual
      * mode in a wiki not in virtual mode.
      */
     public static final String ERROR_XWIKINOTVIRTUAL = "wikimanager.plugin.error.xwikinotvirtual";

Modified: xwiki-platform/xwiki-plugins/trunk/wiki-manager/src/main/java/com/xpn/xwiki/plugin/wikimanager/WikiManagerPluginApi.java
===================================================================
--- xwiki-platform/xwiki-plugins/trunk/wiki-manager/src/main/java/com/xpn/xwiki/plugin/wikimanager/WikiManagerPluginApi.java	2007-11-02 15:39:02 UTC (rev 5610)
+++ xwiki-platform/xwiki-plugins/trunk/wiki-manager/src/main/java/com/xpn/xwiki/plugin/wikimanager/WikiManagerPluginApi.java	2007-11-02 15:39:42 UTC (rev 5611)
@@ -202,6 +202,27 @@
      */
     public int deleteWiki(String wikiName) throws XWikiException
     {
+        return deleteWiki(wikiName, 0);
+    }
+
+    /**
+     * Delete wiki descriptor document from database.
+     * 
+     * @param wikiName the name of the wiki to delete.
+     * @param objectId the id of the XWiki object included in the document to manage.
+     * @return If there is error, it add error code in context {@link #CONTEXT_LASTERRORCODE} field
+     *         and exception in context's {@link #CONTEXT_LASTEXCEPTION} field.
+     *         <p>
+     *         Error codes can be :
+     *         <ul>
+     *         <li>{@link XWikiExceptionApi#ERROR_NOERROR}: methods succeed.</li>
+     *         <li>{@link WikiManagerException#ERROR_WM_WIKIDOESNOTEXISTS}: wiki to delete does
+     *         not exists.</li>
+     *         </ul>
+     * @throws XWikiException critical error in xwiki engine.
+     */
+    public int deleteWiki(String wikiName, int objectId) throws XWikiException
+    {
         if (!hasAdminRights()) {
             return XWikiException.ERROR_XWIKI_ACCESS_DENIED;
         }
@@ -209,7 +230,7 @@
         int returncode = XWikiExceptionApi.ERROR_NOERROR;
 
         try {
-            WikiManager.getInstance().deleteWiki(wikiName, this.context);
+            WikiManager.getInstance().deleteWiki(wikiName, objectId, this.context);
         } catch (WikiManagerException e) {
             LOG.error(messageTool.get(WikiManagerMessageTool.LOG_WIKIDELETION, wikiName), e);
 
@@ -240,10 +261,32 @@
      */
     public XWikiServer getWikiDocument(String wikiName) throws XWikiException
     {
+        return getWikiDocument(wikiName, 0);
+    }
+
+    /**
+     * Get wiki descriptor document corresponding to provided wiki name.
+     * 
+     * @param wikiName the name of the wiki.
+     * @param objectId the id of the XWiki object included in the document to manage.
+     * @return null if there is an error and add error code in context
+     *         {@link #CONTEXT_LASTERRORCODE} field and exception in context's
+     *         {@link #CONTEXT_LASTEXCEPTION} field.
+     *         <p>
+     *         Error codes can be :
+     *         <ul>
+     *         <li>{@link XWikiExceptionApi#ERROR_NOERROR}: methods succeed.</li>
+     *         <li>{@link WikiManagerException#ERROR_WM_WIKIDOESNOTEXISTS}: wiki to delete does
+     *         not exists.</li>
+     *         </ul>
+     * @throws XWikiException critical error in xwiki engine.
+     */
+    public XWikiServer getWikiDocument(String wikiName, int objectId) throws XWikiException
+    {
         XWikiServer doc = null;
 
         try {
-            doc = WikiManager.getInstance().getWiki(wikiName, this.context, true);
+            doc = WikiManager.getInstance().getWiki(wikiName, objectId, true, this.context);
         } catch (WikiManagerException e) {
             LOG.error(messageTool.get(WikiManagerMessageTool.LOG_WIKIGET, wikiName), e);
 
@@ -296,10 +339,23 @@
      */
     public boolean isWikiExist(String wikiName)
     {
-        return WikiManager.getInstance().isWikiExist(wikiName, this.context);
+        return isWikiExist(wikiName, 0);
     }
 
     /**
+     * Check if a Server of the given name exists in the master Wiki by checking if the
+     * "XWiki.XWikiServer{serverName}" document is new.
+     * 
+     * @param wikiName the name of the server to be checked
+     * @param objectId the id of the XWiki object included in the document to manage.
+     * @return true if server exists, false otherwise
+     */
+    public boolean isWikiExist(String wikiName, int objectId)
+    {
+        return WikiManager.getInstance().isWikiExist(wikiName, objectId, this.context);
+    }
+
+    /**
      * Change the {@link XWikiServerClass} "visibility" field of a wiki descriptor document.
      * 
      * @param wikiName the name of the wiki descriptor.
@@ -318,10 +374,35 @@
      */
     public int setWikiVisibility(String wikiName, String visibility) throws XWikiException
     {
+        return setWikiVisibility(wikiName, 0, visibility);
+    }
+
+    /**
+     * Change the {@link XWikiServerClass} "visibility" field of a wiki descriptor document.
+     * 
+     * @param wikiName the name of the wiki descriptor.
+     * @param objectId the id of the XWiki object included in the document to manage.
+     * @param visibility the new value of "visibility" field. Can be "public", "private" or
+     *            "template".
+     * @return If there is error, it add error code in context {@link #CONTEXT_LASTERRORCODE} field
+     *         and exception in context's {@link #CONTEXT_LASTEXCEPTION} field.
+     *         <p>
+     *         Error codes can be :
+     *         <ul>
+     *         <li>{@link XWikiExceptionApi#ERROR_NOERROR}: methods succeed.</li>
+     *         <li>{@link WikiManagerException#ERROR_WM_WIKIDOESNOTEXISTS}: wiki to delete does
+     *         not exists.</li>
+     *         </ul>
+     * @throws XWikiException critical error in xwiki engine.
+     */
+    public int setWikiVisibility(String wikiName, int objectId, String visibility)
+        throws XWikiException
+    {
         int returncode = XWikiExceptionApi.ERROR_NOERROR;
 
         try {
-            XWikiServer wikiDoc = WikiManager.getInstance().getWiki(wikiName, this.context, true);
+            XWikiServer wikiDoc =
+                WikiManager.getInstance().getWiki(wikiName, objectId, true, this.context);
             wikiDoc.setVisibility(visibility);
             wikiDoc.save();
         } catch (WikiManagerException e) {
@@ -426,10 +507,35 @@
      */
     public XWikiServer getWikiTemplateDocument(String wikiName) throws XWikiException
     {
+        return getWikiTemplateDocument(wikiName, 0);
+    }
+
+    /**
+     * Get wiki descriptor document corresponding to provided wiki name with
+     * {@link XWikiServerClass} "visibility" field set to "template".
+     * 
+     * @param wikiName the name of the wiki template.
+     * @param objectId the id of the XWiki object included in the document to manage.
+     * @return null if there is an error and add error code in context
+     *         {@link #CONTEXT_LASTERRORCODE} field and exception in context's
+     *         {@link #CONTEXT_LASTEXCEPTION} field.
+     *         <p>
+     *         Error codes can be :
+     *         <ul>
+     *         <li>{@link XWikiExceptionApi#ERROR_NOERROR}: methods succeed.</li>
+     *         <li>{@link WikiManagerException#ERROR_WM_WIKIDOESNOTEXISTS}: wiki to delete does
+     *         not exists.</li>
+     *         </ul>
+     * @throws XWikiException critical error in xwiki engine.
+     */
+    public XWikiServer getWikiTemplateDocument(String wikiName, int objectId)
+        throws XWikiException
+    {
         XWikiServer doc = null;
 
         try {
-            doc = WikiManager.getInstance().getWikiTemplate(wikiName, this.context, true);
+            doc =
+                WikiManager.getInstance().getWikiTemplate(wikiName, objectId, this.context, true);
         } catch (WikiManagerException e) {
             LOG.error(messageTool.get(WikiManagerMessageTool.LOG_WIKITEMPLATEGET, wikiName), e);
 

Modified: xwiki-platform/xwiki-plugins/trunk/wiki-manager/src/main/java/com/xpn/xwiki/plugin/wikimanager/doc/XWikiServer.java
===================================================================
--- xwiki-platform/xwiki-plugins/trunk/wiki-manager/src/main/java/com/xpn/xwiki/plugin/wikimanager/doc/XWikiServer.java	2007-11-02 15:39:02 UTC (rev 5610)
+++ xwiki-platform/xwiki-plugins/trunk/wiki-manager/src/main/java/com/xpn/xwiki/plugin/wikimanager/doc/XWikiServer.java	2007-11-02 15:39:42 UTC (rev 5611)
@@ -44,18 +44,18 @@
      * Create new XWikiServer managing provided XWikiDocument.
      * 
      * @param xdoc the encapsulated XWikiDocument
+     * @param objectId the id of the XWiki object included in the document to manage.
      * @param context the XWiki context
      * @throws XWikiException error when:
      *             <ul>
      *             <li>getting XWikiServerClass instance.</li>
      *             <li>or when calling {@link #reload(XWikiContext)}</li>
      *             </ul>
-     * @see DefaultSuperDocument#DefaultSuperDocument(com.xpn.xwiki.plugin.applicationmanager.core.doc.objects.classes.SuperClass,
-     *      XWikiDocument, XWikiContext)
+     * @see DefaultSuperDocument#DefaultSuperDocument(com.xpn.xwiki.plugin.applicationmanager.core.doc.objects.classes.SuperClass, XWikiDocument, int, XWikiContext)
      */
-    public XWikiServer(XWikiDocument xdoc, XWikiContext context) throws XWikiException
+    public XWikiServer(XWikiDocument xdoc, int objectId, XWikiContext context) throws XWikiException
     {
-        super(XWikiServerClass.getInstance(context), xdoc, context);
+        super(XWikiServerClass.getInstance(context), xdoc, objectId, context);
     }
 
     /**

Modified: xwiki-platform/xwiki-plugins/trunk/wiki-manager/src/main/java/com/xpn/xwiki/plugin/wikimanager/doc/XWikiServerClass.java
===================================================================
--- xwiki-platform/xwiki-plugins/trunk/wiki-manager/src/main/java/com/xpn/xwiki/plugin/wikimanager/doc/XWikiServerClass.java	2007-11-02 15:39:02 UTC (rev 5610)
+++ xwiki-platform/xwiki-plugins/trunk/wiki-manager/src/main/java/com/xpn/xwiki/plugin/wikimanager/doc/XWikiServerClass.java	2007-11-02 15:39:42 UTC (rev 5611)
@@ -25,6 +25,7 @@
 import com.xpn.xwiki.doc.XWikiDocument;
 import com.xpn.xwiki.plugin.applicationmanager.core.doc.objects.classes.AbstractSuperClass;
 import com.xpn.xwiki.plugin.applicationmanager.core.doc.objects.classes.SuperDocument;
+import com.xpn.xwiki.plugin.applicationmanager.core.doc.objects.classes.SuperDocumentDoesNotExistException;
 import com.xpn.xwiki.objects.classes.BaseClass;
 import com.xpn.xwiki.plugin.wikimanager.WikiManagerException;
 
@@ -272,95 +273,63 @@
     }
 
     /**
-     * Get wiki descriptor {@link XWikiDocument}.
+     * Get wiki descriptor {@link XWikiServer}.
      * 
      * @param wikiName the name of the wiki.
-     * @param context the XWiki context.
-     * @param validate indicate if it return new {@link XWikiDocument} or throw exception if wiki
+     * @param objectId the id of the XWiki object included in the document to manage.
+     * @param validate indicate if it return new {@link XWikiServer} or throw exception if wiki
      *            descriptor does not exist.
-     * @return the {@link XWikiDocument} representing wiki descriptor.
+     * @param context the XWiki context.
+     * @return the {@link XWikiServer} representing wiki descriptor.
      * @throws XWikiException error when searching for wiki descriptor document.
      */
-    private XWikiDocument getWikiServerDocument(String wikiName, XWikiContext context,
-        boolean validate) throws XWikiException
+    public XWikiServer getWikiServer(String wikiName, int objectId, boolean validate,
+        XWikiContext context) throws XWikiException
     {
-        XWikiDocument doc = getItemDocument(wikiName, context);
-
-        if (validate && doc.isNew()) {
+        try {
+            return (XWikiServer) getSuperDocument(wikiName, objectId, validate, context);
+        } catch (SuperDocumentDoesNotExistException e) {
             throw new WikiManagerException(WikiManagerException.ERROR_WM_WIKIDOESNOTEXISTS,
-                wikiName + " wiki descriptor document does not exist");
+                wikiName + " wiki descriptor document does not exist",
+                e);
         }
-
-        return doc;
     }
 
     /**
-     * Get wiki descriptor {@link XWikiDocument} with "visibility" field to "template".
+     * Get wiki template descriptor {@link XWikiServer}.
      * 
      * @param wikiName the name of the wiki.
+     * @param objectId the id of the XWiki object included in the document to manage.
      * @param context the XWiki context.
-     * @param validate indicate if it return new {@link XWikiDocument} or throw exception if wiki
+     * @param validate indicate if it return new {@link XWikiServer} or throw exception if wiki
      *            descriptor does not exist.
-     * @return the {@link XWikiDocument} representing wiki descriptor.
+     * @return the {@link XWikiServer} representing wiki descriptor.
      * @throws XWikiException error when searching for wiki descriptor document.
      */
-    private XWikiDocument getWikiTemplateServerDocument(String wikiName, XWikiContext context,
-        boolean validate) throws XWikiException
+    public XWikiServer getWikiTemplateServer(String wikiName, int objectId, boolean validate,
+        XWikiContext context) throws XWikiException
     {
-        XWikiDocument doc = getItemDocument(wikiName, context);
+        XWikiServer wiki = getWikiServer(wikiName, objectId, validate, context);
 
-        if (validate) {
-            if (doc.isNew()
-                || !doc.getStringValue(FIELD_VISIBILITY).equals(FIELDL_VISIBILITY_TEMPLATE)) {
-                throw new WikiManagerException(WikiManagerException.ERROR_WM_WIKIDOESNOTEXISTS,
-                    wikiName + " wiki template descriptor document does not exist");
-            }
+        if (validate && !wiki.getVisibility().equals(FIELDL_VISIBILITY_TEMPLATE)) {
+            throw new WikiManagerException(WikiManagerException.ERROR_WM_WIKIDOESNOTEXISTS,
+                wikiName + " wiki template descriptor document does not exist");
         }
 
-        return doc;
+        return wiki;
     }
 
     /**
-     * Get wiki descriptor {@link XWikiServer}.
+     * {@inheritDoc}
+     * <p>
+     * Override abstract method using XWikiApplication as {@link SuperDocument}.
      * 
-     * @param wikiName the name of the wiki.
-     * @param context the XWiki context.
-     * @param validate indicate if it return new {@link XWikiServer} or throw exception if wiki
-     *            descriptor does not exist.
-     * @return the {@link XWikiServer} representing wiki descriptor.
-     * @throws XWikiException error when searching for wiki descriptor document.
+     * @see com.xpn.xwiki.plugin.applicationmanager.core.doc.objects.classes.AbstractSuperClass#newSuperDocument(com.xpn.xwiki.doc.XWikiDocument,
+     *      int, com.xpn.xwiki.XWikiContext)
      */
-    public XWikiServer getWikiServer(String wikiName, XWikiContext context, boolean validate)
+    public SuperDocument newSuperDocument(XWikiDocument doc, int objId, XWikiContext context)
         throws XWikiException
     {
-        return (XWikiServer) newSuperDocument(getWikiServerDocument(wikiName, context, validate),
-            context);
+        return new XWikiServer(doc, objId, context);
     }
-
-    /**
-     * Get wiki template descriptor {@link XWikiServer}.
-     * 
-     * @param wikiName the name of the wiki.
-     * @param context the XWiki context.
-     * @param validate indicate if it return new {@link XWikiServer} or throw exception if wiki
-     *            descriptor does not exist.
-     * @return the {@link XWikiServer} representing wiki descriptor.
-     * @throws XWikiException error when searching for wiki descriptor document.
-     */
-    public XWikiServer getWikiTemplateServer(String wikiName, XWikiContext context,
-        boolean validate) throws XWikiException
-    {
-        return (XWikiServer) newSuperDocument(getWikiTemplateServerDocument(wikiName, context,
-            validate), context);
-    }
-
-    /**
-     * {@inheritDoc}
-     *
-     * @see com.xpn.xwiki.plugin.applicationmanager.core.doc.objects.classes.AbstractSuperClass#newSuperDocument(com.xpn.xwiki.doc.XWikiDocument, com.xpn.xwiki.XWikiContext)
-     */
-    public SuperDocument newSuperDocument(XWikiDocument doc, XWikiContext context)
-    {
-        return (SuperDocument) doc.newDocument(XWikiServer.class.getName(), context);
-    }
 }



More information about the notifications mailing list