Java Code Examples for org.activiti.engine.RepositoryService

9 篇文章 0 订阅
8 篇文章 0 订阅

转自:https://www.programcreek.com/java-api-examples/index.php?api=org.activiti.engine.RepositoryService

The following are top voted examples for showing how to use org.activiti.engine.RepositoryService. These examples are extracted from open source projects. You can vote up the examples you like and your votes will be used in our system to generate more good examples.

+ Save this class

Example 1

Project: lemon   File: ConsoleController.java   View source code7 votesvote downvote up
/**
 * 发布流程.
 */
@RequestMapping("console-deploy")
public String deploy(@RequestParam("xml") String xml) throws Exception {
    RepositoryService repositoryService = processEngine
            .getRepositoryService();
    ByteArrayInputStream bais = new ByteArrayInputStream(
            xml.getBytes("UTF-8"));
    Deployment deployment = repositoryService.createDeployment()
            .addInputStream("process.bpmn20.xml", bais).deploy();
    List<ProcessDefinition> processDefinitions = repositoryService
            .createProcessDefinitionQuery()
            .deploymentId(deployment.getId()).list();

    for (ProcessDefinition processDefinition : processDefinitions) {
        processEngine.getManagementService().executeCommand(
                new SyncProcessCmd(processDefinition.getId()));
    }

    return "redirect:/bpm/console-listProcessDefinitions.do";
}
 

 

Example 2

Project: lemon   File: ConsoleController.java   View source code6 votesvote downvote up
/**
 * 显示流程定义的xml.
 */
@RequestMapping("console-viewXml")
public void viewXml(
        @RequestParam("processDefinitionId") String processDefinitionId,
        HttpServletResponse response) throws Exception {
    RepositoryService repositoryService = processEngine
            .getRepositoryService();
    ProcessDefinition processDefinition = repositoryService
            .createProcessDefinitionQuery()
            .processDefinitionId(processDefinitionId).singleResult();
    String resourceName = processDefinition.getResourceName();
    InputStream resourceAsStream = repositoryService.getResourceAsStream(
            processDefinition.getDeploymentId(), resourceName);
    response.setContentType("text/xml;charset=UTF-8");
    IOUtils.copy(resourceAsStream, response.getOutputStream());
}
 

 

Example 3

Project: lemon   File: ModelerController.java   View source code6 votesvote downvote up
@RequestMapping("modeler-open")
public String open(@RequestParam(value = "id", required = false) String id)
        throws Exception {
    RepositoryService repositoryService = processEngine
            .getRepositoryService();
    Model model = null;

    if (!StringUtils.isEmpty(id)) {
        model = repositoryService.getModel(id);
    }

    if (model == null) {
        model = repositoryService.newModel();
        repositoryService.saveModel(model);
        id = model.getId();
    }

    // return "redirect:/cdn/modeler/editor.html?id=" + id;
    //return "redirect:/widgets/modeler/modeler.html?modelId=" + id;
    return "redirect:/cdn/modeler/modeler.html?modelId=" + id;
}
 

 

Example 4

Project: lemon   File: ModelerController.java   View source code6 votesvote downvote up
@RequestMapping("model/{modelId}/save")
@ResponseBody
public String modelSave(@PathVariable("modelId") String modelId,
        @RequestParam("description") String description,
        @RequestParam("json_xml") String jsonXml,
        @RequestParam("name") String name,
        @RequestParam("svg_xml") String svgXml) throws Exception {
    RepositoryService repositoryService = processEngine
            .getRepositoryService();
    Model model = repositoryService.getModel(modelId);
    model.setName(name);
    // model.setMetaInfo(root.toString());
    logger.info("jsonXml : {}", jsonXml);
    repositoryService.saveModel(model);
    repositoryService.addModelEditorSource(model.getId(),
            jsonXml.getBytes("utf-8"));

    return "{}";
}
 

Example 5

Project: cf-mta-deploy-service   File: MockDelegateExecution.java   View source code6 votesvote downvote up
@Override
public EngineServices getEngineServices() {
    if (this.engineServicesMock != null) {
        return this.engineServicesMock;
    }

    this.engineServicesMock = mock(EngineServices.class);
    when(engineServicesMock.getFormService()).thenReturn(mock(FormService.class));
    when(engineServicesMock.getHistoryService()).thenReturn(mock(HistoryService.class));
    when(engineServicesMock.getIdentityService()).thenReturn(mock(IdentityService.class));
    when(engineServicesMock.getManagementService()).thenReturn(mock(ManagementService.class));
    when(engineServicesMock.getRepositoryService()).thenReturn(mock(RepositoryService.class));
    when(engineServicesMock.getRuntimeService()).thenReturn(mock(RuntimeService.class));
    when(engineServicesMock.getTaskService()).thenReturn(mock(TaskService.class));

    return engineServicesMock;
}
 

Example 6

