}
if (nestLevel == 0) {
count++;
}
long revision = 0;
SVNProperties revisionProperties = null;
SVNProperties logEntryProperties = new SVNProperties();
boolean hasChildren = false;
if (handler != null && !(limit > 0 && count > limit && nestLevel == 0)) {
revision = SVNReader.getLong(items, 1);
String author = SVNReader.getString(items, 2);
Date date = SVNReader.getDate(items, 3);
if (date == SVNDate.NULL) {
date = null;
}
String message = SVNReader.getString(items, 4);
hasChildren = SVNReader.getBoolean(items, 5);
boolean invalidRevision = SVNReader.getBoolean(items, 6);
revisionProperties = SVNReader.getProperties(items, 8, null);
if (invalidRevision) {
revision = SVNRepository.INVALID_REVISION;
}
if (wantCustomRevProps && (revisionProperties == null)) {
SVNErrorMessage err = SVNErrorMessage.create(SVNErrorCode.RA_NOT_IMPLEMENTED, "Server does not support custom revprops via log");
SVNErrorManager.error(err, SVNLogType.NETWORK);
}
if (revisionProperties != null) {
for (Iterator iterator = revisionProperties.nameSet().iterator(); iterator.hasNext();) {
String name = (String) iterator.next();
logEntryProperties.put(name, revisionProperties.getSVNPropertyValue(name));
}
}
if (revisionPropertyNames == null || revisionPropertyNames.length == 0) {
if (author != null) {
logEntryProperties.put(SVNRevisionProperty.AUTHOR, author);
}
if (date != null) {
logEntryProperties.put(SVNRevisionProperty.DATE, SVNDate.formatDate(date));
}
if (message != null) {
logEntryProperties.put(SVNRevisionProperty.LOG, message);
}
} else {
for (int i = 0; i < revisionPropertyNames.length; i++) {
String revPropName = revisionPropertyNames[i];
if (author != null && SVNRevisionProperty.AUTHOR.equals(revPropName)) {
logEntryProperties.put(SVNRevisionProperty.AUTHOR, author);
}
if (date != null && SVNRevisionProperty.DATE.equals(revPropName)) {
logEntryProperties.put(SVNRevisionProperty.DATE, SVNDate.formatDate(date));
}
if (message != null && SVNRevisionProperty.LOG.equals(revPropName)) {
logEntryProperties.put(SVNRevisionProperty.LOG, message);
}
}
}
}
if (handler != null && !(limit > 0 && count > limit && nestLevel == 0)) {