1
00:00:00,150 --> 00:00:06,360
Bien, continuamos, ahora la idea es enviar el país completo, no solamente Leidy o el código del país,

2
00:00:06,480 --> 00:00:08,100
enviar todo el objeto para eso.

3
00:00:08,160 --> 00:00:13,260
Bueno, había explicado que tenemos que implementar una clase property editors personalizada.

4
00:00:13,320 --> 00:00:18,870
Bueno, en realidad se envía el Heidy, pero a través de Estadi o código obtenemos el objeto completo.

5
00:00:18,960 --> 00:00:25,110
Acá tenemos que iterar, buscar por este arreglo por cada país y cuando encontramos este país que coincida

6
00:00:25,110 --> 00:00:31,710
con ese Heidy bueno retornamos y modificamos con el valor del país y no de Leidy.

7
00:00:31,860 --> 00:00:37,500
En el property editor lo podemos modificar con set valio pero bien vamos por partes.

8
00:00:37,590 --> 00:00:44,550
Primero tenemos que implementar una clase que se encargue de operar con los datos, puede ser una clase

9
00:00:44,550 --> 00:00:50,800
servis de lógica negocio y vamos a llevar esta lista completa a esta clase cérvix, de tal forma que

10
00:00:50,820 --> 00:00:56,940
podamos utilizar tanto en el controlador como también en nuestra clase que vamos a crear después Property

11
00:00:57,000 --> 00:01:03,090
Editors para no tener que estar copiando y pegando esto acá en el controlador y después en el Property

12
00:01:03,090 --> 00:01:07,980
Editors, si no centralizar como un repositorio de los países en una sola clase.

13
00:01:08,130 --> 00:01:10,260
Y qué mejor que utilizar un service ahora?

14
00:01:10,290 --> 00:01:15,870
Bueno, si trabajamos con base auto, por supuesto que el repositorio de los países sería una tabla

15
00:01:15,960 --> 00:01:22,020
que tendremos que implementar un dado o un repository con consultas a la base, datos para obtener esta

16
00:01:22,020 --> 00:01:25,860
lista país o para buscar el país por el Heidy o por el código.

17
00:01:25,890 --> 00:01:26,430
Se fijan?

18
00:01:26,550 --> 00:01:32,310
Bueno, acá es lo mismo, pero una clase que opere con este arreglo y vamos a buscar en este arreglo.

19
00:01:32,550 --> 00:01:34,470
Bien, entonces nos vamos al package.

20
00:01:34,560 --> 00:01:39,030
Vamos a crear en el paquete base un nuevo package servicies.

21
00:01:41,170 --> 00:01:44,800
Finalizar, vamos a crear primero una interfaz.

22
00:01:46,210 --> 00:01:50,800
Recuerden que siempre es bueno tener un contrato de implementación, es decir, cuáles son los métodos

23
00:01:50,800 --> 00:01:53,200
que vamos a implementar en nuestra clase concreta.

24
00:01:53,290 --> 00:01:53,740
Por qué?

25
00:01:53,830 --> 00:01:59,740
Bueno, por ahora nuestra clase concreta puede ser una lista de países implementado con ArrayList,

26
00:01:59,890 --> 00:02:06,250
pero el día mañana esta clase concreta la podremos implementar con JDC y manejar los países en la hace

27
00:02:06,270 --> 00:02:07,730
rato o con Internet.

28
00:02:07,780 --> 00:02:13,750
JPA Entonces la implementación concreta puede variar, pero el comportamiento, el contrato, los nombre

29
00:02:13,750 --> 00:02:20,200
de método se mantienen exactamente igual, no cambian y además inyectamos mediante el tipo genérico

30
00:02:20,350 --> 00:02:23,020
de la interfaz y no una implementación concreta.

31
00:02:23,140 --> 00:02:24,650
Y así después en el día mañana.

32
00:02:24,670 --> 00:02:30,230
Si queremos cambiar a otra implementación concreta en vez de modificar nuestro controladores, bueno,

33
00:02:30,280 --> 00:02:35,590
simplemente cambiamos o seleccionamos la instancia con el calificador Equal y falle.

34
00:02:35,680 --> 00:02:40,900
O también podemos anotar con con Primary, tal como lo vimos en la sección de inyección de dependencia.

35
00:02:41,040 --> 00:02:47,770
Bien, entonces vamos a crear esta interfaz Peus Service finalizar con dos métodos.

36
00:02:50,900 --> 00:02:56,480
1 Para evitar países le vamos a llamar litar o obtener todos como queramos.

37
00:02:56,930 --> 00:02:57,830
Voy a importar.

38
00:02:59,850 --> 00:03:01,800
De yeva útil y páis.

39
00:03:05,640 --> 00:03:14,000
Y el segundo, que retorna un país vocar, obtener predi y recibe el Integer Hailie.

40
00:03:14,700 --> 00:03:17,730
Entonces esto sería nuestro contrato completamente genérico.

41
00:03:17,880 --> 00:03:24,450
Se puede implementar, listar y obtener por Heidy, ya sea con un ArrayList tal como lo vamos a hacer

