Programmation des requêtes d'extension
Comme développeur d'extensions pour JMap Pro, vous aurez probablement à développer des applications qui doivent effectuer des communications entre le côté client et JMap Server. Que ce soit pour communiquer avec votre propre extension côté serveur ou pour effectuer des requêtes générales à JMap Server, le principe de programmation reste le même.
Pour plus d'information sur la communication client-serveur das JMap, consultez la section Communication client-serveur.
Programmation de la requête
Pour créer votre classe de requête, vous devez respecter les 2 règles suivantes :
•la classe doit dériver de la classe JMapExtensionRequest;
•toutes les propriétés de la classe doivent être sérialisables.
Vous êtes libres d'ajouter toute les propriétés et méthodes qui sont utiles pour l'exécution de votre requête. Ces propriétés et méthodes pourront être exploitées du côté serveur par votre extension.
L'exemple de code source suivant montre comment programmer une requête simple.
// This request is used to save a new citizen complaint |
Programmation de la réponse
Pour créer votre classe de réponse, vous devez respecter les 2 règles suivantes :
•la classe doit dériver de la classe JMapExtensionResponse;
•toutes les propriétés de la classe doivent être sérialisables.
Vous êtes libres d'ajouter toutes les propriétés et méthodes qui sont utiles pour retourner l'information au client relativement à l'exécution de la requête. Ces propriétés et méthodes pourront être exploitées du côté client par votre extension suite à l'exécution de la requête sur le serveur.
L'exemple de code source suivant montre comment programmer une réponse simple.
|
En étant dérivée de JMapExtensionResponse, votre classe de réponse hérite de quelques propriétés utiles dont le statut de la réponse et un message explicatif en cas de problème.
Statut de la réponse
Chaque réponse possède un statut qui indique si la requête a été exécutée avec succès ou si un problème est survenu. La méthode getStatus() de la classe JMapExtensionResponse permet d'obtenir le statut de la réponse. Pour la liste des statuts possibles et leur description, référez-vous à la documentation de la classe JMapExtensionResponse.
Votre extension devrait toujours vérifier le statut d'une réponse avant de l'utiliser. Si le statut n'est pas égal à JMAPSRV_STS_SUCCESS, un traitement spécial doit être fait afin de gérer la situation d'erreur. Dans ce cas, la méthode getMessage() permet d'obtenir un message explicatif décrivant la cause de l'erreur.