KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > dspace > storage > bitstore > Cleanup


1 /*
2  * Cleanup.java
3  *
4  * Version: $Revision: 1.6 $
5  *
6  * Date: $Date: 2006/01/20 16:13:19 $
7  *
8  * Copyright (c) 2002-2005, Hewlett-Packard Company and Massachusetts
9  * Institute of Technology. All rights reserved.
10  *
11  * Redistribution and use in source and binary forms, with or without
12  * modification, are permitted provided that the following conditions are
13  * met:
14  *
15  * - Redistributions of source code must retain the above copyright
16  * notice, this list of conditions and the following disclaimer.
17  *
18  * - Redistributions in binary form must reproduce the above copyright
19  * notice, this list of conditions and the following disclaimer in the
20  * documentation and/or other materials provided with the distribution.
21  *
22  * - Neither the name of the Hewlett-Packard Company nor the name of the
23  * Massachusetts Institute of Technology nor the names of their
24  * contributors may be used to endorse or promote products derived from
25  * this software without specific prior written permission.
26  *
27  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
28  * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
29  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
30  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
31  * HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
32  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
33  * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
34  * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
35  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
36  * TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
37  * USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
38  * DAMAGE.
39  */

40 package org.dspace.storage.bitstore;
41
42 import org.apache.commons.cli.CommandLine;
43 import org.apache.commons.cli.CommandLineParser;
44 import org.apache.commons.cli.HelpFormatter;
45 import org.apache.commons.cli.Options;
46 import org.apache.commons.cli.ParseException;
47 import org.apache.commons.cli.PosixParser;
48
49 import org.apache.log4j.Logger;
50
51 /**
52  * Cleans up asset store.
53  *
54  * @author Peter Breton
55  * @version $Revision: 1.6 $
56  */

57 public class Cleanup
58 {
59     /** log4j log */
60     private static Logger log = Logger.getLogger(Cleanup.class);
61
62     /**
63      * Cleans up asset store.
64      *
65      * @param argv -
66      * Command-line arguments
67      */

68     public static void main(String JavaDoc[] argv)
69     {
70         try
71         {
72             log.info("Cleaning up asset store");
73             
74             // set up command line parser
75
CommandLineParser parser = new PosixParser();
76             CommandLine line = null;
77
78             // create an options object and populate it
79
Options options = new Options();
80
81             options.addOption("l", "leave", false, "Leave database records but delete file from assetstore");
82             options.addOption("h", "help", false, "Help");
83             
84             try
85             {
86                 line = parser.parse(options, argv);
87             }
88             catch (ParseException e)
89             {
90                 log.fatal(e);
91                 System.exit(1);
92             }
93             
94             // user asks for help
95
if (line.hasOption('h'))
96             {
97                 printHelp(options);
98                 System.exit(0);
99             }
100
101             boolean deleteDbRecords = true;
102             // Prune stage
103
if (line.hasOption('l'))
104             {
105                 log.debug("option l used setting flag to leave db records");
106                 deleteDbRecords = false;
107             }
108             log.debug("leave db records = " + deleteDbRecords);
109             BitstreamStorageManager.cleanup(deleteDbRecords);
110             
111             System.exit(0);
112         }
113         catch (Exception JavaDoc e)
114         {
115             log.fatal("Caught exception:", e);
116             System.exit(1);
117         }
118     }
119     
120     private static void printHelp(Options options)
121     {
122         HelpFormatter myhelp = new HelpFormatter();
123         myhelp.printHelp("Cleanup\n", options);
124     }
125
126 }
127
Popular Tags