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/04/16 10:22:52 UTC
[incubator-dlab] branch DLAB-1571 updated: [DLAB-1725,
DLAB-1726] Fixed issues with billing export
This is an automated email from the ASF dual-hosted git repository.
ofuks pushed a commit to branch DLAB-1571
in repository https://gitbox.apache.org/repos/asf/incubator-dlab.git
The following commit(s) were added to refs/heads/DLAB-1571 by this push:
new 4cf9c06 [DLAB-1725, DLAB-1726] Fixed issues with billing export
4cf9c06 is described below
commit 4cf9c06a3893e9c2d4f97119fe45129f5bda43eb
Author: Oleh Fuks <ol...@gmail.com>
AuthorDate: Thu Apr 16 13:22:38 2020 +0300
[DLAB-1725, DLAB-1726] Fixed issues with billing export
---
.../backendapi/service/impl/BillingServiceImpl.java | 5 +++--
.../com/epam/dlab/backendapi/util/BillingUtils.java | 18 ++++++++++++------
2 files changed, 15 insertions(+), 8 deletions(-)
diff --git a/services/self-service/src/main/java/com/epam/dlab/backendapi/service/impl/BillingServiceImpl.java b/services/self-service/src/main/java/com/epam/dlab/backendapi/service/impl/BillingServiceImpl.java
index bddba04..8eae49b 100644
--- a/services/self-service/src/main/java/com/epam/dlab/backendapi/service/impl/BillingServiceImpl.java
+++ b/services/self-service/src/main/java/com/epam/dlab/backendapi/service/impl/BillingServiceImpl.java
@@ -122,11 +122,12 @@ public class BillingServiceImpl implements BillingService {
@Override
public String downloadReport(UserInfo user, BillingFilter filter) {
+ boolean isFull = isFullReport(user);
BillingReport report = getBillingReport(user, filter);
StringBuilder builder = new StringBuilder(BillingUtils.getFirstLine(report.getSbn(), report.getUsageDateFrom(), report.getUsageDateTo()));
- builder.append(BillingUtils.getHeader());
+ builder.append(BillingUtils.getHeader(isFull));
try {
- report.getReportLines().forEach(r -> builder.append(BillingUtils.printLine(r)));
+ report.getReportLines().forEach(r -> builder.append(BillingUtils.printLine(r, isFull)));
builder.append(BillingUtils.getTotal(report.getTotalCost(), report.getCurrency()));
return builder.toString();
} catch (Exception e) {
diff --git a/services/self-service/src/main/java/com/epam/dlab/backendapi/util/BillingUtils.java b/services/self-service/src/main/java/com/epam/dlab/backendapi/util/BillingUtils.java
index f971d1e..3494fbe 100644
--- a/services/self-service/src/main/java/com/epam/dlab/backendapi/util/BillingUtils.java
+++ b/services/self-service/src/main/java/com/epam/dlab/backendapi/util/BillingUtils.java
@@ -69,7 +69,7 @@ public class BillingUtils {
private static final String IMAGE_NAME = "Image";
private static final String DATAENGINE_NAME_FORMAT = "%d x %s";
- private static final String DATAENGINE_SERVICE_NAME_FORMAT = "Master: %s%sSlave: %s";
+ private static final String DATAENGINE_SERVICE_NAME_FORMAT = "Master: %sSlave: %s";
public static Stream<BillingReportLine> edgeBillingDataStream(String project, String sbn, String endpoint) {
final String userEdgeId = String.format(EDGE_FORMAT, sbn, project, endpoint).toLowerCase();
@@ -159,7 +159,7 @@ public class BillingUtils {
public static String getComputationalShape(UserComputationalResource resource) {
return DataEngineType.fromDockerImageName(resource.getImageName()) == DataEngineType.SPARK_STANDALONE ?
String.format(DATAENGINE_NAME_FORMAT, resource.getDataengineInstanceCount(), resource.getDataengineShape()) :
- String.format(DATAENGINE_SERVICE_NAME_FORMAT, resource.getMasterNodeShape(), System.lineSeparator(), resource.getSlaveNodeShape());
+ String.format(DATAENGINE_SERVICE_NAME_FORMAT, resource.getMasterNodeShape(), resource.getSlaveNodeShape());
}
private static Stream<BillingReportLine> standardImageBillingDataStream(String sbn, String endpoint) {
@@ -189,14 +189,20 @@ public class BillingUtils {
CSVFormatter.SEPARATOR, '\"');
}
- public static String getHeader() {
- return CSVFormatter.formatLine(new ArrayList<>(Arrays.asList(BillingUtils.REPORT_HEADERS)), CSVFormatter.SEPARATOR);
+ public static String getHeader(boolean isFull) {
+ List<String> headers = new ArrayList<>(Arrays.asList(BillingUtils.REPORT_HEADERS));
+ if (!isFull) {
+ headers.remove(1);
+ }
+ return CSVFormatter.formatLine(headers, CSVFormatter.SEPARATOR);
}
- public static String printLine(BillingReportLine line) {
+ public static String printLine(BillingReportLine line, boolean isFull) {
List<String> lines = new ArrayList<>();
lines.add(getOrEmpty(line.getDlabId()));
- lines.add(getOrEmpty(line.getUser()));
+ if (isFull) {
+ lines.add(getOrEmpty(line.getUser()));
+ }
lines.add(getOrEmpty(line.getProject()));
lines.add(getOrEmpty(Optional.ofNullable(line.getResourceType()).map(r -> StringUtils.capitalize(r.toString().toLowerCase())).orElse(null)));
lines.add(getOrEmpty(Optional.ofNullable(line.getStatus()).map(UserInstanceStatus::toString).orElse(null)));
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@dlab.apache.org
For additional commands, e-mail: commits-help@dlab.apache.org