killbill-memoizeit

Merge branch 'integration' of github.com:ning/killbill

5/15/2012 1:21:43 PM

Details

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 1559420..8700cfa 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
@@ -21,6 +21,8 @@ import com.ning.billing.account.dao.AccountEmailDao;
 import com.ning.billing.account.dao.MockAccountDao;
 import com.ning.billing.mock.BrainDeadProxyFactory;
 import com.ning.billing.util.clock.MockClockModule;
+import com.ning.billing.util.customfield.CustomField;
+import com.ning.billing.util.customfield.dao.CustomFieldDao;
 import com.ning.billing.util.glue.CallContextModule;
 import com.ning.billing.util.glue.FieldStoreModule;
 import com.ning.billing.util.tag.MockTagStoreModuleMemory;
@@ -39,7 +41,5 @@ public class AccountModuleWithMocks extends AccountModule {
         super.configure();
         install(new MockClockModule());
         install(new CallContextModule());
-        install(new MockTagStoreModuleMemory());
-        install(new FieldStoreModule());
     }
 }
diff --git a/api/src/main/java/com/ning/billing/util/api/TagUserApi.java b/api/src/main/java/com/ning/billing/util/api/TagUserApi.java
index 2487641..2ecd93d 100644
--- a/api/src/main/java/com/ning/billing/util/api/TagUserApi.java
+++ b/api/src/main/java/com/ning/billing/util/api/TagUserApi.java
@@ -67,7 +67,11 @@ public interface TagUserApi {
 	 */
 	public TagDefinition getTagDefinition(String name) throws TagDefinitionApiException;
 
-	public List<Tag> createControlTags(UUID objectId, ObjectType objectType, List<TagDefinition> tagDescriptions) throws TagDefinitionApiException;
+	public List<Tag> createControlTags(UUID objectId, ObjectType objectType, List<TagDefinition> tagDefinitions) throws TagDefinitionApiException;
 
-	public List<Tag> createDescriptiveTags(UUID objectId, ObjectType objectType, List<TagDefinition> tagDescriptions) throws TagDefinitionApiException;
+    public Tag createControlTag(UUID objectId, ObjectType objectType, TagDefinition tagDefinition) throws TagDefinitionApiException;
+
+	public List<Tag> createDescriptiveTags(UUID objectId, ObjectType objectType, List<TagDefinition> tagDefinitions) throws TagDefinitionApiException;
+
+	public Tag createDescriptiveTag(UUID objectId, ObjectType objectType, TagDefinition tagDefinition) throws TagDefinitionApiException;
 }
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 ea75433..6518098 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
@@ -23,7 +23,11 @@ import java.net.URL;
 import java.util.Set;
 
 import com.ning.billing.account.api.AccountService;
+import com.ning.billing.account.glue.AccountModuleWithMocks;
+import com.ning.billing.mock.BrainDeadProxyFactory;
+import com.ning.billing.util.customfield.dao.CustomFieldDao;
 import org.skife.config.ConfigurationObjectFactory;
+import org.skife.jdbi.v2.DBI;
 import org.skife.jdbi.v2.IDBI;
 
 import com.google.common.collect.ImmutableSet;
