1
00:00:00,210 --> 00:00:03,150
Bien, continuamos con implementar nuestro interceptor.

2
00:00:03,270 --> 00:00:06,780
La idea de calcular el tiempo transcurrido en el recuesto.

3
00:00:06,960 --> 00:00:09,870
Pero primero vamos a agregar un atributo.

4
00:00:09,990 --> 00:00:16,170
Este atributo corresponde al log o Logger para poder registrar algún evento en el log o en la traza

5
00:00:16,260 --> 00:00:17,130
de nuestra aplicación.

6
00:00:17,250 --> 00:00:17,490
No sé.

7
00:00:17,490 --> 00:00:22,800
Por ejemplo, cuando entramos al método Handler, cuando salimos del método post candle.

8
00:00:22,920 --> 00:00:25,530
En fin, para ir imprimiendo también en el log.

9
00:00:25,800 --> 00:00:28,080
El tiempo transcurrido o lo que queramos.

10
00:00:32,500 --> 00:00:34,440
Ven un privé static final.

11
00:00:34,530 --> 00:00:43,470
Es decir una constante para log Logger Logger Factory punto bien.

12
00:00:43,590 --> 00:00:53,850
Y acá tenemos que coger el get logger pero de acá de LF Foggy simple logging for es importante Logger

13
00:00:53,850 --> 00:00:54,270
Factory.

14
00:00:56,570 --> 00:00:57,170
Perfecto.

15
00:00:57,260 --> 00:01:06,800
Acá también está la interfaz, la implementación, acá la interfaz Logger también de LF 4j simple logging

16
00:01:06,800 --> 00:01:12,350
forjé importamos acaban nonbre la clase en este caso.

17
00:01:12,440 --> 00:01:16,790
Tiempo transcurrido interceptor punto class.

18
00:01:18,480 --> 00:01:25,620
Bien, y con el Logger acá podemos mostrar información del interceptor, por ejemplo.

19
00:01:25,810 --> 00:01:26,340
Info.

20
00:01:29,360 --> 00:01:34,370
Podríamos colocar el nombre del interceptor en dos punto espacio.

21
00:01:34,460 --> 00:01:35,240
El método.

22
00:01:40,580 --> 00:01:44,940
Entrando, es decir, entrando al método, prestándole del interceptor.

23
00:01:46,340 --> 00:01:50,850
Bueno, y también voy a copiar, lo pegamos acá.

24
00:01:51,260 --> 00:01:56,240
Acá sería post Candle saliendo.

25
00:01:58,800 --> 00:02:09,360
Lo segundo, calcular el tiempo en milisegundos, el tiempo actual, el tiempo inicio con la clase estática

26
00:02:09,360 --> 00:02:13,350
system de yaba system carran time milisegundo.

27
00:02:14,500 --> 00:02:15,730
retornÃ un lonko.

28
00:02:16,120 --> 00:02:21,460
El tiempo inicia el tiempo actual en milisegundo perfecto y lo guardamos en el recuesto.

29
00:02:22,500 --> 00:02:30,600
Entonces, por acá request set atributo, guardar atributo o asignar atributos, le damos un nombre,

30
00:02:30,750 --> 00:02:31,530
el que queramos.

31
00:02:31,860 --> 00:02:38,010
Por ejemplo, este mismo tiempo inicio y lo guardamos con ese valor tiempo inicio.

32
00:02:38,100 --> 00:02:45,960
Guardamos el tiempo inicial perfecto y por ejemplo, podríamos simular una demora utilizando Dredd es

33
00:02:45,960 --> 00:02:50,160
lib, pero que sea un random entonces random

34
00:02:54,060 --> 00:02:56,310
vamos a importar de ya útil rrando.

35
00:03:00,380 --> 00:03:09,920
Un Integer demorÃ o Dailey miles segundo, por ejemplo, 1 500.000 de segundo o medio segundo.

36
00:03:10,010 --> 00:03:16,070
Una demora como tiempo máximo puede ser más o menos, pero hasta 500 milisegundos.

37
00:03:17,030 --> 00:03:21,650
Entonces con rrando punto extremo next int, next integer.

