com.incesoft.botplatform.sdk.support
Class DefaultRobotServer

java.lang.Object
  extended by com.incesoft.botplatform.sdk.support.RobotConnection
      extended by com.incesoft.botplatform.sdk.support.DefaultRobotServer
All Implemented Interfaces:
RobotServer, org.apache.mina.common.IoHandler

public class DefaultRobotServer
extends RobotConnection
implements RobotServer

Author:
LiBo

Field Summary
static long DEFAULT_LOGIN_TIMEOUT
           
static int KEEP_ALIVE_TIMEOUT
           
static java.lang.String VERSION
           
 
Constructor Summary
DefaultRobotServer()
           
 
Method Summary
 void addConnectionListener(RobotConnectionListener listener)
           
 void addUser(java.lang.String robot, java.lang.String user, java.lang.String inviteMessage)
          Add a user to your bot
 void assertAlive()
           
 RobotMessage createMessage()
          Create a message
 void createSession(java.lang.String robot, java.lang.String user)
          Create a robot session.
 void fireServerConnected()
           
 void fireServerDisconnected()
           
 void fireServerReconnected()
           
 java.lang.String getHost()
           
 int getPort()
           
 RobotHandler getRobotHandler()
           
 java.util.concurrent.ScheduledExecutorService getScheduledExecutor()
           
 java.lang.String getSPID()
           
 java.lang.String getSPPWD()
           
 boolean isLoggedIn()
           
 boolean isReconnectedSupport()
          check whether reconnection is supported .
 void login(java.lang.String spid, java.lang.String sppwd)
          Calling this function, Robot Server will login BOTPLATFORM.
 void login(java.lang.String spid, java.lang.String sppwd, long timeout)
          Calling this function, Robot Server will login BOTPLATFORM.
 void logout()
          Robot server logout BOTPLATFORM
 void logoutImpl()
           
 void process_appevent(java.lang.String robotId, java.lang.String userId, java.lang.String sessionId, java.lang.String event)
           
 void process_appmsg(java.lang.String robotId, java.lang.String userId, java.lang.String sessionId, AppMessage app)
           
 void process_colorupdated(java.lang.String robotId, java.lang.String userId, java.lang.String sessionId, int colorScheme)
           
 void process_dpupdated(java.lang.String robotId, java.lang.String userId, java.lang.String sessionId, ResourceInfo resource)
           
 void process_error(java.lang.String robotId, java.lang.String userId, java.lang.String sessionId, ErrorMessage err)
           
 void process_fileevent(java.lang.String robotId, java.lang.String userId, java.lang.String sessionId, FileTransEvent eventObj)
           
 void process_fileinvite(java.lang.String robotId, java.lang.String userId, java.lang.String sessionId, FileTransEvent invitation)
           
 void process_inkmsg(java.lang.String robotId, java.lang.String userId, java.lang.String sessionId, java.lang.String ink)
           
 void process_join(java.lang.String robotId, java.lang.String userId, java.lang.String sessionId, User user)
           
 void process_loginresp(java.lang.String robotId, java.lang.String userId, java.lang.String sessionId, LoginResponse resp)
           
 void process_msg(java.lang.String robotId, java.lang.String userId, java.lang.String sessionId, TextMessage msg)
           
 void process_nudge(java.lang.String robotId, java.lang.String userId, java.lang.String sessionId, java.lang.Object obj)
           
 void process_part(java.lang.String robotId, java.lang.String userId, java.lang.String sessionId, java.lang.Object obj)
           
 void process_psmupdated(java.lang.String robotId, java.lang.String userId, java.lang.String sessionId, java.lang.String psm)
           
 void process_redirect(java.lang.String robotId, java.lang.String userId, java.lang.String sessionId, java.lang.String[] addrlist)
           
 void process_resource(java.lang.String robotId, java.lang.String userId, java.lang.String sessionId, ResourceInfo resource)
           
 void process_sceneupdated(java.lang.String robotId, java.lang.String userId, java.lang.String sessionId, ResourceInfo resource)
           
 void process_sessionclosed(java.lang.String robotId, java.lang.String userId, java.lang.String sessionId, java.lang.Object obj)
           
 void process_sessionopened(java.lang.String robotId, java.lang.String userId, java.lang.String sessionId, SessionOpenedEvent event)
           
 void process_typing(java.lang.String robotId, java.lang.String userId, java.lang.String sessionId, java.lang.Object msgBoby)
           
 void process_useradded(java.lang.String robotId, java.lang.String userId, java.lang.String sessionId, java.lang.Object obj)
           
 void process_userlist(java.lang.String robotId, java.lang.String userId, java.lang.String sessionId, User[] userlist)
           
 void process_userremoved(java.lang.String robotId, java.lang.String userId, java.lang.String sessionId, java.lang.Object obj)
           
 void process_userremoved(java.lang.String robotId, java.lang.String userId, java.lang.String sessionId, java.lang.String psm)
           
 void process_userupdated(java.lang.String robotId, java.lang.String userId, java.lang.String sessionId, RobotUser user)
           
 void process_voiceclipevent(java.lang.String robotId, java.lang.String userId, java.lang.String sessionId, ResourceInfo resource)
           
 void process_webcamevent(java.lang.String robotId, java.lang.String userId, java.lang.String sessionId, java.lang.String event)
           
 void process_winkevent(java.lang.String robotId, java.lang.String userId, java.lang.String sessionId, ResourceInfo resource)
           
 void pushMessage(java.lang.String robot, java.lang.String user, RobotMessage message)
          Push message to user.
 void removeConnectionistener(RobotConnectionListener listener)
           
 void requestContactList(java.lang.String robot)
          Get the contact list of the specified robot.
 void requestResource(java.lang.String robot, java.lang.String user, RobotResource resource, java.lang.String saveUrl)
          Get the resouce, the data of the resource file will be posted to a url specified.
 void setColorScheme(int colorScheme)
          set all robots' color scheme.
 void setColorScheme(java.lang.String robot, int colorScheme)
          set a specified robot's color scheme.
 void setDisplayName(java.lang.String displayName)
          Set all robots's display name
 void setDisplayName(java.lang.String robotAccount, java.lang.String displayName)
          Set display name of a specified robot account.
 void setDisplayPicture(java.lang.String displayPicture)
          Set all robots' display picture
 void setDisplayPicture(java.lang.String robotAccount, java.lang.String displayPicture)
          Set display picture of a specified robot account.
 void setDisplayPictureEx(java.lang.String displayPicture, java.lang.String deluxePicture)
          Set all robots' display picture
 void setDisplayPictureEx(java.lang.String robotAccount, java.lang.String displayPicture, java.lang.String deluxePicture)
          Set display picture of a specified robot account.
 void setHost(java.lang.String host)
           
 void setLoggedIn(boolean loggedIn)
           
 void setPersonalMessage(java.lang.String personalMessage)
          Set all robots' personal message
 void setPersonalMessage(java.lang.String robotAccount, java.lang.String personalMessage)
          Set personal message of a specified robot account.
 void setPort(int port)
           
 void setReconnectedSupport(boolean b)
          Set reconnection support.
 void setRobotHandler(RobotHandler handler)
          Set robot server event handler
 void setScene(java.lang.String scene)
          Send all robots' scene.
 void setScene(java.lang.String robotAccount, java.lang.String scene)
          set scene of a specified robot.
 void setScheduledExecutor(java.util.concurrent.ScheduledExecutorService scheduledExecutor)
           
 void setSPID(java.lang.String spid)
           
 void setSPPWD(java.lang.String sppwd)
           
 
