Author: sdumitriu
Date: 2007-12-28 16:57:54 +0100 (Fri, 28 Dec 2007)
New Revision: 6507
Modified:
xwiki-platform/core/trunk/xwiki-core/src/main/java/com/xpn/xwiki/store/migration/AbstractXWikiMigrationManager.java
Log:
[cleanup] Apply checkstyle
Modified:
xwiki-platform/core/trunk/xwiki-core/src/main/java/com/xpn/xwiki/store/migration/AbstractXWikiMigrationManager.java
===================================================================
---
xwiki-platform/core/trunk/xwiki-core/src/main/java/com/xpn/xwiki/store/migration/AbstractXWikiMigrationManager.java
2007-12-28 15:25:01 UTC (rev 6506)
+++
xwiki-platform/core/trunk/xwiki-core/src/main/java/com/xpn/xwiki/store/migration/AbstractXWikiMigrationManager.java
2007-12-28 15:57:54 UTC (rev 6507)
@@ -19,30 +19,45 @@
*/
package com.xpn.xwiki.store.migration;
-import com.xpn.xwiki.XWikiContext;
-import com.xpn.xwiki.XWikiException;
-import com.xpn.xwiki.doc.XWikiDocument;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Formatter;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Set;
+import java.util.SortedMap;
+import java.util.TreeMap;
+
import org.apache.commons.collections.set.ListOrderedSet;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import java.util.*;
+import com.xpn.xwiki.XWikiContext;
+import com.xpn.xwiki.XWikiException;
/**
* Template for [EMAIL PROTECTED] XWikiMigrationManagerInterface}.
+ *
* @version $Id: $
*/
public abstract class AbstractXWikiMigrationManager implements
XWikiMigrationManagerInterface
{
/** logger. */
private static final Log LOG =
LogFactory.getLog(AbstractXWikiMigrationManager.class);
+
/**
* Unified constructor for all subclasses.
+ *
* @param context - used everywhere
*/
- public AbstractXWikiMigrationManager(XWikiContext context) { }
+ public AbstractXWikiMigrationManager(XWikiContext context)
+ {
+ }
+
/**
* read data version from xwiki.cfg.
+ *
* @param context used for read config
* @return data version if set, or null.
*/
@@ -51,6 +66,7 @@
String ver =
context.getWiki().getConfig().getProperty("xwiki.store.migration.version");
return ver == null ? null : new XWikiDBVersion(Integer.parseInt(ver));
}
+
/**
* [EMAIL PROTECTED]
*/
@@ -59,6 +75,7 @@
XWikiDBVersion result = getDBVersionFromConfig(context);
return result == null ? new XWikiDBVersion(0) : result;
}
+
/**
* @param version to set
* @param context used everywhere
@@ -81,15 +98,18 @@
try {
for (Iterator it = getDatabasesToMigrate(context).iterator();
it.hasNext();) {
String database = (String) it.next();
- LOG.info("Starting migration for database [" + database +
"]...");
- // Set up the context so that it points to the virtual
wiki corresponding to the database.
+ LOG.info(new Formatter().format("Starting migration for
database [%s]...",
+ new Object[] {database}));
+ // Set up the context so that it points to the virtual
wiki corresponding to the
+ // database.
context.setVirtual(true);
context.setDatabase(database);
context.setOriginalDatabase(database);
try {
startMigrationsForDatabase(context);
} catch (XWikiException e) {
- LOG.info("Failed to migrate database [" + database +
"]...", e);
+ LOG.info(new Formatter().format("Failed to migrate
database [%s]...",
+ new Object[] {database}), e);
}
}
} finally {
@@ -99,29 +119,43 @@
}
} else {
// Just migrate the main wiki
- startMigrationsForDatabase(context);
+ try {
+ startMigrationsForDatabase(context);
+ } catch (XWikiException ex) {
+ LOG.info("Failed to migrate main database...", ex);
+ }
}
}
/**
- * @return the names of all databases to migrate. This is controlled
through the "xwiki.store.migration.databases"
- * configuration property in xwiki.cfg. A value of "all" will add
all databases. Note that the main database
- * is automatically added even if not specified.
+ * Returns the names of the databases that should be migrated. This is
controlled through the
+ * "xwiki.store.migration.databases" configuration property in xwiki.cfg.
A value of "all" will
+ * add all databases. Note that the main database is automatically added
even if not specified.
+ *
+ * @param context The [EMAIL PROTECTED] com.xpn.xwiki.XWikiContext}
object, needed for accessing the main
+ * wiki.
+ * @return The names of all databases to migrate.
+ * @throws XWikiException if the list of wikis cannot be obtained.
*/
private Set getDatabasesToMigrate(XWikiContext context) throws
XWikiException
{
Set databasesToMigrate = new ListOrderedSet();
- // Always migrate the main database. We also want this to be the first
database migrated so it has to be the
+ // Always migrate the main database. We also want this to be the first
database migrated so
+ // it has to be the
// first returned in the list.
databasesToMigrate.add(context.getMainXWiki());
- // Add the databases listed by the user (if any). If there's a single
database named and if it's "all" or "ALL"
+ // Add the databases listed by the user (if any). If there's a single
database named and if
+ // it's "all" or "ALL"
// then automatically add all the registered databases.
if (context.getWiki().isVirtual()) {
- String[] databases =
context.getWiki().getConfig().getPropertyAsList("xwiki.store.migration.databases");
+ String[] databases =
+ context.getWiki().getConfig()
+ .getPropertyAsList("xwiki.store.migration.databases");
if ((databases.length == 1) &&
databases[0].equalsIgnoreCase("all")) {
-
databasesToMigrate.addAll(context.getWiki().getVirtualWikisDatabaseNames(context));
+ databasesToMigrate
+
.addAll(context.getWiki().getVirtualWikisDatabaseNames(context));
} else {
for (int i = 0; i < databases.length; i++) {
databasesToMigrate.add(databases[i]);
@@ -133,46 +167,53 @@
}
/**
- * It is assumed that before calling this method the XWiki context has
been set with the database to migrate.
+ * It is assumed that before calling this method the XWiki context has
been set with the
+ * database to migrate.
+ *
+ * @param context The [EMAIL PROTECTED] com.xpn.xwiki.XWikiContext}
object, needed for accessing the
+ * storage module.
+ * @throws XWikiException if there is an error updating the database.
*/
private void startMigrationsForDatabase(XWikiContext context) throws
XWikiException
{
- XWikiDBVersion curversion = getDBVersion(context);
try {
Collection neededMigrations = getNeededMigrations(context);
startMigrations(neededMigrations, context);
} catch (Exception e) {
throw new XWikiException(XWikiException.MODULE_XWIKI_STORE,
- XWikiException.ERROR_XWIKI_STORE_MIGRATION, "Migration
failed", e);
+ XWikiException.ERROR_XWIKI_STORE_MIGRATION,
+ "Migration failed",
+ e);
}
}
/**
- * @return collection of [EMAIL PROTECTED] XWikiMigratorInterface} in
ascending order,
- * which need be executed.
+ * @return collection of [EMAIL PROTECTED] XWikiMigratorInterface} in
ascending order, which need be
+ * executed.
* @param context used everywhere
- * @throws Exception if any error
+ * @throws Exception if any error
*/
protected Collection getNeededMigrations(XWikiContext context) throws
Exception
{
XWikiDBVersion curversion = getDBVersion(context);
SortedMap neededMigrations = new TreeMap();
- String[] forcedMigrations =
context.getWiki().getConfig().getPropertyAsList("xwiki.store.migration.force");
+ String[] forcedMigrations =
+
context.getWiki().getConfig().getPropertyAsList("xwiki.store.migration.force");
if (forcedMigrations.length > 0) {
for (int i = 0; i < forcedMigrations.length; i++) {
XWikiMigratorInterface migrator =
(XWikiMigratorInterface)
Class.forName(forcedMigrations[i]).newInstance();
- neededMigrations.put(migrator.getVersion(), migrator);
+ neededMigrations.put(migrator.getVersion(), migrator);
}
} else {
- Set ignoredMigrations = new
HashSet(Arrays.asList(context.getWiki().getConfig()
- .getPropertyAsList("xwiki.store.migration.ignored")));
+ Set ignoredMigrations =
+ new
HashSet(Arrays.asList(context.getWiki().getConfig().getPropertyAsList(
+ "xwiki.store.migration.ignored")));
List allMigrations = getAllMigrations(context);
for (Iterator it = allMigrations.iterator(); it.hasNext();) {
XWikiMigratorInterface migrator = (XWikiMigratorInterface)
it.next();
if (ignoredMigrations.contains(migrator.getClass().getName())
- ||
ignoredMigrations.contains(migrator.getVersion().toString()))
- {
+ ||
ignoredMigrations.contains(migrator.getVersion().toString())) {
continue;
}
if (migrator.getVersion().compareTo(curversion) >= 0) {
@@ -191,12 +232,14 @@
LOG.info(" " + migrator.getName() + " - " +
migrator.getDescription());
}
} else {
- LOG.info("No storage migration required since current version
is [" + curversion.toString() + "]");
+ LOG.info("No storage migration required since current version
is ["
+ + curversion.toString() + "]");
}
}
- return neededMigrationsAsCollection;
+ return neededMigrationsAsCollection;
}
+
/**
* @param migrations - run this migrations in order of collection
* @param context - used everywhere
@@ -209,7 +252,8 @@
for (Iterator it = migrations.iterator(); it.hasNext();) {
XWikiMigratorInterface migrator = (XWikiMigratorInterface)
it.next();
if (LOG.isInfoEnabled()) {
- LOG.info("Running migration [" + migrator.getName() + "] with
version [" + migrator.getVersion() + "]");
+ LOG.info("Running migration [" + migrator.getName() + "] with
version ["
+ + migrator.getVersion() + "]");
}
migrate(migrator, context);
if (migrator.getVersion().compareTo(curversion) > 0) {
@@ -220,6 +264,7 @@
}
}
}
+
/**
* @param migrator to execute
* @param context used everywhere
@@ -230,6 +275,7 @@
{
migrator.migrate(this, context);
}
+
/**
* @param context used everywhere
* @return List of all [EMAIL PROTECTED] XWikiMigratorInterface} for this
manager
_______________________________________________
notifications mailing list
[email protected]
http://lists.xwiki.org/mailman/listinfo/notifications