Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Processing Considerations for Other Operations

Bind

...

Operations

We won't have to implement every operations in the interceptor : some of them are not necessary, like operations which do not modify the entries. For instance, bind() operation is not implemented.

Here is the list of operations defined in the interface, and the list of operations we implement in ReferralService (the missing methods are already implemented in the intermediate abstract class) :

Section
Column
size25%

Interface

SchemaService

add

(tick)

addContextPartition

(tick)

bind

(error)

compare

(tick)

delete

(tick)

destroy

(error)

Column
size25%

Interface

SchemaService

getMatchedName

(error)

getRootDSE

(error)

getSuffix

(error)

hasEntry

(error)

init

(tick)

Column
size25%

Interface

SchemaService

isSuffix

(error)

list

(error)

listSuffixes

(error)

lookup

(error)

modify

(tick)

Column
size25%

Interface

SchemaService

modifyRn

(tick)

move

(tick)

removeContextPartition

(tick)

search

(tick)

unbind

(error)

Add

AddContextPartition

Compare

Delete

Init 

Modify 

Modify DN

No Format
titleRFC 3296 Section 5.6.2
If the newSuperior is a referral object or is subordinate to a
    referral object, the server SHOULD return affectsMultipleDSAs.  If
    the newRDN already exists but is a referral object, the server SHOULD
    return affectsMultipleDSAs instead of entryAlreadyExists.

Move

RemoveContextPartition

Conclusions

We will need to alter the ApacheDS JNDI provider, and the LDAP server frontend (MINA LDAP protocol provider) to handle referrals correctly. Here are the changes required for each subsystem.

...