package com.idega.servlet; import com.idega.presentation.IWContext; import com.idega.presentation.Page; import com.idega.presentation.ui.Window; /** *@author <a href="mailto:tryggvi@idega.is">Tryggvi Larusson</a> *Copyright 2000 idega.is All Rights Reserved. *@version 1.0 */ public class WindowOpener extends IWJSPPresentationServlet { //public static int maxNumberOfWindows=4; //private static String windowsHashtableSessionStorageParameter = "idega_special_windows_hashtable"; //private static String windowsListSessionStorageParameter = "idega_special_windows_list"; /*public Page getPage(){ Window theReturn = null; IWContext iwc = getIWContext(); try{ theReturn = fetchWindow(iwc); } catch(NullPointerException ex){ theReturn = new Window(); theReturn.add("<H2>S��a �trunnin, vinsamlegast endurhla�i� s��urnar</H2>"); } return theReturn; //String sessionStorageName = getIWContext().getParameter(IdegaWebApplication.windowOpenerParameter); //Page thePage = (Page)getIWContext().getSessionAttribute(sessionStorageName); //return thePage; }*/ public Window getWindow() { return (Window) getPage(); } /*public static String storeWindow(IWContext iwc,Window window){ String parameter=window.getID(); Map table = getHashtable(iwc); LinkedList list = getLinkedList(table); if(list.size()>=maxNumberOfWindows){ String s = (String)list.removeLast(); table.remove(s); } //else{ table.put(parameter,window); list.addFirst(parameter); //} return parameter; } private static Map getHashtable(IWContext iwc){ Hashtable table = (Hashtable)iwc.getSessionAttribute(windowsHashtableSessionStorageParameter); if(table==null){ table = new Hashtable(); iwc.setSessionAttribute(windowsHashtableSessionStorageParameter,table); LinkedList list = new LinkedList(); table.put(windowsListSessionStorageParameter,list); } return table; } private static LinkedList getLinkedList(Map table){ LinkedList list = (LinkedList)table.get(windowsListSessionStorageParameter); return list; } public static Window fetchWindow(IWContext iwc){ String sessionStorageName = iwc.getParameter(IWMainApplication.windowOpenerParameter); Map table = getHashtable(iwc); return (Window)table.get(sessionStorageName); //Page thePage = (Page)getIWContext().getSessionAttribute(sessionStorageName); //return thePage; }*/ public static String storeWindow(IWContext iwc, Window window) { Page.storePage(window, iwc); return window.getID(); } } //------------- //- End of file //-------------