38
00:03:21,950 --> 00:03:29,190
Y acá obtenemos el valor aleatorio, pero como argumento le pasamos 500, es decir que va desde cero.

39
00:03:29,480 --> 00:03:36,290
Acá tenemos un random entre cero inclusive y el valor que se indica acá exclusivo, entonces va entre

40
00:03:36,290 --> 00:03:37,910
cero y 499.

41
00:03:38,390 --> 00:03:41,060
Acá vamos a tener este valor un integer.

42
00:03:41,990 --> 00:03:51,560
Y ahora con Grid puntos lib hacemos un descanso, una pausa en milisegundos.

43
00:03:52,070 --> 00:03:52,580
Cuánto?

44
00:03:52,710 --> 00:03:56,690
Bueno, un random entre cero y 499.

45
00:03:57,880 --> 00:04:01,010
Y finalmente retornamos thru para continúa con ejecución.

46
00:04:01,100 --> 00:04:07,970
Simplemente estamos simulando una sobrecarga, un tiempo extra de demora o delay que es aleatorio,

47
00:04:08,090 --> 00:04:14,720
porque si no, bueno, si no colocamos un rrando con un tiempo de demora con un delay bueno, siempre

48
00:04:14,780 --> 00:04:18,740
va a mostrar cero o uno o un valor muy pequeño.

49
00:04:18,830 --> 00:04:21,800
Entonces la idea simular una carga en nuestro recuesto.

50
00:04:22,100 --> 00:04:22,480
Bien.

51
00:04:22,590 --> 00:04:23,450
El siguiente paso.

52
00:04:23,510 --> 00:04:24,920
Bueno, ya tenemos listo el handler.

53
00:04:25,370 --> 00:04:30,890
Acá asignamos el tiempo de inicio y acá obtenemos el tiempo final.

54
00:04:31,280 --> 00:04:35,270
Entonces muy parecido voy a copiar todo acá, pero lo pegamos acá.

55
00:04:36,850 --> 00:04:41,320
Tiempo, fin y también tiempo de inicio.

56
00:04:42,190 --> 00:04:44,590
Pero el tiempo de inicio lo tenemos acá.

57
00:04:44,710 --> 00:04:45,910
Cómo lo capturamos?

58
00:04:46,130 --> 00:04:47,230
Bueno, con el recuesto.

59
00:04:48,190 --> 00:04:54,520
Recuerden que acá lo asignamos con Set Atributo y acá bueno, con el request lo tenemos con el atributo

60
00:04:55,570 --> 00:04:56,320
punto nyet.

61
00:04:56,440 --> 00:04:57,580
Atributo por acá.

62
00:04:59,300 --> 00:05:02,030
Y recibe el nombre, mismo nombre que le dimos.

63
00:05:02,060 --> 00:05:10,860
Acá tiempo de inicio, pero acá se guarda como un tipo objeto, objeto de un tipo genérico.

64
00:05:11,330 --> 00:05:13,570
Y acá se obtiene como un objeto.

65
00:05:14,390 --> 00:05:15,720
Se fijan Hoggett.

66
00:05:16,160 --> 00:05:20,360
Entonces tenemos que convertir este object a un tipo lonko.

67
00:05:23,670 --> 00:05:24,520
Hacemos un cast.

68
00:05:25,550 --> 00:05:31,550
Pero mejor con mayúscula, porque estaba convirtiendo un objeto de referencia, un Hoggett a un tipo

69
00:05:31,640 --> 00:05:35,090
Object lonko en mayúscula y acá puese con minúscula.

70
00:05:35,210 --> 00:05:36,500
Da lo mismo o con mayúscula.

71
00:05:37,610 --> 00:05:38,000
Bien.

72
00:05:42,260 --> 00:05:44,450
Y por último, el tiempo transcurrido.

73
00:05:45,140 --> 00:05:47,140
Hay que restar el tiempo fin.

74
00:05:47,330 --> 00:05:48,170
Tiempo final

75
00:05:51,380 --> 00:05:51,950
menos.

76
00:05:52,100 --> 00:05:53,030
El tiempo inicio.

