Skip to content

Commit

Permalink
Add Freemarker template to generate CSV with stakeholders
Browse files Browse the repository at this point in the history
  • Loading branch information
stefan-ka committed Aug 13, 2024
1 parent 15d8b2a commit 8762a63
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
Context,Stakeholder Group,Stakeholder,description,influence,interest
<#list stakeholders as stakeholderContainer>
<#assign stakeholderGroups = stakeholderContainer.stakeholders?filter(s -> instanceOf(s, StakeholderGroup))>
<#assign singleStakeholders = stakeholderContainer.stakeholders?filter(s -> instanceOf(s, Stakeholder))>
<#if stakeholderContainer.contexts?has_content><#assign contextDescription = stakeholderContainer.contexts?map(c -> c.name)?join("; ")><#else><#assign contextDescription = ""></#if>
<#list stakeholderGroups as sg>
<#list sg.stakeholders as stakeholder>
${contextDescription},${sg.name},${stakeholder.name},${stakeholder.description!""},${stakeholder.influence!""},${stakeholder.interest!""}
</#list>
</#list>
<#list singleStakeholders as stakeholder>
${contextDescription},,${stakeholder.name},${stakeholder.description!""},${stakeholder.influence!""},${stakeholder.interest!""}
</#list>
</#list>
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,8 @@
import org.contextmapper.dsl.contextMappingDSL.SingleCommandInvokation;
import org.contextmapper.dsl.contextMappingDSL.SingleEventProduction;
import org.contextmapper.dsl.contextMappingDSL.SingleOperationInvokation;
import org.contextmapper.dsl.contextMappingDSL.Stakeholder;
import org.contextmapper.dsl.contextMappingDSL.StakeholderGroup;
import org.contextmapper.dsl.contextMappingDSL.Subdomain;
import org.contextmapper.dsl.contextMappingDSL.SymmetricRelationship;
import org.contextmapper.dsl.contextMappingDSL.UpstreamDownstreamRelationship;
Expand Down Expand Up @@ -108,6 +110,8 @@ private Map<String, Object> prepareModelData(ContextMappingModel contextMappingM
dataMap.put("imports", contextMappingModel.getImports());
dataMap.put("useCases", contextMappingModel.getUserRequirements());
dataMap.put("userStories", contextMappingModel.getUserRequirements());
dataMap.put("stakeholders", contextMappingModel.getStakeholders());
dataMap.put("valueRegisters", contextMappingModel.getValueRegisters());
String timeStamp = new SimpleDateFormat("dd.MM.YYYY HH:mm:ss z").format(new Date());
dataMap.put("timestamp", timeStamp); // for backwards compatibility
dataMap.put("timeStamp", timeStamp);
Expand Down Expand Up @@ -172,6 +176,8 @@ private Map<String, Object> createClassMap() {
classMap.put("CommandInvokation", CommandInvokation.class);
classMap.put("OperationInvokation", OperationInvokation.class);
classMap.put("ExclusiveAlternativeStateTransitionTarget", ExclusiveAlternativeStateTransitionTarget.class);
classMap.put("StakeholderGroup", StakeholderGroup.class);
classMap.put("Stakeholder", Stakeholder.class);
return classMap;
}

Expand Down

0 comments on commit 8762a63

Please sign in to comment.