Package com.cisco.surf.activiti.tests

Source Code of com.cisco.surf.activiti.tests.GenDiagTest

package com.cisco.surf.activiti.tests;

import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;

import junit.framework.TestCase;

import org.activiti.engine.ProcessEngine;
import org.activiti.engine.ProcessEngineConfiguration;
import org.activiti.engine.RepositoryService;
import org.activiti.engine.RuntimeService;
import org.activiti.engine.impl.bpmn.diagram.ProcessDiagramGenerator;
import org.activiti.engine.impl.persistence.entity.ProcessDefinitionEntity;
import org.activiti.engine.repository.Deployment;
import org.activiti.engine.repository.DeploymentBuilder;
import org.activiti.engine.repository.ProcessDefinition;
import org.apache.commons.io.IOUtils;

public class GenDiagTest extends TestCase{
   
    public void testGenDiag() throws Exception{
        ProcessEngine eng = ProcessEngineConfiguration
                            .createStandaloneInMemProcessEngineConfiguration()
                            .buildProcessEngine();
       
        System.out.println("engine version: "+eng.VERSION);
       
        RepositoryService repoSvc = eng.getRepositoryService();
        RuntimeService rtSvc = eng.getRuntimeService();
       
        String wfn = "/diagrams/GenDiag.bpmn";
        String wffn = wfn+"20.xml"; // workaround for http://forums.activiti.org/en/viewtopic.php?f=8&t=3745&start=10
        DeploymentBuilder db = repoSvc
                               .createDeployment()
                               .addInputStream(wffn,this.getClass().getResourceAsStream(wfn));
       
        Deployment d = db.deploy();
        ProcessDefinition pDef = repoSvc
                                 .createProcessDefinitionQuery()
                                 .deploymentId(d.getId())
                                 .singleResult();
       
        try {
            InputStream ds = ProcessDiagramGenerator.generatePngDiagram((ProcessDefinitionEntity)pDef);
            OutputStream os = new FileOutputStream("target/diag.png");
            IOUtils.copy(ds,os);
            os.close();
        } catch (Exception e) {
            e.printStackTrace();
            throw e;
        }
    }
}
TOP

Related Classes of com.cisco.surf.activiti.tests.GenDiagTest

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.