COMPOSITE APPLICATIONS - DESIGN AND MANAGEMENT
Overview
You can use Lotus Expeditor Toolkit, an Eclipse integrated development environment (IDE), or Rational Application Developer to build Eclipse components. Composite applications accessed by Notes can include combinations of NSF components and Eclipse components. These components then interact via inter-component communication supported by the property broker.
Building an Eclipse component includes the following procedures:
It is necessary that you create your Java(TM) plug-in components and then associate the plug-ins in an Eclipse feature project. Once this is done, it is important that you create or update an update site project. This is an Eclipse project and the output of this project can be hosted on a HTTP server. In the IBM Lotus Notes environment, features and plug-ins are updated and provisioned from the update site location.
You can develop Eclipse components for use in a composite application as presented below:
<plugin>
<extension
id="loadURLAction"
name="Load A URL into Our Window"
point="com.ibm.rcp.propertybroker.PropertyBrokerAction">
<action
active="true"
class=
"com.ibm.pvc.samples.propertybroker.browser.LoadURLAction"
file="loadurlaction.wsdl"/>
</extension>
...
</plugin>
Note For more complete information, refer to the IBM Lotus Expeditor toolkit documentation.
import org.eclipse.core.commands.ExecutionEvent;
import com.ibm.rcp.propertybroker.event.*;
import com.ibm.rcp.propertybroker.property.*;
public class YourAction extends AbstractHandler {
public Object execute(ExecutionEvent arg0) throws ExecutionException {
Object event = arg0.getTrigger();
if (event instanceof PropertyChangeEvent){
PropertyChangeEvent e = (PropertyChangeEvent)event;
PropertyValue propValue = e.getPropertyValue();
if(propValue.getProperty().getType().equalsIgnoreCase("employeeName")) {
String employee = (String)propValue.getValue();
// do something
}
} return null; } }
String selectedEntry = ...;
PropertyBroker broker = PropertyBrokerFactory.getBroker();)
PropertyValue[] values = new PropertyValue[1];
SimpleProperty sProp = new SimpleProperty(selectedEntry);
Property property = broker.getProperty( "http://www.ibm.com/notes/pb/sample", "Subject");
values[0] = PropertyFactory.createPropertyValue(property, sProp);
broker.changedProperties(values);