airavata-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From machris...@apache.org
Subject airavata git commit: AIRAVATA-2408 Updating Keycloak when user profile added
Date Mon, 12 Jun 2017 20:05:07 GMT
Repository: airavata
Updated Branches:
  refs/heads/develop b45fac7a9 -> 4e7d7cc64


AIRAVATA-2408 Updating Keycloak when user profile added


Project: http://git-wip-us.apache.org/repos/asf/airavata/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/4e7d7cc6
Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/4e7d7cc6
Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/4e7d7cc6

Branch: refs/heads/develop
Commit: 4e7d7cc646b67c5c2a51877e5e4a61182f30efec
Parents: b45fac7
Author: Marcus Christie <machristie@apache.org>
Authored: Mon Jun 12 16:02:42 2017 -0400
Committer: Marcus Christie <machristie@apache.org>
Committed: Mon Jun 12 16:04:59 2017 -0400

----------------------------------------------------------------------
 .../handlers/UserProfileServiceHandler.java     | 22 ++++++++++++--------
 .../repositories/UserProfileRepository.java     | 14 +++++++++++++
 2 files changed, 27 insertions(+), 9 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/4e7d7cc6/airavata-services/profile-service/profile-service-server/src/main/java/org/apache/airavata/service/profile/handlers/UserProfileServiceHandler.java
----------------------------------------------------------------------
diff --git a/airavata-services/profile-service/profile-service-server/src/main/java/org/apache/airavata/service/profile/handlers/UserProfileServiceHandler.java
b/airavata-services/profile-service/profile-service-server/src/main/java/org/apache/airavata/service/profile/handlers/UserProfileServiceHandler.java
index 8e2e989..7d85002 100644
--- a/airavata-services/profile-service/profile-service-server/src/main/java/org/apache/airavata/service/profile/handlers/UserProfileServiceHandler.java
+++ b/airavata-services/profile-service/profile-service-server/src/main/java/org/apache/airavata/service/profile/handlers/UserProfileServiceHandler.java
@@ -59,7 +59,7 @@ public class UserProfileServiceHandler implements UserProfileService.Iface
{
     @SecurityCheck
     public String addUserProfile(AuthzToken authzToken, UserProfile userProfile) throws UserProfileServiceException,
AuthorizationException, TException {
         try{
-            userProfile = userProfileRepository.create(userProfile);
+            userProfile = userProfileRepository.updateUserProfile(userProfile, getIAMUserProfileUpdater(authzToken,
userProfile));
             if (null != userProfile) {
                 logger.info("Added UserProfile with userId: " + userProfile.getUserId());
                 // replicate userProfile at end-places
@@ -87,14 +87,7 @@ public class UserProfileServiceHandler implements UserProfileService.Iface
{
             // After updating the user profile in the database but before committing the
transaction, the
             // following will update the user profile in the IAM service also. If the update
in the IAM service
             // fails then the transaction will be rolled back.
-            IamAdminServices.Client iamAdminServicesClient = getIamAdminServicesClient();
-            Runnable iamUserProfileUpdater = () -> {
-                try {
-                    iamAdminServicesClient.updateUserProfile(authzToken, userProfile);
-                } catch (TException e) {
-                    throw new RuntimeException("Failed to update user profile in IAM service",
e);
-                }
-            };
+            Runnable iamUserProfileUpdater = getIAMUserProfileUpdater(authzToken, userProfile);
             if(userProfileRepository.updateUserProfile(userProfile, iamUserProfileUpdater)
!= null) {
                 logger.info("Updated UserProfile with userId: " + userProfile.getUserId());
                 // replicate userProfile at end-places
@@ -113,6 +106,17 @@ public class UserProfileServiceHandler implements UserProfileService.Iface
{
         }
     }
 
+    private Runnable getIAMUserProfileUpdater(AuthzToken authzToken, UserProfile userProfile)
throws UserProfileServiceException {
+        IamAdminServices.Client iamAdminServicesClient = getIamAdminServicesClient();
+        return () -> {
+            try {
+                iamAdminServicesClient.updateUserProfile(authzToken, userProfile);
+            } catch (TException e) {
+                throw new RuntimeException("Failed to update user profile in IAM service",
e);
+            }
+        };
+    }
+
     @Override
     @SecurityCheck
     public UserProfile getUserProfileById(AuthzToken authzToken, String userId, String gatewayId)
throws UserProfileServiceException, AuthorizationException, TException {

http://git-wip-us.apache.org/repos/asf/airavata/blob/4e7d7cc6/airavata-services/profile-service/profile-user-core/src/main/java/org/apache/airavata/service/profile/user/core/repositories/UserProfileRepository.java
----------------------------------------------------------------------
diff --git a/airavata-services/profile-service/profile-user-core/src/main/java/org/apache/airavata/service/profile/user/core/repositories/UserProfileRepository.java
b/airavata-services/profile-service/profile-user-core/src/main/java/org/apache/airavata/service/profile/user/core/repositories/UserProfileRepository.java
index 98796a4..953c114 100644
--- a/airavata-services/profile-service/profile-user-core/src/main/java/org/apache/airavata/service/profile/user/core/repositories/UserProfileRepository.java
+++ b/airavata-services/profile-service/profile-user-core/src/main/java/org/apache/airavata/service/profile/user/core/repositories/UserProfileRepository.java
@@ -71,6 +71,20 @@ public class UserProfileRepository extends AbstractRepository<UserProfile,
UserP
         return  resultList;
     }
 
+    @Override
+    public UserProfile create(UserProfile userProfile) {
+        throw new UnsupportedOperationException("Please use createUserProfile instead");
+    }
+
+    @Override
+    public UserProfile update(UserProfile userProfile) {
+        throw new UnsupportedOperationException("Please use updateUserProfile instead");
+    }
+
+    public UserProfile createUserProfile(UserProfile userProfile, Runnable postUpdateAction)
{
+        return updateUserProfile(userProfile, postUpdateAction);
+    }
+
     public UserProfile updateUserProfile(UserProfile userProfile, Runnable postUpdateAction)
{
 
         Mapper mapper = ObjectMapperSingleton.getInstance();


Mime
View raw message