killbill-memoizeit

Code review comment suggesting disentanglement of business

11/30/2011 2:40:45 PM

Details

diff --git a/entitlement/src/main/java/com/ning/billing/entitlement/api/user/Subscription.java b/entitlement/src/main/java/com/ning/billing/entitlement/api/user/Subscription.java
index 0d217b9..7adf9ad 100644
--- a/entitlement/src/main/java/com/ning/billing/entitlement/api/user/Subscription.java
+++ b/entitlement/src/main/java/com/ning/billing/entitlement/api/user/Subscription.java
@@ -223,6 +223,12 @@ public class Subscription extends PrivateFields  implements ISubscription {
         if (nextPhaseEvent != null) {
             uncancelEvents.add(nextPhaseEvent);
         }
+        
+        /**
+         * I think you might be better of disentangling state storage from business logic. 
+         * This happens in a number of places as well as here (such as the subsequent call to
+         * rebuildTransitions() so assume this comment applies at all such places :-) -brianm
+         */
         dao.uncancelSubscription(id, uncancelEvents);
         rebuildTransitions();
     }
@@ -458,7 +464,6 @@ public class Subscription extends PrivateFields  implements ISubscription {
     }
 
     private void rebuildTransitions() {
-
         List<IEvent> events = dao.getEventsForSubscription(id);
         if (events == null) {
             return;