Author: tmortagne
Date: 2007-10-04 17:47:26 +0200 (Thu, 04 Oct 2007)
New Revision: 5285
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/WikiManagerPluginApi.java
Log:
XAWM-11: Temporary implement "docsToLink" applicationManager feature using
"#includeTopic" velocity macro.
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-10-04 15:45:50 UTC (rev 5284)
+++
xwiki-platform/xwiki-plugins/trunk/wiki-manager/src/main/java/com/xpn/xwiki/plugin/wikimanager/WikiManager.java
2007-10-04 15:47:26 UTC (rev 5285)
@@ -184,26 +184,55 @@
return docsToInclude;
}
+
+ private Collection getDocsNameToLink(String wiki, XWikiContext context)
throws XWikiException
+ {
+ // Get applications manger
+ ApplicationManagerPluginApi appmanager =
+ (ApplicationManagerPluginApi) context.getWiki().getPluginApi(
+ ApplicationManagerPlugin.PLUGIN_NAME, context);
+ if (appmanager == null)
+ return null;
+
+ // //////////////////////////////////
+ // Get documents to link
+
+ String database = context.getDatabase();
+
+ Collection docsToLink = null;
+
+ try {
+ context.setDatabase(wiki);
+
+ XWikiApplication rootApp = appmanager.getRootApplication();
+
+ if (rootApp != null)
+ docsToLink = rootApp.getDocsNameToLink(true, context);
+ else
+ docsToLink =
+ XWikiApplication.getDocsNameToLink(
+ appmanager.getApplicationDocumentList(), true,
context);
+ } finally {
+ context.setDatabase(database);
+ }
+
+ return docsToLink;
+ }
+
private void copyWiki(String sourceWiki, String targetWiki, String
language,
XWikiContext context) throws XWikiException
{
- /*
- * TODO : add included copy support to xwiki-core and use this code
- * context.getWiki().copyWikiWeb(null, sourceWiki,
getDocsNameToInclude(sourceWiki,
- * context), targetWiki, language, true, context);
- */
-
XWiki xwiki = context.getWiki();
// Copy all the wiki
xwiki.copyWikiWeb(null, sourceWiki, targetWiki, language, true,
context);
- // Replace documents contents to include
String database = context.getDatabase();
try {
context.setDatabase(targetWiki);
+ // Replace documents contents to include
Collection docsNameToInclude = getDocsNameToInclude(sourceWiki,
context);
for (Iterator it = docsNameToInclude.iterator(); it.hasNext();) {
String docFullName = (String) it.next();
@@ -212,6 +241,15 @@
targetDoc.setContent("#includeInContext(\"" + sourceWiki + ":"
+ docFullName
+ "\")");
}
+
+ // Replace documents contents to link
+ Collection docsNameToLink = getDocsNameToLink(sourceWiki, context);
+ for (Iterator it = docsNameToLink.iterator(); it.hasNext();) {
+ String docFullName = (String) it.next();
+ XWikiDocument targetDoc = xwiki.getDocument(docFullName,
context);
+
+ targetDoc.setContent("#includeTopic(\"" + sourceWiki + ":" +
docFullName + "\")");
+ }
} finally {
context.setDatabase(database);
}
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-10-04 15:45:50 UTC (rev 5284)
+++
xwiki-platform/xwiki-plugins/trunk/wiki-manager/src/main/java/com/xpn/xwiki/plugin/wikimanager/WikiManagerPluginApi.java
2007-10-04 15:47:26 UTC (rev 5285)
@@ -315,6 +315,4 @@
return listDocument;
}
-
-
}
_______________________________________________
notifications mailing list
[email protected]
http://lists.xwiki.org/mailman/listinfo/notifications