Author: tmortagne
Date: 2007-12-18 16:12:48 +0100 (Tue, 18 Dec 2007)
New Revision: 6402

Modified:
   
xwiki-platform/xwiki-plugins/trunk/wiki-manager/src/main/java/com/xpn/xwiki/plugin/wikimanager/WikiManager.java
Log:
Merge two very similar private methods in one.

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-12-18 13:17:25 UTC (rev 6401)
+++ 
xwiki-platform/xwiki-plugins/trunk/wiki-manager/src/main/java/com/xpn/xwiki/plugin/wikimanager/WikiManager.java
     2007-12-18 15:12:48 UTC (rev 6402)
@@ -236,33 +236,6 @@
     }
 
     /**
-     * Get all [EMAIL PROTECTED] Wiki}.
-     * 
-     * @param context the XWiki context.
-     * @return the list of all [EMAIL PROTECTED] Wiki}.
-     * @throws XWikiException error when getting wikis documents descriptors.
-     */
-    public List getAllWikis(XWikiContext context) throws XWikiException
-    {
-        List wikiList = new ArrayList();
-
-        List parameterValues = new ArrayList();
-
-        String wheresql =
-            XWikiServerClass.getInstance(context).createWhereClause(null, 
parameterValues);
-        List documents =
-            context.getWiki().getStore().searchDocuments(wheresql, 
parameterValues, context);
-
-        for (Iterator it = documents.iterator(); it.hasNext();) {
-            XWikiDocument document = (XWikiDocument) it.next();
-
-            wikiList.add(new Wiki(document, context));
-        }
-
-        return wikiList;
-    }
-
-    /**
      * Get [EMAIL PROTECTED] Wiki} described by document with provided full 
name.
      * 
      * @param documentFullName the full name of the wiki document descriptor.
@@ -278,65 +251,46 @@
     }
 
     /**
-     * Get the documents for which copied document content will be replace by 
an
-     * #includeInContext(SourceDocument) macro call.
+     * Get all [EMAIL PROTECTED] Wiki}.
      * 
-     * @param wiki the name of the wiki where to find the list of documents.
      * @param context the XWiki context.
-     * @return the list of documents to include.
-     * @throws XWikiException error when getting Applications descriptors 
where searched documents
-     *             are listed.
+     * @return the list of all [EMAIL PROTECTED] Wiki}.
+     * @throws XWikiException error when getting wikis documents descriptors.
      */
-    private Collection getDocsNameToInclude(String wiki, XWikiContext context)
-        throws XWikiException
+    public List getAllWikis(XWikiContext context) throws XWikiException
     {
-        // Get applications manger
-        ApplicationManagerPluginApi appmanager =
-            (ApplicationManagerPluginApi) context.getWiki().getPluginApi(
-                ApplicationManagerPlugin.PLUGIN_NAME, context);
+        List wikiList = new ArrayList();
 
-        if (appmanager == null) {
-            return null;
-        }
+        List parameterValues = new ArrayList();
 
-        // //////////////////////////////////
-        // Get documents to include
+        String wheresql =
+            XWikiServerClass.getInstance(context).createWhereClause(null, 
parameterValues);
+        List documents =
+            context.getWiki().getStore().searchDocuments(wheresql, 
parameterValues, context);
 
-        String database = context.getDatabase();
+        for (Iterator it = documents.iterator(); it.hasNext();) {
+            XWikiDocument document = (XWikiDocument) it.next();
 
-        Collection docsToInclude = null;
-
-        try {
-            context.setDatabase(wiki);
-
-            XWikiApplication rootApp = appmanager.getRootApplication();
-
-            if (rootApp != null) {
-                docsToInclude = rootApp.getDocsNameToInclude(true);
-            } else {
-                docsToInclude =
-                    XWikiApplication
-                        
.getDocsNameToInclude(appmanager.getApplicationDocumentList());
-            }
-        } finally {
-            context.setDatabase(database);
+            wikiList.add(new Wiki(document, context));
         }
 
-        return docsToInclude;
+        return wikiList;
     }
 
     /**
      * Get the documents for which copied document content will be replace by 
an
-     * #includeTopic(SourceDocument) macro call.
+     * #includeInContext(SourceDocument) or #includeTopic(SourceDocument) 
macro call.
      * 
      * @param wiki the name of the wiki where to find the list of documents.
      * @param context the XWiki context.
-     * @return the list of documents to include.
+     * @return a pair of list of documents names to include and list of 
documents names to link.
      * @throws XWikiException error when getting Applications descriptors 
where searched documents
      *             are listed.
      */
-    private Collection getDocsNameToLink(String wiki, XWikiContext context) 
throws XWikiException
+    private Collection[] getDocsNames(String wiki, XWikiContext context) 
throws XWikiException
     {
+        Collection[] docsNames = new Collection[2];
+
         // Get applications manger
         ApplicationManagerPluginApi appmanager =
             (ApplicationManagerPluginApi) context.getWiki().getPluginApi(
@@ -347,28 +301,28 @@
         }
 
         // //////////////////////////////////
-        // Get documents to link
+        // Get documents to include or link
 
         String database = context.getDatabase();
 
-        Collection docsToLink = null;
-
         try {
             context.setDatabase(wiki);
 
             XWikiApplication rootApp = appmanager.getRootApplication();
 
             if (rootApp != null) {
-                docsToLink = rootApp.getDocsNameToLink(true);
+                docsNames[0] = rootApp.getDocsNameToInclude(true);
+                docsNames[1] = rootApp.getDocsNameToLink(true);
             } else {
-                docsToLink =
-                    
XWikiApplication.getDocsNameToLink(appmanager.getApplicationDocumentList());
+                Collection applications = 
appmanager.getApplicationDocumentList();
+                docsNames[0] = 
XWikiApplication.getDocsNameToInclude(applications);
+                docsNames[1] = 
XWikiApplication.getDocsNameToLink(applications);
             }
         } finally {
             context.setDatabase(database);
         }
 
-        return docsToLink;
+        return docsNames;
     }
 
     /**
@@ -403,8 +357,10 @@
         try {
             context.setDatabase(targetWiki);
 
+            Collection[] docsNames = getDocsNames(sourceWiki, context);
+            
             // Replace documents contents to include
-            Collection docsNameToInclude = getDocsNameToInclude(sourceWiki, 
context);
+            Collection docsNameToInclude = docsNames[0];
             for (Iterator it = docsNameToInclude.iterator(); it.hasNext();) {
                 String docFullName = (String) it.next();
                 XWikiDocument targetDoc = xwiki.getDocument(docFullName, 
context);
@@ -414,7 +370,7 @@
             }
 
             // Replace documents contents to link
-            Collection docsNameToLink = getDocsNameToLink(sourceWiki, context);
+            Collection docsNameToLink = docsNames[1];
             for (Iterator it = docsNameToLink.iterator(); it.hasNext();) {
                 String docFullName = (String) it.next();
                 XWikiDocument targetDoc = xwiki.getDocument(docFullName, 
context);

_______________________________________________
notifications mailing list
[email protected]
http://lists.xwiki.org/mailman/listinfo/notifications

Reply via email to