import javax.jcr.Node;
import javax.jcr.RepositoryException;
import javax.jcr.nodetype.NodeType;
-import javax.naming.InvalidNameException;
-import javax.naming.ldap.LdapName;
import javax.xml.namespace.QName;
import org.argeo.api.acr.Content;
import org.argeo.app.api.EntityNames;
import org.argeo.app.api.EntityType;
import org.argeo.app.api.RankedObject;
-import org.argeo.app.core.SuiteUtils;
import org.argeo.cms.AbstractCmsApp;
import org.argeo.cms.CmsUserManager;
import org.argeo.cms.LocaleUtils;
import org.argeo.cms.Localized;
import org.argeo.cms.acr.CmsContentRepository;
-import org.argeo.cms.acr.ContentUtils;
import org.argeo.cms.jcr.CmsJcrUtils;
import org.argeo.cms.jcr.acr.JcrContent;
import org.argeo.cms.swt.CmsSwtUtils;
import org.argeo.cms.ux.CmsUxUtils;
import org.argeo.eclipse.ui.specific.UiContext;
import org.argeo.jcr.JcrException;
-import org.argeo.osgi.useradmin.LdapNameUtils;
import org.argeo.osgi.useradmin.UserDirectory;
import org.argeo.util.LangUtils;
import org.eclipse.swt.SWT;
if (user == null)
return null;
UserDirectory userDirectory = cmsUserManager.getUserDirectory(user);
- path = CmsContentRepository.DIRECTORY_BASE + SLASH + userDirectory.getBasePath() + SLASH
- + LdapNameUtils.toRevertPath(username, userDirectory.getBasePath());
+ path = CmsContentRepository.DIRECTORY_BASE + SLASH + userDirectory.getGlobalId() + SLASH
+ + userDirectory.getRolePath(user);
node = contentSession.get(path);
// LdapName userDn;
// try {
User user = context.adapt(User.class);
if (user instanceof Group) {
- String cn = context.getName().getLocalPart().split("=")[1];
+ String cn = context.getName().getLocalPart();
Text cnT = SuiteUiUtils.addFormLine(main, "uid", getUserProperty(user, LdapAttrs.uid.name()));
cnT.setText(cn);
} else {
- String uid = context.getName().getLocalPart().split("=")[1];
+ String uid = context.getName().getLocalPart();
// Text givenName = new Text(main, SWT.SINGLE);
// givenName.setText(getUserProperty(user, LdapAttrs.givenName.name()));
import org.argeo.cms.ux.widgets.TabularPart;
import org.argeo.osgi.useradmin.HierarchyUnit;
import org.argeo.osgi.useradmin.UserDirectory;
+import org.argeo.util.LangUtils;
import org.eclipse.jface.window.Window;
import org.eclipse.jface.wizard.Wizard;
import org.eclipse.swt.SWT;
int index = getTree().indexOf(item);
UserDirectory directory = (UserDirectory) directories.get(index);
item.setData(directory);
- item.setText(directory.getBasePath());
+ item.setText(directory.getGlobalId());
- item.setItemCount(directory.getHierarchyChildCount());
+ item.setItemCount(LangUtils.size(directory.getRootHierarchyUnits()));
}
@Override
protected void refreshItem(TreeItem parentItem, TreeItem item) {
int index = getTree().indexOf(item);
- HierarchyUnit parent = (HierarchyUnit) parentItem.getData();
- HierarchyUnit child = parent.getHierarchyChild(index);
+ Iterable<HierarchyUnit> children;
+ if (parentItem.getData() instanceof UserDirectory)
+ children = ((UserDirectory) parentItem.getData()).getRootHierarchyUnits();
+ else
+ children = ((HierarchyUnit) parentItem.getData()).getDirectHierachyUnits();
+ HierarchyUnit child = LangUtils.getAt(children, index);
item.setData(child);
item.setText(child.getHierarchyUnitName());
- item.setItemCount(child.getHierarchyChildCount());
+ item.setItemCount(LangUtils.size(child.getDirectHierachyUnits()));
}
@Override
HierarchyUnit hu = (HierarchyUnit) getInput();
if (hu == null)
return 0;
- roles = hu.getRoles(null, false);
+ roles = hu.getHierarchyUnitRoles(null, false);
return roles.size();
}
// CONTROLLER
directoriesView.onSelected((o) -> {
- HierarchyUnit hu = (HierarchyUnit) o;
- usersView.setInput(hu);
+ if (o instanceof HierarchyUnit) {
+ usersView.setInput((HierarchyUnit) o);
+ }
});
usersView.onSelected((o) -> {