killbill-memoizeit
Changes
analytics/src/main/java/com/ning/billing/analytics/dao/BusinessSubscriptionTransitionFieldMapper.java 6(+5 -1)
analytics/src/main/java/com/ning/billing/analytics/dao/BusinessSubscriptionTransitionFieldSqlDao.java 3(+2 -1)
analytics/src/main/java/com/ning/billing/analytics/dao/BusinessSubscriptionTransitionTagMapper.java 5(+4 -1)
analytics/src/main/java/com/ning/billing/analytics/dao/BusinessSubscriptionTransitionTagSqlDao.java 2(+1 -1)
analytics/src/main/java/com/ning/billing/analytics/model/BusinessSubscriptionTransitionField.java 17(+14 -3)
analytics/src/main/java/com/ning/billing/analytics/model/BusinessSubscriptionTransitionTag.java 17(+14 -3)
analytics/src/main/resources/com/ning/billing/analytics/dao/BusinessOverdueStatusSqlDao.sql.stg 5(+4 -1)
analytics/src/main/resources/com/ning/billing/analytics/dao/BusinessSubscriptionTransitionFieldSqlDao.sql.stg 5(+4 -1)
analytics/src/main/resources/com/ning/billing/analytics/dao/BusinessSubscriptionTransitionTagSqlDao.sql.stg 5(+4 -1)
analytics/src/test/java/com/ning/billing/analytics/dao/TestBusinessOverdueStatusSqlDao.java 9(+5 -4)
analytics/src/test/java/com/ning/billing/analytics/dao/TestBusinessSubscriptionTransitionFieldSqlDao.java 8(+5 -3)
analytics/src/test/java/com/ning/billing/analytics/dao/TestBusinessSubscriptionTransitionTagSqlDao.java 8(+5 -3)
Details
diff --git a/analytics/src/main/java/com/ning/billing/analytics/BusinessTagRecorder.java b/analytics/src/main/java/com/ning/billing/analytics/BusinessTagRecorder.java
index 8aa4343..49c4b2b 100644
--- a/analytics/src/main/java/com/ning/billing/analytics/BusinessTagRecorder.java
+++ b/analytics/src/main/java/com/ning/billing/analytics/BusinessTagRecorder.java
@@ -122,13 +122,22 @@ public class BusinessTagRecorder {
return;
}
+ final Account account;
+ try {
+ account = accountApi.getAccountById(bundle.getAccountId());
+ } catch (AccountApiException e) {
+ log.warn("Ignoring tag addition of {} for bundle id {} and account id {} (account does not exist)", new Object[]{name, objectId.toString(), bundle.getAccountId()});
+ return;
+ }
+
/*
* Note: we store tags associated to bundles, not to subscriptions.
* Subscriptions are in the core of killbill and not exposed in Analytics to avoid a hard dependency
* (i.e. dashboards should not rely on killbill ids).
*/
+ final String accountKey = account.getExternalKey();
final String externalKey = bundle.getKey();
- subscriptionTransitionTagSqlDao.addTag(externalKey, name);
+ subscriptionTransitionTagSqlDao.addTag(accountKey, externalKey, name);
}
private void tagRemovedForBundle(final UUID objectId, final String name) {
diff --git a/analytics/src/main/java/com/ning/billing/analytics/dao/BusinessOverdueStatusBinder.java b/analytics/src/main/java/com/ning/billing/analytics/dao/BusinessOverdueStatusBinder.java
index eb1bd9d..1e0575e 100644
--- a/analytics/src/main/java/com/ning/billing/analytics/dao/BusinessOverdueStatusBinder.java
+++ b/analytics/src/main/java/com/ning/billing/analytics/dao/BusinessOverdueStatusBinder.java
@@ -38,6 +38,7 @@ public @interface BusinessOverdueStatusBinder {
public Binder build(final Annotation annotation) {
return new Binder<BusinessOverdueStatusBinder, BusinessOverdueStatus>() {
public void bind(final SQLStatement q, final BusinessOverdueStatusBinder bind, final BusinessOverdueStatus overdueStatus) {
+ q.bind("account_key", overdueStatus.getAccountKey());
q.bind("external_key", overdueStatus.getExternalKey());
q.bind("status", overdueStatus.getStatus());
diff --git a/analytics/src/main/java/com/ning/billing/analytics/dao/BusinessOverdueStatusMapper.java b/analytics/src/main/java/com/ning/billing/analytics/dao/BusinessOverdueStatusMapper.java
index dcd6bf2..819c9ab 100644
--- a/analytics/src/main/java/com/ning/billing/analytics/dao/BusinessOverdueStatusMapper.java
+++ b/analytics/src/main/java/com/ning/billing/analytics/dao/BusinessOverdueStatusMapper.java
@@ -30,10 +30,11 @@ public class BusinessOverdueStatusMapper implements ResultSetMapper<BusinessOver
@Override
public BusinessOverdueStatus map(final int index, final ResultSet r, final StatementContext ctx) throws SQLException {
final String externalKey = r.getString(1);
- final String status = r.getString(2);
- final DateTime startDate = new DateTime(r.getLong(3), DateTimeZone.UTC);
- final DateTime endDate = new DateTime(r.getLong(4), DateTimeZone.UTC);
+ final String accountKey = r.getString(2);
+ final String status = r.getString(3);
+ final DateTime startDate = new DateTime(r.getLong(4), DateTimeZone.UTC);
+ final DateTime endDate = new DateTime(r.getLong(5), DateTimeZone.UTC);
- return new BusinessOverdueStatus(endDate, externalKey, startDate, status);
+ return new BusinessOverdueStatus(accountKey, endDate, externalKey, startDate, status);
}
}
diff --git a/analytics/src/main/java/com/ning/billing/analytics/dao/BusinessSubscriptionTransitionFieldMapper.java b/analytics/src/main/java/com/ning/billing/analytics/dao/BusinessSubscriptionTransitionFieldMapper.java
index 68ef0e2..53cfef7 100644
--- a/analytics/src/main/java/com/ning/billing/analytics/dao/BusinessSubscriptionTransitionFieldMapper.java
+++ b/analytics/src/main/java/com/ning/billing/analytics/dao/BusinessSubscriptionTransitionFieldMapper.java
@@ -27,6 +27,10 @@ import com.ning.billing.analytics.model.BusinessSubscriptionTransitionField;
public class BusinessSubscriptionTransitionFieldMapper implements ResultSetMapper<BusinessSubscriptionTransitionField> {
@Override
public BusinessSubscriptionTransitionField map(final int index, final ResultSet r, final StatementContext ctx) throws SQLException {
- return new BusinessSubscriptionTransitionField(r.getString(1), r.getString(2), r.getString(3));
+ final String externalKey = r.getString(1);
+ final String accountKey = r.getString(2);
+ final String name = r.getString(3);
+ final String value = r.getString(4);
+ return new BusinessSubscriptionTransitionField(accountKey, externalKey, name, value);
}
}
diff --git a/analytics/src/main/java/com/ning/billing/analytics/dao/BusinessSubscriptionTransitionFieldSqlDao.java b/analytics/src/main/java/com/ning/billing/analytics/dao/BusinessSubscriptionTransitionFieldSqlDao.java
index d22076e..a316939 100644
--- a/analytics/src/main/java/com/ning/billing/analytics/dao/BusinessSubscriptionTransitionFieldSqlDao.java
+++ b/analytics/src/main/java/com/ning/billing/analytics/dao/BusinessSubscriptionTransitionFieldSqlDao.java
@@ -33,7 +33,8 @@ public interface BusinessSubscriptionTransitionFieldSqlDao {
List<BusinessSubscriptionTransitionField> getFieldsForBusinessSubscriptionTransition(@Bind("external_key") final String externalKey);
@SqlUpdate
- int addField(@Bind("external_key") final String externalKey, @Bind("name") final String name, @Bind("value") final String value);
+ int addField(@Bind("account_key") final String accountKey, @Bind("external_key") final String externalKey,
+ @Bind("name") final String name, @Bind("value") final String value);
@SqlUpdate
int removeField(@Bind("external_key") final String externalKey, @Bind("name") final String name);
diff --git a/analytics/src/main/java/com/ning/billing/analytics/dao/BusinessSubscriptionTransitionTagMapper.java b/analytics/src/main/java/com/ning/billing/analytics/dao/BusinessSubscriptionTransitionTagMapper.java
index 36f7631..47a7be9 100644
--- a/analytics/src/main/java/com/ning/billing/analytics/dao/BusinessSubscriptionTransitionTagMapper.java
+++ b/analytics/src/main/java/com/ning/billing/analytics/dao/BusinessSubscriptionTransitionTagMapper.java
@@ -27,6 +27,9 @@ import com.ning.billing.analytics.model.BusinessSubscriptionTransitionTag;
public class BusinessSubscriptionTransitionTagMapper implements ResultSetMapper<BusinessSubscriptionTransitionTag> {
@Override
public BusinessSubscriptionTransitionTag map(final int index, final ResultSet r, final StatementContext ctx) throws SQLException {
- return new BusinessSubscriptionTransitionTag(r.getString(1), r.getString(2));
+ final String externalKey = r.getString(1);
+ final String accountKey = r.getString(2);
+ final String name = r.getString(3);
+ return new BusinessSubscriptionTransitionTag(accountKey, externalKey, name);
}
}
diff --git a/analytics/src/main/java/com/ning/billing/analytics/dao/BusinessSubscriptionTransitionTagSqlDao.java b/analytics/src/main/java/com/ning/billing/analytics/dao/BusinessSubscriptionTransitionTagSqlDao.java
index c073a53..094af9a 100644
--- a/analytics/src/main/java/com/ning/billing/analytics/dao/BusinessSubscriptionTransitionTagSqlDao.java
+++ b/analytics/src/main/java/com/ning/billing/analytics/dao/BusinessSubscriptionTransitionTagSqlDao.java
@@ -33,7 +33,7 @@ public interface BusinessSubscriptionTransitionTagSqlDao {
List<BusinessSubscriptionTransitionTag> getTagsForBusinessSubscriptionTransition(@Bind("external_key") final String externalKey);
@SqlUpdate
- int addTag(@Bind("external_key") final String externalKey, @Bind("name") final String name);
+ int addTag(@Bind("account_key") final String accountKey, @Bind("external_key") final String externalKey, @Bind("name") final String name);
@SqlUpdate
int removeTag(@Bind("external_key") final String externalKey, @Bind("name") final String name);
diff --git a/analytics/src/main/java/com/ning/billing/analytics/model/BusinessOverdueStatus.java b/analytics/src/main/java/com/ning/billing/analytics/model/BusinessOverdueStatus.java
index dd8a310..e76a02e 100644
--- a/analytics/src/main/java/com/ning/billing/analytics/model/BusinessOverdueStatus.java
+++ b/analytics/src/main/java/com/ning/billing/analytics/model/BusinessOverdueStatus.java
@@ -19,18 +19,25 @@ package com.ning.billing.analytics.model;
import org.joda.time.DateTime;
public class BusinessOverdueStatus {
+ private final String accountKey;
private final String externalKey;
private final String status;
private final DateTime startDate;
private final DateTime endDate;
- public BusinessOverdueStatus(final DateTime endDate, final String externalKey, final DateTime startDate, final String status) {
+ public BusinessOverdueStatus(final String accountKey, final DateTime endDate, final String externalKey,
+ final DateTime startDate, final String status) {
+ this.accountKey = accountKey;
this.endDate = endDate;
this.externalKey = externalKey;
this.startDate = startDate;
this.status = status;
}
+ public String getAccountKey() {
+ return accountKey;
+ }
+
public DateTime getEndDate() {
return endDate;
}
@@ -51,7 +58,8 @@ public class BusinessOverdueStatus {
public String toString() {
final StringBuilder sb = new StringBuilder();
sb.append("BusinessOverdueStatus");
- sb.append("{endDate=").append(endDate);
+ sb.append("{accountKey=").append(accountKey);
+ sb.append(", endDate='").append(endDate).append('\'');
sb.append(", externalKey='").append(externalKey).append('\'');
sb.append(", status='").append(status).append('\'');
sb.append(", startDate=").append(startDate);
@@ -70,6 +78,9 @@ public class BusinessOverdueStatus {
final BusinessOverdueStatus that = (BusinessOverdueStatus) o;
+ if (accountKey != null ? !accountKey.equals(that.accountKey) : that.accountKey != null) {
+ return false;
+ }
if (endDate != null ? !endDate.equals(that.endDate) : that.endDate != null) {
return false;
}
@@ -88,7 +99,8 @@ public class BusinessOverdueStatus {
@Override
public int hashCode() {
- int result = externalKey != null ? externalKey.hashCode() : 0;
+ int result = accountKey != null ? accountKey.hashCode() : 0;
+ result = 31 * result + (externalKey != null ? externalKey.hashCode() : 0);
result = 31 * result + (status != null ? status.hashCode() : 0);
result = 31 * result + (startDate != null ? startDate.hashCode() : 0);
result = 31 * result + (endDate != null ? endDate.hashCode() : 0);
diff --git a/analytics/src/main/java/com/ning/billing/analytics/model/BusinessSubscriptionTransitionField.java b/analytics/src/main/java/com/ning/billing/analytics/model/BusinessSubscriptionTransitionField.java
index 4fe470a..f54e39e 100644
--- a/analytics/src/main/java/com/ning/billing/analytics/model/BusinessSubscriptionTransitionField.java
+++ b/analytics/src/main/java/com/ning/billing/analytics/model/BusinessSubscriptionTransitionField.java
@@ -17,13 +17,19 @@
package com.ning.billing.analytics.model;
public class BusinessSubscriptionTransitionField extends BusinessField {
+ private final String accountKey;
private final String externalKey;
- public BusinessSubscriptionTransitionField(final String externalKey, final String name, final String value) {
+ public BusinessSubscriptionTransitionField(final String accountKey, final String externalKey, final String name, final String value) {
super(name, value);
+ this.accountKey = accountKey;
this.externalKey = externalKey;
}
+ public String getAccountKey() {
+ return accountKey;
+ }
+
public String getExternalKey() {
return externalKey;
}
@@ -32,7 +38,8 @@ public class BusinessSubscriptionTransitionField extends BusinessField {
public String toString() {
final StringBuilder sb = new StringBuilder();
sb.append("BusinessSubscriptionTransitionField");
- sb.append("{externalKey='").append(externalKey).append('\'');
+ sb.append("{accountKey='").append(accountKey).append('\'');
+ sb.append(", externalKey='").append(externalKey).append('\'');
sb.append(", name='").append(getName()).append('\'');
sb.append(", value='").append(getValue()).append('\'');
sb.append('}');
@@ -50,6 +57,9 @@ public class BusinessSubscriptionTransitionField extends BusinessField {
final BusinessSubscriptionTransitionField that = (BusinessSubscriptionTransitionField) o;
+ if (accountKey != null ? !accountKey.equals(that.accountKey) : that.accountKey != null) {
+ return false;
+ }
if (externalKey != null ? !externalKey.equals(that.externalKey) : that.externalKey != null) {
return false;
}
@@ -65,7 +75,8 @@ public class BusinessSubscriptionTransitionField extends BusinessField {
@Override
public int hashCode() {
- int result = externalKey != null ? externalKey.hashCode() : 0;
+ int result = accountKey != null ? accountKey.hashCode() : 0;
+ result = 31 * result + (externalKey != null ? externalKey.hashCode() : 0);
result = 31 * result + (getName() != null ? getName().hashCode() : 0);
result = 31 * result + (getValue() != null ? getValue().hashCode() : 0);
return result;
diff --git a/analytics/src/main/java/com/ning/billing/analytics/model/BusinessSubscriptionTransitionTag.java b/analytics/src/main/java/com/ning/billing/analytics/model/BusinessSubscriptionTransitionTag.java
index eefa65c..0539461 100644
--- a/analytics/src/main/java/com/ning/billing/analytics/model/BusinessSubscriptionTransitionTag.java
+++ b/analytics/src/main/java/com/ning/billing/analytics/model/BusinessSubscriptionTransitionTag.java
@@ -17,13 +17,19 @@
package com.ning.billing.analytics.model;
public class BusinessSubscriptionTransitionTag extends BusinessTag {
+ private final String accountKey;
private final String externalKey;
- public BusinessSubscriptionTransitionTag(final String externalKey, final String name) {
+ public BusinessSubscriptionTransitionTag(final String accountKey, final String externalKey, final String name) {
super(name);
+ this.accountKey = accountKey;
this.externalKey = externalKey;
}
+ public String getAccountKey() {
+ return accountKey;
+ }
+
public String getExternalKey() {
return externalKey;
}
@@ -32,7 +38,8 @@ public class BusinessSubscriptionTransitionTag extends BusinessTag {
public String toString() {
final StringBuilder sb = new StringBuilder();
sb.append("BusinessSubscriptionTransitionTag");
- sb.append("{externalKey='").append(externalKey).append('\'');
+ sb.append("{accountKey='").append(accountKey).append('\'');
+ sb.append(", externalKey='").append(externalKey).append('\'');
sb.append(", name='").append(getName()).append('\'');
sb.append('}');
return sb.toString();
@@ -49,6 +56,9 @@ public class BusinessSubscriptionTransitionTag extends BusinessTag {
final BusinessSubscriptionTransitionTag that = (BusinessSubscriptionTransitionTag) o;
+ if (accountKey != null ? !accountKey.equals(that.accountKey) : that.accountKey != null) {
+ return false;
+ }
if (externalKey != null ? !externalKey.equals(that.externalKey) : that.externalKey != null) {
return false;
}
@@ -61,7 +71,8 @@ public class BusinessSubscriptionTransitionTag extends BusinessTag {
@Override
public int hashCode() {
- int result = externalKey != null ? externalKey.hashCode() : 0;
+ int result = accountKey != null ? accountKey.hashCode() : 0;
+ result = 31 * result + (externalKey != null ? externalKey.hashCode() : 0);
result = 31 * result + (getName() != null ? getName().hashCode() : 0);
return result;
}
diff --git a/analytics/src/main/resources/com/ning/billing/analytics/dao/BusinessOverdueStatusSqlDao.sql.stg b/analytics/src/main/resources/com/ning/billing/analytics/dao/BusinessOverdueStatusSqlDao.sql.stg
index d412125..c1c7140 100644
--- a/analytics/src/main/resources/com/ning/billing/analytics/dao/BusinessOverdueStatusSqlDao.sql.stg
+++ b/analytics/src/main/resources/com/ning/billing/analytics/dao/BusinessOverdueStatusSqlDao.sql.stg
@@ -3,6 +3,7 @@ group BusinessOverdueStatus;
getOverdueStatusesForBundle(external_key) ::= <<
select
external_key
+, account_key
, status
, start_date
, end_date
@@ -15,11 +16,13 @@ order by start_date asc
createOverdueStatus() ::= <<
insert into bos (
external_key
+, account_key
, status
, start_date
, end_date
) values (
:external_key
+, :account_key
, :status
, :start_date
, :end_date
@@ -28,4 +31,4 @@ insert into bos (
test() ::= <<
select 1 from bos;
->>
\ No newline at end of file
+>>
diff --git a/analytics/src/main/resources/com/ning/billing/analytics/dao/BusinessSubscriptionTransitionFieldSqlDao.sql.stg b/analytics/src/main/resources/com/ning/billing/analytics/dao/BusinessSubscriptionTransitionFieldSqlDao.sql.stg
index 522e6d7..0330ac0 100644
--- a/analytics/src/main/resources/com/ning/billing/analytics/dao/BusinessSubscriptionTransitionFieldSqlDao.sql.stg
+++ b/analytics/src/main/resources/com/ning/billing/analytics/dao/BusinessSubscriptionTransitionFieldSqlDao.sql.stg
@@ -3,6 +3,7 @@ group BusinessSubscriptionTransitionField;
getFieldsForBusinessSubscriptionTransition(external_key) ::=<<
select
external_key
+, account_key
, name
, value
from bst_fields
@@ -13,10 +14,12 @@ where external_key = :external_key
addField(external_key, name, value) ::=<<
insert into bst_fields (
external_key
+, account_key
, name
, value
) values (
:external_key
+, :account_key
, :name
, :value
);
@@ -28,4 +31,4 @@ delete from bst_fields where external_key = :external_key and name = :name;
test() ::= <<
select 1 from bst_fields;
->>
\ No newline at end of file
+>>
diff --git a/analytics/src/main/resources/com/ning/billing/analytics/dao/BusinessSubscriptionTransitionTagSqlDao.sql.stg b/analytics/src/main/resources/com/ning/billing/analytics/dao/BusinessSubscriptionTransitionTagSqlDao.sql.stg
index 3d2255f..dcd99aa 100644
--- a/analytics/src/main/resources/com/ning/billing/analytics/dao/BusinessSubscriptionTransitionTagSqlDao.sql.stg
+++ b/analytics/src/main/resources/com/ning/billing/analytics/dao/BusinessSubscriptionTransitionTagSqlDao.sql.stg
@@ -3,6 +3,7 @@ group BusinessSubscriptionTransitionTag;
getTagsForBusinessSubscriptionTransition(external_key) ::=<<
select
external_key
+, account_key
, name
from bst_tags
where external_key = :external_key
@@ -12,9 +13,11 @@ where external_key = :external_key
addTag(external_key, name) ::=<<
insert into bst_tags (
external_key
+, account_key
, name
) values (
:external_key
+, :account_key
, :name
);
>>
@@ -25,4 +28,4 @@ delete from bst_tags where external_key = :external_key and name = :name;
test() ::= <<
select 1 from bst_tags;
->>
\ No newline at end of file
+>>
diff --git a/analytics/src/main/resources/com/ning/billing/analytics/ddl.sql b/analytics/src/main/resources/com/ning/billing/analytics/ddl.sql
index 80c1be6..c7f9d1b 100644
--- a/analytics/src/main/resources/com/ning/billing/analytics/ddl.sql
+++ b/analytics/src/main/resources/com/ning/billing/analytics/ddl.sql
@@ -126,6 +126,7 @@ drop table if exists bos;
create table bos (
record_id int(11) unsigned not null auto_increment
, external_key varchar(50) not null comment 'Bundle external key'
+, account_key varchar(50) not null comment 'Account external key'
, status varchar(50) not null
, start_date bigint default null
, end_date bigint default null
@@ -154,6 +155,7 @@ drop table if exists bst_tags;
create table bst_tags (
record_id int(11) unsigned not null auto_increment
, external_key varchar(50) not null comment 'Bundle external key'
+, account_key varchar(50) not null comment 'Account external key'
, name varchar(20) not null
, primary key(record_id)
) engine=innodb comment 'Tags associated to bundles';
@@ -162,6 +164,7 @@ drop table if exists bst_fields;
create table bst_fields (
record_id int(11) unsigned not null auto_increment
, external_key varchar(50) not null comment 'Bundle external key'
+, account_key varchar(50) not null comment 'Account external key'
, name varchar(30) not null
, value varchar(255) default null
, primary key(record_id)
diff --git a/analytics/src/test/java/com/ning/billing/analytics/dao/TestBusinessOverdueStatusSqlDao.java b/analytics/src/test/java/com/ning/billing/analytics/dao/TestBusinessOverdueStatusSqlDao.java
index c16ab3c..f21d3af 100644
--- a/analytics/src/test/java/com/ning/billing/analytics/dao/TestBusinessOverdueStatusSqlDao.java
+++ b/analytics/src/test/java/com/ning/billing/analytics/dao/TestBusinessOverdueStatusSqlDao.java
@@ -39,8 +39,9 @@ public class TestBusinessOverdueStatusSqlDao extends TestWithEmbeddedDB {
@Test(groups = "slow")
public void testCreate() throws Exception {
+ final String accountKey = UUID.randomUUID().toString();
final String externalKey = UUID.randomUUID().toString();
- final BusinessOverdueStatus firstOverdueStatus = createOverdueStatus(externalKey);
+ final BusinessOverdueStatus firstOverdueStatus = createOverdueStatus(accountKey, externalKey);
// Verify initial state
Assert.assertEquals(overdueStatusSqlDao.getOverdueStatusesForBundle(externalKey).size(), 0);
@@ -53,7 +54,7 @@ public class TestBusinessOverdueStatusSqlDao extends TestWithEmbeddedDB {
Assert.assertEquals(overdueStatusSqlDao.getOverdueStatusesForBundle(externalKey).get(0), firstOverdueStatus);
// Add a second one
- final BusinessOverdueStatus secondOverdueStatus = createOverdueStatus(externalKey);
+ final BusinessOverdueStatus secondOverdueStatus = createOverdueStatus(accountKey, externalKey);
Assert.assertEquals(overdueStatusSqlDao.createOverdueStatus(secondOverdueStatus), 1);
// Retrieve both
@@ -72,11 +73,11 @@ public class TestBusinessOverdueStatusSqlDao extends TestWithEmbeddedDB {
}
}
- private BusinessOverdueStatus createOverdueStatus(final String externalKey) {
+ private BusinessOverdueStatus createOverdueStatus(final String accountKey, final String externalKey) {
final DateTime endDate = new DateTime(DateTimeZone.UTC);
final DateTime startDate = new DateTime(DateTimeZone.UTC);
final String status = UUID.randomUUID().toString();
- return new BusinessOverdueStatus(endDate, externalKey, startDate, status);
+ return new BusinessOverdueStatus(accountKey, endDate, externalKey, startDate, status);
}
}
diff --git a/analytics/src/test/java/com/ning/billing/analytics/dao/TestBusinessSubscriptionTransitionFieldSqlDao.java b/analytics/src/test/java/com/ning/billing/analytics/dao/TestBusinessSubscriptionTransitionFieldSqlDao.java
index 5233229..eb0d374 100644
--- a/analytics/src/test/java/com/ning/billing/analytics/dao/TestBusinessSubscriptionTransitionFieldSqlDao.java
+++ b/analytics/src/test/java/com/ning/billing/analytics/dao/TestBusinessSubscriptionTransitionFieldSqlDao.java
@@ -38,6 +38,7 @@ public class TestBusinessSubscriptionTransitionFieldSqlDao extends TestWithEmbed
@Test(groups = "slow")
public void testCRUD() throws Exception {
+ final String accountKey = UUID.randomUUID().toString();
final String externalKey = UUID.randomUUID().toString();
final String name = UUID.randomUUID().toString().substring(0, 30);
final String value = UUID.randomUUID().toString();
@@ -47,7 +48,7 @@ public class TestBusinessSubscriptionTransitionFieldSqlDao extends TestWithEmbed
Assert.assertEquals(subscriptionTransitionFieldSqlDao.removeField(externalKey, name), 0);
// Add an entry
- Assert.assertEquals(subscriptionTransitionFieldSqlDao.addField(externalKey, name, value), 1);
+ Assert.assertEquals(subscriptionTransitionFieldSqlDao.addField(accountKey, externalKey, name, value), 1);
final List<BusinessSubscriptionTransitionField> fieldsForBusinessSubscriptionTransition = subscriptionTransitionFieldSqlDao.getFieldsForBusinessSubscriptionTransition(externalKey);
Assert.assertEquals(fieldsForBusinessSubscriptionTransition.size(), 1);
@@ -64,14 +65,15 @@ public class TestBusinessSubscriptionTransitionFieldSqlDao extends TestWithEmbed
@Test(groups = "slow")
public void testSegmentation() throws Exception {
+ final String accountKey = UUID.randomUUID().toString();
final String externalKey1 = UUID.randomUUID().toString();
final String name1 = UUID.randomUUID().toString().substring(0, 30);
final String externalKey2 = UUID.randomUUID().toString();
final String name2 = UUID.randomUUID().toString().substring(0, 30);
// Add a field to both transitions
- Assert.assertEquals(subscriptionTransitionFieldSqlDao.addField(externalKey1, name1, UUID.randomUUID().toString()), 1);
- Assert.assertEquals(subscriptionTransitionFieldSqlDao.addField(externalKey2, name2, UUID.randomUUID().toString()), 1);
+ Assert.assertEquals(subscriptionTransitionFieldSqlDao.addField(accountKey, externalKey1, name1, UUID.randomUUID().toString()), 1);
+ Assert.assertEquals(subscriptionTransitionFieldSqlDao.addField(accountKey, externalKey2, name2, UUID.randomUUID().toString()), 1);
Assert.assertEquals(subscriptionTransitionFieldSqlDao.getFieldsForBusinessSubscriptionTransition(externalKey1).size(), 1);
Assert.assertEquals(subscriptionTransitionFieldSqlDao.getFieldsForBusinessSubscriptionTransition(externalKey2).size(), 1);
diff --git a/analytics/src/test/java/com/ning/billing/analytics/dao/TestBusinessSubscriptionTransitionTagSqlDao.java b/analytics/src/test/java/com/ning/billing/analytics/dao/TestBusinessSubscriptionTransitionTagSqlDao.java
index 8b4740f..7b8f1db 100644
--- a/analytics/src/test/java/com/ning/billing/analytics/dao/TestBusinessSubscriptionTransitionTagSqlDao.java
+++ b/analytics/src/test/java/com/ning/billing/analytics/dao/TestBusinessSubscriptionTransitionTagSqlDao.java
@@ -38,6 +38,7 @@ public class TestBusinessSubscriptionTransitionTagSqlDao extends TestWithEmbedde
@Test(groups = "slow")
public void testCRUD() throws Exception {
+ final String accountKey = UUID.randomUUID().toString();
final String externalKey = UUID.randomUUID().toString();
final String name = UUID.randomUUID().toString().substring(0, 20);
@@ -46,7 +47,7 @@ public class TestBusinessSubscriptionTransitionTagSqlDao extends TestWithEmbedde
Assert.assertEquals(subscriptionTransitionTagSqlDao.removeTag(externalKey, name), 0);
// Add an entry
- Assert.assertEquals(subscriptionTransitionTagSqlDao.addTag(externalKey, name), 1);
+ Assert.assertEquals(subscriptionTransitionTagSqlDao.addTag(accountKey, externalKey, name), 1);
final List<BusinessSubscriptionTransitionTag> tagsForBusinessSubscriptionTransition = subscriptionTransitionTagSqlDao.getTagsForBusinessSubscriptionTransition(externalKey);
Assert.assertEquals(tagsForBusinessSubscriptionTransition.size(), 1);
@@ -62,14 +63,15 @@ public class TestBusinessSubscriptionTransitionTagSqlDao extends TestWithEmbedde
@Test(groups = "slow")
public void testSegmentation() throws Exception {
+ final String accountKey = UUID.randomUUID().toString();
final String externalKey1 = UUID.randomUUID().toString();
final String name1 = UUID.randomUUID().toString().substring(0, 20);
final String externalKey2 = UUID.randomUUID().toString();
final String name2 = UUID.randomUUID().toString().substring(0, 20);
// Add a tag to both transitions
- Assert.assertEquals(subscriptionTransitionTagSqlDao.addTag(externalKey1, name1), 1);
- Assert.assertEquals(subscriptionTransitionTagSqlDao.addTag(externalKey2, name2), 1);
+ Assert.assertEquals(subscriptionTransitionTagSqlDao.addTag(accountKey, externalKey1, name1), 1);
+ Assert.assertEquals(subscriptionTransitionTagSqlDao.addTag(accountKey, externalKey2, name2), 1);
Assert.assertEquals(subscriptionTransitionTagSqlDao.getTagsForBusinessSubscriptionTransition(externalKey1).size(), 1);
Assert.assertEquals(subscriptionTransitionTagSqlDao.getTagsForBusinessSubscriptionTransition(externalKey2).size(), 1);
diff --git a/analytics/src/test/java/com/ning/billing/analytics/model/TestBusinessOverdueStatus.java b/analytics/src/test/java/com/ning/billing/analytics/model/TestBusinessOverdueStatus.java
index b92ee12..6edcbf9 100644
--- a/analytics/src/test/java/com/ning/billing/analytics/model/TestBusinessOverdueStatus.java
+++ b/analytics/src/test/java/com/ning/billing/analytics/model/TestBusinessOverdueStatus.java
@@ -28,21 +28,26 @@ import com.ning.billing.analytics.AnalyticsTestSuite;
public class TestBusinessOverdueStatus extends AnalyticsTestSuite {
@Test(groups = "fast")
public void testEquals() throws Exception {
+ final String accountKey = UUID.randomUUID().toString();
final DateTime endDate = new DateTime(DateTimeZone.UTC);
final String externalKey = UUID.randomUUID().toString();
final DateTime startDate = new DateTime(DateTimeZone.UTC);
final String status = UUID.randomUUID().toString();
- final BusinessOverdueStatus overdueStatus = new BusinessOverdueStatus(endDate, externalKey, startDate, status);
+ final BusinessOverdueStatus overdueStatus = new BusinessOverdueStatus(accountKey, endDate, externalKey, startDate, status);
Assert.assertSame(overdueStatus, overdueStatus);
Assert.assertEquals(overdueStatus, overdueStatus);
Assert.assertTrue(overdueStatus.equals(overdueStatus));
+ Assert.assertEquals(overdueStatus.getAccountKey(), accountKey);
Assert.assertEquals(overdueStatus.getEndDate(), endDate);
Assert.assertEquals(overdueStatus.getExternalKey(), externalKey);
Assert.assertEquals(overdueStatus.getStartDate(), startDate);
Assert.assertEquals(overdueStatus.getStatus(), status);
- final BusinessOverdueStatus otherOverdueStatus = new BusinessOverdueStatus(new DateTime(DateTimeZone.UTC), UUID.randomUUID().toString(),
- new DateTime(DateTimeZone.UTC), UUID.randomUUID().toString());
+ final BusinessOverdueStatus otherOverdueStatus = new BusinessOverdueStatus(UUID.randomUUID().toString(),
+ new DateTime(DateTimeZone.UTC),
+ UUID.randomUUID().toString(),
+ new DateTime(DateTimeZone.UTC),
+ UUID.randomUUID().toString());
Assert.assertFalse(overdueStatus.equals(otherOverdueStatus));
}
}
diff --git a/analytics/src/test/java/com/ning/billing/analytics/model/TestBusinessSubscriptionTransitionField.java b/analytics/src/test/java/com/ning/billing/analytics/model/TestBusinessSubscriptionTransitionField.java
index 5a1e31b..af9122e 100644
--- a/analytics/src/test/java/com/ning/billing/analytics/model/TestBusinessSubscriptionTransitionField.java
+++ b/analytics/src/test/java/com/ning/billing/analytics/model/TestBusinessSubscriptionTransitionField.java
@@ -26,21 +26,25 @@ import com.ning.billing.analytics.AnalyticsTestSuite;
public class TestBusinessSubscriptionTransitionField extends AnalyticsTestSuite {
@Test(groups = "fast")
public void testEquals() throws Exception {
+ final String accountKey = UUID.randomUUID().toString();
final String externalKey = UUID.randomUUID().toString();
final String name = UUID.randomUUID().toString();
final String value = UUID.randomUUID().toString();
- final BusinessSubscriptionTransitionField subscriptionTransitionField = new BusinessSubscriptionTransitionField(externalKey,
+ final BusinessSubscriptionTransitionField subscriptionTransitionField = new BusinessSubscriptionTransitionField(accountKey,
+ externalKey,
name,
value);
Assert.assertSame(subscriptionTransitionField, subscriptionTransitionField);
Assert.assertEquals(subscriptionTransitionField, subscriptionTransitionField);
Assert.assertTrue(subscriptionTransitionField.equals(subscriptionTransitionField));
+ Assert.assertEquals(subscriptionTransitionField.getAccountKey(), accountKey);
Assert.assertEquals(subscriptionTransitionField.getExternalKey(), externalKey);
Assert.assertEquals(subscriptionTransitionField.getName(), name);
Assert.assertEquals(subscriptionTransitionField.getValue(), value);
final BusinessSubscriptionTransitionField otherSubscriptionField = new BusinessSubscriptionTransitionField(UUID.randomUUID().toString(),
UUID.randomUUID().toString(),
+ UUID.randomUUID().toString(),
UUID.randomUUID().toString());
Assert.assertFalse(subscriptionTransitionField.equals(otherSubscriptionField));
}
diff --git a/analytics/src/test/java/com/ning/billing/analytics/model/TestBusinessSubscriptionTransitionTag.java b/analytics/src/test/java/com/ning/billing/analytics/model/TestBusinessSubscriptionTransitionTag.java
index b5a40d1..9d079b4 100644
--- a/analytics/src/test/java/com/ning/billing/analytics/model/TestBusinessSubscriptionTransitionTag.java
+++ b/analytics/src/test/java/com/ning/billing/analytics/model/TestBusinessSubscriptionTransitionTag.java
@@ -26,16 +26,22 @@ import com.ning.billing.analytics.AnalyticsTestSuite;
public class TestBusinessSubscriptionTransitionTag extends AnalyticsTestSuite {
@Test(groups = "fast")
public void testEquals() throws Exception {
+ final String accountKey = UUID.randomUUID().toString();
final String externalKey = UUID.randomUUID().toString();
final String name = UUID.randomUUID().toString();
- final BusinessSubscriptionTransitionTag subscriptionTransitionTag = new BusinessSubscriptionTransitionTag(externalKey, name);
+ final BusinessSubscriptionTransitionTag subscriptionTransitionTag = new BusinessSubscriptionTransitionTag(accountKey,
+ externalKey,
+ name);
Assert.assertSame(subscriptionTransitionTag, subscriptionTransitionTag);
Assert.assertEquals(subscriptionTransitionTag, subscriptionTransitionTag);
Assert.assertTrue(subscriptionTransitionTag.equals(subscriptionTransitionTag));
+ Assert.assertEquals(subscriptionTransitionTag.getAccountKey(), accountKey);
Assert.assertEquals(subscriptionTransitionTag.getExternalKey(), externalKey);
Assert.assertEquals(subscriptionTransitionTag.getName(), name);
- final BusinessSubscriptionTransitionTag otherTransitionTag = new BusinessSubscriptionTransitionTag(UUID.randomUUID().toString(), UUID.randomUUID().toString());
+ final BusinessSubscriptionTransitionTag otherTransitionTag = new BusinessSubscriptionTransitionTag(UUID.randomUUID().toString(),
+ UUID.randomUUID().toString(),
+ UUID.randomUUID().toString());
Assert.assertFalse(subscriptionTransitionTag.equals(otherTransitionTag));
}
}