org.jboss.dna.connector.federation
Class FederatingRequestProcessor

java.lang.Object
  extended by org.jboss.dna.graph.request.processor.RequestProcessor
      extended by org.jboss.dna.connector.federation.FederatingRequestProcessor

@NotThreadSafe
public class FederatingRequestProcessor
extends RequestProcessor

Author:
Randall Hauch

Constructor Summary
FederatingRequestProcessor(ExecutionContext context, String sourceName, Map<String,FederatedWorkspace> workspaces, FederatedWorkspace defaultWorkspace, RepositoryConnectionFactory connectionFactory)
          Create a command executor that federates (merges) the information from multiple sources described by the source projections for the particular workspace specified by the request(s).
 
Method Summary
 void close()
          Close this processor, allowing it to clean up any open resources.
 void process(CloneWorkspaceRequest request)
          Process a request to clone an existing workspace as a new workspace.
 void process(CopyBranchRequest request)
          Process a request to copy a branch into another location.
 void process(CreateNodeRequest request)
          Process a request to create a node at a specified location.
 void process(CreateWorkspaceRequest request)
          Process a request to create a new workspace.
 void process(DeleteBranchRequest request)
          Process a request to delete a branch at a specified location.
 void process(DestroyWorkspaceRequest request)
          Process a request to permanently destroy a workspace.
 void process(GetWorkspacesRequest request)
          Process a request to get the information about the available workspaces.
 void process(MoveBranchRequest request)
          Process a request to move a branch at a specified location into a different location.
 void process(ReadAllChildrenRequest request)
          Process a request to read all of the children of a node.
 void process(ReadAllPropertiesRequest request)
          Process a request to read the properties of a node at the supplied location.
 void process(ReadNodeRequest request)
          Process a request to read the properties and children of a node at the supplied location.
 void process(UpdatePropertiesRequest request)
          Process a request to remove the specified properties from a node.
 void process(VerifyWorkspaceRequest request)
          Process a request to verify a named workspace.
 
Methods inherited from class org.jboss.dna.graph.request.processor.RequestProcessor
getExecutionContext, getSourceName, process, process, process, process, process, process, process, process, process, process, process
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

FederatingRequestProcessor

public FederatingRequestProcessor(ExecutionContext context,
                                  String sourceName,
                                  Map<String,FederatedWorkspace> workspaces,
                                  FederatedWorkspace defaultWorkspace,
                                  RepositoryConnectionFactory connectionFactory)
Create a command executor that federates (merges) the information from multiple sources described by the source projections for the particular workspace specified by the request(s). The request processor will use the cache projection of each workspace to identify the repository source for the cache as well as the rules for how the paths are mapped in the cache. This cache will be consulted first for the requested information, and will be kept up to date as changes are made to the federated information.

Parameters:
context - the execution context in which the executor will be run; may not be null
sourceName - the name of the RepositorySource that is making use of this executor; may not be null or empty
workspaces - the configuration for each workspace, keyed by workspace name; may not be null
defaultWorkspace - the default workspace; null if there is no default
connectionFactory - the factory for RepositoryConnection instances
Method Detail

close

public void close()
Close this processor, allowing it to clean up any open resources.

Overrides:
close in class RequestProcessor
See Also:
RequestProcessor.close()

process

public void process(ReadAllChildrenRequest request)
Process a request to read all of the children of a node.

This method does nothing if the request is null.

Specified by:
process in class RequestProcessor
Parameters:
request - the read request
See Also:
RequestProcessor.process(org.jboss.dna.graph.request.ReadAllChildrenRequest)

process

public void process(ReadAllPropertiesRequest request)
Process a request to read the properties of a node at the supplied location.

This method does nothing if the request is null.

Specified by:
process in class RequestProcessor
Parameters:
request - the read request
See Also:
RequestProcessor.process(org.jboss.dna.graph.request.ReadAllPropertiesRequest)

process

public void process(ReadNodeRequest request)
Process a request to read the properties and children of a node at the supplied location.

This method does nothing if the request is null. Unless overridden, this method converts the single request into a ReadAllChildrenRequest and a ReadAllPropertiesRequest.

Overrides:
process in class RequestProcessor
Parameters:
request - the read request
See Also:
RequestProcessor.process(org.jboss.dna.graph.request.ReadNodeRequest)

process

public void process(CreateNodeRequest request)
Process a request to create a node at a specified location.

This method does nothing if the request is null.

Specified by:
process in class RequestProcessor
Parameters:
request - the create request
See Also:
RequestProcessor.process(org.jboss.dna.graph.request.CreateNodeRequest)

process

public void process(DeleteBranchRequest request)
Process a request to delete a branch at a specified location.

This method does nothing if the request is null.

Specified by:
process in class RequestProcessor
Parameters:
request - the delete request
See Also:
RequestProcessor.process(org.jboss.dna.graph.request.DeleteBranchRequest)

process

public void process(CopyBranchRequest request)
Process a request to copy a branch into another location.

This method does nothing if the request is null.

Specified by:
process in class RequestProcessor
Parameters:
request - the copy request
See Also:
RequestProcessor.process(org.jboss.dna.graph.request.CopyBranchRequest)

process

public void process(MoveBranchRequest request)
Process a request to move a branch at a specified location into a different location.

This method does nothing if the request is null.

Specified by:
process in class RequestProcessor
Parameters:
request - the move request
See Also:
RequestProcessor.process(org.jboss.dna.graph.request.MoveBranchRequest)

process

public void process(UpdatePropertiesRequest request)
Process a request to remove the specified properties from a node.

This method does nothing if the request is null.

Specified by:
process in class RequestProcessor
Parameters:
request - the remove request
See Also:
RequestProcessor.process(org.jboss.dna.graph.request.UpdatePropertiesRequest)

process

public void process(VerifyWorkspaceRequest request)
Process a request to verify a named workspace.

This method does nothing if the request is null.

Specified by:
process in class RequestProcessor
Parameters:
request - the request
See Also:
RequestProcessor.process(org.jboss.dna.graph.request.VerifyWorkspaceRequest)

process

public void process(GetWorkspacesRequest request)
Process a request to get the information about the available workspaces.

This method does nothing if the request is null.

Specified by:
process in class RequestProcessor
Parameters:
request - the request
See Also:
RequestProcessor.process(org.jboss.dna.graph.request.GetWorkspacesRequest)

process

public void process(CreateWorkspaceRequest request)
Process a request to create a new workspace.

This method does nothing if the request is null.

Specified by:
process in class RequestProcessor
Parameters:
request - the request
See Also:
RequestProcessor.process(org.jboss.dna.graph.request.CreateWorkspaceRequest)

process

public void process(CloneWorkspaceRequest request)
Process a request to clone an existing workspace as a new workspace.

This method does nothing if the request is null.

Specified by:
process in class RequestProcessor
Parameters:
request - the request
See Also:
RequestProcessor.process(org.jboss.dna.graph.request.CloneWorkspaceRequest)

process

public void process(DestroyWorkspaceRequest request)
Process a request to permanently destroy a workspace.

This method does nothing if the request is null.

Specified by:
process in class RequestProcessor
Parameters:
request - the request
See Also:
RequestProcessor.process(org.jboss.dna.graph.request.DestroyWorkspaceRequest)


Copyright © 2008-Present JBoss a division of Red Hat. All Rights Reserved.