@Override
protected Result executeImpl(Context context, String... curArgs) {
String rollupName = curArgs[ARG_ROLLUP_NAME];
String kwArgs = curArgs[ARG_KWARGS].trim();
Map<String, String> kwArgsMap = parseKwArgs(kwArgs);
IRollupRule rollupRule = context.getRollupRules().get(rollupName);
if (rollupRule == null)
return new Error("No such rollup rule: " + rollupName);
CommandList commandList = rollupRule.getExpandedCommands(context, kwArgsMap);
commandList.setLogIndentLevel(context.getCommandListIterator().getLogIndentLevel() + 1);
Result result = commandList.execute(context);
return result == SUCCESS ? new Success("Success: " + rollupRule.getName()) : result;
}