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 fr.paris.lutece.plugins.deployment.util.ConstanteUtils;
37 import fr.paris.lutece.plugins.deployment.util.DeploymentUtils;
38 import fr.paris.lutece.portal.service.util.AppLogService;
39 import fr.paris.lutece.portal.service.util.AppPropertiesService;
40
41 import net.sf.json.JSONObject;
42
43 import org.apache.commons.collections.CollectionUtils;
44
45 import java.util.Iterator;
46 import java.util.List;
47
48
49
50
51
52
53 public class WarInstallerAction extends DefaultAction
54 {
55 @Override
56 public String run( Application application, ServerApplicationInstance serverApplicationInstance, CommandResult commandResult, ActionParameter... parameter )
57 {
58 String strPlateformEnvironmentBaseUrl = AppPropertiesService.getProperty( ConstanteUtils.PROPERTY_ENVIRONMENT_PLATEFORM_BASE_URL );
59 String strWebserviceActionJsonPropery = AppPropertiesService.getProperty( ConstanteUtils.PROPERTY_WEBSERVICE_ACTION_RESULT_JSON_PROPERTY_RESULT );
60 String strResult = null;
61 String strWebserviceEnvJsonObjectName = AppPropertiesService.getProperty( ConstanteUtils.PROPERTY_WEBSERVICE_INSTALLABLE_WAR_ACTION_OBJECT_NAME );
62 String strWebserviceEnvJsonDictionaryName = AppPropertiesService
63 .getProperty( ConstanteUtils.PROPERTY_WEBSERVICE_INSTALLABLE_WAR_ACTION_DICTIONARY_NAME );
64
65 String strJSONWarInstalled = null;
66 String strJSONAction = null;
67
68 try
69 {
70 strJSONWarInstalled = DeploymentUtils.callPlateformEnvironmentWs( strPlateformEnvironmentBaseUrl + ConstanteUtils.CONSTANTE_SEPARATOR_SLASH
71 + DeploymentUtils.getPlateformUrlServerApplicationAction( application.getCode( ), serverApplicationInstance, this.getCode( ) ) );
72
73 List<String> listWarInstalls = DeploymentUtils.getJSONDictionary( strWebserviceEnvJsonObjectName, strWebserviceEnvJsonDictionaryName,
74 strJSONWarInstalled );
75
76 if ( !CollectionUtils.isEmpty( listWarInstalls ) )
77
78 {
79
80 for ( String strWarName : listWarInstalls )
81 {
82 if ( strWarName.contains( application.getWebAppName( ) ) )
83 {
84 strJSONAction = DeploymentUtils.callPlateformEnvironmentWs( strPlateformEnvironmentBaseUrl + ConstanteUtils.CONSTANTE_SEPARATOR_SLASH
85 + DeploymentUtils.getPlateformUrlServerApplicationAction( application.getCode( ), serverApplicationInstance, this.getCode( ) )
86 + ConstanteUtils.CONSTANTE_SEPARATOR_SLASH + strWarName );
87
88 if ( strJSONAction != null )
89 {
90 AppLogService.info( "Résultat de la commande @WAR_INSTALLER --> " + strJSONAction );
91
92 }
93 break;
94 }
95 }
96 }
97 }
98 catch( Exception e )
99 {
100
101 DeploymentUtils.addTechnicalError( commandResult, "<h1>Erreur lors de l'exécution de la commande" + this.getCode( ) + " de cloudmgrws</h1> <br> "
102 + e.getMessage( ), e );
103 AppLogService.error( e );
104 }
105
106 if ( strJSONAction != null )
107 {
108 JSONObject jo = DeploymentUtils.getJSONOBject( strJSONAction );
109
110 if ( jo != null )
111 {
112 strResult = jo.getString( strWebserviceActionJsonPropery );
113 if ( strResult != null && !new Boolean( strResult ) )
114 {
115
116 DeploymentUtils.addTechnicalError( commandResult, "<h1>Erreur lors de l'exécution de la commande" + this.getCode( )
117 + " de cloudmgrws</h1> <br> " + strJSONAction );
118
119 }
120
121 }
122 }
123
124 return strResult;
125 }
126 }