org.jboss.system.server.profileservice.repository.clustered.local.file
Class InitiateRmdirAction

java.lang.Object
  extended by org.jboss.system.server.profileservice.repository.clustered.sync.AbstractSynchronizationAction<T>
      extended by org.jboss.system.server.profileservice.repository.clustered.sync.AbstractContentMetadataMutatorAction<FileBasedSynchronizationActionContext>
          extended by org.jboss.system.server.profileservice.repository.clustered.local.file.AbstractLocalContentChangeAction
              extended by org.jboss.system.server.profileservice.repository.clustered.local.file.InitiateRmdirAction
All Implemented Interfaces:
SynchronizationAction<FileBasedSynchronizationActionContext>, SynchronizationInitiationAction<FileBasedSynchronizationActionContext>, TwoPhaseCommitAction<FileBasedSynchronizationActionContext>

public class InitiateRmdirAction
extends AbstractLocalContentChangeAction
implements SynchronizationInitiationAction<FileBasedSynchronizationActionContext>

SynchronizationAction that does nothing normally, but restores a removed directory during the rollback phase.

The intent is this action would execute at the start of a processing of removing a directory tree, followed by other actions to remove the contents of the tree, followed by a RemoveFileAction to remove the directory. This action does nothing during that sequence. But, during a rollback of the overall synchronization, it restores the removed directory, ensuring the directory is in place when the child removals roll back.

Version:
$Revision: $
Author:
Brian Stansberry

Nested Class Summary
 
Nested classes/interfaces inherited from class org.jboss.system.server.profileservice.repository.clustered.sync.AbstractSynchronizationAction
AbstractSynchronizationAction.State
 
Constructor Summary
InitiateRmdirAction(File targetFile, FileBasedSynchronizationActionContext context, ContentModification modification)
          Create a new PrepareRmdirAction.
 
Method Summary
protected  org.jboss.logging.Logger getLogger()
           
protected  boolean modifyTarget()
           
 
Methods inherited from class org.jboss.system.server.profileservice.repository.clustered.local.file.AbstractLocalContentChangeAction
createTempFile, doCancel, doCommit, doComplete, doPrepare, doRollbackFromCancelled, doRollbackFromComplete, doRollbackFromOpen, doRollbackFromPrepared, doRollbackFromRollbackOnly, getTargetFile, safeCleanup, safeCleanup
 
Methods inherited from class org.jboss.system.server.profileservice.repository.clustered.sync.AbstractContentMetadataMutatorAction
rollbackContentMetadata, updateContentMetadata
 
Methods inherited from class org.jboss.system.server.profileservice.repository.clustered.sync.AbstractSynchronizationAction
cancel, commit, complete, getContext, getMarkedRemovedItem, getRepositoryContentModification, getState, isCancelled, isComplete, prepare, rollback
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.jboss.system.server.profileservice.repository.clustered.sync.SynchronizationAction
cancel, complete, getContext, getRepositoryContentModification, isCancelled, isComplete
 

Constructor Detail

InitiateRmdirAction

public InitiateRmdirAction(File targetFile,
                           FileBasedSynchronizationActionContext context,
                           ContentModification modification)
Create a new PrepareRmdirAction.

Method Detail

modifyTarget

protected boolean modifyTarget()
                        throws IOException
Specified by:
modifyTarget in class AbstractLocalContentChangeAction
Throws:
IOException

getLogger

protected org.jboss.logging.Logger getLogger()
Specified by:
getLogger in class AbstractLocalContentChangeAction


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