ContextMapper / context-mapper-cli

Context Mapper Command Line Interface (CLI)
https://contextmapper.org/
Apache License 2.0
13 stars 3 forks source link

PlantUML generator crashes on a file with only BoundedContexts #11

Open dotnich-io opened 6 months ago

dotnich-io commented 6 months ago

Steps to reproduce:

./context-mapper-cli-6.10.0/bin/cm generate -g plantuml -i contexts.cml -o src-gen

Expected results:

Actual results:

Context Mapper CLI v6.10.0
Exception in thread "main" java.lang.ClassCastException: class org.contextmapper.dsl.contextMappingDSL.impl.DomainPartImpl cannot be cast to class org.contextmapper.dsl.contextMappingDSL.Subdomain (org.contextmapper.dsl.contextMappingDSL.impl.DomainPartImpl and org.contextmapper.dsl.contextMappingDSL.Subdomain are in unnamed module of loader 'app')
        at org.contextmapper.dsl.generator.plantuml.PlantUMLBoundedContextClassDiagramCreator.lambda$getSubdomains$0(PlantUMLBoundedContextClassDiagramCreator.java:138)
        at java.base/java.lang.Iterable.forEach(Iterable.java:75)
        at org.contextmapper.dsl.generator.plantuml.PlantUMLBoundedContextClassDiagramCreator.getSubdomains(PlantUMLBoundedContextClassDiagramCreator.java:134)
        at org.contextmapper.dsl.generator.plantuml.PlantUMLBoundedContextClassDiagramCreator.printLegend(PlantUMLBoundedContextClassDiagramCreator.java:68)
        at org.contextmapper.dsl.generator.plantuml.PlantUMLBoundedContextClassDiagramCreator.printDiagramContent(PlantUMLBoundedContextClassDiagramCreator.java:64)
        at org.contextmapper.dsl.generator.plantuml.PlantUMLBoundedContextClassDiagramCreator.printDiagramContent(PlantUMLBoundedContextClassDiagramCreator.java:39)
        at org.contextmapper.dsl.generator.plantuml.AbstractPlantUMLDiagramCreator.createDiagram(AbstractPlantUMLDiagramCreator.java:31)
        at org.contextmapper.dsl.generator.PlantUMLGenerator.generateFromContextMappingModel(PlantUMLGenerator.java:67)
        at org.contextmapper.dsl.generator.AbstractContextMappingModelGenerator.doGenerate(AbstractContextMappingModelGenerator.java:54)
        at org.contextmapper.dsl.standalone.StandaloneContextMapper.callGenerator(StandaloneContextMapper.java:61)
        at org.contextmapper.cli.commands.GenerateCommand.run(GenerateCommand.java:55)
        at org.contextmapper.cli.ContextMapperCLI.run(ContextMapperCLI.java:59)
        at org.contextmapper.cli.ContextMapperCLI.main(ContextMapperCLI.java:44)

Supporting info

If I have the contexts.cml file open in VS Code, and run "Generate PlantUML diagrams" from it, I get the diagrams I expect.

dotnich-io commented 6 months ago

NB: I found this while attempting to build a workaround for this issue in the extension