You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by ka...@apache.org on 2013/10/23 13:05:52 UTC

svn commit: r1534985 - in /directory/escimo/trunk: client/src/main/java/org/apache/directory/scim/ common/src/main/java/org/apache/directory/scim/ ldap/src/main/java/org/apache/directory/scim/ldap/ server/src/main/java/org/apache/directory/scim/rest/ t...

Author: kayyagari
Date: Wed Oct 23 11:05:52 2013
New Revision: 1534985

URL: http://svn.apache.org/r1534985
Log:
fixed the path names for PUT and PATCH

Modified:
    directory/escimo/trunk/client/src/main/java/org/apache/directory/scim/EscimoClient.java
    directory/escimo/trunk/common/src/main/java/org/apache/directory/scim/ProviderService.java
    directory/escimo/trunk/ldap/src/main/java/org/apache/directory/scim/ldap/LdapResourceProvider.java
    directory/escimo/trunk/server/src/main/java/org/apache/directory/scim/rest/GroupService.java
    directory/escimo/trunk/server/src/main/java/org/apache/directory/scim/rest/UserService.java
    directory/escimo/trunk/tests/src/test/java/org/apache/directory/scim/UserResourceTest.java

Modified: directory/escimo/trunk/client/src/main/java/org/apache/directory/scim/EscimoClient.java
URL: http://svn.apache.org/viewvc/directory/escimo/trunk/client/src/main/java/org/apache/directory/scim/EscimoClient.java?rev=1534985&r1=1534984&r2=1534985&view=diff
==============================================================================
--- directory/escimo/trunk/client/src/main/java/org/apache/directory/scim/EscimoClient.java (original)
+++ directory/escimo/trunk/client/src/main/java/org/apache/directory/scim/EscimoClient.java Wed Oct 23 11:05:52 2013
@@ -113,26 +113,26 @@ public class EscimoClient
         return deleteResource( id, GROUPS_URI );
     }
 
-    public CoreResource putUser( CoreResource resource ) throws Exception
+    public CoreResource putUser( String userId, CoreResource resource ) throws Exception
     {
-        return putResource( resource, USERS_URI );
+        return putResource( userId, resource, USERS_URI );
     }
 
     
-    public CoreResource putGroup( CoreResource resource ) throws Exception
+    public CoreResource putGroup( String groupId, CoreResource resource ) throws Exception
     {
-        return putResource( resource, GROUPS_URI );
+        return putResource( groupId, resource, GROUPS_URI );
     }
 
-    public CoreResource patchUser( CoreResource resource ) throws Exception
+    public CoreResource patchUser( String userId, CoreResource resource ) throws Exception
     {
-        return patchResource( resource, USERS_URI );
+        return patchResource( userId, resource, USERS_URI );
     }
 
     
-    public CoreResource patchGroup( CoreResource resource ) throws Exception
+    public CoreResource patchGroup( String groupId, CoreResource resource ) throws Exception
     {
-        return patchResource( resource, GROUPS_URI );
+        return patchResource( groupId, resource, GROUPS_URI );
     }
 
     
@@ -244,13 +244,15 @@ public class EscimoClient
     }
 
 
-    private CoreResource putResource( CoreResource resource, String uri ) throws Exception
+    private CoreResource putResource( String resourceId, CoreResource resource, String uri ) throws Exception
     {
         if ( resource == null )
         {
             throw new IllegalArgumentException( "resource cannot be null" );
         }
 
+        uri = uri + "/" + resourceId;
+        
         HttpPut put = new HttpPut( providerUrl + uri );
 
         String payload = serialize( resource ).toString();
@@ -283,13 +285,15 @@ public class EscimoClient
     }
 
     
