/** * Adds an output parameter on the current sub-process entity. * * @param parentProcessDatafieldName * the parent process variable name * @param subProcessDatafieldName * the sub-process variable name * @return the ProcessBuilder in order to add BPM elements */ public ProcessBuilder addSubProcessOutParameter(final String subProcessDatafieldName, final String parentProcessDatafieldName) { Misc.checkArgsNotNull(parentProcessDatafieldName, subProcessDatafieldName); if ("".equals(subProcessDatafieldName.trim())) { problems.add(new Problem("Sub process datafield name is an empty string.", Problem.SEVERITY_ERROR)); } if ("".equals(parentProcessDatafieldName.trim())) { problems.add(new Problem("Parent process datafield name is an empty string.", Problem.SEVERITY_ERROR)); } final Object obj = peek(ActivityDefinitionImpl.class); if (isActivity(obj)) { final ActivityDefinitionImpl activity = (ActivityDefinitionImpl) obj; activity.addSubflowOutParameter(new SubflowParameterDefinitionImpl(subProcessDatafieldName, parentProcessDatafieldName)); } else { problems.add(new Problem("Unable to add sub process parameter {" + parentProcessDatafieldName + ", " + subProcessDatafieldName + "} on an object of type: " + getClass(obj), Problem.SEVERITY_ERROR)); } return this; }
/** * Adds an output parameter on the current sub-process entity. * * @param parentProcessDatafieldName * the parent process variable name * @param subProcessDatafieldName * the sub-process variable name * @return the ProcessBuilder in order to add BPM elements */ public ProcessBuilder addSubProcessOutParameter(final String subProcessDatafieldName, final String parentProcessDatafieldName) { Misc.checkArgsNotNull(parentProcessDatafieldName, subProcessDatafieldName); if ("".equals(subProcessDatafieldName.trim())) { problems.add(new Problem("Sub process datafield name is an empty string.", Problem.SEVERITY_ERROR)); } if ("".equals(parentProcessDatafieldName.trim())) { problems.add(new Problem("Parent process datafield name is an empty string.", Problem.SEVERITY_ERROR)); } final Object obj = peek(ActivityDefinitionImpl.class); if (isActivity(obj)) { final ActivityDefinitionImpl activity = (ActivityDefinitionImpl) obj; activity.addSubflowOutParameter(new SubflowParameterDefinitionImpl(subProcessDatafieldName, parentProcessDatafieldName)); } else { problems.add(new Problem("Unable to add sub process parameter {" + parentProcessDatafieldName + ", " + subProcessDatafieldName + "} on an object of type: " + getClass(obj), Problem.SEVERITY_ERROR)); } return this; }