2
2
3
3
import java .time .LocalDate ;
4
4
import java .time .LocalDateTime ;
5
+ import javax .naming .AuthenticationException ;
6
+ import mate .academy .exception .RegistrationException ;
7
+ import mate .academy .lib .Injector ;
5
8
import mate .academy .model .CinemaHall ;
6
9
import mate .academy .model .Movie ;
7
10
import mate .academy .model .MovieSession ;
11
+ import mate .academy .model .User ;
12
+ import mate .academy .security .AuthenticationService ;
8
13
import mate .academy .service .CinemaHallService ;
9
14
import mate .academy .service .MovieService ;
10
15
import mate .academy .service .MovieSessionService ;
11
16
12
17
public class Main {
13
- public static void main (String [] args ) {
14
- MovieService movieService = null ;
18
+ public static final Injector injector = Injector .getInstance ("mate.academy" );
15
19
20
+ public static void main (String [] args ) throws RegistrationException , AuthenticationException {
21
+
22
+ MovieService movieService = (MovieService ) injector
23
+ .getInstance (MovieService .class );
16
24
Movie fastAndFurious = new Movie ("Fast and Furious" );
17
25
fastAndFurious .setDescription ("An action film about street racing, heists, and spies." );
18
26
movieService .add (fastAndFurious );
@@ -27,7 +35,8 @@ public static void main(String[] args) {
27
35
secondCinemaHall .setCapacity (200 );
28
36
secondCinemaHall .setDescription ("second hall with capacity 200" );
29
37
30
- CinemaHallService cinemaHallService = null ;
38
+ CinemaHallService cinemaHallService = (CinemaHallService ) injector
39
+ .getInstance (CinemaHallService .class );
31
40
cinemaHallService .add (firstCinemaHall );
32
41
cinemaHallService .add (secondCinemaHall );
33
42
@@ -44,12 +53,22 @@ public static void main(String[] args) {
44
53
yesterdayMovieSession .setMovie (fastAndFurious );
45
54
yesterdayMovieSession .setShowTime (LocalDateTime .now ().minusDays (1L ));
46
55
47
- MovieSessionService movieSessionService = null ;
56
+ MovieSessionService movieSessionService = (MovieSessionService ) injector
57
+ .getInstance (MovieSessionService .class );
48
58
movieSessionService .add (tomorrowMovieSession );
49
59
movieSessionService .add (yesterdayMovieSession );
50
60
51
61
System .out .println (movieSessionService .get (yesterdayMovieSession .getId ()));
52
62
System .out .println (movieSessionService .findAvailableSessions (
53
- fastAndFurious .getId (), LocalDate .now ()));
63
+ fastAndFurious .getId (), LocalDate .now ()));
64
+
65
+ AuthenticationService authenticationService = (AuthenticationService ) injector
66
+ .getInstance (AuthenticationService .class );
67
+ User registerUser = authenticationService .register ("liame@gmail.com" , "drowssap" );
68
+ User loginUser = authenticationService .login ("liame@gmail.com" , "drowssap" );
69
+
70
+ System .out .println (registerUser );
71
+ System .out .println (loginUser );
72
+
54
73
}
55
74
}
0 commit comments