String eventAttributeValue = attributes.getValue("", "event");
String actionAttributeValue = attributes.getValue("", "action");
if (eventAttributeValue == null) {
throw new XDIMEException("No event attribute.");
}
if (actionAttributeValue == null) {
throw new XDIMEException("No action attribute.");
}
HandlerAttributes handlerAttributes = (HandlerAttributes) protocolAttributes;
handlerAttributes.setEventReference(new EventReferenceImpl(eventAttributeValue));
handlerAttributes.setActionReference(new ActionReferenceImpl(actionAttributeValue));
// Initialize isEnabled attribute.
String isEnabledAttribute = attributes.getValue("", "is-enabled");
if (isEnabledAttribute != null
&& !isEnabledAttribute.equals("yes")
&& !isEnabledAttribute.equals("no")) {
throw new XDIMEException("Invalid value for is-enabled attribute.");
}
handlerAttributes.setEnabled(isEnabledAttribute == null || isEnabledAttribute.equals("yes"));
}