AppendRepliesToAndMentionsEdgeXmlNodes
(
GraphMLXmlDocument graphmlXmlDocument,
IEnumerable<TwitterUser> twitterUsers,
HashSet<String> uniqueScreenNames,
Boolean includeRepliesToEdges,
Boolean includeMentionsEdges,
Boolean includeNonRepliesToNonMentionsEdges,
Boolean includeStatuses
)
{
Debug.Assert(graphmlXmlDocument != null);
Debug.Assert(twitterUsers != null);
Debug.Assert(uniqueScreenNames != null);
if (!includeRepliesToEdges && !includeMentionsEdges &&
!includeNonRepliesToNonMentionsEdges)
{
return;
}
// This method uses only one instance of TwitterStatusTextParser to
// avoid making it repeatedly recompile all of its regular expressions.
TwitterStatusTextParser twitterStatusTextParser =
new TwitterStatusTextParser();
foreach (TwitterUser twitterUser in twitterUsers)
{
foreach (TwitterStatus twitterStatus in twitterUser.Statuses)
{
AppendRepliesToAndMentionsEdgeXmlNodes(
graphmlXmlDocument, twitterStatusTextParser,
uniqueScreenNames, includeRepliesToEdges,
includeMentionsEdges, includeNonRepliesToNonMentionsEdges,
twitterUser.ScreenName, twitterStatus, includeStatuses);
}
}
}