org.camunda.bpm.model.bpmn.Bpmn.readModelFromFile()方法的使用及代码示例

x33g5p2x  于2022-01-17 转载在 其他  
字(4.2k)|赞(0)|评价(0)|浏览(389)

本文整理了Java中org.camunda.bpm.model.bpmn.Bpmn.readModelFromFile()方法的一些代码示例,展示了Bpmn.readModelFromFile()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Bpmn.readModelFromFile()方法的具体详情如下:
包路径:org.camunda.bpm.model.bpmn.Bpmn
类名称:Bpmn
方法名:readModelFromFile

Bpmn.readModelFromFile介绍

[英]Allows reading a BpmnModelInstance from a File.
[中]允许从文件中读取BpmnModelInstance。

代码示例

代码示例来源:origin: camunda/camunda-bpm-platform

  1. private static List<String> extractProcessDefinitionKeys(List<String> deployableFileNames) {
  2. ArrayList<String> keys = new ArrayList<String>();
  3. for (String file : deployableFileNames) {
  4. if(file.endsWith(".bpmn") || file.endsWith(".bpmn20.xml")) {
  5. BpmnModelInstance modelInstance = Bpmn.readModelFromFile(new File(file));
  6. Collection<Process> processes = modelInstance.getModelElementsByType(Process.class);
  7. for (Process process : processes) {
  8. if(process.isExecutable()) {
  9. keys.add(process.getId());
  10. }
  11. }
  12. }
  13. }
  14. return keys;
  15. }

代码示例来源:origin: viadee/vPAV

  1. /**
  2. * Map for getting bpmn reference by process id
  3. *
  4. * @param paths
  5. * @return
  6. */
  7. private static Map<String, String> createProcessIdToPathMap(final Set<String> paths) {
  8. final Map<String, String> keyToPathMap = new HashMap<String, String>();
  9. for (final String path : paths) {
  10. // read bpmn file
  11. BpmnModelInstance modelInstance = null;
  12. try {
  13. modelInstance = Bpmn.readModelFromFile(new File(ConfigConstants.BASEPATH + path));
  14. } catch (final BpmnModelException ex) {
  15. throw new RuntimeException("bpmn model couldn't be read", ex);
  16. }
  17. // if bpmn file could read
  18. if (modelInstance != null) {
  19. // find process
  20. final Collection<Process> processes = modelInstance.getModelElementsByType(Process.class);
  21. if (processes != null) {
  22. for (final Process process : processes) {
  23. // save path for each process
  24. keyToPathMap.put(process.getId(), path);
  25. }
  26. }
  27. }
  28. }
  29. return keyToPathMap;
  30. }

代码示例来源:origin: viadee/vPAV

  1. /**
  2. * Read and transform process definition into data flows
  3. *
  4. * @param context
  5. * JavaReaderContext
  6. * @param fileScanner
  7. * FileScanner
  8. * @param calledElementHierarchy
  9. * Collection of Element Hierarchy
  10. * @param callActivityPath
  11. * CallActivityPath
  12. * @param scanner
  13. * OuterProcessVariableScanner
  14. * @return Collection of IGraphs (subgraphs)
  15. */
  16. private Collection<IGraph> createSubDataFlowsFromCallActivity(final JavaReaderContext context,
  17. FileScanner fileScanner, final Collection<String> calledElementHierarchy, final String callActivityPath,
  18. final ProcessVariablesScanner scanner) {
  19. // read called process
  20. final BpmnModelInstance submodel = Bpmn.readModelFromFile(new File(callActivityPath));
  21. // transform process into data flow
  22. final ElementGraphBuilder graphBuilder = new ElementGraphBuilder(decisionRefToPathMap, processIdToPathMap,
  23. messageIdToVariables, processIdToVariables, bpmnScanner);
  24. final Collection<IGraph> subgraphs = graphBuilder.createProcessGraph(context, fileScanner, submodel,
  25. callActivityPath, calledElementHierarchy, scanner);
  26. return subgraphs;
  27. }

代码示例来源:origin: viadee/vPAV

  1. final BpmnModelInstance modelInstance = Bpmn.readModelFromFile(processdefinition);

代码示例来源:origin: viadee/vPAV

  1. public static Collection<ProcessVariable> parseProcessVariables(File modelFile, ApplicationContext ctx) {
  2. RuntimeConfig.getInstance().setApplicationContext(ctx);
  3. RuntimeConfig.getInstance().setBeanMapping(BeanMappingGenerator.generateBeanMappingFile(ctx));
  4. RuntimeConfig.getInstance().setClassLoader(ProcessApplicationValidator.class.getClassLoader());
  5. FileScanner fileScanner = new FileScanner(new HashMap<>(), ConfigConstants.JAVAPATH);
  6. ProcessVariablesScanner variableScanner = readOuterProcessVariables(fileScanner);
  7. BpmnScanner bpmnScanner = createScanner(modelFile);
  8. final BpmnModelInstance modelInstance = Bpmn.readModelFromFile(modelFile);
  9. // hold bpmn elements
  10. final Collection<BaseElement> baseElements = modelInstance
  11. .getModelElementsByType(BaseElement.class);
  12. final ElementGraphBuilder graphBuilder = new ElementGraphBuilder(fileScanner.getDecisionRefToPathMap(),
  13. fileScanner.getProcessIdToPathMap(), variableScanner.getMessageIdToVariableMap(),
  14. variableScanner.getProcessIdToVariableMap(), bpmnScanner);
  15. final Collection<BpmnElement> bpmnElements =
  16. BpmnModelDispatcher.getBpmnElements(modelFile, baseElements, graphBuilder);
  17. return BpmnModelDispatcher.getProcessVariables(bpmnElements);
  18. }

代码示例来源:origin: viadee/vPAV

  1. final BpmnModelInstance modelInstance = Bpmn.readModelFromFile(processdefinition);

相关文章