edu.ou.kmi.buddyspace.plugins.maps.core
Class BSMapBean

java.lang.Object
  |
  +--edu.ou.kmi.buddyspace.plugins.maps.core.BSMapBean

public class BSMapBean
extends java.lang.Object

BSMapBean provides map plugin back-end. It relies on BSMessengerBean and BSInfoQueryBean, which must be set after each reconnection.


Field Summary
protected  IQBean iqBean
           
protected  java.util.Vector mapListeners
           
protected  java.util.Hashtable maps
           
protected  MessengerBean msgBean
           
protected  java.lang.String name
           
 
Constructor Summary
BSMapBean(java.lang.String mapPath)
          Constructor
BSMapBean(java.lang.String mapPath, IQBean iqBean)
          Constructor, which sets existing and connected IQBean.
 
Method Summary
 void addMapListener(BSMapListener listener)
          Adds MapListener from listeners notified when map arrives.
 boolean copyFilesForMap(MapTag map, java.lang.String sourceOriginID, java.lang.String destOriginID)
          Copies all necessary files for given map into specified dir.
protected  void fireMapReceived(MapTag map, java.lang.String originID)
          Notifies map listeners that map was received.
 IQBean getIQBean()
          Returns currently used IQBean.
 MapTag getMap(java.lang.String originID, java.lang.String mapID)
          Returns MapTag either from cache or loaded from disk
 MessengerBean getMessengerBean()
          Returns currently used MessengerBean.
protected  void handleMapOOB(OOB oob, JID jid)
          Handles received OOB extension.
protected  void handleMessage(Message msg)
          Handles Message packet.
 void loadMap(java.lang.String mapID, java.lang.String originID)
          Loads map
protected  void logMap(MapTag map)
          Debug dump of map tag
 void prepareToDestroy()
          Frees all object bindings to allow object destroy
protected  void processMap(MapTag map, java.lang.String originID)
          Connects references to maps to MapTags if exist otherwise downloads maps.
 void receivedPacket(PacketEvent pe)
          Invoked when a message packet is received.
 void removeAllMapListeners()
          Removes all listeners notified when map arrives.
 void removeMapListener(BSMapListener listener)
          Removes MapListener from listeners notified when map arrives.
 void saveMap(MapTag map, java.lang.String originID)
          Saves map into map directory for originID
 boolean saveMap(java.lang.String originID, java.lang.String mapID, java.lang.String newOriginID, java.lang.String newMapID)
          Saves map into file with given name.
 void sendFailed(PacketEvent pe)
          Invoked when a message packet send failes.
 boolean sendMap(java.lang.String mapID, java.lang.String originID, JID jid, java.lang.String subject, java.lang.String body)
          Sends map and OOB for necessary files inside a message and uploads the files on web server.
 void sentPacket(PacketEvent pe)
          Invoked when a message packet is sent.
 void setFileServer(java.lang.String fileServer, java.lang.String fileServerPath, java.lang.String fileServerPort)
          Sets file server for sending map files
 void setIQBean(IQBean iqBean)
          Sets existing and connected IQBean.
 void setMessengerBean(MessengerBean msgBean)
          Sets existing and connected MessengerBean.
 void setProxy(java.lang.String proxy, java.lang.String proxyPort)
          Sets proxy for sending map files
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

msgBean

protected MessengerBean msgBean

iqBean

protected IQBean iqBean

name

protected java.lang.String name

maps

protected java.util.Hashtable maps

mapListeners

protected java.util.Vector mapListeners
Constructor Detail

BSMapBean

public BSMapBean(java.lang.String mapPath)
Constructor


BSMapBean

public BSMapBean(java.lang.String mapPath,
                 IQBean iqBean)
Constructor, which sets existing and connected IQBean. Then this is registered as listener for IQ packets.

Method Detail

setIQBean

public void setIQBean(IQBean iqBean)
Sets existing and connected IQBean. Then this is registered as listener for IQ packets.


setMessengerBean

