--- /dev/null
+personalization.topLeftHeader=A&AI
+personalization.htmlDocumentTitle=A&AI
\ No newline at end of file
 
 resources.client-cert-password=1y0q1uvc1uum1uvg1pil1pjl1uuq1uvk1uuu1y10
 resources.trust-store=tomcat_keystore
 resources.maxSelfLinkTraversalDepth=2
+resources.domain=aai
+resources.delimitedShallowEntities=cloud-region,complex,vnf-image,image,flavor,availability-zone,tenant,network-profile,l-interface
\ No newline at end of file
 
                 <constructor-arg ref="oxmModelLoader" />
                 <constructor-arg ref="oxmEntityLookup" />
                 <constructor-arg ref="activeInventoryAdapter" />
+                <constructor-arg name="domain" value="${resources.domain:aai}" />
         </bean>
 
         <bean id="attributeEditProcessor"
 
                <property name="relationshipsBasePath"
                        value="/services/inventory/relationships/${gizmo.apiVersion:v12}" />
                <property name="inventoryBasePath" value="/services/inventory/${gizmo.apiVersion:v12}" />
+               <property name="appPartnerName" value="${gizmo.appPartnerName:AAI-UI}" />
        </bean>
 
 </beans>
\ No newline at end of file
 
        <bean id="searchServiceAdapter" class="org.onap.aai.sparky.search.SearchServiceAdapter">
                <constructor-arg ref="searchServiceRestEndpointConfig" />
                <constructor-arg name="serviceApiVersion" value="v1" />
+               <property name="appPartnerName" value="${searchservice.appPartnerName:AAI-UI}" />
        </bean>
 </beans>
\ No newline at end of file
 
--- /dev/null
+<beans xmlns="http://www.springframework.org/schema/beans"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xsi:schemaLocation="
+              http://www.springframework.org/schema/beans
+              http://www.springframework.org/schema/beans/spring-beans.xsd">
+
+
+       <bean id="personalizationConfig"
+               class="org.onap.aai.sparky.personalization.config.PersonalizationConfig">
+               <property name="topLeftHeader" value="${personalization.topLeftHeader:A&AI}" />
+               <property name="htmlDocumentTitle" value="${personalization.htmlDocumentTitle:A&AI}" />
+       </bean>
+
+       <bean id="personalizationServiceProcessor"
+               class="org.onap.aai.sparky.personalization.PersonalizationServiceProvider">
+               <constructor-arg ref="personalizationConfig" />
+       </bean>
+
+</beans>
\ No newline at end of file
 
                <constructor-arg ref="oxmModelLoader" />
                <constructor-arg ref="oxmEntityLookup" />
                <constructor-arg ref="aaiRestEndpointConfig" />
+               <constructor-arg name="domain" value="${resources.domain:aai}" />
+               <property name="appPartnerName" value="${resources.appPartnerName:AAI-UI}" />
+               <property name="syncPartnerName" value="${resources.syncPartnerName:AAI-UI-SYNC}" />
        </bean>
 
 </beans>
 
        <bean id="searchServiceAdapter" class="org.onap.aai.sparky.search.SearchServiceAdapter">
                <constructor-arg ref="searchServiceRestEndpointConfig" />
                <constructor-arg name="serviceApiVersion" value="v1" />
+               <property name="appPartnerName" value="${searchservice.appPartnerName:AAI-UI}" />
        </bean>
 </beans>
\ No newline at end of file
 
                <property name="numOfThreadsToFetchNodeIntegrity" value="20" />
                <property name="makeAllNeighborsBidirectional" value="false" />
                <property name="resourceLoader" ref="sparkyResourceLoader" />
-
-               <property name="shallowEntities">
-                       <list value-type="java.lang.String">
-                               <value>cloud-region</value>
-                               <value>complex</value>
-                               <value>vnf-image</value>
-                               <value>image</value>
-                               <value>flavor</value>
-                               <value>availability-zone</value>
-                               <value>tenant</value>
-                               <value>network-profile</value>
-                               <value>l-interface</value>
-                       </list>
-               </property>
+               <property name="delimitedShallowEntities" value="${resources.delimitedShallowEntities:cloud-region,complex,vnf-image,image,flavor,availability-zone,tenant,network-profile,l-interface}" />
 
        </bean>
 
 
