killbill-memoizeit
Changes
NEWS 2(+2 -0)
Details
diff --git a/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/AccountResource.java b/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/AccountResource.java
index 729d977..de1b3a6 100644
--- a/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/AccountResource.java
+++ b/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/AccountResource.java
@@ -303,8 +303,9 @@ public class AccountResource extends JaxRsResourceBase {
@javax.ws.rs.core.Context final HttpServletRequest request,
@javax.ws.rs.core.Context final UriInfo uriInfo) throws AccountApiException {
verifyNonNullOrEmpty(json, "AccountJson body should be specified");
- verifyNonNullOrEmpty(json.getName(), "AccountJson name needs to be set");
- verifyNonNullOrEmpty(json.getEmail(), "AccountJson email needs to be set");
+ // Permit blank values, see https://github.com/killbill/killbill/issues/270
+ verifyNonNull(json.getName(), "AccountJson name needs to be set");
+ verifyNonNull(json.getEmail(), "AccountJson email needs to be set");
final AccountData data = json.toAccountData();
final Account account = accountUserApi.createAccount(data, context.createContext(createdBy, reason, comment, request));
diff --git a/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/JaxRsResourceBase.java b/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/JaxRsResourceBase.java
index 76ab053..6f3bed9 100644
--- a/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/JaxRsResourceBase.java
+++ b/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/JaxRsResourceBase.java
@@ -1,7 +1,7 @@
/*
* Copyright 2010-2013 Ning, Inc.
- * Copyright 2014 Groupon, Inc
- * Copyright 2014 The Billing Project, LLC
+ * Copyright 2014-2015 Groupon, Inc
+ * Copyright 2014-2015 The Billing Project, LLC
*
* The Billing Project 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
@@ -427,4 +427,14 @@ public abstract class JaxRsResourceBase implements JaxrsResource {
Preconditions.checkArgument(expression, errorMessage);
}
}
+
+ protected void verifyNonNull(final Object... elements) {
+ Preconditions.checkArgument(elements.length % 2 == 0, "%s should have an even number of elements", Arrays.toString(elements));
+ for (int i = 0; i < elements.length; i += 2) {
+ final Object argument = elements[i];
+ final Object errorMessage = elements[i + 1];
+ final boolean expression = argument != null;
+ Preconditions.checkArgument(expression, errorMessage);
+ }
+ }
}
NEWS 2(+2 -0)
diff --git a/NEWS b/NEWS
index d4cfc7f..a807371 100644
--- a/NEWS
+++ b/NEWS
@@ -1,9 +1,11 @@
0.13.3
https://github.com/killbill/killbill/issues/258
https://github.com/killbill/killbill/issues/260
+ https://github.com/killbill/killbill/issues/267
https://github.com/killbill/killbill/issues/268
https://github.com/killbill/killbill-commons/issues/9
Update killbill-oss-parent to 0.9.10
+ Permit empty values for Account#name and Account#email
0.13.2
https://github.com/killbill/killbill/issues/214