/** * @param userId * @return User * @throws Exception */ public UserDetail getUserDetail(String userId) throws Exception { UserDetail ud = null; try { // Set the OrganizationSchema (if not already done) getOrganizationSchema(); // Get the user information UserRow ur = getOrganization().user.getUser(idAsInt(userId)); if (ur == null) { throw new AdminException( "DomainDriverManager.getUser", SilverpeasException.ERROR, "admin.EX_ERR_USER_NOT_FOUND", "user Id: '" + userId + "'"); } // Get a DomainDriver instance DomainDriver domainDriver = this.getDomainDriver(ur.domainId); // Get User detail from specific domain try { ud = domainDriver.getUser(ur.specificId); } catch (AdminException e) { SilverTrace.error( "admin", "DomainDriverManager.getUser", "admin.MSG_ERR_GET_USER", "user Id: '" + userId + "', domain Id: '" + ur.domainId + "'", e); ud = new UserDetail(); ud.setLogin(ur.login); ud.setFirstName(ur.firstName); ud.setLastName(ur.lastName); ud.seteMail(ur.eMail); } // Fill silverpeas info of user details ud.setId(userId); ud.setSpecificId(ur.specificId); ud.setDomainId(idAsString(ur.domainId)); ud.setAccessLevel(ur.accessLevel); } catch (AdminException e) { throw new AdminException( "DomainDriverManager.getUser", SilverpeasException.ERROR, "admin.EX_ERR_GET_USER", "user Id: '" + userId + "', domain Id: '" + userId + "'", e); } finally { releaseOrganizationSchema(); } return ud; }