killbill-uncached
Changes
entitlement/src/main/java/com/ning/billing/entitlement/api/billing/DefaultEntitlementBillingApi.java 8(+4 -4)
entitlement/src/main/java/com/ning/billing/entitlement/api/user/SubscriptionApiService.java 3(+1 -2)
entitlement/src/test/java/com/ning/billing/entitlement/api/billing/BrainDeadAccountUserApi.java 2(+1 -1)
entitlement/src/test/java/com/ning/billing/entitlement/api/billing/TestDefaultEntitlementBillingApi.java 13(+7 -6)
entitlement/src/test/java/com/ning/billing/entitlement/api/user/TestUserCustomFieldsSql.java 10(+5 -5)
entitlement/src/test/java/com/ning/billing/entitlement/engine/dao/MockEntitlementDaoMemory.java 2(+1 -1)
invoice/src/main/java/com/ning/billing/invoice/api/migration/DefaultInvoiceMigrationApi.java 10(+5 -5)
invoice/src/main/resources/com/ning/billing/invoice/dao/FixedPriceInvoiceItemSqlDao.sql.stg 5(+3 -2)
invoice/src/test/java/com/ning/billing/invoice/api/migration/TestDefaultInvoiceMigrationApi.java 10(+5 -5)
invoice/src/test/java/com/ning/billing/invoice/notification/TestNextBillingDateNotifier.java 54(+37 -17)
Details
diff --git a/account/src/main/java/com/ning/billing/account/api/DefaultAccount.java b/account/src/main/java/com/ning/billing/account/api/DefaultAccount.java
index febcd6f..a74d3b1 100644
--- a/account/src/main/java/com/ning/billing/account/api/DefaultAccount.java
+++ b/account/src/main/java/com/ning/billing/account/api/DefaultAccount.java
@@ -19,7 +19,7 @@ package com.ning.billing.account.api;
import java.util.List;
import java.util.UUID;
-import com.ning.billing.util.CallContext;
+import com.ning.billing.util.callcontext.CallContext;
import com.ning.billing.util.customfield.CustomField;
import org.joda.time.DateTime;
import org.joda.time.DateTimeZone;
diff --git a/account/src/main/java/com/ning/billing/account/api/user/DefaultAccountUserApi.java b/account/src/main/java/com/ning/billing/account/api/user/DefaultAccountUserApi.java
index fb0d005..8552f21 100644
--- a/account/src/main/java/com/ning/billing/account/api/user/DefaultAccountUserApi.java
+++ b/account/src/main/java/com/ning/billing/account/api/user/DefaultAccountUserApi.java
@@ -27,9 +27,9 @@ import com.ning.billing.account.api.AccountData;
import com.ning.billing.account.api.DefaultAccount;
import com.ning.billing.account.api.MigrationAccountData;
import com.ning.billing.account.dao.AccountDao;
-import com.ning.billing.util.CallContext;
+import com.ning.billing.util.callcontext.CallContext;
+import com.ning.billing.util.callcontext.CallContextFactory;
import com.ning.billing.util.customfield.CustomField;
-import com.ning.billing.util.entity.CallContextFactory;
import com.ning.billing.util.entity.EntityPersistenceException;
import com.ning.billing.util.tag.Tag;
diff --git a/account/src/main/java/com/ning/billing/account/dao/AccountDao.java b/account/src/main/java/com/ning/billing/account/dao/AccountDao.java
index 8fcda98..d25a3ea 100644
--- a/account/src/main/java/com/ning/billing/account/dao/AccountDao.java
+++ b/account/src/main/java/com/ning/billing/account/dao/AccountDao.java
@@ -19,8 +19,7 @@ package com.ning.billing.account.dao;
import java.util.UUID;
import com.ning.billing.account.api.Account;
import com.ning.billing.account.api.AccountApiException;
-import com.ning.billing.util.CallContext;
-import com.ning.billing.util.entity.EntityDao;
+import com.ning.billing.util.callcontext.CallContext;
import com.ning.billing.util.entity.UpdatableEntityDao;
public interface AccountDao extends UpdatableEntityDao<Account> {
diff --git a/account/src/main/java/com/ning/billing/account/dao/AccountSqlDao.java b/account/src/main/java/com/ning/billing/account/dao/AccountSqlDao.java
index 02f6682..413dcd8 100644
--- a/account/src/main/java/com/ning/billing/account/dao/AccountSqlDao.java
+++ b/account/src/main/java/com/ning/billing/account/dao/AccountSqlDao.java
@@ -23,12 +23,11 @@ import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import java.sql.ResultSet;
import java.sql.SQLException;
-import java.sql.Timestamp;
import java.util.Date;
import java.util.UUID;
-import com.ning.billing.util.CallContext;
-import com.ning.billing.util.entity.CallContextBinder;
+import com.ning.billing.util.callcontext.CallContext;
+import com.ning.billing.util.callcontext.CallContextBinder;
import com.ning.billing.util.entity.MapperBase;
import com.ning.billing.util.entity.UpdatableEntityDao;
import org.joda.time.DateTime;
diff --git a/account/src/main/java/com/ning/billing/account/dao/DefaultAccountDao.java b/account/src/main/java/com/ning/billing/account/dao/DefaultAccountDao.java
index 754c4ea..4fc4ad8 100644
--- a/account/src/main/java/com/ning/billing/account/dao/DefaultAccountDao.java
+++ b/account/src/main/java/com/ning/billing/account/dao/DefaultAccountDao.java
@@ -20,7 +20,7 @@ import java.sql.DataTruncation;
import java.util.List;
import java.util.UUID;
-import com.ning.billing.util.CallContext;
+import com.ning.billing.util.callcontext.CallContext;
import com.ning.billing.util.customfield.dao.AuditedCustomFieldDao;
import com.ning.billing.util.entity.EntityPersistenceException;
import com.ning.billing.util.tag.dao.AuditedTagDao;
diff --git a/account/src/main/resources/com/ning/billing/account/dao/AccountSqlDao.sql.stg b/account/src/main/resources/com/ning/billing/account/dao/AccountSqlDao.sql.stg
index eb47b88..f27cd2c 100644
--- a/account/src/main/resources/com/ning/billing/account/dao/AccountSqlDao.sql.stg
+++ b/account/src/main/resources/com/ning/billing/account/dao/AccountSqlDao.sql.stg
@@ -32,7 +32,7 @@ create() ::= <<
(:id, :externalKey, :email, :name, :firstNameLength, :currency, :billingCycleDay,
:paymentProviderName, :timeZone, :locale,
:address1, :address2, :companyName, :city, :stateOrProvince, :country, :postalCode, :phone,
- :userName, :date, null, null);
+ :userName, :createdDate, :userName, :updatedDate);
>>
update() ::= <<
diff --git a/account/src/main/resources/com/ning/billing/account/ddl.sql b/account/src/main/resources/com/ning/billing/account/ddl.sql
index acabc3a..ca10f6b 100644
--- a/account/src/main/resources/com/ning/billing/account/ddl.sql
+++ b/account/src/main/resources/com/ning/billing/account/ddl.sql
@@ -18,6 +18,7 @@ CREATE TABLE accounts (
country varchar(50) DEFAULT NULL,
postal_code varchar(11) DEFAULT NULL,
phone varchar(25) DEFAULT NULL,
+ migrated bool DEFAULT false,
created_date datetime NOT NULL,
created_by varchar(30) NOT NULL,
updated_date datetime DEFAULT NULL,
diff --git a/account/src/test/java/com/ning/billing/account/api/MockAccountUserApi.java b/account/src/test/java/com/ning/billing/account/api/MockAccountUserApi.java
index dc5131f..a56b4b8 100644
--- a/account/src/test/java/com/ning/billing/account/api/MockAccountUserApi.java
+++ b/account/src/test/java/com/ning/billing/account/api/MockAccountUserApi.java
@@ -21,7 +21,7 @@ import java.util.List;
import java.util.UUID;
import java.util.concurrent.CopyOnWriteArrayList;
-import com.ning.billing.util.CallContext;
+import com.ning.billing.util.callcontext.CallContext;
import org.joda.time.DateTimeZone;
import com.ning.billing.catalog.api.Currency;
diff --git a/account/src/test/java/com/ning/billing/account/dao/AccountDaoTestBase.java b/account/src/test/java/com/ning/billing/account/dao/AccountDaoTestBase.java
index 97d1860..92b316a 100644
--- a/account/src/test/java/com/ning/billing/account/dao/AccountDaoTestBase.java
+++ b/account/src/test/java/com/ning/billing/account/dao/AccountDaoTestBase.java
@@ -20,11 +20,11 @@ import static org.testng.Assert.fail;
import java.io.IOException;
-import com.ning.billing.util.CallContext;
-import com.ning.billing.util.CallOrigin;
-import com.ning.billing.util.UserType;
+import com.ning.billing.util.callcontext.CallContext;
+import com.ning.billing.util.callcontext.CallOrigin;
+import com.ning.billing.util.callcontext.UserType;
+import com.ning.billing.util.callcontext.DefaultCallContextFactory;
import com.ning.billing.util.clock.Clock;
-import com.ning.billing.util.entity.CallContextFactory;
import org.apache.commons.io.IOUtils;
import org.skife.jdbi.v2.Handle;
import org.skife.jdbi.v2.IDBI;
@@ -67,7 +67,7 @@ public abstract class AccountDaoTestBase {
accountDao.test();
Clock clock = injector.getInstance(Clock.class);
- context = new CallContextFactory(clock).createCallContext("Vizzini", CallOrigin.TEST, UserType.TEST);
+ context = new DefaultCallContextFactory(clock).createCallContext("Vizzini", CallOrigin.TEST, UserType.TEST);
BusService busService = injector.getInstance(BusService.class);
diff --git a/account/src/test/java/com/ning/billing/account/dao/MockAccountDao.java b/account/src/test/java/com/ning/billing/account/dao/MockAccountDao.java
index 9641426..7cfc3f1 100644
--- a/account/src/test/java/com/ning/billing/account/dao/MockAccountDao.java
+++ b/account/src/test/java/com/ning/billing/account/dao/MockAccountDao.java
@@ -28,7 +28,7 @@ import com.ning.billing.account.api.AccountApiException;
import com.ning.billing.account.api.AccountChangeNotification;
import com.ning.billing.account.api.user.DefaultAccountChangeNotification;
import com.ning.billing.account.api.user.DefaultAccountCreationEvent;
-import com.ning.billing.util.CallContext;
+import com.ning.billing.util.callcontext.CallContext;
import com.ning.billing.util.bus.Bus;
import com.ning.billing.util.bus.Bus.EventBusException;
diff --git a/account/src/test/java/com/ning/billing/account/glue/AccountModuleWithMocks.java b/account/src/test/java/com/ning/billing/account/glue/AccountModuleWithMocks.java
index 1720cd6..128ef23 100644
--- a/account/src/test/java/com/ning/billing/account/glue/AccountModuleWithMocks.java
+++ b/account/src/test/java/com/ning/billing/account/glue/AccountModuleWithMocks.java
@@ -19,6 +19,7 @@ package com.ning.billing.account.glue;
import com.ning.billing.account.dao.AccountDao;
import com.ning.billing.account.dao.MockAccountDao;
import com.ning.billing.util.clock.MockClockModule;
+import com.ning.billing.util.glue.CallContextModule;
public class AccountModuleWithMocks extends AccountModule {
@Override
@@ -31,5 +32,6 @@ public class AccountModuleWithMocks extends AccountModule {
protected void configure() {
super.configure();
install(new MockClockModule());
+ install(new CallContextModule());
}
}
diff --git a/analytics/src/test/java/com/ning/billing/analytics/AnalyticsTestModule.java b/analytics/src/test/java/com/ning/billing/analytics/AnalyticsTestModule.java
index 5c7ffae..dc488fb 100644
--- a/analytics/src/test/java/com/ning/billing/analytics/AnalyticsTestModule.java
+++ b/analytics/src/test/java/com/ning/billing/analytics/AnalyticsTestModule.java
@@ -18,6 +18,7 @@ package com.ning.billing.analytics;
import com.ning.billing.invoice.glue.InvoiceModule;
import com.ning.billing.payment.setup.PaymentModule;
+import com.ning.billing.util.glue.CallContextModule;
import org.skife.jdbi.v2.IDBI;
import com.ning.billing.account.glue.AccountModule;
import com.ning.billing.analytics.setup.AnalyticsModule;
@@ -39,13 +40,14 @@ public class AnalyticsTestModule extends AnalyticsModule
super.configure();
// Need to configure a few more things for the EventBus
+ install(new ClockModule());
+ install(new CallContextModule());
install(new AccountModule());
install(new CatalogModule());
install(new BusModule());
install(new EntitlementModule());
install(new InvoiceModule());
install(new PaymentModule());
- install(new ClockModule());
install(new TagStoreModule());
install(new NotificationQueueModule());
diff --git a/analytics/src/test/java/com/ning/billing/analytics/api/TestAnalyticsService.java b/analytics/src/test/java/com/ning/billing/analytics/api/TestAnalyticsService.java
index 2a9b8f3..a820bc2 100644
--- a/analytics/src/test/java/com/ning/billing/analytics/api/TestAnalyticsService.java
+++ b/analytics/src/test/java/com/ning/billing/analytics/api/TestAnalyticsService.java
@@ -26,10 +26,10 @@ import java.util.Arrays;
import java.util.List;
import java.util.UUID;
-import com.ning.billing.util.CallContext;
-import com.ning.billing.util.CallOrigin;
-import com.ning.billing.util.UserType;
-import com.ning.billing.util.entity.CallContextFactory;
+import com.ning.billing.util.callcontext.CallContext;
+import com.ning.billing.util.callcontext.CallOrigin;
+import com.ning.billing.util.callcontext.UserType;
+import com.ning.billing.util.callcontext.DefaultCallContextFactory;
import org.apache.commons.io.IOUtils;
import org.joda.time.DateTime;
import org.testng.Assert;
@@ -99,7 +99,7 @@ public class TestAnalyticsService {
private static final String CARD_COUNTRY = "France";
private final Clock clock = new DefaultClock();
- private final CallContext context = new CallContextFactory(clock).createCallContext("Analytics Test", CallOrigin.TEST, UserType.TEST);
+ private final CallContext context = new DefaultCallContextFactory(clock).createCallContext("Analytics Test", CallOrigin.TEST, UserType.TEST);
@Inject
private AccountUserApi accountApi;
diff --git a/analytics/src/test/java/com/ning/billing/analytics/MockAccount.java b/analytics/src/test/java/com/ning/billing/analytics/MockAccount.java
index 87ee4cd..8e30784 100644
--- a/analytics/src/test/java/com/ning/billing/analytics/MockAccount.java
+++ b/analytics/src/test/java/com/ning/billing/analytics/MockAccount.java
@@ -19,7 +19,7 @@ package com.ning.billing.analytics;
import java.util.List;
import java.util.UUID;
-import com.ning.billing.util.CallContext;
+import com.ning.billing.util.callcontext.CallContext;
import org.joda.time.DateTime;
import org.joda.time.DateTimeZone;
diff --git a/analytics/src/test/java/com/ning/billing/analytics/MockIAccountUserApi.java b/analytics/src/test/java/com/ning/billing/analytics/MockIAccountUserApi.java
index 3305879..2e318f3 100644
--- a/analytics/src/test/java/com/ning/billing/analytics/MockIAccountUserApi.java
+++ b/analytics/src/test/java/com/ning/billing/analytics/MockIAccountUserApi.java
@@ -26,7 +26,7 @@ import com.ning.billing.account.api.AccountUserApi;
import com.ning.billing.account.api.DefaultAccount;
import com.ning.billing.account.api.MigrationAccountData;
import com.ning.billing.catalog.api.Currency;
-import com.ning.billing.util.CallContext;
+import com.ning.billing.util.callcontext.CallContext;
import com.ning.billing.util.customfield.CustomField;
import com.ning.billing.util.tag.Tag;
diff --git a/analytics/src/test/java/com/ning/billing/analytics/MockSubscription.java b/analytics/src/test/java/com/ning/billing/analytics/MockSubscription.java
index dc338d2..0ef5df8 100644
--- a/analytics/src/test/java/com/ning/billing/analytics/MockSubscription.java
+++ b/analytics/src/test/java/com/ning/billing/analytics/MockSubscription.java
@@ -24,7 +24,7 @@ import com.ning.billing.catalog.api.ProductCategory;
import com.ning.billing.entitlement.api.user.EntitlementUserApiException;
import com.ning.billing.entitlement.api.user.Subscription;
import com.ning.billing.entitlement.api.user.SubscriptionTransition;
-import com.ning.billing.util.CallContext;
+import com.ning.billing.util.callcontext.CallContext;
import com.ning.billing.util.customfield.CustomField;
import org.joda.time.DateTime;
diff --git a/api/src/main/java/com/ning/billing/account/api/AccountUserApi.java b/api/src/main/java/com/ning/billing/account/api/AccountUserApi.java
index d698374..b6cfd23 100644
--- a/api/src/main/java/com/ning/billing/account/api/AccountUserApi.java
+++ b/api/src/main/java/com/ning/billing/account/api/AccountUserApi.java
@@ -19,7 +19,7 @@ package com.ning.billing.account.api;
import java.util.List;
import java.util.UUID;
-import com.ning.billing.util.CallContext;
+import com.ning.billing.util.callcontext.CallContext;
import com.ning.billing.util.customfield.CustomField;
import com.ning.billing.util.tag.Tag;
diff --git a/api/src/main/java/com/ning/billing/invoice/api/InvoiceUserApi.java b/api/src/main/java/com/ning/billing/invoice/api/InvoiceUserApi.java
index a66aa4e..9c9ee4f 100644
--- a/api/src/main/java/com/ning/billing/invoice/api/InvoiceUserApi.java
+++ b/api/src/main/java/com/ning/billing/invoice/api/InvoiceUserApi.java
@@ -16,7 +16,7 @@
package com.ning.billing.invoice.api;
-import com.ning.billing.util.CallContext;
+import com.ning.billing.util.callcontext.CallContext;
import org.joda.time.DateTime;
import java.math.BigDecimal;
diff --git a/api/src/main/java/com/ning/billing/invoice/api/test/InvoiceTestApi.java b/api/src/main/java/com/ning/billing/invoice/api/test/InvoiceTestApi.java
index 248284e..6c00934 100644
--- a/api/src/main/java/com/ning/billing/invoice/api/test/InvoiceTestApi.java
+++ b/api/src/main/java/com/ning/billing/invoice/api/test/InvoiceTestApi.java
@@ -17,7 +17,7 @@
package com.ning.billing.invoice.api.test;
import com.ning.billing.invoice.api.Invoice;
-import com.ning.billing.util.CallContext;
+import com.ning.billing.util.callcontext.CallContext;
public interface InvoiceTestApi {
public void create(Invoice invoice, CallContext context);
diff --git a/api/src/main/java/com/ning/billing/util/api/TagDefinitionUserApi.java b/api/src/main/java/com/ning/billing/util/api/TagDefinitionUserApi.java
index f7e3a7d..59daf4e 100644
--- a/api/src/main/java/com/ning/billing/util/api/TagDefinitionUserApi.java
+++ b/api/src/main/java/com/ning/billing/util/api/TagDefinitionUserApi.java
@@ -18,7 +18,7 @@ package com.ning.billing.util.api;
import java.util.List;
-import com.ning.billing.util.CallContext;
+import com.ning.billing.util.callcontext.CallContext;
import com.ning.billing.util.tag.TagDefinition;
public interface TagDefinitionUserApi {
diff --git a/api/src/main/java/com/ning/billing/util/callcontext/CallContext.java b/api/src/main/java/com/ning/billing/util/callcontext/CallContext.java
new file mode 100644
index 0000000..da36f10
--- /dev/null
+++ b/api/src/main/java/com/ning/billing/util/callcontext/CallContext.java
@@ -0,0 +1,27 @@
+/*
+ * Copyright 2010-2011 Ning, Inc.
+ *
+ * Ning 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
+ * License. You may obtain a copy of the License at:
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations
+ * under the License.
+ */
+
+package com.ning.billing.util.callcontext;
+
+import org.joda.time.DateTime;
+
+public interface CallContext {
+ public String getUserName();
+ public CallOrigin getCallOrigin();
+ public UserType getUserType();
+ public DateTime getCreatedDate();
+ public DateTime getUpdatedDate();
+}
diff --git a/api/src/main/java/com/ning/billing/util/callcontext/CallOrigin.java b/api/src/main/java/com/ning/billing/util/callcontext/CallOrigin.java
new file mode 100644
index 0000000..8806647
--- /dev/null
+++ b/api/src/main/java/com/ning/billing/util/callcontext/CallOrigin.java
@@ -0,0 +1,23 @@
+/*
+ * Copyright 2010-2011 Ning, Inc.
+ *
+ * Ning 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
+ * License. You may obtain a copy of the License at:
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations
+ * under the License.
+ */
+
+package com.ning.billing.util.callcontext;
+
+public enum CallOrigin {
+ INTERNAL,
+ EXTERNAL,
+ TEST
+}
diff --git a/api/src/main/java/com/ning/billing/util/callcontext/UserType.java b/api/src/main/java/com/ning/billing/util/callcontext/UserType.java
new file mode 100644
index 0000000..b10a314
--- /dev/null
+++ b/api/src/main/java/com/ning/billing/util/callcontext/UserType.java
@@ -0,0 +1,25 @@
+/*
+ * Copyright 2010-2011 Ning, Inc.
+ *
+ * Ning 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
+ * License. You may obtain a copy of the License at:
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations
+ * under the License.
+ */
+
+package com.ning.billing.util.callcontext;
+
+public enum UserType {
+ SYSTEM,
+ ADMIN,
+ CUSTOMER,
+ MIGRATION,
+ TEST
+}
diff --git a/api/src/main/java/com/ning/billing/util/customfield/CustomizableEntity.java b/api/src/main/java/com/ning/billing/util/customfield/CustomizableEntity.java
index 97b354b..7df1009 100644
--- a/api/src/main/java/com/ning/billing/util/customfield/CustomizableEntity.java
+++ b/api/src/main/java/com/ning/billing/util/customfield/CustomizableEntity.java
@@ -18,7 +18,7 @@ package com.ning.billing.util.customfield;
import java.util.List;
-import com.ning.billing.util.CallContext;
+import com.ning.billing.util.callcontext.CallContext;
import com.ning.billing.util.entity.Entity;
public interface CustomizableEntity extends Entity {
diff --git a/beatrix/src/test/java/com/ning/billing/beatrix/integration/MockModule.java b/beatrix/src/test/java/com/ning/billing/beatrix/integration/MockModule.java
index 58cc017..1253bb4 100644
--- a/beatrix/src/test/java/com/ning/billing/beatrix/integration/MockModule.java
+++ b/beatrix/src/test/java/com/ning/billing/beatrix/integration/MockModule.java
@@ -22,6 +22,7 @@ import java.io.IOException;
import java.net.URL;
import java.util.Set;
+import com.ning.billing.util.glue.CallContextModule;
import org.skife.config.ConfigurationObjectFactory;
import org.skife.jdbi.v2.IDBI;
@@ -79,6 +80,7 @@ public class MockModule extends AbstractModule {
bind(IDBI.class).toInstance(dbi);
}
+ install(new CallContextModule());
install(new GlobalLockerModule());
install(new BusModule());
install(new NotificationQueueModule());
diff --git a/beatrix/src/test/java/com/ning/billing/beatrix/integration/TestIntegration.java b/beatrix/src/test/java/com/ning/billing/beatrix/integration/TestIntegration.java
index 8afaa93..70c4598 100644
--- a/beatrix/src/test/java/com/ning/billing/beatrix/integration/TestIntegration.java
+++ b/beatrix/src/test/java/com/ning/billing/beatrix/integration/TestIntegration.java
@@ -33,11 +33,10 @@ import com.ning.billing.entitlement.api.user.EntitlementUserApiException;
import com.ning.billing.invoice.api.Invoice;
import com.ning.billing.invoice.api.InvoiceItem;
-import com.ning.billing.util.CallContext;
-import com.ning.billing.util.CallOrigin;
-import com.ning.billing.util.UserType;
-import com.ning.billing.util.entity.CallContextFactory;
-import com.ning.billing.util.entity.DefaultCallContext;
+import com.ning.billing.util.callcontext.CallContext;
+import com.ning.billing.util.callcontext.CallOrigin;
+import com.ning.billing.util.callcontext.UserType;
+import com.ning.billing.util.callcontext.DefaultCallContextFactory;
import org.apache.commons.io.IOUtils;
import org.apache.commons.lang.RandomStringUtils;
import org.joda.time.DateTime;
@@ -99,7 +98,7 @@ public class TestIntegration {
@Inject
private ClockMock clock;
- private final CallContext context = new CallContextFactory(clock).createCallContext("Integration Test", CallOrigin.TEST, UserType.TEST);
+ private CallContext context;
@Inject
private Lifecycle lifecycle;
@@ -129,8 +128,6 @@ public class TestIntegration {
private void setupMySQL() throws IOException
{
-
-
final String accountDdl = IOUtils.toString(TestIntegration.class.getResourceAsStream("/com/ning/billing/account/ddl.sql"));
final String entitlementDdl = IOUtils.toString(TestIntegration.class.getResourceAsStream("/com/ning/billing/entitlement/ddl.sql"));
final String invoiceDdl = IOUtils.toString(TestIntegration.class.getResourceAsStream("/com/ning/billing/invoice/ddl.sql"));
@@ -151,6 +148,8 @@ public class TestIntegration {
setupMySQL();
+ context = new DefaultCallContextFactory(clock).createCallContext("Integration Test", CallOrigin.TEST, UserType.TEST);
+
/**
* Initialize lifecyle for subset of services
*/
diff --git a/entitlement/src/main/java/com/ning/billing/entitlement/api/billing/DefaultEntitlementBillingApi.java b/entitlement/src/main/java/com/ning/billing/entitlement/api/billing/DefaultEntitlementBillingApi.java
index 0781d4e..339645a 100644
--- a/entitlement/src/main/java/com/ning/billing/entitlement/api/billing/DefaultEntitlementBillingApi.java
+++ b/entitlement/src/main/java/com/ning/billing/entitlement/api/billing/DefaultEntitlementBillingApi.java
@@ -23,10 +23,10 @@ import java.util.TreeSet;
import java.util.UUID;
import com.ning.billing.catalog.api.Currency;
-import com.ning.billing.util.CallContext;
-import com.ning.billing.util.CallOrigin;
-import com.ning.billing.util.UserType;
-import com.ning.billing.util.entity.CallContextFactory;
+import com.ning.billing.util.callcontext.CallContext;
+import com.ning.billing.util.callcontext.CallOrigin;
+import com.ning.billing.util.callcontext.UserType;
+import com.ning.billing.util.callcontext.CallContextFactory;
import org.joda.time.DateTime;
import org.joda.time.DateTimeZone;
import org.skife.jdbi.v2.sqlobject.mixins.Transmogrifier;
diff --git a/entitlement/src/main/java/com/ning/billing/entitlement/api/user/SubscriptionApiService.java b/entitlement/src/main/java/com/ning/billing/entitlement/api/user/SubscriptionApiService.java
index d89d22e..8291e34 100644
--- a/entitlement/src/main/java/com/ning/billing/entitlement/api/user/SubscriptionApiService.java
+++ b/entitlement/src/main/java/com/ning/billing/entitlement/api/user/SubscriptionApiService.java
@@ -29,14 +29,13 @@ import com.ning.billing.entitlement.events.phase.PhaseEvent;
import com.ning.billing.entitlement.events.phase.PhaseEventData;
import com.ning.billing.entitlement.events.user.*;
import com.ning.billing.entitlement.exceptions.EntitlementError;
-import com.ning.billing.util.CallContext;
+import com.ning.billing.util.callcontext.CallContext;
import com.ning.billing.util.clock.Clock;
import com.ning.billing.util.clock.DefaultClock;
import org.joda.time.DateTime;
import java.util.ArrayList;
import java.util.List;
-import java.util.UUID;
public class SubscriptionApiService {
diff --git a/entitlement/src/main/java/com/ning/billing/entitlement/api/user/SubscriptionData.java b/entitlement/src/main/java/com/ning/billing/entitlement/api/user/SubscriptionData.java
index 78d60b4..272bdb6 100644
--- a/entitlement/src/main/java/com/ning/billing/entitlement/api/user/SubscriptionData.java
+++ b/entitlement/src/main/java/com/ning/billing/entitlement/api/user/SubscriptionData.java
@@ -31,12 +31,11 @@ import com.ning.billing.entitlement.api.user.SubscriptionTransitionDataIterator.
import com.ning.billing.entitlement.api.user.SubscriptionTransitionDataIterator.TimeLimit;
import com.ning.billing.entitlement.api.user.SubscriptionTransitionDataIterator.Visibility;
import com.ning.billing.entitlement.events.EntitlementEvent;
-import com.ning.billing.entitlement.events.EntitlementEvent.EventType;
import com.ning.billing.entitlement.events.phase.PhaseEvent;
import com.ning.billing.entitlement.events.user.ApiEvent;
import com.ning.billing.entitlement.events.user.ApiEventType;
import com.ning.billing.entitlement.exceptions.EntitlementError;
-import com.ning.billing.util.CallContext;
+import com.ning.billing.util.callcontext.CallContext;
import com.ning.billing.util.clock.Clock;
import com.ning.billing.util.customfield.CustomField;
import com.ning.billing.util.customfield.CustomizableEntityBase;
diff --git a/entitlement/src/main/java/com/ning/billing/entitlement/engine/dao/EntitlementDao.java b/entitlement/src/main/java/com/ning/billing/entitlement/engine/dao/EntitlementDao.java
index 8a72ca4..6ca1c15 100644
--- a/entitlement/src/main/java/com/ning/billing/entitlement/engine/dao/EntitlementDao.java
+++ b/entitlement/src/main/java/com/ning/billing/entitlement/engine/dao/EntitlementDao.java
@@ -19,7 +19,7 @@ package com.ning.billing.entitlement.engine.dao;
import java.util.List;
import java.util.UUID;
-import com.ning.billing.util.CallContext;
+import com.ning.billing.util.callcontext.CallContext;
import com.ning.billing.entitlement.api.migration.AccountMigrationData;
import com.ning.billing.entitlement.api.user.Subscription;
diff --git a/entitlement/src/main/java/com/ning/billing/entitlement/engine/dao/EntitlementSqlDao.java b/entitlement/src/main/java/com/ning/billing/entitlement/engine/dao/EntitlementSqlDao.java
index 356879c..3730d72 100644
--- a/entitlement/src/main/java/com/ning/billing/entitlement/engine/dao/EntitlementSqlDao.java
+++ b/entitlement/src/main/java/com/ning/billing/entitlement/engine/dao/EntitlementSqlDao.java
@@ -24,7 +24,7 @@ import java.util.Date;
import java.util.List;
import java.util.UUID;
-import com.ning.billing.util.CallContext;
+import com.ning.billing.util.callcontext.CallContext;
import com.ning.billing.util.customfield.dao.AuditedCustomFieldDao;
import org.joda.time.DateTime;
import org.skife.jdbi.v2.IDBI;
diff --git a/entitlement/src/test/java/com/ning/billing/entitlement/api/billing/BrainDeadAccount.java b/entitlement/src/test/java/com/ning/billing/entitlement/api/billing/BrainDeadAccount.java
index 41de5c0..ca363a3 100644
--- a/entitlement/src/test/java/com/ning/billing/entitlement/api/billing/BrainDeadAccount.java
+++ b/entitlement/src/test/java/com/ning/billing/entitlement/api/billing/BrainDeadAccount.java
@@ -19,7 +19,7 @@ package com.ning.billing.entitlement.api.billing;
import java.util.List;
import java.util.UUID;
-import com.ning.billing.util.CallContext;
+import com.ning.billing.util.callcontext.CallContext;
import org.joda.time.DateTime;
import org.joda.time.DateTimeZone;
diff --git a/entitlement/src/test/java/com/ning/billing/entitlement/api/billing/BrainDeadAccountUserApi.java b/entitlement/src/test/java/com/ning/billing/entitlement/api/billing/BrainDeadAccountUserApi.java
index bb2f60c..61827ae 100644
--- a/entitlement/src/test/java/com/ning/billing/entitlement/api/billing/BrainDeadAccountUserApi.java
+++ b/entitlement/src/test/java/com/ning/billing/entitlement/api/billing/BrainDeadAccountUserApi.java
@@ -24,7 +24,7 @@ import com.ning.billing.account.api.AccountApiException;
import com.ning.billing.account.api.AccountData;
import com.ning.billing.account.api.AccountUserApi;
import com.ning.billing.account.api.MigrationAccountData;
-import com.ning.billing.util.CallContext;
+import com.ning.billing.util.callcontext.CallContext;
import com.ning.billing.util.customfield.CustomField;
import com.ning.billing.util.tag.Tag;
diff --git a/entitlement/src/test/java/com/ning/billing/entitlement/api/billing/TestDefaultEntitlementBillingApi.java b/entitlement/src/test/java/com/ning/billing/entitlement/api/billing/TestDefaultEntitlementBillingApi.java
index 2d96157..3ebc064 100644
--- a/entitlement/src/test/java/com/ning/billing/entitlement/api/billing/TestDefaultEntitlementBillingApi.java
+++ b/entitlement/src/test/java/com/ning/billing/entitlement/api/billing/TestDefaultEntitlementBillingApi.java
@@ -25,7 +25,8 @@ import java.util.List;
import java.util.SortedSet;
import java.util.UUID;
-import com.ning.billing.util.entity.CallContextFactory;
+import com.ning.billing.util.callcontext.CallContextFactory;
+import com.ning.billing.util.callcontext.DefaultCallContextFactory;
import org.joda.time.DateTime;
import org.joda.time.DateTimeZone;
import org.testng.Assert;
@@ -135,7 +136,7 @@ public class TestDefaultEntitlementBillingApi {
AccountUserApi accountApi = BrainDeadProxyFactory.createBrainDeadProxyFor(AccountUserApi.class);
((ZombieControl) accountApi).addResult("getAccountById", account);
- CallContextFactory factory = new CallContextFactory(clock);
+ CallContextFactory factory = new DefaultCallContextFactory(clock);
DefaultEntitlementBillingApi api = new DefaultEntitlementBillingApi(factory, dao, accountApi, catalogService);
SortedSet<BillingEvent> events = api.getBillingEventsForAccount(new UUID(0L,0L));
Assert.assertEquals(events.size(), 0);
@@ -168,7 +169,7 @@ public class TestDefaultEntitlementBillingApi {
}
};
}} ;
- CallContextFactory factory = new CallContextFactory(clock);
+ CallContextFactory factory = new DefaultCallContextFactory(clock);
DefaultEntitlementBillingApi api = new DefaultEntitlementBillingApi(factory, dao,accountApi,catalogService);
SortedSet<BillingEvent> events = api.getBillingEventsForAccount(new UUID(0L,0L));
checkFirstEvent(events, nextPlan, 32, oneId, now, nextPhase, ApiEventType.CREATE.toString());
@@ -193,7 +194,7 @@ public class TestDefaultEntitlementBillingApi {
AccountUserApi accountApi = BrainDeadProxyFactory.createBrainDeadProxyFor(AccountUserApi.class);
((ZombieControl)accountApi).addResult("getAccountById", account);
- CallContextFactory factory = new CallContextFactory(clock);
+ CallContextFactory factory = new DefaultCallContextFactory(clock);
DefaultEntitlementBillingApi api = new DefaultEntitlementBillingApi(factory, dao, accountApi, catalogService);
SortedSet<BillingEvent> events = api.getBillingEventsForAccount(new UUID(0L,0L));
checkFirstEvent(events, nextPlan, subscription.getStartDate().getDayOfMonth(), oneId, now, nextPhase, ApiEventType.CREATE.toString());
@@ -226,7 +227,7 @@ public class TestDefaultEntitlementBillingApi {
}
};
}} ;
- CallContextFactory factory = new CallContextFactory(clock);
+ CallContextFactory factory = new DefaultCallContextFactory(clock);
DefaultEntitlementBillingApi api = new DefaultEntitlementBillingApi(factory, dao, accountApi, catalogService);
SortedSet<BillingEvent> events = api.getBillingEventsForAccount(new UUID(0L,0L));
checkFirstEvent(events, nextPlan, 32, oneId, now, nextPhase, ApiEventType.CREATE.toString());
@@ -250,7 +251,7 @@ public class TestDefaultEntitlementBillingApi {
AccountUserApi accountApi = BrainDeadProxyFactory.createBrainDeadProxyFor(AccountUserApi.class);
((ZombieControl)accountApi).addResult("getAccountById", account);
- CallContextFactory factory = new CallContextFactory(clock);
+ CallContextFactory factory = new DefaultCallContextFactory(clock);
DefaultEntitlementBillingApi api = new DefaultEntitlementBillingApi(factory, dao, accountApi, catalogService);
SortedSet<BillingEvent> events = api.getBillingEventsForAccount(new UUID(0L,0L));
checkFirstEvent(events, nextPlan, bundles.get(0).getStartDate().getDayOfMonth(), oneId, now, nextPhase, ApiEventType.CREATE.toString());
diff --git a/entitlement/src/test/java/com/ning/billing/entitlement/api/user/TestUserCustomFieldsSql.java b/entitlement/src/test/java/com/ning/billing/entitlement/api/user/TestUserCustomFieldsSql.java
index 30cf5ab..f6881fd 100644
--- a/entitlement/src/test/java/com/ning/billing/entitlement/api/user/TestUserCustomFieldsSql.java
+++ b/entitlement/src/test/java/com/ning/billing/entitlement/api/user/TestUserCustomFieldsSql.java
@@ -21,11 +21,11 @@ import java.util.List;
import static org.testng.Assert.assertEquals;
import static org.testng.Assert.assertNotNull;
-import com.ning.billing.util.CallContext;
-import com.ning.billing.util.CallOrigin;
-import com.ning.billing.util.UserType;
+import com.ning.billing.util.callcontext.CallContext;
+import com.ning.billing.util.callcontext.CallOrigin;
+import com.ning.billing.util.callcontext.UserType;
+import com.ning.billing.util.callcontext.DefaultCallContextFactory;
import com.ning.billing.util.clock.DefaultClock;
-import com.ning.billing.util.entity.CallContextFactory;
import org.joda.time.DateTime;
import org.testng.Assert;
import org.testng.annotations.Test;
@@ -43,7 +43,7 @@ import com.ning.billing.util.customfield.CustomField;
public class TestUserCustomFieldsSql extends TestApiBase {
private static final String USER_NAME = "Entitlement Test";
- private final CallContext context = new CallContextFactory(new DefaultClock()).createCallContext(USER_NAME, CallOrigin.TEST, UserType.TEST);
+ private final CallContext context = new DefaultCallContextFactory(new DefaultClock()).createCallContext(USER_NAME, CallOrigin.TEST, UserType.TEST);
@Override
protected Injector getInjector() {
diff --git a/entitlement/src/test/java/com/ning/billing/entitlement/engine/dao/MockEntitlementDaoMemory.java b/entitlement/src/test/java/com/ning/billing/entitlement/engine/dao/MockEntitlementDaoMemory.java
index 4fd4301..f73e7e0 100644
--- a/entitlement/src/test/java/com/ning/billing/entitlement/engine/dao/MockEntitlementDaoMemory.java
+++ b/entitlement/src/test/java/com/ning/billing/entitlement/engine/dao/MockEntitlementDaoMemory.java
@@ -24,7 +24,7 @@ import java.util.List;
import java.util.TreeSet;
import java.util.UUID;
-import com.ning.billing.util.CallContext;
+import com.ning.billing.util.callcontext.CallContext;
import org.apache.commons.lang.NotImplementedException;
import org.joda.time.DateTime;
import org.skife.jdbi.v2.sqlobject.mixins.Transmogrifier;
diff --git a/entitlement/src/test/java/com/ning/billing/entitlement/glue/MockEngineModule.java b/entitlement/src/test/java/com/ning/billing/entitlement/glue/MockEngineModule.java
index d46fe83..24d7bdd 100644
--- a/entitlement/src/test/java/com/ning/billing/entitlement/glue/MockEngineModule.java
+++ b/entitlement/src/test/java/com/ning/billing/entitlement/glue/MockEngineModule.java
@@ -20,6 +20,7 @@ import com.ning.billing.account.glue.AccountModuleWithMocks;
import com.ning.billing.catalog.glue.CatalogModule;
import com.ning.billing.util.clock.MockClockModule;
import com.ning.billing.util.glue.BusModule;
+import com.ning.billing.util.glue.CallContextModule;
public class MockEngineModule extends EntitlementModule {
@@ -30,5 +31,6 @@ public class MockEngineModule extends EntitlementModule {
install(new CatalogModule());
install(new AccountModuleWithMocks());
install(new MockClockModule());
+ install(new CallContextModule());
}
}
diff --git a/invoice/src/main/java/com/ning/billing/invoice/api/migration/DefaultInvoiceMigrationApi.java b/invoice/src/main/java/com/ning/billing/invoice/api/migration/DefaultInvoiceMigrationApi.java
index 1b090be..3cbf002 100644
--- a/invoice/src/main/java/com/ning/billing/invoice/api/migration/DefaultInvoiceMigrationApi.java
+++ b/invoice/src/main/java/com/ning/billing/invoice/api/migration/DefaultInvoiceMigrationApi.java
@@ -19,10 +19,10 @@ package com.ning.billing.invoice.api.migration;
import java.math.BigDecimal;
import java.util.UUID;
-import com.ning.billing.util.CallContext;
-import com.ning.billing.util.CallOrigin;
-import com.ning.billing.util.UserType;
-import com.ning.billing.util.entity.CallContextFactory;
+import com.ning.billing.util.callcontext.CallContext;
+import com.ning.billing.util.callcontext.CallOrigin;
+import com.ning.billing.util.callcontext.UserType;
+import com.ning.billing.util.callcontext.DefaultCallContextFactory;
import org.joda.time.DateTime;
import com.google.inject.Inject;
@@ -47,7 +47,7 @@ public class DefaultInvoiceMigrationApi implements InvoiceMigrationApi {
@Override
public UUID createMigrationInvoice(UUID accountId, DateTime targetDate, BigDecimal balance, Currency currency) {
- CallContext context = new CallContextFactory(clock).createMigrationCallContext("Migration", CallOrigin.INTERNAL, UserType.MIGRATION, clock.getUTCNow(), clock.getUTCNow());
+ CallContext context = new DefaultCallContextFactory(clock).createMigrationCallContext("Migration", CallOrigin.INTERNAL, UserType.MIGRATION, clock.getUTCNow(), clock.getUTCNow());
Invoice migrationInvoice = new MigrationInvoice(accountId, clock.getUTCNow(), targetDate, currency);
InvoiceItem migrationInvoiceItem = new MigrationInvoiceItem(migrationInvoice.getId(), targetDate, balance, currency );
migrationInvoice.addInvoiceItem(migrationInvoiceItem);
diff --git a/invoice/src/main/java/com/ning/billing/invoice/api/test/DefaultInvoiceTestApi.java b/invoice/src/main/java/com/ning/billing/invoice/api/test/DefaultInvoiceTestApi.java
index d2216a7..ec0ca88 100644
--- a/invoice/src/main/java/com/ning/billing/invoice/api/test/DefaultInvoiceTestApi.java
+++ b/invoice/src/main/java/com/ning/billing/invoice/api/test/DefaultInvoiceTestApi.java
@@ -19,7 +19,7 @@ package com.ning.billing.invoice.api.test;
import com.google.inject.Inject;
import com.ning.billing.invoice.api.Invoice;
import com.ning.billing.invoice.dao.InvoiceDao;
-import com.ning.billing.util.CallContext;
+import com.ning.billing.util.callcontext.CallContext;
public class DefaultInvoiceTestApi implements InvoiceTestApi {
private final InvoiceDao invoiceDao;
diff --git a/invoice/src/main/java/com/ning/billing/invoice/api/user/DefaultInvoiceUserApi.java b/invoice/src/main/java/com/ning/billing/invoice/api/user/DefaultInvoiceUserApi.java
index 4c34d65..dba195b 100644
--- a/invoice/src/main/java/com/ning/billing/invoice/api/user/DefaultInvoiceUserApi.java
+++ b/invoice/src/main/java/com/ning/billing/invoice/api/user/DefaultInvoiceUserApi.java
@@ -20,7 +20,7 @@ import java.math.BigDecimal;
import java.util.List;
import java.util.UUID;
-import com.ning.billing.util.CallContext;
+import com.ning.billing.util.callcontext.CallContext;
import org.joda.time.DateTime;
import com.google.inject.Inject;
diff --git a/invoice/src/main/java/com/ning/billing/invoice/dao/DefaultInvoiceDao.java b/invoice/src/main/java/com/ning/billing/invoice/dao/DefaultInvoiceDao.java
index 62b5729..113d8ee 100644
--- a/invoice/src/main/java/com/ning/billing/invoice/dao/DefaultInvoiceDao.java
+++ b/invoice/src/main/java/com/ning/billing/invoice/dao/DefaultInvoiceDao.java
@@ -23,7 +23,7 @@ import java.util.List;
import java.util.Map;
import java.util.UUID;
-import com.ning.billing.util.CallContext;
+import com.ning.billing.util.callcontext.CallContext;
import org.joda.time.DateTime;
import org.skife.jdbi.v2.IDBI;
import org.skife.jdbi.v2.Transaction;
@@ -156,7 +156,7 @@ public class DefaultInvoiceDao implements InvoiceDao {
List<InvoiceItem> recurringInvoiceItems = invoice.getInvoiceItems(RecurringInvoiceItem.class);
RecurringInvoiceItemSqlDao recurringInvoiceItemDao = invoiceDao.become(RecurringInvoiceItemSqlDao.class);
- recurringInvoiceItemDao.batchCreateFromTransaction(recurringInvoiceItems);
+ recurringInvoiceItemDao.batchCreateFromTransaction(recurringInvoiceItems, context);
notifyOfFutureBillingEvents(invoiceSqlDao, recurringInvoiceItems);
diff --git a/invoice/src/main/java/com/ning/billing/invoice/dao/FixedPriceInvoiceItemSqlDao.java b/invoice/src/main/java/com/ning/billing/invoice/dao/FixedPriceInvoiceItemSqlDao.java
index 7a43cc1..de93098 100644
--- a/invoice/src/main/java/com/ning/billing/invoice/dao/FixedPriceInvoiceItemSqlDao.java
+++ b/invoice/src/main/java/com/ning/billing/invoice/dao/FixedPriceInvoiceItemSqlDao.java
@@ -19,8 +19,8 @@ package com.ning.billing.invoice.dao;
import com.ning.billing.catalog.api.Currency;
import com.ning.billing.invoice.api.InvoiceItem;
import com.ning.billing.invoice.model.FixedPriceInvoiceItem;
-import com.ning.billing.util.CallContext;
-import com.ning.billing.util.entity.CallContextBinder;
+import com.ning.billing.util.callcontext.CallContext;
+import com.ning.billing.util.callcontext.CallContextBinder;
import com.ning.billing.util.entity.EntityDao;
import org.joda.time.DateTime;
import org.skife.jdbi.v2.SQLStatement;
@@ -86,7 +86,6 @@ public interface FixedPriceInvoiceItemSqlDao extends EntityDao<InvoiceItem> {
q.bind("endDate", item.getEndDate().toDate());
q.bind("amount", item.getAmount());
q.bind("currency", item.getCurrency().toString());
- q.bind("createdDate", item.getCreatedDate().toDate());
}
};
}
diff --git a/invoice/src/main/java/com/ning/billing/invoice/dao/InvoiceDao.java b/invoice/src/main/java/com/ning/billing/invoice/dao/InvoiceDao.java
index 7d734c4..1a338ae 100644
--- a/invoice/src/main/java/com/ning/billing/invoice/dao/InvoiceDao.java
+++ b/invoice/src/main/java/com/ning/billing/invoice/dao/InvoiceDao.java
@@ -17,9 +17,8 @@
package com.ning.billing.invoice.dao;
import com.ning.billing.invoice.api.Invoice;
-import com.ning.billing.invoice.api.InvoiceItem;
import com.ning.billing.invoice.api.InvoicePayment;
-import com.ning.billing.util.CallContext;
+import com.ning.billing.util.callcontext.CallContext;
import org.joda.time.DateTime;
import java.math.BigDecimal;
diff --git a/invoice/src/main/java/com/ning/billing/invoice/dao/InvoiceSqlDao.java b/invoice/src/main/java/com/ning/billing/invoice/dao/InvoiceSqlDao.java
index 6eda77e..dc8e303 100644
--- a/invoice/src/main/java/com/ning/billing/invoice/dao/InvoiceSqlDao.java
+++ b/invoice/src/main/java/com/ning/billing/invoice/dao/InvoiceSqlDao.java
@@ -19,9 +19,9 @@ package com.ning.billing.invoice.dao;
import com.ning.billing.catalog.api.Currency;
import com.ning.billing.invoice.api.Invoice;
import com.ning.billing.invoice.model.DefaultInvoice;
-import com.ning.billing.util.CallContext;
+import com.ning.billing.util.callcontext.CallContext;
import com.ning.billing.util.UuidMapper;
-import com.ning.billing.util.entity.CallContextBinder;
+import com.ning.billing.util.callcontext.CallContextBinder;
import com.ning.billing.util.entity.EntityDao;
import org.joda.time.DateTime;
import org.skife.jdbi.v2.SQLStatement;
diff --git a/invoice/src/main/java/com/ning/billing/invoice/dao/RecurringInvoiceItemSqlDao.java b/invoice/src/main/java/com/ning/billing/invoice/dao/RecurringInvoiceItemSqlDao.java
index 850687b..35063d6 100644
--- a/invoice/src/main/java/com/ning/billing/invoice/dao/RecurringInvoiceItemSqlDao.java
+++ b/invoice/src/main/java/com/ning/billing/invoice/dao/RecurringInvoiceItemSqlDao.java
@@ -19,8 +19,8 @@ package com.ning.billing.invoice.dao;
import com.ning.billing.catalog.api.Currency;
import com.ning.billing.invoice.api.InvoiceItem;
import com.ning.billing.invoice.model.RecurringInvoiceItem;
-import com.ning.billing.util.CallContext;
-import com.ning.billing.util.entity.CallContextBinder;
+import com.ning.billing.util.callcontext.CallContext;
+import com.ning.billing.util.callcontext.CallContextBinder;
import com.ning.billing.util.entity.EntityDao;
import org.joda.time.DateTime;
import org.skife.jdbi.v2.SQLStatement;
@@ -64,7 +64,7 @@ public interface RecurringInvoiceItemSqlDao extends EntityDao<InvoiceItem> {
void create(@RecurringInvoiceItemBinder final InvoiceItem invoiceItem, @CallContextBinder final CallContext context);
@SqlBatch(transactional = false)
- void batchCreateFromTransaction(@RecurringInvoiceItemBinder final List<InvoiceItem> items);
+ void batchCreateFromTransaction(@RecurringInvoiceItemBinder final List<InvoiceItem> items, @CallContextBinder final CallContext context);
@BindingAnnotation(RecurringInvoiceItemBinder.InvoiceItemBinderFactory.class)
@Retention(RetentionPolicy.RUNTIME)
@@ -87,7 +87,6 @@ public interface RecurringInvoiceItemSqlDao extends EntityDao<InvoiceItem> {
q.bind("rate", item.getRate());
q.bind("currency", item.getCurrency().toString());
q.bind("reversedItemId", (item.getReversedItemId() == null) ? null : item.getReversedItemId().toString());
- q.bind("createdDate", item.getCreatedDate().toDate());
}
};
}
diff --git a/invoice/src/main/java/com/ning/billing/invoice/glue/InvoiceModule.java b/invoice/src/main/java/com/ning/billing/invoice/glue/InvoiceModule.java
index c5e55cc..ba63bf1 100644
--- a/invoice/src/main/java/com/ning/billing/invoice/glue/InvoiceModule.java
+++ b/invoice/src/main/java/com/ning/billing/invoice/glue/InvoiceModule.java
@@ -76,7 +76,6 @@ public class InvoiceModule extends AbstractModule {
}
protected void installInvoiceListener() {
-
bind(InvoiceListener.class).asEagerSingleton();
}
diff --git a/invoice/src/main/java/com/ning/billing/invoice/InvoiceDispatcher.java b/invoice/src/main/java/com/ning/billing/invoice/InvoiceDispatcher.java
index 90be1b3..32c625c 100644
--- a/invoice/src/main/java/com/ning/billing/invoice/InvoiceDispatcher.java
+++ b/invoice/src/main/java/com/ning/billing/invoice/InvoiceDispatcher.java
@@ -21,7 +21,7 @@ import java.util.List;
import java.util.SortedSet;
import java.util.UUID;
-import com.ning.billing.util.CallContext;
+import com.ning.billing.util.callcontext.CallContext;
import org.joda.time.DateTime;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/invoice/src/main/java/com/ning/billing/invoice/InvoiceListener.java b/invoice/src/main/java/com/ning/billing/invoice/InvoiceListener.java
index a8e3d0c..ff23965 100644
--- a/invoice/src/main/java/com/ning/billing/invoice/InvoiceListener.java
+++ b/invoice/src/main/java/com/ning/billing/invoice/InvoiceListener.java
@@ -18,10 +18,10 @@ package com.ning.billing.invoice;
import java.util.UUID;
-import com.ning.billing.util.CallContext;
-import com.ning.billing.util.CallOrigin;
-import com.ning.billing.util.UserType;
-import com.ning.billing.util.entity.CallContextFactory;
+import com.ning.billing.util.callcontext.CallContext;
+import com.ning.billing.util.callcontext.CallOrigin;
+import com.ning.billing.util.callcontext.UserType;
+import com.ning.billing.util.callcontext.CallContextFactory;
import org.joda.time.DateTime;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -37,7 +37,7 @@ public class InvoiceListener {
private final CallContextFactory factory;
@Inject
- public InvoiceListener(CallContextFactory factory,InvoiceDispatcher dispatcher) {
+ public InvoiceListener(CallContextFactory factory, InvoiceDispatcher dispatcher) {
this.dispatcher = dispatcher;
this.factory = factory;
}
diff --git a/invoice/src/main/resources/com/ning/billing/invoice/dao/FixedPriceInvoiceItemSqlDao.sql.stg b/invoice/src/main/resources/com/ning/billing/invoice/dao/FixedPriceInvoiceItemSqlDao.sql.stg
index 61f5e68..efd7522 100644
--- a/invoice/src/main/resources/com/ning/billing/invoice/dao/FixedPriceInvoiceItemSqlDao.sql.stg
+++ b/invoice/src/main/resources/com/ning/billing/invoice/dao/FixedPriceInvoiceItemSqlDao.sql.stg
@@ -10,6 +10,7 @@ fields(prefix) ::= <<
<prefix>end_date,
<prefix>amount,
<prefix>currency,
+ <prefix>created_by,
<prefix>created_date
>>
@@ -41,13 +42,13 @@ getInvoiceItemsBySubscription() ::= <<
create() ::= <<
INSERT INTO fixed_invoice_items(<fields()>)
VALUES(:id, :invoiceId, :subscriptionId, :planName, :phaseName,
- :startDate, :endDate, :amount, :currency, :createdDate);
+ :startDate, :endDate, :amount, :currency, :userName, :createdDate);
>>
batchCreateFromTransaction() ::= <<
INSERT INTO fixed_invoice_items(<fields()>)
VALUES(:id, :invoiceId, :subscriptionId, :planName, :phaseName,
- :startDate, :endDate, :amount, :currency, :createdDate);
+ :startDate, :endDate, :amount, :currency, :userName, :createdDate);
>>
test() ::= <<
diff --git a/invoice/src/main/resources/com/ning/billing/invoice/dao/InvoiceSqlDao.sql.stg b/invoice/src/main/resources/com/ning/billing/invoice/dao/InvoiceSqlDao.sql.stg
index 5c18a30..b83dc82 100644
--- a/invoice/src/main/resources/com/ning/billing/invoice/dao/InvoiceSqlDao.sql.stg
+++ b/invoice/src/main/resources/com/ning/billing/invoice/dao/InvoiceSqlDao.sql.stg
@@ -7,7 +7,9 @@ invoiceFetchFields(prefix) ::= <<
<prefix>invoice_date,
<prefix>target_date,
<prefix>currency,
- <prefix>migrated
+ <prefix>migrated,
+ <prefix>created_by,
+ <prefix>created_date
>>
invoiceSetFields(prefix) ::= <<
@@ -17,7 +19,8 @@ invoiceSetFields(prefix) ::= <<
<prefix>target_date,
<prefix>currency,
<prefix>migrated,
- <prefix>updated_by
+ <prefix>created_by,
+ <prefix>created_date
>>
get() ::= <<
@@ -73,7 +76,7 @@ getAccountBalance() ::= <<
create() ::= <<
INSERT INTO invoices(<invoiceSetFields()>)
- VALUES (:id, :accountId, :invoiceDate, :targetDate, :currency, :migrated, :userName);
+ VALUES (:id, :accountId, :invoiceDate, :targetDate, :currency, :migrated, :userName, :createdDate);
>>
getInvoiceIdByPaymentAttemptId() ::= <<
diff --git a/invoice/src/main/resources/com/ning/billing/invoice/dao/RecurringInvoiceItemSqlDao.sql.stg b/invoice/src/main/resources/com/ning/billing/invoice/dao/RecurringInvoiceItemSqlDao.sql.stg
index e703d0b..ec7688e 100644
--- a/invoice/src/main/resources/com/ning/billing/invoice/dao/RecurringInvoiceItemSqlDao.sql.stg
+++ b/invoice/src/main/resources/com/ning/billing/invoice/dao/RecurringInvoiceItemSqlDao.sql.stg
@@ -12,6 +12,7 @@ fields(prefix) ::= <<
<prefix>rate,
<prefix>currency,
<prefix>reversed_item_id,
+ <prefix>created_by,
<prefix>created_date
>>
@@ -43,13 +44,13 @@ getInvoiceItemsBySubscription() ::= <<
create() ::= <<
INSERT INTO recurring_invoice_items(<fields()>)
VALUES(:id, :invoiceId, :subscriptionId, :planName, :phaseName, :startDate, :endDate,
- :amount, :rate, :currency, :reversedItemId, :createdDate);
+ :amount, :rate, :currency, :reversedItemId, :userName, :createdDate);
>>
batchCreateFromTransaction() ::= <<
INSERT INTO recurring_invoice_items(<fields()>)
VALUES(:id, :invoiceId, :subscriptionId, :planName, :phaseName, :startDate, :endDate,
- :amount, :rate, :currency, :reversedItemId, :createdDate);
+ :amount, :rate, :currency, :reversedItemId, :userName, :createdDate);
>>
test() ::= <<
diff --git a/invoice/src/main/resources/com/ning/billing/invoice/ddl.sql b/invoice/src/main/resources/com/ning/billing/invoice/ddl.sql
index 9c80513..60bfaab 100644
--- a/invoice/src/main/resources/com/ning/billing/invoice/ddl.sql
+++ b/invoice/src/main/resources/com/ning/billing/invoice/ddl.sql
@@ -12,6 +12,7 @@ CREATE TABLE recurring_invoice_items (
rate numeric(10,4) NULL,
currency char(3) NOT NULL,
reversed_item_id char(36),
+ created_by varchar(30) NOT NULL,
created_date datetime NOT NULL,
PRIMARY KEY(id)
) ENGINE=innodb;
@@ -29,6 +30,7 @@ CREATE TABLE fixed_invoice_items (
end_date datetime NOT NULL,
amount numeric(10,4) NULL,
currency char(3) NOT NULL,
+ created_by varchar(30) NOT NULL,
created_date datetime NOT NULL,
PRIMARY KEY(id)
) ENGINE=innodb;
@@ -46,7 +48,8 @@ CREATE TABLE invoices (
target_date datetime NOT NULL,
currency char(3) NOT NULL,
migrated bool NOT NULL,
- updated_by varchar(30) NOT NULL,
+ created_by varchar(30) NOT NULL,
+ created_date datetime NOT NULL,
PRIMARY KEY(invoice_number)
) ENGINE=innodb;
CREATE INDEX invoices_invoice_number ON invoices(invoice_number ASC);
diff --git a/invoice/src/test/java/com/ning/billing/invoice/api/migration/TestDefaultInvoiceMigrationApi.java b/invoice/src/test/java/com/ning/billing/invoice/api/migration/TestDefaultInvoiceMigrationApi.java
index 119a987..07c8e54 100644
--- a/invoice/src/test/java/com/ning/billing/invoice/api/migration/TestDefaultInvoiceMigrationApi.java
+++ b/invoice/src/test/java/com/ning/billing/invoice/api/migration/TestDefaultInvoiceMigrationApi.java
@@ -23,11 +23,11 @@ import java.util.SortedSet;
import java.util.TreeSet;
import java.util.UUID;
-import com.ning.billing.util.CallContext;
-import com.ning.billing.util.CallOrigin;
-import com.ning.billing.util.UserType;
+import com.ning.billing.util.callcontext.CallContext;
+import com.ning.billing.util.callcontext.CallOrigin;
+import com.ning.billing.util.callcontext.UserType;
+import com.ning.billing.util.callcontext.DefaultCallContextFactory;
import com.ning.billing.util.clock.Clock;
-import com.ning.billing.util.entity.CallContextFactory;
import org.apache.commons.io.IOUtils;
import org.joda.time.DateTime;
import org.slf4j.Logger;
@@ -187,7 +187,7 @@ public class TestDefaultInvoiceMigrationApi {
InvoiceDispatcher dispatcher = new InvoiceDispatcher(generator, accountUserApi, entitlementBillingApi, invoiceDao, locker);
- CallContext context = new CallContextFactory(clock).createCallContext("Migration test", CallOrigin.TEST, UserType.TEST);
+ CallContext context = new DefaultCallContextFactory(clock).createCallContext("Migration test", CallOrigin.TEST, UserType.TEST);
Invoice invoice = dispatcher.processAccount(accountId, date_regular, true, context);
Assert.assertNotNull(invoice);
diff --git a/invoice/src/test/java/com/ning/billing/invoice/dao/InvoiceDaoTestBase.java b/invoice/src/test/java/com/ning/billing/invoice/dao/InvoiceDaoTestBase.java
index 0352be4..fc58dbc 100644
--- a/invoice/src/test/java/com/ning/billing/invoice/dao/InvoiceDaoTestBase.java
+++ b/invoice/src/test/java/com/ning/billing/invoice/dao/InvoiceDaoTestBase.java
@@ -25,12 +25,11 @@ import com.ning.billing.config.InvoiceConfig;
import com.ning.billing.invoice.model.DefaultInvoiceGenerator;
import com.ning.billing.invoice.model.InvoiceGenerator;
import com.ning.billing.invoice.tests.InvoicingTestBase;
-import com.ning.billing.util.CallContext;
-import com.ning.billing.util.CallOrigin;
-import com.ning.billing.util.UserType;
+import com.ning.billing.util.callcontext.CallContext;
+import com.ning.billing.util.callcontext.CallOrigin;
+import com.ning.billing.util.callcontext.UserType;
+import com.ning.billing.util.callcontext.DefaultCallContextFactory;
import com.ning.billing.util.clock.Clock;
-import com.ning.billing.util.entity.CallContextFactory;
-import com.ning.billing.util.entity.DefaultCallContext;
import org.apache.commons.io.IOUtils;
import org.skife.jdbi.v2.Handle;
import org.skife.jdbi.v2.TransactionCallback;
@@ -91,7 +90,7 @@ public abstract class InvoiceDaoTestBase extends InvoicingTestBase {
invoicePaymentDao = module.getInvoicePaymentSqlDao();
clock = injector.getInstance(Clock.class);
- context = new CallContextFactory(clock).createCallContext("Count Rogan", CallOrigin.TEST, UserType.TEST);
+ context = new DefaultCallContextFactory(clock).createCallContext("Count Rogan", CallOrigin.TEST, UserType.TEST);
generator = new DefaultInvoiceGenerator(clock, invoiceConfig);
BusService busService = injector.getInstance(BusService.class);
@@ -133,7 +132,9 @@ public abstract class InvoiceDaoTestBase extends InvoicingTestBase {
@AfterClass(alwaysRun = true)
protected void tearDown() {
- ((DefaultBusService) busService).stopBus();
+ if (busService != null) {
+ ((DefaultBusService) busService).stopBus();
+ }
module.stopDb();
assertTrue(true);
}
diff --git a/invoice/src/test/java/com/ning/billing/invoice/dao/InvoiceItemDaoTests.java b/invoice/src/test/java/com/ning/billing/invoice/dao/InvoiceItemDaoTests.java
index 574faa9..0a682bb 100644
--- a/invoice/src/test/java/com/ning/billing/invoice/dao/InvoiceItemDaoTests.java
+++ b/invoice/src/test/java/com/ning/billing/invoice/dao/InvoiceItemDaoTests.java
@@ -20,12 +20,6 @@ import com.ning.billing.catalog.api.Currency;
import com.ning.billing.invoice.api.InvoiceItem;
import com.ning.billing.invoice.model.DefaultInvoice;
import com.ning.billing.invoice.model.RecurringInvoiceItem;
-import com.ning.billing.util.CallContext;
-import com.ning.billing.util.CallOrigin;
-import com.ning.billing.util.UserType;
-import com.ning.billing.util.clock.Clock;
-import com.ning.billing.util.clock.DefaultClock;
-import com.ning.billing.util.entity.DefaultCallContext;
import org.joda.time.DateTime;
import org.testng.annotations.Test;
@@ -60,7 +54,8 @@ public class InvoiceItemDaoTests extends InvoiceDaoTestBase {
assertEquals(thisItem.getAmount().compareTo(item.getRate()), 0);
assertEquals(thisItem.getRate().compareTo(item.getRate()), 0);
assertEquals(thisItem.getCurrency(), item.getCurrency());
- assertEquals(thisItem.getCreatedDate().compareTo(item.getCreatedDate()), 0);
+ // created date is no longer set before persistence layer call
+ // assertEquals(thisItem.getCreatedDate().compareTo(item.getCreatedDate()), 0);
}
@Test(groups = "slow")
diff --git a/invoice/src/test/java/com/ning/billing/invoice/dao/MockInvoiceDao.java b/invoice/src/test/java/com/ning/billing/invoice/dao/MockInvoiceDao.java
index a5c53e3..739d8fc 100644
--- a/invoice/src/test/java/com/ning/billing/invoice/dao/MockInvoiceDao.java
+++ b/invoice/src/test/java/com/ning/billing/invoice/dao/MockInvoiceDao.java
@@ -24,7 +24,7 @@ import java.util.Map;
import java.util.UUID;
import com.ning.billing.invoice.api.InvoicePayment;
-import com.ning.billing.util.CallContext;
+import com.ning.billing.util.callcontext.CallContext;
import com.ning.billing.util.bus.Bus;
import org.joda.time.DateTime;
diff --git a/invoice/src/test/java/com/ning/billing/invoice/glue/InvoiceModuleWithEmbeddedDb.java b/invoice/src/test/java/com/ning/billing/invoice/glue/InvoiceModuleWithEmbeddedDb.java
index 77b90ec..b6cd172 100644
--- a/invoice/src/test/java/com/ning/billing/invoice/glue/InvoiceModuleWithEmbeddedDb.java
+++ b/invoice/src/test/java/com/ning/billing/invoice/glue/InvoiceModuleWithEmbeddedDb.java
@@ -23,6 +23,9 @@ import com.ning.billing.invoice.api.test.InvoiceTestApi;
import com.ning.billing.invoice.api.test.DefaultInvoiceTestApi;
import com.ning.billing.invoice.dao.InvoicePaymentSqlDao;
import com.ning.billing.invoice.dao.RecurringInvoiceItemSqlDao;
+import com.ning.billing.util.callcontext.CallContextFactory;
+import com.ning.billing.util.callcontext.DefaultCallContextFactory;
+import com.ning.billing.util.glue.CallContextModule;
import com.ning.billing.util.glue.GlobalLockerModule;
import org.skife.jdbi.v2.IDBI;
import com.ning.billing.account.glue.AccountModule;
@@ -77,6 +80,7 @@ public class InvoiceModuleWithEmbeddedDb extends InvoiceModule {
bind(IDBI.class).toInstance(dbi);
bind(Clock.class).to(DefaultClock.class).asEagerSingleton();
+ bind(CallContextFactory.class).to(DefaultCallContextFactory.class).asEagerSingleton();
installNotificationQueue();
install(new AccountModule());
install(new CatalogModule());
@@ -86,7 +90,6 @@ public class InvoiceModuleWithEmbeddedDb extends InvoiceModule {
super.configure();
bind(InvoiceTestApi.class).to(DefaultInvoiceTestApi.class).asEagerSingleton();
-
install(new BusModule());
}
diff --git a/invoice/src/test/java/com/ning/billing/invoice/glue/InvoiceModuleWithMocks.java b/invoice/src/test/java/com/ning/billing/invoice/glue/InvoiceModuleWithMocks.java
index 4be12cc..8f2acc9 100644
--- a/invoice/src/test/java/com/ning/billing/invoice/glue/InvoiceModuleWithMocks.java
+++ b/invoice/src/test/java/com/ning/billing/invoice/glue/InvoiceModuleWithMocks.java
@@ -20,6 +20,8 @@ import com.ning.billing.invoice.dao.InvoiceDao;
import com.ning.billing.invoice.dao.MockInvoiceDao;
import com.ning.billing.util.globallocker.GlobalLocker;
import com.ning.billing.util.globallocker.MockGlobalLocker;
+import com.ning.billing.util.glue.CallContextModule;
+import org.skife.jdbi.v2.Call;
public class InvoiceModuleWithMocks extends InvoiceModule {
@@ -53,4 +55,9 @@ public class InvoiceModuleWithMocks extends InvoiceModule {
protected void installInvoiceMigrationApi() {
}
+
+ @Override
+ public void configure() {
+ super.configure();
+ }
}
diff --git a/invoice/src/test/java/com/ning/billing/invoice/MockModule.java b/invoice/src/test/java/com/ning/billing/invoice/MockModule.java
index db31602..93aa35a 100644
--- a/invoice/src/test/java/com/ning/billing/invoice/MockModule.java
+++ b/invoice/src/test/java/com/ning/billing/invoice/MockModule.java
@@ -16,6 +16,8 @@
package com.ning.billing.invoice;
+import com.ning.billing.util.callcontext.CallContextFactory;
+import com.ning.billing.util.callcontext.DefaultCallContextFactory;
import org.skife.config.ConfigurationObjectFactory;
import org.skife.jdbi.v2.IDBI;
@@ -35,15 +37,13 @@ import com.ning.billing.util.glue.NotificationQueueModule;
public class MockModule extends AbstractModule {
-
-
public static final String PLUGIN_NAME = "yoyo";
@Override
protected void configure() {
-
bind(Clock.class).to(ClockMock.class).asEagerSingleton();
bind(ClockMock.class).asEagerSingleton();
+ bind(CallContextFactory.class).to(DefaultCallContextFactory.class).asEagerSingleton();
final MysqlTestingHelper helper = new MysqlTestingHelper();
bind(MysqlTestingHelper.class).toInstance(helper);
diff --git a/invoice/src/test/java/com/ning/billing/invoice/notification/TestNextBillingDateNotifier.java b/invoice/src/test/java/com/ning/billing/invoice/notification/TestNextBillingDateNotifier.java
index 1b7d821..ad1916a 100644
--- a/invoice/src/test/java/com/ning/billing/invoice/notification/TestNextBillingDateNotifier.java
+++ b/invoice/src/test/java/com/ning/billing/invoice/notification/TestNextBillingDateNotifier.java
@@ -24,8 +24,21 @@ import java.sql.SQLException;
import java.util.UUID;
import java.util.concurrent.Callable;
+import com.ning.billing.account.api.AccountUserApi;
+import com.ning.billing.account.api.user.DefaultAccountUserApi;
+import com.ning.billing.account.dao.AccountDao;
+import com.ning.billing.account.dao.DefaultAccountDao;
+import com.ning.billing.entitlement.api.billing.DefaultEntitlementBillingApi;
+import com.ning.billing.entitlement.api.billing.EntitlementBillingApi;
import com.ning.billing.invoice.InvoiceDispatcher;
-import com.ning.billing.util.entity.CallContextFactory;
+import com.ning.billing.invoice.dao.DefaultInvoiceDao;
+import com.ning.billing.invoice.dao.InvoiceDao;
+import com.ning.billing.invoice.model.DefaultInvoiceGenerator;
+import com.ning.billing.invoice.model.InvoiceGenerator;
+import com.ning.billing.util.callcontext.CallContextFactory;
+import com.ning.billing.util.callcontext.DefaultCallContextFactory;
+import com.ning.billing.util.globallocker.GlobalLocker;
+import com.ning.billing.util.globallocker.MySqlGlobalLocker;
import org.apache.commons.io.IOUtils;
import org.joda.time.DateTime;
import org.skife.config.ConfigurationObjectFactory;
@@ -102,19 +115,27 @@ public class TestNextBillingDateNotifier {
final Injector g = Guice.createInjector(Stage.PRODUCTION, new AbstractModule() {
@Override
protected void configure() {
- bind(Clock.class).to(ClockMock.class).asEagerSingleton();
- bind(Bus.class).to(InMemoryBus.class).asEagerSingleton();
- bind(NotificationQueueService.class).to(DefaultNotificationQueueService.class).asEagerSingleton();
- final InvoiceConfig invoiceConfig = new ConfigurationObjectFactory(System.getProperties()).build(InvoiceConfig.class);
- bind(InvoiceConfig.class).toInstance(invoiceConfig);
- final CatalogConfig catalogConfig = new ConfigurationObjectFactory(System.getProperties()).build(CatalogConfig.class);
- bind(CatalogConfig.class).toInstance(catalogConfig);
- bind(CatalogService.class).to(DefaultCatalogService.class).asEagerSingleton();
- final MysqlTestingHelper helper = new MysqlTestingHelper();
- bind(MysqlTestingHelper.class).toInstance(helper);
- IDBI dbi = helper.getDBI();
- bind(IDBI.class).toInstance(dbi);
- bind(EntitlementDao.class).to(EntitlementSqlDao.class).asEagerSingleton();
+ bind(Clock.class).to(ClockMock.class).asEagerSingleton();
+ bind(CallContextFactory.class).to(DefaultCallContextFactory.class).asEagerSingleton();
+ bind(Bus.class).to(InMemoryBus.class).asEagerSingleton();
+ bind(NotificationQueueService.class).to(DefaultNotificationQueueService.class).asEagerSingleton();
+ final InvoiceConfig invoiceConfig = new ConfigurationObjectFactory(System.getProperties()).build(InvoiceConfig.class);
+ bind(InvoiceConfig.class).toInstance(invoiceConfig);
+ final CatalogConfig catalogConfig = new ConfigurationObjectFactory(System.getProperties()).build(CatalogConfig.class);
+ bind(CatalogConfig.class).toInstance(catalogConfig);
+ bind(CatalogService.class).to(DefaultCatalogService.class).asEagerSingleton();
+ final MysqlTestingHelper helper = new MysqlTestingHelper();
+ bind(MysqlTestingHelper.class).toInstance(helper);
+ IDBI dbi = helper.getDBI();
+ bind(IDBI.class).toInstance(dbi);
+ bind(EntitlementDao.class).to(EntitlementSqlDao.class).asEagerSingleton();
+ bind(GlobalLocker.class).to(MySqlGlobalLocker.class).asEagerSingleton();
+ bind(InvoiceGenerator.class).to(DefaultInvoiceGenerator.class).asEagerSingleton();
+ bind(InvoiceDao.class).to(DefaultInvoiceDao.class);
+ bind(NextBillingDatePoster.class).to(DefaultNextBillingDatePoster.class).asEagerSingleton();
+ bind(AccountDao.class).to(DefaultAccountDao.class).asEagerSingleton();
+ bind(AccountUserApi.class).to(DefaultAccountUserApi.class).asEagerSingleton();
+ bind(EntitlementBillingApi.class).to(DefaultEntitlementBillingApi.class).asEagerSingleton();
}
});
@@ -130,11 +151,10 @@ public class TestNextBillingDateNotifier {
EntitlementDao entitlementDao = BrainDeadProxyFactory.createBrainDeadProxyFor(EntitlementDao.class);
((ZombieControl) entitlementDao).addResult("getSubscriptionFromId", subscription);
+ CallContextFactory factory = new DefaultCallContextFactory(clock);
+ listener = new InvoiceListenerMock(factory, dispatcher);
notifier = new DefaultNextBillingDateNotifier(notificationQueueService,g.getInstance(InvoiceConfig.class), entitlementDao, listener);
startMysql();
-
- CallContextFactory factory = new CallContextFactory(clock);
- listener = new InvoiceListenerMock(factory, dispatcher);
}
private void startMysql() throws IOException, ClassNotFoundException, SQLException {
diff --git a/invoice/src/test/java/com/ning/billing/invoice/TestInvoiceDispatcher.java b/invoice/src/test/java/com/ning/billing/invoice/TestInvoiceDispatcher.java
index 70603de..5342dd8 100644
--- a/invoice/src/test/java/com/ning/billing/invoice/TestInvoiceDispatcher.java
+++ b/invoice/src/test/java/com/ning/billing/invoice/TestInvoiceDispatcher.java
@@ -23,11 +23,11 @@ import java.util.SortedSet;
import java.util.TreeSet;
import java.util.UUID;
-import com.ning.billing.util.CallContext;
-import com.ning.billing.util.CallOrigin;
-import com.ning.billing.util.UserType;
+import com.ning.billing.util.callcontext.CallContext;
+import com.ning.billing.util.callcontext.CallOrigin;
+import com.ning.billing.util.callcontext.UserType;
+import com.ning.billing.util.callcontext.DefaultCallContextFactory;
import com.ning.billing.util.clock.Clock;
-import com.ning.billing.util.entity.CallContextFactory;
import org.apache.commons.io.IOUtils;
import org.joda.time.DateTime;
import org.slf4j.Logger;
@@ -41,12 +41,10 @@ import org.testng.annotations.Test;
import com.google.inject.Inject;
import com.ning.billing.account.api.Account;
import com.ning.billing.account.api.AccountUserApi;
-import com.ning.billing.catalog.MockInternationalPrice;
import com.ning.billing.catalog.MockPlan;
import com.ning.billing.catalog.MockPlanPhase;
import com.ning.billing.catalog.api.BillingPeriod;
import com.ning.billing.catalog.api.Currency;
-import com.ning.billing.catalog.api.InternationalPrice;
import com.ning.billing.catalog.api.Plan;
import com.ning.billing.catalog.api.PlanPhase;
import com.ning.billing.dbi.MysqlTestingHelper;
@@ -67,18 +65,20 @@ import com.ning.billing.mock.BrainDeadProxyFactory.ZombieControl;
import com.ning.billing.util.bus.BusService;
import com.ning.billing.util.bus.DefaultBusService;
import com.ning.billing.util.globallocker.GlobalLocker;
-import sun.security.util.BigInt;
@Guice(modules = {MockModule.class})
public class TestInvoiceDispatcher {
- Logger log = LoggerFactory.getLogger(TestInvoiceDispatcher.class);
+ private Logger log = LoggerFactory.getLogger(TestInvoiceDispatcher.class);
@Inject
- InvoiceUserApi invoiceUserApi;
+ private InvoiceUserApi invoiceUserApi;
+
@Inject
private InvoiceGenerator generator;
+
@Inject
private InvoiceDao invoiceDao;
+
@Inject
private GlobalLocker locker;
@@ -86,7 +86,7 @@ public class TestInvoiceDispatcher {
private MysqlTestingHelper helper;
@Inject
- NextBillingDateNotifier notifier;
+ private NextBillingDateNotifier notifier;
@Inject
private BusService busService;
@@ -94,13 +94,11 @@ public class TestInvoiceDispatcher {
@Inject
private Clock clock;
- private final CallContext context = new CallContextFactory(clock).createCallContext("Miracle Max", CallOrigin.TEST, UserType.TEST);
+ private CallContext context;
@BeforeSuite(alwaysRun = true)
public void setup() throws IOException
{
-
-
final String accountDdl = IOUtils.toString(TestInvoiceDispatcher.class.getResourceAsStream("/com/ning/billing/account/ddl.sql"));
final String entitlementDdl = IOUtils.toString(TestInvoiceDispatcher.class.getResourceAsStream("/com/ning/billing/entitlement/ddl.sql"));
final String invoiceDdl = IOUtils.toString(TestInvoiceDispatcher.class.getResourceAsStream("/com/ning/billing/invoice/ddl.sql"));
@@ -117,6 +115,8 @@ public class TestInvoiceDispatcher {
notifier.initialize();
notifier.start();
+ context = new DefaultCallContextFactory(clock).createCallContext("Miracle Max", CallOrigin.TEST, UserType.TEST);
+
busService.getBus().start();
}
@@ -133,7 +133,7 @@ public class TestInvoiceDispatcher {
}
@Test(groups={"fast"}, enabled=true)
- public void testDryrunInvoice() throws InvoiceApiException {
+ public void testDryRunInvoice() throws InvoiceApiException {
UUID accountId = UUID.randomUUID();
UUID subscriptionId = UUID.randomUUID();
diff --git a/payment/src/test/java/com/ning/billing/payment/TestHelper.java b/payment/src/test/java/com/ning/billing/payment/TestHelper.java
index 600c64d..df54db7 100644
--- a/payment/src/test/java/com/ning/billing/payment/TestHelper.java
+++ b/payment/src/test/java/com/ning/billing/payment/TestHelper.java
@@ -19,10 +19,10 @@ package com.ning.billing.payment;
import java.math.BigDecimal;
import java.util.UUID;
-import com.ning.billing.util.CallContext;
-import com.ning.billing.util.CallOrigin;
-import com.ning.billing.util.UserType;
-import com.ning.billing.util.entity.CallContextFactory;
+import com.ning.billing.util.callcontext.CallContext;
+import com.ning.billing.util.callcontext.CallOrigin;
+import com.ning.billing.util.callcontext.UserType;
+import com.ning.billing.util.callcontext.CallContextFactory;
import com.ning.billing.util.entity.EntityPersistenceException;
import org.apache.commons.lang.RandomStringUtils;
import org.joda.time.DateTime;
diff --git a/payment/src/test/java/com/ning/billing/payment/TestPaymentInvoiceIntegration.java b/payment/src/test/java/com/ning/billing/payment/TestPaymentInvoiceIntegration.java
index 888e017..9231263 100644
--- a/payment/src/test/java/com/ning/billing/payment/TestPaymentInvoiceIntegration.java
+++ b/payment/src/test/java/com/ning/billing/payment/TestPaymentInvoiceIntegration.java
@@ -26,6 +26,7 @@ import java.math.BigDecimal;
import java.util.List;
import java.util.concurrent.Callable;
+import com.ning.billing.util.glue.CallContextModule;
import org.apache.commons.io.IOUtils;
import org.joda.time.DateTime;
import org.skife.jdbi.v2.IDBI;
@@ -101,6 +102,7 @@ public class TestPaymentInvoiceIntegration {
Injector injector = Guice.createInjector(new PaymentTestModuleWithEmbeddedDb(),
new AccountModule(),
new InvoiceModuleWithMocks(),
+ new CallContextModule(),
new MockClockModule(),
new AbstractModule() {
@Override
diff --git a/util/src/main/java/com/ning/billing/util/callcontext/CallContextFactory.java b/util/src/main/java/com/ning/billing/util/callcontext/CallContextFactory.java
new file mode 100644
index 0000000..6ffc554
--- /dev/null
+++ b/util/src/main/java/com/ning/billing/util/callcontext/CallContextFactory.java
@@ -0,0 +1,27 @@
+/*
+ * Copyright 2010-2011 Ning, Inc.
+ *
+ * Ning 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
+ * License. You may obtain a copy of the License at:
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations
+ * under the License.
+ */
+
+package com.ning.billing.util.callcontext;
+
+import org.joda.time.DateTime;
+
+public interface CallContextFactory {
+ CallContext createCallContext(String userName, CallOrigin callOrigin, UserType userType);
+
+ CallContext createMigrationCallContext(String userName, CallOrigin callOrigin, UserType userType, DateTime createdDate, DateTime updatedDate);
+
+ CallContext toMigrationCallContext(CallContext callContext, DateTime createdDate, DateTime updatedDate);
+}
diff --git a/util/src/main/java/com/ning/billing/util/customfield/dao/AuditedCustomFieldDao.java b/util/src/main/java/com/ning/billing/util/customfield/dao/AuditedCustomFieldDao.java
index 318f3ba..096dfbe 100644
--- a/util/src/main/java/com/ning/billing/util/customfield/dao/AuditedCustomFieldDao.java
+++ b/util/src/main/java/com/ning/billing/util/customfield/dao/AuditedCustomFieldDao.java
@@ -1,6 +1,6 @@
package com.ning.billing.util.customfield.dao;
-import com.ning.billing.util.CallContext;
+import com.ning.billing.util.callcontext.CallContext;
import com.ning.billing.util.customfield.CustomField;
import org.skife.jdbi.v2.sqlobject.mixins.Transmogrifier;
diff --git a/util/src/main/java/com/ning/billing/util/customfield/dao/CustomFieldAuditSqlDao.java b/util/src/main/java/com/ning/billing/util/customfield/dao/CustomFieldAuditSqlDao.java
index 23ea555..0bd7085 100644
--- a/util/src/main/java/com/ning/billing/util/customfield/dao/CustomFieldAuditSqlDao.java
+++ b/util/src/main/java/com/ning/billing/util/customfield/dao/CustomFieldAuditSqlDao.java
@@ -1,16 +1,17 @@
package com.ning.billing.util.customfield.dao;
-import com.ning.billing.util.CallContext;
+import com.ning.billing.util.callcontext.CallContext;
+import com.ning.billing.util.callcontext.CallContextBinder;
import com.ning.billing.util.customfield.CustomField;
import com.ning.billing.util.customfield.CustomFieldBinder;
-import com.ning.billing.util.entity.CallContextBinder;
-import com.ning.billing.util.tag.dao.TagBinder;
import org.skife.jdbi.v2.sqlobject.Bind;
import org.skife.jdbi.v2.sqlobject.SqlBatch;
import org.skife.jdbi.v2.sqlobject.mixins.Transactional;
+import org.skife.jdbi.v2.sqlobject.stringtemplate.ExternalizedSqlViaStringTemplate3;
import java.util.List;
+@ExternalizedSqlViaStringTemplate3
public interface CustomFieldAuditSqlDao extends Transactional<CustomFieldAuditSqlDao> {
@SqlBatch(transactional=false)
public void batchInsertFromTransaction(@Bind("objectId") final String objectId,
diff --git a/util/src/main/java/com/ning/billing/util/customfield/dao/CustomFieldSqlDao.java b/util/src/main/java/com/ning/billing/util/customfield/dao/CustomFieldSqlDao.java
index c6984e7..733bfeb 100644
--- a/util/src/main/java/com/ning/billing/util/customfield/dao/CustomFieldSqlDao.java
+++ b/util/src/main/java/com/ning/billing/util/customfield/dao/CustomFieldSqlDao.java
@@ -18,10 +18,10 @@ package com.ning.billing.util.customfield.dao;
import java.util.List;
-import com.ning.billing.util.CallContext;
+import com.ning.billing.util.callcontext.CallContext;
+import com.ning.billing.util.callcontext.CallContextBinder;
import com.ning.billing.util.customfield.CustomFieldBinder;
import com.ning.billing.util.customfield.CustomFieldMapper;
-import com.ning.billing.util.entity.CallContextBinder;
import com.ning.billing.util.entity.UpdatableEntityCollectionDao;
import org.skife.jdbi.v2.sqlobject.Bind;
import org.skife.jdbi.v2.sqlobject.SqlBatch;
diff --git a/util/src/main/java/com/ning/billing/util/entity/EntityCollectionDao.java b/util/src/main/java/com/ning/billing/util/entity/EntityCollectionDao.java
index ce84966..9bb2d8e 100644
--- a/util/src/main/java/com/ning/billing/util/entity/EntityCollectionDao.java
+++ b/util/src/main/java/com/ning/billing/util/entity/EntityCollectionDao.java
@@ -16,7 +16,8 @@
package com.ning.billing.util.entity;
-import com.ning.billing.util.CallContext;
+import com.ning.billing.util.callcontext.CallContext;
+import com.ning.billing.util.callcontext.CallContextBinder;
import org.skife.jdbi.v2.sqlobject.*;
import java.util.List;
diff --git a/util/src/main/java/com/ning/billing/util/entity/EntityDao.java b/util/src/main/java/com/ning/billing/util/entity/EntityDao.java
index d44e766..d093492 100644
--- a/util/src/main/java/com/ning/billing/util/entity/EntityDao.java
+++ b/util/src/main/java/com/ning/billing/util/entity/EntityDao.java
@@ -18,7 +18,8 @@ package com.ning.billing.util.entity;
import java.util.List;
-import com.ning.billing.util.CallContext;
+import com.ning.billing.util.callcontext.CallContext;
+import com.ning.billing.util.callcontext.CallContextBinder;
import org.skife.jdbi.v2.sqlobject.Bind;
import org.skife.jdbi.v2.sqlobject.BindBean;
import org.skife.jdbi.v2.sqlobject.SqlQuery;
diff --git a/util/src/main/java/com/ning/billing/util/entity/UpdatableEntityCollectionDao.java b/util/src/main/java/com/ning/billing/util/entity/UpdatableEntityCollectionDao.java
index 6156b27..18314fa 100644
--- a/util/src/main/java/com/ning/billing/util/entity/UpdatableEntityCollectionDao.java
+++ b/util/src/main/java/com/ning/billing/util/entity/UpdatableEntityCollectionDao.java
@@ -1,10 +1,10 @@
package com.ning.billing.util.entity;
-import com.ning.billing.util.CallContext;
+import com.ning.billing.util.callcontext.CallContext;
+import com.ning.billing.util.callcontext.CallContextBinder;
import org.skife.jdbi.v2.sqlobject.Bind;
import org.skife.jdbi.v2.sqlobject.BindBean;
import org.skife.jdbi.v2.sqlobject.SqlBatch;
-import org.skife.jdbi.v2.sqlobject.SqlUpdate;
import java.util.List;
diff --git a/util/src/main/java/com/ning/billing/util/entity/UpdatableEntityDao.java b/util/src/main/java/com/ning/billing/util/entity/UpdatableEntityDao.java
index 56429a5..4438625 100644
--- a/util/src/main/java/com/ning/billing/util/entity/UpdatableEntityDao.java
+++ b/util/src/main/java/com/ning/billing/util/entity/UpdatableEntityDao.java
@@ -16,7 +16,8 @@
package com.ning.billing.util.entity;
-import com.ning.billing.util.CallContext;
+import com.ning.billing.util.callcontext.CallContext;
+import com.ning.billing.util.callcontext.CallContextBinder;
import org.skife.jdbi.v2.sqlobject.BindBean;
import org.skife.jdbi.v2.sqlobject.SqlUpdate;
diff --git a/util/src/main/java/com/ning/billing/util/glue/CallContextModule.java b/util/src/main/java/com/ning/billing/util/glue/CallContextModule.java
new file mode 100644
index 0000000..6c0cca0
--- /dev/null
+++ b/util/src/main/java/com/ning/billing/util/glue/CallContextModule.java
@@ -0,0 +1,28 @@
+/*
+ * Copyright 2010-2011 Ning, Inc.
+ *
+ * Ning 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
+ * License. You may obtain a copy of the License at:
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations
+ * under the License.
+ */
+
+package com.ning.billing.util.glue;
+
+import com.google.inject.AbstractModule;
+import com.ning.billing.util.callcontext.CallContextFactory;
+import com.ning.billing.util.callcontext.DefaultCallContextFactory;
+
+public class CallContextModule extends AbstractModule {
+ @Override
+ protected void configure() {
+ bind(CallContextFactory.class).to(DefaultCallContextFactory.class).asEagerSingleton();
+ }
+}
diff --git a/util/src/main/java/com/ning/billing/util/tag/api/DefaultTagDefinitionUserApi.java b/util/src/main/java/com/ning/billing/util/tag/api/DefaultTagDefinitionUserApi.java
index 0c6ce0c..0337619 100644
--- a/util/src/main/java/com/ning/billing/util/tag/api/DefaultTagDefinitionUserApi.java
+++ b/util/src/main/java/com/ning/billing/util/tag/api/DefaultTagDefinitionUserApi.java
@@ -18,7 +18,7 @@ package com.ning.billing.util.tag.api;
import java.util.List;
import com.google.inject.Inject;
-import com.ning.billing.util.CallContext;
+import com.ning.billing.util.callcontext.CallContext;
import com.ning.billing.util.api.TagDefinitionApiException;
import com.ning.billing.util.api.TagDefinitionUserApi;
import com.ning.billing.util.tag.TagDefinition;
diff --git a/util/src/main/java/com/ning/billing/util/tag/dao/AuditedTagDao.java b/util/src/main/java/com/ning/billing/util/tag/dao/AuditedTagDao.java
index d81d9db..a1bb4f3 100644
--- a/util/src/main/java/com/ning/billing/util/tag/dao/AuditedTagDao.java
+++ b/util/src/main/java/com/ning/billing/util/tag/dao/AuditedTagDao.java
@@ -1,6 +1,6 @@
package com.ning.billing.util.tag.dao;
-import com.ning.billing.util.CallContext;
+import com.ning.billing.util.callcontext.CallContext;
import com.ning.billing.util.tag.Tag;
import org.skife.jdbi.v2.sqlobject.mixins.Transmogrifier;
diff --git a/util/src/main/java/com/ning/billing/util/tag/dao/DefaultTagDefinitionDao.java b/util/src/main/java/com/ning/billing/util/tag/dao/DefaultTagDefinitionDao.java
index fb6d827..884dacd 100644
--- a/util/src/main/java/com/ning/billing/util/tag/dao/DefaultTagDefinitionDao.java
+++ b/util/src/main/java/com/ning/billing/util/tag/dao/DefaultTagDefinitionDao.java
@@ -19,7 +19,7 @@ package com.ning.billing.util.tag.dao;
import java.util.ArrayList;
import java.util.List;
-import com.ning.billing.util.CallContext;
+import com.ning.billing.util.callcontext.CallContext;
import com.ning.billing.util.tag.ControlTagType;
import org.skife.jdbi.v2.IDBI;
import com.google.inject.Inject;
diff --git a/util/src/main/java/com/ning/billing/util/tag/dao/TagAuditSqlDao.java b/util/src/main/java/com/ning/billing/util/tag/dao/TagAuditSqlDao.java
index 3298768..1032179 100644
--- a/util/src/main/java/com/ning/billing/util/tag/dao/TagAuditSqlDao.java
+++ b/util/src/main/java/com/ning/billing/util/tag/dao/TagAuditSqlDao.java
@@ -1,8 +1,8 @@
package com.ning.billing.util.tag.dao;
-import com.ning.billing.util.CallContext;
-import com.ning.billing.util.entity.CallContextBinder;
+import com.ning.billing.util.callcontext.CallContext;
+import com.ning.billing.util.callcontext.CallContextBinder;
import com.ning.billing.util.tag.Tag;
import org.skife.jdbi.v2.sqlobject.Bind;
import org.skife.jdbi.v2.sqlobject.SqlBatch;
diff --git a/util/src/main/java/com/ning/billing/util/tag/dao/TagDefinitionDao.java b/util/src/main/java/com/ning/billing/util/tag/dao/TagDefinitionDao.java
index a148a05..112ff75 100644
--- a/util/src/main/java/com/ning/billing/util/tag/dao/TagDefinitionDao.java
+++ b/util/src/main/java/com/ning/billing/util/tag/dao/TagDefinitionDao.java
@@ -18,7 +18,7 @@ package com.ning.billing.util.tag.dao;
import java.util.List;
-import com.ning.billing.util.CallContext;
+import com.ning.billing.util.callcontext.CallContext;
import com.ning.billing.util.api.TagDefinitionApiException;
import com.ning.billing.util.tag.TagDefinition;
diff --git a/util/src/main/java/com/ning/billing/util/tag/dao/TagDefinitionSqlDao.java b/util/src/main/java/com/ning/billing/util/tag/dao/TagDefinitionSqlDao.java
index 4a4b842..1308ae1 100644
--- a/util/src/main/java/com/ning/billing/util/tag/dao/TagDefinitionSqlDao.java
+++ b/util/src/main/java/com/ning/billing/util/tag/dao/TagDefinitionSqlDao.java
@@ -25,8 +25,8 @@ import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.UUID;
-import com.ning.billing.util.CallContext;
-import com.ning.billing.util.entity.CallContextBinder;
+import com.ning.billing.util.callcontext.CallContext;
+import com.ning.billing.util.callcontext.CallContextBinder;
import com.ning.billing.util.entity.EntityDao;
import com.ning.billing.util.tag.DefaultTagDefinition;
import com.ning.billing.util.tag.TagDefinition;
diff --git a/util/src/main/java/com/ning/billing/util/tag/dao/TagSqlDao.java b/util/src/main/java/com/ning/billing/util/tag/dao/TagSqlDao.java
index ecb374e..cfd552f 100644
--- a/util/src/main/java/com/ning/billing/util/tag/dao/TagSqlDao.java
+++ b/util/src/main/java/com/ning/billing/util/tag/dao/TagSqlDao.java
@@ -19,8 +19,8 @@ package com.ning.billing.util.tag.dao;
import java.util.List;
-import com.ning.billing.util.CallContext;
-import com.ning.billing.util.entity.CallContextBinder;
+import com.ning.billing.util.callcontext.CallContext;
+import com.ning.billing.util.callcontext.CallContextBinder;
import org.skife.jdbi.v2.sqlobject.Bind;
import org.skife.jdbi.v2.sqlobject.SqlBatch;
import org.skife.jdbi.v2.sqlobject.customizers.RegisterMapper;
diff --git a/util/src/main/resources/com/ning/billing/util/customfield/dao/CustomFieldAuditSqlDao.sql.stg b/util/src/main/resources/com/ning/billing/util/customfield/dao/CustomFieldAuditSqlDao.sql.stg
index 446d9c8..f8233e5 100644
--- a/util/src/main/resources/com/ning/billing/util/customfield/dao/CustomFieldAuditSqlDao.sql.stg
+++ b/util/src/main/resources/com/ning/billing/util/customfield/dao/CustomFieldAuditSqlDao.sql.stg
@@ -7,21 +7,21 @@ fields(prefix) ::= <<
<prefix>change_date,
<prefix>changed_by,
<prefix>reason_code,
- <prefix>comment
+ <prefix>comments
>>
batchInsertFromTransaction() ::= <<
INSERT INTO audit_log(<fields()>)
- VALUES('custom_field', :id, 'INSERT', :date, :userName, NULL, NULL);
+ VALUES('custom_field', :id, 'INSERT', :createdDate, :userName, NULL, NULL);
>>
batchDeleteFromTransaction() ::= <<
INSERT INTO audit_log(<fields()>)
- VALUES('custom_field', :id, 'DELETE', :date, :userName, NULL, NULL);
+ VALUES('custom_field', :id, 'DELETE', :updatedDate, :userName, NULL, NULL);
>>
batchUpdateFromTransaction() ::= <<
INSERT INTO audit_log(<fields()>)
- VALUES('custom_field', :id, 'UPDATE', :date, :userName, NULL, NULL);
+ VALUES('custom_field', :id, 'UPDATE', :updatedDate, :userName, NULL, NULL);
>>
;
\ No newline at end of file
diff --git a/util/src/main/resources/com/ning/billing/util/customfield/dao/CustomFieldSqlDao.sql.stg b/util/src/main/resources/com/ning/billing/util/customfield/dao/CustomFieldSqlDao.sql.stg
index 3cc9eff..1fbf994 100644
--- a/util/src/main/resources/com/ning/billing/util/customfield/dao/CustomFieldSqlDao.sql.stg
+++ b/util/src/main/resources/com/ning/billing/util/customfield/dao/CustomFieldSqlDao.sql.stg
@@ -1,13 +1,13 @@
group CustomFieldSqlDao;
batchInsertFromTransaction() ::= <<
- INSERT INTO custom_fields(id, object_id, object_type, field_name, field_value, created_by, created_date)
- VALUES (:id, :objectId, :objectType, :fieldName, :fieldValue, :userName, :date);
+ INSERT INTO custom_fields(id, object_id, object_type, field_name, field_value, created_by, created_date, updated_by, updated_date)
+ VALUES (:id, :objectId, :objectType, :fieldName, :fieldValue, :userName, :createdDate, :userName, :updatedDate);
>>
batchUpdateFromTransaction() ::= <<
UPDATE custom_fields
- SET field_value = :fieldValue, updated_by = :userName, created_date = :date
+ SET field_value = :fieldValue, updated_by = :userName, updated_date = :updatedDate
WHERE object_id = :objectId AND object_type = :objectType AND field_name = :fieldName;
>>
diff --git a/util/src/main/resources/com/ning/billing/util/ddl.sql b/util/src/main/resources/com/ning/billing/util/ddl.sql
index f693848..8d78d54 100644
--- a/util/src/main/resources/com/ning/billing/util/ddl.sql
+++ b/util/src/main/resources/com/ning/billing/util/ddl.sql
@@ -113,6 +113,6 @@ CREATE TABLE audit_log (
change_date datetime NOT NULL,
changed_by varchar(50) NOT NULL,
reason_code varchar(20) DEFAULT NULL,
- comment varchar(255) DEFAULT NULL,
+ comments varchar(255) DEFAULT NULL,
PRIMARY KEY(id)
) ENGINE=innodb;
diff --git a/util/src/main/resources/com/ning/billing/util/tag/dao/TagAuditSqlDao.sql.stg b/util/src/main/resources/com/ning/billing/util/tag/dao/TagAuditSqlDao.sql.stg
index af3a384..3daa932 100644
--- a/util/src/main/resources/com/ning/billing/util/tag/dao/TagAuditSqlDao.sql.stg
+++ b/util/src/main/resources/com/ning/billing/util/tag/dao/TagAuditSqlDao.sql.stg
@@ -7,15 +7,15 @@ fields(prefix) ::= <<
<prefix>change_date,
<prefix>changed_by,
<prefix>reason_code,
- <prefix>comment
+ <prefix>comments
>>
batchInsertFromTransaction() ::= <<
INSERT INTO audit_log(<fields()>)
- VALUES('tag', :id, 'INSERT', :date, :userName, NULL, NULL);
+ VALUES('tag', :id, 'INSERT', :createdDate, :userName, NULL, NULL);
>>
batchDeleteFromTransaction() ::= <<
INSERT INTO audit_log(<fields()>)
- VALUES('tag', :id, 'DELETE', :date, :userName, NULL, NULL);
+ VALUES('tag', :id, 'DELETE', :updatedDate, :userName, NULL, NULL);
>>
\ No newline at end of file
diff --git a/util/src/main/resources/com/ning/billing/util/tag/dao/TagDefinitionSqlDao.sql.stg b/util/src/main/resources/com/ning/billing/util/tag/dao/TagDefinitionSqlDao.sql.stg
index c18445d..54bdfa9 100644
--- a/util/src/main/resources/com/ning/billing/util/tag/dao/TagDefinitionSqlDao.sql.stg
+++ b/util/src/main/resources/com/ning/billing/util/tag/dao/TagDefinitionSqlDao.sql.stg
@@ -15,7 +15,7 @@ get() ::= <<
create() ::= <<
INSERT INTO tag_definitions(<fields()>)
- VALUES(:id, :name, :description, :userName, :date);
+ VALUES(:id, :name, :description, :userName, :createdDate);
>>
load() ::= <<
diff --git a/util/src/main/resources/com/ning/billing/util/tag/dao/TagSqlDao.sql.stg b/util/src/main/resources/com/ning/billing/util/tag/dao/TagSqlDao.sql.stg
index b7910d5..442d374 100644
--- a/util/src/main/resources/com/ning/billing/util/tag/dao/TagSqlDao.sql.stg
+++ b/util/src/main/resources/com/ning/billing/util/tag/dao/TagSqlDao.sql.stg
@@ -2,7 +2,7 @@ group TagDao;
batchInsertFromTransaction() ::= <<
INSERT INTO tags(id, tag_definition_name, object_id, object_type, created_by, created_date)
- VALUES (:id, :tagDefinitionName, :objectId, :objectType, :userName, :date);
+ VALUES (:id, :tagDefinitionName, :objectId, :objectType, :userName, :createdDate);
>>
batchDeleteFromTransaction() ::= <<
diff --git a/util/src/test/java/com/ning/billing/util/customfield/TestFieldStore.java b/util/src/test/java/com/ning/billing/util/customfield/TestFieldStore.java
index bd650d5..429b5ab 100644
--- a/util/src/test/java/com/ning/billing/util/customfield/TestFieldStore.java
+++ b/util/src/test/java/com/ning/billing/util/customfield/TestFieldStore.java
@@ -22,13 +22,13 @@ import java.util.UUID;
import com.google.inject.Guice;
import com.google.inject.Injector;
import com.google.inject.Stage;
-import com.ning.billing.util.CallContext;
-import com.ning.billing.util.CallOrigin;
-import com.ning.billing.util.UserType;
+import com.ning.billing.util.callcontext.CallContext;
+import com.ning.billing.util.callcontext.CallOrigin;
+import com.ning.billing.util.callcontext.UserType;
+import com.ning.billing.util.callcontext.DefaultCallContextFactory;
import com.ning.billing.util.clock.Clock;
import com.ning.billing.util.clock.MockClockModule;
import com.ning.billing.util.customfield.dao.AuditedCustomFieldDao;
-import com.ning.billing.util.entity.CallContextFactory;
import com.ning.billing.util.glue.FieldStoreModule;
import org.apache.commons.io.IOUtils;
import org.skife.jdbi.v2.IDBI;
@@ -64,7 +64,7 @@ public class TestFieldStore {
FieldStoreModule module = new FieldStoreModule();
final Injector injector = Guice.createInjector(Stage.DEVELOPMENT, module, new MockClockModule());
Clock clock = injector.getInstance(Clock.class);
- context = new CallContextFactory(clock).createCallContext("Fezzik", CallOrigin.TEST, UserType.TEST);
+ context = new DefaultCallContextFactory(clock).createCallContext("Fezzik", CallOrigin.TEST, UserType.TEST);
}
catch (Throwable t) {
diff --git a/util/src/test/java/com/ning/billing/util/tag/dao/MockTagDefinitionDao.java b/util/src/test/java/com/ning/billing/util/tag/dao/MockTagDefinitionDao.java
index ca07448..adcb848 100644
--- a/util/src/test/java/com/ning/billing/util/tag/dao/MockTagDefinitionDao.java
+++ b/util/src/test/java/com/ning/billing/util/tag/dao/MockTagDefinitionDao.java
@@ -21,7 +21,7 @@ import java.util.List;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
-import com.ning.billing.util.CallContext;
+import com.ning.billing.util.callcontext.CallContext;
import com.ning.billing.util.api.TagDefinitionApiException;
import com.ning.billing.util.tag.DefaultTagDefinition;
import com.ning.billing.util.tag.TagDefinition;
diff --git a/util/src/test/java/com/ning/billing/util/tag/TestTagStore.java b/util/src/test/java/com/ning/billing/util/tag/TestTagStore.java
index 6e9dcfd..8af9761 100644
--- a/util/src/test/java/com/ning/billing/util/tag/TestTagStore.java
+++ b/util/src/test/java/com/ning/billing/util/tag/TestTagStore.java
@@ -22,7 +22,10 @@ import java.util.List;
import java.util.Map;
import java.util.UUID;
-import com.ning.billing.util.CallContext;
+import com.ning.billing.util.callcontext.CallContext;
+import com.ning.billing.util.callcontext.CallOrigin;
+import com.ning.billing.util.callcontext.UserType;
+import com.ning.billing.util.callcontext.DefaultCallContextFactory;
import com.ning.billing.util.clock.Clock;
import com.ning.billing.util.tag.dao.AuditedTagDao;
import org.apache.commons.io.IOUtils;
@@ -89,10 +92,11 @@ public class TestTagStore {
helper.initDb(utilDdl);
tagSqlDao.test();
+ context = new DefaultCallContextFactory(clock).createCallContext("Tag store test", CallOrigin.TEST, UserType.TEST);
+
cleanupTags();
tag1 = tagDefinitionDao.create("tag1", "First tag", context);
tag2 = tagDefinitionDao.create("tag2", "Second tag", context);
-
}
catch (Throwable t) {
log.error("Failed to start tag store tests", t);