if (DataSource.Tag.forName(reader.getLocalName()) == DataSource.Tag.TIMEOUT) {
return;
} else {
if (TimeOut.Tag.forName(reader.getLocalName()) == TimeOut.Tag.UNKNOWN) {
throw new ParserException(bundle.unexpectedEndTag(reader.getLocalName()));
}
}
break;
}
case START_ELEMENT: {
switch (TimeOut.Tag.forName(reader.getLocalName())) {
case ALLOCATION_RETRY: {
String value = rawElementText(reader);
ALLOCATION_RETRY.parseAndSetParameter(value, operation, reader);
break;
}
case ALLOCATION_RETRY_WAIT_MILLIS: {
String value = rawElementText(reader);
ALLOCATION_RETRY_WAIT_MILLIS.parseAndSetParameter(value, operation, reader);
break;
}
case BLOCKING_TIMEOUT_MILLIS: {
String value = rawElementText(reader);
BLOCKING_TIMEOUT_WAIT_MILLIS.parseAndSetParameter(value, operation, reader);
break;
}
case IDLE_TIMEOUT_MINUTES: {
String value = rawElementText(reader);
IDLETIMEOUTMINUTES.parseAndSetParameter(value, operation, reader);
break;
}
case QUERY_TIMEOUT: {
String value = rawElementText(reader);
QUERY_TIMEOUT.parseAndSetParameter(value, operation, reader);
break;
}
case SET_TX_QUERY_TIMEOUT: {
//tag presence is sufficient to set it to true
String value = rawElementText(reader);
value = value == null ? "true" : value;
SET_TX_QUERY_TIMEOUT.parseAndSetParameter(value, operation, reader);
break;
}
case USE_TRY_LOCK: {
String value = rawElementText(reader);
USE_TRY_LOCK.parseAndSetParameter(value, operation, reader);
break;
}
case XA_RESOURCE_TIMEOUT: {
String value = rawElementText(reader);
XA_RESOURCE_TIMEOUT.parseAndSetParameter(value, operation, reader);
break;
}
default:
throw new ParserException(bundle.unexpectedElement(reader.getLocalName()));
}
break;
}
}
}
throw new ParserException(bundle.unexpectedEndOfDocument());
}