Methods inherited from class com.incesoft.botplatform.sdk.support.RobotConnection
close, exceptionCaught, getConnector, getExecutor, keepAlive, messageReceived, messageSent, open, sendMessage, sessionClosed, sessionCreated, sessionIdle, sessionOpened, setConnector, setExecutor
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

KEEP_ALIVE_TIMEOUT

public static final int KEEP_ALIVE_TIMEOUT
See Also:
Constant Field Values

DEFAULT_LOGIN_TIMEOUT

public static final long DEFAULT_LOGIN_TIMEOUT
See Also:
Constant Field Values

VERSION

public static final java.lang.String VERSION
See Also:
Constant Field Values
Constructor Detail

DefaultRobotServer

public DefaultRobotServer()
Method Detail

process_loginresp

public void process_loginresp(java.lang.String robotId,
                              java.lang.String userId,
                              java.lang.String sessionId,
                              LoginResponse resp)
                       throws java.lang.Exception
Throws:
java.lang.Exception

process_redirect

public void process_redirect(java.lang.String robotId,
                             java.lang.String userId,
                             java.lang.String sessionId,
                             java.lang.String[] addrlist)
                      throws java.lang.Exception
Throws:
java.lang.Exception

process_userupdated

public void process_userupdated(java.lang.String robotId,
                                java.lang.String userId,
                                java.lang.String sessionId,
                                RobotUser user)
                         throws java.lang.Exception
