directory-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ralf Hauser (JIRA)" <j...@apache.org>
Subject [jira] Created: (DIRSERVER-649) transport explanations in NamingExceptions why searches fail back to the client
Date Fri, 16 Jun 2006 20:12:29 GMT
transport explanations in NamingExceptions why searches fail back to the client
-------------------------------------------------------------------------------

         Key: DIRSERVER-649
         URL: http://issues.apache.org/jira/browse/DIRSERVER-649
     Project: Directory ApacheDS
        Type: Improvement

  Components: ldap  
 Environment: all
    Reporter: Ralf Hauser


Our ldap application has a custom partition and we only allow restricted searches on it.

If the queries do not comply with our rules, we throw a NamingException.
I guess good candidates for this are 
- CannotProceedException
- NoPermissionException
The good news is that I even can provide the exception constructor with some extra information

that might help the searching user to adapt the query in order to succeed subsequently.

Unfortunately, such exception explanation are ignored in SearchHandler.java and only 
  "failed on search operation"
is returned to the client

Please find a diff below how this might be solved.

Secondly, it would be great to be able to localize also the main error texts. Since our
searches are only executed after a "bind" we do have the possibility to know the locale
preferences from our own user-data-base.

What do you think.



--- SearchHandler.java.orig	2006-06-16 09:56:02.000000000 +0200
+++ SearchHandler.java	2006-06-16 09:57:28.000000000 +0200
@@ -345,7 +345,13 @@
 
             LdapResult result = req.getResultResponse().getLdapResult();
             result.setResultCode( code );
-            result.setErrorMessage( msg );
+            String extraInfo="";
+            if (e.getMessage() != null) {
+                if (e.getMessage().trim().length()>0) {
+                    extraInfo=": " + e.getMessage();
+                }
+            }
+            result.setErrorMessage( msg + extraInfo );
 
             if ( ( e.getResolvedName() != null )
                 && ( ( code == ResultCodeEnum.NOSUCHOBJECT ) || ( code == ResultCodeEnum.ALIASPROBLEM
)


-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


Mime
View raw message