42
00:03:24,480 --> 00:03:24,930
ahora.

43
00:03:24,990 --> 00:03:26,130
Cómo lo vamos a implementar?

44
00:03:26,220 --> 00:03:33,810
O también se podría emigrar a una consulta JDBC o con Internet, el o cualquier tipo de implementación

45
00:03:33,930 --> 00:03:36,690
de DataSource o incluso un archivo de texto.

46
00:03:36,720 --> 00:03:39,320
En fin, vamos a crear la clase concreta.

47
00:03:43,300 --> 00:03:47,380
País Servis implemento de implementación en interfases.

48
00:03:47,440 --> 00:03:49,270
Vamos a agregar por acá.

49
00:03:49,360 --> 00:03:51,850
País, país servis.

50
00:03:51,940 --> 00:03:52,840
Los seleccionamos.

51
00:03:52,930 --> 00:03:53,340
Ok.

52
00:03:53,780 --> 00:03:55,330
Finaliza bien.

53
00:03:55,420 --> 00:03:56,230
Y acá tenemos.

54
00:03:56,470 --> 00:03:58,180
Entonces ahora tengo que implementar estos dos métodos.

55
00:03:58,240 --> 00:04:04,590
Pero primero un constructor por acá source y genera constructor de la superclase.

56
00:04:05,760 --> 00:04:07,680
Ok, quitamos esto.

57
00:04:09,150 --> 00:04:13,530
Entonces, la idea de acá inicializar nuestra lista, vamos a tener un atributo.

58
00:04:18,840 --> 00:04:20,040
Una lista de países.

59
00:04:20,190 --> 00:04:21,600
Y acá la inicializamos.

60
00:04:24,630 --> 00:04:24,900
Bueno.

61
00:04:24,990 --> 00:04:25,710
De dónde?

62
00:04:26,220 --> 00:04:26,610
De acá.

63
00:04:27,050 --> 00:04:31,770
Justamente esto acá lo copio, lo seleccionamos, se copia y lo pegamos acá.

64
00:04:33,530 --> 00:04:34,310
En el constructor.

65
00:04:35,320 --> 00:04:36,970
Bien, bien, simple.

66
00:04:37,090 --> 00:04:39,520
El distar retorna lista.

67
00:04:40,860 --> 00:04:42,930
La lista completa y el obtener por allí.

68
00:04:43,060 --> 00:04:50,310
Bueno, acá tenemos que usar un for iterar con un foreach por cada país y preguntar si Leydi corresponde

69
00:04:50,400 --> 00:04:51,270
a Leydi del país.

70
00:04:51,360 --> 00:04:55,510
Si es así, retornamos el país encontrado entonces país.

71
00:04:57,230 --> 00:04:59,070
Resultado igual null.

72
00:05:00,570 --> 00:05:11,970
Usando un for país 2 punto bueno país del tipo país 2 punto la fuente aka país la fuente sería lista.

73
00:05:15,000 --> 00:05:22,530
Entonces un foreach llega preguntamos if si Leydi que pasamos por argumento es igual a Leydi de cada

74
00:05:22,530 --> 00:05:24,190
país país.

75
00:05:24,210 --> 00:05:36,300
Punto get Heidy perfecto no encontró resultado igual país y hacemos un break para salir del foro, entonces

76
00:05:36,300 --> 00:05:40,860
con un break simplemente nos salimos del foro y acá retornamos.

77
00:05:40,920 --> 00:05:43,890
Resultado qué faltaría.

78
00:05:43,920 --> 00:05:50,180
Bueno, tenemos que indicar que esta clase Service Point Service es un componente Brink.

79
00:05:50,580 --> 00:05:52,280
Para eso podemos anotar con Servis.

80
00:05:53,880 --> 00:05:59,910
Entonces de esa forma lo anotamos, lo registramos en el contenedor de Spring y lo podemos inyectar

81
00:05:59,970 --> 00:06:01,740
ahora mediante la interfaz.

82
00:06:01,890 --> 00:06:02,550
Guardamos.

83
00:06:02,640 --> 00:06:04,260
Nos vamos al controlador.

84
00:06:05,180 --> 00:06:06,650
Vamos a tener un atributo,

85
00:06:09,740 --> 00:06:21,620
la interfaz País Service, país País Servis perfecto, importamos y cambiamos esto por esto.

86
00:06:22,470 --> 00:06:24,420
Quitamos esto completamente.

87
00:06:25,140 --> 00:06:26,370
Punto listar.

88
00:06:27,600 --> 00:06:33,330
Bien, por ahora quedamos hasta acá y continuamos la siguiente clase con nuestro property editors,

89
00:06:33,420 --> 00:06:40,500
nuestro país Editors para poder cambiar el Heidy que empezamos en la lista Select reemplazar este valor

90
00:06:40,560 --> 00:06:43,680
Estadi por el objeto país completo.

91
00:06:43,800 --> 00:06:45,400
Nos vemos en la siguiente clase.