Throws:
java.lang.Exception

process_useradded

public void process_useradded(java.lang.String robotId,
                              java.lang.String userId,
                              java.lang.String sessionId,
                              java.lang.Object obj)
                       throws java.lang.Exception
Throws:
java.lang.Exception

process_userremoved

public void process_userremoved(java.lang.String robotId,
                                java.lang.String userId,
                                java.lang.String sessionId,
                                java.lang.Object obj)
                         throws java.lang.Exception
Throws:
java.lang.Exception

process_userremoved

public void process_userremoved(java.lang.String robotId,
                                java.lang.String userId,
                                java.lang.String sessionId,
                                java.lang.String psm)
                         throws java.lang.Exception
Throws:
java.lang.Exception

process_userlist

public void process_userlist(java.lang.String robotId,
                             java.lang.String userId,
                             java.lang.String sessionId,
                             User[] userlist)
                      throws java.lang.Exception
Throws:
java.lang.Exception

process_sessionopened

public void process_sessionopened(java.lang.String robotId,
                                  java.lang.String userId,
                                  java.lang.String sessionId,
                                  SessionOpenedEvent event)
                           throws java.lang.Exception
Throws:
java.lang.Exception

process_sessionclosed

public void process_sessionclosed(java.lang.String robotId,
                                  java.lang.String userId,
                                  java.lang.String sessionId,
                                  java.lang.Object obj)
                           throws java.lang.Exception
Throws:
java.lang.Exception

process_join

public void process_join(java.lang.String robotId,
                         java.lang.String userId,
                         java.lang.String sessionId,
                         User user)
                  throws java.lang.Exception
Throws:
java.lang.Exception

process_part

public void process_part(java.lang.String robotId,
                         java.lang.String userId,
                         java.lang.String sessionId,
                         java.lang.Object obj)
                  throws java.lang.Exception
Throws:
java.lang.Exception

process_msg

public void process_msg(java.lang.String robotId,
                        java.lang.String userId,
                        java.lang.String sessionId,
                        TextMessage msg)
                 throws java.lang.Exception
Throws:
java.lang.Exception

process_nudge

public void process_nudge(java.lang.String robotId,
                          java.lang.String userId,
                          java.lang.String sessionId,
                          java.lang.Object obj)
                   throws java.lang.Exception
Throws:
java.lang.Exception

process_appmsg

public void process_appmsg(java.lang.String robotId,
                           java.lang.String userId,
                           java.lang.String sessionId,
                           AppMessage app)
                    throws java.lang.Exception
Throws:
java.lang.Exception

process_appevent

public void process_appevent(java.lang.String robotId,
                             java.lang.String userId,
                             java.lang.String sessionId,
                             java.lang.String event)
                      throws java.lang.Exception
Throws:
java.lang.Exception

process_fileevent

public void process_fileevent(java.lang.String robotId,
                              java.lang.String userId,
                              java.lang.String sessionId,
                              FileTransEvent eventObj)
                       throws java.lang.Exception
Throws:
java.lang.Exception

process_fileinvite

