Bonjour,

je travaille sur une application qui traitent des fichier XML , que je suis supposée améliorer. Mais je ne comprends pas ce que fais ce programme ? Pouvez vous m’expliquer le but de ce programme SVP ?

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
public void doPost(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
    response.setContentType(CONTENT_TYPE);
    PrintWriter out = response.getWriter();
    String xmlFile = request.getParameter("file");
    System.out.println("fich validerdonnées="+xmlFile);
    xmlFile = xmlFile.substring(3);  
    // concatenation avec d:\edi du serveur jupiter, sue lequel les contrôleurs ont le droit 
    xmlFile = "d:\\edi\\" + xmlFile;
    BufferedReader fichReadXML = new BufferedReader(new FileReader(xmlFile));
    BufferedWriter fichWriteXML = new BufferedWriter(new FileWriter(xmlFile + "1"));
    int c = fichReadXML.read();
    char[] amp = {'\u0000', 'a', '\u0000', 'm', '\u0000', 'p', '\u0000', ';'};
                               while (c != -1) {
                                               fichWriteXML.write(c);
      if (c == '&') {
        fichWriteXML.write(amp);
        int c1 = fichReadXML.read();
        c1 = fichReadXML.read();
        int c2 = fichReadXML.read();
        c2 = fichReadXML.read();
        int c3 = fichReadXML.read();
        c3 = fichReadXML.read();
        int c4 = fichReadXML.read();
        c4 = fichReadXML.read();
        if ((c1 != 'a') || (c2 != 'm') || (c3 != 'p') || (c4 != ';')) {
          fichWriteXML.write(0);
          fichWriteXML.write(c1);
          fichWriteXML.write(0);
          fichWriteXML.write(c2);
          fichWriteXML.write(0);
          fichWriteXML.write(c3);
          fichWriteXML.write(0);
          fichWriteXML.write(c4);
        }
      }
      c = fichReadXML.read();
                               }
    fichReadXML.close();
                               fichWriteXML.close();
    fichReadXML = new BufferedReader(new FileReader(xmlFile + "1"));
                               fichWriteXML = new BufferedWriter(new FileWriter(xmlFile));
    while ((c = fichReadXML.read()) != -1) {
      fichWriteXML.write(c);
    }
    fichReadXML.close();
    fichWriteXML.close();
    try{  
      java.io.InputStream   xmlStream   =   null;  
      // fichier xsl existant sur c:\edi du serveur jupiter
      String xsltFile = "file:\\\\\\C:\\edi\\genericNew.xsl"; 
      Source xsltSource = new StreamSource(xsltFile);
      java.net.URL   url   =   new   java.net.URL("file:\\\\\\"+xmlFile);
      java.net.URLConnection   conn   =   url.openConnection();  
      xmlStream   =   conn.getInputStream();  
      java.net.URL   url1   =   new   java.net.URL(xsltFile);  
      java.net.URLConnection   conn1   =   url1.openConnection();  
      javax.xml.transform.stream.StreamSource   style   =   new   javax.xml.transform.stream.StreamSource(conn1.getInputStream());  
      javax.xml.transform.stream.StreamSource   source   =   new   javax.xml.transform.stream.StreamSource(xmlStream);  
      javax.xml.transform.stream.StreamResult   result   =   new   javax.xml.transform.stream.StreamResult(out);
      javax.xml.transform.TransformerFactory   transFactory   =   javax.xml.transform.TransformerFactory.newInstance();  
      javax.xml.transform.Transformer   transformer   =   transFactory.newTransformer(style);  
 
          transformer.setParameter("nom", request.getParameter("nom"));
          transformer.setParameter("pass", request.getParameter("pass"));
          transformer.setParameter("db", request.getParameter("db"));
          transformer.setParameter("dir", xmlFile);
          transformer.transform(source, result);  
 
        }  catch (TransformerException e) {
      afficheErreur(out, e);
    } finally {
      out.close(); 
    }
 }