@@ -75,14 +79,15 @@ public class MockModule extends AbstractModule {
 
         final MysqlTestingHelper helper = new MysqlTestingHelper();
         bind(MysqlTestingHelper.class).toInstance(helper);
+        final IDBI dbi;
         if (helper.isUsingLocalInstance()) {
-            bind(IDBI.class).toProvider(DBIProvider.class).asEagerSingleton();
             final DbiConfig config = new ConfigurationObjectFactory(System.getProperties()).build(DbiConfig.class);
-            bind(DbiConfig.class).toInstance(config);
+            DBIProvider provider = new DBIProvider(config);
+            dbi = provider.get();
         } else {
-            final IDBI dbi = helper.getDBI();
-            bind(IDBI.class).toInstance(dbi);
+            dbi = helper.getDBI();
         }
+        bind(IDBI.class).toInstance(dbi);
 
         install(new EmailModule());
         install(new CallContextModule());
@@ -90,8 +95,11 @@ public class MockModule extends AbstractModule {
         install(new BusModule());
         install(new NotificationQueueModule());
         install(new TagStoreModule());
-        install(new FieldStoreModule());
-        install(new AccountModule());
+
+        CustomFieldDao customFieldDao = BrainDeadProxyFactory.createBrainDeadProxyFor(CustomFieldDao.class);
+        bind(CustomFieldDao.class).toInstance(customFieldDao);
+
+        install(new AccountModuleWithMocks());
         install(new CatalogModule());
         install(new DefaultEntitlementModule());
         install(new DefaultInvoiceModule());
diff --git a/beatrix/src/test/java/com/ning/billing/beatrix/integration/payment/TestHelper.java b/beatrix/src/test/java/com/ning/billing/beatrix/integration/payment/TestHelper.java
index 631a7dc..753b966 100644
--- a/beatrix/src/test/java/com/ning/billing/beatrix/integration/payment/TestHelper.java
+++ b/beatrix/src/test/java/com/ning/billing/beatrix/integration/payment/TestHelper.java
@@ -82,6 +82,7 @@ public class TestHelper {
         zombie.addResult("getEmail", email);
         zombie.addResult("getCurrency", Currency.USD);
         zombie.addResult("getBillCycleDay", 1);
+        zombie.addResult("getPaymentProviderName", "");
 
         return account;
     }
diff --git a/beatrix/src/test/java/com/ning/billing/beatrix/integration/payment/TestPaymentInvoiceIntegration.java b/beatrix/src/test/java/com/ning/billing/beatrix/integration/payment/TestPaymentInvoiceIntegration.java
index 301acf6..9ac8a6b 100644
--- a/beatrix/src/test/java/com/ning/billing/beatrix/integration/payment/TestPaymentInvoiceIntegration.java
+++ b/beatrix/src/test/java/com/ning/billing/beatrix/integration/payment/TestPaymentInvoiceIntegration.java
@@ -104,7 +104,7 @@ public class TestPaymentInvoiceIntegration {
                                                  new MockJunctionModule(),
                                                  new AbstractModule()
                                             
-                                                  {
+                                                 {
                                                     @Override
                                                     protected void configure() {
                                                         bind(IDBI.class).toInstance(dbi);
diff --git a/invoice/src/main/resources/com/ning/billing/invoice/dao/InvoicePaymentSqlDao.sql.stg b/invoice/src/main/resources/com/ning/billing/invoice/dao/InvoicePaymentSqlDao.sql.stg
index c6989bb..6967da0 100644
--- a/invoice/src/main/resources/com/ning/billing/invoice/dao/InvoicePaymentSqlDao.sql.stg
+++ b/invoice/src/main/resources/com/ning/billing/invoice/dao/InvoicePaymentSqlDao.sql.stg
@@ -49,6 +49,12 @@ getInvoicePayment() ::= <<
     WHERE payment_id = :payment_id;
 >>
 
+getRecordId() ::= <<
+    SELECT record_id
+    FROM invoice_payments
+    WHERE id = :id;
+>>
+
 getRecordIds() ::= <<
     SELECT record_id, id
     FROM invoice_payments
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 bd43d0a..521d83d 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
@@ -52,11 +52,4 @@ public class InvoiceModuleWithMocks extends DefaultInvoiceModule {
     public void installInvoiceMigrationApi() {
 
     }
-
-    @Override
-    public void configure() {
-        super.configure();
-
-        install(new FieldStoreModule());
-    }
 }
diff --git a/payment/src/main/java/com/ning/billing/payment/dao/PaymentAttemptHistoryBinder.java b/payment/src/main/java/com/ning/billing/payment/dao/PaymentAttemptHistoryBinder.java
index e063655..569ef40 100644
--- a/payment/src/main/java/com/ning/billing/payment/dao/PaymentAttemptHistoryBinder.java
+++ b/payment/src/main/java/com/ning/billing/payment/dao/PaymentAttemptHistoryBinder.java
@@ -45,14 +45,14 @@ public @interface PaymentAttemptHistoryBinder {
 
                     PaymentAttempt paymentAttempt = history.getEntity();
                     q.bind("id", paymentAttempt.getId().toString());
-                    q.bind("invoice_id", paymentAttempt.getInvoiceId().toString());
-                    q.bind("account_id", paymentAttempt.getAccountId().toString());
+                    q.bind("invoiceId", paymentAttempt.getInvoiceId().toString());
+                    q.bind("accountId", paymentAttempt.getAccountId().toString());
                     q.bind("amount", paymentAttempt.getAmount());
                     q.bind("currency", paymentAttempt.getCurrency().toString());
-                    q.bind("invoice_date", getDate(paymentAttempt.getInvoiceDate()));
-                    q.bind("payment_attempt_date", getDate(paymentAttempt.getPaymentAttemptDate()));
-                    q.bind("payment_id", paymentAttempt.getPaymentId().toString());
-                    q.bind("retry_count", paymentAttempt.getRetryCount());
+                    q.bind("invoiceDate", getDate(paymentAttempt.getInvoiceDate()));
+                    q.bind("paymentAttemptDate", getDate(paymentAttempt.getPaymentAttemptDate()));
+                    q.bind("paymentId", paymentAttempt.getPaymentId() == null ? null : paymentAttempt.getPaymentId().toString());
+                    q.bind("retryCount", paymentAttempt.getRetryCount());
                 }
             };
         }
diff --git a/payment/src/main/java/com/ning/billing/payment/dao/PaymentAttemptSqlDao.java b/payment/src/main/java/com/ning/billing/payment/dao/PaymentAttemptSqlDao.java
index 747d513..a1fed90 100644
--- a/payment/src/main/java/com/ning/billing/payment/dao/PaymentAttemptSqlDao.java
+++ b/payment/src/main/java/com/ning/billing/payment/dao/PaymentAttemptSqlDao.java
@@ -53,13 +53,13 @@ public interface PaymentAttemptSqlDao extends Transactional<PaymentAttemptSqlDao
                               @CallContextBinder CallContext context);
 
     @SqlQuery
-    PaymentAttempt getPaymentAttemptForPaymentId(@Bind("payment_id") String paymentId);
+    PaymentAttempt getPaymentAttemptForPaymentId(@Bind("paymentId") String paymentId);
 
     @SqlQuery
     PaymentAttempt getPaymentAttemptById(@Bind("id") String paymentAttemptId);
 
     @SqlQuery
-    List<PaymentAttempt> getPaymentAttemptsForInvoiceId(@Bind("invoice_id") String invoiceId);
+    List<PaymentAttempt> getPaymentAttemptsForInvoiceId(@Bind("invoiceId") String invoiceId);
 
     @SqlQuery
     List<PaymentAttempt> getPaymentAttemptsForInvoiceIds(@BindIn("invoiceIds") List<String> invoiceIds);
@@ -113,14 +113,14 @@ public interface PaymentAttemptSqlDao extends Transactional<PaymentAttemptSqlDao
         @Override
         public void bind(@SuppressWarnings("rawtypes") SQLStatement stmt, Bind bind, PaymentAttempt paymentAttempt) {
             stmt.bind("id", paymentAttempt.getId().toString());
-            stmt.bind("invoice_id", paymentAttempt.getInvoiceId().toString());
-            stmt.bind("account_id", paymentAttempt.getAccountId().toString());
+            stmt.bind("invoiceId", paymentAttempt.getInvoiceId().toString());
+            stmt.bind("accountId", paymentAttempt.getAccountId().toString());
             stmt.bind("amount", paymentAttempt.getAmount());
             stmt.bind("currency", paymentAttempt.getCurrency().toString());
-            stmt.bind("invoice_date", getDate(paymentAttempt.getInvoiceDate()));
-            stmt.bind("payment_attempt_date", getDate(paymentAttempt.getPaymentAttemptDate()));
-            stmt.bind("payment_id", paymentAttempt.getPaymentId().toString());
-            stmt.bind("retry_count", paymentAttempt.getRetryCount());
+            stmt.bind("invoiceDate", getDate(paymentAttempt.getInvoiceDate()));
+            stmt.bind("paymentAttemptDate", getDate(paymentAttempt.getPaymentAttemptDate()));
+            stmt.bind("paymentId", paymentAttempt.getPaymentId() == null ? null : paymentAttempt.getPaymentId().toString());
+            stmt.bind("retryCount", paymentAttempt.getRetryCount());
         }
     }
 }
diff --git a/payment/src/main/java/com/ning/billing/payment/RequestProcessor.java b/payment/src/main/java/com/ning/billing/payment/RequestProcessor.java
index 2077c5e..c7c359d 100644
--- a/payment/src/main/java/com/ning/billing/payment/RequestProcessor.java
+++ b/payment/src/main/java/com/ning/billing/payment/RequestProcessor.java
@@ -81,8 +81,6 @@ public class RequestProcessor {
 
     @Subscribe
     public void receiveInvoice(InvoiceCreationEvent event) {
-
-
         log.info("Received invoice creation notification for account {} and invoice {}", event.getAccountId(), event.getInvoiceId());
         PaymentErrorEvent errorEvent = null;
         try {
diff --git a/payment/src/main/resources/com/ning/billing/payment/dao/PaymentAttemptSqlDao.sql.stg b/payment/src/main/resources/com/ning/billing/payment/dao/PaymentAttemptSqlDao.sql.stg
index 812da6a..15302fe 100644
--- a/payment/src/main/resources/com/ning/billing/payment/dao/PaymentAttemptSqlDao.sql.stg
+++ b/payment/src/main/resources/com/ning/billing/payment/dao/PaymentAttemptSqlDao.sql.stg
@@ -18,14 +18,14 @@ paymentAttemptFields(prefix) ::= <<
 
 insertPaymentAttempt() ::= <<
     INSERT INTO payment_attempts (<paymentAttemptFields()>)
-    VALUES (:id, :invoice_id, :account_id, :amount, :currency, :payment_id,
-            :payment_attempt_date, :invoice_date, :retry_count, :userName, :createdDate, :userName, :createdDate);
+    VALUES (:id, :invoiceId, :accountId, :amount, :currency, :paymentId,
+            :paymentAttemptDate, :invoiceDate, :retryCount, :userName, :createdDate, :userName, :createdDate);
 >>
 
 getPaymentAttemptForPaymentId() ::= <<
     SELECT <paymentAttemptFields()>
       FROM payment_attempts
-     WHERE id = :id;
+     WHERE payment_id = :paymentId;
 >>
 
 getPaymentAttemptById() ::= <<
@@ -43,7 +43,7 @@ getPaymentAttemptsForInvoiceIds(invoiceIds) ::= <<
 getPaymentAttemptsForInvoiceId() ::= <<
     SELECT <paymentAttemptFields()>
       FROM payment_attempts
-     WHERE invoice_id = :invoice_id;
+     WHERE invoice_id = :invoiceId;
 >>
 
 updatePaymentAttemptWithPaymentId() ::= <<
@@ -73,8 +73,8 @@ historyFields(prefix) ::= <<
 
 insertHistoryFromTransaction() ::= <<
     INSERT INTO payment_attempt_history (<historyFields()>)
-    VALUES (:recordId, :id, :account_id, :invoice_id, :amount, :currency, :payment_attempt_date, :payment_id,
-            :retry_count, :invoice_date, :userName, :createdDate, :userName, :updatedDate);
+    VALUES (:recordId, :id, :accountId, :invoiceId, :amount, :currency, :paymentAttemptDate, :paymentId,
+            :retryCount, :invoiceDate, :userName, :createdDate, :userName, :updatedDate);
 >>
 
 getRecordId() ::= <<
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 bce740a..680fb96 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
@@ -70,12 +70,22 @@ public class DefaultTagDefinitionUserApi implements TagUserApi {
 	}
 
     @Override
-    public List<Tag> createControlTags(UUID objectId, ObjectType objectType, List<TagDefinition> tagDescriptions) throws TagDefinitionApiException {
+    public List<Tag> createControlTags(UUID objectId, ObjectType objectType, List<TagDefinition> tagDefinitions) throws TagDefinitionApiException {
         return null;  //To change body of implemented methods use File | Settings | File Templates.
     }
 
     @Override
-    public List<Tag> createDescriptiveTags(UUID objectId, ObjectType objectType, List<TagDefinition> tagDescriptions) throws TagDefinitionApiException {
+    public Tag createControlTag(UUID objectId, ObjectType objectType, TagDefinition tagDefinition) throws TagDefinitionApiException {
+        return null;  //To change body of implemented methods use File | Settings | File Templates.
+    }
+
+    @Override
+    public List<Tag> createDescriptiveTags(UUID objectId, ObjectType objectType, List<TagDefinition> tagDefinitions) throws TagDefinitionApiException {
+        return null;  //To change body of implemented methods use File | Settings | File Templates.
+    }
+
+    @Override
+    public Tag createDescriptiveTag(UUID objectId, ObjectType objectType, TagDefinition tagDefinition) throws TagDefinitionApiException {
         return null;  //To change body of implemented methods use File | Settings | File Templates.
     }