Skip to content

Commit

Permalink
MID-9073 ninja now check midpoint-home (-m) option existence if neces…
Browse files Browse the repository at this point in the history
…sary
  • Loading branch information
1azyman committed Sep 23, 2023
1 parent 2fcfcf6 commit 2ff24bb
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ public class StartupConfiguration implements MidpointConfiguration {
private static final String FILE_INDIRECTION_SUFFIX = "fileIndirectionSuffix";

private static final String DEFAULT_FILE_INDIRECTION_SUFFIX = "_FILE";
private static final String DEFAULT_CONFIG_FILE_NAME = "config.xml";
public static final String DEFAULT_CONFIG_FILE_NAME = "config.xml";
private static final String LOGBACK_CONFIG_FILENAME = "logback.xml";
private static final String LOGBACK_EXTRA_CONFIG_FILENAME = "logback-extra.xml";

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
import static com.evolveum.midpoint.common.configuration.api.MidpointConfiguration.REPOSITORY_CONFIGURATION;

import java.io.Closeable;
import java.io.File;
import java.io.PrintStream;
import java.nio.charset.Charset;
import java.util.HashMap;
Expand All @@ -22,9 +23,11 @@

import com.evolveum.midpoint.audit.api.AuditService;
import com.evolveum.midpoint.common.configuration.api.MidpointConfiguration;
import com.evolveum.midpoint.init.StartupConfiguration;
import com.evolveum.midpoint.ninja.action.BaseOptions;
import com.evolveum.midpoint.ninja.action.ConnectionOptions;
import com.evolveum.midpoint.ninja.action.PolyStringNormalizerOptions;
import com.evolveum.midpoint.ninja.util.InputParameterException;
import com.evolveum.midpoint.ninja.util.NinjaUtils;
import com.evolveum.midpoint.prism.PrismContext;
import com.evolveum.midpoint.prism.query.QueryConverter;
Expand Down Expand Up @@ -139,6 +142,8 @@ private synchronized void setupRepositoryViaMidPointHome(ConnectionOptions optio

String midpointHome = options.getMidpointHome();

checkAndWarnMidpointHome(midpointHome);

backupAndUpdateSystemProperty(MidpointConfiguration.MIDPOINT_HOME_PROPERTY, midpointHome);
overrideRepoConfiguration(options);

Expand All @@ -154,6 +159,22 @@ private synchronized void setupRepositoryViaMidPointHome(ConnectionOptions optio
}
}

private void checkAndWarnMidpointHome(String midpointHome) {
if (StringUtils.isEmpty(midpointHome)) {
throw new InputParameterException("Midpoint home " + ConnectionOptions.P_MIDPOINT_HOME + " option expected, but not defined");
}

File file = new File(midpointHome);
if (!file.exists() || !file.isDirectory()) {
throw new InputParameterException("Midpoint home directory '" + midpointHome + "' doesn't exist or is not a directory");
}

File config = new File(file, StartupConfiguration.DEFAULT_CONFIG_FILE_NAME);
if (!config.exists() || config.isDirectory()) {
throw new InputParameterException("Midpoint home config.xml file '" + config.getAbsolutePath() + "' doesn't exist");
}
}

private void backupAndUpdateSystemProperty(String key, String value) {
String oldValue = System.getProperty(key);
systemPropertiesBackup.put(key, oldValue);
Expand Down

0 comments on commit 2ff24bb

Please sign in to comment.