[DG: Spanish Sakai] Duda de programación

DAVID ROLDAN MARTINEZ darolmar at upvnet.upv.es
Tue Jun 9 01:58:58 PDT 2009


Muy buena explicación, Raúl. Me la apunto para cuando me la pregunten en la opo. :D

Creo (e insisto en lo de creo) que todas las Legacy Tool derivan de PagedResourceActionII....

De: spanish-sakai-bounces at collab.sakaiproject.org [mailto:spanish-sakai-bounces at collab.sakaiproject.org] En nombre de Raul Herranz Serrano
Enviado el: martes, 09 de junio de 2009 10:56
Para: Daniel Merino; Spanish Sakai
Asunto: Re: [DG: Spanish Sakai] Duda de programación

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<mailto: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/1010a688/attachment.html 


More information about the spanish-sakai mailing list