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: AirSent.java,v 1.1 2006-09-11 12:29:11 sinisa Exp $
018: */
019:
020: package com.lutris.airsent;
021:
022: import com.lutris.appserver.server.*;
023: import com.lutris.appserver.server.httpPresentation.*;
024: import com.lutris.appserver.server.session.*;
025: import com.lutris.util.*;
026: import com.lutris.airsent.spec.*;
027:
028: /**
029: * The application object.
030: *
031: * Application-wide data would go here.
032: */
033: public class AirSent extends StandardApplication {
034:
035: protected boolean useServerPush = false;
036:
037: /*
038: * A few methods you might want to add to.
039: * See StandardApplication for more details.
040: */
041:
042: /**
043: * Start the application.
044: *
045: *
046: * @param appConfig
047: *
048: * @throws ApplicationException
049: *
050: * @see
051: */
052: public void startup(Config appConfig) throws ApplicationException {
053:
054: super .startup(appConfig);
055:
056: try {
057:
058: HomeManager homeManager = HomeManagerFactory
059: .getHomeManager("com.lutris.airsent.business.HomeManagerImpl");
060:
061: homeManager.initialize(appConfig);
062:
063: setAirSentConfig(appConfig);
064:
065: } catch (Exception ex) {
066: }
067: }
068:
069: /**
070: * Gets the preprocessor.
071: *
072: *
073: * @param comms
074: *
075: * @return
076: *
077: * @throws Exception
078: *
079: * @see
080: */
081: public boolean requestPreprocessor(HttpPresentationComms comms)
082: throws Exception {
083:
084: return super .requestPreprocessor(comms);
085: }
086:
087: /**
088: * Gets the home Manager which controlls
089: * access to all business objects.
090: *
091: */
092: public HomeManager getHomeManager() throws AirSentException {
093:
094: HomeManager homeManager = HomeManagerFactory
095: .getHomeManager("com.lutris.airsent.business.HomeManagerImpl");
096: return homeManager.getInst();
097:
098: }
099:
100: /**
101: * This is an optional function, used only by the Multiserver's graphical
102: * administration. This bit of HTML appears in the status page for this
103: * application. You could add extra status info, for example
104: * a list of currently logged in users.
105: *
106: * @return HTML that is displayed in the status page of the Multiserver.
107: */
108: public String toHtml() {
109: return "This is <I>AirSent</I>";
110: }
111:
112: /**
113: *Sets AirSent Configuration parameters
114: *
115: *
116: *
117: */
118: private void setAirSentConfig(Config config)
119: throws AirSentException {
120:
121: try {
122: // Get the email config.
123: KeywordValueTable section = config
124: .getSection("AirSentConfig");
125: useServerPush = Boolean.getBoolean(section
126: .getString("ServerPush"));
127:
128: } catch (Exception ex) {
129: throw new AirSentException("Error configuring AirSent:", ex);
130: }
131: }
132:
133: /**
134: * Returns boolean based on if the app
135: * should use the server push technique
136: * for instant updates to screens.
137: *
138: * @param weather or not to use ServerPush.
139: */
140: public boolean useServerPush() {
141:
142: return useServerPush;
143: }
144:
145: }
|