@@ -46,21 +46,22 @@ public function getList(FormattedInputParams $formattedInputParams): array
4646 $ globalObjectsUuids = [];
4747 /** @var Entity\RecommendationRisk $recommendationRisk */
4848 foreach ($ this ->recommendationRiskTable ->findByParams ($ formattedInputParams ) as $ recommendationRisk ) {
49- if ($ includeRelations
50- && $ recommendationRisk ->getGlobalObject () !== null
51- && isset ($ globalObjectsUuids [$ recommendationRisk ->getGlobalObject ()->getUuid ()])
52- ) {
53- continue ;
49+ if ($ includeRelations && $ recommendationRisk ->hasGlobalObjectRelation ()) {
50+ $ recommendation = $ recommendationRisk ->getRecommendation ();
51+ $ key = 'o ' . $ recommendationRisk ->getGlobalObject ()->getUuid ()
52+ . '- ' . $ recommendationRisk ->getInstanceRisk ()->getThreat ()->getUuid ()
53+ . '- ' . $ recommendationRisk ->getInstanceRisk ()->getVulnerability ()->getUuid ()
54+ . '- ' . $ recommendation ->getUuid ();
55+ if (isset ($ globalObjectsRecommendationsKeys [$ key ])) {
56+ continue ;
57+ }
58+ $ globalObjectsRecommendationsKeys [$ key ] = $ key ;
5459 }
5560
5661 $ recommendationRisksData [] = $ this ->getPreparedRecommendationRiskData (
5762 $ recommendationRisk ,
5863 $ includeRelations
5964 );
60-
61- if ($ includeRelations && $ recommendationRisk ->getGlobalObject () !== null ) {
62- $ globalObjectsUuids [$ recommendationRisk ->getGlobalObject ()->getUuid ()] = true ;
63- }
6465 }
6566
6667 return $ recommendationRisksData ;
@@ -238,7 +239,9 @@ public function getTreatmentPlan(Entity\Anr $anr): array
238239 'maxRisk ' => $ instanceRisk ->getCacheMaxRisk (),
239240 ];
240241 } else {
241- $ path = $ instanceRisk ->getInstance ()->getHierarchyString ();
242+ /** @var Entity\Instance $instance */
243+ $ instance = $ instanceRisk ->getInstance ();
244+ $ path = $ instance ->getHierarchyString ();
242245 }
243246
244247 $ instanceRisksData [$ type ][$ index ] = array_merge ($ instanceRiskData , [
0 commit comments