--- /dev/null
+/**
+ * ============LICENSE_START=======================================================
+ * SPARKY (AAI UI service)
+ * ================================================================================
+ * Copyright Â© 2017-2018 AT&T Intellectual Property. All rights reserved.
+ * Copyright Â© 2017-2018 Amdocs
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *       http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+package org.onap.aai.sparky.camel;
+
+import org.apache.camel.spring.SpringRouteBuilder;
+import org.springframework.stereotype.Component;
+
+@Component
+public class PersonalizationRouter extends SpringRouteBuilder {
+
+  @Override
+  public void configure() throws Exception {
+
+    rest().get("getPersonalizedValues")
+        .to("bean:personalizationServiceProcessor?method=getPersonalizedValues");
+
+  }
+
+}
\ No newline at end of file
 
 
         aaiWorkOnHand.incrementAndGet();
 
-        supplyAsync(new PerformActiveInventoryRetrieval(txn, aaiAdapter), aaiExecutor)
+        supplyAsync(new PerformActiveInventoryRetrieval(txn, aaiAdapter,"sync"), aaiExecutor)
             .whenComplete((result, error) -> {
 
               aaiWorkOnHand.decrementAndGet();
 
         suggestionEntityLookup.getSuggestionSearchEntityDescriptors();
 
     if (descriptorMap.isEmpty()) {
+      this.allWorkEnumerated = true;
       LOG.error(AaiUiMsgs.ERROR_LOADING_OXM_SUGGESTIBLE_ENTITIES);
       LOG.info(AaiUiMsgs.ERROR_LOADING_OXM_SUGGESTIBLE_ENTITIES);
       return OperationState.ERROR;
 
         aaiWorkOnHand.incrementAndGet();
 
-        supplyAsync(new PerformActiveInventoryRetrieval(txn, aaiAdapter), aaiExecutor)
+        supplyAsync(new PerformActiveInventoryRetrieval(txn, aaiAdapter,"sync"), aaiExecutor)
             .whenComplete((result, error) -> {
 
               aaiWorkOnHand.decrementAndGet();
 
 
           aaiWorkOnHand.incrementAndGet();
 
-          supplyAsync(new PerformActiveInventoryRetrieval(txn, aaiAdapter), aaiExecutor)
+          supplyAsync(new PerformActiveInventoryRetrieval(txn, aaiAdapter,"sync"), aaiExecutor)
               .whenComplete((result, error) -> {
 
                 aaiWorkOnHand.decrementAndGet();
 
                       OperationResult aaiQueryResult = aaiAdapter.queryActiveInventoryWithRetries(
                           genericQueryStr, "application/json",
-                          aaiAdapter.getEndpointConfig().getNumRequestRetries());
+                          aaiAdapter.getEndpointConfig().getNumRequestRetries(),"sync");
 
                       aaiWorkOnHand.decrementAndGet();
 
 
   
   private static final String TRANSACTION_ID_PREFIX = "txnId-";
   private static final String UI_APP_NAME = "AAI-UI";
+  private static final String UI_REQUEST_TYPE = "req";
 
   private OxmModelLoader oxmModelLoader;
   private OxmEntityLookup oxmEntityLookup;
   private RestEndpointConfig endpointConfig; 
 
   private RestClient restClient;
+  private String domain;
+  
+  
+  private String appPartnerName = "";
+  private String syncPartnerName = "";
+  private Map<String, List<String>> messageHeaders;
 
   /**
    * Instantiates a new active inventory adapter.
    */
 
   public ActiveInventoryAdapter(OxmModelLoader oxmModelLoader, OxmEntityLookup oxmEntityLookup,
-      RestEndpointConfig endpointConfig)
+      RestEndpointConfig endpointConfig,String domain)
       throws ElasticSearchOperationException, IOException, RestClientConstructionException {
 
     this.oxmModelLoader = oxmModelLoader;
     this.oxmEntityLookup = oxmEntityLookup;
     this.endpointConfig = endpointConfig;
+    this.domain = domain;
     
     /*
      * Add support for de-obfuscating basic auth password (if obfuscated)
     this.restClient = RestClientFactory.buildClient(endpointConfig);
 
   }
+  
+  public String getAppPartnerName() {
+    return appPartnerName;
+  }
+
+  public void setAppPartnerName(String appPartnerName) {
+    this.appPartnerName = appPartnerName;
+  }
+
+  public String getSyncPartnerName() {
+    return syncPartnerName;
+  }
+
+  public void setSyncPartnerName(String syncPartnerName) {
+    this.syncPartnerName = syncPartnerName;
+  }
 
   protected Map<String, List<String>> getMessageHeaders() {
 
     Map<String, List<String>> headers = new HashMap<String, List<String>>();
 
     headers.putIfAbsent(HEADER_FROM_APP_ID, new ArrayList<String>());
-    headers.get(HEADER_FROM_APP_ID).add(UI_APP_NAME);
+    headers.get(HEADER_FROM_APP_ID).add(appPartnerName);
+
+    headers.putIfAbsent(HEADER_TRANS_ID, new ArrayList<String>());
+    headers.get(HEADER_TRANS_ID).add(TRANSACTION_ID_PREFIX + NodeUtils.getRandomTxnId());
+
+    if (endpointConfig.getRestAuthenticationMode() == RestAuthenticationMode.SSL_BASIC) {
+      headers.putIfAbsent(HEADER_AUTHORIZATION, new ArrayList<String>());
+      headers.get(HEADER_AUTHORIZATION).add(getBasicAuthenticationCredentials());
+    }
+
+    return headers;
+  }
+  
+  protected Map<String, List<String>> getSyncMessageHeaders() {
+
+    Map<String, List<String>> headers = new HashMap<String, List<String>>();
+
+    headers.putIfAbsent(HEADER_FROM_APP_ID, new ArrayList<String>());
+    headers.get(HEADER_FROM_APP_ID).add(syncPartnerName);
 
     headers.putIfAbsent(HEADER_TRANS_ID, new ArrayList<String>());
     headers.get(HEADER_TRANS_ID).add(TRANSACTION_ID_PREFIX + NodeUtils.getRandomTxnId());
       throw new RuntimeException("Unable to resolve aai version.");
     }
 
-    return "/aai/" + versionStr.toLowerCase();
+    return "/" + domain + "/" + versionStr.toLowerCase();
 
   }
   
     }
 
     return queryActiveInventoryWithRetries(link, "application/json",
-        endpointConfig.getNumRequestRetries());
+        endpointConfig.getNumRequestRetries(),"sync");
 
   }
 
    * @return the operation result
    */
   // package protected for test classes instead of private
-  OperationResult queryActiveInventory(String url, String acceptContentType) {
+  OperationResult queryActiveInventory(String url, String acceptContentType, String uiRequestType) {
 
-    return restClient.get(url, getMessageHeaders(), MediaType.APPLICATION_JSON_TYPE);
+    if (uiRequestType == UI_REQUEST_TYPE) {
+      messageHeaders = getMessageHeaders();
+    } else {
+      messageHeaders = getSyncMessageHeaders();
+    }
+    return restClient.get(url, messageHeaders, MediaType.APPLICATION_JSON_TYPE);
 
   }
 
   }
 
   public OperationResult queryActiveInventoryWithRetries(String url, String responseType,
-      int numRetries) {
+      int numRetries,String uiRequestType) {
 
     OperationResult result = null;
 
 
       LOG.debug(AaiUiMsgs.QUERY_AAI_RETRY_SEQ, url, String.valueOf(retryCount + 1));
 
-      result = queryActiveInventory(url, responseType);
+      result = queryActiveInventory(url, responseType,uiRequestType);
 
       /**
        * Record number of times we have attempted the request to later summarize how many times we
        characters such as '?', '&', etc. remain intact as needed by the synchronizer */
     return (builder.build().toString() + (includeQueryParams ? queryParams : ""));
   }
+  
+  public String getDomain() {
+    return domain;
+  }
 
 }
 
 
 public class GizmoAdapter {
 
-       private static final Logger LOG = LoggerFactory.getInstance().getLogger(GizmoAdapter.class);
+  private static final Logger LOG = LoggerFactory.getInstance().getLogger(GizmoAdapter.class);
 
-       private static final String HEADER_TRANS_ID = "X-TransactionId";
-       private static final String HEADER_FROM_APP_ID = "X-FromAppId";
-       private static final String HEADER_AUTHORIZATION = "Authorization";
+  private static final String HEADER_TRANS_ID = "X-TransactionId";
+  private static final String HEADER_FROM_APP_ID = "X-FromAppId";
+  private static final String HEADER_AUTHORIZATION = "Authorization";
 
-       private static final String HTTP_SCHEME = "http";
-       private static final String HTTPS_SCHEME = "https";
+  private static final String HTTP_SCHEME = "http";
+  private static final String HTTPS_SCHEME = "https";
 
-       private static final String TRANSACTION_ID_PREFIX = "txnId-";
-       private static final String UI_APP_NAME = "AAI-UI";
+  private static final String TRANSACTION_ID_PREFIX = "txnId-";
+  private static final String UI_APP_NAME = "AAI-UI";
 
-       private OxmModelLoader oxmModelLoader;
+  private OxmModelLoader oxmModelLoader;
 
-       private RestEndpointConfig endpointConfig;
+  private RestEndpointConfig endpointConfig;
 
-       private RestClient restClient;
+  private RestClient restClient;
 
-       private String inventoryBasePath;
-       private String relationshipsBasePath;
+  private String inventoryBasePath;
+  private String relationshipsBasePath;
+  private String appPartnerName = "";
 
-       /**
-        * Instantiates a new active inventory adapter.
-        * 
-        * @throws RestClientConstructionException
-        *
-        */
+  /**
+   * Instantiates a new active inventory adapter.
+   * 
+   * @throws RestClientConstructionException
+   *
+   */
 
-       public GizmoAdapter(OxmModelLoader oxmModelLoader, RestEndpointConfig endpointConfig)
-                       throws ElasticSearchOperationException, IOException, RestClientConstructionException {
+  public GizmoAdapter(OxmModelLoader oxmModelLoader, RestEndpointConfig endpointConfig)
+      throws ElasticSearchOperationException, IOException, RestClientConstructionException {
 
-               this.oxmModelLoader = oxmModelLoader;
-               this.endpointConfig = endpointConfig;
-               this.restClient = RestClientFactory.buildClient(endpointConfig);
+    this.oxmModelLoader = oxmModelLoader;
+    this.endpointConfig = endpointConfig;
+    this.restClient = RestClientFactory.buildClient(endpointConfig);
 
-       }
+  }
+
+  public String getAppPartnerName() {
+    return appPartnerName;
+  }
+
+  public void setAppPartnerName(String appPartnerName) {
+    this.appPartnerName = appPartnerName;
+  }
 
-       public String getRelationshipsBasePath() {
-               return relationshipsBasePath;
-       }
 
-       public void setRelationshipsBasePath(String relationshipsBasePath) {
-               this.relationshipsBasePath = relationshipsBasePath;
-       }
+  public String getRelationshipsBasePath() {
+    return relationshipsBasePath;
+  }
 
-       public String getInventoryBasePath() {
-               return inventoryBasePath;
-       }
+  public void setRelationshipsBasePath(String relationshipsBasePath) {
+    this.relationshipsBasePath = relationshipsBasePath;
+  }
 
-       public void setInventoryBasePath(String inventoryBasePath) {
-               this.inventoryBasePath = inventoryBasePath;
-       }
+  public String getInventoryBasePath() {
+    return inventoryBasePath;
+  }
+
+  public void setInventoryBasePath(String inventoryBasePath) {
+    this.inventoryBasePath = inventoryBasePath;
+  }
 
-       public String getFullInventoryUrl(String resourceUrl) throws Exception {
-               final String host = endpointConfig.getEndpointIpAddress();
-               final String port = endpointConfig.getEndpointServerPort();
-               final String basePath = getInventoryBasePath();
-               return String.format("https://%s:%s%s%s", host, port, basePath, resourceUrl);
-       }
+  public String getFullInventoryUrl(String resourceUrl) throws Exception {
+    final String host = endpointConfig.getEndpointIpAddress();
+    final String port = endpointConfig.getEndpointServerPort();
+    final String basePath = getInventoryBasePath();
+    return String.format("https://%s:%s%s%s", host, port, basePath, resourceUrl);
+  }
 
-       public String addServerDetailsToUrl(String resourceUrl) throws Exception {
-               final String host = endpointConfig.getEndpointIpAddress();
-               final String port = endpointConfig.getEndpointServerPort();
-               return String.format("https://%s:%s/%s", host, port, resourceUrl);
-       }
+  public String addServerDetailsToUrl(String resourceUrl) throws Exception {
+    final String host = endpointConfig.getEndpointIpAddress();
+    final String port = endpointConfig.getEndpointServerPort();
+    return String.format("https://%s:%s/%s", host, port, resourceUrl);
+  }
 
-       public String getFullRelationshipUrl(String resourceUrl) throws Exception {
-               final String host = endpointConfig.getEndpointIpAddress();
-               final String port = endpointConfig.getEndpointServerPort();
-               final String basePath = getRelationshipsBasePath();
-               return String.format("https://%s:%s%s%s", host, port, basePath, resourceUrl);
-       }
+  public String getFullRelationshipUrl(String resourceUrl) throws Exception {
+    final String host = endpointConfig.getEndpointIpAddress();
+    final String port = endpointConfig.getEndpointServerPort();
+    final String basePath = getRelationshipsBasePath();
+    return String.format("https://%s:%s%s%s", host, port, basePath, resourceUrl);
+  }
 
-       protected Map<String, List<String>> getMessageHeaders() {
+  protected Map<String, List<String>> getMessageHeaders() {
 
-               Map<String, List<String>> headers = new HashMap<String, List<String>>();
+    Map<String, List<String>> headers = new HashMap<String, List<String>>();
 
-               headers.putIfAbsent(HEADER_FROM_APP_ID, new ArrayList<String>());
-               headers.get(HEADER_FROM_APP_ID).add(UI_APP_NAME);
+    headers.putIfAbsent(HEADER_FROM_APP_ID, new ArrayList<String>());
+    headers.get(HEADER_FROM_APP_ID).add(appPartnerName);
 
-               headers.putIfAbsent(HEADER_TRANS_ID, new ArrayList<String>());
-               headers.get(HEADER_TRANS_ID).add(TRANSACTION_ID_PREFIX + NodeUtils.getRandomTxnId());
+    headers.putIfAbsent(HEADER_TRANS_ID, new ArrayList<String>());
+    headers.get(HEADER_TRANS_ID).add(TRANSACTION_ID_PREFIX + NodeUtils.getRandomTxnId());
 
-               if (endpointConfig.getRestAuthenticationMode() == RestAuthenticationMode.SSL_BASIC) {
+    if (endpointConfig.getRestAuthenticationMode() == RestAuthenticationMode.SSL_BASIC) {
 
-                       headers.putIfAbsent(HEADER_AUTHORIZATION, new ArrayList<String>());
-                       headers.get(HEADER_AUTHORIZATION).add(getBasicAuthenticationCredentials());
+      headers.putIfAbsent(HEADER_AUTHORIZATION, new ArrayList<String>());
+      headers.get(HEADER_AUTHORIZATION).add(getBasicAuthenticationCredentials());
 
-               }
+    }
 
-               return headers;
-       }
+    return headers;
+  }
 
-       protected String getBasicAuthenticationCredentials() {
-               String usernameAndPassword = String.join(":", endpointConfig.getBasicAuthUserName(),
-                               endpointConfig.getBasicAuthPassword());
-               return "Basic " + java.util.Base64.getEncoder().encodeToString(usernameAndPassword.getBytes());
-       }
+  protected String getBasicAuthenticationCredentials() {
+    String usernameAndPassword = String.join(":", endpointConfig.getBasicAuthUserName(),
+        endpointConfig.getBasicAuthPassword());
+    return "Basic " + java.util.Base64.getEncoder().encodeToString(usernameAndPassword.getBytes());
+  }
 
-       /**
-        * Our retry conditions should be very specific.
-        *
-        * @param r
-        *            the r
-        * @return true, if successful
-        */
-       private boolean shouldRetryRequest(OperationResult r) {
+  /**
+   * Our retry conditions should be very specific.
+   *
+   * @param r the r
+   * @return true, if successful
+   */
+  private boolean shouldRetryRequest(OperationResult r) {
 
-               if (r == null) {
-                       return true;
-               }
+    if (r == null) {
+      return true;
+    }
 
-               int rc = r.getResultCode();
+    int rc = r.getResultCode();
 
-               if (rc == 200) {
-                       return false;
-               }
+    if (rc == 200) {
+      return false;
+    }
 
-               if (rc == 404) {
-                       return false;
-               }
+    if (rc == 404) {
+      return false;
+    }
 
-               return true;
+    return true;
 
-       }
+  }
 
-       /**
-        * Query active inventory.
-        *
-        * @param url
-        *            the url
-        * @param acceptContentType
-        *            the accept content type
-        * @return the operation result
-        */
-       OperationResult queryGizmo(String url, String acceptContentType) {
+  /**
+   * Query active inventory.
+   *
+   * @param url the url
+   * @param acceptContentType the accept content type
+   * @return the operation result
+   */
+  OperationResult queryGizmo(String url, String acceptContentType) {
 
-               return restClient.get(url, getMessageHeaders(), MediaType.APPLICATION_JSON_TYPE);
+    return restClient.get(url, getMessageHeaders(), MediaType.APPLICATION_JSON_TYPE);
 
-       }
+  }
 
-       public RestEndpointConfig getEndpointConfig() {
-               return endpointConfig;
-       }
+  public RestEndpointConfig getEndpointConfig() {
+    return endpointConfig;
+  }
 
-       public void setEndpointConfig(RestEndpointConfig endpointConfig) {
-               this.endpointConfig = endpointConfig;
-       }
+  public void setEndpointConfig(RestEndpointConfig endpointConfig) {
+    this.endpointConfig = endpointConfig;
+  }
 
-       public OperationResult queryGizmoWithRetries(String url, String responseType, int numRetries) {
+  public OperationResult queryGizmoWithRetries(String url, String responseType, int numRetries) {
 
-               OperationResult result = null;
+    OperationResult result = null;
 
-               for (int retryCount = 0; retryCount < numRetries; retryCount++) {
+    for (int retryCount = 0; retryCount < numRetries; retryCount++) {
 
-                       LOG.debug(AaiUiMsgs.QUERY_AAI_RETRY_SEQ, url, String.valueOf(retryCount + 1));
+      LOG.debug(AaiUiMsgs.QUERY_AAI_RETRY_SEQ, url, String.valueOf(retryCount + 1));
 
-                       result = queryGizmo(url, responseType);
+      result = queryGizmo(url, responseType);
 
-                       /**
-                        * Record number of times we have attempted the request to later
-                        * summarize how many times we are generally retrying over thousands
-                        * of messages in a sync.
-                        * 
-                        * If the number of retries is surprisingly high, then we need to
-                        * understand why that is as the number of retries is also causing a
-                        * heavier load on AAI beyond the throttling controls we already
-                        * have in place in term of the transaction rate controller and
-                        * number of parallelized threads per task processor.
-                        */
+      /**
+       * Record number of times we have attempted the request to later summarize how many times we
+       * are generally retrying over thousands of messages in a sync.
+       * 
+       * If the number of retries is surprisingly high, then we need to understand why that is as
+       * the number of retries is also causing a heavier load on AAI beyond the throttling controls
+       * we already have in place in term of the transaction rate controller and number of
+       * parallelized threads per task processor.
+       */
 
-                       result.setNumRetries(retryCount);
+      result.setNumRetries(retryCount);
 
-                       if (!shouldRetryRequest(result)) {
+      if (!shouldRetryRequest(result)) {
 
-                               result.setFromCache(false);
-                               LOG.debug(AaiUiMsgs.QUERY_AAI_RETRY_DONE_SEQ, url, String.valueOf(retryCount + 1));
+        result.setFromCache(false);
+        LOG.debug(AaiUiMsgs.QUERY_AAI_RETRY_DONE_SEQ, url, String.valueOf(retryCount + 1));
 
-                               return result;
-                       }
+        return result;
+      }
 
-                       try {
-                               /*
-                                * Sleep between re-tries to be nice to the target system.
-                                */
-                               Thread.sleep(50);
-                       } catch (InterruptedException exc) {
-                               LOG.error(AaiUiMsgs.QUERY_AAI_WAIT_INTERRUPTION, exc.getLocalizedMessage());
-                               Thread.currentThread().interrupt();
-                               break;
-                       }
-                       LOG.error(AaiUiMsgs.QUERY_AAI_RETRY_FAILURE_WITH_SEQ, url, String.valueOf(retryCount + 1));
+      try {
+        /*
+         * Sleep between re-tries to be nice to the target system.
+         */
+        Thread.sleep(50);
+      } catch (InterruptedException exc) {
+        LOG.error(AaiUiMsgs.QUERY_AAI_WAIT_INTERRUPTION, exc.getLocalizedMessage());
+        Thread.currentThread().interrupt();
+        break;
+      }
+      LOG.error(AaiUiMsgs.QUERY_AAI_RETRY_FAILURE_WITH_SEQ, url, String.valueOf(retryCount + 1));
 
-               }
+    }
 
-               LOG.info(AaiUiMsgs.QUERY_AAI_RETRY_MAXED_OUT, url);
+    LOG.info(AaiUiMsgs.QUERY_AAI_RETRY_MAXED_OUT, url);
 
-               return result;
+    return result;
 
-       }
+  }
 
-       /**
-        * This method adds a scheme, host and port (if missing) to the passed-in
-        * URI. If these parts of the URI are already present, they will not be
-        * duplicated.
-        * 
-        * @param selflink
-        *            The URI to repair
-        * @param queryParams
-        *            The query parameters as a single string
-        * @return The corrected URI (i.e. includes a scheme/host/port)
-        */
+  /**
+   * This method adds a scheme, host and port (if missing) to the passed-in URI. If these parts of
+   * the URI are already present, they will not be duplicated.
+   * 
+   * @param selflink The URI to repair
+   * @param queryParams The query parameters as a single string
+   * @return The corrected URI (i.e. includes a scheme/host/port)
+   */
 
   private String repairGizmoSelfLink(String baseUrlPath, String selfLink, String queryParams) {
 
     if (selfLink == null) {
       return selfLink;
     }
-    
+
     if (selfLink.startsWith("http") || selfLink.startsWith("https")) {
       return selfLink;
     }
-    
+
     UriBuilder builder = UriBuilder.fromPath(baseUrlPath + "/" + selfLink)
         .host(endpointConfig.getEndpointIpAddress())
         .port(Integer.parseInt(endpointConfig.getEndpointServerPort()));
     return (builder.build().toString() + (includeQueryParams ? queryParams : ""));
 
   }
-       
+
   public String repairRelationshipSelfLink(String selflink, String queryParams) {
     return repairGizmoSelfLink(relationshipsBasePath, selflink, queryParams);
   }
     return repairGizmoSelfLink(inventoryBasePath, selflink, queryParams);
   }
 
