Changed Double to int for the DataAssetCount. Included % for the percentageChangeValue. Added colors to the % values with the digits. Corrected the incorrect placeholders. (#17578)

This commit is contained in:
Siddhant 2024-08-24 11:43:54 +05:30 committed by GitHub
parent cce22a1b5c
commit 929bae5b7b
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 29 additions and 141 deletions

View File

@ -220,10 +220,10 @@ public class DataInsightsReportApp extends AbstractNativeApplication {
if (previousCount == 0D) {
// it should be undefined
return new DataInsightTotalAssetTemplate(
currentCount, 0D, timeConfig.numberOfDaysChange(), dateMap);
String.valueOf(currentCount.intValue()), 0D, timeConfig.numberOfDaysChange(), dateMap);
} else {
return new DataInsightTotalAssetTemplate(
currentCount,
String.valueOf(currentCount.intValue()),
((currentCount - previousCount) / previousCount) * 100,
timeConfig.numberOfDaysChange(),
dateMap);

View File

@ -14,7 +14,10 @@
package org.openmetadata.service.events.scheduled.template;
import java.util.Map;
import lombok.Getter;
import lombok.Setter;
@Getter
@SuppressWarnings("unused")
public class DataInsightDescriptionAndOwnerTemplate {
public enum MetricType {
@ -29,17 +32,17 @@ public class DataInsightDescriptionAndOwnerTemplate {
NOT_MET
}
private String totalAssets;
@Setter private String totalAssets;
private final String percentCompleted;
private boolean kpiAvailable;
@Setter private boolean kpiAvailable;
private String percentChange;
private String percentChangeMessage;
private String targetKpi;
private String numberOfDaysLeft;
private String completeMessage;
private int numberOfDaysChange;
private Map<String, Double> tierMap;
private Map<String, Integer> dateMap;
@Setter private String percentChangeMessage;
@Setter private String targetKpi;
@Setter private String numberOfDaysLeft;
@Setter private String completeMessage;
@Setter private int numberOfDaysChange;
@Setter private Map<String, Double> tierMap;
@Setter private Map<String, Integer> dateMap;
public DataInsightDescriptionAndOwnerTemplate(
MetricType metricType,
@ -67,9 +70,10 @@ public class DataInsightDescriptionAndOwnerTemplate {
if (percentChange > 0) {
color = "#008510";
}
this.completeMessage =
String.format(
"The %s changed by <strong style=\"color: %s;\">%s</strong>%% in the last week. %s",
"The %s changed by <strong style=\"color: %s;\">%s%%</strong> in the last week. %s",
getMetricTypeMessage(metricType),
color,
this.percentChange,
@ -100,90 +104,10 @@ public class DataInsightDescriptionAndOwnerTemplate {
return "";
}
public String getPercentCompleted() {
return percentCompleted;
}
public String getTargetKpi() {
return targetKpi;
}
public void setTargetKpi(String targetKpi) {
this.targetKpi = targetKpi;
}
public String getPercentChange() {
return percentChange;
}
public void setPercentChange(Double percentChange) {
this.percentChange = String.format("%.2f", percentChange);
}
public boolean isKpiAvailable() {
return kpiAvailable;
}
public void setKpiAvailable(boolean kpiAvailable) {
this.kpiAvailable = kpiAvailable;
}
public String getNumberOfDaysLeft() {
return numberOfDaysLeft;
}
public void setNumberOfDaysLeft(String numberOfDaysLeft) {
this.numberOfDaysLeft = numberOfDaysLeft;
}
public String getTotalAssets() {
return totalAssets;
}
public void setTotalAssets(String totalAssets) {
this.totalAssets = totalAssets;
}
public String getPercentChangeMessage() {
return percentChangeMessage;
}
public void setPercentChangeMessage(String message) {
this.percentChangeMessage = message;
}
public String getCompleteMessage() {
return completeMessage;
}
public void setCompleteMessage(String completeMessage) {
this.completeMessage = completeMessage;
}
public Map<String, Double> getTierMap() {
return tierMap;
}
public void setTierMap(Map<String, Double> tierMap) {
this.tierMap = tierMap;
}
public int getNumberOfDaysChange() {
return numberOfDaysChange;
}
public void setNumberOfDaysChange(int numberOfDaysChange) {
this.numberOfDaysChange = numberOfDaysChange;
}
public Map<String, Integer> getDateMap() {
return dateMap;
}
public void setDateMap(Map<String, Integer> dateMap) {
this.dateMap = dateMap;
}
public static String getFormattedPercentChangeMessage(Double percent) {
String symbol = "";
String color = "#BF0000";
@ -195,6 +119,6 @@ public class DataInsightDescriptionAndOwnerTemplate {
}
return String.format(
"<span style=\"color:%s ; font-weight: 600\">%s%.2f</span>", color, symbol, percent);
"<span style=\"color:%s ; font-weight: 600\">%s%.2f%%</span>", color, symbol, percent);
}
}

View File

@ -16,22 +16,25 @@ package org.openmetadata.service.events.scheduled.template;
import static org.openmetadata.service.events.scheduled.template.DataInsightDescriptionAndOwnerTemplate.getFormattedPercentChangeMessage;
import java.util.Map;
import lombok.Getter;
import lombok.Setter;
@Getter
@SuppressWarnings("unused")
public class DataInsightTotalAssetTemplate {
private String totalDataAssets;
private String percentChangeTotalAssets;
private String percentChangeMessage;
private String completeMessage;
private int numberOfDaysChange;
private Map<String, Integer> dateMap;
@Setter private String percentChangeMessage;
@Setter private String completeMessage;
@Setter private int numberOfDaysChange;
@Setter private Map<String, Integer> dateMap;
public DataInsightTotalAssetTemplate(
Double totalDataAssets,
String totalDataAssets,
Double percentChangeTotalAssets,
int numberOfDaysChange,
Map<String, Integer> dateMap) {
this.totalDataAssets = String.format("%.2f", totalDataAssets);
this.totalDataAssets = totalDataAssets;
this.percentChangeTotalAssets = String.format("%.2f", percentChangeTotalAssets);
this.percentChangeMessage = getFormattedPercentChangeMessage(percentChangeTotalAssets);
this.numberOfDaysChange = numberOfDaysChange;
@ -40,57 +43,18 @@ public class DataInsightTotalAssetTemplate {
if (percentChangeTotalAssets > 0) {
color = "#008510";
}
completeMessage =
String.format(
"In the past week, the Total Data Assets changed by <span style=\"color: %s; font-weight: bold;\">%s</span>%%.",
"In the past week, the Total Data Assets changed by <span style=\"color: %s; font-weight: bold;\">%s%%</span>.",
color, this.percentChangeTotalAssets);
}
public String getTotalDataAssets() {
return totalDataAssets;
}
public void setTotalDataAssets(Double totalDataAssets) {
this.totalDataAssets = String.format("%.2f", totalDataAssets);
}
public String getPercentChangeTotalAssets() {
return percentChangeTotalAssets;
}
public void setPercentChangeTotalAssets(Double percentChangeTotalAssets) {
this.percentChangeTotalAssets = String.format("%.2f", percentChangeTotalAssets);
}
public String getCompleteMessage() {
return completeMessage;
}
public void setCompleteMessage(String completeMessage) {
this.completeMessage = completeMessage;
}
public String getPercentChangeMessage() {
return percentChangeMessage;
}
public void setPercentChangeMessage(String message) {
this.percentChangeMessage = message;
}
public int getNumberOfDaysChange() {
return numberOfDaysChange;
}
public void setNumberOfDaysChange(int numberOfDaysChange) {
this.numberOfDaysChange = numberOfDaysChange;
}
public Map<String, Integer> getDateMap() {
return dateMap;
}
public void setDateMap(Map<String, Integer> dateMap) {
this.dateMap = dateMap;
}
}