Exemplo n.º 1
0
  public static void main(String[] args)
      throws ParserConfigurationException, SAXException, FileNotFoundException, IOException {

    Classifieur classeur = new Classifieur();
    Caracteristique _c;
    // on cree la categorie mere
    Categorie mere = new Categorie();
    mere.setNom("arbre");
    mere.setMere("TOP");
    classeur.setMere(mere);
    IntervalleNumerique intNum = new IntervalleNumerique();
    EnsembleDeChaines EnsCh = new EnsembleDeChaines();
    intNum.setInf(5.0);
    intNum.setSup(50.0);
    _c = new Caracteristique("taille", intNum);
    classeur.getMere().addCaracteristique(_c);
    EnsCh.addElement(new Element("arrondi"));
    EnsCh.addElement(new Element("conique"));
    EnsCh.addElement(new Element("irregulier"));

    _c = new Caracteristique("forme", EnsCh);
    classeur.getMere().addCaracteristique(_c);

    intNum = new IntervalleNumerique();
    intNum.setInf(0.2);
    intNum.setSup(3.0);

    _c = new Caracteristique("taille du tronc", intNum);
    classeur.getMere().addCaracteristique(_c);

    EnsCh = new EnsembleDeChaines();
    EnsCh.addElement(new Element("ecailles"));
    EnsCh.addElement(new Element("fissuree"));
    EnsCh.addElement(new Element("lisse"));
    EnsCh.addElement(new Element("plaques"));
    _c = new Caracteristique("ecorce", EnsCh);
    classeur.getMere().addCaracteristique(_c);

    Categorie conifere = conifere();
    Categorie feuillu = feuillu();
    Categorie epicea = epicea();
    Categorie aulne = aulne();

    classeur.getMere().addChild(conifere);
    classeur.addCategoryThroughMere(feuillu);
    classeur.addCategoryThroughMere(epicea);
    classeur.addCategoryThroughMere(aulne);

    // Creation d'une observation obs ( ex: obs doit se placer sous les categories arbre, conifere
    // et feuillu )
    Observation obs = new Observation();
    ObservationItem item;
    item = new ObservationNumerique("taille", 15.0);
    obs.addObservationItem(item);
    item = new ObservationString("forme", "conique");
    obs.addObservationItem(item);
    item = new ObservationNumerique("taille du tronc", 0.75);
    obs.addObservationItem(item);
    item = new ObservationString("ecorce", "fissuree");
    obs.addObservationItem(item);
    item = new ObservationString("feuilles", "ovale");
    obs.addObservationItem(item);

    // Creation d'une observation obs_1 ( ex: obs_1 qui ne se place sous aucune categorie)
    Observation obs_1 = new Observation();
    item = new ObservationNumerique("taille", 40.0);
    obs_1.addObservationItem(item);
    item = new ObservationString("couleur", "bleu");
    obs_1.addObservationItem(item);

    // Affichage l'arbre complet
    classeur.showCategorieTree();

    // Ajoute de la premiere observation 'obs'
    classeur.setObs(obs);
    obs.showObservationCategories(classeur);

    // Ajoute la deuxieme observation 'obs_1
    classeur.setObs(obs_1);
    obs_1.showObservationCategories(classeur);

    // enregistrement des données
    classeur.save("arbres.bin");

    // REcuperation des intitules des caracteristiques et affichage
    ArrayList<String> intitules = classeur.getListIntituleTypo();
    Msg.puts(" =====================================================");
    Msg.puts("	INTITULES DES CARACTERISTIQUES");
    Msg.puts(" =====================================================\n");
    Msg.putsAll(intitules);
  }