public void logUpdate(final Update update) { Element updateElement = createOrGetUpdateElement(update); int attempt = 1; try { attempt = Integer.parseInt(updateElement.getAttribute("attempt")) + 1; updates.removeChild(updateElement); updateElements.remove(update); updateElement = createOrGetUpdateElement(update); } catch (NumberFormatException ignored) { } updateElement.setAttribute("attempt", String.valueOf(attempt)); updateElement.setAttribute( "time", FormatHelper.dateTimeToString(dateTimeProvider.getCurrentDateTime())); final RpslObject updatedObject = update.getSubmittedObject(); updateElement.appendChild(keyValue("key", updatedObject.getFormattedKey())); updateElement.appendChild(keyValue("operation", update.getOperation().name())); updateElement.appendChild( keyValue("reason", StringUtils.join(update.getDeleteReasons(), ", "))); updateElement.appendChild(keyValue("paragraph", update.getParagraph().getContent())); updateElement.appendChild(keyValue("object", updatedObject.toString())); }