Bonjour à tous,

je travaille actuellement sur un outil JAVA qui pour le moment s'occupe uniquement de générer un Jtree à partir d'un fichier XML. Sauf que pour cela, j'essaye de mettre en place une architecture MVC (MODEL VIEW CONTROLER). J'ouvre donc un parseur dans ma classe modèle dans laquelle je chope la racine du xml et créé un DefaultMutableTreeNode.
La racine et le DefaultMutableTreeNode sont envoyés à ma classe contrôleur qui vérifie que ma racine n'est pas nulle et envoi l'information à ma classe View. La classe view va donc regarder si la racine qu'il recçoit contient des fils et etc.

J'aimerais ainsi savoir si cette manière de procer correspond selon vous à une archi MVC. En effet, j'ai l'impression que ma view fait le boulot du modèle. N'ayant pas de professeur à mes cotés pour poser des questions, j'aimerais discuter avec vous avant de continuer sur mon petit outil.

--> Model
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
 
 
      static Element element2;
 
    ArrayList <String> NodeNameList;
    ArrayList <String> AttributeNodeList;
    ArrayList <Element> ElementList;
 
    /**
     * Ouvre le fichier XML de la plateforme
     * Lit le fichier xml grâce à un parseur DOM
     * @param fileName
     */
	public void setPltfrm(String fileName, Controler controler){
 
		this.controler=controler;
        factory=DocumentBuilderFactory.newInstance();	
        NodeNameList = new ArrayList <String> ();
        AttributeNodeList = new ArrayList<String> ();
        ElementList = new ArrayList <Element>();
 
		try{	
	        builder = factory.newDocumentBuilder();
	        document = builder.parse(new File (fileName + ".xml"));
		    root = document.getDocumentElement(); 
		    DefaultMutableTreeNode racine = new DefaultMutableTreeNode(root.getNodeName());
 
		    System.out.println(racine);
		    controler.DmdModelToDisplayPtfrmToJtree(root, racine);
 
		}catch (IOException | ParserConfigurationException | SAXException e) {
			 e.printStackTrace();	
			}
	}
 
}
--> VIEW
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
public void DisplayPtfrmToJtree(Node root, DefaultMutableTreeNode racine){
 
		int nbAtt, nbChild;
 
		if(root instanceof Element){
			Element element = (Element)root;	   
			nbChild = root.getChildNodes().getLength();
			NodeList list = root.getChildNodes(); 
 
			for(int i = 0; i < nbChild; i++){
				Node n2 = list.item(i);            	
				if (n2 instanceof Element){
					DefaultMutableTreeNode noeud = new DefaultMutableTreeNode(((Element) n2).getAttribute("categorie"));  
					DisplayGranSonOfChild(n2, noeud);
					racine.add(noeud);       
				}
			}		
		}
 
		DefaultTreeModel model = new DefaultTreeModel(racine);
		this.tree.setModel(model);
	}
 
	void DisplayGranSonOfChild(Node n, DefaultMutableTreeNode node){
 
		int nbChild2;
 
		if(n instanceof Element){
			Element element = (Element)n;   
			nbChild2 = n.getChildNodes().getLength();
			NodeList list = n.getChildNodes(); 
			  for(int i = 0; i < nbChild2; i++)
			  {
				  Node n2 = list.item(i);            	
				  if (n2 instanceof Element){
 
					  if(n2.getAttributes() != null && n2.getAttributes().getLength() > 0){
 
	        			if (n2.getNodeName()=="item"){
 
	        				if(((Element) n2).getAttribute("Var").isEmpty()){	        				
 
	        				DefaultMutableTreeNode noeud = new DefaultMutableTreeNode(((Element) n2).getAttribute("group"));
	        				DisplayGranSonOfChild(n2, noeud);
	        				node.add(noeud); 
	        				}else{
		        				DefaultMutableTreeNode noeud = new DefaultMutableTreeNode(((Element) n2).getAttribute("Var"));
		        				DisplayGranSonOfChild(n2, noeud);
		        				node.add(noeud); 
	        				}
	        			}
					  	if (n2.getNodeName()=="XOR"){
	        				DefaultMutableTreeNode noeud = new DefaultMutableTreeNode(((Element) n2).getAttribute("group"));
	        				DisplayGranSonOfChild(n2, noeud);
	        				node.add(noeud);
	        			}      			
					}  
				 }
			   }
		}
}