Project: study   File: Test01.java   View source code6 votesvote downvote up
@Test
public void getImage() throws IOException {
    ProcessEngine processEngine = ProcessEngineConfiguration.createProcessEngineConfigurationFromResource("activiti.cfg.xml").buildProcessEngine();
    logger.info("### ============= 创建Activiti流程引擎实例, {}", processEngine);

    RepositoryService repositoryService = processEngine.getRepositoryService();

    //通过流程ID(XML上写的)找到流程
    ProcessDefinition processDefinition = repositoryService.createProcessDefinitionQuery()
            .processDefinitionId("请假流程:2:10004")
            .singleResult();
    String diagramResourceName = processDefinition.getDiagramResourceName();
    logger.info(diagramResourceName);
    InputStream imageStream = repositoryService.getResourceAsStream(processDefinition.getDeploymentId(), diagramResourceName);

    FileUtils.writeByteArrayToFile(new File("F:\\123456.png"),IOUtils.toByteArray(imageStream));
    imageStream.close();

    processEngine.close();
}
 

Example 7

Project: flowable-engine   File: SingleResourceAutoDeploymentStrategy.java   View source code6 votesvote downvote up
@Override
public void deployResources(final String deploymentNameHint, final Resource[] resources, final RepositoryService repositoryService) {

    // Create a separate deployment for each resource using the resource
    // name

    for (final Resource resource : resources) {

        final String resourceName = determineResourceName(resource);
        final DeploymentBuilder deploymentBuilder = repositoryService.createDeployment().enableDuplicateFiltering().name(resourceName);

        try {
            if (resourceName.endsWith(".bar") || resourceName.endsWith(".zip") || resourceName.endsWith(".jar")) {
                deploymentBuilder.addZipInputStream(new ZipInputStream(resource.getInputStream()));
            } else {
                deploymentBuilder.addInputStream(resourceName, resource.getInputStream());
            }
        } catch (IOException e) {
            throw new ActivitiException("couldn't auto deploy resource '" + resource + "': " + e.getMessage(), e);
        }

        deploymentBuilder.deploy();
    }
}
 

Example 8

Project: flowable-engine   File: DefaultAutoDeploymentStrategy.java   View source code6 votesvote downvote up
@Override
public void deployResources(final String deploymentNameHint, final Resource[] resources, final RepositoryService repositoryService) {

    // Create a single deployment for all resources using the name hint as
    // the literal name
    final DeploymentBuilder deploymentBuilder = repositoryService.createDeployment().enableDuplicateFiltering().name(deploymentNameHint);

    for (final Resource resource : resources) {
        final String resourceName = determineResourceName(resource);

        try {
            if (resourceName.endsWith(".bar") || resourceName.endsWith(".zip") || resourceName.endsWith(".jar")) {
                deploymentBuilder.addZipInputStream(new ZipInputStream(resource.getInputStream()));
            } else {
                deploymentBuilder.addInputStream(resourceName, resource.getInputStream());
            }
        } catch (IOException e) {
            throw new ActivitiException("couldn't auto deploy resource '" + resource + "': " + e.getMessage(), e);
        }
    }

    deploymentBuilder.deploy();

}
 

Example 9

Project: bamboobsc   File: TestBPMN001.java   View source code6 votesvote downvote up
@Test
public void queryProcessDefinition() throws Exception {
	
	RepositoryService repositoryService = (RepositoryService) AppContext.getBean("repositoryService");
	ProcessDefinitionQuery processDefinitionQuery = repositoryService.createProcessDefinitionQuery();
	List<ProcessDefinition> processDefs = processDefinitionQuery
		.processDefinitionKey("Employee360DegreeFeedbackProjectPublishProcess")
		.orderByProcessDefinitionVersion()
		.desc()
		.list();
	for (ProcessDefinition pd : processDefs) {
		System.out.println( pd.getId() + " , " + pd.getName() + " , " 
				+ pd.getKey() + " , " + pd.getVersion() );
		ProcessDefinitionImpl pdObj = (ProcessDefinitionImpl)repositoryService.getProcessDefinition(pd.getId());
		System.out.println(pdObj.getActivities());
	}
	
}
 

Example 10

Project: myjavacode   File: VerySimpleLeaveProcessTest.java   View source code6 votesvote downvote up
@Test
public void testStartProcess() throws Exception {
    // 创建流程引擎,使用内存数据库
    ProcessEngine processEngine = ProcessEngineConfiguration
            .createStandaloneInMemProcessEngineConfiguration()
            .buildProcessEngine();

    // 部署流程定义文件
    RepositoryService repositoryService = processEngine.getRepositoryService();
    String processFileName = "me/kafeitu/activiti/helloworld/sayhelloleave.bpmn";
    repositoryService.createDeployment().addClasspathResource(processFileName)
            .deploy();

    // 验证已部署流程定义
    ProcessDefinition processDefinition = repositoryService
            .createProcessDefinitionQuery().singleResult();
    assertEquals("leavesayhello", processDefinition.getKey());

    // 启动流程并返回流程实例
    RuntimeService runtimeService = processEngine.getRuntimeService();
    ProcessInstance processInstance = runtimeService
            .startProcessInstanceByKey("leavesayhello");
    assertNotNull(processInstance);
    System.out.println("pid=" + processInstance.getId() + ", pdid="
            + processInstance.getProcessDefinitionId());
}
 

Example 11

