@@ -1338,8 +1338,6 @@ private function processInstanceRisks(
13381338 foreach ($ data ['risks ' ] as $ instanceRiskData ) {
13391339 $ threatData = $ data ['threats ' ][$ instanceRiskData ['threat ' ]];
13401340 $ vulnerabilityData = $ data ['vuls ' ][$ instanceRiskData ['vulnerability ' ]];
1341- $ vulnerability = null ;
1342- $ threat = null ;
13431341
13441342 $ threatUuid = isset ($ this ->cachedData ['threats ' ][$ threatData ['uuid ' ]])
13451343 ? $ this ->cachedData ['threats ' ][$ threatData ['uuid ' ]]->getUuid ()
@@ -1358,7 +1356,10 @@ private function processInstanceRisks(
13581356
13591357 if ((int )$ instanceRiskData ['specific ' ] === InstanceRisk::TYPE_SPECIFIC ) {
13601358 if (!isset ($ this ->cachedData ['threats ' ][$ threatData ['uuid ' ]])) {
1361- if (!\in_array ((string )$ threatData ['uuid ' ], $ threatsUuids , true )) {
1359+ if (\in_array ((string )$ threatData ['uuid ' ], $ threatsUuids , true )) {
1360+ $ this ->cachedData ['threats ' ][$ threatData ['uuid ' ]] = $ this ->threatTable
1361+ ->findByAnrAndUuid ($ anr , (string )$ threatData ['uuid ' ]);
1362+ } else {
13621363 $ threat = (new Threat ())
13631364 ->setUuid ($ threatData ['uuid ' ])
13641365 ->setAnr ($ anr )
@@ -1390,17 +1391,15 @@ private function processInstanceRisks(
13901391
13911392 $ this ->threatTable ->saveEntity ($ threat , false );
13921393
1393- $ this ->cachedData ['threats ' ][$ threatData ['uuid ' ]] = $ threat ;
1394- } else {
1395- $ threat = $ this ->threatTable ->findByAnrAndUuid ($ anr , (string )$ threatData ['uuid ' ]);
13961394 $ this ->cachedData ['threats ' ][$ threatData ['uuid ' ]] = $ threat ;
13971395 }
1398- } else {
1399- $ threat = $ this ->cachedData ['threats ' ][$ threatData ['uuid ' ]];
14001396 }
14011397
14021398 if (!isset ($ this ->cachedData ['vulnerabilities ' ][$ vulnerabilityData ['uuid ' ]])) {
1403- if (!\in_array ((string )$ vulnerabilityData ['uuid ' ], $ vulnerabilitiesUuids , true )) {
1399+ if (\in_array ((string )$ vulnerabilityData ['uuid ' ], $ vulnerabilitiesUuids , true )) {
1400+ $ this ->cachedData ['vulnerabilities ' ][$ vulnerabilityData ['uuid ' ]] = $ this ->vulnerabilityTable
1401+ ->findByAnrAndUuid ($ anr , (string )$ vulnerabilityData ['uuid ' ]);
1402+ } else {
14041403 $ vulnerability = (new Vulnerability ())
14051404 ->setUuid ($ vulnerabilityData ['uuid ' ])
14061405 ->setAnr ($ anr )
@@ -1412,24 +1411,18 @@ private function processInstanceRisks(
14121411 ->setCreator ($ this ->connectedUser ->getEmail ());
14131412
14141413 $ this ->vulnerabilityTable ->saveEntity ($ vulnerability , false );
1415- } else {
1416- $ vulnerability = $ this ->vulnerabilityTable ->findByAnrAndUuid (
1417- $ anr ,
1418- (string )$ vulnerabilityData ['uuid ' ]
1419- );
1414+
1415+ $ this ->cachedData ['vulnerabilities ' ][$ vulnerabilityData ['uuid ' ]] = $ vulnerability ;
14201416 }
1421- $ this ->cachedData ['vulnerabilities ' ][$ vulnerabilityData ['uuid ' ]] = $ vulnerability ;
1422- } else {
1423- $ vulnerability = $ this ->cachedData ['vulnerabilities ' ][$ vulnerabilityData ['uuid ' ]];
14241417 }
14251418
14261419 $ instanceRisk = $ this ->createInstanceRiskFromData (
14271420 $ instanceRiskData ,
14281421 $ anr ,
14291422 $ instance ,
14301423 $ monarcObject ->getAsset (),
1431- $ threat ,
1432- $ vulnerability
1424+ $ this -> cachedData [ ' threats ' ][ $ threatData [ ' uuid ' ]] ,
1425+ $ this -> cachedData [ ' vulnerabilities ' ][ $ vulnerabilityData [ ' uuid ' ]]
14331426 );
14341427
14351428 $ this ->instanceRiskTable ->saveEntity ($ instanceRisk , false );
0 commit comments