public TaskResult section2()

in data-orchestrator/workflow-engine/workflow-engine-core/src/main/java/org/apache/airavata/datalake/orchestrator/workflow/engine/task/impl/DataTransferPreValidationTask.java [106:161]


    public TaskResult section2() {
        try {
            logger.info("Running section 2......");
            DRMSServiceAuthToken serviceAuthToken = DRMSServiceAuthToken.newBuilder()
                    .setAccessToken(authToken.get())
                    .setAuthCredentialType(AuthCredentialType.AGENT_ACCOUNT_CREDENTIAL)
                    .setAuthenticatedUser(AuthenticatedUser.newBuilder()
                            .setUsername(userId.get())
                            .setTenantId(tenantId.get())
                            .build())
                    .build();


            //TODO: add ssl
            ManagedChannel drmsChannel = ManagedChannelBuilder
                    .forAddress(drmsHost.get(),
                            drmsPort.get()).usePlaintext().build();

            ResourceServiceGrpc.ResourceServiceBlockingStub resourceServiceBlockingStub =
                    ResourceServiceGrpc.newBlockingStub(drmsChannel);

            ResourceFetchRequest sourceResourceFetchRequest = ResourceFetchRequest
                    .newBuilder()
                    .setResourceId(sourceResourceId.get())
                    .setAuthToken(serviceAuthToken)
                    .build();

            ResourceFetchRequest dstResourceFetchRequest = ResourceFetchRequest
                    .newBuilder()
                    .setResourceId(destinationResourceId.get())
                    .setAuthToken(serviceAuthToken)
                    .build();

            ResourceFetchResponse srcResponse = resourceServiceBlockingStub
                    .fetchResource(sourceResourceFetchRequest);

            ResourceFetchResponse dstResponse = resourceServiceBlockingStub
                    .fetchResource(dstResourceFetchRequest);

            if (sourceResourceId.get().equals(srcResponse.getResource().getResourceId())
                    && destinationResourceId.get().equals(dstResponse.getResource().getResourceId())) {
                logger.info("Successfully validated resource access  ...");
                return new TaskResult(TaskResult.Status.COMPLETED, "Validation completeed");
            } else {
                logger.error("Validation failed ....");
                logger.info(srcResponse.getResource().getResourceId());
                logger.info(dstResponse.getResource().getResourceId());
            }

        } catch (Exception exception) {
            String msg = "Error occurred while validating resource access : " + exception.getMessage();
            logger.error(msg, exception);
            return new TaskResult(TaskResult.Status.FAILED, msg);
        }
        return new TaskResult(TaskResult.Status.FAILED, "Error occurred while validating resource access");
    }