Project: myjavacode   File: InitProcessEngineBySpringAnnotation.java   View source code6 votesvote downvote up
public static void main(String[] args) {
    AnnotationConfigApplicationContext ctx =
            new AnnotationConfigApplicationContext();
    ctx.register(SpringAnnotationConfiguration.class);
    ctx.refresh();

    assertNotNull(ctx.getBean(ProcessEngine.class));
    assertNotNull(ctx.getBean(RuntimeService.class));
    TaskService bean = ctx.getBean(TaskService.class);
    assertNotNull(bean);
    assertNotNull(ctx.getBean(HistoryService.class));
    assertNotNull(ctx.getBean(RepositoryService.class));
    assertNotNull(ctx.getBean(ManagementService.class));
    assertNotNull(ctx.getBean(FormService.class));
    Task task = bean.newTask();
    task.setName("哈哈");
    bean.saveTask(task);
}
 

Example 12

Project: myjavacode   File: ActivitiWithMuleTest.java   View source code6 votesvote downvote up
@Test
public void testSpringMaster() throws Exception {
    ApplicationContext ctx = new ClassPathXmlApplicationContext("mule/spring-master/spring-master.xml");

    MuleContext mc = (MuleContext) ctx.getBean("_muleContext");
    mc.start();

    RepositoryService repositoryService = (RepositoryService) ctx.getBean("repositoryService");
    repositoryService.createDeployment().addClasspathResource("mule/leaveWithMule.bpmn").deploy();

    RuntimeService runtimeService = (RuntimeService) ctx.getBean("runtimeService");

    Map<String, Object> variableMap = new HashMap<String, Object>();
    variableMap.put("days", 5);
    runtimeService.startProcessInstanceByKey("leaveWithMule", variableMap);

    TaskService taskService = (TaskService) ctx.getBean("taskService");
    Task task = taskService.createTaskQuery().singleResult();
    assertNotNull(task);
    assertEquals("部门经理审批", task.getName());

    mc.stop();
}
 

Example 13

Project: activiti-in-action-codes   File: VerySimpleLeaveProcessTest.java   View source code6 votesvote downvote up
@Test
public void testStartProcess() throws Exception {
    // 创建流程引擎,使用内存数据库
    ProcessEngine processEngine = ProcessEngineConfiguration
            .createStandaloneInMemProcessEngineConfiguration()
            .buildProcessEngine();

    // 部署流程定义文件
    RepositoryService repositoryService = processEngine.getRepositoryService();
    String processFileName = "me/kafeitu/activiti/helloworld/sayhelloleave.bpmn";
    repositoryService.createDeployment().addClasspathResource(processFileName)
            .deploy();

    // 验证已部署流程定义
    ProcessDefinition processDefinition = repositoryService
            .createProcessDefinitionQuery().singleResult();
    assertEquals("leavesayhello", processDefinition.getKey());

    // 启动流程并返回流程实例
    RuntimeService runtimeService = processEngine.getRuntimeService();
    ProcessInstance processInstance = runtimeService
            .startProcessInstanceByKey("leavesayhello");
    assertNotNull(processInstance);
    System.out.println("pid=" + processInstance.getId() + ", pdid="
            + processInstance.getProcessDefinitionId());
}
 

Example 14

Project: activiti-in-action-codes   File: InitProcessEngineBySpringAnnotation.java   View source code6 votesvote downvote up
public static void main(String[] args) {
    AnnotationConfigApplicationContext ctx =
            new AnnotationConfigApplicationContext();
    ctx.register(SpringAnnotationConfiguration.class);
    ctx.refresh();

    assertNotNull(ctx.getBean(ProcessEngine.class));
    assertNotNull(ctx.getBean(RuntimeService.class));
    TaskService bean = ctx.getBean(TaskService.class);
    assertNotNull(bean);
    assertNotNull(ctx.getBean(HistoryService.class));
    assertNotNull(ctx.getBean(RepositoryService.class));
    assertNotNull(ctx.getBean(ManagementService.class));
    assertNotNull(ctx.getBean(FormService.class));
    Task task = bean.newTask();
    task.setName("哈哈");
    bean.saveTask(task);
}
 

Example 15

Project: activiti-in-action-codes   File: ActivitiWithMuleTest.java   View source code6 votesvote downvote up
@Test
public void testSpringMaster() throws Exception {
    ApplicationContext ctx = new ClassPathXmlApplicationContext("mule/spring-master/spring-master.xml");

    MuleContext mc = (MuleContext) ctx.getBean("_muleContext");
    mc.start();

    RepositoryService repositoryService = (RepositoryService) ctx.getBean("repositoryService");
    repositoryService.createDeployment().addClasspathResource("mule/leaveWithMule.bpmn").deploy();

    RuntimeService runtimeService = (RuntimeService) ctx.getBean("runtimeService");

    Map<String, Object> variableMap = new HashMap<String, Object>();
    variableMap.put("days", 5);
    runtimeService.startProcessInstanceByKey("leaveWithMule", variableMap);

    TaskService taskService = (TaskService) ctx.getBean("taskService");
    Task task = taskService.createTaskQuery().singleResult();
    assertNotNull(task);
    assertEquals("部门经理审批", task.getName());

    mc.stop();
}
 

Example 16

Project: spring4-springmvc4-mybatis3-activiti   File: CompensationBoundaryEvent.java   View source code6 votesvote downvote up
public static void main(String[] args) {
	// 创建流程引擎
	ProcessEngine engine = ProcessEngines
			.getDefaultProcessEngine();
	// 得到流程存储服务组件
	RepositoryService repositoryService = engine.getRepositoryService();
	// 得到运行时服务组件
	RuntimeService runtimeService = engine.getRuntimeService();
	// 部署流程文件
	repositoryService.createDeployment()
			.addClasspathResource("com/roger/activiti/workflow/CompensationBoundaryEvent.bpmn").deploy();
	// 初始化参数
	Map<String, Object> vars = new HashMap<String, Object>();
	vars.put("result", false);
	runtimeService.startProcessInstanceByKey("cbProcess", vars);
}
 

