001: /*
002: * Copyright (c) 1999-2001 Lutris Technologies, Inc. All Rights
003: * Reserved.
004: *
005: * This source code file is distributed by Lutris Technologies, Inc. for
006: * use only by licensed users of product(s) that include this source
007: * file. Use of this source file or the software that uses it is covered
008: * by the terms and conditions of the Lutris Enhydra Development License
009: * Agreement included with this product.
010: *
011: * This Software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF
012: * ANY KIND, either express or implied. See the License for the specific terms
013: * governing rights and limitations under the License.
014: *
015: * Contributor(s):
016: *
017: * $Id: XalanDoc.java,v 1.1 2006-09-11 12:57:49 sinisa Exp $
018: */
019:
020: /*
021: * xalanDoc
022: * A sample Enhydra Application
023: *
024: */
025:
026: package xalanDoc;
027:
028: import java.io.File;
029:
030: import com.lutris.appserver.server.*;
031: import com.lutris.appserver.server.httpPresentation.*;
032: import com.lutris.appserver.server.session.*;
033: import com.lutris.util.*;
034:
035: import com.lutris.logging.Logger;
036:
037: /**
038: * The application object.
039: *
040: * Application-wide data would go here.
041: */
042: public class XalanDoc extends StandardApplication {
043:
044: protected static Config config = null;
045:
046: protected static String contactsDir = "";
047: protected String DEFAULT_DIRECTORY = "contacts";
048:
049: /*
050: * A few methods you might want to add to.
051: * See StandardApplication for more details.
052: */
053: public void startup(Config appConfig) throws ApplicationException {
054: super .startup(appConfig);
055:
056: if (logChannel != null) {
057: logChannel.write(Logger.INFO,
058: "Welcome to the XalanDoc application!");
059: }
060:
061: // Here is where you would read application-specific settings from
062: // your config file.
063: config = appConfig;
064:
065: File tempFile = null;
066: String tempString = null;
067:
068: // XalanDoc.Contacts.Directory parameter initialization
069:
070: try {
071: contactsDir = XalanDoc.config
072: .getString("XalanDoc.Contacts.Directory");
073: tempFile = new File(contactsDir + File.separator
074: + "contact-table.xsl");
075:
076: if (!tempFile.exists()) {
077: // in case a relative path is given (relative from configuration file)
078: tempString = XalanDoc.config.getConfigFile().getFile()
079: .getParent();
080: contactsDir = tempString + File.separator + contactsDir;
081: tempFile = new File(contactsDir + File.separator
082: + "contact-table.xsl");
083:
084: if (!tempFile.exists()) {
085: try {
086: tempString = this .getClass().getClassLoader()
087: .getResource(DEFAULT_DIRECTORY)
088: .getPath();
089: contactsDir = tempString;
090: tempFile = new File(contactsDir
091: + File.separator + "contact-table.xsl");
092: } catch (NullPointerException exc) {
093: contactsDir = DEFAULT_DIRECTORY;
094: if (logChannel != null) {
095: logChannel
096: .write(Logger.INFO,
097: "XalanDoc.Contacts.Directory application parameter isn't properly initialized!");
098: }
099: }
100: }
101: }
102: } catch (ConfigException e) {
103: try {
104: tempString = this .getClass().getClassLoader()
105: .getResource(DEFAULT_DIRECTORY).getPath();
106: contactsDir = tempString;
107: tempFile = new File(contactsDir + File.separator
108: + "contact-table.xsl");
109: } catch (NullPointerException exc) {
110: contactsDir = DEFAULT_DIRECTORY;
111: if (logChannel != null) {
112: logChannel
113: .write(Logger.INFO,
114: "XalanDoc.Contacts.Directory application parameter isn't properly initialized!");
115: }
116: }
117: }
118: }
119:
120: public boolean requestPreprocessor(HttpPresentationComms comms)
121: throws Exception {
122: return super .requestPreprocessor(comms);
123: }
124:
125: /**
126: * This is an optional function, used only by the Multiserver's graphical
127: * administration. This bit of HTML appears in the status page for this
128: * application. You could add extra status info, for example
129: * a list of currently logged in users.
130: *
131: * @return HTML that is displayed in the status page of the Multiserver.
132: */
133: public String toHtml() {
134: return "This is <I>xalanDoc</I>";
135: }
136:
137: public static String getContactsDir() {
138: return contactsDir;
139: }
140: }
|