2 * ============LICENSE_START==========================================
4 * ===================================================================
5 * Copyright © 2017 AT&T Intellectual Property. All rights reserved.
6 * ===================================================================
8 * Unless otherwise specified, all software contained herein is licensed
9 * under the Apache License, Version 2.0 (the “License”);
10 * you may not use this software except in compliance with the License.
11 * You may obtain a copy of the License at
13 * http://www.apache.org/licenses/LICENSE-2.0
15 * Unless required by applicable law or agreed to in writing, software
16 * distributed under the License is distributed on an "AS IS" BASIS,
17 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18 * See the License for the specific language governing permissions and
19 * limitations under the License.
21 * Unless otherwise specified, all documentation contained herein is licensed
22 * under the Creative Commons License, Attribution 4.0 Intl. (the “License”);
23 * you may not use this documentation except in compliance with the License.
24 * You may obtain a copy of the License at
26 * https://creativecommons.org/licenses/by/4.0/
28 * Unless required by applicable law or agreed to in writing, documentation
29 * distributed under the License is distributed on an "AS IS" BASIS,
30 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
31 * See the License for the specific language governing permissions and
32 * limitations under the License.
34 * ============LICENSE_END============================================
36 * ECOMP is a trademark and service mark of AT&T Intellectual Property.
38 package org.onap.portalsdk.analytics.system.fusion.adapter;
43 import javax.naming.Context;
44 import javax.naming.InitialContext;
45 import javax.servlet.*;
47 import com.mchange.v2.c3p0.ComboPooledDataSource;
49 import org.hibernate.SessionFactory;
50 import org.hibernate.engine.jdbc.connections.spi.ConnectionProvider;
51 import org.hibernate.engine.spi.SessionFactoryImplementor;
52 import org.hibernate.engine.spi.SessionImplementor;
53 import org.onap.portalsdk.core.FusionObject;
54 import org.onap.portalsdk.core.service.DataAccessService;
55 import org.onap.portalsdk.core.util.SystemProperties;
56 import org.springframework.beans.factory.annotation.Autowired;
57 import org.springframework.context.annotation.Configuration;
59 public class FusionAdapter implements FusionObject {
61 public static final String LOCAL_SESSION_FACTORY_KEY = "local";
64 private ComboPooledDataSource dataSource;
65 private Map<String,ComboPooledDataSource> dataSourceMap;
67 //private SessionFactory sessionFactory;
68 private ServletContext servletContext;
70 public FusionAdapter() {
74 public ServletContext getServletContext() {
75 return servletContext;
78 public void setServletContext(ServletContext servletContext) {
79 this.servletContext = servletContext;
82 /** Gets connection to the database **/
83 public Connection getConnection() {
84 Connection connection = null;
86 connection = getDataSource().getConnection();
87 } catch(Exception ex) {
94 /** Gets connection to the database indicated via the session factory key **/
95 public synchronized Connection getConnection(String schemaId) {
96 Connection connection = null;
98 connection = getDataSourceMap().get(schemaId).getConnection();
99 } catch (Exception e) {
107 /** Releases connection to the database **/
108 public void releaseConnection(Connection conn) {
112 catch (Exception e) {
118 public ComboPooledDataSource getDataSource() {
124 public void setDataSource(ComboPooledDataSource dataSource) {
125 this.dataSource = dataSource;
128 public Map<String,ComboPooledDataSource> getDataSourceMap() {
129 if(dataSourceMap==null)
130 dataSourceMap = (Map<String,ComboPooledDataSource>)SpringContext.getApplicationContext().getBean("dataSourceMap");
132 return dataSourceMap;
135 public void setdataSourceMap(Map<String,ComboPooledDataSource> dataSourceMap) {
136 this.dataSourceMap = dataSourceMap;