package org.dresdenocl.debug.model;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.PrintStream;
public class OclDebugCommunicationHelper {
public void sendEvent(OclDebugMessage message, PrintStream stream) {
synchronized (stream) {
stream.println(message.serialize());
}
}
public OclDebugMessage sendAndReceive(OclDebugMessage message,
PrintStream stream, BufferedReader reader) {
synchronized (stream) {
sendEvent(message, stream);
OclDebugMessage response = receive(reader);
return response;
}
}
public OclDebugMessage receive(BufferedReader reader) {
try {
String response = reader.readLine();
return response == null ? null : OclDebugMessage.deserialize(response);
} catch (IOException e) {
System.out.println("IO Error occured");
return null;
}
}
}