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/08/12 08:11:18 UTC
svn commit: r1513046 - in /directory/escimo/trunk:
common/src/main/java/org/apache/directory/scim/ ldap/
ldap/src/main/java/org/apache/directory/scim/ldap/ ldap/src/main/resources/
server/src/main/java/org/apache/directory/scim/rest/ tests/
Author: kayyagari
Date: Mon Aug 12 06:11:18 2013
New Revision: 1513046
URL: http://svn.apache.org/r1513046
Log:
o updated versions of api and apacheds to M19 and M20 snapshots respectively
o added groups multivalue attribute handler
Modified:
directory/escimo/trunk/common/src/main/java/org/apache/directory/scim/RequestContext.java
directory/escimo/trunk/ldap/pom.xml
directory/escimo/trunk/ldap/src/main/java/org/apache/directory/scim/ldap/LdapResourceProvider.java
directory/escimo/trunk/ldap/src/main/resources/escimo-ldap-mapping.xml
directory/escimo/trunk/server/src/main/java/org/apache/directory/scim/rest/UserService.java
directory/escimo/trunk/tests/pom.xml
Modified: directory/escimo/trunk/common/src/main/java/org/apache/directory/scim/RequestContext.java
URL: http://svn.apache.org/viewvc/directory/escimo/trunk/common/src/main/java/org/apache/directory/scim/RequestContext.java?rev=1513046&r1=1513045&r2=1513046&view=diff
==============================================================================
--- directory/escimo/trunk/common/src/main/java/org/apache/directory/scim/RequestContext.java (original)
+++ directory/escimo/trunk/common/src/main/java/org/apache/directory/scim/RequestContext.java Mon Aug 12 06:11:18 2013
@@ -19,8 +19,10 @@
*/
package org.apache.directory.scim;
+
import javax.ws.rs.core.UriInfo;
+
/**
* TODO RequestContext.
*
@@ -28,39 +30,46 @@ import javax.ws.rs.core.UriInfo;
*/
public class RequestContext
{
- private Object resourceConnection;
+ private ProviderService providerService;
+
private UriInfo uriInfo;
-
+
private User user;
- public Object getResourceConnection()
- {
- return resourceConnection;
- }
- public void setResourceConnection( Object resourceConnection )
+ public RequestContext( ProviderService providerService )
{
- this.resourceConnection = resourceConnection;
+ this.providerService = providerService;
}
+
public User getUser()
{
return user;
}
+
public void setUser( User user )
{
this.user = user;
}
+
public UriInfo getUriInfo()
{
return uriInfo;
}
+
public void setUriInfo( UriInfo uriInfo )
{
this.uriInfo = uriInfo;
}
-
+
+
+ public ProviderService getProviderService()
+ {
+ return providerService;
+ }
+
}
Modified: directory/escimo/trunk/ldap/pom.xml
URL: http://svn.apache.org/viewvc/directory/escimo/trunk/ldap/pom.xml?rev=1513046&r1=1513045&r2=1513046&view=diff
==============================================================================
--- directory/escimo/trunk/ldap/pom.xml (original)
+++ directory/escimo/trunk/ldap/pom.xml Mon Aug 12 06:11:18 2013
@@ -12,7 +12,7 @@
<name>eSCIMo LDAP Backend</name>
<properties>
- <ldap.api.version>1.0.0-M19</ldap.api.version>
+ <ldap.api.version>1.0.0-M20-SNAPSHOT</ldap.api.version>
<dom4j.version>1.6.1</dom4j.version>
</properties>
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=1513046&r1=1513045&r2=1513046&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 Mon Aug 12 06:11:18 2013
@@ -327,16 +327,7 @@ public class LdapResourceProvider implem
}
else if ( stg != null )
{
- List<SimpleAttributeGroup> atGroupList = null;
-
- if ( !Strings.isEmpty( mt.getFilter() ) )
- {
- atGroupList = getDynamicMultiValAtFrom( stg, mt.getFilter(), mt.getBaseDn(), entry );
- }
- else
- {
- atGroupList = getValuesFor( stg, entry );
- }
+ List<SimpleAttributeGroup> atGroupList = getValuesFor( stg, entry );
if ( atGroupList != null )
{
@@ -351,64 +342,6 @@ public class LdapResourceProvider implem
}
- private List<SimpleAttributeGroup> getDynamicMultiValAtFrom( SimpleTypeGroup stg, String filter, String baseDn,
- Entry entry )
- throws LdapException, IOException, CursorException
- {
- if ( Strings.isEmpty( baseDn ) )
- {
- baseDn = ""; // RootDSE
- }
-
- /* if( filter.contains( "$" ))
- {
- StringBuilder sb = new StringBuilder();
- int len = filter.length();
- int pos = 0;
- while( pos < len-1 )
- {
- int equalPos = filter.indexOf( "=", pos );
- sb.append( filter.subSequence( pos, equalPos+1 ) );
-
- int dollarPos = filter.indexOf( "$", equalPos );
- if( dollarPos != -1 )
- {
- int rightParenPos = filter.indexOf( ")", dollarPos );
- while( filter.charAt( rightParenPos - 1 ) == '\\' )
- {
- rightParenPos = filter.indexOf( ")", rightParenPos );
- }
-
- }
-
- }
- }*/
-
- List<SimpleAttributeGroup> lst = new ArrayList<SimpleAttributeGroup>();
-
- EntryCursor cursor = connection.search( baseDn, filter, SearchScope.SUBTREE,
- SchemaConstants.ALL_ATTRIBUTES_ARRAY );
- while ( cursor.next() )
- {
- Entry mvEntry = cursor.get();
- List<SimpleAttributeGroup> tmp = getValuesFor( stg, mvEntry );
- if ( tmp != null )
- {
- lst.add( tmp.get( 0 ) );
- }
- }
-
- cursor.close();
-
- if ( lst.isEmpty() )
- {
- return null;
- }
-
- return lst;
- }
-
-
private List<SimpleAttributeGroup> getValuesFor( SimpleTypeGroup stg, Entry entry ) throws LdapException
{
if ( stg == null )
@@ -574,9 +507,29 @@ public class LdapResourceProvider implem
}
+ public LdapConnection getConnection()
+ {
+ return connection;
+ }
+
+
+ public Entry fetchEntry( String dn )
+ {
+ try
+ {
+ return connection.lookup( dn, ALL_ATTRIBUTES_ARRAY );
+ }
+ catch( LdapException e )
+ {
+ LOG.debug( "Couldn't find the entry with dn {}", dn, e );
+ }
+
+ return null;
+ }
+
public static void main( String[] args ) throws Exception
{
- System.setProperty( StandaloneLdapApiService.DEFAULT_CONTROLS_LIST,
+ System.setProperty( StandaloneLdapApiService.CONTROLS_LIST,
"org.apache.directory.api.ldap.codec.controls.cascade.CascadeFactory," +
"org.apache.directory.api.ldap.codec.controls.manageDsaIT.ManageDsaITFactory," +
"org.apache.directory.api.ldap.codec.controls.search.entryChange.EntryChangeFactory," +
@@ -612,7 +565,7 @@ public class LdapResourceProvider implem
System.out.println( entry );
LdapResourceProvider lr = new LdapResourceProvider( c );
- User user = lr.toUser( new RequestContext(), entry );
+ User user = lr.toUser( new RequestContext( lr ), entry );
System.out.println( user );
System.out.println( ResourceSerializer.serialize( user ) );
c.close();
Modified: directory/escimo/trunk/ldap/src/main/resources/escimo-ldap-mapping.xml
URL: http://svn.apache.org/viewvc/directory/escimo/trunk/ldap/src/main/resources/escimo-ldap-mapping.xml?rev=1513046&r1=1513045&r2=1513046&view=diff
==============================================================================
--- directory/escimo/trunk/ldap/src/main/resources/escimo-ldap-mapping.xml (original)
+++ directory/escimo/trunk/ldap/src/main/resources/escimo-ldap-mapping.xml Mon Aug 12 06:11:18 2013
@@ -70,11 +70,7 @@
</type>
</multival-attribute>
- <multival-attribute name="groups">
- <at-group>
- <attribute name="value" mappedTo="member" />
- </at-group>
- </multival-attribute>
+ <multival-attribute name="groups" basedDn="ou=system" filter="(uniqueMember = $entryDn)" handlerRef="groupsHandler"/>
<complex-attribute name="meta" handlerRef="metaHandler" />
@@ -109,5 +105,7 @@
class="org.apache.directory.scim.ldap.handlers.ActiveAttributeHandler" />
<handler name="metaHandler"
class="org.apache.directory.scim.ldap.handlers.MetaAttributeHandler" />
+ <handler name="groupsHandler"
+ class="org.apache.directory.scim.ldap.handlers.GroupsAttributeHandler" />
</atHandlers>
</entities>
\ No newline at end of file
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=1513046&r1=1513045&r2=1513046&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 Mon Aug 12 06:11:18 2013
@@ -54,7 +54,7 @@ public class UserService
try
{
- RequestContext ctx = new RequestContext();
+ RequestContext ctx = new RequestContext( provider );
ctx.setUriInfo( uriInfo );
User user = provider.getUser( ctx, userId );
Modified: directory/escimo/trunk/tests/pom.xml
URL: http://svn.apache.org/viewvc/directory/escimo/trunk/tests/pom.xml?rev=1513046&r1=1513045&r2=1513046&view=diff
==============================================================================
--- directory/escimo/trunk/tests/pom.xml (original)
+++ directory/escimo/trunk/tests/pom.xml Mon Aug 12 06:11:18 2013
@@ -12,8 +12,8 @@
<name>eSCIMo Tests</name>
<properties>
- <ldap.api.version>1.0.0-M19</ldap.api.version>
- <apacheds.version>2.0.0-M14</apacheds.version>
+ <ldap.api.version>1.0.0-M20-SNAPSHOT</ldap.api.version>
+ <apacheds.version>2.0.0-M15-SNAPSHOT</apacheds.version>
<slf4j.api.version>1.7.5</slf4j.api.version>
<slf4j.log4j12.version>1.7.5</slf4j.log4j12.version>
<log4j.version>1.2.17</log4j.version>