public void setMessengerBean(MessengerBean msgBean)
Sets existing and connected MessengerBean. Then this is registered as listener for message packets.


setProxy

public void setProxy(java.lang.String proxy,
                     java.lang.String proxyPort)
Sets proxy for sending map files


setFileServer

public void setFileServer(java.lang.String fileServer,
                          java.lang.String fileServerPath,
                          java.lang.String fileServerPort)
Sets file server for sending map files


getIQBean

public IQBean getIQBean()
Returns currently used IQBean.


getMessengerBean

public MessengerBean getMessengerBean()
Returns currently used MessengerBean.


prepareToDestroy

public void prepareToDestroy()
Frees all object bindings to allow object destroy


receivedPacket

public void receivedPacket(PacketEvent pe)
Invoked when a message packet is received.


handleMessage

protected void handleMessage(Message msg)
Handles Message packet.


handleMapOOB

protected void handleMapOOB(OOB oob,
                            JID jid)
                     throws java.io.IOException
Handles received OOB extension. Downloads it and stores in maps directory for given JID.

java.io.IOException

logMap

protected void logMap(MapTag map)
Debug dump of map tag


saveMap

public void saveMap(MapTag map,
                    java.lang.String originID)
Saves map into map directory for originID


saveMap

public boolean saveMap(java.lang.String originID,
                       java.lang.String mapID,
                       java.lang.String newOriginID,
                       java.lang.String newMapID)
Saves map into file with given name. Changes the map ID to match the filename.


processMap

protected void processMap(MapTag map,
                          java.lang.String originID)
Connects references to maps to MapTags if exist otherwise downloads maps.


sendMap

public boolean sendMap(java.lang.String mapID,
                       java.lang.String originID,
                       JID jid,
                       java.lang.String subject,
                       java.lang.String body)
Sends map and OOB for necessary files inside a message and uploads the files on web server.


copyFilesForMap

public boolean copyFilesForMap(MapTag map,
                               java.lang.String sourceOriginID,
                               java.lang.String destOriginID)
Copies all necessary files for given map into specified dir.


loadMap

public void loadMap(java.lang.String mapID,
                    java.lang.String originID)
Loads map


getMap

public MapTag getMap(java.lang.String originID,
                     java.lang.String mapID)
Returns MapTag either from cache or loaded from disk


sendFailed

public void sendFailed(PacketEvent pe)
Invoked when a message packet send failes.


sentPacket

public void sentPacket(PacketEvent pe)
Invoked when a message packet is sent.


addMapListener

public void addMapListener(BSMapListener listener)
Adds MapListener from listeners notified when map arrives.

See Also:
removeMapListener(edu.ou.kmi.buddyspace.plugins.maps.core.BSMapListener), removeAllMapListeners(), fireMapReceived(edu.ou.kmi.buddyspace.plugins.maps.xml.MapTag, java.lang.String)

removeMapListener

public void removeMapListener(BSMapListener listener)
Removes MapListener from listeners notified when map arrives.

See Also:
addMapListener(edu.ou.kmi.buddyspace.plugins.maps.core.BSMapListener), removeAllMapListeners(), fireMapReceived(edu.ou.kmi.buddyspace.plugins.maps.xml.MapTag, java.lang.String)

removeAllMapListeners

public void removeAllMapListeners()
Removes all listeners notified when map arrives. This can be used before to free dependencies and allow dispose of all objects.

See Also:
addMapListener(edu.ou.kmi.buddyspace.plugins.maps.core.BSMapListener), removeMapListener(edu.ou.kmi.buddyspace.plugins.maps.core.BSMapListener), fireMapReceived(edu.ou.kmi.buddyspace.plugins.maps.xml.MapTag, java.lang.String)

fireMapReceived

protected void fireMapReceived(MapTag map,
                               java.lang.String originID)
Notifies map listeners that map was received.

See Also:
addMapListener(edu.ou.kmi.buddyspace.plugins.maps.core.BSMapListener), removeMapListener(edu.ou.kmi.buddyspace.plugins.maps.core.BSMapListener), removeAllMapListeners()