2
2
3
3
import java .time .LocalDate ;
4
4
import java .time .LocalDateTime ;
5
+ import mate .academy .exception .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 .service .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 void main (String [] args ) throws RegistrationException , AuthenticationException {
19
+ Injector injector = Injector .getInstance ("mate.academy" );
20
+ MovieService movieService = (MovieService ) injector .getInstance (MovieService .class );
15
21
16
22
Movie fastAndFurious = new Movie ("Fast and Furious" );
17
23
fastAndFurious .setDescription ("An action film about street racing, heists, and spies." );
@@ -27,7 +33,8 @@ public static void main(String[] args) {
27
33
secondCinemaHall .setCapacity (200 );
28
34
secondCinemaHall .setDescription ("second hall with capacity 200" );
29
35
30
- CinemaHallService cinemaHallService = null ;
36
+ CinemaHallService cinemaHallService = (CinemaHallService ) injector
37
+ .getInstance (CinemaHallService .class );
31
38
cinemaHallService .add (firstCinemaHall );
32
39
cinemaHallService .add (secondCinemaHall );
33
40
@@ -44,12 +51,24 @@ public static void main(String[] args) {
44
51
yesterdayMovieSession .setMovie (fastAndFurious );
45
52
yesterdayMovieSession .setShowTime (LocalDateTime .now ().minusDays (1L ));
46
53
47
- MovieSessionService movieSessionService = null ;
54
+ MovieSessionService movieSessionService = (MovieSessionService ) injector
55
+ .getInstance (MovieSessionService .class );
48
56
movieSessionService .add (tomorrowMovieSession );
49
57
movieSessionService .add (yesterdayMovieSession );
50
58
51
59
System .out .println (movieSessionService .get (yesterdayMovieSession .getId ()));
52
60
System .out .println (movieSessionService .findAvailableSessions (
53
61
fastAndFurious .getId (), LocalDate .now ()));
62
+
63
+ AuthenticationService authenticationService = (AuthenticationService ) injector
64
+ .getInstance (AuthenticationService .class );
65
+ User david = new User ();
66
+ david .setEmail ("david@gmail.com" );
67
+ david .setPassword ("123456789" );
68
+ User registeredUser = authenticationService .register (david .getEmail (), david .getPassword ());
69
+ System .out .println ("Successful registration: " + registeredUser );
70
+ User loggedUser = authenticationService .login (david .getEmail (),
71
+ david .getPassword ());
72
+ System .out .println ("Successful login : " + loggedUser );
54
73
}
55
74
}
0 commit comments