LOG.info("Starting a new CM Synergy session for \"" + session.getName()
+ "\".");
// Create CM Synergy startup command
ManagedCommandline cmd = new ManagedCommandline(ccmExe);
cmd.createArgument().setValue("start");
cmd.createArgument().setValue("-q");
cmd.createArgument().setValue("-nogui");
cmd.createArgument().setValue("-m");
cmd.createArgument().setValue("-d");
cmd.createArgument().setValue(session.getDatabase());
cmd.createArgument().setValue("-r");
cmd.createArgument().setValue(session.getRole());
cmd.createArgument().setValue("-n");
cmd.createArgument().setValue(session.getUser());
cmd.createArgument().setValue("-pw");
cmd.createArgument().setValue(session.getPassword());
if (session.getHost() != null) {
cmd.createArgument().setValue("-h");
cmd.createArgument().setValue(session.getHost());
}
try {
cmd.execute();
cmd.assertExitCode(0);
} catch (Exception e) {
LOG.error("Could not start a CM Synergy session for "
+ session.getName(), e);
return null;
}
return cmd.getStdoutAsString().trim();
}