Class 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 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
      • 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
    • Constructor Detail

      • CmdLineWebClient

        public CmdLineWebClient()
    • Method Detail

      • 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 interface IWebClient
      • deliverGeneralMessage

        public void deliverGeneralMessage​(long when,
                                          boolean error,
                                          java.lang.String title,
                                          java.lang.String message)
        Specified by:
        deliverGeneralMessage in interface IWebClient
      • systemMessage

        public void systemMessage​(long when,
                                  java.lang.String message)
        Specified by:
        systemMessage in interface IWebClient
      • 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 interface IWebClient
      • connectionReset

        public void connectionReset​(boolean forcedLogout)
        Specified by:
        connectionReset in interface IWebClient
      • didEnroll

        public void didEnroll​(java.lang.String gameId,
                              java.lang.String username)
        Specified by:
        didEnroll in interface IWebClient
      • didUnenroll

        public void didUnenroll​(java.lang.String gameId,
                                java.lang.String username)
        Specified by:
        didUnenroll in interface IWebClient
      • gameCancelled

        public void gameCancelled​(java.lang.String gameId,
                                  java.lang.String byUser)
        Specified by:
        gameCancelled in interface IWebClient
      • gameStartsNow

        public void gameStartsNow​(java.lang.String gameId,
                                  int port,
                                  java.lang.String hostingHost)
        Specified by:
        gameStartsNow in interface IWebClient
      • gameStartsSoon

        public void gameStartsSoon​(java.lang.String gameId,
                                   java.lang.String byUser)
        Specified by:
        gameStartsSoon in interface IWebClient
      • userInfo

        public void userInfo​(int loggedin,
                             int enrolled,
                             int playing,
                             int dead,
                             long ago,
                             java.lang.String text)
        Specified by:
        userInfo in interface IWebClient
      • watchGameInfo

        public void watchGameInfo​(java.lang.String gameId,
                                  java.lang.String host,
                                  int port)
        Specified by:
        watchGameInfo in interface IWebClient