Les annuaires

Ce programme présente l'usage d'un annuaire d'Up ! Object Request Broker.

Le fichier source est ${UPS_HOME}/upsvtm/demo/${UPS_LANGUAGE}/annuaire.upl.

Mode compilé

Commande de compilation

upscmp Source=annuaire.upl

Commande d'exécution

annuaire

Mode interprété

upssng Source=annuaire.upl

Fichier source

Source Composant "Exemple d'emploi des annuaires" Version 4.0.0;

ImporterModule UpsOrb(<UpsOrb.upi>, ImporterDefinitions);

Variable
/******/
Procedure AfficherAnnuaire2(An : Nul Ou Annuaire, Chemin : Caractere)
/*******************************************************************/
Variable
Debut
L=An.LireArborescenceAnnuaire(Chemin);
Si L!=Nul Alors Fin Si
Fin Procedure

Procedure AfficherAnnuaire(An : Nul Ou Annuaire)
/**********************************************/
Debut
Ecran.Ecrire(An.NomAnnuaire);
AfficherAnnuaire2(An, "/");
Ecran.Ecrire("\n");
Fin Procedure

Principal
/*******/
Variable
/******/
Debut
A=Annuaire("MonAnnuaire");
A.EcrireEntree("/coucou", "/COUCOU");
A.EcrireEntree("/hello", "/HELLO");
A.EcrireEntree("/guten tag", "/GUTEN TAG");
A.EcrireEntree("/coucou/coucou", "/COUCOU/COUCOU");
A.EcrireEntree("/hello/coucou", "/HELLO/COUCOU");
A.EcrireEntree("/coucou/hello", "/COUCOU/HELLO");
A.EcrireEntree("/hello/hello", "/HELLO/HELLO");
A.EcrireEntree("/hello/guten tag", "/HELLO/GUTEN TAG");
A.EcrireEntree("/coucou/guten tag", "/COUCOU/GUTEN TAG");
A.EcrireEntree("/guten tag/coucou", "/GUTEN TAG/COUCOU");
A.EcrireEntree("/guten tag/hello", "/GUTEN TAG/HELLO");
A.EcrireEntree("/guten tag/guten tag", "/GUTEN TAG/GUTEN TAG");
AfficherAnnuaire(A);

Ecran.Ecrire(Caractere(A.LireEntree("/coucou")));
Ecran.Ecrire(Caractere(A.LireEntree("/coucou/coucou")));
Ecran.Ecrire(Caractere(A.LireEntree("/coucou/guten tag")));
Ecran.Ecrire(Caractere(A.LireEntree("/coucou/hello")));
Ecran.Ecrire(Caractere(A.LireEntree("/hello")));
Ecran.Ecrire(Caractere(A.LireEntree("/hello/coucou")));
Ecran.Ecrire(Caractere(A.LireEntree("/hello/guten tag")));
Ecran.Ecrire(Caractere(A.LireEntree("/hello/hello")));
Ecran.Ecrire(Caractere(A.LireEntree("/guten tag")));
Ecran.Ecrire(Caractere(A.LireEntree("/guten tag/coucou")));
Ecran.Ecrire(Caractere(A.LireEntree("/guten tag/guten tag")));
Ecran.Ecrire(Caractere(A.LireEntree("/guten tag/hello")));
Ecran.Ecrire("\n");

A.SupprimerEntree("/hello/hello");
A.SupprimerEntree("/guten tag", Vrai);
A.EcrireEntree("/hello", "/HELLO !!!");
A.EcrireEntree("/coucou/hello", "/COUCOU/HELLO !!!");
A.RenommerEntree("/coucou", "/salut", Vrai);
A.RenommerEntree("/hello/guten tag", "/good morning/schluss");
Ecran.Ecrire(Caractere(A.LireEntree("/hello")));
Ecran.Ecrire(Caractere(A.LireEntree("/salut/hello")));
Ecran.Ecrire(Caractere(A.LireEntree("/salut")));
Ecran.Ecrire("\n");

AfficherAnnuaire(A);

AnnuaireLocal.EcrireEntree("/coucou", "/COUCOU");
AnnuaireLocal.EcrireEntree("/hello", "/HELLO");
AnnuaireLocal.EcrireEntree("/guten tag", "/GUTEN TAG");
AnnuaireLocal.SupprimerEntree("/hello");
AnnuaireLocal.RenommerEntree("/guten tag", "/schluss");
AfficherAnnuaire(AnnuaireLocal);

L=LireArborescenceAnnuaireGlobal(");
Pour C=L.ParcoursAuDebut() JusquA L.DernierElement() Faire Fin Pour
Fin Principal

Résultat de l'exécution

MonAnnuaire upsaps upsaps/upsmls upsaps/upsmls/news upsaps/upsmls/Administrateur upsaps/upsmls/Administrateur/email upsaps/upsmls/Administrateur/news upsaps/upsmls/Spoule upsaps/upsmls/Spoule/email upsaps/upsmls/Spoule/news hello hello/coucou hello/hello hello/guten tag salut salut/coucou salut/hello salut/guten tag good morning good morning/schluss coucou coucou/coucou coucou/hello coucou/guten tag guten tag guten tag/coucou guten tag/hello guten tag/guten tag /COUCOU /COUCOU/COUCOU /COUCOU/GUTEN TAG /COUCOU/HELLO /HELLO /HELLO/COUCOU /HELLO/GUTEN TAG /HELLO/HELLO /GUTEN TAG /GUTEN TAG/COUCOU /GUTEN TAG/GUTEN TAG /GUTEN TAG/HELLO /HELLO !!! /COUCOU/HELLO !!! /COUCOU MonAnnuaire upsaps upsaps/upsmls upsaps/upsmls/news upsaps/upsmls/Administrateur upsaps/upsmls/Administrateur/email upsaps/upsmls/Administrateur/news upsaps/upsmls/Spoule upsaps/upsmls/Spoule/email upsaps/upsmls/Spoule/news hello hello/coucou salut salut/coucou salut/hello salut/guten tag good morning good morning/schluss test5 upsaps upsaps/upsmls upsaps/upsmls/news upsaps/upsmls/Administrateur upsaps/upsmls/Administrateur/email upsaps/upsmls/Administrateur/news upsaps/upsmls/Spoule upsaps/upsmls/Spoule/email upsaps/upsmls/Spoule/news coucou schluss coucou=/COUCOU schluss=/GUTEN TAG