Fix log location
[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.ClampProperties;
30 import org.onap.clamp.clds.config.EncodedPasswordBasicDataSource;
31 import org.onap.clamp.clds.dao.CldsDao;
32 import org.onap.clamp.clds.transform.XslTransformer;
33 import org.springframework.beans.factory.annotation.Autowired;
34 import org.springframework.beans.factory.annotation.Qualifier;
35 import org.springframework.beans.factory.config.PropertiesFactoryBean;
36 import org.springframework.boot.context.properties.ConfigurationProperties;
37 import org.springframework.context.ApplicationContext;
38 import org.springframework.context.annotation.Bean;
39 import org.springframework.context.annotation.Configuration;
40 import org.springframework.context.annotation.Profile;
41
42 @Configuration
43 @Profile("clamp-default")
44 public class CldsConfiguration {
45
46     @Autowired
47     private ApplicationContext appContext;
48     @Autowired
49     private ClampProperties refProp;
50
51     /**
52      * Clds Identity database DataSource configuration
53      * 
54      * @return
55      */
56     @Bean(name = "cldsDataSource")
57     @ConfigurationProperties(prefix = "spring.datasource.cldsdb")
58     public DataSource cldsDataSource() {
59         return new EncodedPasswordBasicDataSource();
60     }
61
62     @Bean(name = "mapper")
63     public PropertiesFactoryBean mapper() {
64         PropertiesFactoryBean bean = new PropertiesFactoryBean();
65         bean.setLocation(appContext.getResource(refProp.getStringValue("files.systemProperties")));
66         return bean;
67     }
68
69     @Bean(name = "cldsDao")
70     public CldsDao getCldsDao(@Qualifier("cldsDataSource") DataSource dataSource) {
71         CldsDao cldsDao = new CldsDao();
72         cldsDao.setDataSource(dataSource);
73         return cldsDao;
74     }
75
76     @Bean(name = "cldsBpmnTransformer")
77     public XslTransformer getCldsBpmnXslTransformer() throws TransformerConfigurationException {
78         XslTransformer xslTransformer = new XslTransformer();
79         xslTransformer.setXslResourceName("xsl/clds-bpmn-transformer.xsl");
80         return xslTransformer;
81     }
82 }