public void parseCollaboration ( ) { Element collaboration = rootElement . element ( "collaboration" ) ; if ( collaboration != null ) { for ( Element participant : collaboration . elements ( "participant" ) ) { String processRef = participant . attribute ( "processRef" ) ; if ( processRef != null ) { ProcessDefinitionImpl procDef = getProcessDefinition ( processRef ) ; if ( procDef != null ) { // Set participant process on the procDef, so it can get rendered // later on if needed ParticipantProcess participantProcess = new ParticipantProcess ( ) ; participantProcess . setId ( participant . attribute ( "id" ) ) ; participantProcess . setName ( participant . attribute ( "name" ) ) ; procDef . setParticipantProcess ( participantProcess ) ; participantProcesses . put ( participantProcess . getId ( ) , processRef ) ; } } } } }
Parses the collaboration definition defined within the definitions root element and get all participants to lookup their process references during DI parsing .