Smrf.NodeXL.ExcelTemplate.TwitterSearchNetworkVertexMetricUtil.ConcatenateTopWordsAndWordPairs C# (CSharp) Method

ConcatenateTopWordsAndWordPairs() private static method

private static ConcatenateTopWordsAndWordPairs ( IEnumerable oEdges, String sStatusEdgeColumnName, Int32 iMaximumTopStrings, WordCounter oWordCounter, WordPairCounter oWordPairCounter, String &sTopWordsInTweetByCount, String &sTopWordsInTweetBySalience, String &sTopWordPairsInTweetByCount, String &sTopWordPairsInTweetBySalience ) : void
oEdges IEnumerable
sStatusEdgeColumnName String
iMaximumTopStrings System.Int32
oWordCounter WordCounter
oWordPairCounter WordPairCounter
sTopWordsInTweetByCount String
sTopWordsInTweetBySalience String
sTopWordPairsInTweetByCount String
sTopWordPairsInTweetBySalience String
return void
    ConcatenateTopWordsAndWordPairs
    (
        IEnumerable<IEdge> oEdges,
        String sStatusEdgeColumnName,
        Int32 iMaximumTopStrings,
        WordCounter oWordCounter,
        WordPairCounter oWordPairCounter,
        out String sTopWordsInTweetByCount,
        out String sTopWordsInTweetBySalience,
        out String sTopWordPairsInTweetByCount,
        out String sTopWordPairsInTweetBySalience
    )
    {
        Debug.Assert(oEdges != null);
        Debug.Assert( !String.IsNullOrEmpty(sStatusEdgeColumnName) );
        Debug.Assert(iMaximumTopStrings > 0);
        Debug.Assert(oWordCounter != null);
        Debug.Assert(oWordPairCounter != null);

        oWordCounter.Clear();
        oWordPairCounter.Clear();

        foreach (IEdge oEdge in oEdges)
        {
            String sStatus;

            if ( oEdge.TryGetNonEmptyStringValue(sStatusEdgeColumnName,
                out sStatus) )
            {
                oWordCounter.CountTermsInDocument(sStatus);
                oWordPairCounter.CountTermsInDocument(sStatus);
            }
        }

        oWordCounter.CalculateSalienceOfCountedTerms();
        oWordPairCounter.CalculateSalienceOfCountedTerms();

        sTopWordsInTweetByCount = String.Join(

            TwitterSearchNetworkWordMetricUtil.WordSeparator,

            TwitterSearchNetworkStringUtil.TakeTopStringsAsArray(

                (from CountedWord oCountedWord in oWordCounter.CountedTerms
                orderby oCountedWord.Count descending
                select oCountedWord.Word)
                ,
                iMaximumTopStrings
            ) );

        sTopWordsInTweetBySalience = String.Join(
        
            TwitterSearchNetworkWordMetricUtil.WordSeparator,

            TwitterSearchNetworkStringUtil.TakeTopStringsAsArray(

                (from CountedWord oCountedWord in oWordCounter.CountedTerms
                orderby oCountedWord.Salience descending
                select oCountedWord.Word)
                ,
                iMaximumTopStrings
            ) );

        sTopWordPairsInTweetByCount = String.Join(
        
            TwitterSearchNetworkWordMetricUtil.WordPairSeparator,

            TwitterSearchNetworkStringUtil.TakeTopStringsAsArray(

                (from CountedWordPair oCountedWordPair in
                    oWordPairCounter.CountedTerms

                orderby oCountedWordPair.Count descending

                select TwitterSearchNetworkWordMetricUtil.FormatWordPair(
                    oCountedWordPair) )
                ,
                iMaximumTopStrings
            ) );

        sTopWordPairsInTweetBySalience = String.Join(

            TwitterSearchNetworkWordMetricUtil.WordPairSeparator,

            TwitterSearchNetworkStringUtil.TakeTopStringsAsArray(

                (from CountedWordPair oCountedWordPair in
                    oWordPairCounter.CountedTerms

                orderby oCountedWordPair.Salience descending

                select TwitterSearchNetworkWordMetricUtil.FormatWordPair(
                    oCountedWordPair) )
                ,
                iMaximumTopStrings
            ) );
    }
}