This just seems to be a small thing, but I can't get it validated.
I already tried several different writings:
boolean isUserName = request.getType() == (MessageType.USER_NAME);
boolean isUserName = request.getType() == (MessageType.USER_NAME) ? true : false;
boolean isUserName = request.getType().equals (MessageType.USER_NAME) ? true : false;
What exactly is the validator looking for?
package com.codegym.task.task30.task3008;
/*
The server's main class.
*/
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;
public class Server {
private static Map<String, Connection> connectionMap = new ConcurrentHashMap<>();
public static void main(String[] args) {
int serverport = ConsoleHelper.readInt();
try {
ServerSocket serverSocket = new ServerSocket(serverport);
ConsoleHelper.writeMessage("Server is running.");
try {
while (true) {
Socket newSocket = serverSocket.accept();
Handler newHandler = new Handler(newSocket);
newHandler.start();
}
} catch (Exception e) {
serverSocket.close();
e.printStackTrace();
}
} catch (IOException e) {
ConsoleHelper.writeMessage("Failure initializing ServerSocket.");
}
}
private static class Handler extends Thread{
private Socket socket;
Handler(Socket socket){
this.socket = socket;
}
private String serverHandshake(Connection connection) throws IOException, ClassNotFoundException{
String clientName;
while(true) {
connection.send(new Message(MessageType.NAME_REQUEST, "Please enter valid username."));
Message request = connection.receive();
boolean isUserName = request.getType() == (MessageType.USER_NAME) ? true : false;
boolean isNotEmpty = request.getData().trim().length() == 0 ? false : true;
boolean isNotUsed = !connectionMap.containsKey(request.getData());
if(isUserName && isNotEmpty && isNotUsed){
connectionMap.put(request.getData(), connection);
connection.send(new Message(MessageType.NAME_ACCEPTED, "Username accepted."));
return request.getData();
}
}
}
}
public static void sendBroadcastMessage(Message message){
for(String key : connectionMap.keySet()){
try {
connectionMap.get(key).send(message);
} catch (IOException e) {
ConsoleHelper.writeMessage("Message could not be sent to " + key);
}
}
}
}