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

ofuks pushed a commit to branch audit
in repository https://gitbox.apache.org/repos/asf/incubator-dlab.git


The following commit(s) were added to refs/heads/audit by this push:
     new 4d0e7da  Fixed issue with 'List of Resources' page
4d0e7da is described below

commit 4d0e7da01bcae8e63dfe76ea6b8b7d22fd9955f2
Author: Oleh Fuks <olegfuk...@gmail.com>
AuthorDate: Tue Jun 23 11:31:45 2020 +0300

    Fixed issue with 'List of Resources' page
---
 .../epam/dlab/backendapi/dao/ExploratoryDAO.java   | 12 ++---------
 .../resources/dto/ProjectInfrastructureInfo.java   |  4 ++--
 .../impl/InfrastructureInfoServiceImpl.java        | 25 +++++++++++-----------
 3 files changed, 16 insertions(+), 25 deletions(-)

diff --git 
a/services/self-service/src/main/java/com/epam/dlab/backendapi/dao/ExploratoryDAO.java
 
b/services/self-service/src/main/java/com/epam/dlab/backendapi/dao/ExploratoryDAO.java
index 8c5a7ce..0cee441 100644
--- 
a/services/self-service/src/main/java/com/epam/dlab/backendapi/dao/ExploratoryDAO.java
+++ 
b/services/self-service/src/main/java/com/epam/dlab/backendapi/dao/ExploratoryDAO.java
@@ -107,16 +107,8 @@ public class ExploratoryDAO extends BaseDAO {
                                                eq(COMPUTATIONAL_RESOURCES + 
"." + STATUS, UserInstanceStatus.RUNNING.toString())));
        }
 
