]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-11038 Add UserSession.getPersonalOrganizationUuid
authorJanos Gyerik <janos.gyerik@sonarsource.com>
Mon, 30 Jul 2018 13:57:47 +0000 (15:57 +0200)
committerSonarTech <sonartech@sonarsource.com>
Fri, 10 Aug 2018 18:21:29 +0000 (20:21 +0200)
server/sonar-server/src/main/java/org/sonar/server/authentication/SafeModeUserSession.java
server/sonar-server/src/main/java/org/sonar/server/user/DoPrivileged.java
server/sonar-server/src/main/java/org/sonar/server/user/ServerUserSession.java
server/sonar-server/src/main/java/org/sonar/server/user/ThreadLocalUserSession.java
server/sonar-server/src/main/java/org/sonar/server/user/UserSession.java
server/sonar-server/src/test/java/org/sonar/server/tester/AnonymousMockUserSession.java
server/sonar-server/src/test/java/org/sonar/server/tester/MockUserSession.java
server/sonar-server/src/test/java/org/sonar/server/tester/UserSessionRule.java
server/sonar-server/src/test/java/org/sonar/server/user/TestUserSessionFactory.java

index b4bc28aed761accc1b887f95132c43d01a34a7a7..9f0e229db50d796b1a0a025060eac9e1fc714484 100644 (file)
@@ -91,6 +91,11 @@ public class SafeModeUserSession extends AbstractUserSession {
     return Optional.empty();
   }
 
+  @Override
+  public Optional<String> getPersonalOrganizationUuid() {
+    return Optional.empty();
+  }
+
   @Override
   public boolean isLoggedIn() {
     return false;
index e86febc71fb9fe37accd2c79bb28fdf05c61167a..d1b93fb551134be2f7d28dbf32fcbd9fc3f9e685 100644 (file)
@@ -112,6 +112,11 @@ public final class DoPrivileged {
         return Optional.empty();
       }
 
+      @Override
+      public Optional<String> getPersonalOrganizationUuid() {
+        return Optional.empty();
+      }
+
       @Override
       protected boolean hasPermissionImpl(OrganizationPermission permission, String organizationUuid) {
         return true;
index 8bf2423859b78dc190c80d876b3f84afc44ae14a..9ab2cb3c9544b8e82fd3858d8e97b0de0eae7018 100644 (file)
@@ -132,6 +132,11 @@ public class ServerUserSession extends AbstractUserSession {
     return ofNullable(userDto).map(d -> computeIdentity(d).getExternalIdentity());
   }
 
+  @Override
+  public Optional<String> getPersonalOrganizationUuid() {
+    return ofNullable(userDto).map(UserDto::getOrganizationUuid);
+  }
+
   @Override
   protected boolean hasPermissionImpl(OrganizationPermission permission, String organizationUuid) {
     if (permissionsByOrganizationUuid == null) {
index 9b4e09ac4a2bf3d709d4f49ab87dcc76d02af8fe..16dac1f8e365cfff1981503bdf58996ca86b575e 100644 (file)
@@ -95,6 +95,11 @@ public class ThreadLocalUserSession implements UserSession {
     return get().getExternalIdentity();
   }
 
+  @Override
+  public Optional<String> getPersonalOrganizationUuid() {
+    return get().getPersonalOrganizationUuid();
+  }
+
   @Override
   public boolean isLoggedIn() {
     return get().isLoggedIn();
index 56a41cc39cb80e15933fa536f2c22c17fc180c5f..b3c2061064e95baad12196f6165b6fff2cb88176 100644 (file)
@@ -130,6 +130,11 @@ public interface UserSession {
    */
   Optional<ExternalIdentity> getExternalIdentity();
 
+  /**
+   * The UUID of the personal organization of the authenticated user.
+   */
+  Optional<String> getPersonalOrganizationUuid();
+
   /**
    * Whether the user is logged-in or anonymous.
    */
index c7ec3312f6feca67c8d76d1186dc6a67ae6ac584..dafaba5fc812e9d17bac27baa10ff765d4d14716 100644 (file)
@@ -75,6 +75,11 @@ public class AnonymousMockUserSession extends AbstractMockUserSession<AnonymousM
     return Optional.empty();
   }
 
+  @Override
+  public Optional<String> getPersonalOrganizationUuid() {
+    return Optional.empty();
+  }
+
   @Override
   public boolean hasMembershipImpl(OrganizationDto organizationDto) {
     return false;
index 851fdb97a324174302cd471164dea3a4911493ca..3d5231b0f66de98330b438ad67d6f2308a601ec7 100644 (file)
@@ -143,4 +143,9 @@ public class MockUserSession extends AbstractMockUserSession<MockUserSession> {
   public Optional<ExternalIdentity> getExternalIdentity() {
     return Optional.ofNullable(externalIdentity);
   }
+
+  @Override
+  public Optional<String> getPersonalOrganizationUuid() {
+    return Optional.empty();
+  }
 }
index 8a54d0e919d9b20113dc5a2739a859f24e9f6d42..27f3c381ed918a84f5cbd696b0d177857893e360 100644 (file)
@@ -289,6 +289,11 @@ public class UserSessionRule implements TestRule, UserSession {
     return currentUserSession.getExternalIdentity();
   }
 
+  @Override
+  public Optional<String> getPersonalOrganizationUuid() {
+    return currentUserSession.getPersonalOrganizationUuid();
+  }
+
   @Override
   public boolean isLoggedIn() {
     return currentUserSession.isLoggedIn();
index dd1cb95c44096d47fbd1cb60070af140563ed1b6..721be5275b8360cd0a93fc59478d245bf7432b24 100644 (file)
@@ -97,6 +97,11 @@ public class TestUserSessionFactory implements UserSessionFactory {
       throw notImplemented();
     }
 
+    @Override
+    public Optional<String> getPersonalOrganizationUuid() {
+      throw notImplemented();
+    }
+
     @Override
     public boolean isLoggedIn() {
       return user != null;