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.plugins.pluginwizard.business.model.Portlet;
38
39 import java.util.HashMap;
40 import java.util.Map;
41
42
43
44
45
46
47 public class PortletJspGenerator extends AbstractGenerator
48 {
49 private static final String PATH = "webapp/jsp/admin/plugins/";
50 private static final String EXT_JSP = ".jsp";
51 private static String [ ] _prefix = {
52 "Modify", "DoModify", "Create", "DoCreate"
53 };
54
55
56
57
58 @Override
59 public Map generate( PluginModel pm, String generationSchemeName )
60 {
61 HashMap map = new HashMap( );
62 String strPluginName = pm.getPluginNameAsRadicalPackage( );
63
64 String _path = PATH + pm.getPluginNameAsRadicalPath( ) + "/";
65
66 for ( Portlet portlet : pm.getPortlets( ) )
67 {
68 for ( int i = 0; i < _prefix.length; i++ )
69 {
70 String strPortletFile = _prefix [i] + portlet.getJspBaseName( ) + EXT_JSP;
71 String strPath = getFilePath( pm, _path, strPortletFile );
72 String strSourceCode = getPortletJspFile( portlet, strPluginName, i, pm.isModule( ) );
73 strSourceCode = strSourceCode.replace( "<", "<" );
74 strSourceCode = strSourceCode.replace( ">", ">" );
75 map.put( strPath, strSourceCode );
76 }
77 }
78
79 return map;
80 }
81
82
83
84
85
86
87
88
89
90
91
92
93 private String getPortletJspFile( Portlet portlet, String strPluginName, int nPortletJspType, boolean bIsModule )
94 {
95 Map<String, Object> model = new HashMap<>( );
96 model.put( Markers.MARK_PORTLET, portlet );
97 model.put( Markers.MARK_PLUGIN_NAME, strPluginName );
98 model.put( Markers.MARK_PORTLET_JSP_TYPE, nPortletJspType );
99 model.put( Markers.MARK_IS_MODULE, bIsModule );
100
101 return build( model );
102 }
103 }