Upgrade sonar plugin
[vid.git] / vid-app-common / src / main / java / org / openecomp / vid / controller / AaiController.java
index 861ddf8..a8bdf39 100755 (executable)
  * ============LICENSE_END=========================================================\r
  */\r
 \r
-package  org.openecomp.vid.controller;\r
-\r
-import java.io.File;\r
-import java.io.IOException;\r
-import java.text.DateFormat;\r
-import java.text.SimpleDateFormat;\r
-import java.util.Date;\r
-import java.util.HashMap;\r
-import java.util.Iterator;\r
-import java.util.Map;\r
-import java.util.UUID;\r
-\r
-import javax.servlet.ServletContext;\r
-import javax.servlet.http.HttpServletRequest;\r
-import javax.servlet.http.HttpSession;\r
-import javax.ws.rs.BadRequestException;\r
-import javax.ws.rs.DefaultValue;\r
-import javax.ws.rs.QueryParam;\r
-import javax.ws.rs.WebApplicationException;\r
-import javax.ws.rs.core.Response;\r
+package org.openecomp.vid.controller;\r
 \r
+import org.codehaus.jackson.JsonGenerationException;\r
+import org.codehaus.jackson.map.JsonMappingException;\r
+import org.codehaus.jackson.map.ObjectMapper;\r
 import org.json.simple.JSONArray;\r
 import org.json.simple.JSONObject;\r
 import org.json.simple.parser.JSONParser;\r
 import org.openecomp.aai.util.AAIRestInterface;\r
+import org.openecomp.portalsdk.core.controller.RestrictedBaseController;\r
+import org.openecomp.portalsdk.core.domain.User;\r
+import org.openecomp.portalsdk.core.logging.logic.EELFLoggerDelegate;\r
+import org.openecomp.portalsdk.core.util.SystemProperties;\r
+import org.openecomp.vid.aai.AaiResponse;\r
+import org.openecomp.vid.aai.SubscriberData;\r
+import org.openecomp.vid.aai.SubscriberFilteredResults;\r
+import org.openecomp.vid.aai.model.AaiGetTenatns.GetTenantsResponse;\r
+import org.openecomp.vid.model.VersionByInvariantIdsRequest;\r
+import org.openecomp.vid.roles.Role;\r
+import org.openecomp.vid.roles.RoleProvider;\r
+import org.openecomp.vid.roles.RoleValidator;\r
+import org.openecomp.vid.services.AaiService;\r
 import org.springframework.beans.factory.annotation.Autowired;\r
 import org.springframework.http.HttpStatus;\r
 import org.springframework.http.MediaType;\r
 import org.springframework.http.ResponseEntity;\r
-import org.springframework.web.bind.annotation.PathVariable;\r
-import org.springframework.web.bind.annotation.RequestMapping;\r
-import org.springframework.web.bind.annotation.RequestMethod;\r
-import org.springframework.web.bind.annotation.RestController;\r
+import org.springframework.web.bind.annotation.*;\r
 import org.springframework.web.servlet.ModelAndView;\r
 \r
-import org.openecomp.portalsdk.core.controller.RestrictedBaseController;\r
-import org.openecomp.portalsdk.core.domain.User;\r
-import org.openecomp.portalsdk.core.logging.logic.EELFLoggerDelegate;\r
-import org.openecomp.portalsdk.core.util.SystemProperties;\r
+import javax.servlet.ServletContext;\r
+import javax.servlet.http.HttpServletRequest;\r
+import javax.servlet.http.HttpSession;\r
+import javax.ws.rs.BadRequestException;\r
+import javax.ws.rs.DefaultValue;\r
+import javax.ws.rs.QueryParam;\r
+import javax.ws.rs.WebApplicationException;\r
+import javax.ws.rs.core.Response;\r
+import java.io.File;\r
+import java.io.IOException;\r
+import java.text.DateFormat;\r
+import java.text.SimpleDateFormat;\r
+import java.util.*;\r
 \r
 /**\r
  * Controller to handle a&ai requests.\r
  */\r
 \r
 @RestController\r
