1689N/A * The contents of this file are subject to the terms of the 1689N/A * Common Development and Distribution License, Version 1.0 only 1689N/A * (the "License"). You may not use this file except in compliance 1689N/A * See the License for the specific language governing permissions 1689N/A * and limitations under the License. 1689N/A * When distributing Covered Code, include this CDDL HEADER in each 6983N/A * If applicable, add the following below this CDDL HEADER, with the 6983N/A * fields enclosed by brackets "[]" replaced with your own identifying 1689N/A * Portions Copyright [yyyy] [name of copyright owner] 5107N/A * Copyright 2008-2010 Sun Microsystems, Inc. 1689N/A * This class implements the workflow node that handles the root DSE entry. 1689N/A * As opposed to the WorkflowTopologyNode class, the root DSE node has no 1689N/A * parent node nor subordinate nodes. Instead, the root DSE node has a set 1689N/A * of naming contexts, each of which is a WorkflowTopologyNode object with 1689N/A // The naming contexts known by the root DSE. These naming contexts 1689N/A // are defined in the scope of a network group. 1689N/A * Creates a workflow node to handle the root DSE entry. 1689N/A * @param workflowImpl the workflow which contains the processing for 1689N/A * @param namingContexts the list of naming contexts being registered 1689N/A * with the network group the root DSE belongs to 1689N/A * Executes an operation on the root DSE entry. 1689N/A * @param operation the operation to execute 3352N/A * @throws CanceledOperationException if this operation should 1689N/A // Execute the SEARCH operation 1689N/A * Executes a search operation on the the root DSE entry. 1689N/A * @param searchOp the operation to execute 3352N/A * @throws CanceledOperationException if this operation should 1689N/A // Keep a the original search scope because we will alter it in the 1689N/A // The root DSE entry itself is never returned unless the operation 1689N/A // is a search base on the null suffix. 1689N/A // Create a workflow result code in case we need to perform search in 1689N/A // The search scope is not 'base', so let's do a search on all the public 1689N/A // naming contexts with appropriate new search scope and new base DN. 1689N/A // We have to change the operation request base DN to match the 1689N/A // subordinate workflow base DN. Otherwise the workflow will 1689N/A // return a no such entry result code as the operation request 1689N/A // base DN is a superior of the workflow base DN! 1689N/A // Set the new request base DN then do execute the operation 1689N/A // in the naming context workflow. 1689N/A // TODO jdemendi - turn a referral result code into a reference entry 1689N/A // and send the reference entry to the client application 1689N/A // Now restore the original request base DN and original search scope 4172N/A // If the result code is still uninitialized (ie no naming context), 4172N/A // we should return NO_SUCH_OBJECT 1689N/A // Set the operation result code and error message 1689N/A * Dumps info from the current workflow for debug purpose. 1689N/A * @param leftMargin white spaces used to indent the traces 1689N/A * @return a string buffer that contains trace information 2800N/A // display the identifier and baseDN