public function invokeSubCommand($controllerCommandName, ConsoleOutput $output, NodeType $nodeType = null, $workspaceName = 'live', $dryRun = false, $cleanup = true, $skip = null, $only = null)
{
$this->output = $output;
$commandMethods = ['generateUriPathSegments' => ['cleanup' => false], 'removeContentDimensionsFromRootAndSitesNode' => ['cleanup' => true]];
$skipCommandNames = Arrays::trimExplode(',', $skip === null ? '' : $skip);
$onlyCommandNames = Arrays::trimExplode(',', $only === null ? '' : $only);
switch ($controllerCommandName) {
case 'repair':
foreach ($commandMethods as $commandMethodName => $commandMethodConfiguration) {
if (in_array($commandMethodName, $skipCommandNames)) {
continue;
}
if ($onlyCommandNames !== [] && !in_array($commandMethodName, $onlyCommandNames)) {
continue;
}
if (!$cleanup && $commandMethodConfiguration['cleanup']) {
continue;
}
$this->{$commandMethodName}($workspaceName, $dryRun, $nodeType);
}
}
}