public void process_fileinvite(java.lang.String robotId,
                               java.lang.String userId,
                               java.lang.String sessionId,
                               FileTransEvent invitation)
                        throws RobotException
Throws:
RobotException

process_webcamevent

public void process_webcamevent(java.lang.String robotId,
                                java.lang.String userId,
                                java.lang.String sessionId,
                                java.lang.String event)
                         throws java.lang.Exception
Throws:
java.lang.Exception

process_error

public void process_error(java.lang.String robotId,
                          java.lang.String userId,
                          java.lang.String sessionId,
                          ErrorMessage err)
                   throws java.lang.Exception
Throws:
java.lang.Exception

process_typing

public void process_typing(java.lang.String robotId,
                           java.lang.String userId,
                           java.lang.String sessionId,
                           java.lang.Object msgBoby)
                    throws RobotException
Throws:
RobotException

process_voiceclipevent

public void process_voiceclipevent(java.lang.String robotId,
                                   java.lang.String userId,
                                   java.lang.String sessionId,
                                   ResourceInfo resource)
                            throws RobotException
Throws:
RobotException

process_winkevent

public void process_winkevent(java.lang.String robotId,
                              java.lang.String userId,
                              java.lang.String sessionId,
                              ResourceInfo resource)
                       throws RobotException
Throws:
RobotException

process_inkmsg

public void process_inkmsg(java.lang.String robotId,
                           java.lang.String userId,
                           java.lang.String sessionId,
                           java.lang.String ink)
                    throws RobotException
Throws:
RobotException

process_dpupdated

public void process_dpupdated(java.lang.String robotId,
                              java.lang.String userId,
                              java.lang.String sessionId,
                              ResourceInfo resource)
                       throws RobotException
Throws:
RobotException

process_sceneupdated

public void process_sceneupdated(java.lang.String robotId,
                                 java.lang.String userId,
                                 java.lang.String sessionId,
                                 ResourceInfo resource)
                          throws RobotException
Throws:
RobotException

process_colorupdated

public void process_colorupdated(java.lang.String robotId,
                                 java.lang.String userId,
                                 java.lang.String sessionId,
                                 int colorScheme)
                          throws RobotException
Throws:
RobotException

process_psmupdated

public void process_psmupdated(java.lang.String robotId,
                               java.lang.String userId,
                               java.lang.String sessionId,
                               java.lang.String psm)
                        throws RobotException
Throws:
RobotException

process_resource

public void process_resource(java.lang.String robotId,
                             java.lang.String userId,
                             java.lang.String sessionId,
                             ResourceInfo resource)

login

public void login(java.lang.String spid,
                  java.lang.String sppwd)
           throws RobotException
Description copied from interface: RobotServer
Calling this function, Robot Server will login BOTPLATFORM. It's a synchronous operation, using default timeout(1 minute). During the login process, if no exception raises, login succeeds. Otherwise, please catch the exception and check exception message explains why login failed.

Specified by:
login in interface RobotServer
Parameters:
spid - The unique ID assigned by INCESOFT
sppwd - The password assigned by INCESOFT
Throws:
RobotException

login

public void login(java.lang.String spid,
                  java.lang.String sppwd,
                  long timeout)
           throws RobotException
Description copied from interface: RobotServer
Calling this function, Robot Server will login BOTPLATFORM. It's a synchronous operation, using assigned timeout. During the login process, if no exception raises, login succeeds. Otherwise, please catch the exception and check exception message explains why login failed.

Specified by:
login in interface RobotServer
Parameters:
spid - The unique ID assigned by INCESOFT
sppwd - The password assigned by INCESOFT
timeout - Login timeout, the unit is millisecond
Throws:
RobotException

logout

public void logout()
Description copied from interface: RobotServer
Robot server logout BOTPLATFORM

Specified by:
logout in interface RobotServer

logoutImpl

public void logoutImpl()

assertAlive

public void assertAlive()

setDisplayName

public void setDisplayName(java.lang.String displayName)
                    throws RobotException
Description copied from interface: RobotServer
Set all robots's display name

