public JobLaunchRequest adapt(String request) throws NoSuchJobException {
request = request.trim();
Assert.isTrue(request.matches(PATTERN), "Input in wrong format ("
+ request + "): use jobname([(key=value(,key=value)*])");
String jobName = request.replaceAll(PATTERN, "$1");
Job job = jobLocator.getJob(jobName);
String paramsText = request.replaceAll(PATTERN, "$3");
JobParameters jobParameters = converter.getJobParameters(StringUtils
.splitArrayElementsIntoProperties(paramsText.split(","), "="));
return new JobLaunchRequest(job, jobParameters);
}