Example 17

Project: spring4-springmvc4-mybatis3-activiti   File: SignalThrowingEvent.java   View source code6 votesvote downvote up
public static void main(String[] args) {
	// 创建流程引擎
	ProcessEngine engine = ProcessEngines.getDefaultProcessEngine();
	// 得到流程存储服务组件
	RepositoryService repositoryService = engine.getRepositoryService();
	// 得到运行时服务组件
	RuntimeService runtimeService = engine.getRuntimeService();
	// 得到任务服务组件
	TaskService taskService = engine.getTaskService();
	// 得到管理服务组件
	ManagementService managementService = engine.getManagementService();
	// 部署流程文件
	repositoryService.createDeployment()
			.addClasspathResource("bpmn/SignalThrowingEvent.bpmn").deploy();
	// 启动流程
	runtimeService.startProcessInstanceByKey("stProcess");
	// 完成选择商品任务
	Task firstTask = taskService.createTaskQuery().singleResult();
	taskService.complete(firstTask.getId());
	// 完成用户支付任务
	Task payTask = taskService.createTaskQuery().singleResult();
	taskService.complete(payTask.getId());
	// 由于使用了异步的中间Throwing事件,因此会产生2条工作数据
	List<Job> jobs = managementService.createJobQuery().list();
	System.out.println(jobs.size());
}
 

Example 18

Project: spring4-springmvc4-mybatis3-activiti   File: TimerCatchingEvent.java   View source code6 votesvote downvote up
public static void main(String[] args) throws Exception {
	// 创建流程引擎
	ProcessEngineImpl engine = (ProcessEngineImpl)ProcessEngines
			.getDefaultProcessEngine();
	// 启动JobExecutor
	engine.getProcessEngineConfiguration().getJobExecutor().start();
	// 得到流程存储服务组件
	RepositoryService repositoryService = engine.getRepositoryService();
	// 得到运行时服务组件
	RuntimeService runtimeService = engine.getRuntimeService();
	TaskService taskService = engine.getTaskService();
	// 部署流程文件
	repositoryService.createDeployment()
			.addClasspathResource("bpmn/TimerCatchingEvent.bpmn").deploy();
	// 启动流程
	runtimeService.startProcessInstanceByKey("tcProcess");
	// 查询当前任务
	Task currentTask = taskService.createTaskQuery().singleResult();
	taskService.complete(currentTask.getId());
	Thread.sleep(1000 * 61);
	// 重新查询当前任务
	currentTask = taskService.createTaskQuery().singleResult();
	System.out.println("定时器中间事件的触发后任务:" + currentTask.getName());
	//关闭JobExecutor
	engine.getProcessEngineConfiguration().getJobExecutor().shutdown();
}
 

Example 19

Project: spring4-springmvc4-mybatis3-activiti   File: MessageCatchingEvent.java   View source code6 votesvote downvote up
public static void main(String[] args) {
	// 创建流程引擎
	ProcessEngine engine = ProcessEngines.getDefaultProcessEngine();
	// 得到流程存储服务组件
	RepositoryService repositoryService = engine.getRepositoryService();
	// 得到运行时服务组件
	RuntimeService runtimeService = engine.getRuntimeService();
	TaskService taskService = engine.getTaskService();
	// 部署流程文件
	repositoryService.createDeployment()
			.addClasspathResource("bpmn/MessageCatchingEvent.bpmn").deploy();
	// 启动流程
	ProcessInstance pi = runtimeService.startProcessInstanceByKey("mcProcess");
	Execution exe = runtimeService.createExecutionQuery().activityId("messageintermediatecatchevent1").singleResult();
	runtimeService.messageEventReceived("myMsg", exe.getId());
	// 输出当前的任务
	List<Task> tasks = taskService.createTaskQuery().list();
	for (Task task : tasks) {
		System.out.println(task.getName());
	}
}
 

Example 20

Project: spring4-springmvc4-mybatis3-activiti   File: ErrorBoundaryEvent.java   View source code6 votesvote downvote up
public static void main(String[] args) {
	// 创建流程引擎
	ProcessEngine engine = ProcessEngines
			.getDefaultProcessEngine();
	// 得到流程存储服务组件
	RepositoryService repositoryService = engine.getRepositoryService();
	// 得到运行时服务组件
	RuntimeService runtimeService = engine.getRuntimeService();
	// 获取流程任务组件
	TaskService taskService = engine.getTaskService();
	// 部署流程文件
	repositoryService.createDeployment()
			.addClasspathResource("bpmn/ErrorBoundaryEvent.bpmn").deploy();
	// 启动流程
	runtimeService.startProcessInstanceByKey("ebProcess");
	// 进行任务查询
	Task task = taskService.createTaskQuery().singleResult();
	System.out.println(task.getName());
}
 

Example 21

