4f3a3a6f21e95cc5a5b30d44d6d6a67772c5e169
[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 package org.onap.vnfsdk.marketplace.db.wrapper;
17
18 import java.util.List;
19 import java.util.Map;
20
21 import org.onap.vnfsdk.marketplace.db.entity.BaseData;
22 import org.onap.vnfsdk.marketplace.db.entity.PackageData;
23 import org.onap.vnfsdk.marketplace.db.exception.MarketplaceResourceException;
24 import org.onap.vnfsdk.marketplace.db.impl.MarketplaceDaoImpl;
25 import org.onap.vnfsdk.marketplace.db.inf.IMarketplaceDao;
26 import org.onap.vnfsdk.marketplace.db.util.MarketplaceDbUtil;
27 import org.slf4j.Logger;
28 import org.slf4j.LoggerFactory;
29
30
31
32 /**
33  * an abstract class for NFV wrapper class.
34  * provide the common methods to process the CRUD rest request.
35  *
36  */
37 public abstract class BaseHandler<T extends BaseData> {
38   private static final Logger logger = LoggerFactory.getLogger(BaseHandler.class);
39
40
41   /**
42    * create date.
43    * @param data data to create
44    * @param resouceType resouce type
45    * @return T
46    * @throws MarketplaceResourceException e1
47    */
48   @SuppressWarnings({"unchecked", "rawtypes"})
49   public PackageData create(PackageData data, String resouceType) throws MarketplaceResourceException {
50     PackageData rtnData = null;
51     logger.info("BaseHandler:start create data.info:" + MarketplaceDbUtil.objectToString(data));
52     try {
53       IMarketplaceDao dao = new MarketplaceDaoImpl();
54       dao.savePackageData(data);
55       rtnData = data;
56     } catch (Exception e1) {
57       logger.error("BaseHandler:error while creating " + resouceType, e1);
58     }
59     logger.info("BaseHandler:create data end.info:" + MarketplaceDbUtil.objectToString(data));
60     return rtnData;
61   }
62
63   /**
64    * delete data.
65    * @param data data to delete
66    * @param resouceType resource type
67    * @throws MarketplaceResourceException e1
68    */
69   @SuppressWarnings({"rawtypes", "unchecked"})
70   public void delete(T data) throws MarketplaceResourceException {
71     logger.info("BaseHandler:start delete data.info:" + MarketplaceDbUtil.objectToString(data));
72     IMarketplaceDao dao = new MarketplaceDaoImpl();
73     dao.deletePackageData(((PackageData)data).getCsarId());
74     logger.info("BaseHandler:delete data end");
75   }
76
77   /**
78    * query data.
79    * @param queryParam query parameter
80    * @param resouceType resource type
81    * @return T list
82    * @throws MarketplaceResourceException e1
83    */
84   @SuppressWarnings({"rawtypes", "unchecked"})
85   public List<PackageData> query(Map<String, String> queryParam)
86       throws MarketplaceResourceException {
87     logger.info("BaseHandler:start query data .info:" + MarketplaceDbUtil.objectToString(queryParam));
88     IMarketplaceDao dao = new MarketplaceDaoImpl();
89     List<PackageData> datas = dao.getAllPackageData();
90     logger.info("BaseHandler: query data end .info:" + MarketplaceDbUtil.objectToString(datas));
91     return datas;
92   }
93
94   /**
95    * union query.
96    * @param filter filter
97    * @param resouceType resource type
98    * @return T list
99    * @throws MarketplaceResourceException e1
100    */
101   @SuppressWarnings({"rawtypes", "unchecked"})
102   public List<T> unionQuery(String filter) throws MarketplaceResourceException {
103     logger.info("BaseHandler:start union query data.fliter:" + filter);
104     List<T> datas = null;
105     logger.info("BaseHandler:union query data end .info:" + MarketplaceDbUtil.objectToString(datas));
106     return datas;
107   }
108
109   /**
110    * union delete.
111    * @param filter filter
112    * @param resouceType resource type
113    * @return int
114    * @throws MarketplaceResourceException e1
115    */
116   @SuppressWarnings({"rawtypes", "unchecked"})
117   public int unionDelete(String filter) throws MarketplaceResourceException {
118     logger.info("BaseHandler:start delete query data.fliter:" + filter);
119     int num=0;
120     logger.info("BaseHandler:union delete data end .num:" + num);
121     return num;
122   }
123
124   @SuppressWarnings({"rawtypes", "unchecked"})
125   public void update(T data) throws MarketplaceResourceException {
126     logger.info("BaseHandler:start update data.info:" + MarketplaceDbUtil.objectToString(data));
127     IMarketplaceDao dao = new MarketplaceDaoImpl();
128     dao.updatePackageData((PackageData)data);
129     logger.info("update data end");
130   }
131
132   /**
133    * check if the related object id exists in the system.
134    *
135    * @param data data to check
136    * @throws MarketplaceResourceException e
137    */
138   public abstract void check(T data) throws MarketplaceResourceException;
139
140 }
141