77
00:05:53,480 --> 00:05:56,540
Ya se nos da el tiempo transcurrido en total en milisegundos.

78
00:05:56,750 --> 00:06:01,250
Y este valor lo tenemos que pasar al Adita usando el modelo AMBIO.

79
00:06:03,280 --> 00:06:09,100
Pero siempre, como buena práctica, es recomendable validar que Model Ambigú sea distinto de NULL.

80
00:06:13,600 --> 00:06:14,860
Entonces es distinto NULL.

81
00:06:15,520 --> 00:06:16,990
Bueno, acá model ambio.

82
00:06:16,990 --> 00:06:18,580
Punto Add object.

83
00:06:18,760 --> 00:06:19,870
Guardar objeto.

84
00:06:19,930 --> 00:06:21,100
Agregar objeto.

85
00:06:22,040 --> 00:06:24,500
Y lo pasamos a la vista con un nombre atributo.

86
00:06:24,590 --> 00:06:26,060
Por ejemplo, el que queramos.

87
00:06:26,570 --> 00:06:30,770
Pero también podríamos usar este mismo tiempo transcurrido este acá.

88
00:06:32,080 --> 00:06:36,550
Y como valor tiempo transcurrido, estamos casi listos.

89
00:06:36,640 --> 00:06:41,080
Voy a copiar esto acá, lo de pegar acá, por ejemplo.

90
00:06:41,140 --> 00:06:42,730
Tiempo transcurrido.

91
00:06:43,610 --> 00:06:44,540
2 punto.

92
00:06:46,190 --> 00:06:47,090
Esto lo quitamos.

93
00:06:50,740 --> 00:06:57,910
Lo concatenados más milisegundos y guardamos.

94
00:06:57,970 --> 00:06:58,630
Estamos listo.

95
00:06:58,760 --> 00:07:03,970
Entonces, para finalizar y resumir un poco lo que hicimos primero, bueno, mostramos algo en el Logger

96
00:07:04,030 --> 00:07:05,980
cuando entramos al preguntele.

97
00:07:06,550 --> 00:07:07,600
Luego calculamos el tiempo.

98
00:07:07,600 --> 00:07:10,540
Inicio con System Carret Time Milisegundos.

99
00:07:10,630 --> 00:07:13,210
Lo guardamos en el recuerdo, en los atributos.

100
00:07:13,420 --> 00:07:16,270
Simulamos un delay, una carga, una demora.

101
00:07:16,270 --> 00:07:21,850
En el recuas retornamos true para que continúe con el rico test se ejecuta el método del controlador

102
00:07:21,940 --> 00:07:24,700
o de los controladores y después cuando se ejecuten.

103
00:07:24,820 --> 00:07:26,170
Acá tenemos el post.

104
00:07:26,680 --> 00:07:29,950
Calculamos nuevamente el tiempo actual que sería el tiempo fin.

105
00:07:30,010 --> 00:07:32,470
Cuando finaliza el rico es el tiempo inicio.

106
00:07:32,530 --> 00:07:35,140
Lo obtenemos a través del request en el pre.

107
00:07:35,230 --> 00:07:41,500
Lo asignamos con 7 atributos y acá lo obtenemos con guet atributo mismo nombre con el cual lo guardamos.

108
00:07:41,590 --> 00:07:47,830
Hacemos el cast along, hacemos la resta, restamos el tiempo final menos el inicial tiempo.

109
00:07:47,830 --> 00:07:52,030
Transcurrido el total valíamos que modelan busse de tinto nulo.

110
00:07:52,210 --> 00:07:56,200
Si es distinto null, entonces lo guardamos a la vista.

111
00:07:56,260 --> 00:08:01,840
Tiempo transcurrido y lo pasamos acá para que después lo podamos imprimir en nuestra plantillas y listo.

112
00:08:01,900 --> 00:08:07,870
Bueno, acá mostramos información en el log y finalizamos bien y continuamos la siguiente clase con

113
00:08:07,960 --> 00:08:13,000
configurar y registrar nuestro interceptor en nuestro stack de nuestra aplicación.

114
00:08:13,120 --> 00:08:14,690
Nos vemos en la siguiente clase.
