Services Web et structures de données
Structures de données
ConnectionInfo
Champs | Types | Commentaire |
key | int | Clef de connexion |
timeout | int | Timeout auquel TWiki est réglé avant de nous déconnecter |
subwebs | boolean | Sous-webs gérés ou non par le service |
adminLock | boolean | Verrou administratif (concurrence entre applications de refactoring) géré par le service ? |
locksActualization | boolean | Actualisation des verrous (administratifs et topics) lors d'un ping ou gestion à faire depuis le client ? |
completeRemoveAllowed | boolean | Suppression complète des topics (et attachements) autorisée ? |
User
Champs | Types | Commentaire |
usage | String | Renseignement sur l'usage du service qu'en fait l'utilisateur |
login | String | Login de l'utilisateur |
connection | java.util.Calendar | Date de connexion de l'utilisateur |
Attachment
Champs | Types | Commentaire |
name | String | Nom de l'attachement |
path | String | Chemin du fichier avant l'upload |
attr | string | Attachement caché ? |
date | int | Date (en secondes) |
user | String | Utilisateur qui l'a posté |
size | int | Taille |
version | Float | Version de l'attachement |
comment | String | Commentaire associé |
content | byte[] | Contenu binaire |
Topic
Champs | Types | Commentaire |
web | String | Web dans lequel est stoqué le topic |
name | String | Nom du topic |
version | Float | Version du topic (RCS) |
author | String | Auteur du topic |
parent | String | Topic parent |
date | int | Date de création du topic (en secondes) |
format | String | Format TWiki du topic (1.0) |
attachments | Attachment[] | Tableau d'attachements |
data | String | Contenu du topic |
Services Web
connect
- Auteur : Romain RAUGI
- Version : CVS 1.7
- Package : Service::Connection
Description
Connexion d'un utilisateur au
service (tout service requiert une connexion préalable).
Signature
- Paramètre(s) :
- String usage : Usage que veut faire un utilisateur du service
- String login : Login de l'utilisateur
- String password : Password
- Valeur(s) retournée(s) :
- ConnectionInfo : Connexion établie
- null : Login/pass incorrect ou service saturé
copyTopic
- Auteur : Romain RAUGI
- Version : CVS 1.5
- Package : Service::Refactoring
Description
Copie de topic avec changement possible de parent et de nom.
Signature
- Paramètre(s) :
- int key : Clef de connexion
- String srcWeb : Web du topic source (syntaxe = Web[/Web]*)
- String topic : Topic à copier ("WebHome" par exemple)
- String dstWeb : Web destination
- String newName : Nouveau nom
- String parent : Topic parent auquel le rattacher ("" = WebHome)
- boolean attachments : Copie des attachements ?
- Valeur(s) retournée(s) :
- int : Code d'erreur
- 0 : OK
- 1 : Non connecté
- 2 : Pas de verrou adminsitartif déposé
- 3 : Le topic source n'existe pas
- 4 : Le nouveau nom correspond à un topic déjà existant
- 5 : Le topic parent destination n'existe pas
- 6 : Le nouveau nom n'est pas un WikiWord
- 7 : Pas les permissions pour copier
- 8 : Impossible de verrouiller le fichier cible (en cours de création par un autre)
- 9 : Problème lors de la copie, c.a.d lors de la création du topic cible
- 10 : Sous-webs pas autorisés
disconnect
- Auteur : Romain RAUGI
- Version : CVS 1.7
- Package : Service::Connection
Description
Déconnexion du service.
Signature
- Paramètre(s) :
- int key: Clef de connexion
- Valeur(s) retournée(s) :
- true : Déconnexion effectuée
- false: Déjà déconnecté auparavant probablement
getAttach
- Auteur : Maxime LAMURE
- Version : 1.0
- Package : Service::Editeur
Description
Ce service permet de récupérer un objet de type
Attachment correspondant au nom de fichier donné en paramètre.
Signature
- Paramètre(s) :
- param1: le chemin du topic
- param2: le nom du fichier
- Valeur(s) retournée(s) :
- objet de type Attachment dont les propriétés correspondent au fichier donne en paramètre.
Exemple
Attachment att=stub.getAttach("Main/WebList.txt",”toto.avi”);
System.out.println(att.getDate());
System.out.println(att.getName());
getListAttach
- Auteur : Maxime LAMURE
- Version : 1.0
- Package : Service::Editeur
Description
Ce service renvoie la liste de tous les noms de fichiers en attachement au topic passé en paramètre.
Signature
- Paramètre(s) :
- Valeur(s) retournée(s) :
- Un tableau de chaîne de caractères contenant les noms des fichiers d’attachement.
Exemple
String [] liste=stub.getListAttach("Main/WebList.txt");
System.out.println("fichier : "+liste[0]);
-> fichier : toto.avi
getTopic
- Auteur : Maxime LAMURE
- Version : 1.0
- Package : Service::Editeur
Description
Récupère un objet de type Topic instancie avec les propriétés du topic dont le nom est donné en paramètre.
Signature
- Paramètre(s) :
- param1 : chemin du topic
- param2 : La clé unique de l’utilisateur
- Valeur(s) retournée(s) :
- Une instance d’un objet de type Topic correspondant au topic donné en paramètre.
Exemple
Topic p=stub.getTopic("Main/WebSearch.txt",125);
System.out.println("Autheur: "+p.getAuthor());
-> Auteur: PeterThoeny
getUsers
- Auteur : Romain RAUGI
- Version : CVS 1.7
- Package : Service::Connection
Description
Liste des utilisateurs connectés au service.
Signature
- Paramètre(s) :
- Valeur(s) retournée(s) :
- User[] : Liste des utilisateurs (null si aucun)
getWebs
- Auteur : Romain RAUGI
- Version : CVS 1.5
- Package : Service::Topics
Description
Liste des webs ou des sous-web si un web est passé en paramètre.
Signature
- Paramètre(s) :
- String root : "" pour obtenir les webs, un web pour en obtenir les sous-webs.
- Valeur(s) retournée(s) :
- String[] : Liste des webs
Exemple
String[] webs = stub.getWebs("");
System.out.println(webs);
-> Main _default TWiki Trash Sandbox
giveHierarchy
- Auteur : Maxime LAMURE
- Version : 1.0
- Package : Service::Arborescence
Description
Ce service ressemble à la commande ls en UNIX.
Signature
- Paramètre(s) :
- param1 : Le chemin du Web
- param2 : La clé unique de l’utilisateur
- Valeur(s) retournée(s) :
- Un tableau de chaîne de caractères contenant les noms des Web et des topics présent dans param1. Les fichiers se terminant par .txt sont des topics, les autre des Webs.
Exemple
String [] result=stub.giveHierarchy("../data/Main",125);
for(int i=0;i<result.length ;i++)
System.out.println(result[i]);
-> ANewPage.txt
ImaeWeb.txt
WebHome.txt
...
giveTopicProperties
- Auteur : Maxime LAMURE
- Version : 1.0
- Package : Service::Arborescence
Description
Ce service permet de récupérer les propriétés d’un topic.
Signature
- Paramètre(s) :
- param1 : Le chemin du topic
- param2 : La clé unique de l’utilisateur
Valeur(s) retournée(s)
Un tableau de chaîne de caractères répertoriant les propriétés du topic. Pour les droits, la convention est la suivante :
- : aucun droit d’écriture
- : droit de change
- : droit de renomage
- : droit de change et de renomage
Exemple
String[]prop=stub.giveTopicProperties("Main/toto.txt",125);
System.out.println(“ taille: ”+prop[0]); -> 25685
System.out.println(“ web: ”+prop[1]); -> Main
System.out.println(“ chemin: ”+prop[2]); -> /twiki/data/Main
System.out.println(“ topic parent: ”+prop[3]); -> MainPage
System.out.println(“ auteur: ”+prop[4]); -> guest
System.out.println(“ date creation: ”+prop[5]); -> lundi 18 avril
System.out.println(“date modification: ”+prop[6]); -> mardi 1 mai
System.out.println(“ version: ”+prop[7]); -> 1.1
System.out.println(“ format: ”+prop[8]); -> 1.0
System.out.println(“ droit: ”+prop[9]); -> 3
giveWebProperties
- Auteur : Maxime LAMURE
- Version : 1.0
- Package : Service::Arborescence
Description
Permet de récupérer la propriété du Web.
Signature
- Paramètre(s) :
- param1 : le chemin du Web.
- Valeur(s) retournée(s) :
- Un entier représentant le nombre en octet. Cette taille n’est pas récursive.
Exemple
int taille=stub.giveWebProperties("Main");
System.out.println("La taille est de: "+taille);
lockTopic
- Auteur : Romain RAUGI
- Version : CVS 1.5
- Package : Connection::Topics
Description
Verrouillage ou déverrouillage explicite de topic. Le déverrouillage n'est authorisé qu'au détenteur du verrou (via username si déposé par TWiki lui-même, via clef de connexion si déposé via service).
Signature
- Paramètre(s) :
- int key : Clef de connexion
- String web : Web du topic (syntaxe = Web[/Web]*)
- String topic : Topic à renommer (syntaxe = WikiWord)
- boolean doLock: Verrouiller (true) ou déverrouiller (false)?
- Valeur(s) retournée(s) :
- boolean : Echec ou succès
A noter : retournera succès lors d'un déverrouillage même s'il n'y a pas de verrou déposé.
mergeTopics
- Auteur : Romain RAUGI
- Version : CVS 1.5
- Package : Service::Refactoring
Description
Fusion de topics.
Signature
- Paramètre(s) :
- int key : Clef de connexion
- String webTarget : Web du topic n°1 (syntaxe = Web[/Web]*)
- String topicTarget : Topic "destination" participant à la fusion (syntaxe = WikiWord)
- String webFrom : Web du topic n°2
- String topicFrom : Topic n°2 participant à la fusion (syntaxe = WikiWord)
- boolean attachments : Gérer les attachements dans la fusion ?
- boolean identify : Génération ou non d'un rapport (page en mode verbatim) indiquant de manière détaillée le résultat de la fusion
- int removeOption : Options concernant le topic n°2
- -1 : Pas de suppression
- cf. removeTopic pour les autres codes
- boolean dontNotify : Notifier ou non du changement
- Valeur(s) retournée(s) :
- int : Code d'erreur
- 0 : OK
- 1 : Non connecté
- 2 : Pas de verrou administratif
- 3 : Le topic n°1 n'existe pas
- 4 : Le topic n°2 n'existe pas
- 5 : Les topics 1 et 2 sont les mêmes
- 6 : Pas les permissions de modifier le topic n°1
- 7 : Topic n°1 déjà verrouillé
- 8 : Problème lors de la modification du topic n°1
- 9 : Problème lors de la suppression du topic n°2 (si demandée)
- 10 : Sous-webs pas autorisés
moveTopic
- Auteur : Romain RAUGI
- Version : CVS 1.5
- Package : Service::Refactoring
Description
Déplacement de topic avec changement de parent possible.
Signature
- Paramètre(s) :
- int key : Clef de connexion
- String srcWeb : Web du topic (syntaxe = Web[/Web]*)
- String topic : Topic à renommer (syntaxe = WikiWord)
- String dstWeb : Web destination
- String parent : Topic parent auquel le rattacher ("" = WebHome)
- int update : Mise à jour des liens qu'y s'y réfèrent
- 0 : Pas de maj
- 1 : Maj dans tous les webs
- 2 : Maj dans les webs source et destination
- Valeur(s) retournée(s) :
- int : Code d'erreur
- 0 : OK
- 1 : Non connecté
- 2 : Pas de verrou administratif
- 3 : Le topic source n'existe pas
- 4 : Le topic parent destination n'existe pas
- 5 : Pas les permissions pour renommer
- 6 : Topic déjà verrouillé
- 7 : Le topic existe déjà dnas le Web destination
- 8 : Problème lors du déplacement Web source/ Web destination
- 9 : Problème lors de la modification du lien vers le topic parent
- 10 : Sous-webs pas autorisés
ping
- Auteur : Romain RAUGI
- Version : CVS 1.7
- Package : Service::Connection
Description
Avertissement au serveur qu'on est toujours présent, actualisation des verrous déposés (si service configuré pour).
Signature
- Paramètre(s) :
- int key: Clef de connexion
- Valeur(s) retournée(s) :
- true : On est toujours connecté
- false: On l'est plus
removeSubscription
- Auteur : Romain RAUGI
- Version : CVS 1.2
- Package : Service::Notification
Description
Résialiation d'abonnement aux événements TWiki.
Signature
- Paramètre(s) :
- int key : Clef de connexion
- Valeur(s) retournée(s) :
- true : On est abonné
- false: On l'est pas (plus) ou le service ne gère pas les notifications
removeTopic
- Auteur : Romain RAUGI
- Version : CVS 1.5
- Package : Service::Refactoring
Description
Suppression de topic. Attention, ce qui s'applique aux topics s'applique aux attachements ...
Signature
- Paramètre(s) :
- int key : Clef de connexion
- String web : Web du topic (syntaxe = Web[/Web]*)
- String topic : Topic (syntaxe = WikiWord)
- int option : Web destination
- 0 : Déplacement dans le web Trash, génération automatique d'un ID si nom de topic y existe déjà (si service configuré pour)
- 1 : Déplacement dans le web Trash, suppression de celui qui existerait éventuellement dans Trash (si fonctionnalité autorisée par le service)
- 2 : Suppression complète (si fonctionnalité autorisée par le service)
- Autre : Déplacement dans le web Trash, erreur si topic de même nom y existe déjà (pas de génération automatique d'ID)
- String trashName : Nom à donner au topic dans le web Trash ('' = topic)
- Valeur(s) retournée(s) :
- int : Code d'erreur
- 0 : OK
- 1 : Non connecté
- 2 : Pas de verrou administratif
- 3 : Le topic n'existe pas
- 4 : Pas les permissions de supprimer le topic
- 5 : Topic déjà verrouillé
- 6 : TrashName n'est pas un WikiWord
- 7 : Impossible de supprimer celui qui se trouve dans le web Trash
- 8 : Problème lors de l'envoi vers le web Trash
- 10 : Sous-webs pas autorisés
renameTopic
- Auteur : Romain RAUGI
- Version : CVS 1.5
- Package : Service::Refactoring
Description
Renommage de topic, de la "pile" RCS associée et de la location des attachements.
Signature
- Paramètre(s) :
- int key : Clef de connexion
- String web : Web du topic (syntaxe = Web[/Web]*)
- String topic : Topic à renommer (syntaxe = WikiWord)
- String name : Nouveau nom (WikiWord, sinon retour d'un code d'erreur)
- int update : Mise à jour des liens qu'y s'y réfèrent
- 0 : Pas de maj
- 1 : Maj dans tous les webs
- 2 : Maj au sein du web
- Valeur(s) retournée(s) :
- int : Code d'erreur
- 0 : OK
- 1 : Non connecté
- 2 : Pas de verrou administratif
- 3 : Le topic n'existe pas
- 4 : Le nouveau nom correspond à un topic existant
- 5 : Le nouveau nom donné n'est pas un WikiWord
- 6 : Pas les permissions pour renommer
- 7 : Topic déjà verrouillé
- 8 : Problème lors du renommage
- 10 : Sous-webs pas autorisés
sameTopicParent
- Auteur : Maxime LAMURE
- Version : 1.0
- Package : Service::Arborescence
Description
Ce service retourne une representation de l'arborescence en fonction des parametres donnés:
Signature
- Paramètre(s) :
- param1: Le nom du topic parent
- param2 : Le nom du Web où commence la recherche
- param3: La clé unique de l’utilisateur
- Valeur(s) retournée(s) :
- Un tableau de chaîne de caractères regroupant les chemins des topics ayant le même topic parent. Si le topic retourné est lui-même un topic parent, alors il se termine par #
- Quelques exemples
- sameTopicParent("","nomWeb",clé) :
Renvoie la liste des topics parents et la liste des topic qui n'on pas de parent et qui ne sont pas parent. Pour connaitre la liste des topic enfant, il suffit de rappeller cette méthode avec le nom du topic parent en parametre. Si un parent est aussi enfant, il ne sera affiche qu'en appelant la fonction avec le nom de son parent. Les cycles sont gérés.
-
- sameTopicParent("Nomtopic","",clé):
Renvoie la liste des topic qui ont Nomtopic comme parent.
-
- sameTopicParent("Web.Nomtopic","",clé) :
Renvoie la liste des topic qui ont Nomtopic ou Web.Nomtopic comme parent.
Exemple
String []parent=stub.sameTopicParent("MainPage",””,125);
for(int i=0;i<parent.length ;i++)
System.out.println(parent[i]);
-> /Main/Toto.txt
/Main/Tata.txt#
setAdminLock
- Auteur : Romain RAUGI
- Version : CVS 1.7
- Package : Service::Connection
Description
Verrou administratif.
Signature
- Paramètre(s) :
- int key: Clef de connexion
- boolean doLock : Verrouiller ou déverrouiller ?
- Valeur(s) retournée(s) :
- true : Ok
- false: Pas (dé)verrouillable
setTopic
- Auteur : Romain RAUGI
- Version : CVS 1.5
- Package : Service::Topics
Description
Sauvegarde d'un topic voire d'attachements
Signature
- Paramètre(s) :
- int key : Clef de connexion
- Topic topic : Objet topic à sauvegarder
- boolean doKeep : Supprimer les attachements dont on n'a pas renvoyé les infos ?
- boolean doUnlock : Déverrouiller ?
- boolean dontNotify : Notifier du changement aux autres ?
- Valeur(s) retournée(s) :
- int : Code d'erreur
- 0 : OK
- 1 : Non connecté
- 2 : Le topic n'existe pas
- 3 : Topic nul passé en paramètre
- 4 : Pas les permissions
- 5 : Topic verrouillé par qqun d'autre
- 6 : Problème lors de la modification
- 10 : Sous-webs pas autorisés
subscribe
- Auteur : Romain RAUGI
- Version : CVS 1.2
- Package : Service::Notification
Description
Abonnement aux événements TWiki.
Signature
- Paramètre(s) :
- int key : Clef de connexion
- int port : Port sur lequel on veut recevoir les notifications
- Valeur(s) retournée(s) :
- true : Ok
- false: Clef incorrecte ou service de notifications désactivé
--
RomainRaugi - 07 Jun 2004
to top