diff --git a/dspace-api/src/main/java/org/dspace/browse/InitializeBrowseDatabase.java b/dspace-api/src/main/java/org/dspace/browse/InitializeBrowseDatabase.java new file mode 100644 index 0000000000..13e51e6219 --- /dev/null +++ b/dspace-api/src/main/java/org/dspace/browse/InitializeBrowseDatabase.java @@ -0,0 +1,80 @@ +/** + * The contents of this file are subject to the license and copyright + * detailed in the LICENSE and NOTICE files at the root of the source + * tree and available online at + * + * http://www.dspace.org/license/ + */ +package org.dspace.browse; + +import org.apache.log4j.Logger; +import org.dspace.core.ConfigurationManager; + +/** + * Command-line executed class for initializing the Browse tables of the DSpace database. + * + * @author Robert Tansley + * @version $Revision$ + */ +public class InitializeBrowseDatabase +{ + /** log4j category */ + private static Logger log = Logger.getLogger(InitializeBrowseDatabase.class); + + public static void main(String[] argv) + { + + // Usage checks + if (argv.length != 1) + { + log.warn("Schema file not specified"); + System.exit(1); + } + + ConfigurationManager.loadConfig(null); + log.info("Initializing Browse Database"); + + try + { + if("clean-database.sql".equals(argv[0])) + { + try + { + IndexBrowse browse = new IndexBrowse(); + browse.setDelete(true); + browse.setExecute(true); + browse.clearDatabase(); + } + catch (BrowseException e) + { + log.error(e.getMessage(),e); + throw new IllegalStateException(e.getMessage(),e); + } + } + else + { + try + { + IndexBrowse browse = new IndexBrowse(); + browse.setRebuild(true); + browse.setExecute(true); + browse.initBrowse(); + } + catch (BrowseException e) + { + log.error(e.getMessage(),e); + throw new IllegalStateException(e.getMessage(),e); + } + } + + System.exit(0); + } + catch (Exception e) + { + log.fatal("Caught exception:", e); + System.exit(1); + } + } + + +} diff --git a/dspace-api/src/main/java/org/dspace/storage/rdbms/InitializeDatabase.java b/dspace-api/src/main/java/org/dspace/storage/rdbms/InitializeDatabase.java index 61747f6f3f..90506ed7f8 100644 --- a/dspace-api/src/main/java/org/dspace/storage/rdbms/InitializeDatabase.java +++ b/dspace-api/src/main/java/org/dspace/storage/rdbms/InitializeDatabase.java @@ -13,8 +13,6 @@ import java.io.FileReader; import java.io.IOException; import org.apache.log4j.Logger; -import org.dspace.browse.BrowseException; -import org.dspace.browse.IndexBrowse; import org.dspace.core.ConfigurationManager; /** @@ -46,39 +44,11 @@ public class InitializeDatabase { if("clean-database.sql".equals(argv[0])) { - try - { - IndexBrowse browse = new IndexBrowse(); - browse.setDelete(true); - browse.setExecute(true); - browse.clearDatabase(); - } - catch (BrowseException e) - { - log.error(e.getMessage(),e); - throw new IllegalStateException(e.getMessage(),e); - } - - DatabaseManager.loadSql(getScript(argv[0])); - + DatabaseManager.loadSql(getScript(argv[0])); } else { - - DatabaseManager.loadSql(getScript(argv[0])); - - try - { - IndexBrowse browse = new IndexBrowse(); - browse.setRebuild(true); - browse.setExecute(true); - browse.initBrowse(); - } - catch (BrowseException e) - { - log.error(e.getMessage(),e); - throw new IllegalStateException(e.getMessage(),e); - } + DatabaseManager.loadSql(getScript(argv[0])); } System.exit(0); diff --git a/dspace/src/main/config/build.xml b/dspace/src/main/config/build.xml index 2fda27e4cf..f0854d1f77 100644 --- a/dspace/src/main/config/build.xml +++ b/dspace/src/main/config/build.xml @@ -787,12 +787,13 @@ Common usage: - + - + + @@ -805,6 +806,13 @@ Common usage: - properties --> + + + + + + +