package org.camunda.bpm.extension.osgi.commands.completer;
import java.util.List;
import org.apache.karaf.shell.console.Completer;
import org.apache.karaf.shell.console.completer.StringsCompleter;
import org.camunda.bpm.engine.ProcessEngine;
import org.camunda.bpm.engine.repository.ProcessDefinition;
/**
* Autocomplete helper lists available process definition ids..
*/
public class ProcessDefinitionCompleter implements Completer {
private final ProcessEngine engine;
public ProcessDefinitionCompleter(ProcessEngine engine) {
this.engine = engine;
}
@Override
public int complete(String s, int i, List<String> strings) {
StringsCompleter delegate = new StringsCompleter();
try {
List<ProcessDefinition> definitions = engine.getRepositoryService().createProcessDefinitionQuery().list();
for (ProcessDefinition d : definitions) {
delegate.getStrings().add(d.getId());
}
} catch (Exception ex) {
ex.printStackTrace();
}
return delegate.complete(s, i, strings);
}
}