| 12
 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
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
 100
 101
 102
 103
 104
 105
 106
 107
 108
 109
 110
 111
 112
 113
 114
 115
 116
 117
 118
 119
 120
 121
 122
 123
 124
 125
 126
 127
 128
 129
 130
 131
 132
 133
 134
 135
 136
 137
 138
 139
 140
 141
 142
 143
 144
 145
 146
 147
 148
 149
 150
 151
 152
 153
 154
 155
 156
 157
 158
 159
 160
 161
 162
 163
 164
 165
 166
 167
 168
 169
 170
 171
 172
 173
 174
 175
 176
 177
 178
 179
 180
 181
 182
 183
 184
 185
 186
 187
 188
 189
 190
 191
 192
 193
 194
 195
 196
 197
 198
 199
 200
 201
 202
 203
 204
 205
 206
 207
 208
 209
 210
 211
 212
 
 | public Createur_XML(String filename,int id_j) {
//la tete du document XML  
     Document document = null; 
     DocumentBuilderFactory fabrique = null;
     ResultSet rs_diagram;
//connection à la base de données
     SGBD manager1=new SGBD();
     manager1.connect("Diagramme","localhost:3307","root","root");
     fabrique = DocumentBuilderFactory.newInstance();
     DocumentBuilder builder = null;
      try {
        builder = fabrique.newDocumentBuilder();
      }
      catch (ParserConfigurationException ex1) {
      }
      document = builder.newDocument();
 
//l'élément uml:model
      Element racine1 = (Element) document.createElement("uml:Model");
      document.createAttribute("xmi:version");
      document.createAttribute("xmlns:xmi");
      document.createAttribute("xmlns:uml");
      document.createAttribute("xmi:id");
      racine1.setAttribute("xmi:version","2.1");
      racine1.setAttribute("xmlns:xmi","http://schema.omg.org/spec/XMI/2.1");
      racine1.setAttribute("xmlns:uml","http://www.eclipse.org/uml2/2.1.0/UML");
      racine1.setAttribute("xmi:id","_kkgsMBeLEd60N8ipLbB6nA");
      document.appendChild(racine1);      
 
//rechercher les noeuds et les flux du diagramme selectionné par l'utilsateur
      rs_diagram=manager1.getQuery("SELECT * FROM diagram WHERE id_diagram=" + id_j);
 
       try {
 
//Entrer les champs du nom, type et identifiant du diagramme d'activité choisit par l'utilisateur    	   
      rs_diagram.next();
      o=rs_diagram.getString("ref_diagram");
      s=rs_diagram.getString("name_diagram");
      Element racine = (Element) document.createElement("packagedElement");
      document.createAttribute("xmi:id");
      document.createAttribute("xmi:type");
      document.createAttribute("name");
      racine.setAttribute("xmi:id",o);
      racine.setAttribute("xmi:type","uml:Activity");
      racine.setAttribute("name",s);    
      racine1.appendChild(racine);
 
      try {
 
    	 JdbcRowSet rowset1 = new JdbcRowSetImpl();
    	 JdbcRowSet rowset2 = new JdbcRowSetImpl();
    	 JdbcRowSet rowset3 = new JdbcRowSetImpl();
    	 JdbcRowSet rowset4 = new JdbcRowSetImpl();
    	 JdbcRowSet rowset5 = new JdbcRowSetImpl();
//MISE EN PLACE DES DIFFERENTES PROPRIETES
       String url1 = "jdbc:mysql://localhost:3307/Diagramme";
       String user1 = "root";
       String password1 = "root";
       String command1 = "SELECT * FROM node WHERE id_diagram=" +id_j;
       System.out.println(command1);
//propriétés nécessaires à la connexion
       rowset1.setUrl(url1);
       rowset1.setUsername(user1);
       rowset1.setPassword(password1);
//propriétés nécessaires à l'exécution
       rowset1.setCommand(command1);
//retourner tous les noeuds du diagramme choisit par l'utilisateur
       rowset1.execute();
//parcours des résultats du dernier au premier tuple
       while(rowset1.next()){
 
        	Element node = (Element) document.createElement("node");
        	String url2 = "jdbc:mysql://localhost:3307/Diagramme";
            String user2 = "root";
            String password2 = "root";
 
//chercher les flux sortants du noeuds en cours de création, ce noeud ne doit pas etre un noeud final                        
            if (rowset1.getInt(4)!= 78)
            {
            String outgoing = "SELECT id_edge FROM edge e  WHERE id_node_source= " + rowset1.getInt(1) ; 
            System.out.println(outgoing);
            //propriétés nécessaires à la connexion
            rowset2.setUrl(url2);
            rowset2.setUsername(user2);
            rowset2.setPassword(password2);
            //propriétés nécessaires à l'exécution
            rowset2.setCommand(outgoing);
            //EXECUTION DU ROWSET POUR LE PEUPLER
            rowset2.execute();
        	rowset2.next();
            }
 
        	String url3 = "jdbc:mysql://localhost:3307/Diagramme";
            String user3 = "root";
            String password3 = "root";
 
//chercher les flux entrants du noeuds en cours de création, ce noeud ne doit pas etre un noeud initial                        
            if (rowset1.getInt(4)!= 77)
            {
 
            String incoming = "SELECT id_edge FROM edge WHERE id_node_target= " + rowset1.getInt(1); 
            System.out.println(incoming);
            //propriétés nécessaires à la connexion
            rowset3.setUrl(url3);
            rowset3.setUsername(user3);
            rowset3.setPassword(password3);    
            rowset3.setCommand(incoming);
            //EXECUTION DU ROWSET POUR LE PEUPLER
            rowset3.execute();
        	rowset3.next();
            }
 
            String url4 = "jdbc:mysql://localhost:3307/Diagramme";
            String user4 = "root";
            String password4 = "root";
//rechercher le nom du type du noeud en cours de création
            String name_type = "SELECT name_type_node FROM type_node WHERE id_type_node= " + rowset1.getInt(4); 
            rowset4.setUrl(url4);
            rowset4.setUsername(user4);
            rowset4.setPassword(password4);
            rowset4.setCommand(name_type);
            rowset4.execute();
        	rowset4.next();       	
 
        	document.createAttribute("xmi:type");
            document.createAttribute("xmi:id");
            document.createAttribute("name");
            document.createAttribute("outgoing");
            document.createAttribute("incoming");
            node.setAttribute("xmi:id",rowset1.getString(1));
            node.setAttribute("xmi:type",rowset4.getString(1));
            node.setAttribute("name",rowset1.getString(3));
            node.setAttribute("outgoing",rowset2.getString(1));
            node.setAttribute("incoming",rowset3.getString(1));
            racine.appendChild(node);
 
     }
 
      rowset2.close();   
      rowset1.close();   
 
         JdbcRowSet rowset = new JdbcRowSetImpl();
       //MISE EN PLACE DES DIFFERENTES PROPRIETES
       String url = "jdbc:mysql://localhost:3307/Diagramme";
       String user = "root";
       String password = "root";
//rechercher tous les flux appartenant au diagramme en cours d'exécution
       String command = "SELECT * FROM edge WHERE id_diagram=" +id_j;
       System.out.println(command);
       //propriétés nécessaires à la connexion
       rowset.setUrl(url);
       rowset.setUsername(user);
       rowset.setPassword(password);
       //propriétés nécessaires à l'exécution
       rowset.setCommand(command);
       //EXECUTION DU ROWSET POUR LE PEUPLER
       rowset.execute();
     //parcours des résultats du dernier au premier tuple
     while(rowset.next())
 
     {
 
    	   String url5 = "jdbc:mysql://localhost:3307/Diagramme";
         String user5 = "root";
         String password5 = "root";
//rechercher le nom du type du flux en cours de création
         String edge_type = "SELECT name_type_edge FROM type_edge WHERE id_type_edge= " + rowset.getInt(4); 
         rowset5.setUrl(url5);
         rowset5.setUsername(user5);
         rowset5.setPassword(password5);
         rowset5.setCommand(edge_type);
         rowset5.execute();
     	   rowset5.next();
         Element edge = (Element) document.createElement("edge");
         document.createAttribute("xmi:id");
         document.createAttribute("name");
         document.createAttribute("source");
         document.createAttribute("target");
         document.createAttribute("xmi:type");
         edge.setAttribute("xmi:id",rowset.getString(1));
         edge.setAttribute("name",rowset.getString(3));
         edge.setAttribute("xmi:type",rowset5.getString(1));
         edge.setAttribute("source",rowset.getString(5));
         edge.setAttribute("target",rowset.getString(6));
         racine.appendChild(edge);
     }
 
         XMLSerializer ser = new XMLSerializer(System.out, new OutputFormat("xml", "UTF-8", true));
         ser.serialize(document);
      }
      catch(Exception e)
      {
        e.printStackTrace();
      }
 
 
//-----enregistrement dans le fichier-------------------//
      Enregistreur_XML Enregistreur=new Enregistreur_XML("C:\\doc_xml",s,document);
 
      if(Enregistreur.enregistrer()==true)
      {
 
 
        JOptionPane.showMessageDialog(this,"Enregistrement effectuer ","Controle d'enregistrement",JOptionPane.DEFAULT_OPTION);
 
 
      }
    }
   catch (SQLException ex) {
    	  System.out.println("fin exportation");
    }
  } |