[DG: Spanish Sakai] Duda de programación

Raul Herranz Serrano herranzr at yahoo.es
Tue Jun 9 01:56:15 PDT 2009


Si lo piensas, la respuesta a tu pregunta "Alguien que pueda explicarme esta llamada?" es sencilla: como sabrás, una clase abstracta no puede instanciarse... es similar a un interface, sólo que incorpora cierto código que queremos que usen sus clases derivadas... por tanto, la clase derivada que se instancie en un momento determinado (y que al ser instanciada sabemos que no será abstracta, y por tanto tendrá el método readResourcesPage implementado) podrá ejecutar sin problema ese método... por tanto, tienes que seguir indagando para localizar qué clase es la que, en este caso concreto, se está instanciando (y que por lo menos sabes que es una clase derivada de 
PagedResourceActionII)...

Un saludo y suerte!! [guiño]

    Raúl Herranz




________________________________
De: Daniel Merino <daniel.merino at unavarra.es>
Para: Spanish Sakai <spanish-sakai at collab.sakaiproject.org>
Enviado: martes, 9 de junio, 2009 9:46:19
Asunto: [DG: Spanish Sakai] Duda de programación

Hola a tod at s. Estoy intentando meterme un poco con la programación en
Sakai 2.5.3 y me estoy volviendo loco con el sitema que tiene Sakai de
gestionar los Sites.

Para empezar, Site es un interface, así que en algún sitio tiene que
estar implementado. Por lo que veo, BaseSite lo implementa, pero no veo
por ninguna parte que sea esta clase la que se utiliza.

En la clase cuyo comportamiento me interesa modificar,
SiteBrowserAction, sucede lo siguiente: se mete la lista de Sites en el
contexto velocity, para poder usarla en chef_sitebrowser_list.vm :

// prepare the paging of realms
        List sites = prepPage(state);
        state.setAttribute(STATE_SITES, sites);
        context.put("sites", sites);

Rastreando dónde se construyen los Sites, me voy al método prepPage (en
PagedResourceActionII.java) y me encuentro que es un método
implementado dentro de una clase abstracta. Dentro de su código tiene
esta llamada:

List messagePage = readResourcesPage(state, posStart + 1, posEnd +
1);

y resulta que readResourcesPage es un método abstracto, dentro de la
misma clase, no implementado (???). Aquí ya me pierdo, que yo sepa esto
no tiene sentido.

Alguien que pueda explicarme esta llamada? O en su defecto, alguien que
sepa dónde está la implementación de un Site?

Salu2

-- 
Daniel Merino
daniel.merino at unavarra.es
Gestor de teleformación - Centro Superior de Innovación Educativa.
Tfno: 948-168489 - Universidad Pública de Navarra.
--
Que haya muerto no es prueba suficiente de que haya vivido. (Stanislaw
J. Lec) 


      
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://collab.sakaiproject.org/pipermail/spanish-sakai/attachments/20090609/3c5c70f6/attachment.html 


More information about the spanish-sakai mailing list