org.jboss.system.server.profileservice.repository.clustered.sync
Class RemoteContentModificationGenerator

java.lang.Object
  extended by org.jboss.system.server.profileservice.repository.clustered.sync.AbstractContentModificationGenerator
      extended by org.jboss.system.server.profileservice.repository.clustered.sync.RemoteContentModificationGenerator

public class RemoteContentModificationGenerator
extends AbstractContentModificationGenerator

Generates ContentModification objects from a comparison of a current snapshot of a remote node's repository content to the official snapshot available on this node. Intended for use when a new node joins the cluster or a split of the cluster heals.

Version:
$Revision: $
Author:
Brian Stansberry

Nested Class Summary
 
Nested classes/interfaces inherited from class org.jboss.system.server.profileservice.repository.clustered.sync.AbstractContentModificationGenerator
AbstractContentModificationGenerator.GeneratedModifications
 
Constructor Summary
RemoteContentModificationGenerator(SynchronizationPolicy policy)
          Create a new RemoteRepositoryContentModificationGenerator to handle a cluster merge.
RemoteContentModificationGenerator(SynchronizationPolicy policy, RepositoryContentMetadata baseRemoteContent)
          Create a new RemoteRepositoryContentModificationGenerator to handle a cluster node join.
 
Method Summary
protected  void handleAddition(String rootName, RepositoryItemMetadata item, AbstractContentModificationGenerator.GeneratedModifications mods)
           
protected  void handleAddition(String rootName, RepositoryItemMetadata item, RepositoryItemMetadata removedVersion, AbstractContentModificationGenerator.GeneratedModifications mods)
           
protected  void handleChangeFromDirectory(String rootName, RepositoryItemMetadata base, RepositoryItemMetadata modified, AbstractContentModificationGenerator.GeneratedModifications mods)
           
protected  void handleChangeToDirectory(String rootName, RepositoryItemMetadata base, RepositoryItemMetadata modified, AbstractContentModificationGenerator.GeneratedModifications mods)
           
protected  void handleDirectoryTimestampModification(String rootName, RepositoryItemMetadata base, RepositoryItemMetadata modified, AbstractContentModificationGenerator.GeneratedModifications mods)
           
protected  void handleMissing(String rootName, RepositoryItemMetadata item, AbstractContentModificationGenerator.GeneratedModifications mods)
           
protected  void handleRemoval(String rootName, RepositoryItemMetadata item, AbstractContentModificationGenerator.GeneratedModifications mods)
           
protected  void handleSimpleModification(String rootName, RepositoryItemMetadata base, RepositoryItemMetadata modified, AbstractContentModificationGenerator.GeneratedModifications mods)
           
 
Methods inherited from class org.jboss.system.server.profileservice.repository.clustered.sync.AbstractContentModificationGenerator
drainPreapprovedRemovals, getMarkedRemovedItem, getModificationList, handleMatch
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

RemoteContentModificationGenerator

public RemoteContentModificationGenerator(SynchronizationPolicy policy)
Create a new RemoteRepositoryContentModificationGenerator to handle a cluster merge.

Parameters:
policy - policy that decides whether to accept or reject changes from the remote repository

RemoteContentModificationGenerator

public RemoteContentModificationGenerator(SynchronizationPolicy policy,
                                          RepositoryContentMetadata baseRemoteContent)
Create a new RemoteRepositoryContentModificationGenerator to handle a cluster node join.

Parameters:
policy - policy that decides whether to accept or reject changes from the remote repository
baseRemoteContent - remote node's view of its content as of the last time it was part of the cluster, or null if the node was never part of the cluster.
Method Detail

handleAddition

protected void handleAddition(String rootName,
                              RepositoryItemMetadata item,
                              AbstractContentModificationGenerator.GeneratedModifications mods)
Specified by:
handleAddition in class AbstractContentModificationGenerator

handleMissing

protected void handleMissing(String rootName,
                             RepositoryItemMetadata item,
                             AbstractContentModificationGenerator.GeneratedModifications mods)
Specified by:
handleMissing in class AbstractContentModificationGenerator

handleAddition

protected void handleAddition(String rootName,
                              RepositoryItemMetadata item,
                              RepositoryItemMetadata removedVersion,
                              AbstractContentModificationGenerator.GeneratedModifications mods)
Specified by:
handleAddition in class AbstractContentModificationGenerator

handleChangeFromDirectory

protected void handleChangeFromDirectory(String rootName,
                                         RepositoryItemMetadata base,
                                         RepositoryItemMetadata modified,
                                         AbstractContentModificationGenerator.GeneratedModifications mods)
Specified by:
handleChangeFromDirectory in class AbstractContentModificationGenerator

handleChangeToDirectory

protected void handleChangeToDirectory(String rootName,
                                       RepositoryItemMetadata base,
                                       RepositoryItemMetadata modified,
                                       AbstractContentModificationGenerator.GeneratedModifications mods)
Specified by:
handleChangeToDirectory in class AbstractContentModificationGenerator

handleRemoval

protected void handleRemoval(String rootName,
                             RepositoryItemMetadata item,
                             AbstractContentModificationGenerator.GeneratedModifications mods)
Specified by:
handleRemoval in class AbstractContentModificationGenerator

handleSimpleModification

protected void handleSimpleModification(String rootName,
                                        RepositoryItemMetadata base,
                                        RepositoryItemMetadata modified,
                                        AbstractContentModificationGenerator.GeneratedModifications mods)
Specified by:
handleSimpleModification in class AbstractContentModificationGenerator

handleDirectoryTimestampModification

protected void handleDirectoryTimestampModification(String rootName,
                                                    RepositoryItemMetadata base,
                                                    RepositoryItemMetadata modified,
                                                    AbstractContentModificationGenerator.GeneratedModifications mods)
Specified by:
handleDirectoryTimestampModification in class AbstractContentModificationGenerator


Copyright © 2009 JBoss, a division of Red Hat, Inc.. All Rights Reserved.