[WSAD JDOM Struts] Incompatible argument to method

cs_maniolo Messages postés 1 Date d'inscription mardi 14 mars 2006 Statut Membre Dernière intervention 23 octobre 2006 - 23 oct. 2006 à 16:54
super_toinou Messages postés 764 Date d'inscription mardi 25 mai 2004 Statut Membre Dernière intervention 8 mars 2011 - 24 oct. 2006 à 13:31
Bonjour à tous je commence tout juste a utiliser Struts et je n'arrive pas mettre à jour un fichier xml
en utilisant jdom

Voici mon erreur :
Error 500: (class: sentinelle/configxml/AjoutServerXml, method:
ajoutServer signature: ()LFormServeur;) Incompatible argument to method

mon actionForm :

import java.io.File;
import java.io.FileOutputStream;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import sentinelle.configxml.AjoutServerXml;
import sentinelle.configxml.TestAjoutXml;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.jdom.*;
import org.jdom.input.SAXBuilder;
import org.jdom.output.*;

public class FormActionXml extends Action{
   
    static Element racine;
    static org.jdom.Document document;
       
    public ActionForward execute(ActionMapping mapping, ActionForm _form, HttpServletRequest request, HttpServletResponse response) {

                ActionForward retour = null;
                AjoutServerXml ajoutServerXml = new AjoutServerXml();                                     
                try{         
                    if(!formServeur.getUser().equals("")){
                        ajoutServerXml.buildListeServer();          
                        retour = mapping.findForward("lecture");
                    }
                    else{
                        retour = mapping.findForward("erreur");
                    }
               
                }
                catch (Exception e) {
                    e.printStackTrace();
                    //retour = mapping.findForward("erreur");
                }                           
                return retour;
        }   
}

et ma classe pour contruire mon fichier xml :

package sentinelle.configxml;
import java.io.*;
import java.util.ArrayList;

import org.jdom.*;
import org.jdom.input.SAXBuilder;
import org.jdom.output.*;
import FormServeur;

public class AjoutServerXml{

    static Element racine;
    static org.jdom.Document document;
   
    public FormServeur buildListeServer()
    {
       
    //On crée une instance de SAXBuilder
    SAXBuilder sxb = new SAXBuilder();
        try
        {
        //On crée un nouveau document JDOM avec en argument le fichier XML
         document = sxb.build(new File("D:\\WSAD\\ServerParameterXML.xml"));         
         }
          catch(Exception e)
        {       
        System.out.println("Fichier non trouver : " + e);                  
        }
            //On initialise un nouvel élément racine avec l'élément racine du document.
          racine = document.getRootElement();
 
          return ajoutServer();
        }
       
    public FormServeur ajoutServer()
    {
     //FormServeur formServeur = (FormServeur) _form;   
   
     Element requete = new Element("requete");
     racine.addContent(requete);
   
     Attribute serveur = new Attribute("serveur",ajoutServer().getServerNom());
     requete.setAttribute(serveur);

     /*-------------URL---------------------------*/
     Element urls = new Element("urls");
     
     
     Element url = new Element("url");
     Attribute adresse = new Attribute("adresse",ajoutServer().getUrlNom());
     url.setAttribute(adresse);
     url.setText(ajoutServer().getAdresseHttp());
     urls.addContent(url);
     
     requete.addContent(urls);
     
     /*-------------database---------------------*/
     Element database = new Element("database");
     Attribute type = new Attribute("type",ajoutServer().getTypeDatabase());
     database.setAttribute(type);
     
     Element driver = new Element("driver");
     driver.setText(ajoutServer().getDriver());
     database.addContent(driver);
     
     Element adresseServer = new Element("adresse");
     adresseServer.setText(ajoutServer().getAdresseServer());
     database.addContent(adresseServer);
     
     Element hostname = new Element("hostname");
     driver.setText(ajoutServer().getDriver());
     database.addContent(hostname);
     
     Element dbname = new Element("dbname");
     dbname.setText(ajoutServer().getDbname());
     database.addContent(dbname);
     
     Element user = new Element("user");
     user.setText(ajoutServer().getUser());
     database.addContent(user);
     
     Element login = new Element("login");
     login.setText(ajoutServer().getPassword());
     database.addContent(login);
     
     Element requetesql = new Element("requetesql");
     requetesql.setText(ajoutServer().getRequetesql());
     database.addContent(requetesql);
     
     requete.addContent(database);
   
     //Les deux méthodes qui suivent seront définies plus loin dans l'article
    // affiche();
     enregistre("D:\\WSAD\\ServerParameterXML.xml");
   
    return ajoutServer();
 
    }

    static void enregistre(String fichier)
    {
       try
       {       
          XMLOutputter sortie = new XMLOutputter(Format.getPrettyFormat());
          sortie.output(document, new FileOutputStream(fichier));
       }
       catch (java.io.IOException e){}
    }

}

Un grand besoin d'aide merci!

2 réponses

super_toinou Messages postés 764 Date d'inscription mardi 25 mai 2004 Statut Membre Dernière intervention 8 mars 2011 6
24 oct. 2006 à 10:07
je comprend pas a quoi sert ta classe AjoutServerXml ?
t as pas un struts-config.xml qui gere tes mapping ??
++ Toinou
0
super_toinou Messages postés 764 Date d'inscription mardi 25 mai 2004 Statut Membre Dernière intervention 8 mars 2011 6
24 oct. 2006 à 13:31
autant pour moi j ai pas bien regardé ton code :D comme ca je vois pas ce qui peut expliquer ton erreur mais j pense pas que ce soit une erreur struts
j me demande juste en si t appelle pas indéfiniment ta fct ajoutServer parce que d apres ce que j vois ajoutServer return ajoutServer() ?
0
Rejoignez-nous