You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@usergrid.apache.org by gr...@apache.org on 2014/12/19 21:12:21 UTC

incubator-usergrid git commit: Removed JsonNode from ApiResponse and made it a regular object. This allows greater compatibility between java classes and the objects set in the ApiResponse. Added additional case for setResponse where it can instead check

Repository: incubator-usergrid
Updated Branches:
  refs/heads/UG-rest-test-framework-overhaul 091a7d490 -> d94ccf39f


Removed JsonNode from ApiResponse and made it a regular object. This allows greater compatibility between java classes and the objects set in the ApiResponse.
Added additional case for setResponse where it can instead check the response for properties if the data returned is null.
Added more ways to set the owner of a organization model
Added a petal constructor for Users so we can just give them any kind of properties.


Project: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/commit/d94ccf39
Tree: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/tree/d94ccf39
Diff: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/diff/d94ccf39

Branch: refs/heads/UG-rest-test-framework-overhaul
Commit: d94ccf39f79ccd46fccb86df4761cc7b1a818ef7
Parents: 091a7d4
Author: grey <gr...@apigee.com>
Authored: Fri Dec 19 12:12:19 2014 -0800
Committer: grey <gr...@apigee.com>
Committed: Fri Dec 19 12:12:19 2014 -0800

----------------------------------------------------------------------
 .../rest/management/OrganizationsIT.java        |  4 ++--
 .../endpoints/mgmt/OrgResource.java             | 20 +++++++++-------
 .../endpoints/mgmt/OrganizationResource.java    | 11 ++++++---
 .../test/resource2point0/model/ApiResponse.java |  6 ++---
 .../rest/test/resource2point0/model/Entity.java |  4 ++++
 .../resource2point0/model/Organization.java     | 25 +++++++++++++++++---
 .../rest/test/resource2point0/model/User.java   | 17 +++++++------
 7 files changed, 59 insertions(+), 28 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/d94ccf39/stack/rest/src/test/java/org/apache/usergrid/rest/management/OrganizationsIT.java
----------------------------------------------------------------------
diff --git a/stack/rest/src/test/java/org/apache/usergrid/rest/management/OrganizationsIT.java b/stack/rest/src/test/java/org/apache/usergrid/rest/management/OrganizationsIT.java
index 0d73190..7ae579a 100644
--- a/stack/rest/src/test/java/org/apache/usergrid/rest/management/OrganizationsIT.java
+++ b/stack/rest/src/test/java/org/apache/usergrid/rest/management/OrganizationsIT.java
@@ -88,10 +88,10 @@ public class OrganizationsIT extends AbstractRestIT {
         Organization returnedOrg = clientSetup.getRestClient().management().orgs().organization( orgName ).get();
 
         //TODO: clean this up
-        User returnedUser =
-                new User().mapSpecificUserResponse( ( Map<String, Object> ) returnedOrg.get( "users" ), username );
         assertTrue( returnedOrg != null && returnedOrg.getName().equals( orgName ) );
 
+        User returnedUser = returnedOrg.getOwner();
+
         assertEquals( "Apigee", returnedUser.getProperties().get( "company" ) );
     }
 

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/d94ccf39/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/mgmt/OrgResource.java
----------------------------------------------------------------------
diff --git a/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/mgmt/OrgResource.java b/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/mgmt/OrgResource.java
index cb6e139..a026271 100644
--- a/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/mgmt/OrgResource.java
+++ b/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/mgmt/OrgResource.java
@@ -59,7 +59,7 @@ public class OrgResource  extends NamedResource {
 
 
         Organization organization = new Organization(response);
-        organization.setOwner(new User( response ));
+        organization.setOwner( response );
         return organization;
     }
 
