OPENDJ-1545 (CR-5399) Remove Workflow, NetworkGroups and related attempts at building a proxy
Got rid of WorkflowTopology which is a parallel hierarchy of the BaseDnRegistry and the Backends which is an anti pattern (See Parallel Inheritance Hierarchy anti pattern, even though here it is more composition than inheritance at play).
Got rid of most of the Workflow and NetworkGroup classes my moving the important code to LocalBackendWorkflowElement.
Only remain bits and pieces of the old workflow design. We will need to see what we do with them (WorkflowResultCode, LocalBackendWorkflowElement naming?).
org/opends/server/core/networkgroups: REMOVED package
NetworkGroup.java, NetworkGroupNamingContexts.java, Workflow.java, WorkflowTopology.java, RootDseWorkflowTopology.java, WorkflowTopologyNode.java, WorkflowTopologyTest.java: REMOVED unused now
LocalBackendWorkflowElement.java:
Changed initialize(String, Backend<?>), createAndRegister(String, Backend), remove(String) and deregisterLocalBackend(String) to accept a DN argument instead of String.
Changed getWorkflowElementID() into getBaseDN().
Moved RootDseWorkflowTopology.execute() and WorkflowTopologyNode.execute() into this class as executeOnRootDSE() and executeOnNonRootDSE() + dependent methods. WorkflowTopology.execute() has been inlined into the moved code.
Removed useless fields workflowElementTypeInfo and BACKEND_WORKFLOW_ELEMENT.
AbstractOperation.java:
Added public updateOperationErrMsgAndResCode().
*OperationBasis.java:
Used LocalBackendWorkflowElement.execute(Operation, DN).
Made updateOperationErrMsgAndResCode() public.
Fixed javadocs.
WorkflowResultCode.java:
Made several methods public to use them in LocalBackendWorkflowElement.
NetworkGroupTest.java:
Renamed to org.opends.server.workflowelement.localbackend.LocalBackendWorkflowElementTest.
Added testNonRootDseSubordinateNamingContext().
Removed several tests that do not make sense anymore after removing the NetworkGroup class.
RootDSEBackend.java:
In getRootDSE(), get the public naming context from the DirectoryServer rather than the NetworkGroup.
Removed getSubordinateNamingContexts().
Made getSubordinateBaseDNs() public.
DirectoryServer.java:
In createWorkflow(), create and register the LocalBackendWorkflowElement by using the baseDN instead of the backendId.
Removed references to the NetworkGroup and replaced them with references to the LocalBackendWorkflowElement where it made sense.