@Override public FilterSpecifier buildFilterSpecifier(@Nullable Object input) { if (input == null) { return new ShorthandFilterSpecifier(FiltersSpecifier.ALL); } checkArgument(input instanceof String, "String input required for " + getName()); FiltersSpecifier specifier = new FiltersSpecifier(input.toString().trim()); checkArgument(specifier.getType() != Type.IPV6, "IPv6 is not currently supported"); return new ShorthandFilterSpecifier(specifier); } }
@Test public void constructorImplicitName() { FiltersSpecifier specifier = new FiltersSpecifier("acl.*"); assertThat(specifier.getType(), equalTo(Type.NAME)); assertThat(specifier.getRegex().pattern(), equalTo(Pattern.compile("acl.*").pattern())); }
@Test public void constructorIpv4() { FiltersSpecifier specifier = new FiltersSpecifier("ipv4:secret.*"); assertThat(specifier.getType(), equalTo(Type.IPV4)); assertThat(specifier.getRegex().pattern(), equalTo(Pattern.compile("secret.*").pattern())); }
@Test public void constructorExplicitName() { FiltersSpecifier specifier = new FiltersSpecifier("name:acl.*"); assertThat(specifier.getType(), equalTo(Type.NAME)); assertThat(specifier.getRegex().pattern(), equalTo(Pattern.compile("acl.*").pattern())); }
@Test public void defaultWithColons() { String expression = "foo::bar::baz"; FiltersSpecifier specifier = new FiltersSpecifier(expression); assertThat(specifier.getType(), is(Type.NAME)); assertThat(specifier.getRegex().pattern(), equalTo(expression)); }
@Test public void nameWithColons() { String expression = "foo::bar::baz"; FiltersSpecifier specifier = new FiltersSpecifier("name:" + expression); assertThat(specifier.getType(), is(Type.NAME)); assertThat(specifier.getRegex().pattern(), equalTo(expression)); } }