IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ANT Java Discussion :

Lecture d'une seule propriété d'un fichier.properties


Sujet :

ANT Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Inscrit en
    Mars 2007
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 9
    Par défaut Lecture d'une seule propriété d'un fichier.properties
    Bonjour,

    Je suis débutant avec ANT, je voudrais lire une seule propriété se trouvant dans un fichier.properties, afin de tester sa valeur pour effectuer des affectation dans mon script ANT. Mon besoin vient que j'ai plusieurs fichier .properties que je charge par ordre donné, et que si charge le fichier qui contient la propriété qui sur laquelle je dois faire un test, l'ordre sera cassé

    Si l'idéé n'est pas claire voici le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
     
    <target name="gestionParametres">
    <!-- =================================
    Parcours des paramètres d'entrée pour les placer dans des properties
    counterParam == compteur sur la liste des paramètres
    ================================== -->
    <echo file="${NOM_LOG}" append="true">
    Lecture des paramètres d'entrée
    </echo>
     
    <var name="counterParam" value="0" />
     
    <!-- Parcours de la liste de paramètres et affectation des properties 
    paramList="codeBatch param1=valeur1 param2=valeur2...."-->
     
    <for list="${paramList}" param="read" delimiter=" ">
    	<sequential>
    		<var name="param" value="@{read}" />
    <!-- Soit le premier argument est le code de batch et on le met dans la property codeBatch -->
    <!-- soit c'est /? et on affiche une aide -->
            <if>
    	        <equals arg1="${counterParam}" arg2="0" />
    	<then>
    	        <property name="batchCode" value="@{read}" />
    	        <math result="result" operand1="${counterParam}" operation="${op}" operand2="${step}" datatype="int" />
    		<var name="counterParam" value="${result}" />
    	</then>
    	<else>
    		<var name="counter" value="0" />
    		<!-- Si on a déjà lu le premier paramètre -->
    		<!-- alors on doit lire un élément de la forme nomParam=valeur -->
    	<for list="${param}" param="item" delimiter="=">
    		<sequential>
    			<var name="param${counter}" value="@{item}"/>
    			<math result="result" operand1="${counter}" operation="${op}" operand2="${step}" datatype="int" />
    			<var name="counter" value="${result}" />
    				</sequential>
    					</for>
    					<!-- S'il manque la valeur du paramètre alors erreur -->
    					<if>
    						<not>
    							<isset property="param1" />
    						</not>
    						<then>
    					<if>
    					<equals arg1="${param0}" arg2="/?" />
    					<then>
    					<!-- Chargement de batchCode.properties -->
    					<var name="file.to.set" unset="true"/>
    					<property name="file.to.set" value="${properties.dir}/${batchCode}.properties"/>
    					<runtarget target="setPropertiesFile" />
    					<runtarget target="help" />
    							<fail>${helpAsked}</fail>
    			                </then>
    					<else>
    				        <if>
    					<equals arg1="${param0}" arg2="console" />
    					<then>		
    					    <runtarget target="consoleMode" />
    					</then>
    					<else>
    						<fail>"${unDefinedParam} [ ${param0} ]"</fail>
    					</else>
    				</if>
    			</else>
    		</if>
    	</then>
    	<else>
    <!-- <runtarget target="checkifNewBatch"/> -->
    <!-- Sinon on affecte la property -->
    <if> 
       <not>
    	<isset property="MODE_P"/> 
      </not>
    <then>
      <property name="isnew" value="false"/>
      <property name="${param0}" value="${param1}" />	
    </then>
    <else>
       <var name="isnew" value="true" />
       <property name="${param0}" value="-P${param0}=${param1}" />
       </else>
    </if>
    <echo message="isnew=${isnew}" />
    <var name="param1" unset="true" />
    <var name="param0" unset="true" />
    Merci d'avance pour votre aide

  2. #2
    Membre habitué
    Inscrit en
    Mars 2007
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 9
    Par défaut Lire une seule propriéte
    J'ai réussi à résoudre problème mais pas avec ANT.
    J'ai tout simplement passer le paramètre MODE_P dans mon fichier qui la commande.

    ma commande est devenue:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    set commande=ant main -file=batchLauncher.xml -DMODE_P=true -DparamList="%*" -q

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 6
    Dernier message: 09/09/2010, 13h58
  2. Réponses: 9
    Dernier message: 12/08/2008, 16h50
  3. Comment lire une seul ligne d'un fichier texte?
    Par Julien1987 dans le forum Windows Forms
    Réponses: 3
    Dernier message: 18/01/2007, 13h36
  4. Réponses: 6
    Dernier message: 30/11/2006, 18h15
  5. Réponses: 3
    Dernier message: 04/01/2006, 20h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo