IBM Support

LO56885: SCREEN IS NOT REFRESHED WHEN OPENING A SWT WINDOW WITH AN AGENT

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • A window opened by SWT call from a Java agent does not
    refresh.
    
    Steps to Reproduce:
    1.  Create a new java agent in a notes database and paste in the
    code below.
    
    import java.awt.Rectangle;
    
    import java.awt.Toolkit;
    
    
    
    import org.eclipse.swt.SWT;
    
    import org.eclipse.swt.SWTError;
    
    import org.eclipse.swt.browser.Browser;
    
    import org.eclipse.swt.browser.LocationEvent;
    
    import org.eclipse.swt.browser.LocationListener;
    
    import org.eclipse.swt.browser.StatusTextEvent;
    
    import org.eclipse.swt.browser.StatusTextListener;
    
    import org.eclipse.swt.graphics.Point;
    
    import org.eclipse.swt.layout.FillLayout;
    
    import org.eclipse.swt.widgets.Display;
    
    import org.eclipse.swt.widgets.Event;
    
    import org.eclipse.swt.widgets.Listener;
    
    import org.eclipse.swt.widgets.Monitor;
    
    import org.eclipse.swt.widgets.Shell;
    
    
    
    
    
    import lotus.domino.*;
    
    public class JavaAgent extends AgentBase {
    
    
    
     void trace(String msg) {
    
      System.out.println(msg);
    
     }
    
    
    
      public void NotesMain() {
    
    
    
       boolean displayLeftToRight = true;
    
      // Construct SWT widgets
    
      Display display = new Display();
    
      // A modal dialog box
    
      int mode = 0;
    
      if (displayLeftToRight) {
    
       mode = SWT.DIALOG_TRIM | SWT.APPLICATION_MODAL | SWT.CENTER;
    
       trace("Display from left to right.");
    
      } else {
    
       mode = SWT.DIALOG_TRIM | SWT.APPLICATION_MODAL | SWT.CENTER
    
         | SWT.RIGHT_TO_LEFT;
    
       trace("Display from right to left.");
    
      }
    
    
    
      final Shell shell = new Shell(display, mode);
    
      shell.setLayout(new FillLayout());
    
      shell.setText("IBM InfoSphere Content Collector");
    
    
    
      // embedded browser
    
      final Browser browser;
    
      try {
    
       browser = new Browser(shell, SWT.NONE);
    
      } catch (SWTError e) {
    
       trace("Could not instantiate Browser: " + e.getMessage());
    
       return;
    
      }
    
    
    
                                  shell.setLocation(20,20);
    
      // prevent from moving
    
      final Point location = shell.getLocation();
    
      display.addFilter(SWT.Move, new Listener() {
    
       public void handleEvent(Event arg0) {
    
        if (!shell.getLocation().equals(location)) {
    
         shell.setLocation(location);
    
        }
    
       }
    
      });
    
    
    
      // redirect when detecting offline, only in local replica
    
      browser.addLocationListener(new LocationListener() {
    
    
    
       public void changed(LocationEvent arg0) {
    
        // TODO Auto-generated method stub
    
    
    
       }
    
    
    
       public void changing(LocationEvent arg0) {
    
        // TODO Auto-generated method stub
    
    
    
       }});
    
    
    
      // implement event handling function
    
      browser.addStatusTextListener(new StatusTextListener() {
    
    
    
       public void changed(StatusTextEvent arg0) {
    
        // TODO Auto-generated method stub
    
    
    
       }});
    
    
    
    
    
      String formURL = "www.google.com";
    
      /* Load an HTML document */
    
      // browser.setUrl(URL_ADD_DATA_FORM);
    
      trace("formURL" + formURL);
    
      browser.setUrl(formURL);
    
    
    
      shell.setSize(800, 700);
    
    
    
    
    
      shell.open();
    
      shell.forceActive();
    
      while (!shell.isDisposed()) {
    
       if (!display.readAndDispatch())
    
        display.sleep();
    
      }
    
      display.dispose();
    
    
    
      }
    
    }
    
    
    2.  Set the agent to run on 'On Event', 'Action Menu Selection'
    and Target to
    'None'.  Save & close the agent.
    3.  Open the database from notes client and run the agent
    created in previous
    steps.
    4.  Notice the new window that pops up, if you move it the notes
    client does
    not redraw/refresh.
    

Local fix

Problem summary

  • A programming error was found and will be corrected in a future
     release.
    

Problem conclusion

  • A programming error was found and will be corrected in a future
     release.
    

Temporary fix

Comments

  • This APAR is associated with SPR# CAPL83NPPY.
    

APAR Information

  • APAR number

    LO56885

  • Reported component name

    NOTES CLIENT

  • Reported component ID

    5724E6255

  • Reported release

    801

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2010-12-07

  • Closed date

    2011-01-07

  • Last modified date

    2011-01-07

  • APAR is sysrouted FROM one or more of the following:

  • APAR is sysrouted TO one or more of the following:

Fix information

  • Fixed component name

    NOTES CLIENT

  • Fixed component ID

    5724E6255

Applicable component levels

  • R801 PSN

       UP

[{"Business Unit":{"code":"BU055","label":"Cognitive Applications"},"Product":{"code":"SSKTWP","label":"Lotus Notes"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"8.0.1","Edition":"","Line of Business":{"code":"","label":""}}]

Document Information

Modified date:
07 January 2011