Package org.tmatesoft.svn.core.wc2
Class SvnCommitPacket
- java.lang.Object
-
- org.tmatesoft.svn.core.wc2.SvnCommitPacket
-
public class SvnCommitPacket extends java.lang.ObjectRepresents storage forSvnCommitItemobjects which represent information on versioned items intended for being committed to a repository.Used by commit-related operations to collect and hold information on paths that are to be committed. Each
SvnCommitPacketis committed in a single transaction.- See Also:
SvnCommitItem
-
-
Field Summary
Fields Modifier and Type Field Description private java.util.Map<SVNURL,java.util.Collection<SvnCommitItem>>itemsprivate java.util.Map<java.lang.String,SvnCommitItem>itemsByPathprivate java.lang.ObjectlockingContextprivate java.util.Map<SVNURL,java.lang.String>lockTokensprivate ISvnCommitRunnerrunnerprivate java.util.concurrent.atomic.AtomicIntegersharedIndexprivate java.util.Set<java.lang.String>skippedPaths
-
Constructor Summary
Constructors Modifier Constructor Description SvnCommitPacket()Creates a commit packet and initializes its fields with empty lists.privateSvnCommitPacket(java.util.Map<SVNURL,java.util.Collection<SvnCommitItem>> items, java.util.Map<java.lang.String,SvnCommitItem> itemsByPath, java.lang.Object lockingContext, java.util.Map<SVNURL,java.lang.String> lockTokens, ISvnCommitRunner runner, java.util.Set<java.lang.String> skippedPaths)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description SvnCommitItemaddItem(java.io.File path, SVNNodeKind kind, SVNURL repositoryRoot, java.lang.String repositoryPath, long revision, java.lang.String copyFromPath, long copyFromRevision, java.io.File movedFromAbsPath, int flags)Adds commit item with the path, kind, repository root URL, repository path, revision number, copied from path, copied from revision number, flags to the commit packet.SvnCommitItemaddItem(java.io.File path, SVNURL rootUrl, SVNNodeKind kind, SVNURL url, long revision, SVNURL copyFromUrl, long copyFromRevision, int flags)Adds commit item with the path, repository root URL, kind, URL, revision number, revision number, copied from path, copied from revision number, flags to the commit packet.voidaddItem(SvnCommitItem item, SVNURL repositoryRoot)Adds commit item to the commit packet with the repository root URL.voiddispose()Disposes the commit packet, if commit runner is set method callsISvnCommitRunner#disposeCommitPacket(Object)with the commit packetSvnCommitItemgetItem(java.io.File path)Returns the commit item with the pathprivate java.lang.StringgetItemKey(SvnCommitItem item, SVNURL rootURL, boolean combinePackets)java.util.Collection<SvnCommitItem>getItems(SVNURL url)Returns all commit items in the commit packet with the corresponding repository root URLjava.lang.ObjectgetLockingContext()Returns commit packet's locking context.java.util.Map<SVNURL,java.lang.String>getLockTokens()Returns all lock tokens of commit packet.java.util.Collection<SVNURL>getRepositoryRoots()Returns all unique repository root URLs of all commit items in the commit packetISvnCommitRunnergetRunner()Returns commit packet's runner.booleanhasItem(java.io.File path)Tests if the commit packet contains the commit item with the pathbooleanisEmpty()Tests whether the commit packet has commit items.booleanisEmpty(SVNURL repositoryRootUrl)Tests whether the commit packet has commit items with the repository root URL.booleanisItemSkipped(java.io.File file)booleanisLastPacket()SvnCommitPacketremoveSkippedItems()voidsetItemSkipped(java.io.File file, boolean skipped)voidsetLockingContext(ISvnCommitRunner commitRunner, java.lang.Object context)voidsetLockTokens(java.util.Map<SVNURL,java.lang.String> lockTokens)Sets commit packet's lock tokens, containing the information about locks within commit packet URLs.(package private) SvnCommitPacket[]split(boolean combinePackets)
-
-
-
Field Detail
-
items
private java.util.Map<SVNURL,java.util.Collection<SvnCommitItem>> items
-
itemsByPath
private java.util.Map<java.lang.String,SvnCommitItem> itemsByPath
-
lockingContext
private java.lang.Object lockingContext
-
runner
private ISvnCommitRunner runner
-
lockTokens
private java.util.Map<SVNURL,java.lang.String> lockTokens
-
skippedPaths
private java.util.Set<java.lang.String> skippedPaths
-
sharedIndex
private java.util.concurrent.atomic.AtomicInteger sharedIndex
-
-
Constructor Detail
-
SvnCommitPacket
public SvnCommitPacket()
Creates a commit packet and initializes its fields with empty lists.
-
SvnCommitPacket
private SvnCommitPacket(java.util.Map<SVNURL,java.util.Collection<SvnCommitItem>> items, java.util.Map<java.lang.String,SvnCommitItem> itemsByPath, java.lang.Object lockingContext, java.util.Map<SVNURL,java.lang.String> lockTokens, ISvnCommitRunner runner, java.util.Set<java.lang.String> skippedPaths)
-
-
Method Detail
-
hasItem
public boolean hasItem(java.io.File path)
Tests if the commit packet contains the commit item with the path- Parameters:
path- the path of the commit item to test- Returns:
trueif commit item with the path is contained in the commit packet, otherwisefalse
-
getItem
public SvnCommitItem getItem(java.io.File path)
Returns the commit item with the path- Parameters:
path- the path of the commit item- Returns:
- commit item
-
getRepositoryRoots
public java.util.Collection<SVNURL> getRepositoryRoots()
Returns all unique repository root URLs of all commit items in the commit packet- Returns:
- unmodifiable list of URLs of the commit packet
-
getItems
public java.util.Collection<SvnCommitItem> getItems(SVNURL url)
Returns all commit items in the commit packet with the corresponding repository root URL- Returns:
- unmodifiable list of commit items containing info of versioned items to be committed
-
addItem
public void addItem(SvnCommitItem item, SVNURL repositoryRoot)
Adds commit item to the commit packet with the repository root URL.- Parameters:
item- commit itemrepositoryRoot- repository root URL
-
addItem
public SvnCommitItem addItem(java.io.File path, SVNNodeKind kind, SVNURL repositoryRoot, java.lang.String repositoryPath, long revision, java.lang.String copyFromPath, long copyFromRevision, java.io.File movedFromAbsPath, int flags) throws SVNException
Adds commit item with the path, kind, repository root URL, repository path, revision number, copied from path, copied from revision number, flags to the commit packet.- Parameters:
path- path of the commit itemkind- node kind of the commit itemrepositoryRoot- repository root URL of the commit itemrepositoryPath- repository path of the commit itemrevision- revision number of the commit itemcopyFromPath- path from those commit item was copiedcopyFromRevision- revision of the repository item from those commit item was copiedflags- commit item flags- Returns:
- newly created commit item with initialized fields
- Throws:
SVNException- if URL parse error occurred
-
addItem
public SvnCommitItem addItem(java.io.File path, SVNURL rootUrl, SVNNodeKind kind, SVNURL url, long revision, SVNURL copyFromUrl, long copyFromRevision, int flags) throws SVNException
Adds commit item with the path, repository root URL, kind, URL, revision number, revision number, copied from path, copied from revision number, flags to the commit packet.- Parameters:
path- path of the commit itemrootUrl- repository root URL of the commit itemkind- node kind of the commit itemurl- repository URL of the commit itemrevision- revision number of the commit itemcopyFromUrl- url from those commit item was copiedcopyFromRevision- revision of the repository item from those commit item was copiedflags- commit item flags- Returns:
- newly created commit item with initialized fields
- Throws:
SVNException- if URL parse error occurred
-
setLockingContext
public void setLockingContext(ISvnCommitRunner commitRunner, java.lang.Object context)
- Parameters:
commitRunner-context-
-
dispose
public void dispose() throws SVNExceptionDisposes the commit packet, if commit runner is set method callsISvnCommitRunner#disposeCommitPacket(Object)with the commit packet- Throws:
SVNException
-
setLockTokens
public void setLockTokens(java.util.Map<SVNURL,java.lang.String> lockTokens)
Sets commit packet's lock tokens, containing the information about locks within commit packet URLs.- Parameters:
lockTokens- hash of URL, lock tokens for this URL
-
getLockTokens
public java.util.Map<SVNURL,java.lang.String> getLockTokens()
Returns all lock tokens of commit packet.- Returns:
- hash of URL, lock tokens
-
isEmpty
public boolean isEmpty()
Tests whether the commit packet has commit items.- Returns:
trueif the commit packet has no commit items, otherwisefalse
-
isEmpty
public boolean isEmpty(SVNURL repositoryRootUrl)
Tests whether the commit packet has commit items with the repository root URL.- Returns:
trueif the commit packet has no commit items with the repository root, otherwisefalse
-
getLockingContext
public java.lang.Object getLockingContext()
Returns commit packet's locking context.- Returns:
- the locking context for the commit packet
-
getRunner
public ISvnCommitRunner getRunner()
Returns commit packet's runner.- Returns:
- the runner for the commit packet
-
setItemSkipped
public void setItemSkipped(java.io.File file, boolean skipped)
-
isItemSkipped
public boolean isItemSkipped(java.io.File file)
-
removeSkippedItems
public SvnCommitPacket removeSkippedItems()
-
split
SvnCommitPacket[] split(boolean combinePackets) throws SVNException
- Throws:
SVNException
-
getItemKey
private java.lang.String getItemKey(SvnCommitItem item, SVNURL rootURL, boolean combinePackets) throws SVNException
- Throws:
SVNException
-
isLastPacket
public boolean isLastPacket()
-
-