From c25759542b900e96a8cc472091eb84d93daeeb70 Mon Sep 17 00:00:00 2001 From: David Caruana Date: Tue, 14 Feb 2006 14:59:19 +0000 Subject: [PATCH] Fix for sample user bootstrap extension (6000 user example for Novell) which failed in enterprise build. Change order of bootstrap so that user store is created first. Also added log flag to importerBootstrap allow debug output for bootstrap without first unpacking war file to adjust log4j properties. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@2371 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- config/alfresco/core-services-context.xml | 148 +++++++----------- .../repo/importer/ImportTimerProgress.java | 63 ++++++-- .../repo/importer/ImporterBootstrap.java | 24 ++- 3 files changed, 125 insertions(+), 110 deletions(-) diff --git a/config/alfresco/core-services-context.xml b/config/alfresco/core-services-context.xml index 5b7af235aa..dab733172c 100644 --- a/config/alfresco/core-services-context.xml +++ b/config/alfresco/core-services-context.xml @@ -631,7 +631,7 @@ - + @@ -642,7 +642,7 @@ - + @@ -679,7 +679,7 @@ - + @@ -695,12 +695,33 @@ - - ${system.store} - ${server.transaction.allow-writes} + + + + + + ${alfresco_user_store.store} + + + + ${alfresco_user_store.system_container.childname} + ${alfresco_user_store.user_container.childname} + ${alfresco_user_store.authorities_container.childname} + + + + + + + ${system.store} + ${spaces.store} @@ -718,91 +739,10 @@ - - - - - - / - alfresco/bootstrap/descriptor.xml - - - - - - - - - - - - - - - - - - - - - - - ${alfresco_user_store.store} - - - ${server.transaction.allow-writes} - - - - ${alfresco_user_store.system_container.childname} - ${alfresco_user_store.user_container.childname} - ${alfresco_user_store.authorities_container.childname} - - - - - - - - - - / - alfresco/bootstrap/alfrescoUserStore.xml - - - - - - - - - - - - - - - - - - - - - + ${spaces.store} - - ${server.transaction.allow-writes} - ${spaces.company_home.childname} @@ -817,12 +757,31 @@ - - + + + + + + / + alfresco/bootstrap/alfrescoUserStore.xml + + - --> + + + + + + + / + alfresco/bootstrap/descriptor.xml + + + + + + @@ -856,7 +815,8 @@ - + + diff --git a/source/java/org/alfresco/repo/importer/ImportTimerProgress.java b/source/java/org/alfresco/repo/importer/ImportTimerProgress.java index b3d29570a2..cfc55bdab7 100644 --- a/source/java/org/alfresco/repo/importer/ImportTimerProgress.java +++ b/source/java/org/alfresco/repo/importer/ImportTimerProgress.java @@ -23,6 +23,8 @@ import org.alfresco.service.cmr.repository.NodeRef; import org.alfresco.service.cmr.security.AccessPermission; import org.alfresco.service.cmr.view.ImporterProgress; import org.alfresco.service.namespace.QName; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; /** @@ -40,6 +42,25 @@ public class ImportTimerProgress implements ImporterProgress private long aspectAdded = 0; private long permissionCount = 0; + private Log logger = LogFactory.getLog(ImportTimerProgress.class);; + + /** + * Construct + */ + public ImportTimerProgress() + { + } + + /** + * Construct + * + * @param logger + */ + public ImportTimerProgress(Log logger) + { + this.logger = logger; + } + /* * (non-Javadoc) * @see org.alfresco.service.cmr.view.ImporterProgress#started() @@ -53,7 +74,9 @@ public class ImportTimerProgress implements ImporterProgress nodeLinkedCount = 0; aspectAdded = 0; permissionCount = 0; - System.out.println("Import started at " + start + " (" + start.getTime() + ")"); + + if (logger.isDebugEnabled()) + logger.debug("Import started at " + start + " (" + start.getTime() + ")"); } /* @@ -62,9 +85,12 @@ public class ImportTimerProgress implements ImporterProgress */ public void completed() { - Date end = new Date(); - System.out.println("Import completed at " + end + " (" + end.getTime() + ")"); - dumpStats(end); + if (logger.isDebugEnabled()) + { + Date end = new Date(); + logger.debug("Import completed at " + end + " (" + end.getTime() + ")"); + dumpStats(end); + } } /* @@ -73,10 +99,14 @@ public class ImportTimerProgress implements ImporterProgress */ public void error(Throwable e) { - Date end = new Date(); - System.out.println("Error occured at " + end + " (" + end.getTime() + ")"); - System.out.println("Exception: " + e.toString()); - dumpStats(end); + if (logger.isDebugEnabled()) + { + Date end = new Date(); + logger.debug("Import completed at " + end + " (" + end.getTime() + ")"); + logger.debug("Error occured at " + end + " (" + end.getTime() + ")"); + logger.debug("Exception: " + e.toString()); + dumpStats(end); + } } /* @@ -140,13 +170,16 @@ public class ImportTimerProgress implements ImporterProgress */ private void dumpStats(Date end) { - System.out.println("Import duration: " + (end.getTime() - start.getTime()) + " ms (Note: excluding commit time)"); - System.out.println(" Nodes created: " + nodeCreateCount); - System.out.println(" Nodes linked: " + nodeLinkedCount); - System.out.println(" Aspects Added: " + aspectAdded); - System.out.println(" Properties set: " + propCount); - System.out.println(" Content set: " + contentCount); - System.out.println(" Permissions set: " + permissionCount); + if (logger.isDebugEnabled()) + { + logger.debug("Import duration: " + (end.getTime() - start.getTime()) + " ms (Note: excluding commit time)"); + logger.debug(" Nodes created: " + nodeCreateCount); + logger.debug(" Nodes linked: " + nodeLinkedCount); + logger.debug(" Aspects Added: " + aspectAdded); + logger.debug(" Properties set: " + propCount); + logger.debug(" Content set: " + contentCount); + logger.debug(" Permissions set: " + permissionCount); + } } } diff --git a/source/java/org/alfresco/repo/importer/ImporterBootstrap.java b/source/java/org/alfresco/repo/importer/ImporterBootstrap.java index a8d6304963..8e2d8b53e6 100644 --- a/source/java/org/alfresco/repo/importer/ImporterBootstrap.java +++ b/source/java/org/alfresco/repo/importer/ImporterBootstrap.java @@ -44,6 +44,9 @@ import org.alfresco.service.namespace.QName; import org.alfresco.service.transaction.TransactionService; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import org.apache.commons.logging.impl.Log4JLogger; +import org.apache.log4j.Level; +import org.apache.log4j.Logger; import org.springframework.core.io.ClassPathResource; /** @@ -62,6 +65,7 @@ public class ImporterBootstrap // Logger private static final Log logger = LogFactory.getLog(ImporterBootstrap.class); + private boolean logEnabled = false; // Dependencies private boolean allowWrite = true; @@ -234,6 +238,16 @@ public class ImporterBootstrap return strLocale; } + /** + * Set log + * + * @param logEnabled + */ + public void setLog(boolean logEnabled) + { + this.logEnabled = logEnabled; + } + /** * Boostrap the Repository */ @@ -259,6 +273,14 @@ public class ImporterBootstrap { throw new ImporterException("Store URL must be provided"); } + + // initialise log level + // note: only supported with Log4J + if (logEnabled && logger instanceof Log4JLogger) + { + Logger log4JLogger = ((Log4JLogger)logger).getLogger(); + log4JLogger.setLevel(Level.DEBUG); + } UserTransaction userTransaction = transactionService.getUserTransaction(); authenticationComponent.setCurrentUser(authenticationComponent.getSystemUserName()); @@ -339,7 +361,7 @@ public class ImporterBootstrap ImporterProgress importProgress = null; if (logger.isDebugEnabled()) { - importProgress = new ImportTimerProgress(); + importProgress = new ImportTimerProgress(logger); logger.debug("Importing " + view); }