Handle case where users were created in client SSO system when central SSO was enabled.
diff --git a/stack/rest/src/main/java/org/apache/usergrid/rest/management/organizations/users/UsersResource.java b/stack/rest/src/main/java/org/apache/usergrid/rest/management/organizations/users/UsersResource.java
index 716679f..6bdc402 100644
--- a/stack/rest/src/main/java/org/apache/usergrid/rest/management/organizations/users/UsersResource.java
+++ b/stack/rest/src/main/java/org/apache/usergrid/rest/management/organizations/users/UsersResource.java
@@ -37,7 +37,9 @@
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.UriInfo;
+import org.apache.commons.lang.StringUtils;
import org.apache.usergrid.rest.RootResource;
+import org.apache.usergrid.rest.management.ManagementResource;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.context.annotation.Scope;
@@ -129,11 +131,21 @@
ApiResponse response = createApiResponse();
response.setAction( "create user" );
+ final boolean centralSSOEnabled =
+ !StringUtils.isEmpty( properties.getProperty( ManagementResource.USERGRID_CENTRAL_URL ) );
+
UserInfo user = null;
if ( invite ) {
user = management.getAdminUserByEmail( email );
}
+ if ( centralSSOEnabled && user == null){
+
+ throw new IllegalArgumentException( "Admin User "+ email + " not found and must be " +
+ "created using the central account service.");
+
+ }
+
if ( user == null ) {
user = management.createAdminUser( username, name, email, password, false, false );