}
}
SecurityService securityService = config.getSecurityService();
try {
List<JaccProvider> jaccProviders = securityService.getJaccProvider();
JaccProvider jprov = null;
for (JaccProvider jaccProv : jaccProviders) {
if (jaccProv.getName().equals(jaccprovider)) {
jprov = jaccProv;
break;
}
}
if (jprov == null) {
report.setMessage(localStrings.getLocalString(
"delete.jacc.provider.notfound",
"JaccProvider named {0} not found", jaccprovider));
report.setActionExitCode(ActionReport.ExitCode.FAILURE);
return;
}
if ("default".equals(jprov.getName())
|| "simple".equals(jprov.getName())) {
report.setMessage(localStrings.getLocalString(
"delete.jacc.provider.notallowed",
"JaccProvider named {0} is a system provider and cannot be deleted", jaccprovider));
report.setActionExitCode(ActionReport.ExitCode.FAILURE);
return;
}
final JaccProvider jaccprov = jprov;
ConfigSupport.apply(new SingleConfigCode<SecurityService>() {
public Object run(SecurityService param)
throws PropertyVetoException, TransactionFailure {
param.getJaccProvider().remove(jaccprov);
return null;