@Override protected void updateStatus(Attributes attributes, PortableStatus status, Lock.Builder lock) throws SAXException { final StatusType propertiesStatus = parsePropertiesStatus(attributes); status.setPropertiesStatus(propertiesStatus); final StatusType contentsStatus = parseContentsStatus(attributes); status.setContentsStatus(contentsStatus); if (StatusType.STATUS_CONFLICTED.equals(propertiesStatus) || StatusType.STATUS_CONFLICTED.equals(contentsStatus)) { status.setIsConflicted(true); } // optional final String locked = attributes.getValue("wc-locked"); if (locked != null && Boolean.parseBoolean(locked)) { status.setIsLocked(true); } final String copied = attributes.getValue("copied"); if (copied != null && Boolean.parseBoolean(copied)) { status.setIsCopied(true); } final String treeConflicted = attributes.getValue("tree-conflicted"); if (treeConflicted != null && Boolean.parseBoolean(treeConflicted)) { status.setIsConflicted(true); } final String switched = attributes.getValue("switched"); if (switched != null && Boolean.parseBoolean(switched)) { status.setIsSwitched(true); } final String revision = attributes.getValue("revision"); if (!StringUtil.isEmptyOrSpaces(revision)) { try { final long number = Long.parseLong(revision); status.setRevision(SVNRevision.create(number)); } catch (NumberFormatException e) { throw new SAXException(e); } } }