@Test public void testRepeatedInternalKey() { List<NewRule> newRules = new LinkedList<>(); newRules.add(createRule("key1", "repo", "internal")); newRules.add(createRule("key2", "repo", "internal")); DefaultRules rules = new DefaultRules(newRules); assertThat(rules.findByInternalKey("repo", "internal")).hasSize(2); assertThat(rules.find(RuleKey.of("repo", "key1"))).isNotNull(); assertThat(rules.find(RuleKey.of("repo", "key2"))).isNotNull(); assertThat(rules.findByRepository("repo")).hasSize(2); }
@Test public void testRepeatedRule() { List<NewRule> newRules = new LinkedList<>(); newRules.add(createRule("key", "repo", "internal")); newRules.add(createRule("key", "repo", "internal")); DefaultRules rules = new DefaultRules(newRules); assertThat(rules.find(RuleKey.of("repo", "key"))).isNotNull(); }
public Rules build() { return new DefaultRules(map.values()); } }
DefaultRules(Collection<NewRule> newRules) { Map<RuleKey, Rule> rulesByRuleKeyBuilder = new HashMap<>(); ImmutableListMultimap.Builder<String, Rule> builder = ImmutableListMultimap.builder(); Table<String, String, List<Rule>> tableBuilder = HashBasedTable.create(); for (NewRule newRule : newRules) { DefaultRule r = new DefaultRule(newRule); rulesByRuleKeyBuilder.put(r.key(), r); builder.put(r.key().repository(), r); addToTable(tableBuilder, r); } rulesByRuleKey = Collections.unmodifiableMap(rulesByRuleKeyBuilder); rulesByRepository = builder.build(); rulesByRepositoryAndInternalKey = ImmutableTable.copyOf(tableBuilder); }
public Rules build() { return new DefaultRules(map.values()); } }
DefaultRules(Collection<NewRule> newRules) { Map<RuleKey, Rule> rulesByRuleKeyBuilder = new HashMap<>(); ImmutableListMultimap.Builder<String, Rule> builder = ImmutableListMultimap.builder(); Table<String, String, List<Rule>> tableBuilder = HashBasedTable.create(); for (NewRule newRule : newRules) { DefaultRule r = new DefaultRule(newRule); rulesByRuleKeyBuilder.put(r.key(), r); builder.put(r.key().repository(), r); addToTable(tableBuilder, r); } rulesByRuleKey = Collections.unmodifiableMap(rulesByRuleKeyBuilder); rulesByRepository = builder.build(); rulesByRepositoryAndInternalKey = ImmutableTable.copyOf(tableBuilder); }
@Test public void testNonExistingKey() { List<NewRule> newRules = new LinkedList<>(); newRules.add(createRule("key1", "repo", "internal")); newRules.add(createRule("key2", "repo", "internal")); DefaultRules rules = new DefaultRules(newRules); assertThat(rules.findByInternalKey("xx", "xx")).hasSize(0); assertThat(rules.find(RuleKey.of("xxx", "xx"))).isNull(); assertThat(rules.findByRepository("xxxx")).hasSize(0); }
public Rules build() { return new DefaultRules(map.values()); } }