import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
+import java.net.SocketException;
import java.text.DateFormatSymbols;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
+import org.apache.catalina.connector.ClientAbortException;
+
import com.itmill.toolkit.Application;
import com.itmill.toolkit.Application.WindowAttachEvent;
import com.itmill.toolkit.Application.WindowDetachEvent;
public void takeControl() {
application.addListener((Application.WindowAttachListener) this);
application.addListener((Application.WindowDetachListener) this);
-
}
/**
out.flush();
out.close();
-
+ } catch (ClientAbortException e) {
+ // Most likely client browser closed socket
+ System.err
+ .println("Warning: ClientAbortException in ApplicationServlet");
+ } catch (SocketException e) {
+ // Most likely client browser closed socket
+ System.err
+ .println("Warning: SocketException in ApplicationServlet");
} catch (final Throwable e) {
e.printStackTrace();
// Writes the error report to client
}
public synchronized boolean hasPaintableId(Paintable paintable) {
-
return paintableIdMap.containsKey(paintable);
}