protected void addSubprocessItemDefs(ItemDefinition itemdef) { _subprocessItemDefs.put(itemdef.getId(), itemdef); } }
public void revisitItemDefinitions(Definitions def) { List<String> itemIds = new ArrayList<String>(); for (RootElement root : def.getRootElements()) { if (root instanceof ItemDefinition) { if (!itemIds.contains(root.getId())) { itemIds.add(root.getId()); } else { ItemDefinition idef = (ItemDefinition) root; Random rand = new Random(); int randomNum = rand.nextInt((1000 - 10) + 1) + 10; idef.setId(idef.getId() + randomNum); } } } }
private Property getProcessProperty(List<Property> properties, String id, String itemSubjectRef) { for (Property property : properties) { if (id.equals(property.getId())) { if (itemSubjectRef.equals(property.getItemSubjectRef().getId())) { return property; } else { return null; } } } return null; }
private Property getProcessProperty(List<Property> properties, String id, String itemSubjectRef) { for (Property property : properties) { if (id.equals(property.getId()) || id.equals(property.getName())) { if (itemSubjectRef.equals(property.getItemSubjectRef().getId())) { return property; } else { return null; } } } return null; }
@Test public void testAddSubprocessItemDefs() throws Exception { final List<ItemDefinition> itemDefinitionList = new ArrayList<>(3); final ItemDefinition itemDefinition1 = mock(ItemDefinition.class); when(itemDefinition1.getId()).thenReturn("mockItemDefinition1"); itemDefinitionList.add(itemDefinition1); final ItemDefinition itemDefinition2 = mock(ItemDefinition.class); when(itemDefinition2.getId()).thenReturn("mockItemDefinition2"); itemDefinitionList.add(itemDefinition2); final ItemDefinition itemDefinition3 = mock(ItemDefinition.class); when(itemDefinition3.getId()).thenReturn("mockItemDefinition3"); itemDefinitionList.add(itemDefinition3); itemDefinitionList.stream().forEach(i -> tested.addSubprocessItemDefs(i)); final List<RootElement> rootElementList = new ArrayList<>(3); final Definitions definitions = mock(Definitions.class); when(definitions.getRootElements()).thenReturn(rootElementList); tested.revisitSubProcessItemDefs(definitions); assertTrue(rootElementList.containsAll(itemDefinitionList)); rootElementList.clear(); tested.revisitSubProcessItemDefs(definitions); assertTrue(rootElementList.isEmpty()); } }
private void validateDataInputOrOutput(ItemAwareElement itemAwareElement, String idSuffix, String dataType, String itemSubjectRefSuffix) { assertNotNull(itemAwareElement); assertTrue(itemAwareElement.getId().endsWith(idSuffix)); ItemDefinition itemDefinition = itemAwareElement.getItemSubjectRef(); assertNotNull(itemDefinition); assertTrue(itemDefinition.getStructureRef().equals(dataType)); assertTrue(itemDefinition.getId().endsWith(itemSubjectRefSuffix)); }
@Test public void marshallUnassignedDeclaration() throws Exception { String id = "PARENT"; String decl = "||Foo:String||"; StartEvent startEvent = bpmn2.createStartEvent(); startEvent.setId(id); CatchEventPropertyWriter p = new CatchEventPropertyWriter(startEvent, new FlatVariableScope()); p.setAssignmentsInfo(new AssignmentsInfo(decl)); assertEquals(1, p.getItemDefinitions().size()); assertEquals(Ids.dataOutputItem(id, "Foo"), p.getItemDefinitions().get(0).getId()); assertEquals("String", p.getItemDefinitions().get(0).getStructureRef()); assertEquals(1, startEvent.getDataOutputs().size()); assertEquals("Foo", startEvent.getDataOutputs().get(0).getName()); assertEquals(0, startEvent.getDataOutputAssociation().size()); }
private void validateDataInputOrOutput(ItemAwareElement itemAwareElement, String idSuffix, String dataType, String itemSubjectRefSuffix) { assertNotNull(itemAwareElement); assertTrue(itemAwareElement.getId().endsWith(idSuffix)); ItemDefinition itemDefinition = itemAwareElement.getItemSubjectRef(); assertNotNull(itemDefinition); assertEquals(itemDefinition.getStructureRef(), (dataType)); assertTrue(itemDefinition.getId().endsWith(itemSubjectRefSuffix)); }
for (DataInput din : taskDataInputs) { if (din != null && din.getItemSubjectRef() != null && taskmi.getInputDataItem() != null && taskmi.getInputDataItem().getItemSubjectRef() != null) { if (din.getItemSubjectRef().getId().equals(taskmi.getInputDataItem().getItemSubjectRef().getId())) { properties.put("multipleinstancedatainput", din.getName()); for (DataOutput dout : taskDataOutputs) { if (dout != null && dout.getItemSubjectRef() != null && taskmi.getOutputDataItem() != null && taskmi.getOutputDataItem().getItemSubjectRef() != null) { if (dout.getItemSubjectRef().getId().equals(taskmi.getOutputDataItem().getItemSubjectRef().getId())) { properties.put("multipleinstancedataoutput", dout.getName());
break; if (din.getItemSubjectRef() != null && din.getItemSubjectRef().getId().equals(taskmi.getInputDataItem().getItemSubjectRef().getId())) { properties.put(MULTIPLEINSTANCEDATAINPUT, din.getName()); break; if (dout.getItemSubjectRef() != null && dout.getItemSubjectRef().getId().equals(taskmi.getOutputDataItem().getItemSubjectRef().getId())) { properties.put(MULTIPLEINSTANCEDATAOUTPUT, dout.getName());