//
// for every property in the resource's ws-rp doc, create a property
// change listener that will send out notifications for each change
//
WsResource resource = getWsResource();
ResourcePropertyCollection props = resource.getPropertyCollection();
Iterator i = props.getPropertyNames().iterator();
while (i.hasNext())
{
QName name = (QName)i.next();
addTopic(name);
PropertyChangeListener listener = factory.newInstance(name, resource);
props.addChangeListener(listener);
}
//
// if the resource supports either WS-RL capability, add support
// for the WS-RL termination topic
//
if (resource.hasCapability(WsrlConstants.IMMEDIATE_TERMINATION_URI) ||
resource.hasCapability(WsrlConstants.SCHEDULED_TERMINATION_URI))
addTopic(WsrlConstants.TERMINATION_TOPIC_QNAME);
//
// read all of the wsnt:TopicExpression values from the RMD doc
// and make sure we create Topic objects for them
//
MetadataDescriptor rmd = props.getMetadata();
if (rmd.hasProperty(WsnConstants.TOPIC_EXPRESSION_QNAME))
{
Collection[] values = new Collection[2];
values[0] = rmd.getInitialValues(WsnConstants.TOPIC_EXPRESSION_QNAME);