Specified by:
setDisplayName in interface RobotServer
Parameters:
displayName - a preferred name preferred
Throws:
RobotException

setDisplayName

public void setDisplayName(java.lang.String robotAccount,
                           java.lang.String displayName)
                    throws RobotException
Description copied from interface: RobotServer
Set display name of a specified robot account.

Specified by:
setDisplayName in interface RobotServer
Parameters:
robotAccount - specify a robot account to be modified.
displayName - a preferred display name
Throws:
RobotException

setPersonalMessage

public void setPersonalMessage(java.lang.String personalMessage)
                        throws RobotException
Description copied from interface: RobotServer
Set all robots' personal message

Specified by:
setPersonalMessage in interface RobotServer
Throws:
RobotException

setPersonalMessage

public void setPersonalMessage(java.lang.String robotAccount,
                               java.lang.String personalMessage)
                        throws RobotException
Description copied from interface: RobotServer
Set personal message of a specified robot account.

Specified by:
setPersonalMessage in interface RobotServer
Parameters:
robotAccount - specify a robot account to be modified.
personalMessage - a preferred personal message
Throws:
RobotException

setDisplayPicture

public void setDisplayPicture(java.lang.String displayPicture)
                       throws RobotException
Description copied from interface: RobotServer
Set all robots' display picture

Specified by:
setDisplayPicture in interface RobotServer
Parameters:
displayPicture - unique name of the dp resource pre-uploaded to BOTPLATFORM and verified by BOTPLATFORM
Throws:
RobotException

setDisplayPicture

public void setDisplayPicture(java.lang.String robotAccount,
                              java.lang.String displayPicture)
                       throws RobotException
Description copied from interface: RobotServer
Set display picture of a specified robot account.

Specified by:
setDisplayPicture in interface RobotServer
Parameters:
robotAccount - specify a robot account to be modified.
displayPicture - unique name of the dp resource pre-uploaded to BOTPLATFORM and verified by BOTPLATFORM
Throws:
RobotException

createSession

public void createSession(java.lang.String robot,
                          java.lang.String user)
                   throws RobotException
Description copied from interface: RobotServer
Create a robot session.

Specified by:
createSession in interface RobotServer
Parameters:
robot - robot id
user - user id
Throws:
RobotException

pushMessage

public void pushMessage(java.lang.String robot,
                        java.lang.String user,
                        RobotMessage message)
                 throws RobotException
Description copied from interface: RobotServer
Push message to user. may be msn offline message,email message, etc.

Specified by:
pushMessage in interface RobotServer
Parameters:
robot - robot id
user - user id
message - message
Throws:
RobotException

requestContactList

public void requestContactList(java.lang.String robot)
                        throws RobotException
Description copied from interface: RobotServer
Get the contact list of the specified robot.

Specified by:
requestContactList in interface RobotServer
Parameters:
robot - robot id
Throws:
RobotException

requestResource

public void requestResource(java.lang.String robot,
                            java.lang.String user,
                            RobotResource resource,
                            java.lang.String saveUrl)
                     throws RobotException
Description copied from interface: RobotServer
Get the resouce, the data of the resource file will be posted to a url specified.

Specified by:
requestResource in interface RobotServer
Parameters:
robot - robot id
user - user id
resource - the resource to get.
saveUrl - a url receives a HTTP POST request which contains the resource data.
Throws:
RobotException

getSPID

public java.lang.String getSPID()

setReconnectedSupport

public void setReconnectedSupport(boolean b)
Description copied from interface: RobotServer
Set reconnection support. Default setting is true. When network errors occur, Robot Server will login BOTPLATFORM again automatically.

Specified by:
setReconnectedSupport in interface RobotServer

isReconnectedSupport

public boolean isReconnectedSupport()
Description copied from interface: RobotServer
check whether reconnection is supported .

Specified by:
isReconnectedSupport in interface RobotServer

addConnectionListener

public void addConnectionListener(RobotConnectionListener listener)
Specified by:
addConnectionListener in interface RobotServer

removeConnectionistener

