52 lines
1.3 KiB
Java
52 lines
1.3 KiB
Java
package commands.benchmark;
|
|
|
|
import java.util.List;
|
|
|
|
import commands.benchmark.core.BenchmarkCommand;
|
|
import commands.benchmark.core.BenchmarkEntry;
|
|
import commands.benchmark.core.BenchmarkFormattable;
|
|
import commands.benchmark.core.BenchmarkInput;
|
|
import commands.benchmark.core.BenchmarkManager;
|
|
|
|
public class BenchmarkCommandFind extends BenchmarkCommand
|
|
{
|
|
private final String lineDelimiter = "\n";
|
|
private final int listMax = 30;
|
|
|
|
public BenchmarkFormattable onRun(BenchmarkManager manager, BenchmarkInput input)
|
|
{
|
|
String output = "";
|
|
String searchString = input.value.trim();
|
|
|
|
List<BenchmarkEntry> entries = manager.findModel(searchString);
|
|
|
|
if(entries.size() > 0)
|
|
{
|
|
output += "```" + lineDelimiter;
|
|
int max = entries.size();
|
|
|
|
boolean fencepost = true;
|
|
for(int i = 0; i < entries.size() && i < listMax; ++i)
|
|
{
|
|
BenchmarkEntry entry = entries.get(i);
|
|
if(!fencepost)
|
|
output += lineDelimiter;
|
|
|
|
fencepost = false;
|
|
output += entry.type + ": "+ entry.model;
|
|
}
|
|
|
|
if(max > listMax)
|
|
output += lineDelimiter + lineDelimiter + "Plus " + (max - listMax) + " more items...";
|
|
|
|
output += "```";
|
|
}
|
|
else
|
|
{
|
|
output = "Couldn't find any models matching the search `" + searchString + "`!";
|
|
}
|
|
|
|
return new BenchmarkFormattable(output);
|
|
}
|
|
}
|