1
2
3
4
5
6 package pt.digitalis.dif.ioc;
7
8 import pt.digitalis.dif.codegen.util.ClassEnhancerImpl;
9 import pt.digitalis.dif.codegen.util.IClassEnhancer;
10 import pt.digitalis.dif.controller.sanitycheck.GeneralCheckUp;
11 import pt.digitalis.dif.dem.config.DEMRegistratorImpl;
12 import pt.digitalis.dif.dem.config.IDEMRegistrator;
13 import pt.digitalis.dif.dem.managers.IDEMManager;
14 import pt.digitalis.dif.dem.managers.IMessageManager;
15 import pt.digitalis.dif.dem.managers.IParameterManager;
16 import pt.digitalis.dif.dem.managers.IRegistrationManager;
17 import pt.digitalis.dif.dem.managers.impl.DEMManagerImpl;
18 import pt.digitalis.dif.dem.managers.impl.MessageManagerImpl;
19 import pt.digitalis.dif.dem.managers.impl.ParameterManagerImpl;
20 import pt.digitalis.dif.dem.managers.impl.RegistrationManagerImpl;
21 import pt.digitalis.dif.dem.objects.ILicense;
22 import pt.digitalis.dif.dem.objects.LicenseImpl;
23 import pt.digitalis.dif.sanitycheck.ISanityCheckTestSuite;
24 import pt.digitalis.dif.utils.logging.ErrorLogManagerDIFLoggerImpl;
25 import pt.digitalis.dif.utils.logging.IErrorLogManager;
26 import pt.digitalis.dif.utils.mail.sanitycheck.CheckMail;
27 import pt.digitalis.utils.config.ConfigurationsPreferencesImpl;
28 import pt.digitalis.utils.config.IConfigurations;
29 import pt.digitalis.utils.ioc.modules.IIoCModule;
30 import pt.digitalis.utils.ioc.modules.IoCBinder;
31
32
33
34
35
36
37
38
39 public class DIFCoreModule implements IIoCModule {
40
41
42
43
44 public void configure(IoCBinder binder)
45 {
46
47
48 binder.bind(IClassEnhancer.class, ClassEnhancerImpl.class).asSingleton();
49 binder.bind(IDEMRegistrator.class, DEMRegistratorImpl.class).asSingleton();
50
51
52 binder.bind(IDEMManager.class, DEMManagerImpl.class).asSingleton();
53 binder.bind(IRegistrationManager.class, RegistrationManagerImpl.class).asSingleton();
54 binder.bind(IMessageManager.class, MessageManagerImpl.class).withId("static").asSingleton();
55 binder.bind(IParameterManager.class, ParameterManagerImpl.class).asSingleton();
56
57
58 binder.bind(IConfigurations.class, ConfigurationsPreferencesImpl.class).asSingleton();
59
60
61 binder.bind(ILicense.class, LicenseImpl.class);
62 binder.bind(IErrorLogManager.class, ErrorLogManagerDIFLoggerImpl.class).asSingleton();
63
64
65 binder.install(new ControllerModule());
66 binder.install(new StaticSecurityModule());
67 binder.install(new ParametersModule());
68 binder.install(new DIFCoreSanityCheckModule());
69
70
71 binder.install(new DefaultModulesSeleccionModule());
72
73
74 binder.bind(ISanityCheckTestSuite.class, CheckMail.class).withId("SanityCheckMail");
75 binder.bind(ISanityCheckTestSuite.class, GeneralCheckUp.class).withId("SanityCheckGeneral");
76 }
77 }