2 * Copyright 2016 [ZTE] and others.
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
8 * http://www.apache.org/licenses/LICENSE-2.0
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.
16 package org.openo.commontosca.catalog.db.resource;
18 import java.util.ArrayList;
19 import java.util.HashMap;
22 import org.openo.commontosca.catalog.db.common.Parameters;
23 import org.openo.commontosca.catalog.db.entity.ServiceTemplateMappingData;
24 import org.openo.commontosca.catalog.db.entity.TemplateData;
25 import org.openo.commontosca.catalog.db.exception.CatalogResourceException;
26 import org.openo.commontosca.catalog.db.util.CatalogDbUtil;
27 import org.openo.commontosca.catalog.db.util.HqlFactory;
28 import org.openo.commontosca.catalog.db.wrapper.ServiceTemplateHandler;
29 import org.openo.commontosca.catalog.db.wrapper.ServiceTemplateMappingHandler;
30 import org.openo.commontosca.catalog.db.wrapper.TemplateHandler;
31 import org.openo.commontosca.catalog.db.entity.NodeTemplateData;
32 import org.openo.commontosca.catalog.db.entity.PackageData;
33 import org.openo.commontosca.catalog.db.entity.ServiceTemplateData;
34 import org.openo.commontosca.catalog.db.wrapper.NodeTemplateHandler;
35 import org.slf4j.Logger;
36 import org.slf4j.LoggerFactory;
38 public class TemplateManager {
39 private static final Logger LOGGER = LoggerFactory.getLogger(TemplateManager.class);
40 private static TemplateManager manager;
41 ServiceTemplateHandler handler = new ServiceTemplateHandler();
42 NodeTemplateHandler nodeTemplateHandler = new NodeTemplateHandler();
43 TemplateHandler templateHandler = new TemplateHandler();
44 ServiceTemplateMappingHandler mappingHandler = new ServiceTemplateMappingHandler();
46 public synchronized static TemplateManager getInstance() {
47 if (manager == null) {
48 manager = new TemplateManager();
53 private TemplateManager() {}
55 public TemplateData addServiceTemplate(TemplateData templateData)
56 throws CatalogResourceException {
57 LOGGER.info("start add template info to db.info:"
58 + CatalogDbUtil.objectToString(templateData));
59 TemplateData data = templateHandler.create(templateData);
60 LOGGER.info(" template info to db end.info:" + CatalogDbUtil.objectToString(data));
64 public ServiceTemplateMappingData addServiceTemplateMapping(
65 ServiceTemplateMappingData templateMappingData) throws CatalogResourceException {
66 LOGGER.info("start add servicetemplate Mapping info to db.info:"
67 + CatalogDbUtil.objectToString(templateMappingData));
68 ServiceTemplateMappingData data = mappingHandler.create(templateMappingData);
69 LOGGER.info(" template mapping info to db end.info:" + CatalogDbUtil.objectToString(data));
73 public ArrayList<ServiceTemplateMappingData> queryServiceTemplateMappingById(String id)
74 throws CatalogResourceException {
75 Map<String, String> queryParam = new HashMap<String, String>();
76 queryParam.put(Parameters.mappingId.name(), id);
77 LOGGER.info("start query serviceTemplateMapping info by id." + id);
78 ArrayList<ServiceTemplateMappingData> data = mappingHandler.query(queryParam);
79 LOGGER.info("query serviceTemplateMapping info end.size:" + data.size() + "detail:"
80 + CatalogDbUtil.objectToString(data));
84 public void deleteServiceTemplateMappingById(String id) throws CatalogResourceException {
86 LOGGER.info("start delete serviceTemplateMapping info by id." + id);
87 mappingHandler.delete(id);
88 LOGGER.info("delete serviceTemplateMapping info end");
91 public void deleteServiceTemplateMapping(String nodeType, String serviceTemplateId)
92 throws CatalogResourceException {
93 Map<String, String> delParam = new HashMap<String, String>();
94 if (CatalogDbUtil.isNotEmpty(nodeType))
95 delParam.put(Parameters.nodeType.name(), nodeType);
96 if (CatalogDbUtil.isNotEmpty(serviceTemplateId))
97 delParam.put(Parameters.serviceTemplateId.name(), serviceTemplateId);
98 LOGGER.info("start delete serviceTemplateMapping info.nodeType:" + nodeType
99 + " serviceTemplateId:" + serviceTemplateId);
100 mappingHandler.delete(delParam);
101 LOGGER.info("delete serviceTemplateMapping info ");
104 public ArrayList<ServiceTemplateMappingData> queryServiceTemplateMapping(String nodeType,
105 String serviceTemplateId) throws CatalogResourceException {
106 Map<String, String> queryParam = new HashMap<String, String>();
107 if (CatalogDbUtil.isNotEmpty(nodeType))
108 queryParam.put(Parameters.nodeType.name(), nodeType);
109 if (CatalogDbUtil.isNotEmpty(serviceTemplateId))
110 queryParam.put(Parameters.serviceTemplateId.name(), serviceTemplateId);
111 LOGGER.info("start query serviceTemplateMapping info.nodeType:" + nodeType
112 + " serviceTemplateId:" + serviceTemplateId);
113 ArrayList<ServiceTemplateMappingData> data = mappingHandler.query(queryParam);
114 LOGGER.info("query serviceTemplateMapping info end.size:" + data.size() + "detail:"
115 + CatalogDbUtil.objectToString(data));
119 public ArrayList<ServiceTemplateData> queryServiceTemplateById(String id)
120 throws CatalogResourceException {
121 Map<String, String> queryParam = new HashMap<String, String>();
122 queryParam.put(Parameters.serviceTemplateId.name(), id);
123 LOGGER.info("start query serviceTemplate info by id." + id);
124 ArrayList<ServiceTemplateData> data = handler.query(queryParam);
125 LOGGER.info("query serviceTemplate info end.size:" + data.size() + "detail:"
126 + CatalogDbUtil.objectToString(data));
130 public ArrayList<ServiceTemplateData> queryServiceTemplate(String type, String version,
131 String vendor) throws CatalogResourceException {
132 LOGGER.info("start query serviceTemplate info.type:" + type + " vendor:" + vendor
133 + " version:" + version);
134 Map<String, String> queryParam = new HashMap<String, String>();
135 if (CatalogDbUtil.isNotEmpty(type))
136 queryParam.put(Parameters.type.name(), type);
137 if (CatalogDbUtil.isNotEmpty(vendor))
138 queryParam.put(Parameters.vendor.name(), vendor);
139 if (CatalogDbUtil.isNotEmpty(version))
140 queryParam.put(Parameters.version.name(), version);
141 ArrayList<ServiceTemplateData> data = handler.query(queryParam);
142 LOGGER.info("query serviceTemplate info end.size:" + data.size() + "detail:"
143 + CatalogDbUtil.objectToString(data));
147 public ArrayList<NodeTemplateData> queryNodeTemplateBySeriviceTemplateId(
148 String serviceTemplateId) throws CatalogResourceException {
149 LOGGER.info("start query NodeTemplate info.serviceTemplateId:" + serviceTemplateId);
150 Map<String, String> queryParam = new HashMap<String, String>();
151 queryParam.put(Parameters.serviceTemplateId.name(), serviceTemplateId);
152 ArrayList<NodeTemplateData> data = nodeTemplateHandler.query(queryParam);
153 LOGGER.info("query NodeTemplate info end.size:" + data.size() + "detail:"
154 + CatalogDbUtil.objectToString(data));
158 public ArrayList<NodeTemplateData> queryNodeTemplateById(String serviceTemplateId,
159 String nodeTemplateId) throws CatalogResourceException {
160 LOGGER.info("start query NodeTemplate info.serviceTemplateId:" + serviceTemplateId
161 + "nodeTemplateId:" + nodeTemplateId);
162 Map<String, String> queryParam = new HashMap<String, String>();
163 if (CatalogDbUtil.isNotEmpty(serviceTemplateId))
164 queryParam.put(Parameters.serviceTemplateId.name(), serviceTemplateId);
165 if (CatalogDbUtil.isNotEmpty(nodeTemplateId))
166 queryParam.put(Parameters.nodeTemplateId.name(), nodeTemplateId);
167 ArrayList<NodeTemplateData> data = nodeTemplateHandler.query(queryParam);
168 LOGGER.info("query NodeTemplate info end.size:" + data.size() + "detail:"
169 + CatalogDbUtil.objectToString(data));
173 public ArrayList<ServiceTemplateData> queryServiceTemplateByCsarPackageInfo(
174 PackageData packageInfo) throws CatalogResourceException {
175 LOGGER.info("start query serviceTemplate info by package.package:"
176 + CatalogDbUtil.objectToString(packageInfo));
178 HqlFactory.getQueryHqlByFilter(ServiceTemplateData.class, packageInfo,
179 Parameters.csarId.name());
180 ArrayList<ServiceTemplateData> data = handler.unionQuery(filter);
181 LOGGER.info("query serviceTemplate info end.size:" + data.size() + "detail:"
182 + CatalogDbUtil.objectToString(data));
186 public void deleteServiceTemplateById(String serviceTemplateId) throws CatalogResourceException {
187 LOGGER.info("start delete serviceTemplate info.id:" + serviceTemplateId);
188 ArrayList<NodeTemplateData> nodeTemplateList =
189 queryNodeTemplateBySeriviceTemplateId(serviceTemplateId);
190 templateHandler.delete(serviceTemplateId, nodeTemplateList);
191 LOGGER.info(" delete serviceTemplate info end id." + serviceTemplateId);
194 public void deleteServiceTemplateByCsarPackageInfo(PackageData packageInfo)
195 throws CatalogResourceException {
196 LOGGER.info("start delete serviceTemplate info by package.package:"
197 + CatalogDbUtil.objectToString(packageInfo));
199 ArrayList<ServiceTemplateData> serviceTemplate =
200 queryServiceTemplateByCsarPackageInfo(packageInfo);
201 for (int i = 0; i < serviceTemplate.size(); i++) {
202 deleteServiceTemplateById(serviceTemplate.get(i).getServiceTemplateId());
204 LOGGER.info("delete serviceTemplate info end.");