12b3987be46c59032d99fb7cda82eb742c2bea56
[vfc/nfvo/catalog.git] /
1 /**
2  * Copyright 2016 ZTE Corporation.
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.openo.commontosca.catalog.db.wrapper;
17
18 import org.openo.commontosca.catalog.db.common.CatalogResuorceType;
19 import org.openo.commontosca.catalog.db.entity.NodeTemplateData;
20 import org.openo.commontosca.catalog.db.entity.ServiceTemplateData;
21 import org.openo.commontosca.catalog.db.entity.TemplateData;
22 import org.openo.commontosca.catalog.db.exception.CatalogResourceException;
23 import org.openo.commontosca.catalog.db.util.CatalogDbUtil;
24
25 import org.slf4j.Logger;
26 import org.slf4j.LoggerFactory;
27
28 import java.util.ArrayList;
29
30 public class TemplateHandler extends BaseHandler<TemplateData> {
31   private static final Logger logger = LoggerFactory.getLogger(TemplateHandler.class);
32
33   /**
34    * create template data.
35    * @param templateData template data to create
36    * @return TemplateData
37    * @throws CatalogResourceException e
38    */
39   public TemplateData create(TemplateData templateData) throws CatalogResourceException {
40     logger.info("TemplateHandler create template info.");
41     TemplateData data = null;
42     String serviceTemplateOid = templateData.getServiceTemplate().getServiceTemplateId();
43     if (!CatalogDbUtil.isNotEmpty(serviceTemplateOid)) {
44       logger.info("TemplateHandler:template info does not have oid,generate UUID.");
45       serviceTemplateOid = CatalogDbUtil.generateId();
46       templateData.getServiceTemplate().setServiceTemplateId(serviceTemplateOid);
47     }
48     for (NodeTemplateData nodeData : templateData.getNodeTemplates()) {
49       nodeData.setNodeTemplateId(CatalogDbUtil.generateId());
50       nodeData.setServiceTemplateId(serviceTemplateOid);
51     }
52     Object result = create(templateData, CatalogResuorceType.TEMPLATE.name());
53     if (result != null) {
54       data = (TemplateData) result;
55     } else {
56       logger.info("TemplateHandler: query template info is null.");
57     }
58     logger.info("TemplateHandler: create template info end.");
59     return data;
60   }
61
62   @Override
63   public void check(TemplateData data) throws CatalogResourceException {
64     // TODO Auto-generated method stub
65
66   }
67
68   /**
69    * delete node template.
70    * @param serviceTemplateId service template id
71    * @param nodeTemplateList node template list
72    * @throws CatalogResourceException e
73    */
74   public void delete(String serviceTemplateId, ArrayList<NodeTemplateData> nodeTemplateList)
75       throws CatalogResourceException {
76     logger.info("TemplateHandler delete Template info.");
77     TemplateData templateData = new TemplateData();
78     ServiceTemplateData serviceTemplateData = new ServiceTemplateData();
79     serviceTemplateData.setServiceTemplateId(serviceTemplateId);
80     templateData.setServiceTemplate(serviceTemplateData);
81     templateData.setNodeTemplates(nodeTemplateList);
82     delete(templateData, CatalogResuorceType.TEMPLATE.name());
83     logger.info("TemplateHandler: delete Template info end.");
84   }
85
86 }