OMElement propEle = (OMElement) iter.next();
OMAttribute attName = propEle.getAttribute(MediatorProperty.ATT_NAME_Q);
OMAttribute attValue = propEle.getAttribute(MediatorProperty.ATT_VALUE_Q);
OMAttribute attExpr = propEle.getAttribute(MediatorProperty.ATT_EXPR_Q);
MediatorProperty prop = new MediatorProperty();
if (attName == null || attName.getAttributeValue() == null ||
attName.getAttributeValue().trim().length() == 0) {
String msg = "Entry name is a required attribute for a Log property";
log.error(msg);
throw new SynapseException(msg);
} else {
prop.setName(attName.getAttributeValue());
}
// if a value is specified, use it, else look for an expression
if (attValue != null) {
if (attValue.getAttributeValue() == null ||
attValue.getAttributeValue().trim().length() == 0) {
String msg = "Entry attribute value (if specified) " +
"is required for a Log property";
log.error(msg);
throw new SynapseException(msg);
} else {
prop.setValue(attValue.getAttributeValue());
}
} else if (attExpr != null) {
if (attExpr.getAttributeValue() == null ||
attExpr.getAttributeValue().trim().length() == 0) {
String msg = "Entry attribute expression (if specified) " +
"is required for a mediator property";
log.error(msg);
throw new SynapseException(msg);
} else {
try {
prop.setExpression(SynapseXPathFactory.getSynapseXPath(
propEle, MediatorProperty.ATT_EXPR_Q));
} catch (JaxenException e) {
String msg = "Invalid XPapth expression : " + attExpr.getAttributeValue();
log.error(msg);