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