Project: spring4-springmvc4-mybatis3-activiti   File: SignalCatchingEvent.java   View source code6 votesvote downvote up
public static void main(String[] args) {
	// 创建流程引擎
	ProcessEngine engine = ProcessEngines.getDefaultProcessEngine();
	// 得到流程存储服务组件
	RepositoryService repositoryService = engine.getRepositoryService();
	// 得到运行时服务组件
	RuntimeService runtimeService = engine.getRuntimeService();
	TaskService taskService = engine.getTaskService();
	// 部署流程文件
	repositoryService.createDeployment()
			.addClasspathResource("bpmn/SignalCatchingEvent.bpmn").deploy();
	// 启动流程
	runtimeService.startProcessInstanceByKey("scProcess");
	Task firstTask = taskService.createTaskQuery().singleResult();
	taskService.complete(firstTask.getId());
	// 此时会出现并行的两个流程分支,查找用户任务并完成
	Task payTask = taskService.createTaskQuery().singleResult();
	// 完成任务
	taskService.complete(payTask.getId());
	// 发送信号完成支付
	runtimeService.signalEventReceived("finishPay");
	Task finishTask = taskService.createTaskQuery().singleResult();
	System.out.println("当前流程任务:" + finishTask.getName());
}
 

Example 22

Project: spring-boot-with-activiti-drools-example   File: ProcessTestMyProcess.java   View source code6 votesvote downvote up
@Test
public void startProcess() throws Exception
{
    RepositoryService repositoryService = activitiRule.getRepositoryService();
    // TODO:Assembel the process deployment with configuration.
    // @see:
    repositoryService.createDeployment().addClasspathResource("diagrams/BusinessRuleLoanProcess.bpmn")
        .addClasspathResource("diagrams/BusinessRuleLoanProcess.png")
        .addClasspathResource("diagrams/LoanRequestRules.drl").enableDuplicateFiltering()
        .name("businessRuleLoanProcessSimple").deploy();
    // repositoryService.createDeployment().addInputStream("BusinessRuleLoanProcess.bpmn",
    // new FileInputStream(filename)).deploy();
    RuntimeService runtimeService = activitiRule.getRuntimeService();
    Map<String, Object> variableMap = new HashMap<String, Object>();
    variableMap.put("name", "Nadim");
    variableMap.put("amount", 2400L);
    variableMap.put("salary", 10000L);
    ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("myProcess", variableMap);
    assertNotNull(processInstance.getId());
    System.out.println("id " + processInstance.getId() + " " + processInstance.getProcessDefinitionId());
}
 

Example 23

Project: carbon-business-process   File: BPMNDeploymentService.java   View source code6 votesvote downvote up
public String getProcessDiagram(String processId) throws BPSFault {
        Integer tenantId = CarbonContext.getThreadLocalCarbonContext().getTenantId();
        try {
            RepositoryService repositoryService = BPMNServerHolder.getInstance().getEngine().getRepositoryService();
            ProcessDefinition processDefinition = repositoryService.createProcessDefinitionQuery().processDefinitionTenantId(tenantId.toString())
                    .processDefinitionId(processId)
                    .singleResult();
            String diagramResourceName = processDefinition.getDiagramResourceName();
            InputStream imageStream = repositoryService.getResourceAsStream(processDefinition.getDeploymentId(), diagramResourceName);
            BufferedImage bufferedImage = ImageIO.read(imageStream);
            return encodeToString(bufferedImage, "png");
        }
        catch (IOException e) {
            String msg = "Failed to create the diagram for process: " + processId;
//            log.error(msg, e);
            throw new BPSFault(msg, e);
        }
    }
 

Example 24

Project: carbon-business-process   File: ProcessDefinitionService.java   View source code6 votesvote downvote up
@GET
@Path("/{processDefinitionId}/identitylinks/{family}/{identityId}")
@Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
public Response getIdentityLink(@PathParam("processDefinitionId") String processDefinitionId, @PathParam("family") String family,
                                @PathParam("identityId") String identityId) {

    ProcessDefinition processDefinition = getProcessDefinitionFromRequest(processDefinitionId);
    validateIdentityLinkArguments(family, identityId);

    RepositoryService repositoryService = BPMNOSGIService.getRepositoryService();

    // Check if identitylink to get exists
    IdentityLink link = getIdentityLink(family, identityId, processDefinition.getId(), repositoryService);
    return Response.ok().entity(new RestResponseFactory().createRestIdentityLink(link, uriInfo.getBaseUri().toString()))
            .build();
}
 

Example 25

Project: carbon-business-process   File: ProcessDefinitionService.java   View source code6 votesvote downvote up
protected IdentityLink getIdentityLink(String family, String identityId, String processDefinitionId,
                                       RepositoryService repositoryService) {
    boolean isUser = family.equals(RestUrls.SEGMENT_IDENTITYLINKS_FAMILY_USERS);

    // Perhaps it would be better to offer getting a single identitylink from
    // the API
    List<IdentityLink> allLinks = repositoryService.getIdentityLinksForProcessDefinition(processDefinitionId);
    for (IdentityLink link : allLinks) {
        boolean rightIdentity;
        if (isUser) {
            rightIdentity = identityId.equals(link.getUserId());
        } else {
            rightIdentity = identityId.equals(link.getGroupId());
        }

        if (rightIdentity && link.getType().equals(IdentityLinkType.CANDIDATE)) {
            return link;
        }
    }
    throw new ActivitiObjectNotFoundException("Could not find the requested identity link.", IdentityLink.class);
}
 

Example 26