@@ -75,25 +75,29 @@ public class OrgResource  extends NamedResource {
                                         .accept( MediaType.APPLICATION_JSON ).post( ApiResponse.class );
 
 
-        Organization organization = new Organization(response);
-        organization.setOwner(new User( response ));
-        return organization;
+        Organization org = new Organization(response);
+        org.setOwner( response );
+        return org;
     }
 
     public Organization post(Organization organization){
         ApiResponse response = getResource().type( MediaType.APPLICATION_JSON_TYPE ).accept( MediaType.APPLICATION_JSON )
                      .post( ApiResponse.class,organization );
 
-        organization = new Organization(response);
-        organization.setOwner(new User( response ));
-        return organization;
+        Organization org = new Organization(response);
+        org.setOwner( response );
+
+        return org;
     }
 
     public Organization put(Organization organization){
         ApiResponse response = getResource().type( MediaType.APPLICATION_JSON_TYPE ).accept( MediaType.APPLICATION_JSON )
                 .put(ApiResponse.class, organization);
 
-        return new Organization(response);
+        Organization org = new Organization(response);
+        org.setOwner( response );
+
+        return org;
 
     }
 

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/d94ccf39/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/mgmt/OrganizationResource.java
----------------------------------------------------------------------
diff --git a/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/mgmt/OrganizationResource.java b/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/mgmt/OrganizationResource.java
index e752c78..51d48cd 100644
--- a/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/mgmt/OrganizationResource.java
+++ b/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/mgmt/OrganizationResource.java
@@ -23,7 +23,9 @@ import javax.ws.rs.core.MediaType;
 
 import org.apache.usergrid.rest.test.resource2point0.endpoints.NamedResource;
 import org.apache.usergrid.rest.test.resource2point0.endpoints.UrlResource;
+import org.apache.usergrid.rest.test.resource2point0.model.ApiResponse;
 import org.apache.usergrid.rest.test.resource2point0.model.Organization;
+import org.apache.usergrid.rest.test.resource2point0.model.User;
 import org.apache.usergrid.rest.test.resource2point0.state.ClientContext;
 
 
