AnsweredAssumed Answered

Activiti Designer Bugs with CallActivity Tasks

Question asked by rogernexus on Aug 21, 2014
Latest reply on Aug 30, 2014 by jbarrez
Hey there,

while customizing the Activiti Designer i found 2 Bugs on CallActivity Tasks. I don't know where i can report bugs of Activiti Designer, so move it to the right direction or tell me where/how i can.
The Target Expression column will never be saved, it should be saved or the column should be removed

In code you can find it here: org.activiti.bpmn.converter.CallActivityXMLConverter

    public void parseChildElement(XMLStreamReader xtr, BaseElement parentElement, BpmnModel model) throws Exception {
      String source = xtr.getAttributeValue(null, ATTRIBUTE_IOPARAMETER_SOURCE);
      String sourceExpression = xtr.getAttributeValue(null, ATTRIBUTE_IOPARAMETER_SOURCE_EXPRESSION);
      String target = xtr.getAttributeValue(null, ATTRIBUTE_IOPARAMETER_TARGET);
      if((StringUtils.isNotEmpty(source) || StringUtils.isNotEmpty(sourceExpression)) && StringUtils.isNotEmpty(target)) {
       
        IOParameter parameter = new IOParameter();
        if(StringUtils.isNotEmpty(sourceExpression)) {
          parameter.setSourceExpression(sourceExpression);
        } else {
          parameter.setSource(source);
        }
       
        parameter.setTarget(target);
       
        ((CallActivity) parentElement).getInParameters().add(parameter);
      }
    }


The other one is a NullPointException everytime you try to paste a copied CallActivity.
In code you can find it here: /org.activiti.designer.gui/src/main/java/org/activiti/designer/util/CloneUtil

        if (element instanceof Activity && element instanceof UserTask == false) {
            List<ActivitiListener> resultListenerList = new ArrayList<ActivitiListener>();
            for (ActivitiListener listener : ((Activity ) element)
                    .getExecutionListeners()) {
                resultListenerList.add(clone(listener));
            }
            ((Activity) cloneElement)
                    .setExecutionListeners(resultListenerList);


the cloneElement is always null, there is something missing like
cloneElement = clone((Activity) element, diagram);

and a clone-Method for Activity-Type

Outcomes