From: Janos Gyerik Date: Mon, 30 Jul 2018 13:57:47 +0000 (+0200) Subject: SONAR-11038 Add UserSession.getPersonalOrganizationUuid X-Git-Tag: 7.5~622 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=22b18dedfe48680629c2d174e8edb276a78a6cea;p=sonarqube.git SONAR-11038 Add UserSession.getPersonalOrganizationUuid --- diff --git a/server/sonar-server/src/main/java/org/sonar/server/authentication/SafeModeUserSession.java b/server/sonar-server/src/main/java/org/sonar/server/authentication/SafeModeUserSession.java index b4bc28aed76..9f0e229db50 100644 --- a/server/sonar-server/src/main/java/org/sonar/server/authentication/SafeModeUserSession.java +++ b/server/sonar-server/src/main/java/org/sonar/server/authentication/SafeModeUserSession.java @@ -91,6 +91,11 @@ public class SafeModeUserSession extends AbstractUserSession { return Optional.empty(); } + @Override + public Optional getPersonalOrganizationUuid() { + return Optional.empty(); + } + @Override public boolean isLoggedIn() { return false; diff --git a/server/sonar-server/src/main/java/org/sonar/server/user/DoPrivileged.java b/server/sonar-server/src/main/java/org/sonar/server/user/DoPrivileged.java index e86febc71fb..d1b93fb5511 100644 --- a/server/sonar-server/src/main/java/org/sonar/server/user/DoPrivileged.java +++ b/server/sonar-server/src/main/java/org/sonar/server/user/DoPrivileged.java @@ -112,6 +112,11 @@ public final class DoPrivileged { return Optional.empty(); } + @Override + public Optional getPersonalOrganizationUuid() { + return Optional.empty(); + } + @Override protected boolean hasPermissionImpl(OrganizationPermission permission, String organizationUuid) { return true; diff --git a/server/sonar-server/src/main/java/org/sonar/server/user/ServerUserSession.java b/server/sonar-server/src/main/java/org/sonar/server/user/ServerUserSession.java index 8bf2423859b..9ab2cb3c954 100644 --- a/server/sonar-server/src/main/java/org/sonar/server/user/ServerUserSession.java +++ b/server/sonar-server/src/main/java/org/sonar/server/user/ServerUserSession.java @@ -132,6 +132,11 @@ public class ServerUserSession extends AbstractUserSession { return ofNullable(userDto).map(d -> computeIdentity(d).getExternalIdentity()); } + @Override + public Optional getPersonalOrganizationUuid() { + return ofNullable(userDto).map(UserDto::getOrganizationUuid); + } + @Override protected boolean hasPermissionImpl(OrganizationPermission permission, String organizationUuid) { if (permissionsByOrganizationUuid == null) { diff --git a/server/sonar-server/src/main/java/org/sonar/server/user/ThreadLocalUserSession.java b/server/sonar-server/src/main/java/org/sonar/server/user/ThreadLocalUserSession.java index 9b4e09ac4a2..16dac1f8e36 100644 --- a/server/sonar-server/src/main/java/org/sonar/server/user/ThreadLocalUserSession.java +++ b/server/sonar-server/src/main/java/org/sonar/server/user/ThreadLocalUserSession.java @@ -95,6 +95,11 @@ public class ThreadLocalUserSession implements UserSession { return get().getExternalIdentity(); } + @Override + public Optional getPersonalOrganizationUuid() { + return get().getPersonalOrganizationUuid(); + } + @Override public boolean isLoggedIn() { return get().isLoggedIn(); diff --git a/server/sonar-server/src/main/java/org/sonar/server/user/UserSession.java b/server/sonar-server/src/main/java/org/sonar/server/user/UserSession.java index 56a41cc39cb..b3c2061064e 100644 --- a/server/sonar-server/src/main/java/org/sonar/server/user/UserSession.java +++ b/server/sonar-server/src/main/java/org/sonar/server/user/UserSession.java @@ -130,6 +130,11 @@ public interface UserSession { */ Optional getExternalIdentity(); + /** + * The UUID of the personal organization of the authenticated user. + */ + Optional getPersonalOrganizationUuid(); + /** * Whether the user is logged-in or anonymous. */ diff --git a/server/sonar-server/src/test/java/org/sonar/server/tester/AnonymousMockUserSession.java b/server/sonar-server/src/test/java/org/sonar/server/tester/AnonymousMockUserSession.java index c7ec3312f6f..dafaba5fc81 100644 --- a/server/sonar-server/src/test/java/org/sonar/server/tester/AnonymousMockUserSession.java +++ b/server/sonar-server/src/test/java/org/sonar/server/tester/AnonymousMockUserSession.java @@ -75,6 +75,11 @@ public class AnonymousMockUserSession extends AbstractMockUserSession getPersonalOrganizationUuid() { + return Optional.empty(); + } + @Override public boolean hasMembershipImpl(OrganizationDto organizationDto) { return false; diff --git a/server/sonar-server/src/test/java/org/sonar/server/tester/MockUserSession.java b/server/sonar-server/src/test/java/org/sonar/server/tester/MockUserSession.java index 851fdb97a32..3d5231b0f66 100644 --- a/server/sonar-server/src/test/java/org/sonar/server/tester/MockUserSession.java +++ b/server/sonar-server/src/test/java/org/sonar/server/tester/MockUserSession.java @@ -143,4 +143,9 @@ public class MockUserSession extends AbstractMockUserSession { public Optional getExternalIdentity() { return Optional.ofNullable(externalIdentity); } + + @Override + public Optional getPersonalOrganizationUuid() { + return Optional.empty(); + } } diff --git a/server/sonar-server/src/test/java/org/sonar/server/tester/UserSessionRule.java b/server/sonar-server/src/test/java/org/sonar/server/tester/UserSessionRule.java index 8a54d0e919d..27f3c381ed9 100644 --- a/server/sonar-server/src/test/java/org/sonar/server/tester/UserSessionRule.java +++ b/server/sonar-server/src/test/java/org/sonar/server/tester/UserSessionRule.java @@ -289,6 +289,11 @@ public class UserSessionRule implements TestRule, UserSession { return currentUserSession.getExternalIdentity(); } + @Override + public Optional getPersonalOrganizationUuid() { + return currentUserSession.getPersonalOrganizationUuid(); + } + @Override public boolean isLoggedIn() { return currentUserSession.isLoggedIn(); diff --git a/server/sonar-server/src/test/java/org/sonar/server/user/TestUserSessionFactory.java b/server/sonar-server/src/test/java/org/sonar/server/user/TestUserSessionFactory.java index dd1cb95c440..721be5275b8 100644 --- a/server/sonar-server/src/test/java/org/sonar/server/user/TestUserSessionFactory.java +++ b/server/sonar-server/src/test/java/org/sonar/server/user/TestUserSessionFactory.java @@ -97,6 +97,11 @@ public class TestUserSessionFactory implements UserSessionFactory { throw notImplemented(); } + @Override + public Optional getPersonalOrganizationUuid() { + throw notImplemented(); + } + @Override public boolean isLoggedIn() { return user != null;