public void removeConnectionistener(RobotConnectionListener listener)
Specified by:
removeConnectionistener in interface RobotServer

fireServerConnected

public void fireServerConnected()

fireServerReconnected

public void fireServerReconnected()

fireServerDisconnected

public void fireServerDisconnected()

setSPID

public void setSPID(java.lang.String spid)

getSPPWD

public java.lang.String getSPPWD()

setSPPWD

public void setSPPWD(java.lang.String sppwd)

isLoggedIn

public boolean isLoggedIn()

setLoggedIn

public void setLoggedIn(boolean loggedIn)

setRobotHandler

public void setRobotHandler(RobotHandler handler)
Description copied from interface: RobotServer
Set robot server event handler

Specified by:
setRobotHandler in interface RobotServer

getRobotHandler

public RobotHandler getRobotHandler()

getHost

public java.lang.String getHost()

setHost

public void setHost(java.lang.String host)

getPort

public int getPort()

setPort

public void setPort(int port)

getScheduledExecutor

public java.util.concurrent.ScheduledExecutorService getScheduledExecutor()

setScheduledExecutor

public void setScheduledExecutor(java.util.concurrent.ScheduledExecutorService scheduledExecutor)

setColorScheme

public void setColorScheme(int colorScheme)
                    throws RobotException
Description copied from interface: RobotServer
set all robots' color scheme.

Specified by:
setColorScheme in interface RobotServer
Parameters:
colorScheme - a preferred color
Throws:
RobotException

setColorScheme

public void setColorScheme(java.lang.String robot,
                           int colorScheme)
                    throws RobotException
Description copied from interface: RobotServer
set a specified robot's color scheme.

Specified by:
setColorScheme in interface RobotServer
Parameters:
robot - specify a robot account to be modified
colorScheme - a preferred color
Throws:
RobotException

setScene

public void setScene(java.lang.String scene)
              throws RobotException
Description copied from interface: RobotServer
Send all robots' scene.

Specified by:
setScene in interface RobotServer
Parameters:
scene - uri of the scene
Throws:
RobotException

setScene

public void setScene(java.lang.String robotAccount,
                     java.lang.String scene)
              throws RobotException
Description copied from interface: RobotServer
set scene of a specified robot.

Specified by:
setScene in interface RobotServer
Parameters:
robotAccount - specify a robot account to be modified
scene - uri of the scene
Throws:
RobotException

setDisplayPictureEx

public void setDisplayPictureEx(java.lang.String displayPicture,
                                java.lang.String deluxePicture)
                         throws RobotException
Description copied from interface: RobotServer
Set all robots' display picture

Specified by:
setDisplayPictureEx in interface RobotServer
Parameters:
displayPicture - unique name of the dp resource pre-uploaded to BOTPLATFORM and verified by BOTPLATFORM
deluxePicture - unique name of the ddp resource pre-uploaded to BOTPLATFORM and verified by BOTPLATFORM
Throws:
RobotException

setDisplayPictureEx

public void setDisplayPictureEx(java.lang.String robotAccount,
                                java.lang.String displayPicture,
                                java.lang.String deluxePicture)
                         throws RobotException
Description copied from interface: RobotServer
Set display picture of a specified robot account.

Specified by:
setDisplayPictureEx in interface RobotServer
Parameters:
robotAccount - specify a robot account to be modified.
displayPicture - unique name of the dp resource pre-uploaded to BOTPLATFORM and verified by BOTPLATFORM
deluxePicture - unique name of the ddp resource pre-uploaded to BOTPLATFORM and verified by BOTPLATFORM
Throws:
RobotException

createMessage

public RobotMessage createMessage()
Description copied from interface: RobotServer
Create a message

Specified by:
createMessage in interface RobotServer
Returns:
RobotMessage RobotMessage

addUser

public void addUser(java.lang.String robot,
                    java.lang.String user,
                    java.lang.String inviteMessage)
Description copied from interface: RobotServer
Add a user to your bot

Specified by:
addUser in interface RobotServer
Parameters:
robot - robot id
user - user id
inviteMessage - a message shown on the invite panel