if (XaDataSource.Tag.forName(reader.getLocalName()) == XaDataSource.Tag.XA_POOL) {
return;
//it's fine. Do nothing
} else {
if (DsXaPool.Tag.forName(reader.getLocalName()) == DsXaPool.Tag.UNKNOWN) {
throw new ParserException(bundle.unexpectedEndTag(reader.getLocalName()));
}
}
break;
}
case START_ELEMENT: {
switch (DsXaPool.Tag.forName(reader.getLocalName())) {
case MAX_POOL_SIZE: {
String value = rawElementText(reader);
MAX_POOL_SIZE.parseAndSetParameter(value, operation, reader);
break;
}
case INITIAL_POOL_SIZE: {
String value = rawElementText(reader);
INITIAL_POOL_SIZE.parseAndSetParameter(value, operation, reader);
break;
}
case MIN_POOL_SIZE: {
String value = rawElementText(reader);
MIN_POOL_SIZE.parseAndSetParameter(value, operation, reader);
break;
}
case PREFILL: {
String value = rawElementText(reader);
POOL_PREFILL.parseAndSetParameter(value, operation, reader);
break;
}
case USE_STRICT_MIN: {
String value = rawElementText(reader);
POOL_USE_STRICT_MIN.parseAndSetParameter(value, operation, reader);
break;
}
case FLUSH_STRATEGY: {
String value = rawElementText(reader);
POOL_FLUSH_STRATEGY.parseAndSetParameter(value, operation, reader);
break;
}
case ALLOW_MULTIPLE_USERS: {
String value = rawElementText(reader);
ALLOW_MULTIPLE_USERS.parseAndSetParameter(value, operation, reader);
break;
}
case CONNECTION_LISTENER: {
parseExtension(reader, reader.getLocalName(), operation, CONNECTION_LISTENER_CLASS, CONNECTION_LISTENER_PROPERTIES);
break;
}
case INTERLEAVING: {
//tag presence is sufficient to set it to true
String value = rawElementText(reader);
value = value == null ? "true" : value;
INTERLEAVING.parseAndSetParameter(value, operation, reader);
break;
}
case IS_SAME_RM_OVERRIDE: {
String value = rawElementText(reader);
SAME_RM_OVERRIDE.parseAndSetParameter(value, operation, reader);
break;
}
case NO_TX_SEPARATE_POOLS: {
//tag presence is sufficient to set it to true
String value = rawElementText(reader);
value = value == null ? "true" : value;
NO_TX_SEPARATE_POOL.parseAndSetParameter(value, operation, reader);
break;
}
case PAD_XID: {
String value = rawElementText(reader);
PAD_XID.parseAndSetParameter(value, operation, reader);
break;
}
case WRAP_XA_RESOURCE: {
String value = rawElementText(reader);
WRAP_XA_RESOURCE.parseAndSetParameter(value, operation, reader);
break;
}
case CAPACITY: {
parseCapacity(reader, operation);
break;
}
default:
throw new ParserException(bundle.unexpectedElement(reader.getLocalName()));
}
break;
}
}
}
throw new ParserException(bundle.unexpectedEndOfDocument());
}