fr.lip6.sma.simulacion.server.adapter.xmlrpc
Class XmlRpcAdapter

java.lang.Object
  extended by fr.lip6.sma.simulacion.server.adapter.xmlrpc.XmlRpcAdapter
All Implemented Interfaces:
Adapter, AgentListClient, XmlRpcHandler

public class XmlRpcAdapter
extends Object
implements Adapter, XmlRpcHandler

Classe pour un adaptateur XmlRpc. Le module externe est un client/serveur XmlRpc. Lors de la première connexion, l'adapteur indique son propre port (choisi aléatoirement par la JVM). L'adresse et le port du module externe sont déterminés dans la configuration.

Version:
$Revision: 3 $
Author:
Paul Guyot
See Also:
"aucun test défini."

Field Summary
private static String CLIENT_URL_PROPERTY
          Propriété avec l'url du module externe.
private static String INTERFACE_PROPERTY
          Propriété avec l'interface sur laquelle écouter (si absente, on écoute sur loopback).
private  AgentListManager mAgentListManager
          Référence sur le gestionnaire de la liste des agents.
private  XmlRpcClient mClient
          Référence sur le client.
private  AdapterAgent mLocalAgent
          Référence sur l'agent local.
private  int mPort
          Numéro du port du serveur.
private  WebServer mServer
          Référence sur le serveur.
 
Constructor Summary
XmlRpcAdapter(Configuration inConfiguration, AgentListManager inAgentListManager)
          Constructeur à partir de la configuration et du gestionnaire de liste.
 
Method Summary
 Object execute(String inMethodName, Vector inMethodParams)
          Point d'entrée de l'adaptateur XML-RPC.
 String executeAgentMethod(String inAgentName, String inAgentClass, String inMethod, Map inParams)
          Exécute une méthode sur un agent.
 void listChanged()
          Méthode appelée lorsque la liste a été modifiée.
 void registrationFailed(LocalAgent inLocalAgent)
          Méthode appelée lorsque l'enregistrement a échoué.
 void registrationSucceeded(LocalAgent inLocalAgent)
          Méthode appelée lorsque l'enregistrement a réussi.
 void shutdown()
          Arrêt de l'adaptateur.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

INTERFACE_PROPERTY

private static final String INTERFACE_PROPERTY
Propriété avec l'interface sur laquelle écouter (si absente, on écoute sur loopback).

See Also:
Constant Field Values

CLIENT_URL_PROPERTY

private static final String CLIENT_URL_PROPERTY
Propriété avec l'url du module externe.

See Also:
Constant Field Values

mPort

private final int mPort
Numéro du port du serveur.


mServer

private final WebServer mServer
Référence sur le serveur.


mClient

private final XmlRpcClient mClient
Référence sur le client.


mAgentListManager

private final AgentListManager mAgentListManager
Référence sur le gestionnaire de la liste des agents.


mLocalAgent

private AdapterAgent mLocalAgent
Référence sur l'agent local. (TODO: transformer en liste)

Constructor Detail

XmlRpcAdapter

public XmlRpcAdapter(Configuration inConfiguration,
                     AgentListManager inAgentListManager)
              throws Exception
Constructeur à partir de la configuration et du gestionnaire de liste.

Parameters:
inConfiguration - configuration à utiliser.
inAgentListManager - gestionnaire pour la liste des agents.
Throws:
Exception - si un problème est survenu.
Method Detail

executeAgentMethod

public final String executeAgentMethod(String inAgentName,
                                       String inAgentClass,
                                       String inMethod,
                                       Map inParams)
                                throws AgentException
Exécute une méthode sur un agent.

Specified by:
executeAgentMethod in interface Adapter
Parameters:
inAgentName - nom de l'agent.
inAgentClass - classe de l'agent.
inMethod - nom de la méthode à exécuter.
inParams - paramètres de la méthode.
Returns:
le résultat de la méthode.
Throws:
AgentException - si un problème est survenu.

shutdown

public final void shutdown()
Arrêt de l'adaptateur.

Specified by:
shutdown in interface Adapter

execute

public final Object execute(String inMethodName,
                            Vector inMethodParams)
                     throws Exception
Point d'entrée de l'adaptateur XML-RPC.

Specified by:
execute in interface XmlRpcHandler
Parameters:
inMethodName - nom de la méthode.
inMethodParams - paramètres de la méthode.
Returns:
le résultat de la requête.
Throws:
Exception - si un problème est survenu.

registrationSucceeded

public final void registrationSucceeded(LocalAgent inLocalAgent)
Méthode appelée lorsque l'enregistrement a réussi.

Specified by:
registrationSucceeded in interface AgentListClient
Parameters:
inLocalAgent - agent enregistré avec succès.

registrationFailed

public final void registrationFailed(LocalAgent inLocalAgent)
Méthode appelée lorsque l'enregistrement a échoué.

Specified by:
registrationFailed in interface AgentListClient
Parameters:
inLocalAgent - agent qui n'a pas pu être enregistré.

listChanged

public final void listChanged()
Méthode appelée lorsque la liste a été modifiée. On prévient le client.

Specified by:
listChanged in interface AgentListClient