コード例 #1
0
        public String getSubscriptionMessages(String topicName)
        {
            long joinTime = _profReadWrite.getSubscriptionDate(_username, topicName);

            String[] messages = _topReadWrite.getTopicMessages(topicName, joinTime);
            messages[1] = _topReadWrite.getWelcomeMessage(topicName);
            _profReadWrite.updateLastChecked(_username, topicName);
            String response = prepareStringArray(messages);

            return(response);
        }
コード例 #2
0
ファイル: Broker.cs プロジェクト: xorobabel/Pub-Sub-Broker
        public string getResponse(string message)
        {
            string response  = "You probably forgot to restart the server, dummy.";
            string indicator = message.Substring(0, 2);

            message = message.Substring(2);
            message = message.Trim((char)0);

            if (indicator.Equals(CommunicationProtocol.REQUEST_USERNAMES))
            {
                String[] usernamesArray = profReadWrite.getUsernames();
                response = prepareStringArray(usernamesArray) + ";";
            }
            else if (indicator.Equals(CommunicationProtocol.LOG_IN))
            {
                response = loadProfile(message);
            }
            else if (indicator.Equals(CommunicationProtocol.CREATE_PROFILE))
            {
                response = createProfile(message);
            }
            else if (indicator.Equals(CommunicationProtocol.CREATE_TOPIC))
            {
                response = _userProfile.addTopic(message);
            }
            else if (indicator.Equals(CommunicationProtocol.REQUEST_TOPIC_NAMES))
            {
                String[] topicNames = topReadWrite.getTopicNames();
                response = prepareStringArray(topicNames) + ";";
            }
            else if (indicator.Equals(CommunicationProtocol.ADD_SUBSCRIPTION))
            {
                _userProfile.subscribe(message);
            }
            else if (indicator.Equals(CommunicationProtocol.REQUEST_NOT_SUBSCRIBED_TOPIC_NAMES))
            {
                response = _userProfile.getNotSubscribedTopicNames();
            }
            else if (indicator.Equals(CommunicationProtocol.REQUEST_USERS_TOPIC_NAMES))
            {
                response = _userProfile.getMyTopicNames();
            }
            else if (indicator.Equals(CommunicationProtocol.PUBLISH_MESSAGE))
            {
                String[] names            = parseString(message);
                String   topicName        = names[0];
                String   publishedMessage = names[1];
                publishMessage(topicName, publishedMessage);
            }
            else if (indicator.Equals(CommunicationProtocol.REQUEST_SUBSCRIPTION_NAMES))
            {
                response = _userProfile.getSubscriptionNames();
            }
            else if (indicator.Equals(CommunicationProtocol.REQUEST_SUBSCRIPTION_MESSAGES))
            {
                response = _userProfile.getSubscriptionMessages(message);
            }
            else if (indicator.Equals(CommunicationProtocol.REQUEST_NEW_MESSAGE_COUNT))
            {
                response = _userProfile.getNewMessageCount(message);
            }
            else if (indicator.Equals(CommunicationProtocol.REQUEST_AUTO_RUN_STATUS))
            {
                String status = topReadWrite.getAutoRun(message);
                response = status;
            }
            else if (indicator.Equals(CommunicationProtocol.REQUEST_DEFAULT_MESSAGES))
            {
                String status = topReadWrite.getDefaultMessages(message);
                response = status;
            }
            else if (indicator.Equals(CommunicationProtocol.TOGGLE_AUTO_RUN))
            {
                String status = topReadWrite.toggleAutoRun(message);
                response = status;
            }
            else if (indicator.Equals(CommunicationProtocol.ADD_DEFAULT_MESSAGE))
            {
                String[] messages = parseString(message);
                topReadWrite.addDefaultMessage(messages[0], messages[1]);
            }
            else if (indicator.Equals(CommunicationProtocol.DELETE_DEFAULT_MESSAGE))
            {
                String[] messages       = parseString(message);
                String   topicName      = messages[0];
                String   deletedMessage = messages[1];
                response = deleteDefaultMessage(topicName, deletedMessage);
            }
            else if (indicator.Equals(CommunicationProtocol.REMOVE_SUBSCRIPTION))
            {
                _userProfile.unsubscribe(message);
            }
            else if (indicator.Equals(CommunicationProtocol.REQUEST_WELCOME_MESSAGE))
            {
                response = topReadWrite.getWelcomeMessage(message);
            }
            else if (indicator.Equals(CommunicationProtocol.SET_WELCOME_MESSAGE))
            {
                String[] messages       = parseString(message);
                String   topicName      = messages[0];
                String   welcomeMessage = messages[1];
                topReadWrite.setWelcomeMessage(topicName, welcomeMessage);
            }
            else if (indicator.Equals(CommunicationProtocol.REQUEST_TOPIC_HISTORY))
            {
                String[] messages = topReadWrite.getTopicMessages(message, 0);
                messages[0] = message;
                messages[1] = "Start of message history";
                response    = prepareStringArray(messages);
            }

            return(response);
        }