2 * Copyright 2016 ZTE Corporation.
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 org.openo.commontosca.catalog.db.common.Parameters;
19 import org.openo.commontosca.catalog.db.entity.PackageData;
20 import org.openo.commontosca.catalog.db.entity.ServiceTemplateData;
22 import org.openo.commontosca.catalog.db.exception.CatalogResourceException;
23 import org.openo.commontosca.catalog.db.util.CatalogDbUtil;
24 import org.openo.commontosca.catalog.db.util.HqlFactory;
25 import org.openo.commontosca.catalog.db.wrapper.PackageHandler;
26 import org.slf4j.Logger;
27 import org.slf4j.LoggerFactory;
29 import java.util.ArrayList;
30 import java.util.HashMap;
33 public class PackageManager {
34 private static final Logger LOGGER = LoggerFactory.getLogger(PackageManager.class);
35 private static PackageManager manager;
36 PackageHandler handler = new PackageHandler();
39 * get PackageManager instance.
40 * @return PackageManager instance
42 public static synchronized PackageManager getInstance() {
43 if (manager == null) {
44 manager = new PackageManager();
49 private PackageManager() {}
53 * @param packageData package data
55 * @throws CatalogResourceException e
57 public PackageData addPackage(PackageData packageData) throws CatalogResourceException {
58 LOGGER.info("start add package info to db.info:" + CatalogDbUtil.objectToString(packageData));
59 PackageData data = handler.create(packageData);
60 LOGGER.info(" package info to db end.info:" + CatalogDbUtil.objectToString(data));
65 * query package by package id.
66 * @param csarId package id
67 * @return package data list
68 * @throws CatalogResourceException e
70 public ArrayList<PackageData> queryPackageByCsarId(String csarId)
71 throws CatalogResourceException {
72 Map<String, String> queryParam = new HashMap<String, String>();
73 queryParam.put(Parameters.csarId.name(), csarId);
74 LOGGER.info("start query package info by csarid." + csarId);
75 ArrayList<PackageData> data = handler.query(queryParam);
76 LOGGER.info("query package info end.size:" + data.size() + "detail:"
77 + CatalogDbUtil.objectToString(data));
82 * query package by condition.
83 * @param name package name
84 * @param provider package provider
85 * @param version package version
86 * @param deletionPending deletionPending
87 * @param type package type
88 * @return package data list
89 * @throws CatalogResourceException e
91 public ArrayList<PackageData> queryPackage(String name, String provider, String version,
92 String deletionPending, String type) throws CatalogResourceException {
93 LOGGER.info("start query package info.name:" + name + " provider:" + provider + " version:"
94 + version + " type:" + type);
95 Map<String, String> queryParam = new HashMap<String, String>();
96 if (CatalogDbUtil.isNotEmpty(name)) {
97 queryParam.put(Parameters.name.name(), name);
99 if (CatalogDbUtil.isNotEmpty(version)) {
100 queryParam.put(Parameters.version.name(), version);
102 if (CatalogDbUtil.isNotEmpty(deletionPending)) {
103 queryParam.put(Parameters.deletionPending.name(), deletionPending);
105 if (CatalogDbUtil.isNotEmpty(type)) {
106 queryParam.put(Parameters.type.name(), type);
108 if (CatalogDbUtil.isNotEmpty(provider)) {
109 queryParam.put(Parameters.provider.name(), provider);
111 ArrayList<PackageData> data = handler.query(queryParam);
112 LOGGER.info("query package info end.size:" + data.size() + "detail:"
113 + CatalogDbUtil.objectToString(data));
118 * delete package according package id.
119 * @param packageId package id
120 * @throws CatalogResourceException e
122 public void deletePackage(String packageId) throws CatalogResourceException {
123 LOGGER.info("start delete package info by id." + packageId);
124 handler.delete(packageId);
125 LOGGER.info(" delete package info end id." + packageId);
129 * delete package by service template id.
130 * @param serviceTemplateId service template id
131 * @throws CatalogResourceException e
133 public void deletePackageByServiceTemplateId(String serviceTemplateId)
134 throws CatalogResourceException {
135 LOGGER.info("start delete package info by serviceTemplateid." + serviceTemplateId);
136 ServiceTemplateData serviceTemplate = new ServiceTemplateData();
137 serviceTemplate.setServiceTemplateId(serviceTemplateId);
139 HqlFactory.getDeleteHqlByFilter(PackageData.class, serviceTemplate,
140 Parameters.csarId.name());
141 int data = handler.unionDelete(filter);
143 LOGGER.info("delete serviceTemplate info end.num:" + data);
147 * query package by service template id.
148 * @param serviceTemplateId service template id
149 * @return package data list
150 * @throws CatalogResourceException e
152 public ArrayList<PackageData> queryPackageByServiceTemplateId(String serviceTemplateId)
153 throws CatalogResourceException {
154 LOGGER.info("start query package info by serviceTemplateid." + serviceTemplateId);
155 ServiceTemplateData serviceTemplate = new ServiceTemplateData();
156 serviceTemplate.setServiceTemplateId(serviceTemplateId);
159 .getQueryHqlByFilter(PackageData.class, serviceTemplate, Parameters.csarId.name());
160 ArrayList<PackageData> data = handler.unionQuery(filter);
161 LOGGER.info("query package info end.size:" + data.size() + "detail:"
162 + CatalogDbUtil.objectToString(data));
167 * update package data.
169 * @param packageData package data
170 * @param csarId package id
171 * @throws CatalogResourceException e
173 public void updatePackage(PackageData packageData, String csarId)
174 throws CatalogResourceException {
175 LOGGER.info("start update package info by id." + csarId + " info:"
176 + CatalogDbUtil.objectToString(packageData));
177 handler.update(packageData, csarId);
178 LOGGER.info(" update package end id." + csarId);