public RMHandler getHandler() {
return handler;
}
public RMAssertionType getRMAssertion() {
RMAssertionType a = getHandler().getConfiguration()
.getObject(RMAssertionType.class, RMASSERTION_PROPERTY_NAME);
// the following should not be necessary as the rm handler configuration metadata
// supplies a default value for the RMAssertion
if (null == a) {
a = RMUtils.getWSRMPolicyFactory().createRMAssertionType();
RMUtils.getWSRMPolicyFactory().createRMAssertionType();
}
if (null == a.getBaseRetransmissionInterval()) {
BaseRetransmissionInterval bri =
RMUtils.getWSRMPolicyFactory().createRMAssertionTypeBaseRetransmissionInterval();
bri.setMilliseconds(new BigInteger(RetransmissionQueue.DEFAULT_BASE_RETRANSMISSION_INTERVAL));
a.setBaseRetransmissionInterval(bri);
}
if (null == a.getExponentialBackoff()) {
ExponentialBackoff eb =
RMUtils.getWSRMPolicyFactory().createRMAssertionTypeExponentialBackoff();
a.setExponentialBackoff(eb);
}
Map<QName, String> otherAttributes = a.getExponentialBackoff().getOtherAttributes();
String val = otherAttributes.get(RetransmissionQueue.EXPONENTIAL_BACKOFF_BASE_ATTR);
if (null == val) {
otherAttributes.put(RetransmissionQueue.EXPONENTIAL_BACKOFF_BASE_ATTR,
RetransmissionQueue.DEFAULT_EXPONENTIAL_BACKOFF);
}