import com.novell.ldap.LDAPConnection;
import com.novell.ldap.LDAPException;
import com.novell.ldap.LDAPDSConstants;
import com.novell.security.nmas.mgmt.NMASLoginDataMgr;
import com.novell.security.nmas.mgmt.NMASLoginDataException;
import com.novell.security.nmas.mgmt.LoginDataJLdapTransport;
public class LoginConfigAPIExample implements LDAPDSConstants
{
public static void main( String[] args )
{
int methodID[] = {0x00};
if (args.length != 7) {
System.err.println("Usage: java LoginConfigAPIExample "
+ "<host Name> <port number> <login dn> <password> "
+ "\n <object dn> <LoginConfigData Tag Name> <data value>");
System.err.println("Example: java TestLoginConfigAPIs Acme.com 389 "
+ "\"cn=Admin,o=Acme\" secret\n "
+ "\"cn=james,o=Acme\" "
+ "\"MyJunk\" \"Junk1\"");
System.exit(1);
}
int ldapVersion = LDAPConnection.LDAP_V3;
String ldapHost = args[0];
int ldapPort = Integer.parseInt(args[1]);
String loginDN = args[2];
String password = args[3];
String objectDN = args[4];
String tagName = args[5];
String dataStr = args[6];
LDAPConnection ld = new LDAPConnection();
try {
ld.connect( ldapHost, ldapPort);
ld.bind( ldapVersion, loginDN, password );
System.out.println( "bind() succeeded");
NMASLoginDataMgr ldm = new NMASLoginDataMgr(new LoginDataJLdapTransport(ld));
ldm.putLoginConfig("",objectDN, methodID, tagName, dataStr.getBytes());
System.out.println("putLoginConfig() succeeded: ");
byte [] returnData = ldm.getLoginConfig("",objectDN, methodID, tagName);
if(returnData != null)
{
System.out.println("getLoginConfig() returned: " + new String(returnData));
}
ldm.deleteLoginConfig("",objectDN, methodID, tagName);
System.out.println("deleteLoginConfig() succeeded: ");
returnData = ldm.getLoginConfig("",objectDN, methodID, tagName);
if(returnData != null)
{
System.out.println("getLoginConfig() returned: " + new String(returnData));
}
ldm.putLoginSecret("",objectDN, methodID, tagName, dataStr.getBytes());
System.out.println("putLoginSecret() succeeded: ");
ldm.deleteLoginSecret("",objectDN, methodID, tagName);
System.out.println("deleteLoginSecret() succeeded: ");
if ( ld.isConnected() )
{
ld.disconnect();
}
}
catch( LDAPException e )
{
System.out.println( "Error: " + e.toString() );
}
catch( NMASLoginDataException lde )
{
System.out.println( "Error: " + lde.toString() );
}
}
}