Project: carbon-business-process   File: ProcessDefinitionService.java   View source code6 votesvote downvote up
/**
 * This method will activate the given process definition
 *
 * @param processDefinitionId            Process definition id
 * @param processDefinitionActionRequest Process definition activate request
 * @return Successfully activated then HTTP Response Code 200
 * If already activated then HTTP Response Code 409
 * If process definition is not found then HTTP Response Code 404
 */
protected Response activateProcessDefinition(String processDefinitionId,
        ProcessDefinitionActionRequest processDefinitionActionRequest) {
    RepositoryService repositoryService = BPMNOSGIService.getRepositoryService();
    ProcessDefinition processDefinition = repositoryService.getProcessDefinition(processDefinitionId);
    if (processDefinition != null) {
        if (!processDefinition.isSuspended()) {
            return Response.status(HttpStatus.SC_CONFLICT).build();
        }
        repositoryService.activateProcessDefinitionById(processDefinition.getId(),
                processDefinitionActionRequest.isIncludeProcessInstances(),
                processDefinitionActionRequest.getDate());

        return Response.ok().build();
    }
    return Response.status(HttpStatus.SC_NOT_FOUND).build();
}
 

Example 27

Project: carbon-business-process   File: ProcessDefinitionService.java   View source code6 votesvote downvote up
/**
 * This method will suspend the given process definition
 *
 * @param processDefinitionId            Process definition id
 * @param processDefinitionActionRequest Process definition suspend request
 * @return Successfully suspended then HTTP Response Code 200
 * If already suspended then HTTP Response Code 409
 * If process definition is not found then HTTP Response Code 404
 */
protected Response suspendProcessDefinition(String processDefinitionId,
        ProcessDefinitionActionRequest processDefinitionActionRequest) {
    RepositoryService repositoryService = BPMNOSGIService.getRepositoryService();
    ProcessDefinition processDefinition = repositoryService.getProcessDefinition(processDefinitionId);
    if (processDefinition != null) {
        if (processDefinition.isSuspended()) {
            return Response.status(HttpStatus.SC_CONFLICT).build();
        }
        repositoryService.suspendProcessDefinitionById(processDefinition.getId(),
                processDefinitionActionRequest.isIncludeProcessInstances(),
                processDefinitionActionRequest.getDate());
        return Response.ok().build();
    }
    return Response.status(HttpStatus.SC_NOT_FOUND).build();
}
 

Example 28

Project: carbon-business-process   File: DeploymentService.java   View source code6 votesvote downvote up
@GET
@Path("/{deploymentId}")
@Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
public Response getDeployment(@PathParam("deploymentId") String deploymentId) {

    RepositoryService repositoryService = BPMNOSGIService.getRepositoryService();
    Deployment deployment = repositoryService.createDeploymentQuery().deploymentId(deploymentId).singleResult();

    if (deployment == null) {
        throw new ActivitiObjectNotFoundException("Could not find a deployment with deploymentId '" + deploymentId + "'.",
                Deployment.class);
    }

    DeploymentResponse deploymentResponse = new RestResponseFactory().createDeploymentResponse(deployment, uriInfo.getBaseUri().toString());
    return Response.ok().entity(deploymentResponse).build();
}
 

Example 29

Project: carbon-business-process   File: DeploymentService.java   View source code6 votesvote downvote up
@GET
@Path("/{deploymentId}/resources")
@Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
public Response getDeploymentResources(@PathParam("deploymentId") String deploymentId) {

    RepositoryService repositoryService = BPMNOSGIService.getRepositoryService();
    // Check if deployment exists
    Deployment deployment = repositoryService.createDeploymentQuery().deploymentId(deploymentId).singleResult();
    if (deployment == null) {
        throw new ActivitiObjectNotFoundException("Could not find a deployment with id '" + deploymentId + "'.", Deployment.class);
    }

    List<String> resourceList = repositoryService.getDeploymentResourceNames(deploymentId);
    DeploymentResourceResponseCollection deploymentResourceResponseCollection = new RestResponseFactory().createDeploymentResourceResponseList(deploymentId, resourceList, uriInfo.getBaseUri().toString());

    return Response.ok().entity(deploymentResourceResponseCollection).build();
}
 

Example 30

Project: carbon-business-process   File: ProcessStatisticsService.java   View source code6 votesvote downvote up
/**
 * Get all deployed processes
 *
 * @return list with the processDefinitions of all deployed processes
 */
@GET
@Path("/processes/")
@Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
public ResponseHolder getAllProcesses() {
    //Get a list of the deployed processes
    RepositoryService repositoryService = BPMNOSGIService.getRepositoryService();
    List<ProcessDefinition> processDefinitionList = repositoryService.
            createProcessDefinitionQuery().processDefinitionTenantId(getTenantIdStr()).list();
    List<Object> listOfProcesses = new ArrayList<>();
    ResponseHolder response = new ResponseHolder();
    for (ProcessDefinition processDefinition : processDefinitionList) {
        listOfProcesses.add(processDefinition.getId());
    }

    response.setData(listOfProcesses);
    return response;
}
 

Example 31

