package com.idega.block.messenger.presentation; import com.idega.block.messenger.business.ClientSessionBinder; import com.idega.builder.presentation.InvisibleInBuilder; import com.idega.idegaweb.IWBundle; import com.idega.presentation.Applet; import com.idega.presentation.Block; import com.idega.presentation.IWContext; /** * Title: Messenger * Description: A wrapper for the messenger applet * Copyright: Copyright (c) 2001 * Company: idega software * @author Eirikur S. Hrafnsson eiki@idega.is * @version 1.0 */ public class Messenger extends Block implements InvisibleInBuilder { private IWBundle iwb; private final static String IW_BUNDLE_IDENTIFIER="com.idega.block.messenger"; private static String SESSION_ID = "session_id"; private static String USER_ID = "user_id"; private static String USER_NAME = "user_name"; private static String SERVLET_URL = "servlet_url"; private static String SERVER_ROOT_URL = "server_root_url"; private static String RESOURCE_URL = "resource_url"; private String width="145"; private String height="145"; public Messenger() { } public void main(IWContext iwc){ if(iwc.isLoggedOn() ){ Applet messenger = new Applet(); this.iwb = getBundle(iwc); messenger.setCodeArchive(com.idega.block.messenger.servlet.ClientServer.MESSENGER_JAR_FILE); messenger.setAppletClass(com.idega.block.messenger.servlet.ClientServer.MESSENGER_APPLET_CLASS); messenger.setCodebase(this.iwb.getResourcesVirtualPath()+"/"); messenger.setParam(SERVLET_URL,com.idega.block.messenger.servlet.ClientServer.SERVLET_URL); messenger.setParam(SERVER_ROOT_URL,"http://"+iwc.getServerName()+":"+iwc.getServerPort()); messenger.setParam(RESOURCE_URL,this.iwb.getResourcesVirtualPath()+"/"); //user specific messenger.setParam(SESSION_ID,iwc.getSession().getId()); messenger.setParam(USER_ID,Integer.toString(iwc.getCurrentUserId())); messenger.setParam(USER_NAME,iwc.getCurrentUser().getName()); messenger.setWidth(this.width); messenger.setHeight(this.height); add(messenger); if( iwc.getSessionAttribute("messenger_logoff_thingy")==null ){ iwc.setSessionAttribute("messenger_logoff_thingy",new ClientSessionBinder(iwc.getIWMainApplication()) ); } } // else add("You are not logged on"); } public String getBundleIdentifier(){ return IW_BUNDLE_IDENTIFIER; } public void setWidth(String width){ this.width = width; } public void setHeigth(String height){ this.height = height; } public synchronized Object clone() { Messenger obj = null; try { obj = (Messenger)super.clone(); obj.width = this.width; obj.height = this.height; } catch(Exception ex) { ex.printStackTrace(System.err); } return obj; } }