-       /**
-        * Finds and returns the list of user resources.
-        *
-        * @param user name
-        * @return list of user resources
-        */
-       public Iterable<Document> findExploratories(String user, String 
project) {
-               return find(USER_INSTANCES, and(eq(USER, user), eq(PROJECT, 
project)),
-                               
fields(exclude(ExploratoryLibDAO.EXPLORATORY_LIBS, 
ExploratoryLibDAO.COMPUTATIONAL_LIBS, SCHEDULER_DATA,
-                                               EXPLORATORY_USER, 
EXPLORATORY_PASS)));
+       public List<UserInstanceDTO> findExploratories(String user, String 
project) {
+               return getUserInstances(and(eq(USER, user), eq(PROJECT, 
project)), true);
        }
 
        /**
diff --git 
a/services/self-service/src/main/java/com/epam/dlab/backendapi/resources/dto/ProjectInfrastructureInfo.java
 
b/services/self-service/src/main/java/com/epam/dlab/backendapi/resources/dto/ProjectInfrastructureInfo.java
index b9dfd89..e8585ac 100644
--- 
a/services/self-service/src/main/java/com/epam/dlab/backendapi/resources/dto/ProjectInfrastructureInfo.java
+++ 
b/services/self-service/src/main/java/com/epam/dlab/backendapi/resources/dto/ProjectInfrastructureInfo.java
@@ -21,10 +21,10 @@ package com.epam.dlab.backendapi.resources.dto;
 
 import com.epam.dlab.backendapi.domain.BillingReport;
 import com.epam.dlab.backendapi.domain.EndpointDTO;
+import com.epam.dlab.dto.UserInstanceDTO;
 import com.fasterxml.jackson.annotation.JsonProperty;
 import lombok.AllArgsConstructor;
 import lombok.ToString;
-import org.bson.Document;
 
 import java.util.List;
 import java.util.Map;
@@ -39,7 +39,7 @@ public class ProjectInfrastructureInfo {
        @JsonProperty
        private Map<String, Map<String, String>> shared;
        @JsonProperty
-       private Iterable<Document> exploratory;
+       private List<UserInstanceDTO> exploratory;
        @JsonProperty
        private List<BillingReport> exploratoryBilling;
        @JsonProperty
diff --git 
a/services/self-service/src/main/java/com/epam/dlab/backendapi/service/impl/InfrastructureInfoServiceImpl.java
 
b/services/self-service/src/main/java/com/epam/dlab/backendapi/service/impl/InfrastructureInfoServiceImpl.java
index 7554e32..475f2db 100644
--- 
a/services/self-service/src/main/java/com/epam/dlab/backendapi/service/impl/InfrastructureInfoServiceImpl.java
+++ 
b/services/self-service/src/main/java/com/epam/dlab/backendapi/service/impl/InfrastructureInfoServiceImpl.java
@@ -37,15 +37,16 @@ import com.epam.dlab.backendapi.service.EndpointService;
 import com.epam.dlab.backendapi.service.InfrastructureInfoService;
 import com.epam.dlab.backendapi.service.ProjectService;
 import com.epam.dlab.dto.InfrastructureMetaInfoDTO;
+import com.epam.dlab.dto.UserInstanceDTO;
 import com.epam.dlab.dto.aws.edge.EdgeInfoAws;
 import com.epam.dlab.dto.azure.edge.EdgeInfoAzure;
 import com.epam.dlab.dto.base.edge.EdgeInfo;
+import com.epam.dlab.dto.computational.UserComputationalResource;
 import com.epam.dlab.dto.gcp.edge.EdgeInfoGcp;
 import com.epam.dlab.exceptions.DlabException;
 import com.google.inject.Inject;
 import com.jcabi.manifests.Manifests;
 import lombok.extern.slf4j.Slf4j;
-import org.bson.Document;
 
 import java.util.Collections;
 import java.util.HashMap;
@@ -53,7 +54,6 @@ import java.util.List;
 import java.util.Map;
 import java.util.Optional;
 import java.util.stream.Collectors;
-import java.util.stream.StreamSupport;
 
 @Slf4j
 public class InfrastructureInfoServiceImpl implements 
InfrastructureInfoService {
@@ -90,7 +90,7 @@ public class InfrastructureInfoServiceImpl implements 
InfrastructureInfoService
                        return projectService.getUserProjects(user, false)
                                        .stream()
                                        .map(p -> {
-                                               Iterable<Document> 
exploratories = expDAO.findExploratories(user.getName(), p.getName());
+                                               List<UserInstanceDTO> 
exploratories = expDAO.findExploratories(user.getName(), p.getName());
                                                return new 
ProjectInfrastructureInfo(p.getName(), 
billingDAO.getBillingProjectQuoteUsed(p.getName()),
                                                                
getSharedInfo(p.getName()), exploratories, 
getExploratoryBillingData(exploratories),
                                                                
getEndpoints(allEndpoints, p));
@@ -141,16 +141,15 @@ public class InfrastructureInfoServiceImpl implements 
InfrastructureInfoService
                                .build();
        }
 
-       private List<BillingReport> 
getExploratoryBillingData(Iterable<Document> exploratories) {
-               return StreamSupport.stream(exploratories.spliterator(), false)
-                               .map(exp ->
-                                               
billingService.getExploratoryBillingData(exp.getString("project"), 
exp.getString("endpoint"),
-                                                               
exp.getString("exploratory_name"),
-                                                               
Optional.ofNullable(exp.get("computational_resources")).map(cr -> 
(List<Document>) cr).get()
-                                                                               
.stream()
-                                                                               
.map(cr -> cr.getString("computational_name"))
-                                                                               
.collect(Collectors.toList()))
-                               )
+       private List<BillingReport> 
getExploratoryBillingData(List<UserInstanceDTO> exploratories) {
+               return exploratories
+                               .stream()
+                               .map(exp -> 
billingService.getExploratoryBillingData(exp.getProject(), exp.getEndpoint(),
+                                               exp.getExploratoryName(), 
exp.getResources()
+                                                               .stream()
+                                                               
.map(UserComputationalResource::getComputationalName)
+                                                               
.collect(Collectors.toList())
+                               ))
                                .collect(Collectors.toList());
        }
 


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@dlab.apache.org
For additional commands, e-mail: commits-h...@dlab.apache.org

Reply via email to