+
+ private String getDn(String uid) {
+ return "uid=" + uid + ",ou=users," + baseDnCmb.getText();
+ }
+
+ private void initialiseDnCmb(Combo combo) {
+ List<String> dns = userAdminWrapper.getKnownBaseDns(true);
+ if (dns.isEmpty())
+ throw new ArgeoException(
+ "No writable base dn found. Cannot create user");
+ combo.setItems(dns.toArray(new String[0]));
+ // combo.select(0);
+ }
+
+ private String getMail(String username) {
+ if (baseDnCmb.getSelectionIndex() == -1)
+ return null;
+ String baseDn = baseDnCmb.getText();
+ try {
+ LdapName name = new LdapName(baseDn);
+ List<Rdn> rdns = name.getRdns();
+ return username + "@" + (String) rdns.get(1).getValue() + '.'
+ + (String) rdns.get(0).getValue();
+ } catch (InvalidNameException e) {
+ throw new ArgeoException("Unable to generate mail for "
+ + username + " with base dn " + baseDn, e);
+ }
+ }
+
+ }
+
+ private Combo createGridLC(Composite parent, String label,
+ ModifyListener modifyListener) {
+ Label lbl = new Label(parent, SWT.LEAD);
+ lbl.setText(label);
+ lbl.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false));
+ Combo combo = new Combo(parent, SWT.LEAD | SWT.BORDER | SWT.READ_ONLY);
+ combo.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));
+ if (modifyListener != null)
+ combo.addModifyListener(modifyListener);
+ return combo;