handler.handle(new Callback[] { pc });
}
}
} else if (callbacks[i] instanceof WSParameterCallback) {
WSParameterCallback para = (WSParameterCallback) callbacks[i];
if (para.getProperty() == WSParameterCallback.KDC_DES_AES_FACTOR) {
if (config != null) {
KerberosConfig krbConfig = config.getKerberosConfig();
int factor = 0;
String fac = null;
if (krbConfig != null
&& (fac = krbConfig.getProp().getProperty(
KerberosConfig.KDC_DES_AES_FACTOR)) != null) {
try {
factor = Integer.parseInt(fac);
} catch (Exception e) {
factor = 0;
}
}
para.setIntValue(factor);
}
} else if (para.getProperty() == WSParameterCallback.SERVICE_PRINCIPLE_PASSWORD) {
if (config != null) {
KerberosConfig krbConfig = config.getKerberosConfig();
String password = null;
if (krbConfig != null
&& (password = krbConfig.getProp().getProperty(
KerberosConfig.SERVICE_PRINCIPLE_PASSWORD)) != null) {
para.setStringValue(password);
}
}
}
} else {
throw new UnsupportedCallbackException(callbacks[i], "Unrecognized Callback");