Skip to content

Commit

Permalink
cleanup within ninja commands
Browse files Browse the repository at this point in the history
  • Loading branch information
1azyman committed May 16, 2023
1 parent fc98022 commit 7befa52
Show file tree
Hide file tree
Showing 6 changed files with 27 additions and 205 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ protected <T> void run(String[] args) {

NinjaContext context = null;
try {
Action<T> action = Command.createRepositoryAction(parsedCommand);
Action<T> action = Command.createAction(parsedCommand);

if (action == null) {
System.err.println("Action for command '" + parsedCommand + "' not found");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@

import com.evolveum.midpoint.ninja.action.Action;

public class UpgradeObjectsAction extends Action<Void> {
public class UpgradeAction extends Action<UpgradeOptions> {

private static final Class<? extends UpgradeStep>[] STEPS = new Class[] {
// todo upgrade initial objects, also all other objecst that can be upgraded before midpoint version/DB/midpoint home was upgraded
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
/*
* Copyright (C) 2010-2023 Evolveum and contributors
*
* This work is dual-licensed under the Apache License 2.0
* and European Union Public License. See LICENSE file for details.
*/

package com.evolveum.midpoint.ninja.action.upgrade;

import com.beust.jcommander.Parameters;

@Parameters(resourceBundle = "messages", commandDescription = "upgrade")
public class UpgradeOptions {
}
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@
import com.evolveum.midpoint.ninja.action.audit.ImportAuditOptions;
import com.evolveum.midpoint.ninja.action.audit.ImportAuditRepositoryAction;
import com.evolveum.midpoint.ninja.action.trace.EditTraceAction;
import com.evolveum.midpoint.ninja.action.upgrade.UpgradeAction;
import com.evolveum.midpoint.ninja.action.upgrade.UpgradeOptions;
import com.evolveum.midpoint.ninja.opts.*;

/**
Expand All @@ -37,20 +39,22 @@ public enum Command {

EXPORT_AUDIT("exportAudit", ExportAuditOptions.class, ExportAuditRepositoryAction.class),

TRACE("trace", EditTraceOptions.class, EditTraceAction.class);
TRACE("trace", EditTraceOptions.class, EditTraceAction.class),

UPGRADE("upgrade", UpgradeOptions.class, UpgradeAction.class);

// todo reencrypt, modify, bulk, etc

private final String commandName;

private final Class<?> options;

private final Class<? extends RepositoryAction<?>> repositoryAction;
private final Class<? extends Action<?>> action;

<T> Command(String commandName, Class<T> options, Class<? extends RepositoryAction<T>> repositoryAction) {
<T> Command(String commandName, Class<T> options, Class<? extends Action<T>> action) {
this.commandName = commandName;
this.options = options;
this.repositoryAction = repositoryAction;
this.action = action;
}

public String getCommandName() {
Expand All @@ -65,19 +69,19 @@ public Object createOptions() {
}
}

public static <T> RepositoryAction<T> createRepositoryAction(String command) {
public static <T> Action<T> createAction(String command) {
Command cmd = findCommand(command);
if (cmd == null) {
return null;
}

try {
if (cmd.repositoryAction == null) {
if (cmd.action == null) {
return null;
}

//noinspection unchecked
return (RepositoryAction<T>) cmd.repositoryAction.getDeclaredConstructor().newInstance();
return (Action<T>) cmd.action.getDeclaredConstructor().newInstance();
} catch (Exception ex) {
throw new IllegalStateException(ex);
}
Expand Down

This file was deleted.

This file was deleted.

0 comments on commit 7befa52

Please sign in to comment.