viernes, 6 de febrero de 2009

Ordenar colecciones

Para ordenar colecciones:
FORMA 1: Implementando la interfaz comparable en la clase
1) El objeto del que está compuesto la colección tiene que implementar la interfaz Comparable.
Ej:
public class Alumno implements Comparable{(...)}

2) Tiene que sobreescribir el método:compareTo(), teniendo en cuenta que lo que devuelve es el criterio de ordenación.
EJ:
public int compareTo(Alumno o) {
return dni.compareTo(o.dni);
}

3)Llamada al método sort() desde Collections en el código.
EJ:
List alumnos=new ArrayList();
alumnos.add(a1); (...)
Collections.sort(alumnos);

FORMA 2:Utilizando un objeto comparator
1) Nos creamos una clase nueva que tiene que implementar la interfaz Comparable.
EJ:
public class AlumnoNombreComparator implements Comparator {}

2) Esta clase tiene que sobreescribir el método:compareTo().
Este método recibe dos objetos del tipo a ordenar y devuelve un entero.
EJ: En este ejemplo se van a ordenar por el atributo nombre de la clase alumno.
public int compare(Alumno alumno1, Alumno alumno2) {
return alumno1.nombre.compareTo(alumno2.nombre);
}

3)Llamada al método sort() desde Collections en el código.
List alumnos=new ArrayList();
alumnos.add(a1); (...)
Collections.sort(alumnos, comparadorAlumnoPorNombre);

miércoles, 4 de febrero de 2009

JSPs (modelo 2) Y CONTROLADOR FRONTAL

Hasta ahora: hemos trabajado con servlets trabajando con el modelo 1.

Ahora: vamos a trabajar con JSPs (modelo 2)

Se cambio el modelo para separar la vista de la lógica de negocio.
La vista y la lógica de negocio no tienen que coincidir.
Deben estar separadas.

Un jsp trabaja igual que un servlet en tiempo de ejecucion.
Cuando lo lanzamos al tomcat, este traduce el jsp a un servlet.

Con JSPs el código en lenguaje Java tiene que ir entre script <% %> y el código de HTML se escribe normal.

----------------------------------------------------------------
CONTROLADOR FRONTAL
tODAS LAS PETICIONES LLEGAN AL CONTROLADOR, Y ESTE SE PREGUNTA CUAL ES LA URL.
Recoge la URL y los parámetros mediante determinados metodos.
Una vez q tiene la URL decide a quién le manda la peticion(comprobando si contiene determinadas palabras)
En definitiva no hace nada, solo controla a quien se lo manda y puede tomar decisiones.(puede filtrar)
VENTAJAS: no tenemos que tener muchos servlets. Recomendable segun el caso.

lunes, 2 de febrero de 2009

TDD: testNG (desarrollo dirigido por pruebas)

- Sirve para realizar pruebas.
Es una librería que sigue un estandart y una nomenclatura concreta.

- La prueba existe antes del desarrollo.
Al hacer el código en base a las pruebas, se falicita el desarrollo de código modular, y facilita ...

- Habrá una estructura simetrica entre el codigo de prueba y el código del programa.
Esto nos sirve para probar las clases como si estuviera en el mismo paquete

- plugin para eclipse:
Para instalarlo y usarlo seguimos los pasos de este enlace:
http://testng.org/doc/eclipse.html

- Cómo se hace una prueba:
* Se van a crear clases con el nombre de la clase que vamos a probar y le ponemos la terminacion "test".
* Dentro de la clase habrá métodos de prueba.
* Tendrá que llevar la anotación test "@test" para indicar que un método es de prueba.
*Se crea un objeto de la clase a probar, se hace algo y se comprueba que el resultado es correcto.
*Para lanzar la prueba está el código de eclipse:
btn derecho encima de la prueba/run as testNG Test