Improves the debugging messages some.

There is something up with the browser interface, and these can help me troubleshoot.
This commit is contained in:
Markil3
2021-09-14 14:39:38 -06:00
parent 2b0eca7a10
commit 92ebb75e9d
5 changed files with 54 additions and 10 deletions

View File

@@ -76,6 +76,15 @@ public class CommandConfirmation implements Serializable
*/
public String getMessage()
{
return this.errorCode != null ? this.errorCode.getMessage() : this.message;
return this.errorCode != null ? this.errorCode
.getMessage() : this.message;
}
@Override
public String toString()
{
return "CommandConfirmation{" +
"message='" + this.getMessage() + '\'' +
'}';
}
}

View File

@@ -58,4 +58,13 @@ public class CommandReturn<T> implements Serializable
{
return this.confirmation;
}
@Override
public String toString()
{
return "CommandReturn{" +
"returnValue=" + returnValue +
", confirmation=" + confirmation +
'}';
}
}

View File

@@ -171,7 +171,8 @@ public class MessageHandler implements Runnable, MessageSerializer
}
catch (IOException e)
{
logger.error("Could not send response message for" + update, e);
logger.error("Could not send response message" +
" for " + update, e);
running = false;
}
}

View File

@@ -10,6 +10,7 @@ import org.slf4j.LoggerFactory;
import java.io.*;
import java.nio.ByteBuffer;
import java.nio.charset.StandardCharsets;
import java.util.Arrays;
import java.util.HashMap;
import java.util.LinkedList;
import java.util.concurrent.ExecutionException;
@@ -145,7 +146,16 @@ public abstract class MessageRunner implements Runnable, MessageSerializer
/*
* Not a response, just a generic update.
*/
Object ob = deserializeObject(returnMessage[1]);
Object ob;
try
{
ob = deserializeObject(returnMessage[1]);
}
catch (IOException e)
{
throw new IOException("Could not " +
"deserialize " + Arrays.toString(returnMessage[1]), e);
}
this.triggerUpdateListeners(ob);
logger.debug("Received update {}", ob);
}

View File

@@ -5,9 +5,11 @@
package edu.regis.universeplayer.browserCommands;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.io.*;
import java.nio.ByteBuffer;
import java.util.Arrays;
public interface MessageSerializer
{
@@ -43,6 +45,10 @@ public interface MessageSerializer
*/
default Object deserializeObject(byte[] message) throws IOException, ClassNotFoundException
{
if (message == null || message.length == 0)
{
return null;
}
try (ByteArrayInputStream byteStream = new ByteArrayInputStream(message))
{
try (ObjectInputStream stream = new ObjectInputStream(byteStream))
@@ -125,7 +131,16 @@ public interface MessageSerializer
.error("Malformed message, could not get message length.");
return null;
}
try
{
message = new byte[lengthBuffer.getInt()];
}
catch (NegativeArraySizeException e)
{
throw new IOException("Invalid array size for message " + Arrays
.toString(messageNum)
, e);
}
/*
* Writes the message
*/