Пример #1
0
        public static AssessmentRun createFilteredAssessmentRunObjectBasedOnCriteria(AnalysisFilters.filter fFilter,
                                                                                     O2AssessmentData_OunceV6
                                                                                         fadO2AssessmentDataOunceV6)
        {
            AssessmentRun arFilteredAssessmentRun = OzasmtUtils_OunceV6.getDefaultAssessmentRunObject();

            // create list to contain the filtered AssessmentFiles
            var lafFilteredAssessmentFiles = new List<AssessmentAssessmentFile>();

            if (StringsAndLists.notNull(fadO2AssessmentDataOunceV6.arAssessmentRun, typeof (AssessmentRun).Name))
                if (null != fadO2AssessmentDataOunceV6.arAssessmentRun.Assessment.Assessment)
                    foreach (Assessment aAssessment in fadO2AssessmentDataOunceV6.arAssessmentRun.Assessment.Assessment)
                    {
                        foreach (AssessmentAssessmentFile afAssessmentFile in aAssessment.AssessmentFile)
                        {
                            // create filtered AssesmentFile object
                            var afFilteredAssessmentFile = new AssessmentAssessmentFile();
                            // and copy the important values from the original into it
                            afFilteredAssessmentFile.filename = afAssessmentFile.filename;
                            afFilteredAssessmentFile.error_status = afAssessmentFile.error_status;
                            afFilteredAssessmentFile.last_modified_time = afAssessmentFile.last_modified_time;
                            // create list to contain Findings that match filter
                            var lfFindingsThatMatchCriteria = new List<AssessmentAssessmentFileFinding>();
                            // if there are findings
                            if (null != afAssessmentFile.Finding)
                            {
                                foreach (AssessmentAssessmentFileFinding fFinding in afAssessmentFile.Finding)
                                    fFilter.applyFilterAndPopulateList(fadO2AssessmentDataOunceV6.arAssessmentRun, fFinding,
                                                                       lfFindingsThatMatchCriteria,
                                                                       lafFilteredAssessmentFiles);
                                // invoke the respective filter

                                if (lfFindingsThatMatchCriteria.Count > 0)
                                    // if there were findings in this AssessmentFile
                                {
                                    afFilteredAssessmentFile.Finding = lfFindingsThatMatchCriteria.ToArray();
                                    // map them to the Finding array
                                    lafFilteredAssessmentFiles.Add(afFilteredAssessmentFile);
                                    // add add the filtered AssessmentFile to its list
                                }
                            }
                        }
                    }

            // (if there are some)add the filtered AssessentFiles into the Filtered AssessmentRun object
            if (lafFilteredAssessmentFiles.Count > 0)
                arFilteredAssessmentRun.Assessment.Assessment[0].AssessmentFile = lafFilteredAssessmentFiles.ToArray();
            // for now all consolidate all projects into one
            return arFilteredAssessmentRun;
        }
Пример #2
0
        public static bool applyFilter(AnalysisFilters.filter fFilterToApply,
                                       List<AssessmentAssessmentFileFinding> lfTargetList,
                                       AssessmentAssessmentFileFinding fFinding, AssessmentRun arAssessmentRunToAnalyze)
        {
            List<AssessmentAssessmentFile> lafFilteredAssessmentFiles = null;
            // we are not using this here so make it null (all findings to analyze are provided one by one)

            // invoke filter
            return fFilterToApply.applyFilterAndPopulateList(arAssessmentRunToAnalyze, fFinding, lfTargetList,
                                                             lafFilteredAssessmentFiles);
        }
Пример #3
0
 public static List<AssessmentAssessmentFileFinding> getListOfFindingsUsingFilter(String sPathToSavedXmlFile,
                                                                                  AnalysisFilters.
                                                                                      filter_FindUniqueLostSinks
                                                                                      ffulsFilter,
                                                                                  ref O2AssessmentData_OunceV6
                                                                                      fadO2AssessmentDataOunceV6)
 {
     var laaffFinding = new List<AssessmentAssessmentFileFinding>();
     try
     {
         bool bVerbose = false;
         var lsMatches = new List<string>();
         Analysis.loadAssessmentFile(sPathToSavedXmlFile, bVerbose, ref fadO2AssessmentDataOunceV6);
         AssessmentRun arFilteredAssessmentRun =
             Analysis.createFilteredAssessmentRunObjectBasedOnCriteria(ffulsFilter, fadO2AssessmentDataOunceV6);
         if (null != arFilteredAssessmentRun.Assessment.Assessment)
             foreach (Assessment aAssessment in arFilteredAssessmentRun.Assessment.Assessment)
                 foreach (AssessmentAssessmentFile afAssessmentFile in aAssessment.AssessmentFile)
                     if (null != afAssessmentFile.Finding)
                         foreach (AssessmentAssessmentFileFinding aaffFinding in afAssessmentFile.Finding)
                             laaffFinding.Add(aaffFinding);
     }
     catch (Exception ex)
     {
         DI.log.error("getListOfFindingsUsingFilter: {0}", ex.Message);
     }
     return laaffFinding;
 }