1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34 package fr.paris.lutece.plugins.pluginwizard.service.generator;
35
36 import fr.paris.lutece.plugins.pluginwizard.business.model.PluginModel;
37 import fr.paris.lutece.portal.service.plugin.Plugin;
38 import fr.paris.lutece.portal.service.spring.SpringContextService;
39 import fr.paris.lutece.portal.service.util.AppLogService;
40 import fr.paris.lutece.util.ReferenceList;
41 import fr.paris.lutece.util.ReferenceItem;
42
43 import java.util.HashMap;
44 import java.util.List;
45 import java.util.Map;
46
47
48
49
50 public class GeneratorService
51 {
52 private static List<GenerationScheme> _listSchemes;
53
54
55
56
57
58
59
60
61
62
63
64
65 public Map<String, String> getGeneratedSources( Plugin plugin, PluginModel model, int schemeListIndex )
66 {
67 Map<String, String> mapSources = new HashMap<>( );
68
69 GenerationScheme generationScheme = _listSchemes.get( schemeListIndex );
70
71 List<Generator> listGenerators = generationScheme.getGeneratorsList( );
72
73 for ( Generator generator : listGenerators )
74 {
75 try
76 {
77 mapSources.putAll( generator.generate( model, generationScheme.getName( ) ) );
78 }
79 catch( Exception e )
80 {
81 AppLogService.error( e.getMessage( ), e );
82 }
83 }
84
85 return mapSources;
86 }
87
88
89
90
91
92
93 public static ReferenceList getGenerationSchemes( )
94 {
95 _listSchemes = SpringContextService.getBeansOfType( GenerationScheme.class );
96
97 ReferenceList list = new ReferenceList( );
98
99 for ( int i = 0; i < _listSchemes.size( ); i++ )
100 {
101 ReferenceItem item = new ReferenceItem( );
102 item.setCode( String.valueOf( i ) );
103 item.setName( _listSchemes.get( i ).getName( ) );
104 item.setChecked( _listSchemes.get( i ).isDefault( ) );
105 list.add( item );
106 }
107
108 return list;
109 }
110
111 }