|
22 | 22 | import java.nio.file.Path;
|
23 | 23 | import java.nio.file.Paths;
|
24 | 24 | import java.util.ArrayList;
|
25 |
| -import java.util.HashSet; |
26 | 25 | import java.util.List;
|
27 | 26 | import java.util.Locale;
|
28 | 27 | import java.util.Optional;
|
|
36 | 35 | import org.eclipse.esmf.aspectmodel.edit.ChangeReportFormatter;
|
37 | 36 | import org.eclipse.esmf.aspectmodel.generator.LanguageCollector;
|
38 | 37 | import org.eclipse.esmf.aspectmodel.generator.diagram.AspectModelDiagramGenerator;
|
| 38 | +import org.eclipse.esmf.aspectmodel.generator.diagram.DiagramGenerationConfig; |
| 39 | +import org.eclipse.esmf.aspectmodel.generator.diagram.DiagramGenerationConfigBuilder; |
39 | 40 | import org.eclipse.esmf.aspectmodel.serializer.AspectSerializer;
|
40 | 41 | import org.eclipse.esmf.exception.CommandException;
|
41 | 42 | import org.eclipse.esmf.metamodel.Aspect;
|
@@ -79,19 +80,21 @@ protected InputHandler getInputHandler( final String input ) {
|
79 | 80 | throw new CommandException( "Can not find file: " + input );
|
80 | 81 | }
|
81 | 82 |
|
82 |
| - protected void generateDiagram( final String input, final AspectModelDiagramGenerator.Format targetFormat, |
| 83 | + protected void generateDiagram( final String input, final DiagramGenerationConfig.Format targetFormat, |
83 | 84 | final String outputFileName, final String languageTag ) throws IOException {
|
84 | 85 | final Aspect aspect = getInputHandler( input ).loadAspect();
|
85 |
| - final AspectModelDiagramGenerator generator = new AspectModelDiagramGenerator( aspect ); |
86 |
| - final Set<AspectModelDiagramGenerator.Format> targetFormats = new HashSet<>(); |
87 |
| - targetFormats.add( targetFormat ); |
88 | 86 | final Set<Locale> languagesUsedInModel = LanguageCollector.collectUsedLanguages( aspect );
|
89 | 87 | if ( !languagesUsedInModel.contains( Locale.forLanguageTag( languageTag ) ) ) {
|
90 | 88 | throw new CommandException( String.format( "The model does not contain the desired language: %s.", languageTag ) );
|
91 | 89 | }
|
92 | 90 | // we intentionally override the name of the generated artifact here to the name explicitly desired by the user (outputFileName),
|
93 | 91 | // as opposed to what the model thinks it should be called (name)
|
94 |
| - generator.generateDiagrams( targetFormats, Locale.forLanguageTag( languageTag ), name -> getStreamForFile( outputFileName ) ); |
| 92 | + final DiagramGenerationConfig config = DiagramGenerationConfigBuilder.builder() |
| 93 | + .format( targetFormat ) |
| 94 | + .language( Locale.forLanguageTag( languageTag ) ) |
| 95 | + .build(); |
| 96 | + final AspectModelDiagramGenerator generator = new AspectModelDiagramGenerator( aspect, config ); |
| 97 | + generator.generate( name -> getStreamForFile( outputFileName ) ); |
95 | 98 | }
|
96 | 99 |
|
97 | 100 | protected FileOutputStream getStreamForFile( final String artifactPath, final String artifactName, final String baseOutputPath ) {
|
|
0 commit comments