source: gli/trunk/src/org/greenstone/gatherer/gui/PreviewButton.java@ 19758

Last change on this file since 19758 was 19758, checked in by ak19, 15 years ago

Created new variable in Gatherer.java called isLocalLibrary that defaults to false and gets initialised upon calling LocalLibraryServer.start(). This variable is now also used in PreviewButton.java so that the Local Library Server is still working with a GSI interface launched either via GLI or independently, and still works with an external apache-web server.

  • Property svn:keywords set to Author Date Id Revision
File size: 5.2 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 * Copyright (C) 2006 New Zealand Digital Library Project
9 *
10 * <BR><BR>
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 * <BR><BR>
18 *
19 * This program is distributed in the hope that it will be useful,
20 * but WITHOUT ANY WARRANTY; without even the implied warranty of
21 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
22 * GNU General Public License for more details.
23 *
24 * <BR><BR>
25 *
26 * You should have received a copy of the GNU General Public License
27 * along with this program; if not, write to the Free Software
28 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
29 *########################################################################
30 */
31package org.greenstone.gatherer.gui;
32
33import java.awt.*;
34import java.awt.event.*;
35import javax.swing.*;
36import org.greenstone.gatherer.Configuration;
37import org.greenstone.gatherer.Dictionary;
38import org.greenstone.gatherer.Gatherer;
39import org.greenstone.gatherer.collection.CollectionManager;
40import org.greenstone.gatherer.greenstone.LocalLibraryServer;
41import org.greenstone.gatherer.greenstone3.ServletConfiguration;
42import org.greenstone.gatherer.util.StaticStrings;
43
44
45public class PreviewButton
46 extends GLIButton {
47
48
49 static final public int HOME_PAGE = 1;
50 static final public int SEARCH_PAGE = 2;
51 static final public int CLASSIFIER_PAGE = 3;
52 static final public int DOCUMENT_PAGE = 4;
53
54 private String preview_address;
55 private int page_type = HOME_PAGE;
56 private boolean variable_preview = false;
57
58 private PreviewButtonOwner owner = null;
59 public PreviewButton() {
60 super();
61 PreviewButtonListener pbl = new PreviewButtonListener();
62 addActionListener(pbl);
63 }
64 public PreviewButton(String text, String tooltip) {
65 super(text, tooltip);
66 PreviewButtonListener pbl = new PreviewButtonListener();
67 addActionListener(pbl);
68 }
69
70 public void setOwner(PreviewButtonOwner o) {
71 owner = o;
72 }
73 public void setVariablePreview(boolean vp) {
74 variable_preview = vp;
75 }
76 protected void configureHomeURL() {
77 // we could be working with standalone collections or collection groups
78 // so getting a collection-name may have a collection group prefix
79 // This means CollectionManager.getLoadedCollectionName() is no longer sufficient
80 String collGroupWithName = CollectionManager.getLoadedGroupQualifiedCollectionName(true);
81
82 // set up the home page for the current collection
83 if (Gatherer.GS3 && !Configuration.fedora_info.isActive()) { // GLI for GS3 case
84 // don't do anything fancy here
85 preview_address = Configuration.library_url.toString() + Configuration.getServletPath()
86 + "?a=p&sa=about&c=" + collGroupWithName + "&l=" + Configuration.getLanguage();
87 return;
88 }
89
90 if(Gatherer.isLocalLibrary) {
91 // check that the local library server is still running - doesn't do anything if it's not supposed to be running
92 // !! Don't like this here
93 LocalLibraryServer.checkServerRunning();
94 if(LocalLibraryServer.isURLPending()) {
95 // Remind the user to press Enter Library, and return from this method
96 JOptionPane.showMessageDialog(Gatherer.g_man,
97 Dictionary.get("General.LLS_Not_Started"),
98 Dictionary.get("General.LLS_Not_Started_Title"),
99 JOptionPane.ERROR_MESSAGE);
100 preview_address = null;
101 return;
102 }
103 }
104 // FLI or GLI for GS2 case (no library_url)
105 preview_address = Configuration.library_url.toString() + "?c=" + collGroupWithName + "&l=" + Configuration.getLanguage();
106
107 String main_args = "&a=p&p=about";
108 /* this code is for switching the preview page depending on what
109 is currently active. but it is not complete yet
110 String main_args = null;
111 String params = null;
112 if (!variable_preview || owner == null) {
113 main_args = "&a=p&p=about";
114 } else {
115 page_type = owner.getPageType();
116 params = owner.getPageParams();
117
118 switch (page_type) {
119 case SEARCH_PAGE:
120 main_args = "&a=q&q="+params;
121 break;
122 case CLASSIFIER_PAGE:
123 main_args = "&a=d&cl="+params;
124 break;
125 case DOCUMENT_PAGE:
126 main_args = "&a=d&d="+params;
127 break;
128 case HOME_PAGE:
129 default:
130 main_args = "&a=p&p=about";
131
132
133 }
134
135
136 }
137 */
138 preview_address += main_args+StaticStrings.TIMESTAMP_ARGUMENT + System.currentTimeMillis();
139
140 }
141 private class PreviewButtonListener
142 implements ActionListener {
143
144 public void actionPerformed(ActionEvent event) {
145 Gatherer.c_man.saveCollection();
146
147 configureHomeURL();
148
149 if (Gatherer.GS3) {
150 // we need to rerun the convert in case the format stuff has changed
151 //for gs3, we don't need this anymore: Gatherer.c_man.convertToGS3Collection();
152 Gatherer.configGS3Server(Configuration.site_name, ServletConfiguration.ADD_COMMAND + Gatherer.c_man.getLoadedCollectionName());
153 }
154 if(preview_address != null) {
155 Gatherer.spawnBrowser(preview_address);
156 }
157
158 }
159
160 }
161
162}
Note: See TracBrowser for help on using the repository browser.