killbill-aplcache

invoice: fix typos Signed-off-by: Pierre-Alexandre Meyer

11/10/2012 2:05:13 AM

Details

diff --git a/invoice/src/main/java/com/ning/billing/invoice/dao/InvoiceItemModelDao.java b/invoice/src/main/java/com/ning/billing/invoice/dao/InvoiceItemModelDao.java
index 762f369..65478c7 100644
--- a/invoice/src/main/java/com/ning/billing/invoice/dao/InvoiceItemModelDao.java
+++ b/invoice/src/main/java/com/ning/billing/invoice/dao/InvoiceItemModelDao.java
@@ -74,7 +74,7 @@ public class InvoiceItemModelDao extends EntityBase {
     }
 
     public InvoiceItemModelDao(final InvoiceItem invoiceItem) {
-        this(invoiceItem.getInvoiceItemType(), invoiceItem.getId(), invoiceItem.getAccountId(), invoiceItem.getBundleId(),
+        this(invoiceItem.getId(), invoiceItem.getCreatedDate(), invoiceItem.getInvoiceItemType(), invoiceItem.getInvoiceId(), invoiceItem.getAccountId(), invoiceItem.getBundleId(),
              invoiceItem.getSubscriptionId(), invoiceItem.getPlanName(), invoiceItem.getPhaseName(), invoiceItem.getStartDate(), invoiceItem.getEndDate(),
              invoiceItem.getAmount(), invoiceItem.getRate(), invoiceItem.getCurrency(), invoiceItem.getLinkedItemId());
     }
diff --git a/invoice/src/main/java/com/ning/billing/invoice/dao/InvoiceModelDao.java b/invoice/src/main/java/com/ning/billing/invoice/dao/InvoiceModelDao.java
index a70d129..e648f9c 100644
--- a/invoice/src/main/java/com/ning/billing/invoice/dao/InvoiceModelDao.java
+++ b/invoice/src/main/java/com/ning/billing/invoice/dao/InvoiceModelDao.java
@@ -62,7 +62,8 @@ public class InvoiceModelDao extends EntityBase {
     }
 
     public InvoiceModelDao(final Invoice invoice) {
-        this(invoice.getId(), invoice.getInvoiceDate(), invoice.getTargetDate(), invoice.getCurrency(), invoice.isMigrationInvoice());
+        this(invoice.getId(), invoice.getCreatedDate(), invoice.getAccountId(), invoice.getInvoiceNumber(), invoice.getInvoiceDate(),
+             invoice.getTargetDate(), invoice.getCurrency(), invoice.isMigrationInvoice());
     }
 
     public void addInvoiceItems(final List<InvoiceItemModelDao> invoiceItems) {
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 860cc53..3c9926d 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
@@ -14,7 +14,7 @@ tableFields(prefix) ::= <<
 
 
 tableValues(prefix) ::= <<
-  accountId
+  :accountId
 , :invoiceDate
 , :targetDate
 , :currency
@@ -23,6 +23,10 @@ tableValues(prefix) ::= <<
 , :createdDate
 >>
 
+extraTableFieldsWithComma(prefix) ::= <<
+, record_id as invoice_number
+>>
+
 getInvoicesByAccount() ::= <<
   SELECT record_id as invoice_number, <allTableFields()>
   FROM <tableName()>
diff --git a/invoice/src/test/java/com/ning/billing/invoice/dao/TestInvoiceItemDao.java b/invoice/src/test/java/com/ning/billing/invoice/dao/TestInvoiceItemDao.java
index c3129ef..513a95d 100644
--- a/invoice/src/test/java/com/ning/billing/invoice/dao/TestInvoiceItemDao.java
+++ b/invoice/src/test/java/com/ning/billing/invoice/dao/TestInvoiceItemDao.java
@@ -29,6 +29,7 @@ import com.ning.billing.invoice.model.CreditBalanceAdjInvoiceItem;
 import com.ning.billing.invoice.model.DefaultInvoice;
 import com.ning.billing.invoice.model.ExternalChargeInvoiceItem;
 import com.ning.billing.invoice.model.FixedPriceInvoiceItem;
+import com.ning.billing.invoice.model.InvoiceItemFactory;
 import com.ning.billing.invoice.model.RecurringInvoiceItem;
 import com.ning.billing.util.entity.EntityPersistenceException;
 
@@ -143,7 +144,7 @@ public class TestInvoiceItemDao extends InvoiceDaoTestBase {
         createInvoiceItem(creditInvoiceItem, internalCallContext);
 
         final InvoiceItemModelDao savedItem = invoiceItemSqlDao.getById(creditInvoiceItem.getId().toString(), internalCallContext);
-        assertEquals(savedItem, creditInvoiceItem);
+        assertEquals(InvoiceItemFactory.fromModelDao(savedItem), creditInvoiceItem);
     }
 
     @Test(groups = "slow")
@@ -157,7 +158,7 @@ public class TestInvoiceItemDao extends InvoiceDaoTestBase {
         createInvoiceItem(fixedPriceInvoiceItem, internalCallContext);
 
         final InvoiceItemModelDao savedItem = invoiceItemSqlDao.getById(fixedPriceInvoiceItem.getId().toString(), internalCallContext);
-        assertEquals(savedItem, fixedPriceInvoiceItem);
+        assertEquals(InvoiceItemFactory.fromModelDao(savedItem), fixedPriceInvoiceItem);
     }
 
     @Test(groups = "slow")
@@ -172,6 +173,6 @@ public class TestInvoiceItemDao extends InvoiceDaoTestBase {
         createInvoiceItem(externalChargeInvoiceItem, internalCallContext);
 
         final InvoiceItemModelDao savedItem = invoiceItemSqlDao.getById(externalChargeInvoiceItem.getId().toString(), internalCallContext);
-        assertEquals(savedItem, externalChargeInvoiceItem);
+        assertEquals(InvoiceItemFactory.fromModelDao(savedItem), externalChargeInvoiceItem);
     }
 }
diff --git a/util/src/main/java/com/ning/billing/util/dao/LocalDateArgumentFactory.java b/util/src/main/java/com/ning/billing/util/dao/LocalDateArgumentFactory.java
new file mode 100644
index 0000000..6bb2e6d
--- /dev/null
+++ b/util/src/main/java/com/ning/billing/util/dao/LocalDateArgumentFactory.java
@@ -0,0 +1,68 @@
+/*
+ * Copyright 2010-2012 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.dao;
+
+import java.sql.PreparedStatement;
+import java.sql.SQLException;
+import java.sql.Types;
+
+import org.joda.time.LocalDate;
+import org.skife.jdbi.v2.StatementContext;
+import org.skife.jdbi.v2.tweak.Argument;
+import org.skife.jdbi.v2.tweak.ArgumentFactory;
+
+public class LocalDateArgumentFactory implements ArgumentFactory<LocalDate> {
+
+    @Override
+    public boolean accepts(final Class<?> expectedType, final Object value, final StatementContext ctx) {
+        return value instanceof LocalDate;
+    }
+
+    @Override
+    public Argument build(final Class<?> expectedType, final LocalDate value, final StatementContext ctx) {
+        return new LocalDateArgument(value);
+    }
+
+    public static class LocalDateArgument implements Argument {
+
+        private final LocalDate value;
+
+        public LocalDateArgument(final LocalDate value) {
+            this.value = value;
+        }
+
+        @Override
+        public void apply(final int position, final PreparedStatement statement, final StatementContext ctx) throws SQLException {
+            if (value != null) {
+                // ISO8601 format
+                statement.setString(position, value.toString());
+            } else {
+                statement.setNull(position, Types.VARCHAR);
+            }
+        }
+
+        @Override
+        public String toString() {
+            final StringBuilder sb = new StringBuilder();
+            sb.append("LocalDateArgument");
+            sb.append("{value=").append(value);
+            sb.append('}');
+            return sb.toString();
+        }
+    }
+
+}
diff --git a/util/src/main/resources/com/ning/billing/util/entity/dao/EntitySqlDao.sql.stg b/util/src/main/resources/com/ning/billing/util/entity/dao/EntitySqlDao.sql.stg
index 06d7657..349034c 100644
--- a/util/src/main/resources/com/ning/billing/util/entity/dao/EntitySqlDao.sql.stg
+++ b/util/src/main/resources/com/ning/billing/util/entity/dao/EntitySqlDao.sql.stg
@@ -25,6 +25,9 @@ historyTableValues() ::= <<
 
 /****************************************************/
 
+/** Add extra fields for SELECT queries **/
+extraTableFieldsWithComma(prefix) ::= ""
+
 idField(prefix) ::= <<
 <prefix>id
 >>
@@ -85,6 +88,7 @@ allTableFields(prefix) ::= <<
   <recordIdField(prefix)>
 , <idField(prefix)>
 , <tableFields(prefix)>
+<extraTableFieldsWithComma(prefix)>
 <accountRecordIdFieldWithComma(prefix)>
 <tenantRecordIdFieldWithComma(prefix)>
 >>
diff --git a/util/src/test/java/com/ning/billing/dbi/DBIProvider.java b/util/src/test/java/com/ning/billing/dbi/DBIProvider.java
index c0c7661..a5d1f3f 100644
--- a/util/src/test/java/com/ning/billing/dbi/DBIProvider.java
+++ b/util/src/test/java/com/ning/billing/dbi/DBIProvider.java
@@ -25,6 +25,7 @@ import org.skife.jdbi.v2.tweak.transactions.SerializableTransactionRunner;
 import com.ning.billing.util.dao.DateTimeArgumentFactory;
 import com.ning.billing.util.dao.DateTimeZoneArgumentFactory;
 import com.ning.billing.util.dao.EnumArgumentFactory;
+import com.ning.billing.util.dao.LocalDateArgumentFactory;
 import com.ning.billing.util.dao.UUIDArgumentFactory;
 
 import com.google.inject.Inject;
@@ -67,6 +68,7 @@ public class DBIProvider implements Provider<IDBI> {
         dbi.registerArgumentFactory(new UUIDArgumentFactory());
         dbi.registerArgumentFactory(new DateTimeZoneArgumentFactory());
         dbi.registerArgumentFactory(new DateTimeArgumentFactory());
+        dbi.registerArgumentFactory(new LocalDateArgumentFactory());
         dbi.registerArgumentFactory(new EnumArgumentFactory());
 
         // Restart transactions in case of deadlocks