Details
diff --git a/invoice/src/main/java/org/killbill/billing/invoice/InvoiceDispatcher.java b/invoice/src/main/java/org/killbill/billing/invoice/InvoiceDispatcher.java
index 1fe7992..c29c28a 100644
--- a/invoice/src/main/java/org/killbill/billing/invoice/InvoiceDispatcher.java
+++ b/invoice/src/main/java/org/killbill/billing/invoice/InvoiceDispatcher.java
@@ -263,13 +263,13 @@ public class InvoiceDispatcher {
}
return null;
} catch (final CatalogApiException e) {
- log.error("Failed handling SubscriptionBase change.", e);
+ log.warn("Failed to retrieve BillingEvents for accountId='{}', dryRunArguments='{}'", accountId, dryRunArguments, e);
return null;
} catch (final AccountApiException e) {
- log.error("Failed handling SubscriptionBase change.", e);
+ log.warn("Failed to retrieve BillingEvents for accountId='{}', dryRunArguments='{}'", accountId, dryRunArguments, e);
return null;
- } catch (SubscriptionBaseApiException e) {
- log.error("Failed handling SubscriptionBase change.", e);
+ } catch (final SubscriptionBaseApiException e) {
+ log.warn("Failed to retrieve BillingEvents for accountId='{}', dryRunArguments='{}'", accountId, dryRunArguments, e);
return null;
}
}
@@ -711,6 +711,14 @@ public class InvoiceDispatcher {
public List<PlanPhasePriceOverride> getPlanPhasePriceOverrides() {
return null;
}
+
+ @Override
+ public String toString() {
+ final StringBuilder sb = new StringBuilder("TargetDateDryRunArguments{");
+ sb.append("dryRunType=").append(DryRunType.TARGET_DATE);
+ sb.append('}');
+ return sb.toString();
+ }
}
public void processParentInvoiceForInvoiceGeneration(final ImmutableAccountData account, final UUID childInvoiceId, final InternalCallContext context) throws InvoiceApiException {
diff --git a/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/InvoiceResource.java b/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/InvoiceResource.java
index a5f5ab1..614c26a 100644
--- a/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/InvoiceResource.java
+++ b/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/InvoiceResource.java
@@ -1107,5 +1107,20 @@ public class InvoiceResource extends JaxRsResourceBase {
public List<PlanPhasePriceOverride> getPlanPhasePriceOverrides() {
return overrides;
}
+
+ @Override
+ public String toString() {
+ final StringBuilder sb = new StringBuilder("DefaultDryRunArguments{");
+ sb.append("dryRunType=").append(dryRunType);
+ sb.append(", action=").append(action);
+ sb.append(", subscriptionId=").append(subscriptionId);
+ sb.append(", effectiveDate=").append(effectiveDate);
+ sb.append(", specifier=").append(specifier);
+ sb.append(", bundleId=").append(bundleId);
+ sb.append(", billingPolicy=").append(billingPolicy);
+ sb.append(", overrides=").append(overrides);
+ sb.append('}');
+ return sb.toString();
+ }
}
}
diff --git a/junction/src/main/java/org/killbill/billing/junction/plumbing/billing/DefaultInternalBillingApi.java b/junction/src/main/java/org/killbill/billing/junction/plumbing/billing/DefaultInternalBillingApi.java
index e5667a8..3d9ac2f 100644
--- a/junction/src/main/java/org/killbill/billing/junction/plumbing/billing/DefaultInternalBillingApi.java
+++ b/junction/src/main/java/org/killbill/billing/junction/plumbing/billing/DefaultInternalBillingApi.java
@@ -90,21 +90,21 @@ public class DefaultInternalBillingApi implements BillingInternalApi {
@Override
public BillingEventSet getBillingEventsForAccountAndUpdateAccountBCD(final UUID accountId, final DryRunArguments dryRunArguments, final InternalCallContext context) throws CatalogApiException, SubscriptionBaseApiException, AccountApiException {
final StaticCatalog currentCatalog = catalogService.getCurrentCatalog(true, context);
+ final Set<UUID> skippedSubscriptions = new HashSet<UUID>();
// Check to see if billing is off for the account
final List<Tag> accountTags = tagApi.getTags(accountId, ObjectType.ACCOUNT, context);
final boolean found_AUTO_INVOICING_OFF = is_AUTO_INVOICING_OFF(accountTags);
+ final DefaultBillingEventSet result;
if (found_AUTO_INVOICING_OFF) {
- return new DefaultBillingEventSet(true, currentCatalog.getRecurringBillingMode()); // billing is off, we are done
- }
-
- final List<SubscriptionBaseBundle> bundles = subscriptionApi.getBundlesForAccount(accountId, context);
+ result = new DefaultBillingEventSet(true, currentCatalog.getRecurringBillingMode()); // billing is off, we are done
+ } else {
+ result = new DefaultBillingEventSet(false, currentCatalog.getRecurringBillingMode());
- final ImmutableAccountData account = accountApi.getImmutableAccountDataById(accountId, context);
- final DefaultBillingEventSet result = new DefaultBillingEventSet(false, currentCatalog.getRecurringBillingMode());
-
- final Set<UUID> skippedSubscriptions = new HashSet<UUID>();
- addBillingEventsForBundles(bundles, account, dryRunArguments, context, result, skippedSubscriptions);
+ final ImmutableAccountData account = accountApi.getImmutableAccountDataById(accountId, context);
+ final List<SubscriptionBaseBundle> bundles = subscriptionApi.getBundlesForAccount(accountId, context);
+ addBillingEventsForBundles(bundles, account, dryRunArguments, context, result, skippedSubscriptions);
+ }
if (result.isEmpty()) {
log.info("No billing event for accountId='{}'", accountId);