37de83308f97a4bd103344d07b5f6fa86203b428
[clamp.git] / src / main / java / org / onap / clamp / clds / config / spring / CldsConfiguration.java
1 /*-
2  * ============LICENSE_START=======================================================
3  * ONAP CLAMP
4  * ================================================================================
5  * Copyright (C) 2017-2018 AT&T Intellectual Property. All rights
6  *                             reserved.
7  * ================================================================================
8  * Licensed under the Apache License, Version 2.0 (the "License"); 
9  * you may not use this file except in compliance with the License. 
10  * You may obtain a copy of the License at
11  * 
12  * http://www.apache.org/licenses/LICENSE-2.0
13  * 
14  * Unless required by applicable law or agreed to in writing, software 
15  * distributed under the License is distributed on an "AS IS" BASIS, 
16  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
17  * See the License for the specific language governing permissions and 
18  * limitations under the License.
19  * ============LICENSE_END============================================
20  * ===================================================================
21  * 
22  */
23
24 package org.onap.clamp.clds.config.spring;
25
26 import javax.sql.DataSource;
27 import javax.xml.transform.TransformerConfigurationException;
28
29 import org.onap.clamp.clds.config.EncodedPasswordBasicDataSource;
30 import org.onap.clamp.clds.dao.CldsDao;
31 import org.onap.clamp.clds.transform.XslTransformer;
32 import org.springframework.beans.factory.annotation.Qualifier;
33 import org.springframework.beans.factory.config.PropertiesFactoryBean;
34 import org.springframework.boot.context.properties.ConfigurationProperties;
35 import org.springframework.context.annotation.Bean;
36 import org.springframework.context.annotation.Configuration;
37 import org.springframework.context.annotation.Profile;
38 import org.springframework.core.io.ClassPathResource;
39
40 @Configuration
41 @Profile("clamp-default")
42 public class CldsConfiguration {
43
44     /**
45      * Clds Identity database DataSource configuration
46      * 
47      * @return
48      */
49     @Bean(name = "cldsDataSource")
50     @ConfigurationProperties(prefix = "spring.datasource.cldsdb")
51     public DataSource cldsDataSource() {
52         return new EncodedPasswordBasicDataSource();
53     }
54
55     @Bean(name = "mapper")
56     public PropertiesFactoryBean mapper() {
57         PropertiesFactoryBean bean = new PropertiesFactoryBean();
58         bean.setLocation(new ClassPathResource("system.properties"));
59         return bean;
60     }
61
62     @Bean(name = "cldsDao")
63     public CldsDao getCldsDao(@Qualifier("cldsDataSource") DataSource dataSource) {
64         CldsDao cldsDao = new CldsDao();
65         cldsDao.setDataSource(dataSource);
66         return cldsDao;
67     }
68
69     @Bean(name = "cldsBpmnTransformer")
70     public XslTransformer getCldsBpmnXslTransformer() throws TransformerConfigurationException {
71         XslTransformer xslTransformer = new XslTransformer();
72         xslTransformer.setXslResourceName("xsl/clds-bpmn-transformer.xsl");
73         return xslTransformer;
74     }
75 }