Collection<PluginType> items = entry.getValue();
consoleReader.printString(category);
consoleReader.printNewline();
for (PluginType metadata : items) {
for (PluginArtifactType instance : metadata.getPluginArtifact()) {
PluginType copy = PluginInstallerGBean.copy(metadata, instance);
available.add(copy);
DeployUtils.printTo(" " + available.size() + ": ", 10, consoleReader);
DeployUtils.println(metadata.getName() + " (" + instance.getModuleId().getVersion() + ")", 0, consoleReader);
}
}
}
if (available.size() == 0) {
consoleReader.printNewline();
consoleReader.printString("No plugins from this site are eligible for installation.");
consoleReader.printNewline();
return null;
}
consoleReader.printNewline();
consoleReader.flushConsole();
String answer = consoleReader.readLine("Install Services [enter a comma separated list of numbers or 'q' to quit]: ").trim();
if (answer.equalsIgnoreCase("q")) {
return null;
}
PluginListType list = new PluginListType();
for (String instance : answer.split(",")) {
int selection = Integer.parseInt(instance.trim());
PluginType target = available.get(selection - 1);
list.getPlugin().add(target);
}
if (repo != null) {
list.getDefaultRepository().add(repo);
}