package org.safehaus.penrose.ldap.connection; import org.safehaus.penrose.client.PenroseClient; import org.safehaus.penrose.connection.ConnectionClient; import org.safehaus.penrose.ldap.SearchResult; import org.safehaus.penrose.ldap.DN; import org.safehaus.penrose.ldap.SearchResponse; import org.safehaus.penrose.ldap.SearchRequest; import org.safehaus.penrose.schema.Schema; /** * @author Endi Sukma Dewata */ public class LDAPConnectionClient extends ConnectionClient implements LDAPConnectionServiceMBean { public LDAPConnectionClient(PenroseClient client, String partitionName, String connectionName) throws Exception { super(client, partitionName, connectionName); } public SearchResult find(String dn) throws Exception { return (SearchResult)invoke( "find", new Object[] { dn }, new String[] { String.class.getName() } ); } public SearchResult find(DN dn) throws Exception { return (SearchResult)invoke( "find", new Object[] { dn }, new String[] { DN.class.getName() } ); } public SearchResponse search(SearchRequest request, SearchResponse response) throws Exception { SearchResponse newResponse = (SearchResponse)invoke( "search", new Object[] { request, response }, new String[] { SearchRequest.class.getName(), SearchResponse.class.getName() } ); response.copy(newResponse); return response; } public Schema getSchema() throws Exception { return (Schema)getAttribute("Schema"); } }