-    private CoreResource patchResource( CoreResource resource, String uri ) throws Exception
+    private CoreResource patchResource( String resourceId, CoreResource resource, String uri ) throws Exception
     {
         if ( resource == null )
         {
             throw new IllegalArgumentException( "resource cannot be null" );
         }
 
+        uri = uri + "/" + resourceId;
+        
         HttpPatch put = new HttpPatch( providerUrl + uri );
 
         String payload = serialize( resource ).toString();

Modified: directory/escimo/trunk/common/src/main/java/org/apache/directory/scim/ProviderService.java
URL: http://svn.apache.org/viewvc/directory/escimo/trunk/common/src/main/java/org/apache/directory/scim/ProviderService.java?rev=1534985&r1=1534984&r2=1534985&view=diff
==============================================================================
--- directory/escimo/trunk/common/src/main/java/org/apache/directory/scim/ProviderService.java (original)
+++ directory/escimo/trunk/common/src/main/java/org/apache/directory/scim/ProviderService.java Wed Oct 23 11:05:52 2013
@@ -48,11 +48,11 @@ public interface ProviderService 
     
     void deleteGroup( String id ) throws Exception;
     
-    UserResource putUser( String jsonData, RequestContext ctx ) throws Exception;
+    UserResource putUser( String userId, String jsonData, RequestContext ctx ) throws Exception;
     
-    GroupResource putGroup( String jsonData, RequestContext ctx ) throws Exception;
+    GroupResource putGroup( String groupId, String jsonData, RequestContext ctx ) throws Exception;
 
-    UserResource patchUser( String jsonData, RequestContext ctx ) throws Exception;
+    UserResource patchUser( String userId, String jsonData, RequestContext ctx ) throws Exception;
     
-    GroupResource patchGroup( String jsonData, RequestContext ctx ) throws Exception;
+    GroupResource patchGroup( String groupId, String jsonData, RequestContext ctx ) throws Exception;
 }

Modified: directory/escimo/trunk/ldap/src/main/java/org/apache/directory/scim/ldap/LdapResourceProvider.java
URL: http://svn.apache.org/viewvc/directory/escimo/trunk/ldap/src/main/java/org/apache/directory/scim/ldap/LdapResourceProvider.java?rev=1534985&r1=1534984&r2=1534985&view=diff
==============================================================================
--- directory/escimo/trunk/ldap/src/main/java/org/apache/directory/scim/ldap/LdapResourceProvider.java (original)
+++ directory/escimo/trunk/ldap/src/main/java/org/apache/directory/scim/ldap/LdapResourceProvider.java Wed Oct 23 11:05:52 2013
@@ -239,27 +239,27 @@ public class LdapResourceProvider implem
     }
 
 
-    public UserResource putUser( String jsonData, RequestContext ctx ) throws Exception
+    public UserResource putUser( String userId, String jsonData, RequestContext ctx ) throws Exception
     {
-        return ( UserResource ) replaceResource( jsonData, ctx, userSchema );
+        return ( UserResource ) replaceResource( userId, jsonData, ctx, userSchema );
     }
 
 
-    public GroupResource putGroup( String jsonData, RequestContext ctx ) throws Exception
+    public GroupResource putGroup( String groupId, String jsonData, RequestContext ctx ) throws Exception
     {
-        return ( GroupResource ) replaceResource( jsonData, ctx, groupSchema );
+        return ( GroupResource ) replaceResource( groupId, jsonData, ctx, groupSchema );
     }
 
 
-    public UserResource patchUser( String jsonData, RequestContext ctx ) throws Exception
+    public UserResource patchUser( String userId, String jsonData, RequestContext ctx ) throws Exception
     {
-        return ( UserResource ) patchResource( jsonData, ctx, userSchema );
+        return ( UserResource ) patchResource( userId, jsonData, ctx, userSchema );
     }
 
 
-    public GroupResource patchGroup( String jsonData, RequestContext ctx ) throws Exception
+    public GroupResource patchGroup( String groupId, String jsonData, RequestContext ctx ) throws Exception
     {
-        return ( GroupResource ) patchResource( jsonData, ctx, groupSchema );
+        return ( GroupResource ) patchResource( groupId, jsonData, ctx, groupSchema );
     }
 
     
@@ -487,13 +487,11 @@ public class LdapResourceProvider implem
     
     
     // TODO can userName be changed for a user?? likewise displayName for a Group
