2  * ============LICENSE_START=======================================================
 
   4  * ================================================================================
 
   5  * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
 
   6  * ================================================================================
 
   7  * Licensed under the Apache License, Version 2.0 (the "License");
 
   8  * you may not use this file except in compliance with the License.
 
   9  * You may obtain a copy of the License at
 
  11  *      http://www.apache.org/licenses/LICENSE-2.0
 
  13  * Unless required by applicable law or agreed to in writing, software
 
  14  * distributed under the License is distributed on an "AS IS" BASIS,
 
  15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 
  16  * See the License for the specific language governing permissions and
 
  17  * limitations under the License.
 
  18  * ============LICENSE_END=========================================================
 
  20 package org.openecomp.mso.adapters.catalogdb.catalogrest;
 
  22 import org.openecomp.mso.db.catalog.beans.Service;
 
  23 import org.openecomp.mso.db.catalog.beans.ServiceMacroHolder;
 
  24 import org.jboss.resteasy.annotations.providers.NoJackson;
 
  26 import javax.xml.bind.annotation.XmlRootElement;
 
  27 import java.util.HashMap;
 
  30 @XmlRootElement(name = "serviceResources")
 
  32 public class QueryServiceMacroHolder extends CatalogQuery {
 
  33         private ServiceMacroHolder serviceMacroHolder;
 
  34         private final String template =
 
  35                 "{ \"serviceResources\"    : {\n"+
 
  36             "\t\"modelName\"          : <SERVICE_MODEL_NAME>,\n"+
 
  37             "\t\"modelUuid\"          : <SERVICE_MODEL_UUID>,\n"+
 
  38             "\t\"modelInvariantUuid\" : <SERVICE_MODEL_INVARIANT_ID>,\n"+
 
  39             "\t\"modelVersion\"       : <SERVICE_MODEL_VERSION>,\n"+
 
  42             "<_SERVICENETWORKS_>,\n"+
 
  43             "<_SERVICEALLOTTEDRESOURCES_>\n"+
 
  46         public QueryServiceMacroHolder() { super(); serviceMacroHolder = new ServiceMacroHolder(); }
 
  47         public QueryServiceMacroHolder(ServiceMacroHolder vlist) { serviceMacroHolder = vlist; }
 
  49         public ServiceMacroHolder getServiceResources(){ return this.serviceMacroHolder; }
 
  50         public void setServiceResources(ServiceMacroHolder v) { this.serviceMacroHolder = v; }
 
  53         public String toString () { return serviceMacroHolder.toString(); }
 
  56         public String JSON2(boolean isArray, boolean x) {
 
  57                 Service service = serviceMacroHolder.getService();
 
  58                 if (service == null) return "\"serviceResources\": null";
 
  60                 StringBuffer buf = new StringBuffer();
 
  61                 Map<String, String> valueMap = new HashMap<String, String>();
 
  63                 put(valueMap, "SERVICE_MODEL_NAME",         service.getServiceName()); //getServiceModelName());
 
  64                 put(valueMap, "SERVICE_MODEL_UUID",         service.getServiceNameVersionId()); //getServiceModelUuid());
 
  65                 put(valueMap, "SERVICE_MODEL_INVARIANT_ID", service.getModelInvariantUUID()); //getServiceModelInvariantId());
 
  66                 put(valueMap, "SERVICE_MODEL_VERSION",      service.getServiceVersion()); //getServiceModelVersion());
 
  69             subitem = new QueryServiceVnfs(serviceMacroHolder.getVnfResources()).JSON2(true, true);
 
  70             valueMap.put("_SERVICEVNFS_",               subitem.replaceAll("(?m)^", "\t"));
 
  72                 subitem = new QueryServiceNetworks(serviceMacroHolder.getNetworkResourceCustomization()).JSON2(true, true);
 
  73                 valueMap.put("_SERVICENETWORKS_",           subitem.replaceAll("(?m)^", "\t"));
 
  75                 subitem = new QueryAllottedResourceCustomization(serviceMacroHolder.getAllottedResourceCustomization()).JSON2(true, true);
 
  76                 valueMap.put("_SERVICEALLOTTEDRESOURCES_",  subitem.replaceAll("(?m)^", "\t"));
 
  78         buf.append(this.setTemplate(template, valueMap));
 
  79                 return buf.toString();