@Override public GroupNamingConvention load(String key) throws Exception { return new FormatSharedNamesAndAppendUniqueStringToThoseWhichRepeat(key, delimiter, suffixSupplier, groupValidator); }
@Override public String extractGroup(String encoded) { String result = groupInUniqueNameOrNull(encoded); if (result != null) return result; result = groupInSharedNameOrNull(encoded); return result; } }
@Override public Predicate<String> containsGroup(final String group) { checkGroup(group); return new Predicate<String>() { @Override public boolean apply(String input) { try { return group.equals(groupInUniqueNameOrNull(input)) || group.equals(groupInSharedNameOrNull(input)); } catch (NoSuchElementException e) { return false; } } @Override public String toString() { return "containsGroup(" + group + ")"; } }; }
public void testSharedName() { FormatSharedNamesAndAppendUniqueStringToThoseWhichRepeat fn = new FormatSharedNamesAndAppendUniqueStringToThoseWhichRepeat( "jclouds", '_', Suppliers.ofInstance("123"), okValidator); assertEquals(fn.sharedNameForGroup("cluster"), "jclouds_cluster"); assertEquals(fn.groupInSharedNameOrNull("jclouds_cluster"), "cluster"); assertEquals(fn.groupInUniqueNameOrNull("jclouds_cluster"), null); assertTrue(fn.containsGroup("cluster").apply("jclouds_cluster")); }
@Override public String groupInSharedNameOrNull(String encoded) { return firstGroupInPatternOrNull(sharedGroupPattern, encoded); }
public void testNextName() { FormatSharedNamesAndAppendUniqueStringToThoseWhichRepeat fn = new FormatSharedNamesAndAppendUniqueStringToThoseWhichRepeat( "jclouds", '_', Suppliers.ofInstance("123"), okValidator); assertEquals(fn.uniqueNameForGroup("cluster"), "jclouds_cluster_123"); // note accidental treatment of a unique node as a shared one can lead to // incorrect group names, as long as we permit delimiter to be in group name assertEquals(fn.groupInSharedNameOrNull("jclouds_cluster_123"), "cluster_123"); assertEquals(fn.groupInUniqueNameOrNull("jclouds_cluster_123"), "cluster"); assertTrue(fn.containsGroup("cluster").apply("jclouds_cluster_123")); }
@Override public String groupInUniqueNameOrNull(String encoded) { return firstGroupInPatternOrNull(uniqueGroupPattern, encoded); }
public void testSharedNameNoPrefix() { FormatSharedNamesAndAppendUniqueStringToThoseWhichRepeat fn = new FormatSharedNamesAndAppendUniqueStringToThoseWhichRepeat( "", '_', Suppliers.ofInstance("123"), okValidator); assertEquals(fn.sharedNameForGroup("cluster"), "cluster"); assertEquals(fn.groupInSharedNameOrNull("cluster"), "cluster"); assertEquals(fn.groupInUniqueNameOrNull("cluster"), null); assertTrue(fn.containsGroup("cluster").apply("cluster")); }
@Override public boolean apply(String input) { try { return groupInUniqueNameOrNull(input) != null || groupInSharedNameOrNull(input) != null; } catch (NoSuchElementException e) { return false; } }
@Override public GroupNamingConvention load(String key) throws Exception { return new FormatSharedNamesAndAppendUniqueStringToThoseWhichRepeat(key, delimiter, suffixSupplier, groupValidator); }
@Override public Predicate<String> containsGroup(final String group) { checkGroup(group); return new Predicate<String>() { @Override public boolean apply(String input) { try { return group.equals(groupInUniqueNameOrNull(input)) || group.equals(groupInSharedNameOrNull(input)); } catch (NoSuchElementException e) { return false; } } @Override public String toString() { return "containsGroup(" + group + ")"; } }; }
@Override public String groupInUniqueNameOrNull(String encoded) { return firstGroupInPatternOrNull(uniqueGroupPattern, encoded); }
public void testNextNameNoPrefix() { FormatSharedNamesAndAppendUniqueStringToThoseWhichRepeat fn = new FormatSharedNamesAndAppendUniqueStringToThoseWhichRepeat( "", '_', Suppliers.ofInstance("123"), okValidator); assertEquals(fn.uniqueNameForGroup("cluster"), "cluster_123"); assertEquals(fn.groupInSharedNameOrNull("cluster_123"), "cluster_123"); assertEquals(fn.groupInUniqueNameOrNull("cluster_123"), "cluster"); assertTrue(fn.containsGroup("cluster").apply("cluster_123")); } }
@Override public boolean apply(String input) { try { return groupInUniqueNameOrNull(input) != null || groupInSharedNameOrNull(input) != null; } catch (NoSuchElementException e) { return false; } }
@Override public GroupNamingConvention load(String key) throws Exception { return new FormatSharedNamesAndAppendUniqueStringToThoseWhichRepeat(key, delimiter, suffixSupplier, groupValidator); }
@Override public Predicate<String> containsGroup(final String group) { checkGroup(group); return new Predicate<String>() { @Override public boolean apply(String input) { try { return group.equals(groupInUniqueNameOrNull(input)) || group.equals(groupInSharedNameOrNull(input)); } catch (NoSuchElementException e) { return false; } } @Override public String toString() { return "containsGroup(" + group + ")"; } }; }
@Override public String groupInUniqueNameOrNull(String encoded) { return firstGroupInPatternOrNull(uniqueGroupPattern, encoded); }
public void testOkToHaveDelimiterInGroupOnUniqueName() { FormatSharedNamesAndAppendUniqueStringToThoseWhichRepeat fn = new FormatSharedNamesAndAppendUniqueStringToThoseWhichRepeat( "jclouds", '_', Suppliers.ofInstance("123"), okValidator); assertEquals(fn.sharedNameForGroup("cluster_"), "jclouds_cluster_"); assertEquals(fn.groupInSharedNameOrNull("jclouds_cluster_"), "cluster_"); assertEquals(fn.groupInUniqueNameOrNull("jclouds_cluster_"), null); assertTrue(fn.containsGroup("cluster_").apply("jclouds_cluster_")); }
@Override public String extractGroup(String encoded) { String result = groupInUniqueNameOrNull(encoded); if (result != null) return result; result = groupInSharedNameOrNull(encoded); return result; } }
@Override public GroupNamingConvention load(String key) throws Exception { return new FormatSharedNamesAndAppendUniqueStringToThoseWhichRepeat(key, delimiter, suffixSupplier, groupValidator); }