Personal tools
You are here: Home Development Documents gvSIG desktop 1.0 / 1.1 Plugins Publish Extension Subsistemas modelServers Diseño
.. figure:: ../../main_images/modelServers_images/modelServers_design_classes.png
   :scale: 50
   :alt: Fallo al cargar la imagen
   :align: center

   Clases de diseño del subsistema modelServers

**Publication**

Esta clase representa la publicación que se puede realizar en un servidor.

*Operaciones*
     *setServer(s:Server)* Inicializamos la publicación con un servidor

     *getServer():Server* Obtenemos el servidor de la publicación

*Excepciones*
 
TODO

**Server**

Representa un servidor abstracto. Un servidor puede ofrecer varios servicios.

*Operaciones*
     *Server()* Constructor por defecto, inicializa el servidor con todos los servicios que se han registrado en él.

     *Server(service:String)* Constructor en el que sólo se inicializa con el servicio especificado 

     *getType():String* Devuelve una cadena que identifica el tipo de servidor. Por ejemplo, "mapserver".

     *toString():String* Sobreescribimos el método "toString" para obtener el nombre del servidor. 

     *initialize(view:IViewInfo)* Inicializamos el servidor con la información de una vista. Para cada servicio invocamos su metodo initialize() 

     *postInitialize()* Una vez inicializado el servidor este método comprueba que cada recurso remoto de sus servicios es compatible con el servidor. Para cada servicio invoca su metodo postInitialize().

     *addService(service:String)* Añadimos el servicio a partir del nombre del servicio.

     *getService(service:String):Service* Obtenemos un servicio del servidor a partir del nombre del servicio.

     *getService(position:int):Service* Obtenemos un servicio del servidor a partir de un número que indica el orden en que se introdujo.

     *getServicesCount():int* Obtenemos el número de servicios que tiene actualmente el servidor.

     *publish()* Método abstracto para generar la publicación, es decir, los ficheros de configuración. Llama a los métodos "publish()" de todos sus servicios. Cualquier servidor heredado deberá sobrescribir este método para realizar las operaciones pertinentes, finalmente llamará al método del padre super.publish() para que se realice la publiación de los servicios.

*Excepciones*

TODO

**Service**

Clase que representa un servicio abstracto. Una servicio ofrece varios recursos remotos accesibles por un cliente de dicho servicio. 

*Operaciones*
     *getType():String* Devuelve una cadena que identifica el tipo de servicio. Por ejemplo, "mapserver_wms".

     *toString():String* Sobreescribimos el método "toString" para obtener el nombre del servicio.

     *initialize(view:IViewInfo)* Inicializamos el servicio con la información de una vista. Para cada capa de la vista creamos un recurso remoto.

     *postInitialize()* Una vez inicializado el servicio este método comprueba que cada uno de sus servicios remotos es compatible con el servidor y el servicio.

     *getRemoteResource(position:int):RemoteResource* Obtenemos un recurso remoto del servicio a partir de un número que indica el orden en que se introdujo.

     *getRemoteResourcesCount():int* Obtenemos el número de recursos remotos que tiene actualmente el servicio.

     *publish()* Método abstracto para generar la publicación, es decir, los ficheros de configuración. Llama a los métodos "publish()" de todos sus recursos remotos. 


*Excepciones*

TODO

**RemoteResource**

*Operaciones*
     *getType():String* Devuelve una cadena que identifica el tipo de recurso remoto. Por ejemplo, "mapserver_wms_layer".

     *toString():String* Sobreescribimos el método "toString" para obtener el nombre del recurso remoto.

     *initialize(view:ILayerInfo)* Inicializamos el recurso con la información de una capa. En el caso de capas anidadas creamos una recursos remoto por cada capa hija.

     *postInitialize()* Comprobamos que todos sus recursos remotos hijos son compatibles con el servidor y el servicio.

     *getRemoteResource(position:int):RemoteResource* Obtenemos un recurso remoto hijo a partir de un número que indica el orden en que se introdujo.

     *getRemoteResourcesCount():int* Obtenemos el número de recursos remotos hijos.

     *publish()* Método abstracto para generar la publicación, es decir, los ficheros de configuración. Llama a los métodos "publish()" de todos sus recursos remotos hijos. 



*Excepciones*

TODO

**ServerRegister**

Clase encargada de registrar los servidores disponibles para la extensión. Cada plugin de servidor deberá registrarse en este registro.

*Operations*
     *addServer(key:String, clase:Class)* Registramos un nuevo servidor en la extensión a partir de una cadena que lo identifica (key).

     *getServerNames():Set* Devuelve los nombres (keys) de todos los servidores registrados.

     *getInstance(key:String)* Crea una instancia del servidor especificado por "key".

*Excepciones*

TODO

**ServiceRegister**

Clase encargada de registrar los servicios disponibles para la extensión. Cada plugin de servidor deberá registrar sus servicios en este registro.

*Operations*
     *addService(key_server:String, key_service:String, clase:Class)* Registramos un nuevo servicio correspondiente a un servidor a partir de una cadena que identifica el servidor (key_server) y al servicio (key_service).

     *getServiceNames(key_server:String):Set* Devuelve los nombres (keys) de todos los servicios registrados para un servidor.

     *getInstance(key_server:String, key_service:String)* Crea una instancia del servicio especificado por "key_service" correspondiente al servidor "key_server".

*Excepciones*

TODO

**RemoteResourceRegister**

Clase encargada de registrar los recursos remotos correspondientes a un servicio concreto. Cada plugin de servidor deberá registrar sus recursos remotos en este registro.

*Operations*
     *addRemoteResource(key_service:String, key_remoteResource:String, clase:Class)* Registramos un nuevo recurso remoto asociado a un servicio.

     *getRemoteResourcesNames(key_service:String):Set* Devuelve los nombres (keys) de todos los recursos remotos asociados a un servicio.

     *getInstance(key_service:String, key_remoteResource)* Crea una instancia del recurso remoto especificado por "key_remoteResource" asociado al servicio identificado por la clave "key_service".

*Excepciones*

TODO

View source document


Powered by Plone CMS, the Open Source Content Management System

This site conforms to the following standards: