Package org.activiti.editor.language.xml

Source Code of org.activiti.editor.language.xml.CustomNamespaceAttributeConverterTest

package org.activiti.editor.language.xml;

import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;

import java.util.List;
import java.util.Map;

import org.activiti.bpmn.model.BpmnModel;
import org.activiti.bpmn.model.ExtensionAttribute;
import org.activiti.bpmn.model.FlowElement;
import org.activiti.bpmn.model.Process;
import org.activiti.bpmn.model.UserTask;
import org.junit.Test;

public class CustomNamespaceAttributeConverterTest extends AbstractConverterTest {

  @Test
  public void convertXMLToModel() throws Exception {
    BpmnModel bpmnModel = readXMLFile();
    validateModel(bpmnModel);
  }
 
  @Test
  public void convertModelToXML() throws Exception {
    BpmnModel bpmnModel = readXMLFile();
    BpmnModel parsedModel = exportAndReadXMLFile(bpmnModel);
    validateModel(parsedModel);
    deployProcess(parsedModel);
  }
 
  protected String getResource() {
    return "customnamespaceattributemodel.bpmn";
  }
 
  private void validateModel(BpmnModel model) {
    Process process = model.getMainProcess();
    assertNotNull(process.getAttributes());
    assertEquals(1, process.getAttributes().size());
    List<ExtensionAttribute> attributes = process.getAttributes().get("version");
    assertNotNull(attributes);
    assertEquals(1, attributes.size());
    ExtensionAttribute attribute = attributes.get(0);
    //custom:version = "9"
    assertNotNull(attribute);
    assertEquals("http://custom.org/bpmn", attribute.getNamespace());
    assertEquals("custom", attribute.getNamespacePrefix());
    assertEquals("version", attribute.getName());
    assertEquals("9", attribute.getValue());

    FlowElement flowElement = model.getMainProcess().getFlowElement("usertask");
    assertNotNull(flowElement);
    assertTrue(flowElement instanceof UserTask);
    assertEquals("usertask", flowElement.getId());
    UserTask userTask = (UserTask) flowElement;
    assertEquals("usertask", userTask.getId());
    assertEquals("User Task", userTask.getName());
   
    Map<String, List<ExtensionAttribute>> attributesMap = userTask.getAttributes();
    assertNotNull(attributesMap);
    assertEquals(2, attributesMap.size());

    attributes = attributesMap.get("id");
    assertNotNull(attributes);
    assertEquals(1, attributes.size());
    ExtensionAttribute a = attributes.get(0);
    assertNotNull(a);
    assertEquals("id", a.getName());
    assertEquals("test", a.getValue());
    assertEquals("custom2", a.getNamespacePrefix());
    assertEquals("http://custom2.org/bpmn", a.getNamespace());
   
    attributes = attributesMap.get("attr");
    assertNotNull(attributes);
    assertEquals(1, attributes.size());
    a = attributes.get(0);
    assertNotNull(a);
    assertEquals("attr", a.getName());
    assertEquals("attrValue", a.getValue());
    assertEquals("custom2", a.getNamespacePrefix());
    assertEquals("http://custom2.org/bpmn", a.getNamespace());
  }
}
TOP

Related Classes of org.activiti.editor.language.xml.CustomNamespaceAttributeConverterTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.