You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dlab.apache.org by of...@apache.org on 2020/03/05 08:54:37 UTC

[incubator-dlab] branch epm-v2.2-rc1 updated: Code refactoring

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

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


The following commit(s) were added to refs/heads/epm-v2.2-rc1 by this push:
     new b2b5b57  Code refactoring
b2b5b57 is described below

commit b2b5b578a0ec17573b15a9fa0a71d66a641d253a
Author: Oleh Fuks <ol...@gmail.com>
AuthorDate: Thu Mar 5 10:54:16 2020 +0200

    Code refactoring
---
 .../epam/dlab/backendapi/dao/BaseBillingDAO.java   | 28 ++++++++++++++++++----
 1 file changed, 24 insertions(+), 4 deletions(-)

diff --git a/services/self-service/src/main/java/com/epam/dlab/backendapi/dao/BaseBillingDAO.java b/services/self-service/src/main/java/com/epam/dlab/backendapi/dao/BaseBillingDAO.java
index 4fc374a..0ab13db 100644
--- a/services/self-service/src/main/java/com/epam/dlab/backendapi/dao/BaseBillingDAO.java
+++ b/services/self-service/src/main/java/com/epam/dlab/backendapi/dao/BaseBillingDAO.java
@@ -47,7 +47,12 @@ import org.bson.Document;
 import org.bson.conversions.Bson;
 
 import java.math.BigDecimal;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Optional;
 import java.util.function.Supplier;
 import java.util.stream.StreamSupport;
 
@@ -61,8 +66,14 @@ import static com.epam.dlab.model.aws.ReportLine.FIELD_USAGE_DATE;
 import static com.mongodb.client.model.Accumulators.sum;
 import static com.mongodb.client.model.Aggregates.group;
 import static com.mongodb.client.model.Aggregates.match;
-import static com.mongodb.client.model.Filters.*;
-import static com.mongodb.client.model.Projections.*;
+import static com.mongodb.client.model.Filters.eq;
+import static com.mongodb.client.model.Filters.gte;
+import static com.mongodb.client.model.Filters.in;
+import static com.mongodb.client.model.Filters.lte;
+import static com.mongodb.client.model.Filters.regex;
+import static com.mongodb.client.model.Projections.excludeId;
+import static com.mongodb.client.model.Projections.fields;
+import static com.mongodb.client.model.Projections.include;
 import static java.util.Collections.singletonList;
 
 @Slf4j
@@ -344,7 +355,16 @@ public abstract class BaseBillingDAO<T extends BillingFilter> extends BaseDAO im
 			searchCriteria.add(lte(FIELD_USAGE_DATE, filter.getDateEnd()));
 		}
 		if (filter.getProjects() != null && !filter.getProjects().isEmpty()) {
-			searchCriteria.add(in(PROJECT, filter.getProjects()));
+			List<String> projects = filter.getProjects();
+			if (filter.getProjects().contains(SHARED_RESOURCE_NAME)) {
+				if (filter.getProjects().size() == 1) {
+					projects.remove(SHARED_RESOURCE_NAME);
+				} else {
+					searchCriteria.add(in(PROJECT, projects));
+				}
+			} else {
+				searchCriteria.add(in(PROJECT, projects));
+			}
 		}
 
 		searchCriteria.addAll(cloudMatchCriteria((T) filter));


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