1e152991828db3134ef2002a594524a2b9324c64
[vnfsdk/refrepo.git] /
1 /**
2  * Copyright 2017 Huawei Technologies Co., Ltd.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *     http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16
17 package org.onap.vnfsdk.marketplace.db.impl;
18
19 import java.util.List;
20
21 import javax.persistence.PersistenceException;
22
23 import org.apache.ibatis.session.SqlSession;
24 import org.apache.ibatis.session.SqlSessionFactory;
25 import org.onap.vnfsdk.marketplace.db.connection.ConnectionUtil;
26 import org.onap.vnfsdk.marketplace.db.entity.PackageData;
27 import org.onap.vnfsdk.marketplace.db.inf.IMarketplaceDao;
28 import org.onap.vnfsdk.marketplace.db.mapper.IMarketplaceMapper;
29 import org.slf4j.Logger;
30 import org.slf4j.LoggerFactory;
31
32 /**
33  * This class is the implementation for the DAO Layer for Driver Manager.
34  * <br/>
35  *
36  * @author
37  * @version
38  */
39 public class MarketplaceDaoImpl implements IMarketplaceDao {
40
41     private static final Logger LOGGER = LoggerFactory.getLogger(MarketplaceDaoImpl.class);
42
43     private SqlSessionFactory sqlSessionFactory = null;
44
45     /**
46      *
47      * Constructor<br/>
48      * <p>
49      * </p>
50      *
51      * @since
52      */
53     public MarketplaceDaoImpl() {
54         sqlSessionFactory = ConnectionUtil.getSession();
55     }
56
57     /**
58      * get all package data.
59      * <br/>
60      *
61      * @return
62      * @since
63      */
64     @Override
65     public List<PackageData> getAllPackageData() {
66         SqlSession session = sqlSessionFactory.openSession();
67         List<PackageData> csars = null;
68         try {
69             IMarketplaceMapper mapper = session.getMapper(IMarketplaceMapper.class);
70             csars = mapper.getAllPackageData();
71             session.commit();
72         } catch(PersistenceException e) {
73             LOGGER.error("Exception caught {}", e);
74         } finally {
75             session.close();
76         }
77         return csars;
78     }
79
80     /**
81      * saving the package data object to the DB using the mybatis.
82      * <br/>
83      *
84      * @param dirverInstance
85      * @since
86      */
87     @Override
88     public void savePackageData(PackageData lPackageData) {
89         SqlSession session = sqlSessionFactory.openSession();
90         try {
91             IMarketplaceMapper mapper = session.getMapper(IMarketplaceMapper.class);
92             mapper.savePackageData(lPackageData);
93             session.commit();
94         } catch(PersistenceException e) {
95             LOGGER.error("Exception caught {}", e);
96         } finally {
97             session.close();
98         }
99
100     }
101
102     @Override
103     public List<PackageData> getPackageData(String csarId) {
104         SqlSession session = sqlSessionFactory.openSession();
105         List<PackageData> csars = null;
106         try {
107             IMarketplaceMapper mapper = session.getMapper(IMarketplaceMapper.class);
108             csars = mapper.getPackageData(csarId);
109             session.commit();
110         } catch(PersistenceException e) {
111             LOGGER.error("Exception caught {}", e);
112         } finally {
113             session.close();
114         }
115         return csars;
116     }
117
118     @Override
119     public void deletePackageData(String csarId) {
120      SqlSession session = sqlSessionFactory.openSession();
121         try {
122             IMarketplaceMapper mapper = session.getMapper(IMarketplaceMapper.class);
123             mapper.deletePackageData(csarId);
124             session.commit();
125         } catch(PersistenceException e) {
126             LOGGER.error("Exception caught {}", e);;
127         } finally {
128             session.close();
129         }
130
131     }
132
133     @Override
134     public void updatePackageData(PackageData oPackageData) {
135         SqlSession session = sqlSessionFactory.openSession();
136         try {
137             IMarketplaceMapper mapper = session.getMapper(IMarketplaceMapper.class);
138             mapper.updatePackageData(oPackageData);
139             session.commit();
140         } catch(PersistenceException e) {
141             LOGGER.error("Exception caught {}", e);
142         } finally {
143             session.close();
144         }
145
146     }
147 }
148