@Override public boolean hasAnalysisId(String analysis, NetworkId networkId) { return Files.exists(getAnalysisIdPath(analysis, networkId)); }
@Override public @Nonnull Set<String> listAnalyses(NetworkId networkId) { return listResolvableNames(getAnalysisIdsDir(networkId)); }
@Override public boolean hasIssueSettingsId(String majorIssueType, NetworkId networkId) { return Files.exists(getIssueSettingsIdPath(majorIssueType, networkId)); }
@Override public @Nonnull Set<String> listNetworks() { return listResolvableNames(getNetworkIdsDir()); }
@Override public @Nonnull Set<String> listQuestions(NetworkId networkId, @Nullable AnalysisId analysisId) { return listResolvableNames(getQuestionIdsDir(networkId, analysisId)); }
@Override public @Nonnull QuestionId getQuestionId( String question, NetworkId networkId, @Nullable AnalysisId analysisId) { if (!hasQuestionId(question, networkId, analysisId)) { throw new IllegalArgumentException( String.format("No ID assigned to non-existent question '%s'", question)); } return new QuestionId(CommonUtil.readFile(getQuestionIdPath(question, networkId, analysisId))); }
@Override public @Nonnull NetworkId getNetworkId(String network) { if (!hasNetworkId(network)) { throw new IllegalArgumentException( String.format("No ID assigned to non-existent network %s", network)); } return new NetworkId(CommonUtil.readFile(getNetworkIdPath(network))); }
@Override public @Nonnull AnalysisId getAnalysisId(String analysis, NetworkId networkId) { if (!hasAnalysisId(analysis, networkId)) { throw new IllegalArgumentException( String.format("No ID assigned to non-existent analysis %s", analysis)); } return new AnalysisId(CommonUtil.readFile(getAnalysisIdPath(analysis, networkId))); }
@Override public NodeRolesId getNetworkNodeRolesId(NetworkId networkId) { if (!hasNetworkNodeRolesId(networkId)) { throw new IllegalArgumentException("No assigned node-roles ID"); } return new NodeRolesId(CommonUtil.readFile(getNetworkNodeRolesIdPath(networkId))); }
@Override public @Nonnull IssueSettingsId getIssueSettingsId(String majorIssueType, NetworkId networkId) { if (!hasIssueSettingsId(majorIssueType, networkId)) { throw new IllegalArgumentException( String.format("No ID assigned to non-configured majorIssueType %s", majorIssueType)); } return new IssueSettingsId( CommonUtil.readFile(getIssueSettingsIdPath(majorIssueType, networkId))); }
@Override public boolean hasNetworkId(String network) { return Files.exists(getNetworkIdPath(network)); }
@Override public boolean hasNetworkNodeRolesId(NetworkId networkId) { return Files.exists(getNetworkNodeRolesIdPath(networkId)); }
@Override public boolean hasQuestionId(String question, NetworkId networkId, AnalysisId analysisId) { return Files.exists(getQuestionIdPath(question, networkId, analysisId)); }
protected @Nonnull Path getQuestionIdPath( String question, NetworkId networkId, @Nullable AnalysisId analysisId) { return getQuestionIdsDir(networkId, analysisId) .resolve(String.format("%s%s", question, ID_EXTENSION)); }
protected @Nonnull Path getIssueSettingsIdPath(String majorIssueType, NetworkId networkId) { return getIssueSettingsIdsDir(networkId) .resolve(String.format("%s%s", majorIssueType, ID_EXTENSION)); }
protected @Nonnull Path getNetworkIdPath(String network) { return getNetworkIdsDir().resolve(String.format("%s%s", network, ID_EXTENSION)); }
protected @Nonnull Path getAnalysisIdPath(String analysis, NetworkId networkId) { return getAnalysisIdsDir(networkId).resolve(String.format("%s%s", analysis, ID_EXTENSION)); }
alternateIdResolver != null ? alternateIdResolver : new FileBasedIdResolver(_settings.getStorageBase()); _topologyProvider = new TopologyProviderImpl(this);