View Javadoc
1   package fr.ifremer.dali.service;
2   
3   /*
4    * #%L
5    * Dali :: Core
6    * $Id:$
7    * $HeadURL:$
8    * %%
9    * Copyright (C) 2014 - 2015 Ifremer
10   * %%
11   * This program is free software: you can redistribute it and/or modify
12   * it under the terms of the GNU Affero General Public License as published by
13   * the Free Software Foundation, either version 3 of the License, or
14   * (at your option) any later version.
15   * 
16   * This program is distributed in the hope that it will be useful,
17   * but WITHOUT ANY WARRANTY; without even the implied warranty of
18   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
19   * GNU General Public License for more details.
20   * 
21   * You should have received a copy of the GNU Affero General Public License
22   * along with this program.  If not, see <http://www.gnu.org/licenses/>.
23   * #L%
24   */
25  
26  import fr.ifremer.dali.decorator.DecoratorService;
27  import fr.ifremer.dali.service.administration.campaign.CampaignService;
28  import fr.ifremer.dali.service.administration.context.ContextService;
29  import fr.ifremer.dali.service.administration.program.ProgramStrategyService;
30  import fr.ifremer.dali.service.administration.user.UserService;
31  import fr.ifremer.dali.service.control.ControlRuleService;
32  import fr.ifremer.dali.service.control.RuleListService;
33  import fr.ifremer.dali.service.extraction.ExtractionPerformService;
34  import fr.ifremer.dali.service.extraction.ExtractionService;
35  import fr.ifremer.dali.service.observation.ObservationService;
36  import fr.ifremer.dali.service.persistence.PersistenceService;
37  import fr.ifremer.dali.service.referential.ReferentialService;
38  import fr.ifremer.dali.service.synchro.SynchroClientService;
39  import fr.ifremer.dali.service.system.SystemService;
40  import fr.ifremer.quadrige3.core.service.ClientServiceLocator;
41  import org.springframework.context.annotation.Bean;
42  import org.springframework.context.annotation.Configuration;
43  
44  
45  /**
46    <p>DaliServiceLocator class.</p>
47   */
48  @Configuration
49  public class DaliServiceLocator extends ClientServiceLocator {
50  
51      static {
52          INSTANCE = new DaliServiceLocator();
53          initDaliDefault();
54      }
55  
56      private static final DaliServiceLocator INSTANCE;
57  
58      /**
59       * <p>initDaliDefault.</p>
60       */
61      public static void initDaliDefault() {
62          INSTANCE.init("daliBeanRefFactory.xml", "daliBeanRefFactory");
63          ClientServiceLocator.setInstance(INSTANCE);
64      }
65  
66      /**
67       * <p>instance.</p>
68       *
69       * @return a {@link DaliServiceLocator} object.
70       */
71      public static DaliServiceLocator instance() {
72          return INSTANCE;
73      }
74  
75  
76      /**
77       * <p>getDataContext.</p>
78       *
79       * @return a {@link DaliDataContext} object.
80       */
81      @Bean
82      public DaliDataContext getDataContext() {
83          return DaliDataContext.instance();
84      }
85  
86      /**
87       * <p>getPersistenceService.</p>
88       *
89       * @return a {@link fr.ifremer.dali.service.persistence.PersistenceService} object.
90       */
91      @Override
92      public PersistenceService getPersistenceService() {
93          return getService("daliPersistenceService", PersistenceService.class);
94      }
95  
96      /**
97       * <p>getSystemService.</p>
98       *
99       * @return a {@link fr.ifremer.dali.service.system.SystemService} object.
100      */
101     public SystemService getSystemService() {
102         return getService("daliSystemService", SystemService.class);
103     }
104 
105     /**
106      * <p>getObservationService.</p>
107      *
108      * @return a {@link fr.ifremer.dali.service.observation.ObservationService} object.
109      */
110     public ObservationService getObservationService() {
111         return getService("daliSurveyService", ObservationService.class);
112     }
113 
114     /**
115      * <p>getExtractionService.</p>
116      *
117      * @return a {@link fr.ifremer.dali.service.extraction.ExtractionService} object.
118      */
119     public ExtractionService getExtractionService() {
120         return getService("daliExtractionService", ExtractionService.class);
121     }
122 
123     /**
124      * <p>getExtractionPerformService.</p>
125      *
126      * @return a {@link fr.ifremer.dali.service.extraction.ExtractionPerformService} object.
127      */
128     public ExtractionPerformService getExtractionPerformService() {
129         return getService("daliExtractionPerformService", ExtractionPerformService.class);
130     }
131 
132     /**
133      * <p>getReferentialService.</p>
134      *
135      * @return a {@link fr.ifremer.dali.service.referential.ReferentialService} object.
136      */
137     public ReferentialService getReferentialService() {
138         return getService("daliReferentialService", ReferentialService.class);
139     }
140 
141     /**
142      * <p>getProgramStrategyService.</p>
143      *
144      * @return a {@link fr.ifremer.dali.service.administration.program.ProgramStrategyService} object.
145      */
146     public ProgramStrategyService getProgramStrategyService() {
147         return getService("daliProgramStrategyService", ProgramStrategyService.class);
148     }
149 
150     /**
151      * <p>getContextService.</p>
152      *
153      * @return a {@link fr.ifremer.dali.service.administration.context.ContextService} object.
154      */
155     public ContextService getContextService() {
156         return getService("daliContextService", ContextService.class);
157     }
158 
159     /**
160      * <p>getUserService.</p>
161      *
162      * @return a {@link fr.ifremer.dali.service.administration.user.UserService} object.
163      */
164     @Override
165     public UserService getUserService() {
166         return getService("daliUserService", UserService.class);
167     }
168 
169     /**
170      * <p>getRulesControlService.</p>
171      *
172      * @return a {@link ControlRuleService} object.
173      */
174     public ControlRuleService getRulesControlService() {
175         return getService("daliControlRuleService", ControlRuleService.class);
176     }
177 
178     public RuleListService getRuleListService() {
179         return getService("daliRuleListService", RuleListService.class);
180     }
181 
182     /**
183      * <p>getSynchroClientService.</p>
184      *
185      * @return a {@link fr.ifremer.dali.service.synchro.SynchroClientService} object.
186      */
187     @Override
188     public SynchroClientService getSynchroClientService() {
189         return getService("daliSynchroClientService", SynchroClientService.class);
190     }
191 
192     public CampaignService getCampaignService() {
193         return getService("daliCampaignService", CampaignService.class);
194     }
195 
196     @Override
197     public DecoratorService getDecoratorService() {
198         return (DecoratorService) super.getDecoratorService();
199     }
200 
201 }