killbill-aplcache

entitlement: enhance logging in EntitlementLoggingHelper Signed-off-by:

2/26/2019 1:20:05 PM

Details

diff --git a/entitlement/src/main/java/org/killbill/billing/entitlement/logging/EntitlementLoggingHelper.java b/entitlement/src/main/java/org/killbill/billing/entitlement/logging/EntitlementLoggingHelper.java
index e3360d9..a844c84 100644
--- a/entitlement/src/main/java/org/killbill/billing/entitlement/logging/EntitlementLoggingHelper.java
+++ b/entitlement/src/main/java/org/killbill/billing/entitlement/logging/EntitlementLoggingHelper.java
@@ -1,6 +1,6 @@
 /*
- * Copyright 2014-2016 Groupon, Inc
- * Copyright 2014-2016 The Billing Project, LLC
+ * Copyright 2014-2019 Groupon, Inc
+ * Copyright 2014-2019 The Billing Project, LLC
  *
  * The Billing Project licenses this file to you under the Apache License, version 2.0
  * (the "License"); you may not use this file except in compliance with the
@@ -33,41 +33,6 @@ import org.slf4j.Logger;
 
 public abstract class EntitlementLoggingHelper {
 
-    public static void logCreateEntitlement(final Logger log,
-                                            final UUID bundleId,
-                                            final PlanPhaseSpecifier spec,
-                                            final List<PlanPhasePriceOverride> overrides,
-                                            final LocalDate entitlementDate,
-                                            final LocalDate billingDate) {
-
-        if (log.isInfoEnabled()) {
-            final StringBuilder logLine = new StringBuilder("Create")
-                    .append(bundleId != null ? " AO " : " BP ")
-                    .append("Entitlement: ");
-
-            if (bundleId != null) {
-                logLine.append("bundleId='")
-                       .append(bundleId)
-                       .append("'");
-            }
-            logPlanPhaseSpecifier(logLine, spec, true, true);
-            if (overrides != null && !overrides.isEmpty()) {
-                logPlanPhasePriceOverrides(logLine, overrides);
-            }
-            if (entitlementDate != null) {
-                logLine.append(", entDate='")
-                       .append(entitlementDate)
-                       .append("'");
-            }
-            if (billingDate != null) {
-                logLine.append(", billDate='")
-                       .append(billingDate)
-                       .append("'");
-            }
-            log.info(logLine.toString());
-        }
-    }
-
     public static void logCreateEntitlementsWithAOs(final Logger log, final Iterable<BaseEntitlementWithAddOnsSpecifier> baseEntitlementSpecifiersWithAddOns) {
         if (log.isInfoEnabled()) {
             final StringBuilder logLine = new StringBuilder("Create Entitlements with AddOns: ");
@@ -96,16 +61,27 @@ public abstract class EntitlementLoggingHelper {
                    .append("'");
         }
         if (entitlementDate != null) {
-            logLine.append(", entDate='")
+            if (externalKey != null) {
+                logLine.append(", ");
+            }
+            logLine.append("entDate='")
                    .append(entitlementDate)
                    .append("'");
         }
         if (billingDate != null) {
-            logLine.append(", billDate='")
+            if (externalKey != null || entitlementDate != null) {
+                logLine.append(", ");
+            }
+            logLine.append("billDate='")
                    .append(billingDate)
                    .append("'");
         }
-        logEntitlementSpecifier(logLine, entitlementSpecifiers);
+        if (entitlementSpecifiers != null && entitlementSpecifiers.iterator().hasNext()) {
+            if (externalKey != null || entitlementDate != null || billingDate != null) {
+                logLine.append(", ");
+            }
+            logEntitlementSpecifier(logLine, entitlementSpecifiers);
+        }
     }
 
     public static void logPauseResumeEntitlement(final Logger log,
@@ -327,38 +303,44 @@ public abstract class EntitlementLoggingHelper {
     }
 
     private static void logEntitlementSpecifier(final StringBuilder logLine, final Iterable<EntitlementSpecifier> entitlementSpecifiers) {
-        if (entitlementSpecifiers != null && entitlementSpecifiers.iterator().hasNext()) {
-            logLine.append(",'[");
-            boolean first = true;
-            for (EntitlementSpecifier cur : entitlementSpecifiers) {
-                if (!first) {
-                    logLine.append(",");
-                }
-                logPlanPhaseSpecifier(logLine, cur.getPlanPhaseSpecifier(), false, false);
-                logPlanPhasePriceOverrides(logLine, cur.getOverrides());
-                first = false;
+        logLine.append("'[");
+        boolean first = true;
+        for (final EntitlementSpecifier cur : entitlementSpecifiers) {
+            if (!first) {
+                logLine.append(",");
             }
-            logLine.append("]'");
+            logPlanPhaseSpecifier(logLine, cur.getPlanPhaseSpecifier(), false, false);
+            logPlanPhasePriceOverrides(logLine, cur.getOverrides());
+            first = false;
         }
+        logLine.append("]'");
     }
 
-    private static void logPlanPhaseSpecifier(final StringBuilder logLine, final PlanPhaseSpecifier spec, boolean addComma, boolean addParentheseQuote) {
+    private static void logPlanPhaseSpecifier(final StringBuilder logLine, final PlanPhaseSpecifier spec, final boolean addComma, final boolean addParenthesisQuote) {
         if (spec != null) {
             if (addComma) {
                 logLine.append(", ");
             }
-            logLine.append("spec=");
-            if (addParentheseQuote) {
-                logLine.append("'(");
+            if (spec.getPlanName() != null) {
+                logLine.append("planName=");
+                if (addParenthesisQuote) {
+                    logLine.append("'(");
+                }
+                logLine.append(spec.getPlanName());
+            } else {
+                logLine.append("spec=");
+                if (addParenthesisQuote) {
+                    logLine.append("'(");
+                }
+                logLine.append(spec.getProductName() != null ? spec.getProductName() : "null");
+                logLine.append(":");
+                logLine.append(spec.getBillingPeriod() != null ? spec.getBillingPeriod() : "null");
+                logLine.append(":");
+                logLine.append(spec.getPriceListName() != null ? spec.getPriceListName() : "null");
             }
-            logLine.append(spec.getProductName() != null ? spec.getProductName() : "null");
-            logLine.append(":");
-            logLine.append(spec.getBillingPeriod() != null ? spec.getBillingPeriod() : "null");
             logLine.append(":");
             logLine.append(spec.getPhaseType() != null ? spec.getPhaseType() : "null");
-            logLine.append(":");
-            logLine.append(spec.getPriceListName() != null ? spec.getPriceListName() : "null");
-            if (addParentheseQuote) {
+            if (addParenthesisQuote) {
                 logLine.append(")'");
             }
         }