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.
17 package org.openo.commontosca.catalog.db.resource;
19 import org.openo.commontosca.catalog.db.common.Parameters;
20 import org.openo.commontosca.catalog.db.entity.PackageData;
21 import org.openo.commontosca.catalog.db.entity.ServiceTemplateData;
23 import org.openo.commontosca.catalog.db.exception.CatalogResourceException;
24 import org.openo.commontosca.catalog.db.util.CatalogDbUtil;
25 import org.openo.commontosca.catalog.db.util.HqlFactory;
26 import org.openo.commontosca.catalog.db.wrapper.PackageHandler;
27 import org.slf4j.Logger;
28 import org.slf4j.LoggerFactory;
30 import java.util.ArrayList;
31 import java.util.HashMap;
34 public class PackageManager {
35 private static final Logger LOGGER = LoggerFactory.getLogger(PackageManager.class);
36 private static PackageManager manager;
37 PackageHandler handler = new PackageHandler();
40 * get PackageManager instance.
41 * @return PackageManager instance
43 public static synchronized PackageManager getInstance() {
44 if (manager == null) {
45 manager = new PackageManager();
50 private PackageManager() {}
54 * @param packageData package data
56 * @throws CatalogResourceException e
58 public PackageData addPackage(PackageData packageData) throws CatalogResourceException {
59 LOGGER.info("start add package info to db.info:" + CatalogDbUtil.objectToString(packageData));
60 PackageData data = handler.create(packageData);
61 LOGGER.info(" package info to db end.info:" + CatalogDbUtil.objectToString(data));
66 * query package by package id.
67 * @param csarId package id
68 * @return package data list
69 * @throws CatalogResourceException e
71 public ArrayList<PackageData> queryPackageByCsarId(String csarId)
72 throws CatalogResourceException {
73 Map<String, String> queryParam = new HashMap<String, String>();
74 queryParam.put(Parameters.csarId.name(), csarId);
75 LOGGER.info("start query package info by csarid." + csarId);
76 ArrayList<PackageData> data = handler.query(queryParam);
77 LOGGER.info("query package info end.size:" + data.size() + "detail:"
78 + CatalogDbUtil.objectToString(data));
83 * query package by condition.
84 * @param name package name
85 * @param provider package provider
86 * @param version package version
87 * @param deletionPending deletionPending
88 * @param type package type
89 * @return package data list
90 * @throws CatalogResourceException e
92 public ArrayList<PackageData> queryPackage(String name, String provider, String version,
93 String deletionPending, String type) throws CatalogResourceException {
94 LOGGER.info("start query package info.name:" + name + " provider:" + provider + " version:"
95 + version + " type:" + type);
96 Map<String, String> queryParam = new HashMap<String, String>();
97 if (CatalogDbUtil.isNotEmpty(name)) {
98 queryParam.put(Parameters.name.name(), name);
100 if (CatalogDbUtil.isNotEmpty(version)) {
101 queryParam.put(Parameters.version.name(), version);
103 if (CatalogDbUtil.isNotEmpty(deletionPending)) {
104 queryParam.put(Parameters.deletionPending.name(), deletionPending);
106 if (CatalogDbUtil.isNotEmpty(type)) {
107 queryParam.put(Parameters.type.name(), type);
109 if (CatalogDbUtil.isNotEmpty(provider)) {
110 queryParam.put(Parameters.provider.name(), provider);
112 ArrayList<PackageData> data = handler.query(queryParam);
113 LOGGER.info("query package info end.size:" + data.size() + "detail:"
114 + CatalogDbUtil.objectToString(data));
119 * delete package according package id.
120 * @param packageId package id
121 * @throws CatalogResourceException e
123 public void deletePackage(String packageId) throws CatalogResourceException {
124 LOGGER.info("start delete package info by id." + packageId);
125 handler.delete(packageId);
126 LOGGER.info(" delete package info end id." + packageId);
130 * delete package by service template id.
131 * @param serviceTemplateId service template id
132 * @throws CatalogResourceException e
134 public void deletePackageByServiceTemplateId(String serviceTemplateId)
135 throws CatalogResourceException {
136 LOGGER.info("start delete package info by serviceTemplateid." + serviceTemplateId);
137 ServiceTemplateData serviceTemplate = new ServiceTemplateData();
138 serviceTemplate.setServiceTemplateId(serviceTemplateId);
140 HqlFactory.getDeleteHqlByFilter(PackageData.class, serviceTemplate,
141 Parameters.csarId.name());
142 int data = handler.unionDelete(filter);
144 LOGGER.info("delete serviceTemplate info end.num:" + data);
148 * query package by service template id.
149 * @param serviceTemplateId service template id
150 * @return package data list
151 * @throws CatalogResourceException e
153 public ArrayList<PackageData> queryPackageByServiceTemplateId(String serviceTemplateId)
154 throws CatalogResourceException {
155 LOGGER.info("start query package info by serviceTemplateid." + serviceTemplateId);
156 ServiceTemplateData serviceTemplate = new ServiceTemplateData();
157 serviceTemplate.setServiceTemplateId(serviceTemplateId);
160 .getQueryHqlByFilter(PackageData.class, serviceTemplate, Parameters.csarId.name());
161 ArrayList<PackageData> data = handler.unionQuery(filter);
162 LOGGER.info("query package info end.size:" + data.size() + "detail:"
163 + CatalogDbUtil.objectToString(data));
168 * update package data.
170 * @param packageData package data
171 * @param csarId package id
172 * @throws CatalogResourceException e
174 public void updatePackage(PackageData packageData, String csarId)
175 throws CatalogResourceException {
176 LOGGER.info("start update package info by id." + csarId + " info:"
177 + CatalogDbUtil.objectToString(packageData));
178 handler.update(packageData, csarId);
179 LOGGER.info(" update package end id." + csarId);