From: Mathieu Baudier Date: Mon, 20 Jun 2022 08:32:27 +0000 (+0200) Subject: Adapt to changes in Argeo Commons X-Git-Tag: v2.3.8~92 X-Git-Url: https://git.argeo.org/?p=gpl%2Fargeo-suite.git;a=commitdiff_plain;h=247704a6b37b93db0d03aa4c8eeba97cfab004eb Adapt to changes in Argeo Commons --- diff --git a/org.argeo.app.ui/src/org/argeo/app/ui/SuiteApp.java b/org.argeo.app.ui/src/org/argeo/app/ui/SuiteApp.java index 2298145..63e3324 100644 --- a/org.argeo.app.ui/src/org/argeo/app/ui/SuiteApp.java +++ b/org.argeo.app.ui/src/org/argeo/app/ui/SuiteApp.java @@ -17,8 +17,6 @@ import java.util.TreeSet; 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; @@ -34,13 +32,11 @@ import org.argeo.app.api.EntityConstants; 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; @@ -49,7 +45,6 @@ import org.argeo.cms.ui.CmsUiProvider; 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; @@ -580,8 +575,8 @@ public class SuiteApp extends AbstractCmsApp implements EventHandler { 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 { diff --git a/org.argeo.app.ui/src/org/argeo/app/ui/people/PersonUiProvider.java b/org.argeo.app.ui/src/org/argeo/app/ui/people/PersonUiProvider.java index 4cf2294..5814efe 100644 --- a/org.argeo.app.ui/src/org/argeo/app/ui/people/PersonUiProvider.java +++ b/org.argeo.app.ui/src/org/argeo/app/ui/people/PersonUiProvider.java @@ -34,12 +34,12 @@ public class PersonUiProvider implements CmsUiProvider { 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())); diff --git a/org.argeo.app.ui/src/org/argeo/app/ui/people/UsersEntryArea.java b/org.argeo.app.ui/src/org/argeo/app/ui/people/UsersEntryArea.java index 6d64fbc..589ecd8 100644 --- a/org.argeo.app.ui/src/org/argeo/app/ui/people/UsersEntryArea.java +++ b/org.argeo.app.ui/src/org/argeo/app/ui/people/UsersEntryArea.java @@ -26,6 +26,7 @@ import org.argeo.cms.ux.widgets.HierarchicalPart; 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; @@ -69,19 +70,23 @@ public class UsersEntryArea implements SwtUiProvider, CmsUiProvider { 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 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 @@ -107,7 +112,7 @@ public class UsersEntryArea implements SwtUiProvider, CmsUiProvider { HierarchyUnit hu = (HierarchyUnit) getInput(); if (hu == null) return 0; - roles = hu.getRoles(null, false); + roles = hu.getHierarchyUnitRoles(null, false); return roles.size(); } @@ -127,8 +132,9 @@ public class UsersEntryArea implements SwtUiProvider, CmsUiProvider { // CONTROLLER directoriesView.onSelected((o) -> { - HierarchyUnit hu = (HierarchyUnit) o; - usersView.setInput(hu); + if (o instanceof HierarchyUnit) { + usersView.setInput((HierarchyUnit) o); + } }); usersView.onSelected((o) -> {