diff --git a/osgi-bundles/bundles/analytics/src/main/java/com/ning/billing/osgi/bundles/analytics/BusinessAnalyticsBase.java b/osgi-bundles/bundles/analytics/src/main/java/com/ning/billing/osgi/bundles/analytics/BusinessAnalyticsBase.java
index 6e50c88..eee2f51 100644
--- a/osgi-bundles/bundles/analytics/src/main/java/com/ning/billing/osgi/bundles/analytics/BusinessAnalyticsBase.java
+++ b/osgi-bundles/bundles/analytics/src/main/java/com/ning/billing/osgi/bundles/analytics/BusinessAnalyticsBase.java
@@ -84,9 +84,16 @@ public abstract class BusinessAnalyticsBase {
// TENANT
//
+ private static final long INTERNAL_TENANT_RECORD_ID = 0L;
+
protected Long getTenantRecordId(final TenantContext context) throws AnalyticsRefreshException {
- final RecordIdApi recordIdUserApi = getRecordIdUserApi();
- return recordIdUserApi.getRecordId(context.getTenantId(), ObjectType.TENANT, context);
+ // See convention in InternalCallContextFactory
+ if (context.getTenantId() == null) {
+ return INTERNAL_TENANT_RECORD_ID;
+ } else {
+ final RecordIdApi recordIdUserApi = getRecordIdUserApi();
+ return recordIdUserApi.getRecordId(context.getTenantId(), ObjectType.TENANT, context);
+ }
}
//
diff --git a/util/src/main/java/com/ning/billing/util/callcontext/InternalCallContextFactory.java b/util/src/main/java/com/ning/billing/util/callcontext/InternalCallContextFactory.java
index 450d29b..4c03231 100644
--- a/util/src/main/java/com/ning/billing/util/callcontext/InternalCallContextFactory.java
+++ b/util/src/main/java/com/ning/billing/util/callcontext/InternalCallContextFactory.java
@@ -220,6 +220,7 @@ public class InternalCallContextFactory {
private Long getTenantRecordId(final TenantContext context) {
// Default to single default tenant (e.g. single tenant mode)
+ // TODO Extract this convention (e.g. BusinessAnalyticsBase needs to know about it)
if (context.getTenantId() == null) {
return INTERNAL_TENANT_RECORD_ID;
} else {