-    public ServerResource replaceResource( String jsonData, RequestContext ctx, ResourceSchema resourceSchema ) throws Exception
+    public ServerResource replaceResource( String resourceId, String jsonData, RequestContext ctx, ResourceSchema resourceSchema ) throws Exception
     {
         JsonParser parser = new JsonParser();
         JsonObject obj = ( JsonObject ) parser.parse( jsonData );
         
-        String resourceId = obj.get( "id" ).getAsString();
-        
         Entry entry = new DefaultEntry( ldapSchema );
         
         _resourceToEntry( entry, obj, ctx, resourceSchema );
@@ -627,13 +625,11 @@ public class LdapResourceProvider implem
     }
     
     
-    public ServerResource patchResource( String jsonData, RequestContext ctx, ResourceSchema resourceSchema ) throws Exception
+    public ServerResource patchResource( String resourceId, String jsonData, RequestContext ctx, ResourceSchema resourceSchema ) throws Exception
     {
         JsonParser parser = new JsonParser();
         JsonObject obj = ( JsonObject ) parser.parse( jsonData );
 
-        String resourceId = obj.get( "id" ).getAsString();
-        
         Entry existingEntry = fetchEntryById( resourceId, resourceSchema );
         
         if( existingEntry == null )

Modified: directory/escimo/trunk/server/src/main/java/org/apache/directory/scim/rest/GroupService.java
URL: http://svn.apache.org/viewvc/directory/escimo/trunk/server/src/main/java/org/apache/directory/scim/rest/GroupService.java?rev=1534985&r1=1534984&r2=1534985&view=diff
==============================================================================
--- directory/escimo/trunk/server/src/main/java/org/apache/directory/scim/rest/GroupService.java (original)
+++ directory/escimo/trunk/server/src/main/java/org/apache/directory/scim/rest/GroupService.java Wed Oct 23 11:05:52 2013
@@ -87,13 +87,13 @@ public class GroupService
     
     @DELETE
     @Path("{id}")
-    public Response deleteGroup( @PathParam("id") String userId, @Context UriInfo uriInfo, @Context HttpHeaders headers )
+    public Response deleteGroup( @PathParam("id") String groupId, @Context UriInfo uriInfo, @Context HttpHeaders headers )
     {
         ResponseBuilder rb = Response.ok();
         
         try
         {
-            provider.deleteGroup( userId );
+            provider.deleteGroup( groupId );
         }
         catch( Exception e )
         {
@@ -142,8 +142,9 @@ public class GroupService
 
     
     @PUT
+    @Path("{id}")
     @Produces({MediaType.APPLICATION_JSON})
-    public Response putGroup( String jsonData, @Context UriInfo uriInfo, @Context HttpHeaders headers )
+    public Response putGroup( @PathParam("id") String groupId, String jsonData, @Context UriInfo uriInfo, @Context HttpHeaders headers )
     {
         ResponseBuilder rb = null;
 
@@ -159,7 +160,7 @@ public class GroupService
         {
             RequestContext ctx = new RequestContext( provider, uriInfo, headers );
             
-            ServerResource res = provider.putGroup( jsonData, ctx );
+            ServerResource res = provider.putGroup( groupId, jsonData, ctx );
             
             String json = ResourceSerializer.serialize( res );
             
@@ -176,8 +177,9 @@ public class GroupService
     }
 
     @PATCH
+    @Path("{id}")
     @Produces({MediaType.APPLICATION_JSON})
-    public Response patchGroup( String jsonData, @Context UriInfo uriInfo, @Context HttpHeaders headers )
+    public Response patchGroup( @PathParam("id") String groupId, String jsonData, @Context UriInfo uriInfo, @Context HttpHeaders headers )
     {
         ResponseBuilder rb = null;
 
@@ -193,7 +195,7 @@ public class GroupService
         {
             RequestContext ctx = new RequestContext( provider, uriInfo, headers );
             
-            ServerResource resource = provider.patchGroup( jsonData, ctx );
+            ServerResource resource = provider.patchGroup( groupId, jsonData, ctx );
             
             if( resource == null )
             {

Modified: directory/escimo/trunk/server/src/main/java/org/apache/directory/scim/rest/UserService.java
URL: http://svn.apache.org/viewvc/directory/escimo/trunk/server/src/main/java/org/apache/directory/scim/rest/UserService.java?rev=1534985&r1=1534984&r2=1534985&view=diff
==============================================================================
--- directory/escimo/trunk/server/src/main/java/org/apache/directory/scim/rest/UserService.java (original)
+++ directory/escimo/trunk/server/src/main/java/org/apache/directory/scim/rest/UserService.java Wed Oct 23 11:05:52 2013
@@ -147,8 +147,9 @@ public class UserService
 
     
     @PUT
+    @Path("{id}")
     @Produces({MediaType.APPLICATION_JSON})
-    public Response putUser( String jsonData, @Context UriInfo uriInfo, @Context HttpHeaders headers )
+    public Response putUser( @PathParam("id") String userId, String jsonData, @Context UriInfo uriInfo, @Context HttpHeaders headers )
     {
         ResponseBuilder rb = null;
 
@@ -164,7 +165,7 @@ public class UserService
         {
             RequestContext ctx = new RequestContext( provider, uriInfo, headers );
             
-            ServerResource res = provider.putUser( jsonData, ctx );
+            ServerResource res = provider.putUser( userId, jsonData, ctx );
             
             String json = ResourceSerializer.serialize( res );
             
@@ -182,8 +183,9 @@ public class UserService
 
     
     @PATCH
+    @Path("{id}")
     @Produces({MediaType.APPLICATION_JSON})
-    public Response patchUser( String jsonData, @Context UriInfo uriInfo, @Context HttpHeaders headers )
+    public Response patchUser( @PathParam("id") String userId, String jsonData, @Context UriInfo uriInfo, @Context HttpHeaders headers )
     {
         ResponseBuilder rb = null;
 
@@ -199,7 +201,7 @@ public class UserService
         {
             RequestContext ctx = new RequestContext( provider, uriInfo, headers );
             
-            ServerResource resource = provider.patchUser( jsonData, ctx );
+            ServerResource resource = provider.patchUser( userId, jsonData, ctx );
             
             if( resource == null )
             {

Modified: directory/escimo/trunk/tests/src/test/java/org/apache/directory/scim/UserResourceTest.java
URL: http://svn.apache.org/viewvc/directory/escimo/trunk/tests/src/test/java/org/apache/directory/scim/UserResourceTest.java?rev=1534985&r1=1534984&r2=1534985&view=diff
==============================================================================
--- directory/escimo/trunk/tests/src/test/java/org/apache/directory/scim/UserResourceTest.java (original)
+++ directory/escimo/trunk/tests/src/test/java/org/apache/directory/scim/UserResourceTest.java Wed Oct 23 11:05:52 2013
@@ -138,7 +138,7 @@ public class UserResourceTest
         newEmail.setValue( "newemail@example.com" );
         addedUser.getEmails().add( newEmail );
         
-        User replacedUser = ( User ) client.putUser( addedUser );
+        User replacedUser = ( User ) client.putUser( addedUser.getId(), addedUser );
 
         assertNotNull( replacedUser );
         assertEquals( 1, replacedUser.getEmails().size() );
@@ -181,7 +181,7 @@ public class UserResourceTest
             addedUser.getEmails().add( newEmail );
         }
         
-        User patchedUser = ( User ) client.patchUser( addedUser );
+        User patchedUser = ( User ) client.patchUser( addedUser.getId(), addedUser );
 
         assertNull( patchedUser );
         
@@ -237,7 +237,6 @@ public class UserResourceTest
         Group.Member deletedMember = members.get( 0 );
         
         Group tobePatchedGroup = new Group();
-        tobePatchedGroup.setId( addedGroup.getId() );
         
         List<Group.Member> patchedMembers = new ArrayList<Group.Member>();
         tobePatchedGroup.setMembers( patchedMembers );
@@ -245,7 +244,7 @@ public class UserResourceTest
         deletedMember.setOperation( "delete" );
         patchedMembers.add( deletedMember );
         
-        client.patchGroup( tobePatchedGroup );
+        client.patchGroup( addedGroup.getId(), tobePatchedGroup );
         Group patchedGroup = ( Group ) client.getGroup( addedGroup.getId() );
         assertEquals( ( count - 1 ), patchedGroup.getMembers().size() );