You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by is...@apache.org on 2020/04/09 01:00:36 UTC

[airavata-custos] branch develop updated: Add protocol mapping for agents

This is an automated email from the ASF dual-hosted git repository.

isjarana pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/airavata-custos.git


The following commit(s) were added to refs/heads/develop by this push:
     new 905230c  Add protocol mapping for agents
     new 500f986  Merge pull request #39 from isururanawaka/microservices_based_impl
905230c is described below

commit 905230c065ef383f8462d71a7c30ae393bf02365
Author: Isuru Ranawaka <ir...@gmail.com>
AuthorDate: Wed Apr 8 20:59:30 2020 -0400

    Add protocol mapping for agents
---
 .../src/main/resources/agent-management-service.pb | Bin 115957 -> 116764 bytes
 .../interceptors/UserAuthInterceptorImpl.java      |  19 ++++++++++++++++++-
 .../management/service/AgentManagementService.java |  16 ++++++++++++++++
 .../src/main/proto/AgentManagementService.proto    |   7 +++++++
 4 files changed, 41 insertions(+), 1 deletion(-)

diff --git a/custos-integration-services/agent-management-service-parent/agent-management-service-sidecar/src/main/resources/agent-management-service.pb b/custos-integration-services/agent-management-service-parent/agent-management-service-sidecar/src/main/resources/agent-management-service.pb
index 593b63d..6280249 100644
Binary files a/custos-integration-services/agent-management-service-parent/agent-management-service-sidecar/src/main/resources/agent-management-service.pb and b/custos-integration-services/agent-management-service-parent/agent-management-service-sidecar/src/main/resources/agent-management-service.pb differ
diff --git a/custos-integration-services/agent-management-service-parent/agent-management-service/src/main/java/org/apache/custos/agent/management/interceptors/UserAuthInterceptorImpl.java b/custos-integration-services/agent-management-service-parent/agent-management-service/src/main/java/org/apache/custos/agent/management/interceptors/UserAuthInterceptorImpl.java
index 5ae7575..2ad5c9c 100644
--- a/custos-integration-services/agent-management-service-parent/agent-management-service/src/main/java/org/apache/custos/agent/management/interceptors/UserAuthInterceptorImpl.java
+++ b/custos-integration-services/agent-management-service-parent/agent-management-service/src/main/java/org/apache/custos/agent/management/interceptors/UserAuthInterceptorImpl.java
@@ -28,7 +28,6 @@ import org.apache.custos.credential.store.service.Type;
 import org.apache.custos.iam.service.*;
 import org.apache.custos.identity.client.IdentityClient;
 import org.apache.custos.integration.core.exceptions.NotAuthorizedException;
-import org.apache.custos.integration.core.utils.Constants;
 import org.apache.custos.integration.services.commons.interceptors.AuthInterceptor;
 import org.apache.custos.integration.services.commons.model.AuthClaim;
 import org.apache.custos.tenant.profile.client.async.TenantProfileClient;
@@ -136,6 +135,24 @@ public class UserAuthInterceptorImpl extends AuthInterceptor {
                     .setPerformedBy(claim.getPerformedBy())
                     .build();
 
+        } else if (method.equals("addProtocolMapper")) {
+
+            GetCredentialRequest request = GetCredentialRequest
+                    .newBuilder()
+                    .setType(Type.AGENT_CLIENT)
+                    .setOwnerId(tenantId)
+                    .build();
+
+            CredentialMetadata metadata = this.credentialStoreServiceClient.getCredential(request);
+            if (metadata == null || metadata.getId().equals("")) {
+                throw new NotAuthorizedException("Agent creation is not enabled", null);
+            }
+
+            return (ReqT) ((AddProtocolMapperRequest) msg).toBuilder()
+                    .setTenantId(tenantId)
+                    .setClientId(metadata.getId())
+                    .build();
+
         }
 
         return msg;
diff --git a/custos-integration-services/agent-management-service-parent/agent-management-service/src/main/java/org/apache/custos/agent/management/service/AgentManagementService.java b/custos-integration-services/agent-management-service-parent/agent-management-service/src/main/java/org/apache/custos/agent/management/service/AgentManagementService.java
index 6db0280..7f05106 100644
--- a/custos-integration-services/agent-management-service-parent/agent-management-service/src/main/java/org/apache/custos/agent/management/service/AgentManagementService.java
+++ b/custos-integration-services/agent-management-service-parent/agent-management-service/src/main/java/org/apache/custos/agent/management/service/AgentManagementService.java
@@ -770,4 +770,20 @@ public class AgentManagementService extends org.apache.custos.agent.management.s
             }
         }
     }
+
+
+    @Override
+    public void addProtocolMapper(AddProtocolMapperRequest request, StreamObserver<OperationStatus> responseObserver) {
+        try {
+            OperationStatus allRoles = iamAdminServiceClient.addProtocolMapper(request);
+
+            responseObserver.onNext(allRoles);
+            responseObserver.onCompleted();
+
+        } catch (Exception ex) {
+            String msg = "Error occurred at addProtocolMapper " + ex.getMessage();
+            LOGGER.error(msg);
+            responseObserver.onError(Status.INTERNAL.withDescription(msg).asRuntimeException());
+        }
+    }
 }
diff --git a/custos-integration-services/agent-management-service-parent/agent-management-service/src/main/proto/AgentManagementService.proto b/custos-integration-services/agent-management-service-parent/agent-management-service/src/main/proto/AgentManagementService.proto
index 526121d..0ec86f9 100644
--- a/custos-integration-services/agent-management-service-parent/agent-management-service/src/main/proto/AgentManagementService.proto
+++ b/custos-integration-services/agent-management-service-parent/agent-management-service/src/main/proto/AgentManagementService.proto
@@ -110,6 +110,13 @@ service AgentManagementService {
          };
     }
 
+    rpc addProtocolMapper (org.apache.custos.iam.service.AddProtocolMapperRequest) returns (org.apache.custos.iam.service.OperationStatus) {
+        option (google.api.http) = {
+           post: "/agent-management/v1.0.0/protocol/mapper"
+        };
+    }
+
+
 }