Skip to content

Instantly share code, notes, and snippets.

@igor0ser
Created March 6, 2015 08:38
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save igor0ser/7d289283b0c7c94a8a2b to your computer and use it in GitHub Desktop.
Save igor0ser/7d289283b0c7c94a8a2b to your computer and use it in GitHub Desktop.
package igor;
import java.util.Date;
import java.util.Scanner;
public class Chat implements Runnable {
private User user;
private int i = 0;
Scanner scanner = new Scanner(System.in);
private boolean isRunning;
public void setIsRunning(boolean isRunning) {
this.isRunning = isRunning;
}
public boolean getIsRunning() {
return isRunning;
}
public int getI() {
return i;
}
public User getUser() {
return user;
}
public void sayHello() {
System.out.println("<< Hello! You are enetering programm CHAT");
System.out.println("<< To see userlist enter the command: -userlist");
System.out
.println("<< To change your room enter the command: -room#X, where X is the number of room.");
System.out
.println("<< To send private message enter #username before text of your message, where username is the name of receiver.");
}
public boolean setUser() {
System.out.println("<< Enter the login:");
String login = scanner.nextLine();
System.out.println("<< Enter the password:");
String password = scanner.nextLine();
user = new User(login, password);
if (user.getAccess()) {
System.out.println("<< You enetered the chat.");
return true;
} else {
System.out.println("<< Wrong login or password.");
return false;
}
}
@Override
public void run() {
while (this.getIsRunning()) {
this.i = this.i
+ Message
.getMessageList(user.getLogin(), user.getRoom(), i);
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
public boolean enterMessage() {
Message m;
String newMessage = scanner.nextLine();
if (newMessage.equals("-userlist")) {
user.getUserList();
return true;
}
else if (newMessage.startsWith("#")) {
String[] s = newMessage.split(" ");
String to = s[0].substring(1, s[0].length());
StringBuilder text = new StringBuilder();
for (int i = 1; i < s.length; i++)
text.append(s[i]);
m = new Message(user.getLogin(), to, text.toString(), new Date(),
user.getRoom());
m.send();
return true;
} else if (newMessage.startsWith("-room#")) {
String r = newMessage.substring(6, 7);
int newRoom = Integer.parseInt(r);
boolean flag = user.changeRoom(newRoom);
if (flag) {
System.out.println("<< You entered room #" + newRoom);
user.setRoom(newRoom);
} else
System.out.println("<< Error in chaging room.");
return !flag;
}
else {
m = new Message(user.getLogin(), "-", newMessage, new Date(),
user.getRoom());
m.send();
return true;
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment