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.deployment.business;
35
36 import java.io.ByteArrayInputStream;
37 import java.io.InputStream;
38 import java.util.HashMap;
39 import java.util.Locale;
40
41 import javax.inject.Inject;
42
43 import net.sf.json.JSONObject;
44
45 import org.apache.commons.lang.StringUtils;
46
47 import fr.paris.lutece.plugins.deployment.service.DeploymentPlugin;
48 import fr.paris.lutece.plugins.deployment.service.IDatabaseService;
49 import fr.paris.lutece.plugins.deployment.service.IFtpService;
50 import fr.paris.lutece.plugins.deployment.util.ConstanteUtils;
51 import fr.paris.lutece.plugins.deployment.util.DeploymentUtils;
52 import fr.paris.lutece.portal.service.plugin.Plugin;
53 import fr.paris.lutece.portal.service.plugin.PluginService;
54 import fr.paris.lutece.portal.service.spring.SpringContextService;
55 import fr.paris.lutece.portal.service.template.AppTemplateService;
56 import fr.paris.lutece.portal.service.util.AppLogService;
57 import fr.paris.lutece.portal.service.util.AppPropertiesService;
58 import fr.paris.lutece.util.html.HtmlTemplate;
59
60
61
62
63
64
65 public class InitAppContextAction extends DefaultAction
66 {
67
68 IFtpService _ftpService = SpringContextService.getBean( "deployment.FtpService" );
69
70 @Override
71 public String run( Application application, ServerApplicationInstance serverApplicationInstance, CommandResult commandResult, ActionParameter... parameter )
72 {
73
74 String strResult = "true";
75 Plugin plugin = PluginService.getPlugin( DeploymentPlugin.PLUGIN_NAME );
76 HashMap model = new HashMap( );
77 model.put( ConstanteUtils.MARK_APPLICATION, application );
78
79 HtmlTemplate templateInitAppContext = AppTemplateService.getTemplate( ConstanteUtils.TEMPLATE_INIT_APP_CONTEXT, Locale.FRENCH, model );
80
81 InputStream iTemplateInitAppContext = new ByteArrayInputStream( templateInitAppContext.getHtml( ).getBytes( ) );
82
83 _ftpService.uploadFile( application.getWebAppName( ) + ".xml", iTemplateInitAppContext, serverApplicationInstance.getFtpInfo( ),
84 DeploymentUtils.getContextDirectoryTarget( application.getCode( ), serverApplicationInstance ), commandResult, false );
85
86 return strResult;
87 }
88
89 @Override
90 public boolean canRunAction( Application application, ServerApplicationInstance serverApplicationInstance, CommandResult commandResult,
91 ActionParameter... parameter )
92 {
93
94 if ( parameter != null )
95 {
96
97 for ( int i = 0; i < parameter.length; i++ )
98 {
99
100 if ( parameter [i].getName( ).equals( ConstanteUtils.PARAM_INIT_APP_CONTEXT ) )
101 {
102
103 return new Boolean( parameter [i].getValue( ) );
104 }
105 }
106 }
107
108 return false;
109 }
110
111 @Override
112 public String getTemplateFormAction( Application application, ServerApplicationInstance serverApplicationInstance, Locale locale )
113 {
114
115 return null;
116 }
117 }