com.sun.jndi.ldap.ext
Class BulkImportFinishedRequest

java.lang.Object
  extended by com.sun.jndi.ldap.ext.BulkImportFinishedRequest
All Implemented Interfaces:
java.io.Serializable, javax.naming.ldap.ExtendedRequest

public class BulkImportFinishedRequest
extends java.lang.Object
implements javax.naming.ldap.ExtendedRequest

This class implements the LDAPv3 Extended Request for BulkImportFinished. The BulkImportFinishedRequest mark the end of bulk import operation.

The bulk import extended operations allow importing entries remotely with a series of LDAP add operations. When a BulkImportStartRequest is sent the import must end by sending the BulkImportFinishedRequest before the normal LDAP operations can resume. Only LDAP add operations are legal between BulkImportStart and BulkImportFinished operations.

Note that to add entries using JNDI, use the context methods Context.createSubcontext or Context.bind.

WARNING: Users have to be extremely careful when using bulk import operations. Once a bulk import has begun, the previous contents under the naming context tree are erased. When a bulk import is started, if the connection is aborted before the bulk import finished is sent, no entries are imported and the previous contents under the naming context tree are wiped out of the directory.

The object identifier for BulkImportFinished is 2.16.840.1.113730.3.5.8 and there is no extended request value.

The following code sample shows how the extended operation may be used:

     // create an initial context using the supplied environment properties
     LdapContext ctx = new InitialLdapContext(env, null);

     // The naming context to import to
     String namingContext;

     // Bulk import starts
     ctx.extendedOperation(new BulkImportStartRequest(
                                       namingContext));
     System.out.println("Bulk import operation begins");

     // Add entries
     ctx.createSubcontext(entryName, entryAttrs);
           :
           :
     // Bulk import done
     ctx.extendedOperation(new BulkImportFinishedRequest());
     System.out.println("Bulk import operation finished");
 

Author:
Jayalaxmi Hangal
See Also:
BulkImportStartRequest, Serialized Form

Field Summary
static java.lang.String OID
          The BulkImportFinished extended request's assigned object identifier is 2.16.840.1.113730.3.5.8
private static long serialVersionUID
           
 
Constructor Summary
BulkImportFinishedRequest()
          Constructs a BulkImportFinished extended request.
 
Method Summary
 javax.naming.ldap.ExtendedResponse createExtendedResponse(java.lang.String id, byte[] berValue, int offset, int length)
          Creates an extended response object that corresponds to the LDAP BulkImportFinished extended request.
 byte[] getEncodedValue()
          Retrieves the BulkImportFinished request's ASN.1 BER encoded value.
 java.lang.String getID()
          Retrieves the BulkImportFinished request's object identifier string.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

OID

public static final java.lang.String OID
The BulkImportFinished extended request's assigned object identifier is 2.16.840.1.113730.3.5.8

See Also:
Constant Field Values

serialVersionUID

private static final long serialVersionUID
See Also:
Constant Field Values
Constructor Detail

BulkImportFinishedRequest

public BulkImportFinishedRequest()
Constructs a BulkImportFinished extended request.

Method Detail

getID

public java.lang.String getID()
Retrieves the BulkImportFinished request's object identifier string.

Specified by:
getID in interface javax.naming.ldap.ExtendedRequest
Returns:
The non-null object identifier string.

getEncodedValue

public byte[] getEncodedValue()
Retrieves the BulkImportFinished request's ASN.1 BER encoded value. Since the request has no defined value, null is always returned.

Specified by:
getEncodedValue in interface javax.naming.ldap.ExtendedRequest
Returns:
The null value.

createExtendedResponse

public javax.naming.ldap.ExtendedResponse createExtendedResponse(java.lang.String id,
                                                                 byte[] berValue,
                                                                 int offset,
                                                                 int length)
                                                          throws javax.naming.NamingException
Creates an extended response object that corresponds to the LDAP BulkImportFinished extended request.

Specified by:
createExtendedResponse in interface javax.naming.ldap.ExtendedRequest
Throws:
javax.naming.NamingException