Cette règle marque
Context <Environment>
éléments trouvés dans le fichier META-INF/context.xml qui doivent être transformés en éléments
<env-entry>
éléments dans la
WEB-INF/web.xml .
Apache Tomcat autorise
Context <Environment>
éléments à définir dans ces emplacements:
- dans le fichier META-INF/context.xml,
- dans le fichier XML d'application dans le répertoire conf de Tomcat,
- :NONE.
<Host>
dans le fichier conf/server.xml
Etant donné que l'outil de migration peut ne pas avoir accès au répertoire de configuration Tomcat , il marque uniquement le
Context <Environment>
dans le
Fichier META-INF/context.xml .
Context <Environment>
Les informations définies dans les autres emplacements peuvent être copiées dans le fichier META-INF/context.xml afin d'être traitées par l'outil.
Si un fichier WEB-INF/web.xml existe dans le projet Web :
Context <Environment>
les éléments seront marqués dans l'une des conditions suivantes:
- l'entrée ne correspond pas à une entrée dans le fichier web.xml,
- l'entrée possède un type différent de celui de l'entrée à laquelle elle correspond dans le fichier web.xml,
- l'entrée possède une valeur différente de celle de l'entrée à laquelle elle correspond dans le fichier web.xml et son indicateur de remplacement a pour valeur false.
Ajouter un nouveau
<env-entry>
dans le fichier web.xml qui représente le
Context <Environment>
s'il n'existe pas déjà dans l'élément
Fichier web.xml .
Si l'entrée existe, elle est mise à jour.
Si le fichier WEB-INF/web.xml n'existe pas :
Tous
Context <Environment>
Les éléments seront marqués.
Créer un WEB-INF/web.xml fichier qui comprend le fichier
<env-entry>
si le projet web si le projet web se trouve à l'adresse Java EE 5 ou plus. Le correctif automatique signalera une erreur si le projet web se trouve à l'adresse J2EE 1.4 ou à une adresse inférieure.
Par exemple, prenez un fichier
META-INF/context.xml dont le contenu est le suivant :
< span class="Code"> < Environnement
description="Déclenchement car il n'existe pas"
name="nouvelleEntrée"
override="false"
type= "java.lang.String" value= "abc123" />
<Environment
description="Déclenchement car la valeur est différente"
name="contextEnvString_1"
override="false"
type="java.lang.String"
value = "nouvelle valeur " />
<Environment
description="Déclenchement car le type est différent"
name="contextEnvString_2"
override="false"
type="java.lang.Integer"
value="123 " />
<Environment
description="Pas de déclenchement car le remplacement a pour valeur true."
name="contextEnvString_3"
override="true"
type="java.lang.Integer"
value="123 " />
et le fichier web.xml suivant dans l'application :
< span class="Code"> < env-entry>
<description>Déclencheur en raison d'une valeur différente</description>
<env-entry-name>contextEnvString_1</env-entry-name>
<env-entry-type>java.lang.String</env-entry-type>
<env-entry-value>oldValue</env-entry-value>
</env-entry>
<env-entry>
<description>Déclencheur en raison d'un type différent</description>
<env-entry-name>contextEnvString_2</env-entry-name>
<env-entry-type>java.lang.String</env-entry-type>
<env-entry-value>123</env-entry-value>
</env-entry>
<env-entry>
<description>ne se déclenche pas car la substitution est définie sur true.</description>
<env-entry-name>contextEnvString_3</env-entry-name>
<env-entry-type>java.lang.Integer</env-entry-type>
<env-entry-value>123456789</env-entry-value>
</env-entry>
Après l'application du correctif automatisé, le web.xml sera mis à jour pour devenir contenir :
< span class="Code"> < env-entry>
<description>Déclencheur en raison d'une valeur différente</description>
<env-entry-name>contextEnvString_1</env-entry-name>
<env-entry-type>java.lang.String</env-entry-type>
<env-entry-value>nouvelle valeur</env-entry-value>
</env-entry>
<env-entry>
<description>Déclencheur en raison d'un type différent</description>
<env-entry-name>contextEnvString_2</env-entry-name>
<env-entry-type>java.lang.Integer</env-entry-type>
<env-entry-value>123</env-entry-value>
</env-entry>
<env-entry>
<description>ne se déclenche pas car la substitution est définie sur true.</description>
<env-entry-name>contextEnvString_3</env-entry-name>
<env-entry-type>java.lang.Integer</env-entry-type>
<env-entry-value>123456789</env-entry-value>
</env-entry>
<env-entry>
<description>Le déclencheur n'existe pas</description>
<env-entry-name>newEntry</env-entry-name>
<env-entry-type>java.lang.String</env-entry-type>
<env-entry-value>abc123</env-entry-value>
</env-entry>