You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jmeter-dev@jakarta.apache.org by se...@apache.org on 2003/11/13 02:58:58 UTC

cvs commit: jakarta-jmeter/src/protocol/ldap/org/apache/jmeter/protocol/ldap/sampler LdapClient.java

sebb        2003/11/12 17:58:58

  Modified:    src/protocol/ldap/org/apache/jmeter/protocol/ldap/sampler
                        LdapClient.java
  Log:
  Return whether search finds anything;tidy up Exceptions; reduce visibility of fields
  
  Revision  Changes    Path
  1.6       +35 -12    jakarta-jmeter/src/protocol/ldap/org/apache/jmeter/protocol/ldap/sampler/LdapClient.java
  
  Index: LdapClient.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/src/protocol/ldap/org/apache/jmeter/protocol/ldap/sampler/LdapClient.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- LdapClient.java	19 Oct 2003 23:01:32 -0000	1.5
  +++ LdapClient.java	13 Nov 2003 01:58:58 -0000	1.6
  @@ -57,13 +57,15 @@
   import java.util.Hashtable;
   
   import javax.naming.Context;
  +import javax.naming.NamingEnumeration;
   import javax.naming.NamingException;
  -import javax.naming.NoPermissionException;
  +//import javax.naming.directory.Attributes;
   import javax.naming.directory.BasicAttributes;
   import javax.naming.directory.DirContext;
   import javax.naming.directory.InitialDirContext;
   import javax.naming.directory.ModificationItem;
   import javax.naming.directory.SearchControls;
  +//import javax.naming.directory.SearchResult;
   
   import org.apache.jorphan.logging.LoggingManager;
   import org.apache.log.Logger;
  @@ -81,7 +83,7 @@
   public class LdapClient
   {
       transient private static Logger log = LoggingManager.getLoggerForClass();
  -    DirContext dirContext;
  +    private DirContext dirContext = null;
   
       /**
        *  Constructor for the LdapClient object.
  @@ -99,7 +101,7 @@
           String rootdn,
           String username,
           String password)
  -        throws Exception
  +        throws NamingException
       {
           Hashtable env = new Hashtable();
           env.put(
  @@ -119,9 +121,12 @@
       {
           try
           {
  -            dirContext=null;
  +        	if (dirContext != null){
  +				dirContext.close();
  +				dirContext=null;
  +        	}
           }
  -        catch (Exception e)
  +        catch (NamingException e)
           {
               log.error("Ldap client - ",e);
           }
  @@ -133,12 +138,29 @@
        * @param  searchBase   where the search should start
        * @param  searchFilter filter this value from the base  
        */
  -    public void searchTest(String searchBase, String searchFilter)
  -        throws NoPermissionException, NamingException
  +    public boolean searchTest(String searchBase, String searchFilter)
  +        throws NamingException
       {
  +    	//System.out.println("Base="+searchBase+" Filter="+searchFilter);
           SearchControls searchcontrols =
  -            new SearchControls(2, 1L, 0, null, false, false);
  +            new SearchControls(SearchControls.SUBTREE_SCOPE,
  +					            1L, //count limit
  +					            0,  //time limit
  +					            null,//attributes (null = all)
  +					            false,// return object ?
  +					            false);// dereference links?
  +        NamingEnumeration ne = 
           dirContext.search(searchBase, searchFilter, searchcontrols);
  +		//System.out.println("Loop "+ne.toString()+" "+ne.hasMore());
  +//		while (ne.hasMore()){
  +//			Object tmp = ne.next();
  +//			System.out.println(tmp.getClass().getName());
  +//			SearchResult sr = (SearchResult) tmp;
  +//			Attributes at = sr.getAttributes();
  +//			System.out.println(at.get("cn"));
  +//		}
  +		//System.out.println("Done "+ne.hasMore());
  +        return ne.hasMore();
       }
   
       /**
  @@ -148,7 +170,7 @@
        * @param string  the  string (dn) value 
        */
       public void modifyTest(ModificationItem[] mods, String string)
  -        throws NoPermissionException, NamingException
  +        throws NamingException
       {
           dirContext.modifyAttributes(string, mods);
       }
  @@ -160,8 +182,9 @@
        * @param  string           the  string (dn) value 
        */
       public void createTest(BasicAttributes basicattributes, String string)
  -        throws NoPermissionException, NamingException
  +        throws NamingException
       {
  +    	//DirContext dc = //TODO perhaps return this?
           dirContext.createSubcontext(string, basicattributes);
       }
           
  @@ -171,7 +194,7 @@
        * @param  string  the string (dn) value 
        */
       public void deleteTest(String string)
  -        throws NoPermissionException, NamingException
  +        throws NamingException
       {
           dirContext.destroySubcontext(string);
       }
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: jmeter-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: jmeter-dev-help@jakarta.apache.org