| import lotus.domino.*; |
| |
| |
| import java.util.Hashtable; |
| |
| import javax.naming.Context; |
| import javax.naming.NamingEnumeration; |
| import javax.naming.NamingException; |
| import javax.naming.directory.Attributes; |
| import javax.naming.directory.InitialDirContext; |
| |
| public class JavaAgent extends AgentBase { |
| |
| public void NotesMain() { |
| |
| try { |
| Session session = getSession(); |
| AgentContext agentContext = session.getAgentContext(); |
| } catch (lotus.domino.NotesException e) { |
| e.printStackTrace(); |
| } |
| InitialContextConfig config = new InitialContextConfig(); |
| |
| config.setIntialContextFactory("com.sun.jndi.ldap.LdapCtxFactory"); |
| config.setProviderUrl("ldap://127.0.0.1:10389/ou=system"); |
| config.setSecurityAuthentification("simple"); |
| config.setSecurityCredentials("secret"); |
| config.setSecurityPrincipal("uid=admin,ou=system"); |
| |
| |
| try { |
| SimpleJndiExample jndiClient = new SimpleJndiExample(config); |
| |
| jndiClient.printSimpleAttributes(); |
| jndiClient.closeConnection(); |
| } catch (NamingException e) { |
| e.printStackTrace(); |
| System.exit(0); |
| } |
| } |
| } |
| |
| class SimpleJndiExample { |
| |
| private InitialDirContext ctx; |
| |
| public SimpleJndiExample(InitialContextConfig config) throws NamingException { |
| ctx = new InitialDirContext(config.getEnv()); |
| } |
| |
| |
| |
| public void printSimpleAttributes() throws NamingException { |
| Attributes attrs = ctx.getAttributes(""); |
| NamingEnumeration enm = attrs.getAll(); |
| while (enm.hasMore()) { |
| System.out.println(enm.next()); |
| } |
| } |
| |
| public void closeConnection() { |
| try { |
| ctx.close(); |
| } catch (javax.naming.NamingException e) { |
| e.printStackTrace(); |
| } |
| } |
| |
| |
| |
| public static void main(String[] args) { |
| InitialContextConfig config = new InitialContextConfig(); |
| |
| config.setIntialContextFactory("com.sun.jndi.ldap.LdapCtxFactory"); |
| config.setProviderUrl("ldap://127.0.0.1:10389/ou=system"); |
| config.setSecurityAuthentification("simple"); |
| config.setSecurityCredentials("secret"); |
| config.setSecurityPrincipal("uid=admin,ou=system"); |
| |
| |
| try { |
| SimpleJndiExample jndiClient = new SimpleJndiExample(config); |
| |
| jndiClient.printSimpleAttributes(); |
| jndiClient.closeConnection(); |
| } catch (NamingException e) { |
| e.printStackTrace(); |
| System.exit(0); |
| } |
| |
| } |
| } |
| |
| class InitialContextConfig { |
| private Hashtable env; |
| |
| private String intialContextFactory; |
| |
| private String providerUrl; |
| |
| private String securityPrincipal; |
| |
| private String securityCredentials; |
| |
| private String securityAuthentification; |
| |
| public InitialContextConfig() { |
| env = new Hashtable(); |
| } |
| |
| public Hashtable getEnv() { |
| return env; |
| |
| } |
| |
| public void setIntialContextFactory(String intialContextFactory) { |
| this.intialContextFactory = intialContextFactory; |
| env.put(Context.INITIAL_CONTEXT_FACTORY, intialContextFactory); |
| |
| } |
| |
| public void setProviderUrl(String providerUrl) { |
| this.providerUrl = providerUrl; |
| env.put(Context.PROVIDER_URL, providerUrl); |
| } |
| |
| public void setSecurityAuthentification(String securityAuthentification) { |
| this.securityAuthentification = securityAuthentification; |
| |
| env.put(Context.SECURITY_AUTHENTICATION, securityAuthentification); |
| |
| } |
| |
| public void setSecurityCredentials(String securityCredentials) { |
| this.securityCredentials = securityCredentials; |
| |
| env.put(Context.SECURITY_CREDENTIALS, securityCredentials); |
| |
| } |
| |
| public void setSecurityPrincipal(String securityPrincipal) { |
| this.securityPrincipal = securityPrincipal; |
| env.put(Context.SECURITY_PRINCIPAL, securityPrincipal); |
| } |
| |
| public String toString() { |
| return "[" + getClass().getName() + "->" + |
| "\nenv=" + env + |
| "\n]"; |
| } |
| |
| |
| |
| } |
| |