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.model.service;
 
  18 import org.openo.commontosca.catalog.db.exception.CatalogResourceException;
 
  19 import org.openo.commontosca.catalog.db.resource.TemplateManager;
 
  20 import org.openo.commontosca.catalog.model.entity.ServiceTemplate;
 
  21 import org.openo.commontosca.catalog.model.entity.ServiceTemplateOperation;
 
  22 import org.openo.commontosca.catalog.model.plan.wso2.Wso2ServiceConsumer;
 
  23 import org.openo.commontosca.catalog.model.wrapper.ServiceTemplateWrapper;
 
  24 import org.openo.commontosca.catalog.resources.CatalogBadRequestException;
 
  25 import org.slf4j.Logger;
 
  26 import org.slf4j.LoggerFactory;
 
  28 public class ModelService {
 
  29   private static final Logger logger = LoggerFactory.getLogger(ModelService.class);
 
  31   private static final ModelService instance = new ModelService();
 
  33   public static ModelService getInstance() {
 
  38    * delete service template according package id.
 
  39    * @param packageId package id
 
  40    * @throws CatalogBadRequestException e1
 
  41    * @throws CatalogResourceException e2
 
  43   public void delete(String packageId) throws CatalogBadRequestException, CatalogResourceException {
 
  44     logger.info("delete package model data begin.");
 
  46     ServiceTemplate st = getServiceTemplateByCsarIdIgnoreError(packageId);
 
  51     TemplateManager.getInstance().deleteServiceTemplateById(st.getServiceTemplateId());
 
  52     TemplateManager.getInstance().deleteServiceTemplateMapping(null, st.getServiceTemplateId());
 
  54     ServiceTemplateOperation[] operations = st.getOperations();
 
  55     if (operations != null && operations.length > 0) {
 
  56       for (ServiceTemplateOperation op : operations) {
 
  57         Wso2ServiceConsumer.deletePackage(op.getPackageName());
 
  61     logger.info("delete package model data end.");
 
  64   private ServiceTemplate getServiceTemplateByCsarIdIgnoreError(String packageId) {
 
  66       return ServiceTemplateWrapper.getInstance().getServiceTemplateByCsarId(packageId);
 
  67     } catch (CatalogBadRequestException ignore) {
 
  68       logger.info("delete package model data ignore.", ignore);
 
  69     } catch (CatalogResourceException ignore) {
 
  70       logger.info("delete package model data ignore.", ignore);