killbill-memoizeit

Fix missing where clause (again) Bring branch to stable (compile

11/3/2011 9:21:09 PM

Details

diff --git a/account/src/main/java/com/ning/billing/account/api/AccountUserApi.java b/account/src/main/java/com/ning/billing/account/api/AccountUserApi.java
index 804812c..d488eb1 100644
--- a/account/src/main/java/com/ning/billing/account/api/AccountUserApi.java
+++ b/account/src/main/java/com/ning/billing/account/api/AccountUserApi.java
@@ -33,7 +33,7 @@ public class AccountUserApi implements IAccountUserApi {
 
     @Override
     public IAccount createAccount(IAccountData data) {
-        return dao.createAccount((IAccount) data);
+        return dao.createAccount(data);
     }
 
     @Override
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 7476e44..acc2fb1 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
@@ -25,6 +25,7 @@ import org.skife.jdbi.v2.Transaction;
 import com.google.inject.Inject;
 import com.ning.billing.account.api.Account;
 import com.ning.billing.account.api.IAccount;
+import com.ning.billing.account.api.IAccountData;
 
 public class AccountDao implements IAccountDao {
 
@@ -36,8 +37,8 @@ public class AccountDao implements IAccountDao {
     }
 
     @Override
-    public IAccount createAccount(IAccount account) {
-        IAccount result = new Account(account.getKey());
+    public IAccount createAccount(IAccountData input) {
+        IAccount result = new Account(input.getKey());
         dao.insertAccount(result);
         return result;
     }
diff --git a/account/src/main/java/com/ning/billing/account/dao/IAccountDao.java b/account/src/main/java/com/ning/billing/account/dao/IAccountDao.java
index 8475d42..e044e3b 100644
--- a/account/src/main/java/com/ning/billing/account/dao/IAccountDao.java
+++ b/account/src/main/java/com/ning/billing/account/dao/IAccountDao.java
@@ -20,10 +20,11 @@ import java.util.List;
 import java.util.UUID;
 
 import com.ning.billing.account.api.IAccount;
+import com.ning.billing.account.api.IAccountData;
 
 public interface IAccountDao {
 
-    public IAccount createAccount(IAccount account);
+    public IAccount createAccount(IAccountData account);
 
     public IAccount getAccountByKey(String key);
 
diff --git a/api/src/main/java/com/ning/billing/entitlement/IEntitlementSystem.java b/api/src/main/java/com/ning/billing/entitlement/IEntitlementSystem.java
new file mode 100644
index 0000000..e6528b8
--- /dev/null
+++ b/api/src/main/java/com/ning/billing/entitlement/IEntitlementSystem.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.entitlement;
+
+import java.io.InputStream;
+
+public interface IEntitlementSystem {
+
+    public void initialize();
+
+    public void start();
+
+    public void stop();
+}
diff --git a/entitlement/src/main/java/com/ning/billing/entitlement/api/user/EntitlementUserApi.java b/entitlement/src/main/java/com/ning/billing/entitlement/api/user/EntitlementUserApi.java
index f85dc49..e664566 100644
--- a/entitlement/src/main/java/com/ning/billing/entitlement/api/user/EntitlementUserApi.java
+++ b/entitlement/src/main/java/com/ning/billing/entitlement/api/user/EntitlementUserApi.java
@@ -49,9 +49,9 @@ public class EntitlementUserApi implements IEntitlementUserApi {
     private final Engine engine;
     private final IClock clock;
     private final IEntitlementDao dao;
-    private final ICatalog catalog;
     private final IPlanAligner planAligner;
 
+    private ICatalog catalog;
     @Inject
     public EntitlementUserApi(Engine engine, IClock clock, IPlanAligner planAligner, IEntitlementDao dao) {
         super();
@@ -59,11 +59,12 @@ public class EntitlementUserApi implements IEntitlementUserApi {
         this.clock = clock;
         this.dao = dao;
         this.planAligner = planAligner;
-        this.catalog = engine.getCatalog();
+
     }
 
     @Override
     public void initialize(List<IApiListener> listeners) {
+        this.catalog = engine.getCatalog();
         engine.registerApiObservers(listeners);
     }
 
diff --git a/entitlement/src/main/java/com/ning/billing/entitlement/engine/core/Engine.java b/entitlement/src/main/java/com/ning/billing/entitlement/engine/core/Engine.java
index 2511884..d0e1b02 100644
--- a/entitlement/src/main/java/com/ning/billing/entitlement/engine/core/Engine.java
+++ b/entitlement/src/main/java/com/ning/billing/entitlement/engine/core/Engine.java
@@ -28,6 +28,7 @@ import com.ning.billing.catalog.api.ICatalog;
 import com.ning.billing.catalog.api.ICatalogUserApi;
 import com.ning.billing.catalog.api.IPlan;
 
+import com.ning.billing.entitlement.IEntitlementSystem;
 import com.ning.billing.entitlement.alignment.IPlanAligner;
 import com.ning.billing.entitlement.alignment.IPlanAligner.TimedPhase;
 import com.ning.billing.entitlement.alignment.PlanAligner;
@@ -44,7 +45,7 @@ import com.ning.billing.entitlement.events.user.IUserEvent;
 import com.ning.billing.entitlement.glue.IEntitlementConfig;
 import com.ning.billing.util.clock.IClock;
 
-public class Engine implements IEventListener {
+public class Engine implements IEventListener, IEntitlementSystem {
 
     private final static Logger log = LoggerFactory.getLogger(Engine.class);
     private static Engine instance = null;
@@ -75,10 +76,18 @@ public class Engine implements IEventListener {
         ((PlanAligner) planAligner).init(catalog);
     }
 
+    @Override
+    public void initialize() {
+        // TODO Auto-generated method stub
+
+    }
+
+    @Override
     public void start() {
         apiEventProcessor.startNotifications(this);
     }
 
+    @Override
     public void stop() {
         apiEventProcessor.stopNotifications();
     }
@@ -172,4 +181,5 @@ public class Engine implements IEventListener {
         return planAligner;
     }
 
+
 }
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 ddeaf00..8dfc34a 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
@@ -110,7 +110,7 @@ public class EntitlementDao implements IEntitlementDao {
     public void updateSubscription(Subscription subscription) {
         Date ctd = (subscription.getChargedThroughDate() != null)  ? subscription.getChargedThroughDate().toDate() : null;
         Date ptd = (subscription.getPaidThroughDate() != null)  ? subscription.getPaidThroughDate().toDate() : null;
-        subscriptionsDao.updateSubscription(subscription.getActiveVersion(), ctd, ptd);
+        subscriptionsDao.updateSubscription(subscription.getId().toString(), subscription.getActiveVersion(), ctd, ptd);
     }
 
     @Override
diff --git a/entitlement/src/main/java/com/ning/billing/entitlement/glue/EntitlementModule.java b/entitlement/src/main/java/com/ning/billing/entitlement/glue/EntitlementModule.java
index ec20630..98a675d 100644
--- a/entitlement/src/main/java/com/ning/billing/entitlement/glue/EntitlementModule.java
+++ b/entitlement/src/main/java/com/ning/billing/entitlement/glue/EntitlementModule.java
@@ -21,6 +21,7 @@ import org.skife.config.ConfigurationObjectFactory;
 import com.google.inject.AbstractModule;
 import com.ning.billing.catalog.CatalogUserApi;
 import com.ning.billing.catalog.api.ICatalogUserApi;
+import com.ning.billing.entitlement.IEntitlementSystem;
 import com.ning.billing.entitlement.alignment.IPlanAligner;
 import com.ning.billing.entitlement.alignment.PlanAligner;
 import com.ning.billing.entitlement.api.billing.BillingApi;
@@ -65,7 +66,7 @@ public class EntitlementModule extends AbstractModule {
     }
 
     protected void installEntitlementCore() {
-        bind(Engine.class).asEagerSingleton();
+        bind(IEntitlementSystem.class).to(Engine.class).asEagerSingleton();
         bind(IPlanAligner.class).to(PlanAligner.class).asEagerSingleton();
     }
 
diff --git a/entitlement/src/test/java/com/ning/billing/entitlement/api/user/TestUserApiBase.java b/entitlement/src/test/java/com/ning/billing/entitlement/api/user/TestUserApiBase.java
index 6842133..0f9806d 100644
--- a/entitlement/src/test/java/com/ning/billing/entitlement/api/user/TestUserApiBase.java
+++ b/entitlement/src/test/java/com/ning/billing/entitlement/api/user/TestUserApiBase.java
@@ -21,7 +21,10 @@ import static org.testng.Assert.assertNotNull;
 import static org.testng.Assert.assertTrue;
 import static org.testng.Assert.assertFalse;
 
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
 import java.io.IOException;
+import java.io.InputStream;
 import java.lang.reflect.Method;
 import java.net.URL;
 import java.util.ArrayList;
@@ -45,6 +48,7 @@ import com.ning.billing.catalog.api.ICatalog;
 import com.ning.billing.catalog.api.ICatalogUserApi;
 import com.ning.billing.catalog.api.IDuration;
 import com.ning.billing.catalog.api.TimeUnit;
+import com.ning.billing.entitlement.IEntitlementSystem;
 import com.ning.billing.entitlement.api.ApiTestListener;
 import com.ning.billing.entitlement.api.ApiTestListener.NextEvent;
 import com.ning.billing.entitlement.api.billing.IEntitlementBillingApi;
@@ -65,6 +69,7 @@ public abstract class TestUserApiBase {
 
     protected static final long DAY_IN_MS = (24 * 3600 * 1000);
 
+    protected IEntitlementSystem service;
     protected Engine engine;
     protected IEntitlementUserApi entitlementApi;
     protected IEntitlementBillingApi billingApi;
@@ -105,6 +110,7 @@ public abstract class TestUserApiBase {
         loadSystemPropertiesFromClasspath("/entitlement.properties");
         final Injector g = getInjector();
 
+        service = g.getInstance(IEntitlementSystem.class);
         engine = g.getInstance(Engine.class);
         entitlementApi = g.getInstance(IEntitlementUserApi.class);
         catalogApi = g.getInstance(ICatalogUserApi.class);
@@ -113,6 +119,8 @@ public abstract class TestUserApiBase {
         dao = g.getInstance(IEntitlementDao.class);
         clock = (ClockMock) g.getInstance(IClock.class);
         try {
+
+            service.initialize();
             init();
         } catch (EntitlementUserApiException e) {
             Assert.fail(e.getMessage());
@@ -149,12 +157,12 @@ public abstract class TestUserApiBase {
             Assert.fail(e.getMessage());
         }
         assertNotNull(bundle);
-        engine.start();
+        service.start();
     }
 
     @AfterMethod(groups={"setup"})
     public void cleanupTest() {
-        engine.stop();
+        service.stop();
         log.warn("DONE WITH TEST\n");
     }