killbill-aplcache

Details

diff --git a/jaxrs/src/main/java/com/ning/billing/jaxrs/util/Context.java b/jaxrs/src/main/java/com/ning/billing/jaxrs/util/Context.java
index f6b7d67..c49616b 100644
--- a/jaxrs/src/main/java/com/ning/billing/jaxrs/util/Context.java
+++ b/jaxrs/src/main/java/com/ning/billing/jaxrs/util/Context.java
@@ -43,7 +43,7 @@ public class Context {
     throws IllegalArgumentException {
         try {
             Preconditions.checkNotNull(createdBy, String.format("Header %s needs to be set", JaxrsResource.HDR_CREATED_BY));
-            return contextFactory.createCallContext(createdBy, origin, userType, UUID.randomUUID());
+            return contextFactory.createCallContext(createdBy, origin, userType, reason, comment, UUID.randomUUID());
         } catch (NullPointerException e) {
             throw new IllegalArgumentException(e.getMessage());
         }
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
index d9f18c9..3194c02 100644
--- a/util/src/main/java/com/ning/billing/util/callcontext/CallContextFactory.java
+++ b/util/src/main/java/com/ning/billing/util/callcontext/CallContextFactory.java
@@ -22,7 +22,10 @@ import org.joda.time.DateTime;
 
 public interface CallContextFactory {
     CallContext createCallContext(String userName, CallOrigin callOrigin, UserType userType, UUID userToken);
-    
+
+    CallContext createCallContext(String userName, CallOrigin callOrigin, UserType userType,
+                                  String reasonCode, String comment, UUID userToken);
+
     CallContext createCallContext(String userName, CallOrigin callOrigin, UserType userType);    
 
     CallContext createMigrationCallContext(String userName, CallOrigin callOrigin, UserType userType, DateTime createdDate, DateTime updatedDate);
diff --git a/util/src/main/java/com/ning/billing/util/callcontext/DefaultCallContext.java b/util/src/main/java/com/ning/billing/util/callcontext/DefaultCallContext.java
index 4cde143..4bb7c24 100644
--- a/util/src/main/java/com/ning/billing/util/callcontext/DefaultCallContext.java
+++ b/util/src/main/java/com/ning/billing/util/callcontext/DefaultCallContext.java
@@ -22,7 +22,6 @@ import com.ning.billing.util.clock.Clock;
 import org.joda.time.DateTime;
 
 public class DefaultCallContext extends CallContextBase {
-	
     private final Clock clock;
 
     public DefaultCallContext(final String userName, final CallOrigin callOrigin, final UserType userType, final UUID userToken, final Clock clock) {
@@ -30,6 +29,13 @@ public class DefaultCallContext extends CallContextBase {
         this.clock = clock;
     }
 
+    public DefaultCallContext(final String userName, final CallOrigin callOrigin, final UserType userType,
+                              final String reasonCode, final String comment,
+                              final UUID userToken, final Clock clock) {
+        super(userName, callOrigin, userType, reasonCode, comment, userToken);
+        this.clock = clock;
+    }
+
     public DefaultCallContext(String userName, CallOrigin callOrigin, UserType userType, Clock clock) {
     	this(userName, callOrigin, userType, null, clock);
     }
diff --git a/util/src/main/java/com/ning/billing/util/callcontext/DefaultCallContextFactory.java b/util/src/main/java/com/ning/billing/util/callcontext/DefaultCallContextFactory.java
index 52ac313..53b5ba1 100644
--- a/util/src/main/java/com/ning/billing/util/callcontext/DefaultCallContextFactory.java
+++ b/util/src/main/java/com/ning/billing/util/callcontext/DefaultCallContextFactory.java
@@ -22,6 +22,8 @@ import com.google.inject.Inject;
 import com.ning.billing.util.clock.Clock;
 import org.joda.time.DateTime;
 
+import javax.annotation.Nullable;
+
 public class DefaultCallContextFactory implements CallContextFactory {
     private final Clock clock;
 
@@ -31,11 +33,18 @@ public class DefaultCallContextFactory implements CallContextFactory {
     }
 
     @Override
-    public CallContext createCallContext(String userName, CallOrigin callOrigin, UserType userType, UUID userToken) {
+    public CallContext createCallContext(String userName, CallOrigin callOrigin, UserType userType,
+                                         @Nullable UUID userToken) {
         return new DefaultCallContext(userName, callOrigin, userType, userToken, clock);
     }
 
     @Override
+    public CallContext createCallContext(String userName, CallOrigin callOrigin, UserType userType,
+                                         String reasonCode, String comment, UUID userToken) {
+        return new DefaultCallContext(userName, callOrigin, userType, reasonCode, comment, userToken, clock);
+    }
+
+    @Override
     public CallContext createCallContext(String userName, CallOrigin callOrigin, UserType userType) {
     	return createCallContext(userName, callOrigin, userType, null);
     }