Project: carbon-business-process   File: ProcessInstanceService.java   View source code6 votesvote downvote up
@GET
@Path("/{processInstanceId}/diagram")
@Produces(MediaType.APPLICATION_JSON)
public Response getProcessInstanceDiagram(@PathParam("processInstanceId") String processInstanceId) {
    ProcessInstance processInstance = getProcessInstanceFromRequest(processInstanceId);

    RepositoryService repositoryService = BPMNOSGIService.getRepositoryService();
    ProcessDefinition pde = repositoryService.getProcessDefinition(processInstance.getProcessDefinitionId());

    if (pde != null && pde.hasGraphicalNotation()) {
        RuntimeService runtimeService = BPMNOSGIService.getRuntimeService();

        InputStream diagramStream = new DefaultProcessDiagramGenerator().generateDiagram(repositoryService
                        .getBpmnModel(pde.getId()), "png",
                runtimeService.getActiveActivityIds(processInstanceId));
        try {
            return Response.ok().type("image/png").entity(IOUtils.toByteArray(diagramStream)).build();
        } catch (Exception e) {
            throw new ActivitiIllegalArgumentException("Error exporting diagram", e);
        }

    } else {
        throw new ActivitiIllegalArgumentException("Process instance with id '" + processInstance.getId()
                + "' has no graphical notation defined.");
    }
}
 

Example 32

Project: spring4-springmvc4-mybatis3-activiti   File: CompensationBoundaryEvent.java   View source code6 votesvote downvote up
public static void main(String[] args) {
	// 创建流程引擎
	ProcessEngine engine = ProcessEngines
			.getDefaultProcessEngine();
	// 得到流程存储服务组件
	RepositoryService repositoryService = engine.getRepositoryService();
	// 得到运行时服务组件
	RuntimeService runtimeService = engine.getRuntimeService();
	// 部署流程文件
	repositoryService.createDeployment()
			.addClasspathResource("com/roger/activiti/workflow/CompensationBoundaryEvent.bpmn").deploy();
	// 初始化参数
	Map<String, Object> vars = new HashMap<String, Object>();
	vars.put("result", false);
	runtimeService.startProcessInstanceByKey("cbProcess", vars);
}
 

Example 33

Project: spring4-springmvc4-mybatis3-activiti   File: SignalThrowingEvent.java   View source code6 votesvote downvote up
public static void main(String[] args) {
	// 创建流程引擎
	ProcessEngine engine = ProcessEngines.getDefaultProcessEngine();
	// 得到流程存储服务组件
	RepositoryService repositoryService = engine.getRepositoryService();
	// 得到运行时服务组件
	RuntimeService runtimeService = engine.getRuntimeService();
	// 得到任务服务组件
	TaskService taskService = engine.getTaskService();
	// 得到管理服务组件
	ManagementService managementService = engine.getManagementService();
	// 部署流程文件
	repositoryService.createDeployment()
			.addClasspathResource("bpmn/SignalThrowingEvent.bpmn").deploy();
	// 启动流程
	runtimeService.startProcessInstanceByKey("stProcess");
	// 完成选择商品任务
	Task firstTask = taskService.createTaskQuery().singleResult();
	taskService.complete(firstTask.getId());
	// 完成用户支付任务
	Task payTask = taskService.createTaskQuery().singleResult();
	taskService.complete(payTask.getId());
	// 由于使用了异步的中间Throwing事件,因此会产生2条工作数据
	List<Job> jobs = managementService.createJobQuery().list();
	System.out.println(jobs.size());
}
 

Example 34

Project: spring4-springmvc4-mybatis3-activiti   File: TimerCatchingEvent.java   View source code6 votesvote downvote up
public static void main(String[] args) throws Exception {
	// 创建流程引擎
	ProcessEngineImpl engine = (ProcessEngineImpl)ProcessEngines
			.getDefaultProcessEngine();
	// 启动JobExecutor
	engine.getProcessEngineConfiguration().getJobExecutor().start();
	// 得到流程存储服务组件
	RepositoryService repositoryService = engine.getRepositoryService();
	// 得到运行时服务组件
	RuntimeService runtimeService = engine.getRuntimeService();
	TaskService taskService = engine.getTaskService();
	// 部署流程文件
	repositoryService.createDeployment()
			.addClasspathResource("bpmn/TimerCatchingEvent.bpmn").deploy();
	// 启动流程
	runtimeService.startProcessInstanceByKey("tcProcess");
	// 查询当前任务
	Task currentTask = taskService.createTaskQuery().singleResult();
	taskService.complete(currentTask.getId());
	Thread.sleep(1000 * 61);
	// 重新查询当前任务
	currentTask = taskService.createTaskQuery().singleResult();
	System.out.println("定时器中间事件的触发后任务:" + currentTask.getName());
	//关闭JobExecutor
	engine.getProcessEngineConfiguration().getJobExecutor().shutdown();
}
 

Example 35

Project: spring4-springmvc4-mybatis3-activiti   File: MessageCatchingEvent.java   View source code6 votesvote downvote up
public static void main(String[] args) {
	// 创建流程引擎
	ProcessEngine engine = ProcessEngines.getDefaultProcessEngine();
	// 得到流程存储服务组件
	RepositoryService repositoryService = engine.getRepositoryService();
	// 得到运行时服务组件
	RuntimeService runtimeService = engine.getRuntimeService();
	TaskService taskService = engine.getTaskService();
	// 部署流程文件
	repositoryService.createDeployment()
			.addClasspathResource("bpmn/MessageCatchingEvent.bpmn").deploy();
	// 启动流程
	ProcessInstance pi = runtimeService.startProcessInstanceByKey("mcProcess");
	Execution exe = runtimeService.createExecutionQuery().activityId("messageintermediatecatchevent1").singleResult();
	runtimeService.messageEventReceived("myMsg", exe.getId());
	// 输出当前的任务
	List<Task> tasks = taskService.createTaskQuery().list();
	for (Task task : tasks) {
		System.out.println(task.getName());
	}
}
 

