Version 3.1.4: error handling for traces in Server
[nikiroo-utils.git] / src / be / nikiroo / utils / serial / server / ServerString.java
index 4a185da50baf3ae03190a3e0d3b64c09bbbf285c..78436813f584a1220c6bf478f3f567a072e15b24 100644 (file)
@@ -56,36 +56,25 @@ abstract public class ServerString extends Server {
                return new ConnectActionServerString(s) {
                        @Override
                        public void action(Version clientVersion) throws Exception {
-                               try {
-                                       for (String data = rec(); data != null; data = rec()) {
-                                               String rep = null;
-                                               try {
-                                                       rep = onRequest(this, clientVersion, data);
-                                               } catch (Exception e) {
-                                                       onError(e);
-                                               }
-
-                                               if (rep == null) {
-                                                       rep = "";
-                                               }
+                               for (String data = rec(); data != null; data = rec()) {
+                                       String rep = null;
+                                       try {
+                                               rep = onRequest(this, clientVersion, data);
+                                       } catch (Exception e) {
+                                               onError(e);
+                                       }
 
-                                               send(rep);
+                                       if (rep == null) {
+                                               rep = "";
                                        }
-                               } catch (NullPointerException e) {
-                                       // Client has no data any more, we quit
-                                       getTraceHandler()
-                                                       .trace(getName()
-                                                                       + ": client has data no more, stopping connection");
+
+                                       send(rep);
                                }
                        }
 
                        @Override
-                       public void connect() {
-                               try {
-                                       super.connect();
-                               } finally {
-                                       count(-1);
-                               }
+                       protected void onError(Exception e) {
+                               getTraceHandler().error(e);
                        }
                };
        }