protected void updateDiagramProperties(final String name, final Node<Definition<BPMNDiagram>, ?> diagramNode, final M metadata) { // Default initializations. final Optional<DiagramSet> diagramSet = Optional.ofNullable(diagramNode) .map(Node::<Definition<BPMNDiagram>>getContent) .map(Definition::getDefinition) .map(BPMNDiagram::getDiagramSet); diagramSet .map(DiagramSet::getId) .filter(id -> Objects.isNull(id.getValue())) .ifPresent(id -> id.setValue(metadata.getTitle())); diagramSet .map(DiagramSet::getName) .filter(attr -> Objects.isNull(attr.getValue())) .ifPresent(attr -> attr.setValue(name)); }
@Test @SuppressWarnings("unchecked") public void testBuildWithAttributesSet() { final String id2 = "id"; final String name2 = "name2"; this.id.setValue(id2); name.setValue(name2); ProjectDiagram pdiagram = tested.build(NAME, metadata, graph); assertEquals(id2, this.id.getValue()); assertEquals(name2, name.getValue()); }
private void updateDiagramProperties( final String name, final Graph<DefinitionSet, ?> graph, final ProjectMetadata metadata) { final Node<Definition<BPMNDiagram>, ?> diagramNode = getFirstDiagramNode( graph ); if ( null == diagramNode ) { throw new IllegalStateException( "A BPMN Diagram is expected to be present on BPMN Diagram graphs." ); } final BPMNDiagram diagram = diagramNode.getContent().getDefinition(); final String id = diagram.getDiagramSet().getId().getValue(); final String projectName = null != metadata.getProjectName() ? metadata.getProjectName() + "." : ""; if ( null == id || diagram.getDiagramSet().getId().getDefaultValue().equals( id ) ) { diagram.getDiagramSet().getId().setValue( projectName + name ); } final String p = diagram.getDiagramSet().getPackageProperty().getValue(); if ( null == p ) { String metadataPackage = metadata.getProjectPackage(); if ( metadataPackage == null || metadataPackage.isEmpty() ) { diagram.getDiagramSet().getPackageProperty().setValue( diagram.getDiagramSet().getPackageProperty().DEFAULT_PACKAGE ); } else { diagram.getDiagramSet().getPackageProperty().setValue( metadata.getProjectPackage() ); } } final String diagramName = diagram.getGeneral().getName().getValue(); if ( null == diagramName || diagramName.isEmpty() ) { diagram.getGeneral().getName().setValue( name ); } }
@Override public ServiceTask build() { final ServiceTask serviceTask = newInstance(); final String name = workItemDefinition.getName(); setProperties(workItemDefinition, serviceTask); serviceTask.getExecutionSet().getTaskName().setValue(name); serviceTask.getGeneral().getName().setValue(workItemDefinition.getDisplayName()); serviceTask.getGeneral().getDocumentation().setValue(workItemDefinition.getDocumentation()); serviceTask.setDescription(workItemDefinition.getDescription()); serviceTask.getDataIOSet() .getAssignmentsinfo() .setValue(workItemDefinition.getParameters() + workItemDefinition.getResults()); return serviceTask; }