Class SVNReplicationEditor
- java.lang.Object
-
- org.tmatesoft.svn.core.replicator.SVNReplicationEditor
-
- All Implemented Interfaces:
ISVNDeltaConsumer
,ISVNEditor
public class SVNReplicationEditor extends java.lang.Object implements ISVNEditor
The SVNReplicationEditor is an editor implementation used by a repository replicator as a bridge between an update editor for the source repository and a commit editor of the target one. This editor is provided to an update method of a source SVNRepository driver to properly translate the calls of that driver to calls to a commit editor of the destination SVNRepository driver.- Since:
- 1.2
- Version:
- 1.3
- Author:
- TMate Software Ltd.
- See Also:
SVNRepository
-
-
Constructor Summary
Constructors Constructor Description SVNReplicationEditor(SVNRepository repository, ISVNEditor commitEditor, SVNLogEntry revision)
Creates a new replication editor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
abortEdit()
Aborts the transaction.void
absentDir(java.lang.String path)
Does nothing.void
absentFile(java.lang.String path)
Does nothing.void
addDir(java.lang.String path, java.lang.String copyFromPath, long copyFromRevision)
Adds a new directory under the specifiedpath
to the target repository.void
addFile(java.lang.String path, java.lang.String copyFromPath, long copyFromRevision)
Adds a new file.void
applyTextDelta(java.lang.String path, java.lang.String baseChecksum)
Starts applying text delta.void
changeDirProperty(java.lang.String name, SVNPropertyValue value)
Changes a property of the current directory.void
changeFileProperty(java.lang.String path, java.lang.String name, SVNPropertyValue value)
Changes file property.void
closeDir()
Closes the current opened dir.SVNCommitInfo
closeEdit()
Commits the transaction.void
closeFile(java.lang.String path, java.lang.String textChecksum)
Closes the current opened file.void
deleteEntry(java.lang.String path, long revision)
Removespath
from the paths to be committed.SVNCommitInfo
getCommitInfo()
Returns commit information on the revision committed to the replication destination repository.void
openDir(java.lang.String path, long revision)
Opens a correspondingpath
in the target repository.void
openFile(java.lang.String path, long revision)
Opens a file.void
openRoot(long revision)
Starts a next replication transaction.void
targetRevision(long revision)
Saves the targetrevision
.java.io.OutputStream
textDeltaChunk(java.lang.String path, SVNDiffWindow diffWindow)
Applies a next chunk of delta.void
textDeltaEnd(java.lang.String path)
Handles text delta end.
-
-
-
Constructor Detail
-
SVNReplicationEditor
public SVNReplicationEditor(SVNRepository repository, ISVNEditor commitEditor, SVNLogEntry revision)
Creates a new replication editor.repository
must be created for the root location of the source repository which is to be replicated.- Parameters:
repository
- a source repositorycommitEditor
- a commit editor received from the destination repository driver (which also must be point to the root location of the destination repository)revision
- log information of the revision to be copied
-
-
Method Detail
-
targetRevision
public void targetRevision(long revision) throws SVNException
Saves the targetrevision
.- Specified by:
targetRevision
in interfaceISVNEditor
- Parameters:
revision
- revision- Throws:
SVNException
-
openRoot
public void openRoot(long revision) throws SVNException
Starts a next replication transaction.- Specified by:
openRoot
in interfaceISVNEditor
- Parameters:
revision
- target revision- Throws:
SVNException
-
deleteEntry
public void deleteEntry(java.lang.String path, long revision) throws SVNException
Removespath
from the paths to be committed.- Specified by:
deleteEntry
in interfaceISVNEditor
- Parameters:
path
-revision
-- Throws:
SVNException
- exception withSVNErrorCode.UNKNOWN
error code - if somehow chanded paths fetched from the log of the resource repository did not reflectpath
deletion inrevision
-
absentDir
public void absentDir(java.lang.String path) throws SVNException
Does nothing.- Specified by:
absentDir
in interfaceISVNEditor
- Parameters:
path
-- Throws:
SVNException
-
absentFile
public void absentFile(java.lang.String path) throws SVNException
Does nothing.- Specified by:
absentFile
in interfaceISVNEditor
- Parameters:
path
-- Throws:
SVNException
-
addDir
public void addDir(java.lang.String path, java.lang.String copyFromPath, long copyFromRevision) throws SVNException
Adds a new directory under the specifiedpath
to the target repository.- Specified by:
addDir
in interfaceISVNEditor
- Parameters:
path
- target directory pathcopyFromPath
- not usedcopyFromRevision
- not used- Throws:
SVNException
- exception withSVNErrorCode.UNKNOWN
error code - if somehow chanded paths fetched from the log of the resource repository did not reflectpath
addition
-
openDir
public void openDir(java.lang.String path, long revision) throws SVNException
Opens a correspondingpath
in the target repository.- Specified by:
openDir
in interfaceISVNEditor
- Parameters:
path
- target directory path relative to the root of the editrevision
- target directory revision- Throws:
SVNException
-
changeDirProperty
public void changeDirProperty(java.lang.String name, SVNPropertyValue value) throws SVNException
Changes a property of the current directory.- Specified by:
changeDirProperty
in interfaceISVNEditor
- Parameters:
name
-value
-- Throws:
SVNException
- See Also:
ISVNEditor.openDir(String, long)
-
closeDir
public void closeDir() throws SVNException
Closes the current opened dir.- Specified by:
closeDir
in interfaceISVNEditor
- Throws:
SVNException
-
addFile
public void addFile(java.lang.String path, java.lang.String copyFromPath, long copyFromRevision) throws SVNException
Adds a new file.- Specified by:
addFile
in interfaceISVNEditor
- Parameters:
path
-copyFromPath
-copyFromRevision
-- Throws:
SVNException
-
openFile
public void openFile(java.lang.String path, long revision) throws SVNException
Opens a file.- Specified by:
openFile
in interfaceISVNEditor
- Parameters:
path
-revision
-- Throws:
SVNException
-
applyTextDelta
public void applyTextDelta(java.lang.String path, java.lang.String baseChecksum) throws SVNException
Starts applying text delta.- Specified by:
applyTextDelta
in interfaceISVNDeltaConsumer
- Parameters:
path
-baseChecksum
-- Throws:
SVNException
-
textDeltaChunk
public java.io.OutputStream textDeltaChunk(java.lang.String path, SVNDiffWindow diffWindow) throws SVNException
Applies a next chunk of delta.- Specified by:
textDeltaChunk
in interfaceISVNDeltaConsumer
- Parameters:
path
-diffWindow
-- Returns:
- dummy output stream
- Throws:
SVNException
-
textDeltaEnd
public void textDeltaEnd(java.lang.String path) throws SVNException
Handles text delta end.- Specified by:
textDeltaEnd
in interfaceISVNDeltaConsumer
- Parameters:
path
-- Throws:
SVNException
-
changeFileProperty
public void changeFileProperty(java.lang.String path, java.lang.String name, SVNPropertyValue value) throws SVNException
Changes file property.- Specified by:
changeFileProperty
in interfaceISVNEditor
- Parameters:
path
-name
-value
-- Throws:
SVNException
-
closeFile
public void closeFile(java.lang.String path, java.lang.String textChecksum) throws SVNException
Closes the current opened file.- Specified by:
closeFile
in interfaceISVNEditor
- Parameters:
path
-textChecksum
-- Throws:
SVNException
-
closeEdit
public SVNCommitInfo closeEdit() throws SVNException
Commits the transaction.- Specified by:
closeEdit
in interfaceISVNEditor
- Returns:
- commit info
- Throws:
SVNException
-
abortEdit
public void abortEdit() throws SVNException
Aborts the transaction.- Specified by:
abortEdit
in interfaceISVNEditor
- Throws:
SVNException
-
getCommitInfo
public SVNCommitInfo getCommitInfo()
Returns commit information on the revision committed to the replication destination repository.- Returns:
- commit info (revision, author, date)
-
-