diff --git a/config/alfresco/scheduled-jobs-context.xml b/config/alfresco/scheduled-jobs-context.xml index 6f01e72d5a..1cb09935c8 100644 --- a/config/alfresco/scheduled-jobs-context.xml +++ b/config/alfresco/scheduled-jobs-context.xml @@ -135,11 +135,11 @@ - + - - - + + + @@ -36,10 +36,10 @@ - + - + diff --git a/source/java/org/alfresco/repo/importer/ImporterComponent.java b/source/java/org/alfresco/repo/importer/ImporterComponent.java index fd5b5543e5..4ed7495732 100644 --- a/source/java/org/alfresco/repo/importer/ImporterComponent.java +++ b/source/java/org/alfresco/repo/importer/ImporterComponent.java @@ -31,7 +31,6 @@ import java.util.Set; import org.alfresco.error.AlfrescoRuntimeException; import org.alfresco.model.ContentModel; import org.alfresco.repo.policy.BehaviourFilter; -import org.alfresco.repo.transaction.AlfrescoTransactionSupport; import org.alfresco.service.cmr.dictionary.ChildAssociationDefinition; import org.alfresco.service.cmr.dictionary.ClassDefinition; import org.alfresco.service.cmr.dictionary.DataTypeDefinition; @@ -395,11 +394,6 @@ public class ImporterComponent // Import tracking private List nodeRefs = new ArrayList(); - // Flush threshold - private int flushThreshold = 500; - private int flushCount = 0; - - /** * Construct * @@ -535,14 +529,6 @@ public class ImporterComponent } } - // do we need to flush? - flushCount++; - if (flushCount > flushThreshold) - { - AlfrescoTransactionSupport.flush(); - flushCount = 0; - } - return nodeRef; } diff --git a/source/java/org/alfresco/tools/Repository.java b/source/java/org/alfresco/tools/Repository.java new file mode 100644 index 0000000000..4cadae3e9d --- /dev/null +++ b/source/java/org/alfresco/tools/Repository.java @@ -0,0 +1,144 @@ +/* + * Copyright (C) 2005 Alfresco, Inc. + * + * Licensed under the Mozilla Public License version 1.1 + * with a permitted attribution clause. You may obtain a + * copy of the License at + * + * http://www.alfresco.org/legal/license.txt + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, + * either express or implied. See the License for the specific + * language governing permissions and limitations under the + * License. + */ +package org.alfresco.tools; + +import java.io.IOException; + +/** + * Initializes the full application context and then waits for a + * keypress to exit. + * + * @author Derek Hulley + */ +public class Repository extends Tool +{ + @Override + String getToolName() + { + return "Repository"; + } + + @Override + ToolContext processArgs(String[] args) throws ToolException + { + ToolContext context = new ToolContext(); + context.setLogin(true); + + int i = 0; + while (i < args.length) + { + if (args[i].equals("-h") || args[i].equals("-help")) + { + context.setHelp(true); + break; + } + else if (args[i].equals("-user")) + { + i++; + if (i == args.length || args[i].length() == 0) + { + throw new ToolException("The value for the option -user must be specified"); + } + context.setUsername(args[i]); + } + else if (args[i].equals("-pwd")) + { + i++; + if (i == args.length || args[i].length() == 0) + { + throw new ToolException("The value for the option -pwd must be specified"); + } + context.setPassword(args[i]); + } + else + { + throw new ToolException("Unknown option " + args[i] + ". Use -help for options."); + } + + // next argument + i++; + } + + return context; + } + + @Override + void displayHelp() + { + System.out.println( + "usage: repository [OPTIONS] \n" + + "\n" + + "Initialize the Alfresco application context, initiating any \n" + + "configured server beans (e.g. CIFS server, FTP server, etc). \n" + + "\n" + + "Options: \n" + + " -h -help Display this help \n" + + " -user USER Login as USER \n" + + " -pwd PASSWORD Use PASSWORD to login"); + } + + @Override + synchronized void execute() throws ToolException + { + try + { + System.out.println("\nRepository initialized.\nPress ENTER to exit..."); + System.in.read(); + System.out.println("\nShutting down the repository."); + // start the ticker + new ShutdownNotifierThread().start(); + try { wait(3000L); } catch (InterruptedException e) {} + } + catch (IOException e) + { + // just ignore + } + } + + /** + * Start the repository and wait for a keypress to stop + * + * @param args not used + */ + public static void main(String[] args) + { + new Repository().start(args); + } + + private static class ShutdownNotifierThread extends Thread + { + private ShutdownNotifierThread() + { + this.setDaemon(true); + } + @Override + public synchronized void run() + { + while (true) + { + System.out.print('.'); + try + { + wait(500L); + } + catch (InterruptedException e) + { + } + } + } + } +} diff --git a/source/java/org/alfresco/tools/Tool.java b/source/java/org/alfresco/tools/Tool.java index 7aec93d8b3..80a56c90e9 100644 --- a/source/java/org/alfresco/tools/Tool.java +++ b/source/java/org/alfresco/tools/Tool.java @@ -178,7 +178,7 @@ public abstract class Tool private void login() { // TODO: Replace with call to ServiceRegistry - AuthenticationService auth = (AuthenticationService)appContext.getBean("authenticationService"); + AuthenticationService auth = (AuthenticationService) serviceRegistry.getAuthenticationService(); auth.authenticate(toolContext.getUsername(), toolContext.getPassword().toCharArray()); log("Connected as " + toolContext.getUsername()); }