-public class AaiController extends RestrictedBaseController{\r
-\r
-       /** The view name. */\r
-       String viewName;\r
-\r
-       /** The logger. */\r
-       EELFLoggerDelegate logger = EELFLoggerDelegate.getLogger(AaiController.class);\r
-\r
-       /** The Constant dateFormat. */\r
-       final static DateFormat dateFormat = new SimpleDateFormat("HH:mm:ss:SSSS");\r
-\r
-       /** The from app id. */\r
-       protected String fromAppId = "VidAaiController";\r
-\r
-       /** The model. */\r
-       private Map<String,Object> model = new HashMap<String,Object>();\r
-\r
-       /** The servlet context. */\r
-       private @Autowired ServletContext servletContext;\r
-\r
-       /**\r
-        * Welcome method.\r
-        *\r
-        * @param request the request\r
-        * @return ModelAndView The view\r
-        */\r
-       @RequestMapping(value = {"/subscriberSearch" }, method = RequestMethod.GET)\r
-       public ModelAndView welcome(HttpServletRequest request) {\r
-               logger.debug(EELFLoggerDelegate.debugLogger, dateFormat.format(new Date()) + "<== AaiController welcome start");\r
-               return new ModelAndView(getViewName());         \r
-       }\r
-\r
-       /* (non-Javadoc)\r
-        * @see org.openecomp.portalsdk.core.controller.RestrictedBaseController#getViewName()\r
-        */\r
-       public String getViewName() {\r
-               return viewName;\r
-       }\r
-\r
-       /* (non-Javadoc)\r
-        * @see org.openecomp.portalsdk.core.controller.RestrictedBaseController#setViewName(java.lang.String)\r
-        */\r
-       public void setViewName(String viewName) {\r
-               this.viewName = viewName;\r
-       }\r
-\r
-       /**\r
-        * Get services from a&ai.\r
-        *\r
-        * @return ResponseEntity<String> The response entity with the logged in user uuid.\r
-        * @throws IOException Signals that an I/O exception has occurred.\r
-        * @throws InterruptedException the interrupted exception\r
-        */\r
-       @RequestMapping(value = {"/getuserID" }, method = RequestMethod.GET)\r
-       public ResponseEntity<String> getUserID(HttpServletRequest request) throws IOException, InterruptedException {\r
-\r
-               String userId = "";\r
-               HttpSession session = request.getSession();\r
-               if (session != null)\r
-               {\r
-                       User user = (User) session.getAttribute(SystemProperties.getProperty(SystemProperties.USER_ATTRIBUTE_NAME));\r
-                       if (user != null)\r
-                       {\r
-                               //userId = user.getHrid();\r
-                               userId = user.getLoginId();\r
-                               if (userId == null)\r
-                                       userId = user.getOrgUserId();\r
-                       }\r
-               }\r
-\r
-               return new ResponseEntity<String>( userId, HttpStatus.OK);\r
-       }\r
-\r
-\r
-       /**\r
-        * Get services from a&ai.\r
-        *\r
-        * @return ResponseEntity<String> The response entity\r
-        * @throws IOException Signals that an I/O exception has occurred.\r
-        * @throws InterruptedException the interrupted exception\r
-        */\r
-       @RequestMapping(value="/aai_get_services",method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE) \r
-       public ResponseEntity<String> doGetServices() throws IOException, InterruptedException {        \r
-               File certiPath = GetCertificatesPath();\r
-               Response resp = doAaiGet(certiPath.getAbsolutePath(), "service-design-and-creation/services", false);\r
-\r
-               return convertResponseToResponseEntity(resp);\r
-       }\r
-\r
-       /**\r
-        * Lookup single service instance in a&ai.  Get the service-subscription and customer, too, i guess?\r
-        *\r
-        * @param serviceInstanceId the service instance Id\r
-        * @return ResponseEntity The response entity\r
-        * @throws IOException Signals that an I/O exception has occurred.\r
-        * @throws InterruptedException the interrupted exception\r
-        */\r
-       @RequestMapping(value="/aai_get_service_instance/{service-instance-id}/{service-instance-type}", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE) \r
-       public ResponseEntity<String> doGetServiceInstance(@PathVariable("service-instance-id") String serviceInstanceId,@PathVariable("service-instance-type") String serviceInstanceType) throws IOException, InterruptedException {  \r
-               File certiPath = GetCertificatesPath();\r
-               Response resp=null;\r
-\r
-               if(serviceInstanceType.equalsIgnoreCase("Service Instance Id")){\r
-                       resp = doAaiGet( certiPath.getAbsolutePath(), \r
-                                       "search/nodes-query?search-node-type=service-instance&filter=service-instance-id:EQUALS:" \r
-                                                       + serviceInstanceId, false);\r
-               } else {\r
-                       resp = doAaiGet( certiPath.getAbsolutePath(), \r
-                                       "search/nodes-query?search-node-type=service-instance&filter=service-instance-name:EQUALS:" \r
-                                                       + serviceInstanceId, false);\r
-               }\r
-               return convertResponseToResponseEntity(resp);\r
-       }\r
-\r
-\r
-       /**\r
-        * Get services from a&ai.\r
-        *\r
-        * @param globalCustomerId the global customer id\r
-        * @param serviceSubscriptionId the service subscription id\r
-        * @return ResponseEntity The response entity\r
-        * @throws IOException Signals that an I/O exception has occurred.\r
-        * @throws InterruptedException the interrupted exception\r
-        */\r
-       @RequestMapping(value="/aai_get_service_subscription/{global-customer-id}/{service-subscription-id}",method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE) \r
-       public ResponseEntity<String> doGetServices(@PathVariable("global-customer-id") String globalCustomerId,\r
-                       @PathVariable("service-subscription-id") String serviceSubscriptionId) throws IOException, InterruptedException {       \r
-               File certiPath = GetCertificatesPath();\r
-               Response resp = doAaiGet(certiPath.getAbsolutePath(), "business/customers/customer/" + globalCustomerId \r
-                               + "/service-subscriptions/service-subscription/" + serviceSubscriptionId + "?depth=0", false);\r
-               return convertResponseToResponseEntity(resp);\r
-       }\r
-\r
-       /**\r
-        * Obtain the subscriber list from a&ai.\r
-        *\r
-        * @param fullSet the full set\r
-        * @return ResponseEntity The response entity\r
-        * @throws IOException Signals that an I/O exception has occurred.\r
-        * @throws InterruptedException the interrupted exception\r
-        */\r
-       @RequestMapping(value="/aai_get_subscribers",method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE)   \r
-       public ResponseEntity<String> doGetSubscriberList(@DefaultValue("n") @QueryParam("fullSet") String fullSet) throws IOException, InterruptedException {\r
-               Response resp = getSubscribers(false);\r
-               return convertResponseToResponseEntity(resp);\r
-       }\r
-\r
-       /**\r
-        * Obtain the Target Prov Status from the System.Properties file.\r
-        *\r
-        * @return ResponseEntity The response entity\r
-        * @throws IOException Signals that an I/O exception has occurred.\r
-        * @throws InterruptedException the interrupted exception\r
-        */     \r
-       @RequestMapping(value="/get_system_prop_vnf_prov_status",method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE)       \r
-       public ResponseEntity<String> getTargetProvStatus() throws IOException, InterruptedException {\r
-               String p = SystemProperties.getProperty("aai.vnf.provstatus");\r
-               return new ResponseEntity<String>(p, HttpStatus.OK);\r
-       }\r
-\r
-       /**\r
-        * Obtain the full subscriber list from a&ai.\r
-        *\r
-        * @return ResponseEntity The response entity\r
-        * @throws IOException Signals that an I/O exception has occurred.\r
-        * @throws InterruptedException the interrupted exception\r
-        */\r
-       @RequestMapping(value="/aai_get_full_subscribers",method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE)      \r
-       public ResponseEntity<String> getFullSubscriberList() throws IOException, InterruptedException {\r
-               Response resp = getSubscribers(true);\r
-               return convertResponseToResponseEntity(resp);\r
-       }\r
-\r
-\r
-       /**\r
-        * Refresh the subscriber list from a&ai.\r
-        *\r
-        * @return ResponseEntity The response entity\r
-        * @throws IOException Signals that an I/O exception has occurred.\r
-        */\r
-       @RequestMapping(value="/aai_refresh_subscribers",method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE)       \r
-       public ResponseEntity<String> doRefreshSubscriberList() throws IOException {\r
-               Response resp = getSubscribers(false);\r
-               return convertResponseToResponseEntity(resp);\r
-       }\r
-\r
-       /**\r
-        * Refresh the full subscriber list from a&ai.\r
-        *\r
-        * @return ResponseEntity The response entity\r
-        * @throws IOException Signals that an I/O exception has occurred.\r
-        */\r
-       @RequestMapping(value="/aai_refresh_full_subscribers",method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE)          \r
-       public ResponseEntity<String> doRefreshFullSubscriberList() throws IOException {\r
-               Response resp = getSubscribers(false);\r
-               return convertResponseToResponseEntity(resp);\r
-       }\r
-\r
-       /**\r
-        * Get subscriber details from a&ai.\r
-        *\r
-        * @param subscriberId the subscriber id\r
-        * @return ResponseEntity The response entity\r
-        */\r
-       @RequestMapping(value="/aai_sub_details/{subscriberId}", method = RequestMethod.GET)\r
-       public ResponseEntity<String> GetSubscriber(@PathVariable("subscriberId") String subscriberId) {\r
-               Response resp = getSubscriberDetails(subscriberId);\r
-               return convertResponseToResponseEntity(resp);\r
-       }\r
-\r
-       /**\r
-        * Issue a named query to a&ai.\r
-        *\r
-        * @param namedQueryId the named query id\r
-        * @param globalCustomerId the global customer id\r
-        * @param serviceType the service type\r
-        * @param serviceInstance the service instance\r
-        * @return ResponseEntity The response entity\r
-        */\r
-       @RequestMapping(value="/aai_sub_viewedit/{namedQueryId}/{globalCustomerId}/{serviceType}/{serviceInstance}", method = RequestMethod.GET)\r
-       public ResponseEntity<String> viewEditGetComponentList(\r
-                       @PathVariable("namedQueryId") String namedQueryId,\r
-                       @PathVariable("globalCustomerId") String globalCustomerId,\r
-                       @PathVariable("serviceType") String serviceType,\r
-                       @PathVariable("serviceInstance") String serviceInstance) { \r
-\r
-               String componentListPayload = getComponentListPutPayload(namedQueryId, globalCustomerId, serviceType, serviceInstance);\r
-               File certiPath = GetCertificatesPath();\r
-\r
-               Response resp = doAaiPost(certiPath.getAbsolutePath(), "search/named-query", componentListPayload, false); \r
+public class AaiController extends RestrictedBaseController {\r
+\r
+    /**\r
+     * The Constant dateFormat.\r
+     */\r
+    final static DateFormat dateFormat = new SimpleDateFormat("HH:mm:ss:SSSS");\r
+    /**\r
+     * The from app id.\r
+     */\r
+    protected String fromAppId = "VidAaiController";\r
+    /**\r
+     * The view name.\r
+     */\r
+    String viewName;\r
+    /**\r
+     * The logger.\r
+     */\r
+    EELFLoggerDelegate logger = EELFLoggerDelegate.getLogger(AaiController.class);\r
+    /**\r
+     * The model.\r
+     */\r
+    private Map<String, Object> model = new HashMap<String, Object>();\r
+    /**\r
+     * The servlet context.\r
+     */\r
+    @Autowired\r
+    private ServletContext servletContext;\r
+    /**\r
+     * aai service\r
+     */\r
+    @Autowired\r
+    private AaiService aaiService;\r
+    public AaiController() {\r
+\r
+    }\r
+\r
+    public AaiController(ServletContext servletContext) {\r
+        this.servletContext = servletContext;\r
+\r
+    }\r
+\r
+    /**\r
+     * Return tenant details.\r
+     *\r
+     * @param jsonObject the json object\r
+     * @return String The parsing results\r
+     */\r
+    public static String parseCustomerObjectForTenants(JSONObject jsonObject) {\r
+\r
+        JSONArray tenantArray = new JSONArray();\r
+        boolean bconvert = false;\r
+\r
+        try {\r
+\r
+            JSONObject serviceSubsObj = (JSONObject) jsonObject.get("service-subscriptions");\r
+\r
+            if (serviceSubsObj != null) {\r
+                JSONArray srvcSubArray = (JSONArray) serviceSubsObj.get("service-subscription");\r
+\r
+                if (srvcSubArray != null) {\r
+                    Iterator i = srvcSubArray.iterator();\r
+\r
+                    while (i.hasNext()) {\r
+\r
+                        JSONObject innerObj = (JSONObject) i.next();\r
+\r
+                        if (innerObj == null)\r
+                            continue;\r
+\r
+                        JSONObject relationShipListsObj = (JSONObject) innerObj.get("relationship-list");\r
+                        if (relationShipListsObj != null) {\r
+                            JSONArray rShipArray = (JSONArray) relationShipListsObj.get("relationship");\r
+                            if (rShipArray != null) {\r
+                                Iterator i1 = rShipArray.iterator();\r
+\r
+                                while (i1.hasNext()) {\r
+\r
+                                    JSONObject inner1Obj = (JSONObject) i1.next();\r
+\r
+                                    if (inner1Obj == null)\r
+                                        continue;\r
+\r
+                                    String relatedTo = checkForNull((String) inner1Obj.get("related-to"));\r
+                                    if (relatedTo.equalsIgnoreCase("tenant")) {\r
+                                        JSONObject tenantNewObj = new JSONObject();\r
+\r
+                                        String relatedLink = checkForNull((String) inner1Obj.get("related-link"));\r
+                                        tenantNewObj.put("link", relatedLink);\r
+\r
+                                        JSONArray rDataArray = (JSONArray) inner1Obj.get("relationship-data");\r
+                                        if (rDataArray != null) {\r
+                                            Iterator i2 = rDataArray.iterator();\r
+\r
+                                            while (i2.hasNext()) {\r
+                                                JSONObject inner2Obj = (JSONObject) i2.next();\r
+\r
+                                                if (inner2Obj == null)\r
+                                                    continue;\r
+\r
+                                                String rShipKey = checkForNull((String) inner2Obj.get("relationship-key"));\r
+                                                String rShipVal = checkForNull((String) inner2Obj.get("relationship-value"));\r
+                                                if (rShipKey.equalsIgnoreCase("cloud-region.cloud-owner")) {\r
+                                                    tenantNewObj.put("cloudOwner", rShipVal);\r
+                                                } else if (rShipKey.equalsIgnoreCase("cloud-region.cloud-region-id")) {\r
+                                                    tenantNewObj.put("cloudRegionID", rShipVal);\r
+                                                }\r
+\r
+                                                if (rShipKey.equalsIgnoreCase("tenant.tenant-id")) {\r
+                                                    tenantNewObj.put("tenantID", rShipVal);\r
+                                                }\r
+                                            }\r
+                                        }\r
+\r
+                                        JSONArray relatedTPropArray = (JSONArray) inner1Obj.get("related-to-property");\r
+                                        if (relatedTPropArray != null) {\r
+                                            Iterator i3 = relatedTPropArray.iterator();\r
+\r
+                                            while (i3.hasNext()) {\r
+                                                JSONObject inner3Obj = (JSONObject) i3.next();\r
+\r
+                                                if (inner3Obj == null)\r
+                                                    continue;\r
+\r
+                                                String propKey = checkForNull((String) inner3Obj.get("property-key"));\r
+                                                String propVal = checkForNull((String) inner3Obj.get("property-value"));\r
+                                                if (propKey.equalsIgnoreCase("tenant.tenant-name")) {\r
+                                                    tenantNewObj.put("tenantName", propVal);\r
+                                                }\r
+                                            }\r
+                                        }\r
+                                        bconvert = true;\r
+                                        tenantArray.add(tenantNewObj);\r
+                                    }\r
+                                }\r
+                            }\r
+                        }\r
+                    }\r
+                }\r
+            }\r
+        } catch (NullPointerException ex) {\r
+\r
+\r
+        }\r
+\r
+        if (bconvert)\r
+            return tenantArray.toJSONString();\r
+        else\r
+            return "";\r
+\r
+    }\r
+\r
+\r
+    /**\r
+     * Retrieve the service subscription from the jsonObject.\r
+     *\r
+     * @param jsonObject the json object\r
+     * @return String\r
+     */\r
+    public static String parseServiceSubscriptionObjectForTenants(JSONObject jsonObject) {\r
+\r
+        JSONArray tenantArray = new JSONArray();\r
+        boolean bconvert = false;\r
+\r
+        try {\r
+            JSONObject relationShipListsObj = (JSONObject) jsonObject.get("relationship-list");\r
+            if (relationShipListsObj != null) {\r
+                JSONArray rShipArray = (JSONArray) relationShipListsObj.get("relationship");\r
+                if (rShipArray != null) {\r
+                    Iterator i1 = rShipArray.iterator();\r
+\r
+                    while (i1.hasNext()) {\r
+\r
+                        JSONObject inner1Obj = (JSONObject) i1.next();\r
+\r
+                        if (inner1Obj == null)\r
+                            continue;\r
+\r
+                        String relatedTo = checkForNull((String) inner1Obj.get("related-to"));\r
+                        if (relatedTo.equalsIgnoreCase("tenant")) {\r
+                            JSONObject tenantNewObj = new JSONObject();\r
+\r
+                            String relatedLink = checkForNull((String) inner1Obj.get("related-link"));\r
+                            tenantNewObj.put("link", relatedLink);\r
+\r
+                            JSONArray rDataArray = (JSONArray) inner1Obj.get("relationship-data");\r
+                            if (rDataArray != null) {\r
+                                Iterator i2 = rDataArray.iterator();\r
+\r
+                                while (i2.hasNext()) {\r
+                                    JSONObject inner2Obj = (JSONObject) i2.next();\r
+\r
+                                    if (inner2Obj == null)\r
+                                        continue;\r
+\r
+                                    String rShipKey = checkForNull((String) inner2Obj.get("relationship-key"));\r
+                                    String rShipVal = checkForNull((String) inner2Obj.get("relationship-value"));\r
+                                    if (rShipKey.equalsIgnoreCase("cloud-region.cloud-owner")) {\r
+                                        tenantNewObj.put("cloudOwner", rShipVal);\r
+                                    } else if (rShipKey.equalsIgnoreCase("cloud-region.cloud-region-id")) {\r
+                                        tenantNewObj.put("cloudRegionID", rShipVal);\r
+                                    }\r
+\r
+                                    if (rShipKey.equalsIgnoreCase("tenant.tenant-id")) {\r
+                                        tenantNewObj.put("tenantID", rShipVal);\r
+                                    }\r
+                                }\r
+                            }\r
+\r
+                            JSONArray relatedTPropArray = (JSONArray) inner1Obj.get("related-to-property");\r
+                            if (relatedTPropArray != null) {\r
+                                Iterator i3 = relatedTPropArray.iterator();\r
+\r
+                                while (i3.hasNext()) {\r
+                                    JSONObject inner3Obj = (JSONObject) i3.next();\r
+\r
+                                    if (inner3Obj == null)\r
+                                        continue;\r
+\r
+                                    String propKey = checkForNull((String) inner3Obj.get("property-key"));\r
+                                    String propVal = checkForNull((String) inner3Obj.get("property-value"));\r
+                                    if (propKey.equalsIgnoreCase("tenant.tenant-name")) {\r
+                                        tenantNewObj.put("tenantName", propVal);\r
+                                    }\r
+                                }\r
+                            }\r
+                            bconvert = true;\r
+                            tenantArray.add(tenantNewObj);\r
+                        }\r
+                    }\r
+\r
+                }\r
+            }\r
+        } catch (NullPointerException ex) {\r
+\r
+\r
+        }\r
+\r
+        if (bconvert)\r
+            return tenantArray.toJSONString();\r
+        else\r
+            return "";\r
+\r
+    }\r
+\r
+    /**\r
+     * Check for null.\r
+     *\r
+     * @param local the local\r
+     * @return the string\r
+     */\r
+    private static String checkForNull(String local) {\r
+        if (local != null)\r
+            return local;\r
+        else\r
+            return "";\r
+\r
+    }\r
+\r
+    /**\r
+     * Welcome method.\r
+     *\r
+     * @param request the request\r
+     * @return ModelAndView The view\r
+     */\r
+    @RequestMapping(value = {"/subscriberSearch"}, method = RequestMethod.GET)\r
+    public ModelAndView welcome(HttpServletRequest request) {\r
+        logger.debug(EELFLoggerDelegate.debugLogger, dateFormat.format(new Date()) + "<== AaiController welcome start");\r
+        return new ModelAndView(getViewName());\r
+    }\r
+\r
+    @RequestMapping(value = {"/aai_get_aic_zones"}, method = RequestMethod.GET)\r
+    public ResponseEntity<String> getAicZones(HttpServletRequest request) throws JsonGenerationException, JsonMappingException, IOException {\r
+        logger.debug(EELFLoggerDelegate.debugLogger, dateFormat.format(new Date()) + "<== getAicZones controller start");\r
+        AaiResponse response = aaiService.getAaiZones();\r
+        return aaiResponseToResponseEntity(response);\r
+    }\r
+    \r
+    @RequestMapping(value = {"/aai_get_aic_zone_for_pnf/{globalCustomerId}/{serviceType}/{serviceId}"}, method = RequestMethod.GET)\r
+    public ResponseEntity<String> getAicZoneForPnf(@PathVariable("globalCustomerId") String globalCustomerId ,@PathVariable("serviceType") String serviceType , @PathVariable("serviceId") String serviceId ,HttpServletRequest request) throws JsonGenerationException, JsonMappingException, IOException {\r
+        logger.debug(EELFLoggerDelegate.debugLogger, dateFormat.format(new Date()) + "<== getAicZoneForPnf controller start");\r
+        AaiResponse response = aaiService.getAicZoneForPnf(globalCustomerId , serviceType , serviceId);\r
+        return aaiResponseToResponseEntity(response);\r
+    }\r
+\r
+    /* (non-Javadoc)\r
+     * @see org.openecomp.portalsdk.core.controller.RestrictedBaseController#getViewName()\r
+     */\r
+    public String getViewName() {\r
+        return viewName;\r
+    }\r
+\r
+    /* (non-Javadoc)\r
+     * @see org.openecomp.portalsdk.core.controller.RestrictedBaseController#setViewName(java.lang.String)\r
+     */\r
+    public void setViewName(String viewName) {\r
+        this.viewName = viewName;\r
+    }\r
+\r
+    /**\r
+     * Get services from a&ai.\r
+     *\r
+     * @return ResponseEntity<String> The response entity with the logged in user uuid.\r
+     * @throws IOException          Signals that an I/O exception has occurred.\r
+     * @throws InterruptedException the interrupted exception\r
+     */\r
+    @RequestMapping(value = {"/getuserID"}, method = RequestMethod.GET)\r
+    public ResponseEntity<String> getUserID(HttpServletRequest request) throws IOException, InterruptedException {\r
+\r
+        String userId = "";\r
+        HttpSession session = request.getSession();\r
+        if (session != null) {\r
+            User user = (User) session.getAttribute(SystemProperties.getProperty(SystemProperties.USER_ATTRIBUTE_NAME));\r
+            if (user != null) {\r
+                //userId = user.getHrid();\r
+                userId = user.getLoginId();\r
+                if (userId == null)\r
+                    userId = user.getOrgUserId();\r
+            }\r
+        }\r
+\r
+        return new ResponseEntity<String>(userId, HttpStatus.OK);\r
+    }\r
+\r
+    /**\r
+     * Get services from a&ai.\r
+     *\r
+     * @return ResponseEntity<String> The response entity\r
+     * @throws IOException          Signals that an I/O exception has occurred.\r
+     * @throws InterruptedException the interrupted exception\r
+     */\r
+    @RequestMapping(value = "/aai_get_services", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE)\r
+    public ResponseEntity<String> doGetServices(HttpServletRequest request) throws IOException, InterruptedException {\r
+\r
+        RoleValidator roleValidator = new RoleValidator(new RoleProvider().getUserRoles(request));\r
+\r
+        AaiResponse subscriberList = aaiService.getServices(roleValidator);\r
+        ResponseEntity<String> responseEntity = aaiResponseToResponseEntity(subscriberList);\r
+\r
+        return responseEntity;\r
+    }\r
+\r
+\r
+    @RequestMapping(value = {"/aai_get_version_by_invariant_id"}, method = RequestMethod.POST)\r
+    public ResponseEntity<String> getVersionByInvariantId(HttpServletRequest request, @RequestBody VersionByInvariantIdsRequest versions) throws IOException {\r
+        ResponseEntity<String> responseEntity;\r
+        ObjectMapper objectMapper = new ObjectMapper();\r
+\r
+        Response result = aaiService.getVersionByInvariantId(versions.versions);\r
+\r
+        return new ResponseEntity<String>(result.readEntity(String.class), HttpStatus.OK);\r
+    }\r
+\r
+\r
+    private ResponseEntity<String> aaiResponseToResponseEntity(AaiResponse aaiResponseData)\r
+            throws IOException, JsonGenerationException, JsonMappingException {\r
+        ResponseEntity<String> responseEntity;\r
+        ObjectMapper objectMapper = new ObjectMapper();\r
+        if (aaiResponseData.getHttpCode() == 200) {\r
+            responseEntity = new ResponseEntity<String>(objectMapper.writeValueAsString(aaiResponseData.getT()), HttpStatus.OK);\r
+        } else {\r
+            responseEntity = new ResponseEntity<String>(aaiResponseData.getErrorMessage(), HttpStatus.valueOf(aaiResponseData.getHttpCode()));\r
+        }\r
+        return responseEntity;\r
+    }\r
+\r
+    /**\r
+     * Lookup single service instance in a&ai.  Get the service-subscription and customer, too, i guess?\r
+     *\r
+     * @param serviceInstanceId the service instance Id\r
+     * @return ResponseEntity The response entity\r
+     * @throws IOException          Signals that an I/O exception has occurred.\r
+     * @throws InterruptedException the interrupted exception\r
+     */\r
+    @RequestMapping(value = "/aai_get_service_instance/{service-instance-id}/{service-instance-type}", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE)\r
+    public ResponseEntity<String> doGetServiceInstance(@PathVariable("service-instance-id") String serviceInstanceId, @PathVariable("service-instance-type") String serviceInstanceType) throws IOException, InterruptedException {\r
+        File certiPath = GetCertificatesPath();\r
+        Response resp = null;\r
+\r
+        if (serviceInstanceType.equalsIgnoreCase("Service Instance Id")) {\r
+            resp = doAaiGet(certiPath.getAbsolutePath(),\r
+                    "search/nodes-query?search-node-type=service-instance&filter=service-instance-id:EQUALS:"\r
+                            + serviceInstanceId, false);\r
+        } else {\r
+            resp = doAaiGet(certiPath.getAbsolutePath(),\r
+                    "search/nodes-query?search-node-type=service-instance&filter=service-instance-name:EQUALS:"\r
+                            + serviceInstanceId, false);\r
+        }\r
         return convertResponseToResponseEntity(resp);\r
-       }\r
-\r
-       /**\r
-        * Issue a named query to a&ai.\r
-        *\r
-        * @param namedQueryId the named query id\r
-        * @param globalCustomerId the global customer id\r
-        * @param serviceType the service type\r
-        * @return ResponseEntity The response entity\r
-        */\r
-       @RequestMapping(value="/aai_get_models_by_service_type/{namedQueryId}/{globalCustomerId}/{serviceType}", method = RequestMethod.GET)\r
-       public ResponseEntity<String> viewEditGetComponentList(\r
-                       @PathVariable("namedQueryId") String namedQueryId,\r
-                       @PathVariable("globalCustomerId") String globalCustomerId,\r
-                       @PathVariable("serviceType") String serviceType) { \r
-\r
-               String componentListPayload = getModelsByServiceTypePayload(namedQueryId, globalCustomerId, serviceType);\r
-               File certiPath = GetCertificatesPath();\r
-\r
-               Response resp = doAaiPost(certiPath.getAbsolutePath(), "search/named-query", componentListPayload, false); \r
+    }\r
+\r
+    /**\r
+     * Get services from a&ai.\r
+     *\r
+     * @param globalCustomerId      the global customer id\r
+     * @param serviceSubscriptionId the service subscription id\r
+     * @return ResponseEntity The response entity\r
+     * @throws IOException          Signals that an I/O exception has occurred.\r
+     * @throws InterruptedException the interrupted exception\r
+     */\r
+    @RequestMapping(value = "/aai_get_service_subscription/{global-customer-id}/{service-subscription-id}", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE)\r
+    public ResponseEntity<String> doGetServices(@PathVariable("global-customer-id") String globalCustomerId,\r
+                                                @PathVariable("service-subscription-id") String serviceSubscriptionId) throws IOException, InterruptedException {\r
+        File certiPath = GetCertificatesPath();\r
+        Response resp = doAaiGet(certiPath.getAbsolutePath(), "business/customers/customer/" + globalCustomerId\r
+                + "/service-subscriptions/service-subscription/" + serviceSubscriptionId + "?depth=0", false);\r
         return convertResponseToResponseEntity(resp);\r
-       }\r
-       \r
-       /**\r
-        * Parses the for tenants.\r
-        *\r
-        * @param resp the resp\r
-        * @return the string\r
-        */\r
-       private String parseForTenants(String resp)\r
-       {\r
-               String tenantList = "";\r
-\r
-               try\r
-               {\r
-                       JSONParser jsonParser = new JSONParser();\r
-\r
-                       JSONObject jsonObject = (JSONObject) jsonParser.parse(resp);\r
-\r
-                       return  parseCustomerObjectForTenants(jsonObject);\r
-               }\r
-               catch (Exception ex) {\r
-\r
-               }\r
-\r
-               return tenantList;\r
-       }\r
-\r
-       /**\r
-        * Parses the for tenants by service subscription.\r
-        *\r
-        * @param resp the resp\r
-        * @return the string\r
-        */\r
-       private String parseForTenantsByServiceSubscription(String resp)\r
-       {\r
-               String tenantList = "";\r
-\r
-               try\r
-               {\r
-                       JSONParser jsonParser = new JSONParser();\r
-\r
-                       JSONObject jsonObject = (JSONObject) jsonParser.parse(resp);\r
-\r
-                       return  parseServiceSubscriptionObjectForTenants(jsonObject);\r
-               }\r
-               catch (Exception ex) {\r
-\r
-               }\r
-\r
-               return tenantList;\r
-       }\r
-\r
-\r
-       //      @RequestMapping(value="/aai_get_tenants/{global-customer-id}", method = RequestMethod.GET)\r
-       //      public ResponseEntity<String> viewEditGetComponentList(\r
-       //                      @PathVariable("global-customer-id") String globalCustomerId) {\r
-       //              return new ResponseEntity<String>(getTenants(globalCustomerId), HttpStatus.OK);\r
-       //      }\r
-\r
-       /**\r
-        * Obtain tenants for a given service type.\r
-        *\r
-        * @param globalCustomerId the global customer id\r
-        * @param serviceType the service type\r
-        * @return ResponseEntity The response entity\r
-        */\r
-       @RequestMapping(value="/aai_get_tenants/{global-customer-id}/{service-type}", method = RequestMethod.GET)\r
-       public ResponseEntity<String> viewEditGetTenantsFromServiceType(\r
-                       @PathVariable("global-customer-id") String globalCustomerId, @PathVariable("service-type") String serviceType) {\r
-        return getTenantsFromServiceType(globalCustomerId, serviceType);\r
-       }\r
-\r
-       private ResponseEntity<String> convertResponseToResponseEntity(Response resp) { \r
-               ResponseEntity<String> respEnt;\r
-               if (resp == null) { \r
-                       respEnt = new ResponseEntity<String>("Failed to fetch data from A&AI, check server logs for details.", HttpStatus.INTERNAL_SERVER_ERROR);\r
-               } else { \r
-                       respEnt = new ResponseEntity<String>((String)resp.readEntity(String.class), HttpStatus.valueOf(resp.getStatus()));\r
-               }\r
-               return respEnt;\r
-       }\r
-\r
-       /**\r
-        * Gets the tenants.\r
-        *\r
-        * @param globalCustomerId the global customer id\r
-        * @return the tenants\r
-        */\r
-       private ResponseEntity<String> getTenants(String globalCustomerId)\r
-       {\r
-               File certiPath = GetCertificatesPath();\r
+    }\r
+\r
+    /**\r
+     * Obtain the subscriber list from a&ai.\r
+     *\r
+     * @param fullSet the full set\r
+     * @return ResponseEntity The response entity\r
+     * @throws IOException          Signals that an I/O exception has occurred.\r
+     * @throws InterruptedException the interrupted exception\r
+     */\r
+    @RequestMapping(value = "/aai_get_subscribers", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE)\r
+    public ResponseEntity<String> doGetSubscriberList(HttpServletRequest request, @DefaultValue("n") @QueryParam("fullSet") String fullSet) throws IOException, InterruptedException {\r
+        return getFullSubscriberList(request);\r
+    }\r
+\r
+    /**\r
+     * Obtain the Target Prov Status from the System.Properties file.\r
+     *\r
+     * @return ResponseEntity The response entity\r
+     * @throws IOException          Signals that an I/O exception has occurred.\r
+     * @throws InterruptedException the interrupted exception\r
+     */\r
+    @RequestMapping(value = "/get_system_prop_vnf_prov_status", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE)\r
+    public ResponseEntity<String> getTargetProvStatus() throws IOException, InterruptedException {\r
+        String p = SystemProperties.getProperty("aai.vnf.provstatus");\r
+        return new ResponseEntity<String>(p, HttpStatus.OK);\r
+    }\r
+\r
+    /**\r
+     * Obtain the full subscriber list from a&ai.\r
+     * <p>\r
+     * g @return ResponseEntity The response entity\r
+     *\r
+     * @throws IOException          Signals that an I/O exception has occurred.\r
+     * @throws InterruptedException the interrupted exception\r
+     */\r
+    @RequestMapping(value = "/aai_get_full_subscribers", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE)\r
+    public ResponseEntity<String> getFullSubscriberList(HttpServletRequest request) throws IOException, InterruptedException {\r
+        ObjectMapper objectMapper = new ObjectMapper();\r
+        ResponseEntity<String> responseEntity;\r
+        RoleValidator roleValidator = new RoleValidator(new RoleProvider().getUserRoles(request));\r
+        SubscriberFilteredResults subscriberList = aaiService.getFullSubscriberList(roleValidator);\r
+        if (subscriberList.getHttpCode() == 200) {\r
+            responseEntity = new ResponseEntity<String>(objectMapper.writeValueAsString(subscriberList.getSubscriberList()), HttpStatus.OK);\r
+        } else {\r
+            responseEntity = new ResponseEntity<String>(subscriberList.getErrorMessage(), HttpStatus.valueOf(subscriberList.getHttpCode()));\r
+        }\r
+\r
+\r
+        return responseEntity;\r
+    }\r
+\r
+\r
+    @RequestMapping(value = "/get_vnf_data_by_globalid_and_service_type/{globalCustomerId}/{serviceType}",\r
+            method = RequestMethod.GET,\r
+            produces = MediaType.APPLICATION_JSON_VALUE)\r
+    public ResponseEntity<String> getVnfDataByGlobalIdAndServiceType(HttpServletRequest request,\r
+                                                                     @PathVariable("globalCustomerId") String globalCustomerId,\r
+                                                                     @PathVariable("serviceType") String serviceType) throws IOException {\r
+\r
+        Response resp = aaiService.getVNFData(globalCustomerId, serviceType);\r
+        return convertResponseToResponseEntity(resp);\r
+    }\r
+\r
+\r
+    /**\r
+     * Refresh the subscriber list from a&ai.\r
+     *\r
+     * @return ResponseEntity The response entity\r
+     * @throws IOException Signals that an I/O exception has occurred.\r
+     */\r
+    @RequestMapping(value = "/aai_refresh_subscribers", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE)\r
+    public ResponseEntity<String> doRefreshSubscriberList() throws IOException {\r
+        Response resp = getSubscribers(false);\r
+        return convertResponseToResponseEntity(resp);\r
+    }\r
+\r
+    /**\r
+     * Refresh the full subscriber list from a&ai.\r
+     *\r
+     * @return ResponseEntity The response entity\r
+     * @throws IOException Signals that an I/O exception has occurred.\r
+     */\r
+    @RequestMapping(value = "/aai_refresh_full_subscribers", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE)\r
+    public ResponseEntity<String> doRefreshFullSubscriberList() throws IOException {\r
+        Response resp = getSubscribers(false);\r
+        return convertResponseToResponseEntity(resp);\r
+    }\r
+\r
+    /**\r
+     * Get subscriber details from a&ai.\r
+     *\r
+     * @param subscriberId the subscriber id\r
+     * @return ResponseEntity The response entity\r
+     */\r
+    @RequestMapping(value = "/aai_sub_details/{subscriberId}", method = RequestMethod.GET)\r
+    public ResponseEntity<String> GetSubscriberDetails(HttpServletRequest request, @PathVariable("subscriberId") String subscriberId) throws IOException {\r
+        ObjectMapper objectMapper = new ObjectMapper();\r
+        ResponseEntity responseEntity;\r
+        List<Role> roles = new RoleProvider().getUserRoles(request);\r
+        RoleValidator roleValidator = new RoleValidator(roles);\r
+        AaiResponse<SubscriberData> subscriberData = aaiService.getSubscriberData(subscriberId, roleValidator);\r
+        String httpMessage = subscriberData.getT() != null ?\r
+                objectMapper.writeValueAsString(subscriberData.getT()) :\r
+                subscriberData.getErrorMessage();\r
+\r
+        responseEntity = new ResponseEntity<String>(httpMessage, HttpStatus.valueOf(subscriberData.getHttpCode()));\r
+        return responseEntity;\r
+    }\r
+\r
+    /**\r
+     * Issue a named query to a&ai.\r
+     *\r
+     * @param namedQueryId     the named query id\r
+     * @param globalCustomerId the global customer id\r
+     * @param serviceType      the service type\r
+     * @param serviceInstance  the service instance\r
+     * @return ResponseEntity The response entity\r
+     */\r
+    @RequestMapping(value = "/aai_sub_viewedit/{namedQueryId}/{globalCustomerId}/{serviceType}/{serviceInstance}", method = RequestMethod.GET)\r
+    public ResponseEntity<String> viewEditGetComponentList(\r
+            @PathVariable("namedQueryId") String namedQueryId,\r
+            @PathVariable("globalCustomerId") String globalCustomerId,\r
+            @PathVariable("serviceType") String serviceType,\r
+            @PathVariable("serviceInstance") String serviceInstance) {\r
+\r
+        String componentListPayload = getComponentListPutPayload(namedQueryId, globalCustomerId, serviceType, serviceInstance);\r
+        File certiPath = GetCertificatesPath();\r
+\r
+        Response resp = doAaiPost(certiPath.getAbsolutePath(), "search/named-query", componentListPayload, false);\r
+        return convertResponseToResponseEntity(resp);\r
+    }\r
+\r
+\r
+    @RequestMapping(value = "/aai_get_vnf_data/{globalCustomerId}/{serviceType}/{serviceInstanceId}", method = RequestMethod.GET)\r
+    public AaiResponse<String> getVnfData(\r
+            @PathVariable("globalCustomerId") String globalCustomerId,\r
+            @PathVariable("serviceType") String serviceType,\r
+            @PathVariable("serviceInstanceId") String serviceInstanceId) {\r
+\r
+        return aaiService.getVNFData(globalCustomerId, serviceType, serviceInstanceId);\r
+\r
+    }\r
+\r
+\r
+    // @RequestMapping(value="/aai_get_tenants/{global-customer-id}", method = RequestMethod.GET)\r
+    // public ResponseEntity<String> viewEditGetComponentList(\r
+    //                 @PathVariable("global-customer-id") String globalCustomerId) {\r
+    //         return new ResponseEntity<String>(getTenants(globalCustomerId), HttpStatus.OK);\r
+    // }\r
+\r
+    /**\r
+     * Issue a named query to a&ai.\r
+     *\r
+     * @param namedQueryId     the named query id\r
+     * @param globalCustomerId the global customer id\r
+     * @param serviceType      the service type\r
+     * @return ResponseEntity The response entity\r
+     */\r
+    @RequestMapping(value = "/aai_get_models_by_service_type/{namedQueryId}/{globalCustomerId}/{serviceType}", method = RequestMethod.GET)\r
+    public ResponseEntity<String> viewEditGetComponentList(\r
+            @PathVariable("namedQueryId") String namedQueryId,\r
+            @PathVariable("globalCustomerId") String globalCustomerId,\r
+            @PathVariable("serviceType") String serviceType) {\r
+\r
+        String componentListPayload = getModelsByServiceTypePayload(namedQueryId, globalCustomerId, serviceType);\r
+        File certiPath = GetCertificatesPath();\r
+\r
+        Response resp = doAaiPost(certiPath.getAbsolutePath(), "search/named-query", componentListPayload, false);\r
+        return convertResponseToResponseEntity(resp);\r
+    }\r
+\r
+    /**\r
+     * Parses the for tenants.\r
+     *\r
+     * @param resp the resp\r
+     * @return the string\r
+     */\r
+    private String parseForTenants(String resp) {\r
+        String tenantList = "";\r
+\r
+        try {\r
+            JSONParser jsonParser = new JSONParser();\r
+\r
+            JSONObject jsonObject = (JSONObject) jsonParser.parse(resp);\r
+\r
+            return parseCustomerObjectForTenants(jsonObject);\r
+        } catch (Exception ex) {\r
+\r
+        }\r
+\r
+        return tenantList;\r
+    }\r
+\r
+    /**\r
+     * Parses the for tenants by service subscription.\r
+     *\r
+     * @param resp the resp\r
+     * @return the string\r
+     */\r
+    private String parseForTenantsByServiceSubscription(String resp) {\r
+        String tenantList = "";\r
+\r
+        try {\r
+            JSONParser jsonParser = new JSONParser();\r
+\r
+            JSONObject jsonObject = (JSONObject) jsonParser.parse(resp);\r
+\r
+            return parseServiceSubscriptionObjectForTenants(jsonObject);\r
+        } catch (Exception ex) {\r
+\r
+        }\r
+\r
+        return tenantList;\r
+    }\r
+\r
+    /**\r
+     * Obtain tenants for a given service type.\r
+     *\r
+     * @param globalCustomerId the global customer id\r
+     * @param serviceType      the service type\r
+     * @return ResponseEntity The response entity\r
+     */\r
+    @RequestMapping(value = "/aai_get_tenants/{global-customer-id}/{service-type}", method = RequestMethod.GET)\r
+    public ResponseEntity<String> viewEditGetTenantsFromServiceType(HttpServletRequest request,\r
+                                                                    @PathVariable("global-customer-id") String globalCustomerId, @PathVariable("service-type") String serviceType) {\r
+\r
+        ResponseEntity responseEntity;\r
+        try {\r
+            ObjectMapper objectMapper = new ObjectMapper();\r
+            List<Role> roles = new RoleProvider().getUserRoles(request);\r
+            RoleValidator roleValidator = new RoleValidator(roles);\r
+            AaiResponse<GetTenantsResponse[]> response = aaiService.getTenants(globalCustomerId, serviceType, roleValidator);\r
+            if (response.getHttpCode() == 200) {\r
+                responseEntity = new ResponseEntity<String>(objectMapper.writeValueAsString(response.getT()), HttpStatus.OK);\r
+            } else {\r
+                responseEntity = new ResponseEntity<String>(response.getErrorMessage(), HttpStatus.valueOf(response.getHttpCode()));\r
+            }\r
+        } catch (Exception e) {\r
+            responseEntity = new ResponseEntity<String>("Unable to proccess getTenants reponse", HttpStatus.INTERNAL_SERVER_ERROR);\r
+        }\r
+        return responseEntity;\r
+    }\r
+\r
+\r
+    private ResponseEntity<String> convertResponseToResponseEntity(Response resp) {\r
+        ResponseEntity<String> respEnt;\r
+        ObjectMapper objectMapper = new ObjectMapper();\r
+        if (resp == null) {\r
+            respEnt = new ResponseEntity<String>("Failed to fetch data from A&AI, check server logs for details.", HttpStatus.INTERNAL_SERVER_ERROR);\r
+        } else {\r
+            respEnt = new ResponseEntity<String>(resp.readEntity(String.class), HttpStatus.valueOf(resp.getStatus()));\r
+        }\r
+        return respEnt;\r
+    }\r
+\r
+    /**\r
+     * Gets the tenants.\r
+     *\r
+     * @param globalCustomerId the global customer id\r
+     * @return the tenants\r
+     */\r
+    private ResponseEntity<String> getTenants(String globalCustomerId) {\r
+        File certiPath = GetCertificatesPath();\r
         Response resp = doAaiGet(certiPath.getAbsolutePath(), "business/customers/customer/" + globalCustomerId, false);\r
-        \r
+\r
         ResponseEntity<String> respEnt;\r
-        if (resp.getStatus() >= 200 && resp.getStatus() <= 299) { \r
-            respEnt = new ResponseEntity<String>(parseForTenants((String)resp.readEntity(String.class)), HttpStatus.OK);\r
+        if (resp.getStatus() >= 200 && resp.getStatus() <= 299) {\r
+            respEnt = new ResponseEntity<String>(parseForTenants((String) resp.readEntity(String.class)), HttpStatus.OK);\r
         } else {\r
-            respEnt = new ResponseEntity<String>((String)resp.readEntity(String.class), HttpStatus.valueOf(resp.getStatus()));\r
+            respEnt = new ResponseEntity<String>((String) resp.readEntity(String.class), HttpStatus.valueOf(resp.getStatus()));\r
         }\r
         return respEnt;\r
 \r
-       }\r
-\r
-       /**\r
-        * Gets the tenants from service type.\r
-        *\r
-        * @param globalCustomerId the global customer id\r
-        * @param serviceType the service type\r
-        * @return the tenants from service type\r
-        */\r
-       private ResponseEntity<String> getTenantsFromServiceType(String globalCustomerId, String serviceType)\r
-       {\r
-               File certiPath = GetCertificatesPath();\r
+    }\r
+\r
+    /**\r
+     * Gets the tenants from service type.\r
+     *\r
+     * @param globalCustomerId the global customer id\r
+     * @param serviceType      the service type\r
+     * @return the tenants from service type\r
+     */\r
+    private ResponseEntity<String> getTenantsFromServiceType(String globalCustomerId, String serviceType) {\r
+\r
+\r
+        File certiPath = GetCertificatesPath();\r
         String url = "business/customers/customer/" + globalCustomerId + "/service-subscriptions/service-subscription/" + serviceType;\r
 \r
         Response resp = doAaiGet(certiPath.getAbsolutePath(), url, false);\r
-        \r
+\r
         ResponseEntity<String> respEnt;\r
-        if (resp.getStatus() >= 200 && resp.getStatus() <= 299) { \r
-            respEnt = new ResponseEntity<String>(parseForTenantsByServiceSubscription((String)resp.readEntity(String.class)), HttpStatus.OK);\r
+        if (resp.getStatus() >= 200 && resp.getStatus() <= 299) {\r
+            respEnt = new ResponseEntity<String>(parseForTenantsByServiceSubscription((String) resp.readEntity(String.class)), HttpStatus.OK);\r
         } else {\r
-            respEnt = new ResponseEntity<String>((String)resp.readEntity(String.class), HttpStatus.valueOf(resp.getStatus()));\r
+            respEnt = new ResponseEntity<String>((String) resp.readEntity(String.class), HttpStatus.valueOf(resp.getStatus()));\r
         }\r
         return respEnt;\r
 \r
-       }\r
-\r
-       /**\r
-        * Gets the services.\r
-        *\r
-        * @return the services\r
-        */\r
-       private Response getServices()\r
-       {\r
-               File certiPath = GetCertificatesPath();\r
-        Response resp  = doAaiGet(certiPath.getAbsolutePath(), "service-design-and-creation/services", false);\r
+    }\r
+\r
+    /**\r
+     * Gets the services.\r
+     *\r
+     * @return the services\r
+     */\r
+    private Response getServices() {\r
+        File certiPath = GetCertificatesPath();\r
+        Response resp = doAaiGet(certiPath.getAbsolutePath(), "service-design-and-creation/services", false);\r
         logger.debug(EELFLoggerDelegate.debugLogger, dateFormat.format(new Date()) + "<== " + "getServices() resp=" + resp.getStatusInfo());\r
 \r
-               //model.put("aai_get_services", resp);\r
-               return resp;\r
-       }\r
+        //model.put("aai_get_services", resp);\r
+        return resp;\r
+    }\r
 \r
+    /**\r
+     * Gets the subscribers.\r
+     *\r
+     * @param isFullSet the is full set\r
+     * @return the subscribers\r
+     */\r
+    private Response getSubscribers(boolean isFullSet) {\r
 \r
-       /**\r
-        * Gets the subscribers.\r
-        *\r
-        * @param isFullSet the is full set\r
-        * @return the subscribers\r
-        */\r
-       private Response getSubscribers(boolean isFullSet)\r
-       {\r
-               File certiPath = GetCertificatesPath();\r
-               String depth = "0";\r
+        File certiPath = GetCertificatesPath();\r
+        String depth = "0";\r
 \r
         Response resp = doAaiGet(certiPath.getAbsolutePath(), "business/customers?subscriber-type=INFRA&depth=" + depth, false);\r
-        if (resp != null) { \r
-               logger.debug(EELFLoggerDelegate.debugLogger, dateFormat.format(new Date()) + "<== " + "getSubscribers() resp=" + resp.getStatusInfo().toString());\r
+        if (resp != null) {\r
+            logger.debug(EELFLoggerDelegate.debugLogger, dateFormat.format(new Date()) + "<== " + "getSubscribers() resp=" + resp.getStatusInfo().toString());\r
         }\r
-               return resp;\r
-       }\r
-\r
-       \r
-       \r
-       /**\r
-        * Gets the subscriber details.\r
-        *\r
-        * @param subscriberId the subscriber id\r
-        * @return the subscriber details\r
-        */\r
-       private Response getSubscriberDetails(String subscriberId)\r
-       {\r
-               File certiPath = GetCertificatesPath();\r
-               Response resp = doAaiGet(certiPath.getAbsolutePath(), "business/customers/customer/" + subscriberId + "?depth=2", false);\r
-               //String resp = doAaiGet(certiPath.getAbsolutePath(), "business/customers/customer/" + subscriberId, false);\r
-               logger.debug(EELFLoggerDelegate.debugLogger, dateFormat.format(new Date()) + "<== " + "getSubscriberDetails() resp=" + resp.getStatusInfo().toString());\r
-               return resp;\r
-       }\r
-\r
-       /**\r
-        * Gets the certificates path.\r
-        *\r
-        * @return the file\r
-        */\r
-       private File GetCertificatesPath()\r
-       {\r
-               if (servletContext != null)\r
-                       return new File( servletContext.getRealPath("/WEB-INF/cert/") );\r
-               return null;\r
-       }\r
-\r
-       /**\r
-        * Send a GET request to a&ai.\r
-        *\r
-        * @param certiPath the certi path\r
-        * @param uri the uri\r
-        * @param xml the xml\r
-        * @return String The response\r
-        */\r
-       protected Response doAaiGet(String certiPath, String uri, boolean xml) {\r
-               String methodName = "getSubscriberList";                \r
-               String transId = UUID.randomUUID().toString();\r
-               logger.debug(EELFLoggerDelegate.debugLogger, dateFormat.format(new Date()) + "<== " + methodName + " start");\r
-\r
-               Response resp = null;\r
-               try {\r
-\r
-                       AAIRestInterface restContrller = new AAIRestInterface(certiPath);\r
-                       resp = restContrller.RestGet(fromAppId, transId, uri, xml);\r
-\r
-               } catch (WebApplicationException e) {\r
-                       final String message = ((BadRequestException) e).getResponse().readEntity(String.class);\r
-                       logger.info(EELFLoggerDelegate.errorLogger, dateFormat.format(new Date()) +  "<== " + "." + methodName + message);\r
-                       logger.debug(EELFLoggerDelegate.debugLogger, dateFormat.format(new Date()) +  "<== " + "." + methodName + message);\r
-               } catch (Exception e) {\r
-                       logger.info(EELFLoggerDelegate.errorLogger, dateFormat.format(new Date()) +  "<== " + "." + methodName + e.toString());\r
-                       logger.debug(EELFLoggerDelegate.debugLogger, dateFormat.format(new Date()) +  "<== " + "." + methodName + e.toString());\r
-               }\r
-\r
-               return resp;\r
-       }\r
-\r
-       /**\r
-        * Send a POST request to a&ai.\r
-        *\r
-        * @param certiPath the certi path\r
-        * @param uri the uri\r
-        * @param payload the payload\r
-        * @param xml the xml\r
-        * @return String The response\r
-        */\r
-       protected Response doAaiPost(String certiPath, String uri, String payload, boolean xml) {\r
-               String methodName = "getSubscriberList";                \r
-               String transId = UUID.randomUUID().toString();\r
-               logger.debug(EELFLoggerDelegate.debugLogger, dateFormat.format(new Date()) + "<== " + methodName + " start");\r
-\r
-               Response resp = null;\r
-               try {\r
-\r
-                       AAIRestInterface restContrller = new AAIRestInterface(certiPath);\r
-                       resp = restContrller.RestPost(fromAppId, transId, uri, payload, xml);\r
-\r
-               } catch (Exception e) {\r
-                       logger.info(EELFLoggerDelegate.errorLogger, dateFormat.format(new Date()) +  "<== " + "." + methodName + e.toString());\r
-                       logger.debug(EELFLoggerDelegate.debugLogger, dateFormat.format(new Date()) +  "<== " + "." + methodName + e.toString());\r
-               }\r
-\r
-               return resp;\r
-       }\r
-\r
-       /**\r
-        * Gets the component list put payload.\r
-        *\r
-        * @param namedQueryId the named query id\r
-        * @param globalCustomerId the global customer id\r
-        * @param serviceType the service type\r
-        * @param serviceInstance the service instance\r
-        * @return the component list put payload\r
-        */\r
-       private String getComponentListPutPayload(String namedQueryId, String globalCustomerId, String serviceType, String serviceInstance) {\r
-               return \r
-                               "               {" +\r
-                               "    \"instance-filters\": {" +\r
-                               "        \"instance-filter\": [" +\r
-                               "            {" +\r
-                               "                \"customer\": {" +\r
-                               "                    \"global-customer-id\": \"" + globalCustomerId + "\"" +\r
-                               "                }," +\r
-                               "                \"service-instance\": {" +\r
-                               "                    \"service-instance-id\": \"" + serviceInstance + "\"" +\r
-                               "                }," +\r
-                               "                \"service-subscription\": {" +\r
-                               "                    \"service-type\": \"" + serviceType + "\"" +\r
-                               "                }" +\r
-                               "            }" +\r
-                               "        ]" +\r
-                               "    }," +\r
-                               "    \"query-parameters\": {" +\r
-                               "        \"named-query\": {" +\r
-                               "            \"named-query-uuid\": \"" + namedQueryId + "\"" +\r
-                               "        }" +\r
-                               "    }" +\r
-                               "}";\r
-\r
-       }\r
-       private String getModelsByServiceTypePayload(String namedQueryId, String globalCustomerId, String serviceType) {\r
-               // TODO Auto-generated method stub\r
-               return                  "               {" +\r
-               "    \"instance-filters\": {" +\r
-               "        \"instance-filter\": [" +\r
-               "            {" +\r
-               "                \"customer\": {" +\r
-               "                    \"global-customer-id\": \"" + globalCustomerId + "\"" +\r
-               "                }," +\r
-               "                \"service-subscription\": {" +\r
-               "                    \"service-type\": \"" + serviceType + "\"" +\r
-               "                }" +\r
-               "            }" +\r
-               "        ]" +\r
-               "    }," +\r
-               "    \"query-parameters\": {" +\r
-               "        \"named-query\": {" +\r
-               "            \"named-query-uuid\": \"" + namedQueryId + "\"" +\r
-               "        }" +\r
-               "    }" +\r
-               "}";\r
-       \r
-       }\r
-\r
-       /**\r
-        * Return tenant details.\r
-        *\r
-        * @param jsonObject the json object\r
-        * @return String The parsing results\r
-        */\r
-       public static String parseCustomerObjectForTenants(JSONObject jsonObject) {\r
-\r
-               JSONArray tenantArray = new JSONArray();\r
-               boolean bconvert = false;\r
-\r
-               try {\r
-\r
-                       JSONObject serviceSubsObj = (JSONObject) jsonObject.get("service-subscriptions");\r
-\r
-                       if (serviceSubsObj != null)\r
-                       {\r
-                               JSONArray srvcSubArray = (JSONArray) serviceSubsObj.get("service-subscription");\r
-\r
-                               if (srvcSubArray != null)\r
-                               {\r
-                                       Iterator i = srvcSubArray.iterator();\r
-\r
-                                       while (i.hasNext()) {\r
-\r
-                                               JSONObject innerObj = (JSONObject) i.next();\r
-\r
-                                               if (innerObj == null)\r
-                                                       continue;\r
-\r
-                                               JSONObject relationShipListsObj = (JSONObject) innerObj.get("relationship-list");\r
-                                               if (relationShipListsObj != null)\r
-                                               {\r
-                                                       JSONArray rShipArray = (JSONArray) relationShipListsObj.get("relationship");\r
-                                                       if (rShipArray != null)\r
-                                                       {\r
-                                                               Iterator i1 = rShipArray.iterator();\r
-\r
-                                                               while (i1.hasNext()) {\r
-\r
-                                                                       JSONObject inner1Obj = (JSONObject) i1.next();\r
-\r
-                                                                       if (inner1Obj == null)\r
-                                                                               continue;\r
-\r
-                                                                       String relatedTo = checkForNull((String)inner1Obj.get("related-to"));\r
-                                                                       if (relatedTo.equalsIgnoreCase("tenant"))\r
-                                                                       {\r
-                                                                               JSONObject tenantNewObj = new JSONObject();\r
-\r
-                                                                               String relatedLink = checkForNull((String) inner1Obj.get("related-link"));\r
-                                                                               tenantNewObj.put("link", relatedLink);\r
-\r
-                                                                               JSONArray rDataArray = (JSONArray) inner1Obj.get("relationship-data");\r
-                                                                               if (rDataArray != null)\r
-                                                                               {\r
-                                                                                       Iterator i2 = rDataArray.iterator();\r
-\r
-                                                                                       while (i2.hasNext()) {\r
-                                                                                               JSONObject inner2Obj = (JSONObject) i2.next();\r
-\r
-                                                                                               if (inner2Obj == null)\r
-                                                                                                       continue;\r
-\r
-                                                                                               String rShipKey = checkForNull((String)inner2Obj.get("relationship-key"));\r
-                                                                                               String rShipVal = checkForNull((String)inner2Obj.get("relationship-value"));\r
-                                                                                               if (rShipKey.equalsIgnoreCase("cloud-region.cloud-owner"))\r
-                                                                                               {\r
-                                                                                                       tenantNewObj.put("cloudOwner", rShipVal);\r
-                                                                                               }\r
-                                                                                               else if (rShipKey.equalsIgnoreCase("cloud-region.cloud-region-id"))\r
-                                                                                               {\r
-                                                                                                       tenantNewObj.put("cloudRegionID", rShipVal);\r
-                                                                                               }\r
-\r
-                                                                                               if (rShipKey.equalsIgnoreCase("tenant.tenant-id"))\r
-                                                                                               {\r
-                                                                                                       tenantNewObj.put("tenantID", rShipVal);\r
-                                                                                               }\r
-                                                                                       }\r
-                                                                               }\r
-\r
-                                                                               JSONArray relatedTPropArray = (JSONArray) inner1Obj.get("related-to-property");\r
-                                                                               if (relatedTPropArray != null)\r
-                                                                               {\r
-                                                                                       Iterator i3 = relatedTPropArray.iterator();\r
-\r
-                                                                                       while (i3.hasNext()) {\r
-                                                                                               JSONObject inner3Obj = (JSONObject) i3.next();\r
-\r
-                                                                                               if (inner3Obj == null)\r
-                                                                                                       continue;\r
-\r
-                                                                                               String propKey = checkForNull((String)inner3Obj.get("property-key"));\r
-                                                                                               String propVal = checkForNull((String)inner3Obj.get("property-value"));\r
-                                                                                               if (propKey.equalsIgnoreCase("tenant.tenant-name"))\r
-                                                                                               {\r
-                                                                                                       tenantNewObj.put("tenantName", propVal);\r
-                                                                                               }\r
-                                                                                       }\r
-                                                                               }\r
-                                                                               bconvert = true;\r
-                                                                               tenantArray.add(tenantNewObj);\r
-                                                                       }\r
-                                                               }\r
-                                                       }\r
-                                               }\r
-                                       }\r
-                               }\r
-                       }\r
-               } catch (NullPointerException ex) {\r
-\r
-\r
-               }\r
-\r
-               if (bconvert)\r
-                       return tenantArray.toJSONString();\r
-               else\r
-                       return "";\r
-\r
-       }\r
-\r
-\r
-       /**\r
-        * Retrieve the service subscription from the jsonObject.\r
-        *\r
-        * @param jsonObject the json object\r
-        * @return String\r
-        */\r
-       public static String parseServiceSubscriptionObjectForTenants(JSONObject jsonObject) {\r
-\r
-               JSONArray tenantArray = new JSONArray();\r
-               boolean bconvert = false;\r
-\r
-               try {\r
-                       JSONObject relationShipListsObj = (JSONObject) jsonObject.get("relationship-list");\r
-                       if (relationShipListsObj != null)\r
-                       {\r
-                               JSONArray rShipArray = (JSONArray) relationShipListsObj.get("relationship");\r
-                               if (rShipArray != null)\r
-                               {\r
-                                       Iterator i1 = rShipArray.iterator();\r
-\r
-                                       while (i1.hasNext()) {\r
-\r
-                                               JSONObject inner1Obj = (JSONObject) i1.next();\r
-\r
-                                               if (inner1Obj == null)\r
-                                                       continue;\r
-\r
-                                               String relatedTo = checkForNull((String)inner1Obj.get("related-to"));\r
-                                               if (relatedTo.equalsIgnoreCase("tenant"))\r
-                                               {\r
-                                                       JSONObject tenantNewObj = new JSONObject();\r
-\r
-                                                       String relatedLink = checkForNull((String) inner1Obj.get("related-link"));\r
-                                                       tenantNewObj.put("link", relatedLink);\r
-\r
-                                                       JSONArray rDataArray = (JSONArray) inner1Obj.get("relationship-data");\r
-                                                       if (rDataArray != null)\r
-                                                       {\r
-                                                               Iterator i2 = rDataArray.iterator();\r
-\r
-                                                               while (i2.hasNext()) {\r
-                                                                       JSONObject inner2Obj = (JSONObject) i2.next();\r
-\r
-                                                                       if (inner2Obj == null)\r
-                                                                               continue;\r
-\r
-                                                                       String rShipKey = checkForNull((String)inner2Obj.get("relationship-key"));\r
-                                                                       String rShipVal = checkForNull((String)inner2Obj.get("relationship-value"));\r
-                                                                       if (rShipKey.equalsIgnoreCase("cloud-region.cloud-owner"))\r
-                                                                       {\r
-                                                                               tenantNewObj.put("cloudOwner", rShipVal);\r
-                                                                       }\r
-                                                                       else if (rShipKey.equalsIgnoreCase("cloud-region.cloud-region-id"))\r
-                                                                       {\r
-                                                                               tenantNewObj.put("cloudRegionID", rShipVal);\r
-                                                                       }\r
-\r
-                                                                       if (rShipKey.equalsIgnoreCase("tenant.tenant-id"))\r
-                                                                       {\r
-                                                                               tenantNewObj.put("tenantID", rShipVal);\r
-                                                                       }\r
-                                                               }\r
-                                                       }\r
-\r
-                                                       JSONArray relatedTPropArray = (JSONArray) inner1Obj.get("related-to-property");\r
-                                                       if (relatedTPropArray != null)\r
-                                                       {\r
-                                                               Iterator i3 = relatedTPropArray.iterator();\r
-\r
-                                                               while (i3.hasNext()) {\r
-                                                                       JSONObject inner3Obj = (JSONObject) i3.next();\r
-\r
-                                                                       if (inner3Obj == null)\r
-                                                                               continue;\r
-\r
-                                                                       String propKey = checkForNull((String)inner3Obj.get("property-key"));\r
-                                                                       String propVal = checkForNull((String)inner3Obj.get("property-value"));\r
-                                                                       if (propKey.equalsIgnoreCase("tenant.tenant-name"))\r
-                                                                       {\r
-                                                                               tenantNewObj.put("tenantName", propVal);\r
-                                                                       }\r
-                                                               }\r
-                                                       }\r
-                                                       bconvert = true;\r
-                                                       tenantArray.add(tenantNewObj);\r
-                                               }\r
-                                       }\r
-\r
-                               }\r
-                       }\r
-               } catch (NullPointerException ex) {\r
-\r
-\r
-               }\r
-\r
-               if (bconvert)\r
-                       return tenantArray.toJSONString();\r
-               else\r
-                       return "";\r
-\r
-       }\r
-\r
-       /**\r
-        * Check for null.\r
-        *\r
-        * @param local the local\r
-        * @return the string\r
-        */\r
-       private static String checkForNull(String local)\r
-       {\r
-               if (local != null)\r
-                       return local;\r
-               else\r
-                       return "";\r
-\r
-       }\r
+        return resp;\r
+    }\r
+\r
+    /**\r
+     * Gets the subscriber details.\r
+     *\r
+     * @param subscriberId the subscriber id\r
+     * @return the subscriber details\r
+     */\r
+    private Response getSubscriberDetails(String subscriberId) {\r
+        File certiPath = GetCertificatesPath();\r
+        Response resp = doAaiGet(certiPath.getAbsolutePath(), "business/customers/customer/" + subscriberId + "?depth=2", false);\r
+        //String resp = doAaiGet(certiPath.getAbsolutePath(), "business/customers/customer/" + subscriberId, false);\r
+        logger.debug(EELFLoggerDelegate.debugLogger, dateFormat.format(new Date()) + "<== " + "getSubscriberDetails() resp=" + resp.getStatusInfo().toString());\r
+        return resp;\r
+    }\r
+\r
+    /**\r
+     * Gets the certificates path.\r
+     *\r
+     * @return the file\r
+     */\r
+    private File GetCertificatesPath() {\r
+        if (servletContext != null)\r
+            return new File(servletContext.getRealPath("/WEB-INF/cert/"));\r
+        return null;\r
+    }\r
+\r
+    /**\r
+     * Send a GET request to a&ai.\r
+     *\r
+     * @param certiPath the certi path\r
+     * @param uri       the uri\r
+     * @param xml       the xml\r
+     * @return String The response\r
+     */\r
+    protected Response doAaiGet(String certiPath, String uri, boolean xml) {\r
+        String methodName = "getSubscriberList";\r
+        String transId = UUID.randomUUID().toString();\r
+        logger.debug(EELFLoggerDelegate.debugLogger, dateFormat.format(new Date()) + "<== " + methodName + " start");\r
+\r
+        Response resp = null;\r
+        try {\r
+\r
+            AAIRestInterface restContrller = new AAIRestInterface(certiPath);\r
+            resp = restContrller.RestGet(fromAppId, transId, uri, xml);\r
+\r
+        } catch (WebApplicationException e) {\r
+            final String message = ((BadRequestException) e).getResponse().readEntity(String.class);\r
+            logger.info(EELFLoggerDelegate.errorLogger, dateFormat.format(new Date()) + "<== " + "." + methodName + message);\r
+            logger.debug(EELFLoggerDelegate.debugLogger, dateFormat.format(new Date()) + "<== " + "." + methodName + message);\r
+        } catch (Exception e) {\r
+            logger.info(EELFLoggerDelegate.errorLogger, dateFormat.format(new Date()) + "<== " + "." + methodName + e.toString());\r
+            logger.debug(EELFLoggerDelegate.debugLogger, dateFormat.format(new Date()) + "<== " + "." + methodName + e.toString());\r
+        }\r
+\r
+        return resp;\r
+    }\r
+\r
+    /**\r
+     * Send a POST request to a&ai.\r
+     *\r
+     * @param certiPath the certi path\r
+     * @param uri       the uri\r
+     * @param payload   the payload\r
+     * @param xml       the xml\r
+     * @return String The response\r
+     */\r
+    protected Response doAaiPost(String certiPath, String uri, String payload, boolean xml) {\r
+        String methodName = "getSubscriberList";\r
+        String transId = UUID.randomUUID().toString();\r
+        logger.debug(EELFLoggerDelegate.debugLogger, dateFormat.format(new Date()) + "<== " + methodName + " start");\r
+\r
+        Response resp = null;\r
+        try {\r
+\r
+            AAIRestInterface restContrller = new AAIRestInterface(certiPath);\r
+            resp = restContrller.RestPost(fromAppId, transId, uri, payload, xml);\r
+\r
+        } catch (Exception e) {\r
+            logger.info(EELFLoggerDelegate.errorLogger, dateFormat.format(new Date()) + "<== " + "." + methodName + e.toString());\r
+            logger.debug(EELFLoggerDelegate.debugLogger, dateFormat.format(new Date()) + "<== " + "." + methodName + e.toString());\r
+        }\r
+\r
+        return resp;\r
+    }\r
+\r
+    /**\r
+     * Gets the component list put payload.\r
+     *\r
+     * @param namedQueryId     the named query id\r
+     * @param globalCustomerId the global customer id\r
+     * @param serviceType      the service type\r
+     * @param serviceInstance  the service instance\r
+     * @return the component list put payload\r
+     */\r
+    private String getComponentListPutPayload(String namedQueryId, String globalCustomerId, String serviceType, String serviceInstance) {\r
+        return\r
+                "              {" +\r
+                        "    \"instance-filters\": {" +\r
+                        "        \"instance-filter\": [" +\r
+                        "            {" +\r
+                        "                \"customer\": {" +\r
+                        "                    \"global-customer-id\": \"" + globalCustomerId + "\"" +\r
+                        "                }," +\r
+                        "                \"service-instance\": {" +\r
+                        "                    \"service-instance-id\": \"" + serviceInstance + "\"" +\r
+                        "                }," +\r
+                        "                \"service-subscription\": {" +\r
+                        "                    \"service-type\": \"" + serviceType + "\"" +\r
+                        "                }" +\r
+                        "            }" +\r
+                        "        ]" +\r
+                        "    }," +\r
+                        "    \"query-parameters\": {" +\r
+                        "        \"named-query\": {" +\r
+                        "            \"named-query-uuid\": \"" + namedQueryId + "\"" +\r
+                        "        }" +\r
+                        "    }" +\r
+                        "}";\r
+\r
+    }\r
+\r
+    private String getModelsByServiceTypePayload(String namedQueryId, String globalCustomerId, String serviceType) {\r
+        // TODO Auto-generated method stub\r
+        return "               {" +\r
+                "    \"instance-filters\": {" +\r
+                "        \"instance-filter\": [" +\r
+                "            {" +\r
+                "                \"customer\": {" +\r
+                "                    \"global-customer-id\": \"" + globalCustomerId + "\"" +\r
+                "                }," +\r
+                "                \"service-subscription\": {" +\r
+                "                    \"service-type\": \"" + serviceType + "\"" +\r
+                "                }" +\r
+                "            }" +\r
+                "        ]" +\r
+                "    }," +\r
+                "    \"query-parameters\": {" +\r
+                "        \"named-query\": {" +\r
+                "            \"named-query-uuid\": \"" + namedQueryId + "\"" +\r
+                "        }" +\r
+                "    }" +\r
+                "}";\r
+\r
+    }\r
 }\r
 \r