try { String questionClassId = _storage.loadQuestionClassId(networkId, questionId, analysisId); if (_idResolver.hasQuestionSettingsId(questionClassId, networkId)) { questionSettingsId = _idResolver.getQuestionSettingsId(questionClassId, networkId); } else { questionSettingsId = QuestionSettingsId.DEFAULT_QUESTION_SETTINGS_ID; _idResolver.hasNetworkNodeRolesId(networkId) ? _idResolver.getNetworkNodeRolesId(networkId) : NodeRolesId.DEFAULT_NETWORK_NODE_ROLES_ID; AnswerId baseAnswerId = _idResolver.getBaseAnswerId( networkId, _baseTestrigSettings.getName(),
/** * Returns the {@link MajorIssueConfig} for the given major issue type. * * <p>If the corresponding file is not found or it cannot be deserealized, return an empty object. */ @Override public MajorIssueConfig getMajorIssueConfig(String majorIssueType) { IssueSettingsId id = _idResolver.getIssueSettingsId(majorIssueType, _settings.getContainer()); if (id == null) { return new MajorIssueConfig(majorIssueType, ImmutableMap.of()); } MajorIssueConfig loaded = _storage.loadMajorIssueConfig(_settings.getContainer(), id); return loaded != null ? loaded : new MajorIssueConfig(majorIssueType, ImmutableMap.of()); }
@Override public @Nullable String loadQuestionSettings(@Nonnull Question question) { String questionClassId = question.getName(); NetworkId networkId = _settings.getContainer(); if (!_idResolver.hasQuestionSettingsId(questionClassId, networkId)) { return null; } try { QuestionSettingsId questionSettingsId = _idResolver.getQuestionSettingsId(questionClassId, networkId); return _storage.loadQuestionSettings(_settings.getContainer(), questionSettingsId); } catch (IOException e) { throw new BatfishException( String.format("Failed to read question settings for question: '%s'", questionClassId), e); } }
/** * Gets the {@link NodeRolesData} for the testrig * * @return The {@link NodeRolesData} object. */ @Override public NodeRolesData getNodeRolesData() { try { NetworkId networkId = _settings.getContainer(); if (!_idResolver.hasNetworkNodeRolesId(networkId)) { return null; } NodeRolesId nodeRolesId = _idResolver.getNetworkNodeRolesId(networkId); return BatfishObjectMapper.mapper() .readValue(_storage.loadNodeRoles(nodeRolesId), NodeRolesData.class); } catch (IOException e) { _logger.errorf("Could not read roles data: %s", e); return null; } }
RunAnalysisAnswerElement ae = new RunAnalysisAnswerElement(); _idResolver .listQuestions(containerName, analysisName) .forEach( questionName -> { QuestionId questionId = _idResolver.getQuestionId(questionName, containerName, analysisName); _settings.setQuestionName(questionId); Answer currentAnswer;
private void updateSnapshotNodeRoles() { // Compute new auto role data and updates existing auto data with it NetworkId networkId = _settings.getContainer(); SnapshotId snapshotId = _settings.getTestrig(); NodeRolesId snapshotNodeRolesId = _idResolver.getSnapshotNodeRolesId(networkId, snapshotId); Set<String> nodeNames = loadConfigurations().keySet(); Topology rawLayer3Topology = _topologyProvider.getRawLayer3Topology(getNetworkSnapshot()); SortedSet<NodeRoleDimension> autoRoles = new InferRoles(nodeNames, rawLayer3Topology).inferRoles(); NodeRolesData.Builder snapshotNodeRoles = NodeRolesData.builder(); try { if (!autoRoles.isEmpty()) { snapshotNodeRoles.setDefaultDimension(autoRoles.first().getName()); snapshotNodeRoles.setRoleDimensions(autoRoles); } _storage.storeNodeRoles(snapshotNodeRoles.build(), snapshotNodeRolesId); } catch (IOException e) { _logger.warnf("Could not update node roles: %s", e); } }
try { String questionClassId = _storage.loadQuestionClassId(networkId, questionId, analysisId); if (_idResolver.hasQuestionSettingsId(questionClassId, networkId)) { questionSettingsId = _idResolver.getQuestionSettingsId(questionClassId, networkId); } else { questionSettingsId = QuestionSettingsId.DEFAULT_QUESTION_SETTINGS_ID; _idResolver.hasNetworkNodeRolesId(networkId) ? _idResolver.getNetworkNodeRolesId(networkId) : NodeRolesId.DEFAULT_NETWORK_NODE_ROLES_ID; AnswerId baseAnswerId = _idResolver.getBaseAnswerId( networkId, _baseTestrigSettings.getName(),