use of org.ow2.proactive_grid_cloud_portal.cli.CLIException in project scheduling by ow2-proactive.
the class InstallPackageCommand method execute.
@Override
public void execute(ApplicationContext currentContext) throws CLIException {
SchedulerRestInterface scheduler = currentContext.getRestClient().getScheduler();
ScriptResult scriptResult;
Map<String, Object> schedulerProperties;
String packageDirPath;
try {
packageDirPath = retrievePackagePath();
schedulerProperties = retrieveSchedulerProperties(currentContext, scheduler);
addSessionIdToSchedulerProperties(currentContext, schedulerProperties);
scriptResult = executeScript(schedulerProperties, packageDirPath);
if (scriptResult.errorOccured()) {
logger.error("Failed to execute script: " + SCRIPT_PATH);
throw new InvalidScriptException("Failed to execute script: " + scriptResult.getException().getMessage(), scriptResult.getException());
} else {
writeLine(currentContext, "Package('%s') successfully installed in the catalog", SOURCE_PACKAGE);
}
} catch (Exception e) {
handleError(String.format("An error occurred while attempting to install package('%s') in the catalog", SOURCE_PACKAGE), e, currentContext);
}
}
use of org.ow2.proactive_grid_cloud_portal.cli.CLIException in project scheduling by ow2-proactive.
the class JobKeyValueTransformer method transformVariablesToMap.
public Map<String, String> transformVariablesToMap(String jsonVariables) {
Map<String, String> jobVariables = Maps.newHashMap();
if (jsonVariables != null) {
try {
jobVariables = (JSONObject) new JSONParser().parse(jsonVariables);
validateJSONVariables(jobVariables);
} catch (ParseException | IllegalArgumentException e) {
throw new CLIException(REASON_INVALID_ARGUMENTS, e.getMessage() + USAGE);
}
}
return jobVariables;
}
use of org.ow2.proactive_grid_cloud_portal.cli.CLIException in project scheduling by ow2-proactive.
the class KillJobCommand method execute.
@Override
public void execute(ApplicationContext currentContext) throws CLIException {
SchedulerRestInterface scheduler = currentContext.getRestClient().getScheduler();
try {
boolean success = scheduler.killJob(currentContext.getSessionId(), jobId);
resultStack(currentContext).push(success);
if (success) {
writeLine(currentContext, "%s successfully killed.", job());
} else {
writeLine(currentContext, "Cannot kill %s:", job());
}
} catch (Exception e) {
handleError(String.format("An error occurred while attempting to kill %s:", job()), e, currentContext);
}
}
use of org.ow2.proactive_grid_cloud_portal.cli.CLIException in project scheduling by ow2-proactive.
the class LinkRmCommand method execute.
@Override
public void execute(ApplicationContext currentContext) throws CLIException {
SchedulerRestInterface scheduler = currentContext.getRestClient().getScheduler();
try {
boolean success = scheduler.linkRm(currentContext.getSessionId(), rmUrl);
resultStack(currentContext).push(success);
if (success) {
writeLine(currentContext, "New resource manager relinked successfully.");
} else {
writeLine(currentContext, "Cannot relink '%s'.", rmUrl);
}
} catch (Exception e) {
handleError("An error occurred while relinking:", e, currentContext);
}
}
use of org.ow2.proactive_grid_cloud_portal.cli.CLIException in project scheduling by ow2-proactive.
the class ListJobTasksCommand method execute.
@Override
public void execute(ApplicationContext currentContext) throws CLIException {
SchedulerRestInterface scheduler = currentContext.getRestClient().getScheduler();
try {
List<String> tasks = null;
if (this.tag != null) {
if (this.limit == 0) {
tasks = scheduler.getJobTasksIdsByTag(currentContext.getSessionId(), jobId, tag).getList();
} else {
tasks = scheduler.getJobTasksIdsByTagPaginated(currentContext.getSessionId(), jobId, tag, offset, limit).getList();
}
} else {
if (this.limit == 0) {
tasks = scheduler.getTasksNames(currentContext.getSessionId(), jobId).getList();
} else {
tasks = scheduler.getTasksNamesPaginated(currentContext.getSessionId(), jobId, offset, limit).getList();
}
}
resultStack(currentContext).push(tasks);
if (!currentContext.isSilent()) {
writeLine(currentContext, "%s", tasks);
}
} catch (Exception e) {
String message = null;
if (this.tag == null) {
message = String.format("An error occurred while retrieving %s tasks:", job());
} else {
message = String.format("An error occurred while retrieving %s tasks filtered by tag %s:", job(), tag);
}
handleError(message, e, currentContext);
}
}
Aggregations