@@ -38,9 +40,12 @@ public class OrganizationResource extends NamedResource {
         super( name, context, parent );
     }
     public Organization get() {
-        Map<String,Object> response = getResource(true).type(MediaType.APPLICATION_JSON_TYPE)
-                .accept(MediaType.APPLICATION_JSON).get(Organization.class);
-        Organization org =  new Organization().mapOrgResponse(response);
+        ApiResponse rep = getResource(true).type(MediaType.APPLICATION_JSON_TYPE)
+                                           .accept( MediaType.APPLICATION_JSON ).get( ApiResponse.class );
+
+        //TODO: not sure if this will work for multiple users.
+        Organization org =  new Organization( rep );
+        org.setUserOwner( rep );
         return org;
     }
 

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/d94ccf39/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/model/ApiResponse.java
----------------------------------------------------------------------
diff --git a/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/model/ApiResponse.java b/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/model/ApiResponse.java
index a49f4c2..4ead3ab 100644
--- a/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/model/ApiResponse.java
+++ b/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/model/ApiResponse.java
@@ -53,7 +53,7 @@ public class ApiResponse<Entity> {
     private String cursor;
 
 
-    private final Map<String, JsonNode> properties = new HashMap<String, JsonNode>();
+    private final Map<String, Object> properties = new HashMap<String, Object>();
 
 
     public ApiResponse() {
@@ -61,13 +61,13 @@ public class ApiResponse<Entity> {
 
 
     @JsonAnyGetter
-    public Map<String, JsonNode> getProperties() {
+    public Map<String, Object> getProperties() {
         return properties;
     }
 
 
     @JsonAnySetter
-    public void setProperty( String key, JsonNode value ) {
+    public void setProperty( String key, Object value ) {
         properties.put( key, value );
     }
 

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/d94ccf39/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/model/Entity.java
----------------------------------------------------------------------
diff --git a/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/model/Entity.java b/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/model/Entity.java
index ee5d4ae..c4ac5ca 100644
--- a/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/model/Entity.java
+++ b/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/model/Entity.java
@@ -66,6 +66,10 @@ public class Entity implements Serializable, Map<String,Object> {
     protected Entity setResponse(final ApiResponse response, String key) {
         LinkedHashMap linkedHashMap = (LinkedHashMap) response.getData();
 
+        if(linkedHashMap == null){
+            linkedHashMap =  new LinkedHashMap( response.getProperties());
+        }
+
         this.putAll((Map<? extends String, ?>) linkedHashMap.get(key));
 
         return this;

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/d94ccf39/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/model/Organization.java
----------------------------------------------------------------------
diff --git a/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/model/Organization.java b/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/model/Organization.java
index 77fba68..4e28844 100644
--- a/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/model/Organization.java
+++ b/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/model/Organization.java
@@ -18,6 +18,7 @@
 package org.apache.usergrid.rest.test.resource2point0.model;
 
 
+import java.util.LinkedHashMap;
 import java.util.Map;
 
 import com.fasterxml.jackson.databind.annotation.JsonSerialize;
@@ -49,7 +50,7 @@ public class Organization extends Entity {
     }
 
     public Organization(ApiResponse response){
-        setResponse(response,"organization");
+        setResponse( response, "organization" );
     }
 
     @JsonSerialize( include = JsonSerialize.Inclusion.NON_NULL )
@@ -84,8 +85,26 @@ public class Organization extends Entity {
     public User getOwner(){
         return user;
     }
-    public void setOwner(User user){
-        this.user = user;
+
+    public void setOwner(ApiResponse response){
+        setOwner( response, "owner" );
+    }
+
+    public void setOwner(ApiResponse response, String nameOverride){
+        this.user = new User( response, nameOverride);
+    }
+
+
+    /**
+     * Created specifically so that we could set the organization owner to the Organization model from a get Organization
+     * call. This call is hidden a few layers below and stored in the properties.
+     * @param response
+     */
+    public void setUserOwner(ApiResponse response){
+        LinkedHashMap orgHashMap = ( LinkedHashMap ) response.getProperties().get( "organization" );
+        LinkedHashMap userHashMap = (LinkedHashMap) orgHashMap.get( "users" );
+        //this gets the first value in the users entities and returns it .
+        this.user = new User( ( Map<String, Object> ) userHashMap.get( userHashMap.keySet().iterator().next() ) ); //new User().mapOrgGetResponse(orgHashMap.get( "users" ));
     }
 
     public Organization mapOrgResponse(Map<String,Object> map){

http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/d94ccf39/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/model/User.java
----------------------------------------------------------------------
diff --git a/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/model/User.java b/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/model/User.java
index 2500069..9b48d78 100644
--- a/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/model/User.java
+++ b/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/model/User.java
@@ -32,11 +32,11 @@ public class User extends Entity {
      * This could also be a user
      * @param response
      */
-    public User(ApiResponse response){
-        //HashMap<String,Object> userResponse = ( HashMap<String, Object> ) response.getData();
-        //this.putAll( ( Map<? extends String, ?> ) userResponse.get( "user" ) );
-        super(response);
+
+    public User (ApiResponse response, String dataName){
+        setResponse( response, dataName );
     }
+
     //TODO: create another constructor to take in the nessesary things to post to a user.
 
     public User(String username, String name, String email, String password){
@@ -46,6 +46,10 @@ public class User extends Entity {
         this.put( "password", password);
     }
 
+    public User(Map<String,Object> map){
+        this.putAll( map );
+    }
+
     public Boolean getActivated(){
         return (Boolean) this.get( "activated" );
     }
@@ -94,9 +98,4 @@ public class User extends Entity {
         return UUID.fromString( (String) get("uuid") );
     }
 
-    public User mapSpecificUserResponse(Map<String,Object> map,String username){
-        putAll((Map<String, Object>) map.get(username));
-        return this;
-    }
-
 }