onBtnPressed method
implement onBtnPressed function from geiger abstract class
@return a Future of json stringImplementation
@override
Future<String> onBtnPressed(StorageController _storageController) async {
UserNode _userNode = UserNode(_storageController);
DeviceNode _deviceNode = DeviceNode(_storageController);
RecommendationNode _recommendationNode =
RecommendationNode(_storageController);
List<GeigerScoreThreats> geigerScoreThreats = [];
List<GeigerRecommendation> gr =
await _recommendationNode.getRecommendations;
print(gr);
try {
List<GeigerRecommendation> gr =
await RecommendationNode(_storageController).getRecommendations;
//print(gr);
//add aggregate,//userScore // deviceScore
geigerScoreThreats
.add(await _userNode.getGeigerScoreAggregateThreatScore());
geigerScoreThreats.add(await _userNode.getGeigerScoreUserThreatScores());
geigerScoreThreats
.add(await _deviceNode.getGeigerScoreDeviceThreatScores());
return jsonEncode(GeigerData(
geigerScoreThreats: geigerScoreThreats, geigerRecommendations: gr));
} catch (e) {
throw Exception(
"Node aggregate, user, device and recommendation not created");
}
}