Package net.sf.colossus.webclient
Class CmdLineWebClient
- java.lang.Object
-
- net.sf.colossus.webclient.CmdLineWebClient
-
- All Implemented Interfaces:
IWebClient
public class CmdLineWebClient extends java.lang.Object implements IWebClient
A first start to create a cmdline WebClient. For example for automated testing or for shutting down the server. Still "Work in Progress", just committing it to get my work copy clean...
-
-
Field Summary
Fields Modifier and Type Field Description private static java.lang.String
DEFAULT_PASSWORD
private static java.lang.String
DEFAULT_USERNAME
private java.util.HashMap<java.lang.String,GameInfo>
gameHash
NOTE: shared with SocketThread, because WCST needs it to restore game tokens to an GameInfo objectprivate java.lang.String
hostname
private static java.util.logging.Logger
LOGGER
private int
port
private IWebServer
server
private WebClientSocketThread
wcst
-
Fields inherited from interface net.sf.colossus.webcommon.IWebClient
alreadyLoggedIn, chatDeliver, connectionClosed, didEnroll, didUnenroll, forcedLogout, gameCancelled, gameInfo, gameStarted, gameStartsNow, gameStartsSoon, generalMessage, grantAdmin, pingRequest, requestAttention, systemMessage, tooManyUsers, userInfo, watchGameInfo
-
-
Constructor Summary
Constructors Constructor Description CmdLineWebClient()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
chatDeliver(java.lang.String chatId, long when, java.lang.String sender, java.lang.String message, boolean resent)
void
connectionReset(boolean forcedLogout)
void
deliverGeneralMessage(long when, boolean error, java.lang.String title, java.lang.String message)
void
didEnroll(java.lang.String gameId, java.lang.String username)
void
didUnenroll(java.lang.String gameId, java.lang.String username)
void
gameCancelled(java.lang.String gameId, java.lang.String byUser)
void
gameInfo(GameInfo gi)
void
gameStartsNow(java.lang.String gameId, int port, java.lang.String hostingHost)
void
gameStartsSoon(java.lang.String gameId, java.lang.String byUser)
int
getClientVersion()
private static java.lang.String
getOneLineFromStdin(java.io.BufferedReader br)
private java.lang.String
getUsername()
void
grantAdminStatus()
private static void
interactiveLoop(CmdLineWebClient cwClient)
private boolean
isLoggedIn()
java.lang.String
login(boolean force, java.lang.String username, java.lang.String password)
Create a commandline client (CmdLineWebClient) and login with given parametersprivate boolean
logout()
Logout the active CmdlineClientstatic void
main(java.lang.String[] args)
void
requestAttention(long when, java.lang.String byUser, boolean byAdmin, java.lang.String message, int beepCount, long beepInterval, boolean windows)
private void
shutdownServer()
private static void
sleepFor(long millis)
void
systemMessage(long when, java.lang.String message)
private void
typedInChat(java.lang.String message)
void
updateStatus(java.lang.String text, java.awt.Color color)
void
userInfo(int loggedin, int enrolled, int playing, int dead, long ago, java.lang.String text)
void
watchGameInfo(java.lang.String gameId, java.lang.String host, int port)
-
-
-
Field Detail
-
LOGGER
private static final java.util.logging.Logger LOGGER
-
DEFAULT_USERNAME
private static final java.lang.String DEFAULT_USERNAME
- See Also:
- Constant Field Values
-
DEFAULT_PASSWORD
private static final java.lang.String DEFAULT_PASSWORD
- See Also:
- Constant Field Values
-
server
private IWebServer server
-
wcst
private WebClientSocketThread wcst
-
hostname
private final java.lang.String hostname
- See Also:
- Constant Field Values
-
port
private final int port
- See Also:
- Constant Field Values
-
gameHash
private final java.util.HashMap<java.lang.String,GameInfo> gameHash
NOTE: shared with SocketThread, because WCST needs it to restore game tokens to an GameInfo object
-
-
Method Detail
-
getClientVersion
public int getClientVersion()
- Specified by:
getClientVersion
in interfaceIWebClient
-
main
public static void main(java.lang.String[] args)
- Parameters:
args
-
-
interactiveLoop
private static void interactiveLoop(CmdLineWebClient cwClient)
-
getOneLineFromStdin
private static java.lang.String getOneLineFromStdin(java.io.BufferedReader br) throws java.io.IOException
- Throws:
java.io.IOException
-
sleepFor
private static void sleepFor(long millis)
-
login
public java.lang.String login(boolean force, java.lang.String username, java.lang.String password)
Create a commandline client (CmdLineWebClient) and login with given parameters- Parameters:
force
-username
-password
-- Returns:
-
logout
private boolean logout()
Logout the active CmdlineClient- Returns:
-
isLoggedIn
private boolean isLoggedIn()
-
getUsername
private java.lang.String getUsername()
-
shutdownServer
private void shutdownServer()
-
typedInChat
private void typedInChat(java.lang.String message)
-
updateStatus
public void updateStatus(java.lang.String text, java.awt.Color color)
-
chatDeliver
public void chatDeliver(java.lang.String chatId, long when, java.lang.String sender, java.lang.String message, boolean resent)
- Specified by:
chatDeliver
in interfaceIWebClient
-
deliverGeneralMessage
public void deliverGeneralMessage(long when, boolean error, java.lang.String title, java.lang.String message)
- Specified by:
deliverGeneralMessage
in interfaceIWebClient
-
systemMessage
public void systemMessage(long when, java.lang.String message)
- Specified by:
systemMessage
in interfaceIWebClient
-
requestAttention
public void requestAttention(long when, java.lang.String byUser, boolean byAdmin, java.lang.String message, int beepCount, long beepInterval, boolean windows)
- Specified by:
requestAttention
in interfaceIWebClient
-
connectionReset
public void connectionReset(boolean forcedLogout)
- Specified by:
connectionReset
in interfaceIWebClient
-
didEnroll
public void didEnroll(java.lang.String gameId, java.lang.String username)
- Specified by:
didEnroll
in interfaceIWebClient
-
didUnenroll
public void didUnenroll(java.lang.String gameId, java.lang.String username)
- Specified by:
didUnenroll
in interfaceIWebClient
-
gameCancelled
public void gameCancelled(java.lang.String gameId, java.lang.String byUser)
- Specified by:
gameCancelled
in interfaceIWebClient
-
gameInfo
public void gameInfo(GameInfo gi)
- Specified by:
gameInfo
in interfaceIWebClient
-
gameStartsNow
public void gameStartsNow(java.lang.String gameId, int port, java.lang.String hostingHost)
- Specified by:
gameStartsNow
in interfaceIWebClient
-
gameStartsSoon
public void gameStartsSoon(java.lang.String gameId, java.lang.String byUser)
- Specified by:
gameStartsSoon
in interfaceIWebClient
-
grantAdminStatus
public void grantAdminStatus()
- Specified by:
grantAdminStatus
in interfaceIWebClient
-
userInfo
public void userInfo(int loggedin, int enrolled, int playing, int dead, long ago, java.lang.String text)
- Specified by:
userInfo
in interfaceIWebClient
-
watchGameInfo
public void watchGameInfo(java.lang.String gameId, java.lang.String host, int port)
- Specified by:
watchGameInfo
in interfaceIWebClient
-
-