jdk/src/solaris/classes/sun/awt/X11/XEmbedServerTester.java
changeset 3938 ef327bd847c0
parent 439 3488710b02f8
child 5506 202f599c92aa
equal deleted inserted replaced
3934:487e1aa949c4 3938:ef327bd847c0
    26 package sun.awt.X11;
    26 package sun.awt.X11;
    27 
    27 
    28 //import static sun.awt.X11.XEmbed.*;
    28 //import static sun.awt.X11.XEmbed.*;
    29 import java.awt.*;
    29 import java.awt.*;
    30 import java.awt.event.*;
    30 import java.awt.event.*;
    31 import java.util.logging.*;
    31 import sun.util.logging.PlatformLogger;
    32 import static sun.awt.X11.XConstants.*;
    32 import static sun.awt.X11.XConstants.*;
    33 import java.util.LinkedList;
    33 import java.util.LinkedList;
    34 
    34 
    35 /**
    35 /**
    36  * Test XEmbed server implementation. See file:///home/dom/bugs/4931668/test_plan.html for
    36  * Test XEmbed server implementation. See file:///home/dom/bugs/4931668/test_plan.html for
    37  * specification and references.
    37  * specification and references.
    38  */
    38  */
    39 public class XEmbedServerTester implements XEventDispatcher {
    39 public class XEmbedServerTester implements XEventDispatcher {
    40     private static final Logger xembedLog = Logger.getLogger("sun.awt.X11.xembed.XEmbedServerTester");
    40     private static final PlatformLogger xembedLog = PlatformLogger.getLogger("sun.awt.X11.xembed.XEmbedServerTester");
    41     private final Object EVENT_LOCK = new Object();
    41     private final Object EVENT_LOCK = new Object();
    42     static final int SYSTEM_EVENT_MASK = 0x8000;
    42     static final int SYSTEM_EVENT_MASK = 0x8000;
    43     int my_version, server_version;
    43     int my_version, server_version;
    44     XEmbedHelper xembed = new XEmbedHelper();
    44     XEmbedHelper xembed = new XEmbedHelper();
    45     boolean focused;
    45     boolean focused;
   542             eventWaited = event;
   542             eventWaited = event;
   543             xembedLog.finer("Waiting for " + XEmbedHelper.msgidToString(event) + " starting from " + position);
   543             xembedLog.finer("Waiting for " + XEmbedHelper.msgidToString(event) + " starting from " + position);
   544             try {
   544             try {
   545                 EVENT_LOCK.wait(3000);
   545                 EVENT_LOCK.wait(3000);
   546             } catch (InterruptedException ie) {
   546             } catch (InterruptedException ie) {
   547                 xembedLog.log(Level.WARNING, "Event wait interrupted", ie);
   547                 xembedLog.warning("Event wait interrupted", ie);
   548             }
   548             }
   549             eventWaited = -1;
   549             eventWaited = -1;
   550             if (checkEventList(position, event) == -1) {
   550             if (checkEventList(position, event) == -1) {
   551                 dumpReceivedEvents();
   551                 dumpReceivedEvents();
   552                 throw new RuntimeException("Didn't receive event " + XEmbedHelper.msgidToString(event) + " but recevied " + XEmbedHelper.msgidToString(eventReceived));
   552                 throw new RuntimeException("Didn't receive event " + XEmbedHelper.msgidToString(event) + " but recevied " + XEmbedHelper.msgidToString(eventReceived));
   632 
   632 
   633     public void dispatchEvent(XEvent ev) {
   633     public void dispatchEvent(XEvent ev) {
   634         if (ev.get_type() == ClientMessage) {
   634         if (ev.get_type() == ClientMessage) {
   635             XClientMessageEvent msg = ev.get_xclient();
   635             XClientMessageEvent msg = ev.get_xclient();
   636             if (msg.get_message_type() == xembed.XEmbed.getAtom()) {
   636             if (msg.get_message_type() == xembed.XEmbed.getAtom()) {
   637                 if (xembedLog.isLoggable(Level.FINE)) xembedLog.fine("Embedded message: " + XEmbedHelper.msgidToString((int)msg.get_data(1)));
   637                 if (xembedLog.isLoggable(PlatformLogger.FINE)) xembedLog.fine("Embedded message: " + XEmbedHelper.msgidToString((int)msg.get_data(1)));
   638                 switch ((int)msg.get_data(1)) {
   638                 switch ((int)msg.get_data(1)) {
   639                   case XEmbedHelper.XEMBED_EMBEDDED_NOTIFY: // Notification about embedding protocol start
   639                   case XEmbedHelper.XEMBED_EMBEDDED_NOTIFY: // Notification about embedding protocol start
   640                       xembedActive = true;
   640                       xembedActive = true;
   641                       server_version = (int)msg.get_data(3);
   641                       server_version = (int)msg.get_data(3);
   642                       break;
   642                       break;