Example 36

Project: spring4-springmvc4-mybatis3-activiti   File: ErrorBoundaryEvent.java   View source code6 votesvote downvote up
public static void main(String[] args) {
	// 创建流程引擎
	ProcessEngine engine = ProcessEngines
			.getDefaultProcessEngine();
	// 得到流程存储服务组件
	RepositoryService repositoryService = engine.getRepositoryService();
	// 得到运行时服务组件
	RuntimeService runtimeService = engine.getRuntimeService();
	// 获取流程任务组件
	TaskService taskService = engine.getTaskService();
	// 部署流程文件
	repositoryService.createDeployment()
			.addClasspathResource("bpmn/ErrorBoundaryEvent.bpmn").deploy();
	// 启动流程
	runtimeService.startProcessInstanceByKey("ebProcess");
	// 进行任务查询
	Task task = taskService.createTaskQuery().singleResult();
	System.out.println(task.getName());
}
 

Example 37

Project: spring4-springmvc4-mybatis3-activiti   File: SignalCatchingEvent.java   View source code6 votesvote downvote up
public static void main(String[] args) {
	// 创建流程引擎
	ProcessEngine engine = ProcessEngines.getDefaultProcessEngine();
	// 得到流程存储服务组件
	RepositoryService repositoryService = engine.getRepositoryService();
	// 得到运行时服务组件
	RuntimeService runtimeService = engine.getRuntimeService();
	TaskService taskService = engine.getTaskService();
	// 部署流程文件
	repositoryService.createDeployment()
			.addClasspathResource("bpmn/SignalCatchingEvent.bpmn").deploy();
	// 启动流程
	runtimeService.startProcessInstanceByKey("scProcess");
	Task firstTask = taskService.createTaskQuery().singleResult();
	taskService.complete(firstTask.getId());
	// 此时会出现并行的两个流程分支,查找用户任务并完成
	Task payTask = taskService.createTaskQuery().singleResult();
	// 完成任务
	taskService.complete(payTask.getId());
	// 发送信号完成支付
	runtimeService.signalEventReceived("finishPay");
	Task finishTask = taskService.createTaskQuery().singleResult();
	System.out.println("当前流程任务:" + finishTask.getName());
}
 

Example 38

Project: javaconfig-ftw   File: Main.java   View source code6 votesvote downvote up
public static void main(String[] args) throws Throwable {

        AnnotationConfigApplicationContext ac = new AnnotationConfigApplicationContext();
        ac.register(ActivitiConfiguration.class);
        ac.refresh();
        ac.registerShutdownHook();

        CustomerService customerService = ac.getBean(CustomerService.class);
        RepositoryService repositoryService = ac.getBean(RepositoryService.class);

        repositoryService.createDeployment()
                .addClasspathResource("org/activiti/spring/test/components/javaconfig-1.bpmn20.xml")
                .deploy();

        String processInstanceId;
        processInstanceId = customerService.startFulfillment(10L);
        System.out.println("just finished process " + processInstanceId);

        processInstanceId = customerService.startFulfillment(12L);
        System.out.println("just finished process " + processInstanceId);

    }
 

Example 39

Project: example-bpmn-dot-render   File: ProcessDefinitionImageServlet.java   View source code6 votesvote downvote up
/**
 * 
 * @param queryType
 * @param keyType
 * @param idOrKeyValue
 * @return diagram resource name
 * @throws ProcessDefinitionNotFoundException
 * @throws ProcessInstanceNotFoundException
 * @throws NoDiagramException
 */
private ProcessDefinition pd(QueryType queryType, KeyType keyType,
		String idOrKeyValue) throws ProcessDefinitionNotFoundException, ProcessInstanceNotFoundException, NoDiagramException {

	String pdid = processDefinitionIdFrom(queryType, keyType, idOrKeyValue);
	RepositoryService repo = repo();
	ProcessDefinition processDefinition = repo
		.createProcessDefinitionQuery()
		.processDefinitionId(pdid)
		.singleResult();
	if (processDefinition == null) {
		throw new ProcessDefinitionNotFoundException();
	}

	return processDefinition;
	
}
 

Example 40

Project: incubator-provisionr   File: ListActivitiCommand.java   View source code6 votesvote downvote up
private void printDeployments(PrintWriter out, RepositoryService repo) {

        List<Deployment> depList = repo.createDeploymentQuery().orderByDeploymenTime().asc().list();

        out.println();
        out.println("Activiti Deployments");
        out.println("--------------------");
        if (depList.isEmpty()) {
            out.println("No Activiti Deployments Found.");
            return;
        }

        TextTable txtTable = new TextTable(3);

        txtTable.addHeaders("ID", "Name", "Deployment Time");
        for (Deployment dep : depList) {
            txtTable.addRow(dep.getId(), dep.getName(), formatDate(dep.getDeploymentTime()));
        }
        txtTable.print(out);
    }
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值