Index: /trunk/autoquest-htmlmonitor/src/main/java/de/ugoe/cs/autoquest/htmlmonitor/HtmlMonitorLogManager.java
===================================================================
--- /trunk/autoquest-htmlmonitor/src/main/java/de/ugoe/cs/autoquest/htmlmonitor/HtmlMonitorLogManager.java	(revision 871)
+++ /trunk/autoquest-htmlmonitor/src/main/java/de/ugoe/cs/autoquest/htmlmonitor/HtmlMonitorLogManager.java	(revision 872)
@@ -24,4 +24,7 @@
 class HtmlMonitorLogManager implements HtmlMonitorComponent, HtmlMonitorMessageListener {
     
+    /**  */
+    private static final long serialVersionUID = 1L;
+
     /**
      * the timeout after which a writer of an inactive client is closed
Index: /trunk/autoquest-htmlmonitor/src/main/java/de/ugoe/cs/autoquest/htmlmonitor/HtmlMonitorMessageListener.java
===================================================================
--- /trunk/autoquest-htmlmonitor/src/main/java/de/ugoe/cs/autoquest/htmlmonitor/HtmlMonitorMessageListener.java	(revision 871)
+++ /trunk/autoquest-htmlmonitor/src/main/java/de/ugoe/cs/autoquest/htmlmonitor/HtmlMonitorMessageListener.java	(revision 872)
@@ -1,3 +1,5 @@
 package de.ugoe.cs.autoquest.htmlmonitor;
+
+import java.io.Serializable;
 
 /**
@@ -9,5 +11,5 @@
  * @author Patrick Harms
  */
-public interface HtmlMonitorMessageListener {
+public interface HtmlMonitorMessageListener extends Serializable {
 
     /**
Index: /trunk/autoquest-htmlmonitor/src/main/java/de/ugoe/cs/autoquest/htmlmonitor/HtmlMonitorOutputWriter.java
===================================================================
--- /trunk/autoquest-htmlmonitor/src/main/java/de/ugoe/cs/autoquest/htmlmonitor/HtmlMonitorOutputWriter.java	(revision 871)
+++ /trunk/autoquest-htmlmonitor/src/main/java/de/ugoe/cs/autoquest/htmlmonitor/HtmlMonitorOutputWriter.java	(revision 872)
@@ -8,4 +8,6 @@
 import java.io.PrintWriter;
 import java.text.DecimalFormat;
+
+import de.ugoe.cs.util.console.Console;
 
 /**
@@ -30,4 +32,7 @@
 public class HtmlMonitorOutputWriter implements HtmlMonitorComponent, HtmlMonitorMessageListener {
     
+    /**  */
+    private static final long serialVersionUID = 1L;
+
     /**
      * the maximum size of an individual log file
@@ -102,5 +107,8 @@
             
                 if (!clientLogDir.exists()) {
-                    clientLogDir.mkdirs();
+                    if (!clientLogDir.mkdirs()) {
+                        throw new HtmlMonitorException("client log file directory " + clientLogDir +
+                                                       " can not be created");
+                    }
                 }
                 else if (!clientLogDir.isDirectory()) {
@@ -278,7 +286,12 @@
         while (checkFile.exists());
     
-        logFile.renameTo(checkFile);
-        logFileIndex++;
-        logFile = new File(clientLogDir, getLogFileName(-1));
+        if (!logFile.renameTo(checkFile)) {
+            Console.printerrln("could not rename log file " + logFile + " to " + checkFile +
+                               ". Will not perform log rotation.");
+        }
+        else {
+            logFileIndex++;
+            logFile = new File(clientLogDir, getLogFileName(-1));
+        }
     }
 
Index: /trunk/autoquest-htmlmonitor/src/main/java/de/ugoe/cs/autoquest/htmlmonitor/HtmlMonitorServlet.java
===================================================================
--- /trunk/autoquest-htmlmonitor/src/main/java/de/ugoe/cs/autoquest/htmlmonitor/HtmlMonitorServlet.java	(revision 871)
+++ /trunk/autoquest-htmlmonitor/src/main/java/de/ugoe/cs/autoquest/htmlmonitor/HtmlMonitorServlet.java	(revision 872)
@@ -62,5 +62,6 @@
         Object value = null;
         try {
-            value = JSONValue.parseWithException(new InputStreamReader(request.getInputStream()));
+            value = JSONValue.parseWithException
+                (new InputStreamReader(request.getInputStream(), "UTF-8"));
             
             if (!(value instanceof JSONObject)) {
@@ -325,5 +326,5 @@
             else if ((int.class.equals(clazz)) || (Integer.class.equals(clazz))) {
                 try {
-                    result = (T) new Integer(Integer.parseInt((String) value));
+                    result = (T) Integer.valueOf(Integer.parseInt((String) value));
                 }
                 catch (NumberFormatException e) {
@@ -334,5 +335,5 @@
             else if ((long.class.equals(clazz)) || (Long.class.equals(clazz))) {
                 try {
-                    result = (T) new Long(Long.parseLong((String) value));
+                    result = (T) Long.valueOf(Long.parseLong((String) value));
                 }
                 catch (NumberFormatException e) {
