7c2458ffb7a80670d5efe7f9ca7acdcb8b4a66b7 2893 |
|
01-Sep-2007 |
matthew_swift |
Fix issue 1734: Admin framework: refactor client APIs
This change refactors the client APIs so that it is now possible to easily implement features that require direct access to properties and managed objects (e.g. dependency/constraint enforcement call-backs - issue 1451). Previous to this change an application would have to drill down from the root managed object in order to find the required managed object and its properties.
This change is required by issue 1451 (dependency support), which in turn is required by issue 1449 (aggregation support).
Description:
------------
This change splits the client API into two:
* org.opends.server.admin.client: this contains APIs which client applications such as dsconfig should use to interact with the admin framework
* org.opends.server.admin.client.spi: (new package) this contains the APIs which driver implementations (e.g. JNDI driver) should use as a basis for their implementation. This package includes a Driver class which is intended for use by ManagedObject implementations as well as dependency call-backs.
In addition, I have refactored the LDAPManagedObject implementation so that code that is likely to be used by other driver implementations is pushed up into an AbstractManagedObject and the Driver base class.
Testing:
--------
All unit tests pass and basic walk-through of dsconfig interactive mode also works fine. |