// replace any non-word character with an underscore
processDefinitionKey = processDefinitionName.replaceAll("\\W", "_");
processDefinition.setKey(processDefinitionKey);
}
RepositorySession repositorySession = EnvironmentImpl.getFromCurrent(RepositorySession.class);
List<ProcessDefinition> existingProcesses = repositorySession.createProcessDefinitionQuery()
.processDefinitionName(processDefinitionName)
.list();
for (ProcessDefinition existingProcess: existingProcesses) {
if (!processDefinitionKey.equals(existingProcess.getKey())) {
deployment.addProblem("invalid key '"+processDefinitionKey+"' in process "+processDefinition.getName()+". Existing process has name '"+processDefinitionName+"' and key '"+processDefinitionKey+"'");
}
}
existingProcesses = repositorySession.createProcessDefinitionQuery()
.processDefinitionKey(processDefinitionKey)
.list();
for (ProcessDefinition existingProcess: existingProcesses) {
if (!processDefinitionName.equals(existingProcess.getName())) {