source: trunk/gli/src/org/greenstone/gatherer/GathererProg.java@ 10362

Last change on this file since 10362 was 10362, checked in by mdewsnip, 19 years ago

Now sets the gli directory path correctly.

  • Property svn:keywords set to Author Date Id Revision
File size: 3.4 KB
Line 
1/**
2 *#########################################################################
3 *
4 * A component of the Gatherer application, part of the Greenstone digital
5 * library suite from the New Zealand Digital Library Project at the
6 * University of Waikato, New Zealand.
7 *
8 * Author: John Thompson, NZDL Project, University of Waikato
9 *
10 * Copyright (C) 2005 New Zealand Digital Library Project
11 *
12 * This program is free software; you can redistribute it and/or modify
13 * it under the terms of the GNU General Public License as published by
14 * the Free Software Foundation; either version 2 of the License, or
15 * (at your option) any later version.
16 *
17 * This program is distributed in the hope that it will be useful,
18 * but WITHOUT ANY WARRANTY; without even the implied warranty of
19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20 * GNU General Public License for more details.
21 *
22 * You should have received a copy of the GNU General Public License
23 * along with this program; if not, write to the Free Software
24 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
25 *########################################################################
26 */
27package org.greenstone.gatherer;
28
29
30import java.io.*;
31import javax.swing.*;
32import org.greenstone.gatherer.util.Utility;
33
34
35/**
36 * Containing the main() method, this class is the entry point for the
37 * stand-alone (non-Applet) GLI. The main point of this class is to set
38 * some stand-alone specific properties and then create an instance of the
39 * Gatherer class.
40 * @author John Thompson, NZDL Project, University of Waikato
41 */
42public class GathererProg
43{
44 /** The entry point into the stand-alone GLI.
45 * @param args A collection of arguments that may include: initial screen size, dictionary, path to the GSDL etc.
46 */
47 static public void main(String[] args)
48 {
49 // A serious hack, but its good enough to stop crappy 'Could not
50 // lock user prefs' error messages. Thanks to Walter Schatz from
51 // the java forums.
52 System.setProperty("java.util.prefs.syncInterval","2000000");
53 // => results in one message every 600 hours!
54
55 // Ensure platform specific LAF
56 try {
57 UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
58 }
59 catch (Exception exception) {
60 exception.printStackTrace();
61 }
62
63 // Determine the GLI user directory path
64 String gli_user_directory_path = System.getProperty("user.home") + File.separator;
65 if (Utility.isWindows()) {
66 gli_user_directory_path += "Application Data" + File.separator + "Greenstone" + File.separator + "GLI" + File.separator;
67 }
68 else {
69 gli_user_directory_path += ".gli" + File.separator;
70 }
71 Gatherer.setGLIUserDirectoryPath(gli_user_directory_path);
72
73 // Ensure the GLI user directory exists
74 File gli_user_directory = new File(gli_user_directory_path);
75 if (!gli_user_directory.exists() && !gli_user_directory.mkdirs()) {
76 System.err.println("Error: Unable to make directory: " + gli_user_directory.toString());
77 }
78
79 // We have a local GLI
80 Gatherer.setGLIDirectoryPath(System.getProperty("user.dir") + File.separator);
81
82 // Create an instance of the Gatherer class, which will parse the args and prepare the rest of the GLI
83 Gatherer gatherer = new Gatherer(args);
84
85 // Display the GUI immediately
86 gatherer.openGUI();
87
88 // If there was an open collection last session, reopen it
89 if (Gatherer.open_collection_file_path != null) {
90 Gatherer.c_man.loadCollection(Gatherer.open_collection_file_path);
91 }
92 }
93}
Note: See TracBrowser for help on using the repository browser.