[ http://issues.apache.org/jira/browse/DIRSERVER-649?page=comments#action_12416607 ]
Alex Karasulu commented on DIRSERVER-649: ----------------------------------------- Sure I will apply this for you. However could you attach an svn diff generated patch to this issue: unfortunatly things get mutilated by JIRA text formating. Thanks! > 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
