import javax.naming.ldap.LdapName;
import javax.naming.ldap.Rdn;
-import org.argeo.ArgeoException;
+import org.argeo.cms.CmsException;
+import org.argeo.cms.util.useradmin.UserAdminUtils;
import org.argeo.eclipse.ui.EclipseUiUtils;
import org.argeo.eclipse.ui.dialogs.ErrorFeedback;
import org.argeo.jcr.ArgeoNames;
import org.argeo.osgi.useradmin.LdifName;
import org.argeo.osgi.useradmin.UserAdminConf;
import org.argeo.security.ui.admin.SecurityAdminPlugin;
-import org.argeo.security.ui.admin.internal.UiAdminUtils;
import org.argeo.security.ui.admin.internal.UserAdminWrapper;
import org.eclipse.core.commands.AbstractHandler;
import org.eclipse.core.commands.ExecutionEvent;
if (!canFinish())
return false;
String username = mainUserInfo.getUsername();
+ userAdminWrapper.beginTransactionIfNeeded();
try {
- userAdminWrapper.beginTransactionIfNeeded();
User user = (User) userAdminWrapper.getUserAdmin().createRole(
getDn(username), Role.USER);
Dictionary props = user.getProperties();
String lastNameStr = lastNameTxt.getText();
- if (UiAdminUtils.notNull(lastNameStr))
+ if (EclipseUiUtils.notEmpty(lastNameStr))
props.put(LdifName.sn.name(), lastNameStr);
String firstNameStr = firstNameTxt.getText();
- if (UiAdminUtils.notNull(firstNameStr))
+ if (EclipseUiUtils.notEmpty(firstNameStr))
props.put(LdifName.givenName.name(), firstNameStr);
- String cn = UiAdminUtils
- .getDefaultCn(firstNameStr, lastNameStr);
- if (UiAdminUtils.notNull(cn))
+ String cn = UserAdminUtils.buildDefaultCn(firstNameStr,
+ lastNameStr);
+ if (EclipseUiUtils.notEmpty(cn))
props.put(LdifName.cn.name(), cn);
String mailStr = primaryMailTxt.getText();
- if (UiAdminUtils.notNull(mailStr))
+ if (EclipseUiUtils.notEmpty(mailStr))
props.put(LdifName.mail.name(), mailStr);
char[] password = mainUserInfo.getPassword();
user.getCredentials().put(null, password);
-
+ userAdminWrapper.commitOrNotifyTransactionStateChange();
userAdminWrapper.notifyListeners(new UserAdminEvent(null,
UserAdminEvent.ROLE_CREATED, user));
return true;
private void initialiseDnCmb(Combo combo) {
Map<String, String> dns = userAdminWrapper.getKnownBaseDns(true);
if (dns.isEmpty())
- throw new ArgeoException(
+ throw new CmsException(
"No writable base dn found. Cannot create user");
combo.setItems(dns.keySet().toArray(new String[0]));
if (dns.size() == 1)
return username + "@" + (String) rdns.get(1).getValue() + '.'
+ (String) rdns.get(0).getValue();
} catch (InvalidNameException e) {
- throw new ArgeoException("Unable to generate mail for "
+ throw new CmsException("Unable to generate mail for "
+ username + " with base dn " + baseDn, e);
}
}