You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by el...@apache.org on 2010/03/20 01:23:52 UTC
svn commit: r925500 -
/directory/shared/trunk/ldap-jndi/src/main/java/org/apache/directory/shared/ldap/jndi/JndiUtils.java
Author: elecharny
Date: Sat Mar 20 00:23:52 2010
New Revision: 925500
URL: http://svn.apache.org/viewvc?rev=925500&view=rev
Log:
Added a wrapper for the PartialResult exception
Modified:
directory/shared/trunk/ldap-jndi/src/main/java/org/apache/directory/shared/ldap/jndi/JndiUtils.java
Modified: directory/shared/trunk/ldap-jndi/src/main/java/org/apache/directory/shared/ldap/jndi/JndiUtils.java
URL: http://svn.apache.org/viewvc/directory/shared/trunk/ldap-jndi/src/main/java/org/apache/directory/shared/ldap/jndi/JndiUtils.java?rev=925500&r1=925499&r2=925500&view=diff
==============================================================================
--- directory/shared/trunk/ldap-jndi/src/main/java/org/apache/directory/shared/ldap/jndi/JndiUtils.java (original)
+++ directory/shared/trunk/ldap-jndi/src/main/java/org/apache/directory/shared/ldap/jndi/JndiUtils.java Sat Mar 20 00:23:52 2010
@@ -27,11 +27,13 @@ import javax.naming.CommunicationExcepti
import javax.naming.Context;
import javax.naming.ContextNotEmptyException;
import javax.naming.InvalidNameException;
+import javax.naming.Name;
import javax.naming.NameAlreadyBoundException;
import javax.naming.NameNotFoundException;
import javax.naming.NamingException;
import javax.naming.NoPermissionException;
import javax.naming.OperationNotSupportedException;
+import javax.naming.PartialResultException;
import javax.naming.ReferralException;
import javax.naming.ServiceUnavailableException;
import javax.naming.TimeLimitExceededException;
@@ -62,6 +64,7 @@ import org.apache.directory.shared.ldap.
import org.apache.directory.shared.ldap.exception.LdapNoSuchObjectException;
import org.apache.directory.shared.ldap.exception.LdapOperationErrorException;
import org.apache.directory.shared.ldap.exception.LdapOtherException;
+import org.apache.directory.shared.ldap.exception.LdapPartialResultException;
import org.apache.directory.shared.ldap.exception.LdapProtocolErrorException;
import org.apache.directory.shared.ldap.exception.LdapReferralException;
import org.apache.directory.shared.ldap.exception.LdapSchemaViolationException;
@@ -69,6 +72,7 @@ import org.apache.directory.shared.ldap.
import org.apache.directory.shared.ldap.exception.LdapTimeLimitExceededException;
import org.apache.directory.shared.ldap.exception.LdapUnwillingToPerformException;
import org.apache.directory.shared.ldap.message.control.Control;
+import org.apache.directory.shared.ldap.name.DN;
/**
* An utility class to convert back and forth JNDI classes to ADS classes.
@@ -228,6 +232,10 @@ public class JndiUtils
{
ne = new WrappedReferralException( ( LdapReferralException ) t );
}
+ else if ( t instanceof LdapPartialResultException )
+ {
+ ne = new WrappedPartialResultException( ( LdapPartialResultException ) t );
+ }
else if ( t instanceof LdapSchemaViolationException )
{
ne = new SchemaViolationException( t.getLocalizedMessage() );
@@ -248,7 +256,9 @@ public class JndiUtils
{
ne = new NamingException( t.getLocalizedMessage() );
}
+
ne.setRootCause( t );
+
throw ne;
}
}
@@ -256,6 +266,8 @@ public class JndiUtils
// a ReferralException around the LdapReferralException to be used in tests
class WrappedReferralException extends ReferralException
{
+ private static final long serialVersionUID = 1L;
+
private LdapReferralException lre;
public WrappedReferralException( LdapReferralException lre )
@@ -296,4 +308,59 @@ class WrappedReferralException extends R
{
return lre.getReferralContext();
}
-}
\ No newline at end of file
+
+ @Override
+ public Name getRemainingName()
+ {
+ return DN.toName( lre.getRemainingDn() );
+ }
+
+
+ @Override
+ public Object getResolvedObj()
+ {
+ return lre.getResolvedObject();
+ }
+
+
+ @Override
+ public Name getResolvedName()
+ {
+ // TODO Auto-generated method stub
+ return DN.toName( lre.getResolvedDn() );
+ }
+}
+
+
+// a PartialResultException around the LdapPartialResultException to be used in tests
+class WrappedPartialResultException extends PartialResultException
+{
+ private static final long serialVersionUID = 1L;
+
+ private LdapPartialResultException lpre;
+
+ public WrappedPartialResultException( LdapPartialResultException lpre )
+ {
+ this.lpre = lpre;
+ }
+
+ @Override
+ public Name getRemainingName()
+ {
+ return DN.toName( lpre.getRemainingDn() );
+ }
+
+
+ @Override
+ public Object getResolvedObj()
+ {
+ return lpre.getResolvedObject();
+ }
+
+
+ @Override
+ public Name getResolvedName()
+ {
+ return DN.toName( lpre.getResolvedDn() );
+ }
+}
\ No newline at end of file