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);
}