protected WorkflowType getWorkflowType(String interfaceName, Method method, Execute executeAnnotation) {
assert (method != null);
assert (executeAnnotation != null);
WorkflowType workflowType = new WorkflowType();
String workflowName = null;
if (executeAnnotation.name() != null && !executeAnnotation.name().isEmpty()) {
workflowName = executeAnnotation.name();
}
else {
workflowName = interfaceName + "." + method.getName();
}
if (executeAnnotation.version().isEmpty()) {
throw new IllegalArgumentException(
"Empty value of the required \"version\" parameter of the @Execute annotation found on "
+ getMethodFullName(method));
}
workflowType.setName(workflowName);
workflowType.setVersion(executeAnnotation.version());
return workflowType;
}