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.StringDEFAULT_PASSWORDprivate static java.lang.StringDEFAULT_USERNAMEprivate java.util.HashMap<java.lang.String,GameInfo>gameHashNOTE: shared with SocketThread, because WCST needs it to restore game tokens to an GameInfo objectprivate java.lang.Stringhostnameprivate static java.util.logging.LoggerLOGGERprivate intportprivate IWebServerserverprivate WebClientSocketThreadwcst-
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 voidchatDeliver(java.lang.String chatId, long when, java.lang.String sender, java.lang.String message, boolean resent)voidconnectionReset(boolean forcedLogout)voiddeliverGeneralMessage(long when, boolean error, java.lang.String title, java.lang.String message)voiddidEnroll(java.lang.String gameId, java.lang.String username)voiddidUnenroll(java.lang.String gameId, java.lang.String username)voidgameCancelled(java.lang.String gameId, java.lang.String byUser)voidgameInfo(GameInfo gi)voidgameStartsNow(java.lang.String gameId, int port, java.lang.String hostingHost)voidgameStartsSoon(java.lang.String gameId, java.lang.String byUser)intgetClientVersion()private static java.lang.StringgetOneLineFromStdin(java.io.BufferedReader br)private java.lang.StringgetUsername()voidgrantAdminStatus()private static voidinteractiveLoop(CmdLineWebClient cwClient)private booleanisLoggedIn()java.lang.Stringlogin(boolean force, java.lang.String username, java.lang.String password)Create a commandline client (CmdLineWebClient) and login with given parametersprivate booleanlogout()Logout the active CmdlineClientstatic voidmain(java.lang.String[] args)voidrequestAttention(long when, java.lang.String byUser, boolean byAdmin, java.lang.String message, int beepCount, long beepInterval, boolean windows)private voidshutdownServer()private static voidsleepFor(long millis)voidsystemMessage(long when, java.lang.String message)private voidtypedInChat(java.lang.String message)voidupdateStatus(java.lang.String text, java.awt.Color color)voiduserInfo(int loggedin, int enrolled, int playing, int dead, long ago, java.lang.String text)voidwatchGameInfo(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:
getClientVersionin 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:
chatDeliverin interfaceIWebClient
-
deliverGeneralMessage
public void deliverGeneralMessage(long when, boolean error, java.lang.String title, java.lang.String message)- Specified by:
deliverGeneralMessagein interfaceIWebClient
-
systemMessage
public void systemMessage(long when, java.lang.String message)- Specified by:
systemMessagein 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:
requestAttentionin interfaceIWebClient
-
connectionReset
public void connectionReset(boolean forcedLogout)
- Specified by:
connectionResetin interfaceIWebClient
-
didEnroll
public void didEnroll(java.lang.String gameId, java.lang.String username)- Specified by:
didEnrollin interfaceIWebClient
-
didUnenroll
public void didUnenroll(java.lang.String gameId, java.lang.String username)- Specified by:
didUnenrollin interfaceIWebClient
-
gameCancelled
public void gameCancelled(java.lang.String gameId, java.lang.String byUser)- Specified by:
gameCancelledin interfaceIWebClient
-
gameInfo
public void gameInfo(GameInfo gi)
- Specified by:
gameInfoin interfaceIWebClient
-
gameStartsNow
public void gameStartsNow(java.lang.String gameId, int port, java.lang.String hostingHost)- Specified by:
gameStartsNowin interfaceIWebClient
-
gameStartsSoon
public void gameStartsSoon(java.lang.String gameId, java.lang.String byUser)- Specified by:
gameStartsSoonin interfaceIWebClient
-
grantAdminStatus
public void grantAdminStatus()
- Specified by:
grantAdminStatusin interfaceIWebClient
-
userInfo
public void userInfo(int loggedin, int enrolled, int playing, int dead, long ago, java.lang.String text)- Specified by:
userInfoin interfaceIWebClient
-
watchGameInfo
public void watchGameInfo(java.lang.String gameId, java.lang.String host, int port)- Specified by:
watchGameInfoin interfaceIWebClient
-
-