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.NetworkResourceCustomization;
 
  23 import org.jboss.resteasy.annotations.providers.NoJackson;
 
  25 import javax.xml.bind.annotation.XmlRootElement;
 
  26 import java.util.ArrayList;
 
  27 import java.util.HashMap;
 
  28 import java.util.List;
 
  31 @XmlRootElement(name = "serviceNetworks")
 
  33 public class QueryServiceNetworks extends CatalogQuery {
 
  34         private List<NetworkResourceCustomization> serviceNetworks;
 
  35         private final String template =
 
  37 //              "\t{ \"networkResource\"            : {\n"+
 
  38                         "\t\t\"modelInfo\"                : {\n"+
 
  39                         "\t\t\t\"modelName\"              : <MODEL_NAME>,\n"+
 
  40                         "\t\t\t\"modelUuid\"              : <MODEL_UUID>,\n"+
 
  41                         "\t\t\t\"modelInvariantUuid\"     : <MODEL_INVARIANT_ID>,\n"+
 
  42                         "\t\t\t\"modelVersion\"           : <MODEL_VERSION>,\n"+
 
  43                         "\t\t\t\"modelCustomizationUuid\" : <MODEL_CUSTOMIZATION_UUID>,\n"+
 
  44                         "\t\t\t\"modelInstanceName\"      : <MODEL_INSTANCE_NAME>\n"+
 
  46                         "\t\t\"toscaNodeType\"            : <TOSCA_NODE_TYPE>,\n"+
 
  47                         "\t\t\"networkType\"              : <NETWORK_TYPE>,\n"+
 
  48                         "\t\t\"networkTechnology\"        : <NETWORK_TECHNOLOGY>,\n"+
 
  49                         "\t\t\"networkRole\"              : <NETWORK_ROLE>,\n"+
 
  50                         "\t\t\"networkScope\"             : <NETWORK_SCOPE>\n"+
 
  54         public QueryServiceNetworks() { super(); serviceNetworks = new ArrayList<NetworkResourceCustomization>(); }
 
  55         public QueryServiceNetworks(List<NetworkResourceCustomization> vlist) {
 
  56                 LOGGER.debug ("QueryServiceNetworks:");
 
  57                 serviceNetworks = new ArrayList<NetworkResourceCustomization>();
 
  58                 for (NetworkResourceCustomization o : vlist) {
 
  59                         LOGGER.debug (o.toString());
 
  60                         serviceNetworks.add(o);
 
  61                         LOGGER.debug ("-------------------");
 
  65         public List<NetworkResourceCustomization> getServiceNetworks(){ return this.serviceNetworks; }
 
  66         public void setServiceNetworks(List<NetworkResourceCustomization> v) { this.serviceNetworks = v; }
 
  69         public String toString () {
 
  70                 StringBuffer buf = new StringBuffer();
 
  74                 for (NetworkResourceCustomization o : serviceNetworks) {
 
  76                         if (!first) buf.append("\n"); first = false;
 
  79                 return buf.toString();
 
  83         public String JSON2(boolean isArray, boolean isEmbed) {
 
  84                 StringBuffer buf = new StringBuffer();
 
  85                 if (!isEmbed && isArray) buf.append("{ ");
 
  86                 if (isArray) buf.append("\"serviceNetworks\": [");
 
  87                 //if (isArray) buf.append("[");
 
  88                 Map<String, String> valueMap = new HashMap<String, String>();
 
  92                 for (NetworkResourceCustomization o : serviceNetworks) {
 
  93                         if (first) buf.append("\n"); first = false;
 
  94                         boolean nrNull = o.getNetworkResource() == null ? true : false;
 
  95                     put(valueMap, "MODEL_NAME",               nrNull ? null : o.getNetworkResource().getModelName());
 
  96                     put(valueMap, "MODEL_UUID",               nrNull ? null : o.getNetworkResource().getModelUUID());
 
  97                     put(valueMap, "MODEL_INVARIANT_ID",       nrNull ? null : o.getNetworkResource().getModelInvariantUUID());
 
  98                     put(valueMap, "MODEL_VERSION",            nrNull ? null : o.getNetworkResource().getVersion());
 
  99                     put(valueMap, "MODEL_CUSTOMIZATION_UUID", o.getModelCustomizationUuid());
 
 100                     put(valueMap, "MODEL_INSTANCE_NAME",      o.getModelInstanceName());
 
 101                     put(valueMap, "TOSCA_NODE_TYPE",             nrNull ? null : o.getNetworkResource().getToscaNodeType());
 
 102                     put(valueMap, "NETWORK_TYPE",             o.getNetworkType());
 
 103                     put(valueMap, "NETWORK_ROLE",             o.getNetworkRole());
 
 104                     put(valueMap, "NETWORK_SCOPE",             o.getNetworkScope());
 
 105                     put(valueMap, "NETWORK_TECHNOLOGY",             o.getNetworkTechnology());
 
 107             buf.append(sep+ this.setTemplate(template, valueMap));
 
 110                 if (!first) buf.append("\n");
 
 111                 if (isArray) buf.append("]");
 
 112                 if (!isEmbed && isArray) buf.append("}");
 
 113                 return buf.toString();