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