|
|||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||
java.lang.Objectnet.sf.statsvn.input.CacheBuilder
CVS log files include lines modified for each commit and binary status of a file while SVN log files do not offer this additional information.
StatSVN must query the Subversion repository for line counts using svn diff. However, this is very costly, performance-wise. Therefore, the decision was taken to persist this information in an XML file. This class receives information from (@link net.sf.statsvn.input.SvnXmlLineCountsFileHandler) to build a DOM-based xml structure. It also forwards line counts to the appropriate (@link net.sf.statsvn.input.FileBuilder).
| Constructor Summary | |
CacheBuilder(SvnLogBuilder builder,
RepositoryFileManager repositoryFileManager)
Constructs the LineCountsBuilder by giving it a reference to the builder currently in use. |
|
| Method Summary | |
void |
buildPath(String name,
String revision,
String binaryStatus)
Initializes the builder for subsequent invocations of (@link #buildRevision(String, String, String)). |
void |
buildRevision(String number,
String added,
String removed,
String binaryStatus)
Given the file specified by the preceeding invocation to (@link #buildPath(String)), set the line counts for the given revision. |
void |
buildRoot()
Builds the DOM root. |
Document |
getDocument()
Returns the DOM object when building is complete. |
boolean |
isBinary(String fileName,
String revisionNumber)
Checks the path's cached binary status. |
void |
newRevision(String name,
String number,
String added,
String removed,
boolean binaryStatus)
Adds a revision to the DOM. |
void |
updateBinaryStatus(Collection fileBuilders,
String revisionNumber)
Updates all paths in the DOM structure with the latest binary status information from the working folder. |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
public CacheBuilder(SvnLogBuilder builder,
RepositoryFileManager repositoryFileManager)
builder - the SvnLogBuilder which contains all the FileBuilders.| Method Detail |
public void buildPath(String name,
String revision,
String binaryStatus)
name - the filename
public void buildRevision(String number,
String added,
String removed,
String binaryStatus)
number - the revision numberadded - the number of lines addedremoved - the number of lines removed.
public void buildRoot()
throws ParserConfigurationException
ParserConfigurationExceptionpublic Document getDocument()
public void newRevision(String name,
String number,
String added,
String removed,
boolean binaryStatus)
name - the filenamenumber - the revision numberadded - the number of lines addedremoved - the number of lines removed
public void updateBinaryStatus(Collection fileBuilders,
String revisionNumber)
public boolean isBinary(String fileName,
String revisionNumber)
fileName - the path to be checkedrevisionNumber - the revision of the path to be checked
|
|||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||