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: ContactList.java,v 1.1 2006-09-11 12:57:49 sinisa Exp $
018: */
019:
020: package xalanDoc.presentation;
021:
022: //import org.apache.xalan.xslt.XSLTProcessor;
023: //import org.apache.xalan.xslt.XSLTInputSource;
024: //import org.apache.xalan.xslt.XSLTResultTarget;
025: //import org.apache.xalan.xslt.XSLTProcessorFactory;
026: //import org.apache.xalan.xslt.StylesheetRoot;
027:
028: //import org.apache.xalan.xpath.xdom.XercesLiaison;
029:
030: import org.w3c.dom.*;
031: import org.w3c.dom.html.*;
032:
033: import com.lutris.appserver.server.httpPresentation.*;
034: import com.lutris.appserver.server.user.User;
035:
036: //Slobodan Vujasinovic
037: import javax.xml.transform.stream.StreamSource;
038: import javax.xml.transform.dom.DOMResult;
039: import javax.xml.transform.TransformerFactory;
040: import javax.xml.transform.Transformer;
041: import xalanDoc.XalanDoc;
042:
043: import xalanDoc.spec.*;
044:
045: public class ContactList implements HttpPresentation {
046:
047: public void run(HttpPresentationComms comms)
048: throws HttpPresentationException {
049:
050: // Instantiate the page
051: ContactListHTML page = (ContactListHTML) comms.xmlcFactory
052: .create(ContactListHTML.class);
053:
054: // Get the user from session
055: User user = comms.session.getUser();
056:
057: // Figure out the username
058: String username;
059: if (user != null) {
060: username = user.getName();
061: } else {
062: username = "Enhydra User";
063: }
064:
065: // set the name of the username, using an XMLC convenience method
066: page.setTextUsername(username);
067:
068: try {
069: String dir = XalanDoc.getContactsDir();
070:
071: Manager manager = ManagerFactory
072: .getManager("xalanDoc.business.ManagerImpl");
073: manager.transform(dir, new DOMResult(page
074: .getElementContactList()));
075:
076: /*
077: *You cannot create instances of classes from business layer when start xalanDoc_pres
078: *Catch NullPointerException , response will be default HTML page
079: */
080: } catch (NullPointerException e) {
081:
082: } catch (Exception e) {
083: e.printStackTrace();
084: try {
085: writeError("Couldn't process XSL", comms);
086: } catch (java.io.IOException ioe) {
087: ioe.printStackTrace();
088: }
089: return;
090: }
091:
092: // Write the page
093: comms.response.writeDOM(page);
094: }
095:
096: private void writeError(String msg, HttpPresentationComms comms)
097: throws HttpPresentationException, java.io.IOException {
098: comms.response.setContentType("text/plain");
099: comms.response.getOutputStream().print(msg);
100: }
101: }
|