-       public OperationResult getSelfLinksByEntityType(String entityType) throws Exception {
-               
-               if (entityType == null) {
-                       throw new NullPointerException("Failed to getSelfLinksByEntityType() because entityType is null");
-               }
-
-               String link = getFullInventoryUrl(entityType);
-
-               return queryGizmoWithRetries(link, "application/json", endpointConfig.getNumRequestRetries());
-
-       }
-       
-       public static String extractResourcePath(String selflink) {
-               try {
-                       return new URI(selflink).getRawPath();
-               } catch (URISyntaxException uriSyntaxException) {
-                       LOG.error(AaiUiMsgs.ERROR_EXTRACTING_RESOURCE_PATH_FROM_LINK, uriSyntaxException.getMessage());
-                       return selflink;
-               }
-       }
+  public OperationResult getSelfLinksByEntityType(String entityType) throws Exception {
+
+    if (entityType == null) {
+      throw new NullPointerException(
+          "Failed to getSelfLinksByEntityType() because entityType is null");
+    }
+
+    String link = getFullInventoryUrl(entityType);
+
+    return queryGizmoWithRetries(link, "application/json", endpointConfig.getNumRequestRetries());
+
+  }
+
+  public static String extractResourcePath(String selflink) {
+    try {
+      return new URI(selflink).getRawPath();
+    } catch (URISyntaxException uriSyntaxException) {
+      LOG.error(AaiUiMsgs.ERROR_EXTRACTING_RESOURCE_PATH_FROM_LINK,
+          uriSyntaxException.getMessage());
+      return selflink;
+    }
+  }
 
 }
 
   private UserValidator validator;
   private OxmModelLoader oxmModelLoader;
   private OxmEntityLookup oxmEntityLookup;
+  private String domain;
   
   /**
    * Instantiates a new attribute updater.
    * @throws AttributeUpdateException 
    */
