private void assertCompletion(String path, Completion expected) throws Exception { Completion completions = completer.complete (null, path); assertEquals(expected, completions); } }
public final CompletionMatch match(String s) throws CompletionException { return match(EmptyCompleter.getInstance(), s); }
@Override public void setUp() throws Exception { File tmp = File.createTempFile("crash", ""); assertTrue(tmp.delete()); assertTrue(tmp.mkdirs()); // this.root = tmp; this.completer = new NodeCompleter(root); }
String currentPath = getCurrentPath(); P f = getPath(prefix); if (exists(f)) { if (isDirectory(f)) { if (prefix.endsWith(sep)) { Collection<P> children = getChilren(f); if (children != null) { if (children.size() > 0) { return listDir(f, ""); } else { return Completion.create(); Collection<P> children = getChilren(f); if (children == null) { return Completion.create(); } else if (isFile(f)) { return Completion.create("", true); String filter; if (pos == 0) { f = getPath(sep); filter = prefix.substring(1); } else { f = getPath(prefix.substring(0, pos)); filter = prefix.substring(pos + 1);
private Completion listDir(P dir, final String filter) throws Exception { Collection<P> children = getChilren(dir); if (children != null) { Completion.Builder builder = Completion.builder(filter); for (P child : children) { String name = getName(child); if (name.startsWith(filter)) { String suffix = name.substring(filter.length()); if (isDirectory(child)) { Collection<P> grandChildren = getChilren(child); if (grandChildren != null) { builder.add(suffix + File.separator, false); } else { // Skip it } } else { builder.add(suffix, true); } } } return builder.build(); } else { return Completion.create(); } } }
return pc.complete(parameter, prefix);
public void testAbsoluteFile() throws Exception { File foo = new File(root, "foo"); assertTrue(foo.createNewFile()); // assertCompletion(sep, Completion.create("foo", true)); assertCompletion(sep + "f", Completion.create("f", "oo", true)); assertCompletion(sep + "foo", Completion.create("", true)); // assertTrue(foo.delete()); assertTrue(foo.mkdirs()); File bar = new File(foo, "bar"); assertTrue(bar.createNewFile()); // assertCompletion(sep, Completion.create("foo" + sep, false)); assertCompletion(sep+"f", Completion.create("f", "oo" + sep, false)); assertCompletion(sep + "foo", Completion.create(sep, false)); assertCompletion(sep + "foo" + sep, Completion.create("bar", true)); assertCompletion(sep + "foo" + sep + "b", Completion.create("b", "ar", true)); assertCompletion(sep + "foo" + sep + "bar", Completion.create("", true)); }
public void testSubRelativeDir() throws Exception { File sub = new File(root, "sub"); assertTrue(sub.mkdir()); completer.setCurrent(sub); // assertCompletion("", Completion.create()); assertCompletion("f", Completion.create("f")); // File foo = new File(sub, "foo"); assertTrue(foo.mkdir()); assertCompletion("", Completion.create("foo" + sep, false)); assertCompletion("f", Completion.create("f", "oo" + sep, false)); assertCompletion("foo", Completion.create(sep, false)); assertCompletion("foo" + sep, Completion.create()); // File bar = new File(foo, "bar"); assertTrue(bar.mkdir()); assertCompletion("", Completion.create("foo" + sep, false)); assertCompletion("f", Completion.create("f", "oo" + sep, false)); assertCompletion("foo", Completion.create(sep, false)); assertCompletion("foo" + sep, Completion.create("bar" + sep, false)); assertCompletion("foo" + sep +"b", Completion.create("b", "ar" + sep, false)); assertCompletion("foo" + sep +"bar", Completion.create(sep, false)); assertCompletion("foo" + sep +"bar" + sep, Completion.create()); }
int next = rest.indexOf(',', prev); if (next == -1) { String[] keyValue = parseKeyValue(rest.substring(prev)); Set<ObjectName> completions = new HashSet<ObjectName>(); for (ObjectName name : server.queryNames(null, null)) { String[] keyValue = parseKeyValue(rest.substring(prev, next)); keyValues.put(keyValue[0], keyValue[1]); prev = next + 1;
String currentPath = getCurrentPath(); P f = getPath(prefix); if (exists(f)) { if (isDirectory(f)) { if (prefix.endsWith(sep)) { Collection<P> children = getChilren(f); if (children != null) { if (children.size() > 0) { return listDir(f, ""); } else { return Completion.create(); Collection<P> children = getChilren(f); if (children == null) { return Completion.create(); } else if (isFile(f)) { return Completion.create("", true); String filter; if (pos == 0) { f = getPath(sep); filter = prefix.substring(1); } else { f = getPath(prefix.substring(0, pos)); filter = prefix.substring(pos + 1);
private Completion listDir(P dir, final String filter) throws Exception { Collection<P> children = getChilren(dir); if (children != null) { Completion.Builder builder = Completion.builder(filter); for (P child : children) { String name = getName(child); if (name.startsWith(filter)) { String suffix = name.substring(filter.length()); if (isDirectory(child)) { Collection<P> grandChildren = getChilren(child); if (grandChildren != null) { builder.add(suffix + File.separator, false); } else { // Skip it } } else { builder.add(suffix, true); } } } return builder.build(); } else { return Completion.create(); } } }
return pc.complete(parameter, prefix);
public final CompletionMatch match(String s) throws CompletionException { return match(EmptyCompleter.getInstance(), s); }
public void testRootRelativeDir() throws Exception { assertCompletion("", Completion.create()); assertCompletion("f", Completion.create("f")); // File foo = new File(root, "foo"); assertTrue(foo.mkdir()); assertCompletion("", Completion.create("foo" + sep, false)); assertCompletion("f", Completion.create("f", "oo" + sep, false)); assertCompletion("foo", Completion.create(sep, false)); assertCompletion("foo" + sep, Completion.create()); // File bar = new File(foo, "bar"); assertTrue(bar.mkdir()); assertCompletion("", Completion.create("foo" + sep, false)); assertCompletion("f", Completion.create("f", "oo" + sep, false)); assertCompletion("foo", Completion.create(sep, false)); assertCompletion("foo" + sep, Completion.create("bar" + sep, false)); assertCompletion("foo" + sep +"b", Completion.create("b", "ar" + sep, false)); assertCompletion("foo" + sep +"bar", Completion.create(sep, false)); assertCompletion("foo" + sep +"bar" + sep, Completion.create()); }
int next = rest.indexOf(',', prev); if (next == -1) { String[] keyValue = parseKeyValue(rest.substring(prev)); Set<ObjectName> completions = new HashSet<ObjectName>(); for (ObjectName name : server.queryNames(null, null)) { String[] keyValue = parseKeyValue(rest.substring(prev, next)); keyValues.put(keyValue[0], keyValue[1]); prev = next + 1;
String currentPath = getCurrentPath(); P f = getPath(prefix); if (exists(f)) { if (isDirectory(f)) { if (prefix.endsWith(sep)) { Collection<P> children = getChilren(f); if (children != null) { if (children.size() > 0) { return listDir(f, ""); } else { return Completion.create(); Collection<P> children = getChilren(f); if (children == null) { return Completion.create(); } else if (isFile(f)) { return Completion.create("", true); String filter; if (pos == 0) { f = getPath(sep); filter = prefix.substring(1); } else { f = getPath(prefix.substring(0, pos)); filter = prefix.substring(pos + 1);
private Completion listDir(P dir, final String filter) throws Exception { Collection<P> children = getChilren(dir); if (children != null) { Completion.Builder builder = Completion.builder(filter); for (P child : children) { String name = getName(child); if (name.startsWith(filter)) { String suffix = name.substring(filter.length()); if (isDirectory(child)) { Collection<P> grandChildren = getChilren(child); if (grandChildren != null) { builder.add(suffix + File.separator, false); } else { // Skip it } } else { builder.add(suffix, true); } } } return builder.build(); } else { return Completion.create(); } } }
return pc.complete(parameter, prefix);
public final CompletionMatch match(String s) throws CompletionException { return match(EmptyCompleter.getInstance(), s); }
public void testAbsoluteDir() throws Exception { assertCompletion(sep, Completion.create()); assertCompletion(sep + "f", Completion.create("f")); assertTrue(foo.mkdir()); assertCompletion(sep, Completion.create("foo" + sep, false)); assertCompletion(sep + "f", Completion.create("f", "oo" + sep, false)); assertCompletion(sep + "foo", Completion.create(sep, false)); assertCompletion(sep + "foo" + sep, Completion.create()); assertTrue(bar.mkdir()); assertCompletion(sep, Completion.create("foo" + sep, false)); assertCompletion(sep + "f", Completion.create("f", "oo" + sep, false)); assertCompletion(sep + "foo", Completion.create(sep, false)); assertCompletion(sep + "foo" + sep, Completion.create("bar" + sep, false)); assertCompletion(sep + "foo" + sep +"b", Completion.create("b", "ar" + sep, false)); assertCompletion(sep + "foo" + sep +"bar", Completion.create(sep, false)); assertCompletion(sep + "foo" + sep +"bar" + sep, Completion.create()); assertTrue(juu.mkdir()); assertCompletion(sep, Completion.create("foo" + sep, false)); assertCompletion(sep + "f", Completion.create("f", "oo" + sep, false)); assertCompletion(sep + "foo", Completion.create(sep, false)); assertCompletion(sep + "foo" + sep, Completion.create("bar" + sep, false)); assertCompletion(sep + "foo" + sep +"b", Completion.create("b", "ar" + sep, false)); assertCompletion(sep + "foo" + sep +"bar", Completion.create(sep, false)); assertCompletion(sep + "foo" + sep +"bar" + sep, Completion.create("juu" + sep, false)); assertCompletion(sep + "foo" + sep +"bar" + sep +"j", Completion.create("j", "uu" + sep, false)); assertCompletion(sep + "foo" + sep +"bar" + sep +"juu", Completion.create(sep, false)); assertCompletion(sep + "foo" + sep +"bar" + sep +"juu" + sep, Completion.create());