43b8ae6413663750f3da7d5bec65b31f6593b388
[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       String nodeTemplateOid = nodeData.getNodeTemplateId();
50       if (!CatalogDbUtil.isNotEmpty(nodeTemplateOid)) {
51         logger.info("TemplateHandler:nodeTemplate info does not have id,generate UUID.");
52         nodeData.setNodeTemplateId(CatalogDbUtil.generateId());
53       }
54       nodeData.setServiceTemplateId(serviceTemplateOid);
55     }
56     Object result = create(templateData, CatalogResuorceType.TEMPLATE.name());
57     if (result != null) {
58       data = (TemplateData) result;
59     } else {
60       logger.info("TemplateHandler: query template info is null.");
61     }
62     logger.info("TemplateHandler: create template info end.");
63     return data;
64   }
65
66   @Override
67   public void check(TemplateData data) throws CatalogResourceException {
68     // TODO Auto-generated method stub
69
70   }
71
72   /**
73    * delete node template.
74    * @param serviceTemplateId service template id
75    * @param nodeTemplateList node template list
76    * @throws CatalogResourceException e
77    */
78   public void delete(String serviceTemplateId, ArrayList<NodeTemplateData> nodeTemplateList)
79       throws CatalogResourceException {
80     logger.info("TemplateHandler delete Template info.");
81     TemplateData templateData = new TemplateData();
82     ServiceTemplateData serviceTemplateData = new ServiceTemplateData();
83     serviceTemplateData.setServiceTemplateId(serviceTemplateId);
84     templateData.setServiceTemplate(serviceTemplateData);
85     templateData.setNodeTemplates(nodeTemplateList);
86     delete(templateData, CatalogResuorceType.TEMPLATE.name());
87     logger.info("TemplateHandler: delete Template info end.");
88   }
89
90 }