-  public AttributeUpdater(OxmModelLoader oxmModelLoader, OxmEntityLookup oxmEntityLookup, ActiveInventoryAdapter activeInventoryAdapter) throws AttributeUpdateException {
+  public AttributeUpdater(OxmModelLoader oxmModelLoader, OxmEntityLookup oxmEntityLookup, ActiveInventoryAdapter activeInventoryAdapter,String domain) throws AttributeUpdateException {
     super();
     this.oxmModelLoader = oxmModelLoader;
     this.oxmEntityLookup = oxmEntityLookup;
     this.aaiAdapter = activeInventoryAdapter;
+    this.domain = domain;
     
     try {
       this.validator = new UserValidator();
       versionStr = String.valueOf(oxmModelLoader.getOxmApiVersion());
     }
 
-    return "/aai/v" + versionStr;
+    return "/" + domain + "/v" + versionStr;
 
   }
   
 
--- /dev/null
+/**
+ * ============LICENSE_START=======================================================
+ * org.onap.aai
+ * ================================================================================
+ * Copyright Â© 2017-2018 AT&T Intellectual Property. All rights reserved.
+ * Copyright Â© 2017-2018 Amdocs
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *       http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+package org.onap.aai.sparky.personalization;
+
+import javax.servlet.http.HttpServletRequest;
+
+import org.apache.camel.Exchange;
+import org.json.JSONObject;
+import org.onap.aai.cl.api.Logger;
+import org.onap.aai.cl.eelf.LoggerFactory;
+import org.onap.aai.restclient.client.OperationResult;
+import org.onap.aai.sparky.logging.AaiUiMsgs;
+import org.onap.aai.sparky.logging.util.ServletUtils;
+import org.onap.aai.sparky.personalization.config.PersonalizationConfig;
+
+public class PersonalizationServiceProvider {
+
+  private static final String EMPTY_RESPONSE = "{}";
+
+  private static final Logger LOG =
+      LoggerFactory.getInstance().getLogger(PersonalizationServiceProvider.class);
+
+  PersonalizationConfig personalizationConfig;
+
+
+  public PersonalizationServiceProvider(PersonalizationConfig personalizationConfig) {
+    this.personalizationConfig = personalizationConfig;
+  }
+
+
+  public void getPersonalizedValues(Exchange exchange) {
+
+    HttpServletRequest request = exchange.getIn().getBody(HttpServletRequest.class);
+    ServletUtils.setUpMdcContext(exchange, request);
+
+    OperationResult personalizedValuesResult = new OperationResult();
+
+    try {
+      personalizedValuesResult.setResultCode(200);
+      JSONObject personalizedValuesResponse = new JSONObject();
+      personalizedValuesResponse.put("topLeftHeader", personalizationConfig.getTopLeftHeader());
+      personalizedValuesResponse.put("htmlDocumentTitle",
+          personalizationConfig.getHtmlDocumentTitle());
+      personalizedValuesResult.setResult(personalizedValuesResponse.toString());
+
+    } catch (Exception exc) {
+      personalizedValuesResult.setResultCode(500);
+      personalizedValuesResult.setResult(EMPTY_RESPONSE);
+      LOG.error(AaiUiMsgs.FAILURE_TO_PROCESS_REQUEST,
+          "Exception thrown during personalization processing: " + exc.getLocalizedMessage());
+    }
+
+    exchange.getOut().setBody(personalizedValuesResult.getResult());
+
+
+  }
+
+}
 
--- /dev/null
+/**
+ * ============LICENSE_START=======================================================
+ * org.onap.aai
+ * ================================================================================
+ * Copyright Â© 2017-2018 AT&T Intellectual Property. All rights reserved.
+ * Copyright Â© 2017-2018 Amdocs
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *       http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+package org.onap.aai.sparky.personalization.config;
+
+public class PersonalizationConfig {
+  private String topLeftHeader = "";
+  private String htmlDocumentTitle = "";
+
+  public String getHtmlDocumentTitle() {
+    return htmlDocumentTitle;
+  }
+
+  public void setHtmlDocumentTitle(String htmlDocumentTitle) {
+    this.htmlDocumentTitle = htmlDocumentTitle;
+  }
+
+  public String getTopLeftHeader() {
+    return topLeftHeader;
+  }
+
+  public void setTopLeftHeader(String topLeftHeader) {
+    this.topLeftHeader = topLeftHeader;
+  }
+}
 
   private RestClient client;
   private RestEndpointConfig endpointConfig;
   private String serviceApiVersion;
+  private String appPartnerName = "";
 
   private Map<String, List<String>> commonHeaders;
 
 
     commonHeaders = new HashMap<String, List<String>>();
     commonHeaders.put("Accept", Arrays.asList("application/json"));
-    commonHeaders.put(Headers.FROM_APP_ID, Arrays.asList("AAI-UI"));
+    commonHeaders.put(Headers.FROM_APP_ID, Arrays.asList(appPartnerName));
 
     this.serviceApiVersion = serviceApiVersion;
     this.endpointConfig = endpointConfig;
   }
+  
+  public String getAppPartnerName() {
+    return appPartnerName;
+  }
+
+  public void setAppPartnerName(String appPartnerName) {
+    this.appPartnerName = appPartnerName;
+  }
 
   public String getServiceApiVersion() {
     return serviceApiVersion;
 
   private NetworkTransaction txn;
   private ActiveInventoryAdapter aaiAdapter;
   private Map<String, String> contextMap;
+  private String uiRequestType;
 
   /**
    * Instantiates a new perform active inventory retrieval.
    * @param aaiProvider the aai provider
    */
   public PerformActiveInventoryRetrieval(NetworkTransaction txn,
-      ActiveInventoryAdapter aaiAdapter) {
+      ActiveInventoryAdapter aaiAdapter,String uiRequestType) {
     this.txn = txn;
     this.aaiAdapter = aaiAdapter;
     this.contextMap = MDC.getCopyOfContextMap();
+    this.uiRequestType = uiRequestType;
   }
 
   /* (non-Javadoc)
     try {
 
       final String absoluteSelfLink = aaiAdapter.repairSelfLink(txn.getLink(), txn.getQueryParameters());
-      result = aaiAdapter.queryActiveInventoryWithRetries(absoluteSelfLink, "application/json", 5);
+      result = aaiAdapter.queryActiveInventoryWithRetries(absoluteSelfLink, "application/json", 5,uiRequestType);
     } catch (Exception exc) {
       logger.error(AaiUiMsgs.ERROR_GENERIC,"Failure to resolve self link from AAI.  Error = " + exc.getMessage());
       result = new OperationResult(500,
 
 public class NodeUtils {
   private static SecureRandom sRandom = new SecureRandom();
   
-  private static final Pattern AAI_VERSION_PREFIX = Pattern.compile("/aai/v[0-9]+/(.*)");
+  private static final Pattern URL_VERSION_PREFIX = Pattern.compile("/v[0-9]+/(.*)");
   private static final Pattern OXM_VERSION_PREFIX = Pattern.compile(".*_v([0-9]+).*");
   private static final Pattern GIZMO_VERSION_PREFIX = Pattern.compile("[/]*services/inventory/v[0-9]+/(.*)");
   private static final Pattern GIZMO_RELATIONSHIP_VERSION_PREFIX = Pattern.compile("services/inventory/relationships/v[0-9]+/(.*)");
 
       String rawPath = new URI(selfLinkUri).getRawPath();
       
-      Matcher m = AAI_VERSION_PREFIX.matcher(rawPath);
+      Matcher m = URL_VERSION_PREFIX.matcher(rawPath);
 
       if (m.matches()) {
 
 
   // Injected Attributes
   public static String URI_ATTR_NAME = "uri";
 
-  public static final String URI_VERSION_REGEX_PATTERN = "aai/v[\\d]+/";
+  public static final String URI_VERSION_REGEX_PATTERN = "/v[\\d]+/";
   
   public static final String getConfigPath(String configFile){
     return CONFIG_HOME + FILESEP + configFile;
 
 package org.onap.aai.sparky.viewandinspect.config;
 
 import java.util.ArrayList;
+import java.util.Arrays;
 
 import org.onap.aai.sparky.config.SparkyResourceLoader;
 
   public void setShallowEntities(ArrayList<String> shallowEntities) {
     this.shallowEntities = shallowEntities;
   }
+  
+  public void setDelimitedShallowEntities(String delimitedShallowEntites) {
+
+    if (delimitedShallowEntites == null) {
+      this.shallowEntities = new ArrayList<>();
+      return;
+    }
+
+    try {
+      this.shallowEntities =
+          new ArrayList<String>(Arrays.asList(delimitedShallowEntites.split(",")));
+    } catch (Exception exc) {
+      this.shallowEntities = new ArrayList<>();
+    }
+
+  }
 
   /**
    * Make all neighbors bidirectional.
 
 import java.util.Set;
 import java.util.concurrent.ConcurrentLinkedDeque;
 import java.util.concurrent.atomic.AtomicBoolean;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
 
 import org.onap.aai.cl.api.Logger;
 import org.onap.aai.cl.eelf.LoggerFactory;
 
   private static final Logger LOG = LoggerFactory.getInstance().getLogger(
       ActiveInventoryNode.class);
-  private static final String URIRegexPattern = "aai/v[\\d]/";
 
   public static final int DEFAULT_INIT_NODE_DEPTH = 1000;
 
     return selfLink;
   }
 
-  /**
-   * Calculate edit attribute uri.
-   *
-   * @param link the link
-   * @return the string
-   */
-  public String calculateEditAttributeUri(String link) {
-    String uri = null;
-    Pattern pattern = Pattern.compile(URIRegexPattern);
-    Matcher matcher = pattern.matcher(link);
-    if (matcher.find()) {
-      uri = link.substring(matcher.end());
-    }
-    return uri;
-  }
-
   /**
    * Analyze self link relationship list.
    *
 
 
     try {
       opResult = aaiAdapter.queryActiveInventoryWithRetries(link, "application/json",
-          aaiAdapter.getEndpointConfig().getNumRequestRetries());
+          aaiAdapter.getEndpointConfig().getNumRequestRetries(),"req");
     } catch (Exception exc) {
       opResult = new OperationResult();
       opResult.setResult(500, "Querying AAI with retry failed due to an exception.");
 
     OperationResult opResult = null;
     try {
       opResult = aaiAdapter.queryActiveInventoryWithRetries(txn.getQueryString(), "application/json",
-          aaiAdapter.getEndpointConfig().getNumRequestRetries());
+          aaiAdapter.getEndpointConfig().getNumRequestRetries(),"req");
     } catch (Exception exc) {
       opResult = new OperationResult();
       opResult.setResult(500, "Querying AAI with retry failed due to an exception.");
 
 
         aaiWorkOnHand.incrementAndGet();
 
-        supplyAsync(new PerformActiveInventoryRetrieval(txn, aaiAdapter), aaiExecutor)
+        supplyAsync(new PerformActiveInventoryRetrieval(txn, aaiAdapter,"sync"), aaiExecutor)
             .whenComplete((result, error) -> {
 
               aaiWorkOnHand.decrementAndGet();
 
     Mockito
         .when(aaiAdapter.queryActiveInventoryWithRetries(
             Matchers.contains("generic-vnf-1"), Mockito.anyString(),
-            Mockito.anyInt()))
+            Mockito.anyInt(),Mockito.anyString()))
         .thenReturn(new OperationResult(200, TestResourceLoader.getTestResourceDataJson(
             "/sync/aai/generic-vnf-generic-vnf-1_full_depth.json")));
 
     Mockito
         .when(aaiAdapter.queryActiveInventoryWithRetries(
             Matchers.contains("generic-vnf-2"), Mockito.anyString(),
-            Mockito.anyInt()))
+            Mockito.anyInt(),Mockito.anyString()))
         .thenReturn(new OperationResult(200, TestResourceLoader.getTestResourceDataJson(
             "/sync/aai/generic-vnf-generic-vnf-2_full_depth.json")));
 
     Mockito
         .when(aaiAdapter.queryActiveInventoryWithRetries(Matchers.contains("generic-vnf-3"),
-            Mockito.anyString(), Mockito.anyInt()))
+            Mockito.anyString(), Mockito.anyInt(),Mockito.anyString()))
         .thenReturn(new OperationResult(200, TestResourceLoader
             .getTestResourceDataJson("/sync/aai/generic-vnf-generic-vnf-3_full_depth.json")));
 
     Mockito
         .when(aaiAdapter.queryActiveInventoryWithRetries(
             Matchers.contains("generic-vnf-1"), Mockito.anyString(),
-            Mockito.anyInt()))
+            Mockito.anyInt(),Mockito.anyString()))
         .thenReturn(new OperationResult(200, TestResourceLoader.getTestResourceDataJson(
             "/sync/aai/generic-vnf-generic-vnf-1_full_depth.json")));
 
     Mockito
         .when(aaiAdapter.queryActiveInventoryWithRetries(
             Matchers.contains("generic-vnf-2"), Mockito.anyString(),
-            Mockito.anyInt()))
+            Mockito.anyInt(),Mockito.anyString()))
         .thenReturn(new OperationResult(200, TestResourceLoader.getTestResourceDataJson(
             "/sync/aai/generic-vnf-generic-vnf-2_full_depth.json")));
 
     Mockito
         .when(aaiAdapter.queryActiveInventoryWithRetries(Matchers.contains("generic-vnf-3"),
-            Mockito.anyString(), Mockito.anyInt()))
+            Mockito.anyString(), Mockito.anyInt(),Mockito.anyString()))
         .thenReturn(new OperationResult(200, TestResourceLoader
             .getTestResourceDataJson("/sync/aai/generic-vnf-generic-vnf-3_full_depth.json")));
 
 
 
     Mockito
         .when(aaiAdapter.queryActiveInventoryWithRetries(Matchers.contains("generic-vnf-1"),
-            Mockito.anyString(), Mockito.anyInt()))
+            Mockito.anyString(), Mockito.anyInt(),Mockito.anyString()))
         .thenReturn(new OperationResult(200, TestResourceLoader
             .getTestResourceDataJson("/sync/aai/generic-vnf-generic-vnf-1_full_depth.json")));
 
     Mockito
         .when(aaiAdapter.queryActiveInventoryWithRetries(Matchers.contains("generic-vnf-2"),
-            Mockito.anyString(), Mockito.anyInt()))
+            Mockito.anyString(), Mockito.anyInt(),Mockito.anyString()))
         .thenReturn(new OperationResult(200, TestResourceLoader
             .getTestResourceDataJson("/sync/aai/generic-vnf-generic-vnf-2_full_depth.json")));
 
     Mockito
         .when(aaiAdapter.queryActiveInventoryWithRetries(Matchers.contains("generic-vnf-3"),
-            Mockito.anyString(), Mockito.anyInt()))
+            Mockito.anyString(), Mockito.anyInt(),Mockito.anyString()))
         .thenReturn(new OperationResult(200, TestResourceLoader
             .getTestResourceDataJson("/sync/aai/generic-vnf-generic-vnf-3_full_depth.json")));
 
 
     Mockito
         .when(aaiAdapter.queryActiveInventoryWithRetries(Matchers.contains("generic-vnf-1"),
-            Mockito.anyString(), Mockito.anyInt()))
+            Mockito.anyString(), Mockito.anyInt(),Mockito.anyString()))
         .thenReturn(new OperationResult(200, TestResourceLoader
             .getTestResourceDataJson("/sync/aai/generic-vnf-generic-vnf-1_full_depth.json")));
 
     Mockito
         .when(aaiAdapter.queryActiveInventoryWithRetries(Matchers.contains("generic-vnf-2"),
-            Mockito.anyString(), Mockito.anyInt()))
+            Mockito.anyString(), Mockito.anyInt(),Mockito.anyString()))
         .thenReturn(new OperationResult(200, TestResourceLoader
             .getTestResourceDataJson("/sync/aai/generic-vnf-generic-vnf-2_full_depth.json")));
 
     Mockito
         .when(aaiAdapter.queryActiveInventoryWithRetries(Matchers.contains("generic-vnf-3"),
-            Mockito.anyString(), Mockito.anyInt()))
+            Mockito.anyString(), Mockito.anyInt(),Mockito.anyString()))
         .thenReturn(new OperationResult(200, TestResourceLoader
             .getTestResourceDataJson("/sync/aai/generic-vnf-generic-vnf-3_full_depth.json")));
 
 
     Mockito
         .when(aaiAdapter.queryActiveInventoryWithRetries(
             Matchers.contains("service-subscription-2"), Mockito.anyString(),
-            Mockito.anyInt()))
+            Mockito.anyInt(),Mockito.anyString()))
         .thenReturn(new OperationResult(200, TestResourceLoader.getTestResourceDataJson(
             "/sync/aai/service-subscription-service-subscription-2.json")));
 
     Mockito
         .when(aaiAdapter.queryActiveInventoryWithRetries(
             Matchers.contains("service-subscription-1"), Mockito.anyString(),
-            Mockito.anyInt()))
+            Mockito.anyInt(),Mockito.anyString()))
         .thenReturn(new OperationResult(200, TestResourceLoader.getTestResourceDataJson(
             "/sync/aai/service-subscription-service-subscription-1.json")));
 
     Mockito
         .when(aaiAdapter.queryActiveInventoryWithRetries(Matchers.contains("service-subscription-3"),
-            Mockito.anyString(), Mockito.anyInt()))
+            Mockito.anyString(), Mockito.anyInt(),Mockito.anyString()))
         .thenReturn(new OperationResult(200, TestResourceLoader
             .getTestResourceDataJson("/sync/aai/service-subscription-service-subscription-3.json")));
     
     Mockito
     .when(aaiAdapter.queryActiveInventoryWithRetries(
         Matchers.contains("generic-query/service-instance-59"), Mockito.anyString(),
-        Mockito.anyInt()))
+        Mockito.anyInt(),Mockito.anyString()))
     .thenReturn(new OperationResult(200, TestResourceLoader.getTestResourceDataJson(
         "/sync/aai/aai-traversal/generic-query/service-instance-59.json")));
 
     Mockito
     .when(aaiAdapter.queryActiveInventoryWithRetries(
         Matchers.contains("generic-query/service-instance-54"), Mockito.anyString(),
-        Mockito.anyInt()))
+        Mockito.anyInt(),Mockito.anyString()))
     .thenReturn(new OperationResult(200, TestResourceLoader.getTestResourceDataJson(
         "/sync/aai/aai-traversal/generic-query/service-instance-54.json")));
     
     Mockito
     .when(aaiAdapter.queryActiveInventoryWithRetries(
         Matchers.contains("generic-query/service-instance-55"), Mockito.anyString(),
-        Mockito.anyInt()))
+        Mockito.anyInt(),Mockito.anyString()))
     .thenReturn(new OperationResult(200, TestResourceLoader.getTestResourceDataJson(
         "/sync/aai/aai-traversal/generic-query/service-instance-55.json")));
 
     Mockito
     .when(aaiAdapter.queryActiveInventoryWithRetries(
         Matchers.contains("generic-query/service-instance-50"), Mockito.anyString(),
-        Mockito.anyInt()))
+        Mockito.anyInt(),Mockito.anyString()))
     .thenReturn(new OperationResult(200, TestResourceLoader.getTestResourceDataJson(
         "/sync/aai/aai-traversal/generic-query/service-instance-50.json")));
 
     Mockito
     .when(aaiAdapter.queryActiveInventoryWithRetries(
         Matchers.contains("generic-query/service-instance-52"), Mockito.anyString(),
-        Mockito.anyInt()))
+        Mockito.anyInt(),Mockito.anyString()))
     .thenReturn(new OperationResult(200, TestResourceLoader.getTestResourceDataJson(
         "/sync/aai/aai-traversal/generic-query/service-instance-52.json")));
 
     Mockito
     .when(aaiAdapter.queryActiveInventoryWithRetries(
         Matchers.contains("generic-query/service-instance-57"), Mockito.anyString(),
-        Mockito.anyInt()))
+        Mockito.anyInt(),Mockito.anyString()))
     .thenReturn(new OperationResult(200, TestResourceLoader.getTestResourceDataJson(
         "/sync/aai/aai-traversal/generic-query/service-instance-57.json")));
 
     Mockito
     .when(aaiAdapter.queryActiveInventoryWithRetries(
         Matchers.contains("generic-query/service-instance-53"), Mockito.anyString(),
-        Mockito.anyInt()))
+        Mockito.anyInt(),Mockito.anyString()))
     .thenReturn(new OperationResult(200, TestResourceLoader.getTestResourceDataJson(
         "/sync/aai/aai-traversal/generic-query/service-instance-53.json")));
 
     Mockito
     .when(aaiAdapter.queryActiveInventoryWithRetries(
         Matchers.contains("generic-query/service-instance-58"), Mockito.anyString(),
-        Mockito.anyInt()))
+        Mockito.anyInt(),Mockito.anyString()))
     .thenReturn(new OperationResult(200, TestResourceLoader.getTestResourceDataJson(
         "/sync/aai/aai-traversal/generic-query/service-instance-58.json")));
 
     Mockito
     .when(aaiAdapter.queryActiveInventoryWithRetries(
         Matchers.contains("generic-query/service-instance-51"), Mockito.anyString(),
-        Mockito.anyInt()))
+        Mockito.anyInt(),Mockito.anyString()))
     .thenReturn(new OperationResult(200, TestResourceLoader.getTestResourceDataJson(
         "/sync/aai/aai-traversal/generic-query/service-instance-51.json")));
 
     Mockito
     .when(aaiAdapter.queryActiveInventoryWithRetries(
         Matchers.contains("generic-query/service-instance-56"), Mockito.anyString(),
-        Mockito.anyInt()))
+        Mockito.anyInt(),Mockito.anyString()))
     .thenReturn(new OperationResult(200, TestResourceLoader.getTestResourceDataJson(
         "/sync/aai/aai-traversal/generic-query/service-instance-56.json")));
 
     Mockito
         .when(aaiAdapter.queryActiveInventoryWithRetries(
             Matchers.contains("service-subscription-2"), Mockito.anyString(),
-            Mockito.anyInt()))
+            Mockito.anyInt(),Mockito.anyString()))
         .thenReturn(new OperationResult(200, TestResourceLoader.getTestResourceDataJson(
             "/sync/aai/service-subscription-service-subscription-2.json")));
 
     Mockito
         .when(aaiAdapter.queryActiveInventoryWithRetries(
             Matchers.contains("service-subscription-1"), Mockito.anyString(),
-            Mockito.anyInt()))
+            Mockito.anyInt(),Mockito.anyString()))
         .thenReturn(new OperationResult(200, TestResourceLoader.getTestResourceDataJson(
             "/sync/aai/service-subscription-service-subscription-1.json")));
 
     Mockito
         .when(aaiAdapter.queryActiveInventoryWithRetries(Matchers.contains("service-subscription-3"),
-            Mockito.anyString(), Mockito.anyInt()))
+            Mockito.anyString(), Mockito.anyInt(),Mockito.anyString()))
         .thenReturn(new OperationResult(200, TestResourceLoader
             .getTestResourceDataJson("/sync/aai/service-subscription-service-subscription-3.json")));
     
     Mockito
     .when(aaiAdapter.queryActiveInventoryWithRetries(
         Matchers.contains("generic-query/service-instance-59"), Mockito.anyString(),
-        Mockito.anyInt()))
+        Mockito.anyInt(),Mockito.anyString()))
     .thenReturn(new OperationResult(200, TestResourceLoader.getTestResourceDataJson(
         "/sync/aai/aai-traversal/generic-query/service-instance-59.json")));
 
     Mockito
     .when(aaiAdapter.queryActiveInventoryWithRetries(
         Matchers.contains("generic-query/service-instance-54"), Mockito.anyString(),
-        Mockito.anyInt()))
+        Mockito.anyInt(),Mockito.anyString()))
     .thenReturn(new OperationResult(200, TestResourceLoader.getTestResourceDataJson(
         "/sync/aai/aai-traversal/generic-query/service-instance-54.json")));
     
     Mockito
     .when(aaiAdapter.queryActiveInventoryWithRetries(
         Matchers.contains("generic-query/service-instance-55"), Mockito.anyString(),
-        Mockito.anyInt()))
+        Mockito.anyInt(),Mockito.anyString()))
     .thenReturn(new OperationResult(200, TestResourceLoader.getTestResourceDataJson(
         "/sync/aai/aai-traversal/generic-query/service-instance-55.json")));
 
     Mockito
     .when(aaiAdapter.queryActiveInventoryWithRetries(
         Matchers.contains("generic-query/service-instance-50"), Mockito.anyString(),
-        Mockito.anyInt()))
+        Mockito.anyInt(),Mockito.anyString()))
     .thenReturn(new OperationResult(200, TestResourceLoader.getTestResourceDataJson(
         "/sync/aai/aai-traversal/generic-query/service-instance-50.json")));
 
     Mockito
     .when(aaiAdapter.queryActiveInventoryWithRetries(
         Matchers.contains("generic-query/service-instance-52"), Mockito.anyString(),
-        Mockito.anyInt()))
+        Mockito.anyInt(),Mockito.anyString()))
     .thenReturn(new OperationResult(200, TestResourceLoader.getTestResourceDataJson(
         "/sync/aai/aai-traversal/generic-query/service-instance-52.json")));
 
     Mockito
     .when(aaiAdapter.queryActiveInventoryWithRetries(
         Matchers.contains("generic-query/service-instance-57"), Mockito.anyString(),
-        Mockito.anyInt()))
+        Mockito.anyInt(),Mockito.anyString()))
     .thenReturn(new OperationResult(200, TestResourceLoader.getTestResourceDataJson(
         "/sync/aai/aai-traversal/generic-query/service-instance-57.json")));
 
     Mockito
     .when(aaiAdapter.queryActiveInventoryWithRetries(
         Matchers.contains("generic-query/service-instance-53"), Mockito.anyString(),
-        Mockito.anyInt()))
+        Mockito.anyInt(),Mockito.anyString()))
     .thenReturn(new OperationResult(200, TestResourceLoader.getTestResourceDataJson(
         "/sync/aai/aai-traversal/generic-query/service-instance-53.json")));
 
     Mockito
     .when(aaiAdapter.queryActiveInventoryWithRetries(
         Matchers.contains("generic-query/service-instance-58"), Mockito.anyString(),
-        Mockito.anyInt()))
+        Mockito.anyInt(),Mockito.anyString()))
     .thenReturn(new OperationResult(200, TestResourceLoader.getTestResourceDataJson(
         "/sync/aai/aai-traversal/generic-query/service-instance-58.json")));
 
     Mockito
     .when(aaiAdapter.queryActiveInventoryWithRetries(
         Matchers.contains("generic-query/service-instance-51"), Mockito.anyString(),
-        Mockito.anyInt()))
+        Mockito.anyInt(),Mockito.anyString()))
     .thenReturn(new OperationResult(200, TestResourceLoader.getTestResourceDataJson(
         "/sync/aai/aai-traversal/generic-query/service-instance-51.json")));
 
     Mockito
     .when(aaiAdapter.queryActiveInventoryWithRetries(
         Matchers.contains("generic-query/service-instance-56"), Mockito.anyString(),
-        Mockito.anyInt()))
+        Mockito.anyInt(),Mockito.anyString()))
     .thenReturn(new OperationResult(200, TestResourceLoader.getTestResourceDataJson(
         "/sync/aai/aai-traversal/generic-query/service-instance-56.json")));
 
     Mockito
         .when(aaiAdapter.queryActiveInventoryWithRetries(
             Matchers.contains("service-subscription-2"), Mockito.anyString(),
-            Mockito.anyInt()))
+            Mockito.anyInt(),Mockito.anyString()))
         .thenReturn(new OperationResult(200, TestResourceLoader.getTestResourceDataJson(
             "/sync/aai/service-subscription-service-subscription-2.json")));
 
     Mockito
         .when(aaiAdapter.queryActiveInventoryWithRetries(
             Matchers.contains("service-subscription-1"), Mockito.anyString(),
-            Mockito.anyInt()))
+            Mockito.anyInt(),Mockito.anyString()))
         .thenReturn(new OperationResult(200, TestResourceLoader.getTestResourceDataJson(
             "/sync/aai/service-subscription-service-subscription-1.json")));
 
     Mockito
         .when(aaiAdapter.queryActiveInventoryWithRetries(Matchers.contains("service-subscription-3"),
-            Mockito.anyString(), Mockito.anyInt()))
+            Mockito.anyString(), Mockito.anyInt(),Mockito.anyString()))
         .thenReturn(new OperationResult(200, TestResourceLoader
             .getTestResourceDataJson("/sync/aai/service-subscription-service-subscription-3.json")));
     
     Mockito
     .when(aaiAdapter.queryActiveInventoryWithRetries(
         Matchers.contains("generic-query/service-instance-59"), Mockito.anyString(),
-        Mockito.anyInt()))
+        Mockito.anyInt(),Mockito.anyString()))
     .thenReturn(new OperationResult(200, TestResourceLoader.getTestResourceDataJson(
         "/sync/aai/aai-traversal/generic-query/service-instance-59.json")));
 
     Mockito
     .when(aaiAdapter.queryActiveInventoryWithRetries(
         Matchers.contains("generic-query/service-instance-54"), Mockito.anyString(),
-        Mockito.anyInt()))
+        Mockito.anyInt(),Mockito.anyString()))
     .thenReturn(new OperationResult(200, TestResourceLoader.getTestResourceDataJson(
         "/sync/aai/aai-traversal/generic-query/service-instance-54.json")));
     
     Mockito
     .when(aaiAdapter.queryActiveInventoryWithRetries(
         Matchers.contains("generic-query/service-instance-55"), Mockito.anyString(),
-        Mockito.anyInt()))
+        Mockito.anyInt(),Mockito.anyString()))
     .thenReturn(new OperationResult(200, TestResourceLoader.getTestResourceDataJson(
         "/sync/aai/aai-traversal/generic-query/service-instance-55.json")));
 
     Mockito
     .when(aaiAdapter.queryActiveInventoryWithRetries(
         Matchers.contains("generic-query/service-instance-50"), Mockito.anyString(),
-        Mockito.anyInt()))
+        Mockito.anyInt(),Mockito.anyString()))
     .thenReturn(new OperationResult(200, TestResourceLoader.getTestResourceDataJson(
         "/sync/aai/aai-traversal/generic-query/service-instance-50.json")));
 
     Mockito
     .when(aaiAdapter.queryActiveInventoryWithRetries(
         Matchers.contains("generic-query/service-instance-52"), Mockito.anyString(),
-        Mockito.anyInt()))
+        Mockito.anyInt(),Mockito.anyString()))
     .thenReturn(new OperationResult(200, TestResourceLoader.getTestResourceDataJson(
         "/sync/aai/aai-traversal/generic-query/service-instance-52.json")));
 
     Mockito
     .when(aaiAdapter.queryActiveInventoryWithRetries(
         Matchers.contains("generic-query/service-instance-57"), Mockito.anyString(),
-        Mockito.anyInt()))
+        Mockito.anyInt(),Mockito.anyString()))
     .thenReturn(new OperationResult(200, TestResourceLoader.getTestResourceDataJson(
         "/sync/aai/aai-traversal/generic-query/service-instance-57.json")));
 
     Mockito
     .when(aaiAdapter.queryActiveInventoryWithRetries(
         Matchers.contains("generic-query/service-instance-53"), Mockito.anyString(),
-        Mockito.anyInt()))
+        Mockito.anyInt(),Mockito.anyString()))
     .thenReturn(new OperationResult(200, TestResourceLoader.getTestResourceDataJson(
         "/sync/aai/aai-traversal/generic-query/service-instance-53.json")));
 
     Mockito
     .when(aaiAdapter.queryActiveInventoryWithRetries(
         Matchers.contains("generic-query/service-instance-58"), Mockito.anyString(),
-        Mockito.anyInt()))
+        Mockito.anyInt(),Mockito.anyString()))
     .thenReturn(new OperationResult(200, TestResourceLoader.getTestResourceDataJson(
         "/sync/aai/aai-traversal/generic-query/service-instance-58.json")));
 
     Mockito
     .when(aaiAdapter.queryActiveInventoryWithRetries(
         Matchers.contains("generic-query/service-instance-51"), Mockito.anyString(),
-        Mockito.anyInt()))
+        Mockito.anyInt(),Mockito.anyString()))
     .thenReturn(new OperationResult(200, TestResourceLoader.getTestResourceDataJson(
         "/sync/aai/aai-traversal/generic-query/service-instance-51.json")));
 
     Mockito
     .when(aaiAdapter.queryActiveInventoryWithRetries(
         Matchers.contains("generic-query/service-instance-56"), Mockito.anyString(),
-        Mockito.anyInt()))
+        Mockito.anyInt(),Mockito.anyString()))
     .thenReturn(new OperationResult(200, TestResourceLoader.getTestResourceDataJson(
         "/sync/aai/aai-traversal/generic-query/service-instance-56.json")));
 
 
     endpointConfig = new RestEndpointConfig();
     queryParams = new ArrayList<String>();
     endpointConfig.setRestAuthenticationMode(RestAuthenticationMode.SSL_BASIC);
-    aaiAdapter = new ActiveInventoryAdapter(oxmModelLoader, oxmEntityLookup, endpointConfig);
+    aaiAdapter = new ActiveInventoryAdapter(oxmModelLoader, oxmEntityLookup, endpointConfig,"aai");
   }
 
 
     assertNotNull(aaiAdapter.getGenericQueryForSelfLink("", queryParams));
     assertNull(aaiAdapter.getSelfLinkForEntity("pserver", "PrimaryKeyName", "PrimaryKeyValue"));
     assertNotNull(
-        aaiAdapter.queryActiveInventory("https://server.proxy:8443/aai/v11/", "application/json"));
+        aaiAdapter.queryActiveInventory("https://server.proxy:8443/aai/v11/", "application/json","sync"));
     assertNotNull(aaiAdapter.queryActiveInventoryWithRetries(
-        "https://server.proxy:8443/aai/v11/business/customers/", "application/json", 4));
+        "https://server.proxy:8443/aai/v11/business/customers/", "application/json", 4,"sync"));
     aaiAdapter.setOxmEntityLookup(oxmEntityLookup);
     assertNotNull(aaiAdapter.getOxmEntityLookup());
     aaiAdapter.setEndpointConfig(endpointConfig);
 
     entityLookup.addEntityDescriptor("pserver", desc);
 
     AttributeUpdater updater =
-        new AttributeUpdater(new OxmModelLoader("v11", null, null), entityLookup, aaiAdapter);
+        new AttributeUpdater(new OxmModelLoader("v11", null, null), entityLookup, aaiAdapter,"aai");
     Map<String, Object> attributes = new HashMap<>();
     attributes.put("prov-status", "PREPROV");
     attributes.put("in-maint", "true");
 
 
     AttributeUpdater updater =
-        new AttributeUpdater(new OxmModelLoader(version, null, null), entityLookup, aaiAdapter);
+        new AttributeUpdater(new OxmModelLoader(version, null, null), entityLookup, aaiAdapter,"aai");
     AaiEditObject result = updater.getEditObjectFromUri(null);
     assertEquals("Pserver", result.getObjectType());
     assertEquals("pserver", result.getRootElement());
     OxmEntityLookup entityLookup = new OxmEntityLookup();
     entityLookup.addEntityDescriptor("pserver", desc);
 
-    AttributeUpdater updater = new AttributeUpdater(new OxmModelLoader("v11",null,null), entityLookup, aaiAdapter);
+    AttributeUpdater updater = new AttributeUpdater(new OxmModelLoader("v11",null,null), entityLookup, aaiAdapter,"aai");
     // Test entity uri without "/aai/version/"
     String result = updater.getRelativeUri("cloud-infrastructure/pservers/pserver/mtznjtax101");
     assertEquals("/cloud-infrastructure/pservers/pserver/mtznjtax101", result);
 
--- /dev/null
+package org.onap.aai.sparky.personalization;
+
+import org.apache.camel.Exchange;
+import org.apache.camel.Message;
+import org.junit.Before;
+import org.junit.Test;
+import org.mockito.Mockito;
+import org.onap.aai.sparky.personalization.config.PersonalizationConfig;
+
+
+
+public class PersonalizationServiceProviderTest {
+
+  private PersonalizationServiceProvider personalizationServiceProvider;
+  private Exchange mockExchange;
+  private Message mockRequestMessage;
+  private Message mockResponseMessage;
+  private PersonalizationConfig mockPersonalizationConfig;
+
+
+  @Before
+  public void init() throws Exception {
+
+    mockExchange = Mockito.mock(Exchange.class);
+    mockRequestMessage = Mockito.mock(Message.class);
+    mockResponseMessage = Mockito.mock(Message.class);
+    mockPersonalizationConfig = Mockito.mock(PersonalizationConfig.class);
+    personalizationServiceProvider = new PersonalizationServiceProvider(mockPersonalizationConfig);
+
+
+    Mockito.when(mockExchange.getIn()).thenReturn(mockRequestMessage);
+    Mockito.when(mockExchange.getOut()).thenReturn(mockResponseMessage);
+
+   
+  }
+  
+
+}
 
--- /dev/null
+package org.onap.aai.sparky.personalization.config;
+
+
+import static org.junit.Assert.assertNotNull;
+
+import org.junit.Before;
+import org.junit.Test;
+
+public class PersonalizationConfigTest {
+
+  
+  private PersonalizationConfig personalizationConfig;
+  
+
+  @Before
+  public void init() throws Exception {
+    personalizationConfig = new PersonalizationConfig();
+  
+  }
+
+
+  @Test
+  public void updateValues() {
+
+    personalizationConfig.setHtmlDocumentTitle("AAI");
+    assertNotNull(personalizationConfig.getHtmlDocumentTitle());
+    personalizationConfig.setTopLeftHeader("AAI");
+    assertNotNull(personalizationConfig.getTopLeftHeader());
+ 
+  }
+
+}
 
                                        .thenReturn("https://server.proxy:8443/aai/v11/cloud-infrastructure/complexes/complex" + x);
 
                        Mockito.when(aaiAdapter.queryActiveInventoryWithRetries(Matchers.contains("complex" + x),
-                                       Mockito.anyString(), Mockito.anyInt()))
+                                       Mockito.anyString(), Mockito.anyInt(),Mockito.anyString()))
                                        .thenReturn(new OperationResult(200, TestResourceLoader
                                                        .getTestResourceDataJson("/sync/aai/complex" + x + "_fullDepth_aaiEntityRetrieval.json")));
 
                                        .thenReturn("https://server.proxy:8443/aai/v11/cloud-infrastructure/complexes/complex" + x);
 
                        Mockito.when(aaiAdapter.queryActiveInventoryWithRetries(Matchers.contains("complex" + x),
-                                       Mockito.anyString(), Mockito.anyInt()))
+                                       Mockito.anyString(), Mockito.anyInt(),Mockito.anyString()))
                                        .thenReturn(new OperationResult(200, TestResourceLoader
                                                        .getTestResourceDataJson("/sync/aai/complex" + x + "_fullDepth_aaiEntityRetrieval.json")));
 
                                        .thenReturn("https://server.proxy:8443/aai/v11/cloud-infrastructure/complexes/complex" + x);
 
                        Mockito.when(aaiAdapter.queryActiveInventoryWithRetries(Matchers.contains("complex" + x),
-                                       Mockito.anyString(), Mockito.anyInt()))
+                                       Mockito.anyString(), Mockito.anyInt(),Mockito.anyString()))
                                        .thenReturn(new OperationResult(200, TestResourceLoader
                                                        .getTestResourceDataJson("/sync/aai/complex" + x + "_fullDepth_aaiEntityRetrieval.json")));
 
 
 
     Mockito
         .when(aaiAdapter.queryActiveInventoryWithRetries(Matchers.contains("customer-4"),
-            Mockito.anyString(), Mockito.anyInt()))
+            Mockito.anyString(), Mockito.anyInt(),Mockito.anyString()))
         .thenReturn(new OperationResult(200, TestResourceLoader
             .getTestResourceDataJson("/sync/aai/aai-resources/customer/customer-4.json")));
 
 
     Mockito
         .when(aaiAdapter.queryActiveInventoryWithRetries(Matchers.contains("tenant/tenant-1"),
-            Mockito.anyString(), Mockito.anyInt()))
+            Mockito.anyString(), Mockito.anyInt(),Mockito.anyString()))
         .thenReturn(new OperationResult(200, TestResourceLoader
             .getTestResourceDataJson("/sync/aai/aai-resources/tenant/tenant-1.json")));
 
     Mockito
         .when(aaiAdapter.queryActiveInventoryWithRetries(
             Matchers.contains("generic-query/service-subscription-2"), Mockito.anyString(),
-            Mockito.anyInt()))
+            Mockito.anyInt(),Mockito.anyString()))
         .thenReturn(new OperationResult(200, TestResourceLoader.getTestResourceDataJson(
             "/sync/aai/aai-traversal/generic-query/service-subscription/service-subscription-2.json")));
 
     Mockito
         .when(aaiAdapter.queryActiveInventoryWithRetries(
             Matchers.contains("generic-query/service-instance-id/service-instance-54"),
-            Mockito.anyString(), Mockito.anyInt()))
+            Mockito.anyString(), Mockito.anyInt(),Mockito.anyString()))
         .thenReturn(new OperationResult(200, TestResourceLoader.getTestResourceDataJson(
             "/sync/aai/aai-traversal/generic-query/service-instance/service-instance-54.json")));
 
     Mockito
         .when(aaiAdapter.queryActiveInventoryWithRetries(
             Matchers.contains("generic-query/service-instance-id/service-instance-55"),
-            Mockito.anyString(), Mockito.anyInt()))
+            Mockito.anyString(), Mockito.anyInt(),Mockito.anyString()))
         .thenReturn(new OperationResult(200, TestResourceLoader.getTestResourceDataJson(
             "/sync/aai/aai-traversal/generic-query/service-instance/service-instance-55.json")));
 
 
 
   private void initializeMocksForBuildVisualizationUsingGenericQueryTest() {
     Mockito.when(mockAaiAdapter.queryActiveInventoryWithRetries(Mockito.anyString(),
-        Mockito.anyString(), Mockito.anyInt())).thenReturn(null);
+        Mockito.anyString(), Mockito.anyInt(),Mockito.anyString())).thenReturn(null);
   }
 
 }
 
     visualConfig.setSelectedSearchedNodeClassName(null);
     assertNull(visualConfig.getSelectedSearchedNodeClassName());
     assertNotNull(visualConfig.toString());
+    
+    visualConfig.setDelimitedShallowEntities("cloud-region,network,pserver");
+    assertNotNull(visualConfig.getShallowEntities());
+    assertEquals(3, visualConfig.getShallowEntities().size());
 
 
   }
 
 import org.junit.Test;
 import org.onap.aai.restclient.client.OperationResult;
 import org.onap.aai.sparky.config.oxm.OxmEntityLookup;
+import org.onap.aai.sparky.util.NodeUtils;
 import org.onap.aai.sparky.viewandinspect.config.VisualizationConfigs;
 
 public class ActiveInventoryNodeTest {
                        assertNotNull(activeInventoryNode.getEntityType());
                        assertNotNull(activeInventoryNode.dumpNodeTree(true));
                        assertNotNull(activeInventoryNode.getProcessingErrorCauses());
-                       assertNull(activeInventoryNode.calculateEditAttributeUri("Invalid-link"));
-                       assertNull(activeInventoryNode.calculateEditAttributeUri("aai/v[\\d]/"));
+                       assertNull(NodeUtils.calculateEditAttributeUri("Invalid-link"));
+                       assertNull(NodeUtils.calculateEditAttributeUri("aai/v[\\d]/"));
                        activeInventoryNode.processPathedSelfLinkResponse("jsonResp","startNodeType","startNodeResourceKey");
                        activeInventoryNode.processPathedSelfLinkResponse(null,"startNodeType","startNodeResourceKey");
                        activeInventoryNode.processPathedSelfLinkResponse("","startNodeType","startNodeResourceKey");
 
 
     Mockito
         .when(aaiAdapter.queryActiveInventoryWithRetries(Matchers.contains("customer-4"),
-            Mockito.anyString(), Mockito.anyInt()))
+            Mockito.anyString(), Mockito.anyInt(),Mockito.anyString()))
         .thenReturn(new OperationResult(200, TestResourceLoader
             .getTestResourceDataJson("/sync/aai/aai-resources/customer/customer-4.json")));
 
 
     Mockito
         .when(aaiAdapter.queryActiveInventoryWithRetries(Matchers.contains("tenant/tenant-1"),
-            Mockito.anyString(), Mockito.anyInt()))
+            Mockito.anyString(), Mockito.anyInt(),Mockito.anyString()))
         .thenReturn(new OperationResult(200, TestResourceLoader
             .getTestResourceDataJson("/sync/aai/aai-resources/tenant/tenant-1.json")));
 
     Mockito
         .when(aaiAdapter.queryActiveInventoryWithRetries(
             Matchers.contains("generic-query/service-subscription-2"), Mockito.anyString(),
-            Mockito.anyInt()))
+            Mockito.anyInt(),Mockito.anyString()))
         .thenReturn(new OperationResult(200, TestResourceLoader.getTestResourceDataJson(
             "/sync/aai/aai-traversal/generic-query/service-subscription/service-subscription-2.json")));
 
     Mockito
         .when(aaiAdapter.queryActiveInventoryWithRetries(
             Matchers.contains("generic-query/service-instance-id/service-instance-54"),
-            Mockito.anyString(), Mockito.anyInt()))
+            Mockito.anyString(), Mockito.anyInt(),Mockito.anyString()))
         .thenReturn(new OperationResult(200, TestResourceLoader.getTestResourceDataJson(
             "/sync/aai/aai-traversal/generic-query/service-instance/service-instance-54.json")));
 
     Mockito
         .when(aaiAdapter.queryActiveInventoryWithRetries(
             Matchers.contains("generic-query/service-instance-id/service-instance-55"),
-            Mockito.anyString(), Mockito.anyInt()))
+            Mockito.anyString(), Mockito.anyInt(),Mockito.anyString()))
         .thenReturn(new OperationResult(200, TestResourceLoader.getTestResourceDataJson(
             "/sync/aai/aai-traversal/generic-query/service-instance/service-instance-55.json")));
 
 
 
     Mockito
         .when(aaiAdapter.queryActiveInventoryWithRetries(Matchers.contains("generic-vnf-1"),
-            Mockito.anyString(), Mockito.anyInt()))
+            Mockito.anyString(), Mockito.anyInt(),Mockito.anyString()))
         .thenReturn(new OperationResult(200, TestResourceLoader
             .getTestResourceDataJson("/sync/aai/generic-vnf-generic-vnf-1_full_depth.json")));
 
     Mockito
         .when(aaiAdapter.queryActiveInventoryWithRetries(Matchers.contains("generic-vnf-2"),
-            Mockito.anyString(), Mockito.anyInt()))
+            Mockito.anyString(), Mockito.anyInt(),Mockito.anyString()))
         .thenReturn(new OperationResult(200, TestResourceLoader
             .getTestResourceDataJson("/sync/aai/generic-vnf-generic-vnf-2_full_depth.json")));
 
     Mockito
         .when(aaiAdapter.queryActiveInventoryWithRetries(Matchers.contains("generic-vnf-3"),
-            Mockito.anyString(), Mockito.anyInt()))
+            Mockito.anyString(), Mockito.anyInt(),Mockito.anyString()))
         .thenReturn(new OperationResult(200, TestResourceLoader
             .getTestResourceDataJson("/sync/aai/generic-vnf-generic-vnf-3_full_depth.json")));
 
 
     Mockito
         .when(aaiAdapter.queryActiveInventoryWithRetries(Matchers.contains("generic-vnf-1"),
-            Mockito.anyString(), Mockito.anyInt()))
+            Mockito.anyString(), Mockito.anyInt(),Mockito.anyString()))
         .thenReturn(new OperationResult(200, TestResourceLoader
             .getTestResourceDataJson("/sync/aai/generic-vnf-generic-vnf-1_full_depth.json")));
 
     Mockito
         .when(aaiAdapter.queryActiveInventoryWithRetries(Matchers.contains("generic-vnf-2"),
-            Mockito.anyString(), Mockito.anyInt()))
+            Mockito.anyString(), Mockito.anyInt(),Mockito.anyString()))
         .thenReturn(new OperationResult(200, TestResourceLoader
             .getTestResourceDataJson("/sync/aai/generic-vnf-generic-vnf-2_full_depth.json")));
 
     Mockito
         .when(aaiAdapter.queryActiveInventoryWithRetries(Matchers.contains("generic-vnf-3"),
-            Mockito.anyString(), Mockito.anyInt()))
+            Mockito.anyString(), Mockito.anyInt(),Mockito.anyString()))
         .thenReturn(new OperationResult(200, TestResourceLoader
             .getTestResourceDataJson("/sync/aai/generic-vnf-generic-vnf-3_full_depth.json")));