public String GetDebugPort(String cluster, String server)
{
XPathNodeIterator jvmArgs
= _docNavigator.Select("caucho:resin/caucho:cluster[@id='" + cluster + "']/caucho:server[@id='" + server + "']/caucho:jvm-arg/text()", _xmlnsMgr);
String debug = null;
int addressIndex = -1;
while (jvmArgs.MoveNext()) {
String value = jvmArgs.Current.Value;
addressIndex = value.IndexOf("address=");
if (addressIndex > -1)
debug = value;
}
if (debug == null) {
jvmArgs = _docNavigator.Select("caucho:resin/caucho:cluster[@id='" + cluster + "']/caucho:server-default/caucho:jvm-arg/text()", _xmlnsMgr);
while (jvmArgs.MoveNext()) {
String value = jvmArgs.Current.Value;
addressIndex = value.IndexOf("address=");
if (addressIndex > -1)
debug = value;
}
}
if (debug == null)
return debug;
StringBuilder sb = new StringBuilder();
for (int i = addressIndex + 8; i < debug.Length; i++) {
if (Char.IsDigit(debug[i]))
sb.Append(debug[i]);
else if (sb.Length > 0)
break;
}
if (sb.Length > 0)
return sb.ToString();
else
return null;
}