in common/src/main/java/com/microsoft/alm/storage/InsecureFileBackend.java [116:151]
static InsecureFileBackend fromXml(final InputStream source) {
try {
final InsecureFileBackend result = new InsecureFileBackend(null);
final DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
final DocumentBuilder builder = dbf.newDocumentBuilder();
final Document document = builder.parse(source);
final Element insecureStoreElement = document.getDocumentElement();
final NodeList tokensOrCredentialsList = insecureStoreElement.getChildNodes();
for (int toc = 0; toc < tokensOrCredentialsList.getLength(); toc++) {
final Node tokensOrCredentials = tokensOrCredentialsList.item(toc);
if (tokensOrCredentials.getNodeType() != Node.ELEMENT_NODE)
continue;
if ("Tokens".equals(tokensOrCredentials.getNodeName())) {
result.Tokens.clear();
} else if ("Credentials".equals(tokensOrCredentials.getNodeName())) {
result.Credentials.clear();
} else continue;
final NodeList entryList = tokensOrCredentials.getChildNodes();
for (int e = 0; e < entryList.getLength(); e++) {
final Node entryNode = entryList.item(e);
if (entryNode.getNodeType() != Node.ELEMENT_NODE || !"entry".equals(entryNode.getNodeName()))
continue;
if ("Tokens".equals(tokensOrCredentials.getNodeName())) {
loadToken(result, entryNode);
} else if ("Credentials".equals(tokensOrCredentials.getNodeName())) {
loadCredential(result, entryNode);
}
}
}
return result;
} catch (final Exception e) {
logError(logger, "Warning: unable to deserialize InsecureFileBackend. Is the file corrupted?", e);
return null;
}
}