ONAP
   ================================================================================
   Copyright (C) 2018-2019 AT&T Intellectual Property. All rights reserved.
+  Modifications Copyright (C) 2019 Nordix Foundation.
   ================================================================================
   Licensed under the Apache License, Version 2.0 (the "License");
   you may not use this file except in compliance with the License.
 
     <dependencies>
         <dependency>
-            <groupId>org.onap.policy.drools-applications.controlloop.common.model-impl</groupId>
+            <groupId>org.onap.policy.models.policy-models-interactions.model-impl</groupId>
             <artifactId>events</artifactId>
-            <version>${project.version}</version>
+            <version>${policy.models.version}</version>
             <scope>provided</scope>
         </dependency>
         <dependency>
-            <groupId>org.onap.policy.drools-applications.controlloop.common.model-impl</groupId>
+            <groupId>org.onap.policy.models.policy-models-interactions.model-impl</groupId>
             <artifactId>appc</artifactId>
-            <version>${project.version}</version>
+            <version>${policy.models.version}</version>
             <scope>provided</scope>
         </dependency>
         <dependency>
-            <groupId>org.onap.policy.drools-applications.controlloop.common.model-impl</groupId>
+            <groupId>org.onap.policy.models.policy-models-interactions.model-impl</groupId>
             <artifactId>appclcm</artifactId>
-            <version>${project.version}</version>
+            <version>${policy.models.version}</version>
             <scope>provided</scope>
         </dependency>
         <dependency>
-            <groupId>org.onap.policy.drools-applications.controlloop.common.model-impl</groupId>
+            <groupId>org.onap.policy.models.policy-models-interactions.model-impl</groupId>
             <artifactId>sdnr</artifactId>
-            <version>${project.version}</version>
+            <version>${policy.models.version}</version>
             <scope>provided</scope>
         </dependency>
         <dependency>
-            <groupId>org.onap.policy.drools-applications.controlloop.common.model-impl</groupId>
+            <groupId>org.onap.policy.models.policy-models-interactions.model-impl</groupId>
             <artifactId>vfc</artifactId>
-            <version>${project.version}</version>
+            <version>${policy.models.version}</version>
             <scope>provided</scope>
         </dependency>
         <dependency>
-            <groupId>org.onap.policy.drools-applications.controlloop.common.model-impl</groupId>
+            <groupId>org.onap.policy.models.policy-models-interactions.model-impl</groupId>
             <artifactId>sdnc</artifactId>
-            <version>${project.version}</version>
+            <version>${policy.models.version}</version>
             <scope>provided</scope>
         </dependency>
         <dependency>
-            <groupId>org.onap.policy.drools-applications.controlloop.common.model-impl</groupId>
+            <groupId>org.onap.policy.models.policy-models-interactions.model-impl</groupId>
             <artifactId>so</artifactId>
-            <version>${project.version}</version>
+            <version>${policy.models.version}</version>
             <scope>provided</scope>
         </dependency>
         <dependency>
-            <groupId>org.onap.policy.drools-applications.controlloop.common.model-impl</groupId>
+            <groupId>org.onap.policy.models.policy-models-interactions.model-impl</groupId>
             <artifactId>aai</artifactId>
-            <version>${project.version}</version>
+            <version>${policy.models.version}</version>
             <scope>provided</scope>
         </dependency>
         <dependency>
-            <groupId>org.onap.policy.drools-applications.controlloop.common.model-impl</groupId>
+            <groupId>org.onap.policy.models.policy-models-interactions.model-impl</groupId>
             <artifactId>sdc</artifactId>
-            <version>${project.version}</version>
+            <version>${policy.models.version}</version>
             <scope>provided</scope>
         </dependency>
         <dependency>
-            <groupId>org.onap.policy.drools-applications.controlloop.common.model-impl</groupId>
+            <groupId>org.onap.policy.models.policy-models-interactions.model-impl</groupId>
             <artifactId>trafficgenerator</artifactId>
-            <version>${project.version}</version>
+            <version>${policy.models.version}</version>
             <scope>provided</scope>
         </dependency>
         <dependency>
             <scope>provided</scope>
         </dependency>
         <dependency>
-            <groupId>org.onap.policy.drools-applications.controlloop.common.actors</groupId>
+            <groupId>org.onap.policy.models.policy-models-interactions.model-actors</groupId>
             <artifactId>actorServiceProvider</artifactId>
-            <version>${project.version}</version>
+            <version>${policy.models.version}</version>
             <scope>provided</scope>
         </dependency>
         <dependency>
-            <groupId>org.onap.policy.drools-applications.controlloop.common.actors</groupId>
+            <groupId>org.onap.policy.models.policy-models-interactions.model-actors</groupId>
             <artifactId>actor.appc</artifactId>
-            <version>${project.version}</version>
+            <version>${policy.models.version}</version>
             <scope>provided</scope>
         </dependency>
         <dependency>
-            <groupId>org.onap.policy.drools-applications.controlloop.common.actors</groupId>
+            <groupId>org.onap.policy.models.policy-models-interactions.model-actors</groupId>
             <artifactId>actor.appclcm</artifactId>
-            <version>${project.version}</version>
+            <version>${policy.models.version}</version>
             <scope>provided</scope>
         </dependency>
         <dependency>
-            <groupId>org.onap.policy.drools-applications.controlloop.common.actors</groupId>
+            <groupId>org.onap.policy.models.policy-models-interactions.model-actors</groupId>
             <artifactId>actor.sdnr</artifactId>
-            <version>${project.version}</version>
+            <version>${policy.models.version}</version>
             <scope>provided</scope>
         </dependency>
         <dependency>
-            <groupId>org.onap.policy.drools-applications.controlloop.common.actors</groupId>
+            <groupId>org.onap.policy.models.policy-models-interactions.model-actors</groupId>
             <artifactId>actor.so</artifactId>
-            <version>${project.version}</version>
+            <version>${policy.models.version}</version>
             <scope>provided</scope>
         </dependency>
         <dependency>
-            <groupId>org.onap.policy.drools-applications.controlloop.common.actors</groupId>
+            <groupId>org.onap.policy.models.policy-models-interactions.model-actors</groupId>
             <artifactId>actor.vfc</artifactId>
-            <version>${project.version}</version>
+            <version>${policy.models.version}</version>
             <scope>provided</scope>
         </dependency>
         <dependency>
-            <groupId>org.onap.policy.drools-applications.controlloop.common.actors</groupId>
+            <groupId>org.onap.policy.models.policy-models-interactions.model-actors</groupId>
             <artifactId>actor.sdnc</artifactId>
-            <version>${project.version}</version>
+            <version>${policy.models.version}</version>
             <scope>provided</scope>
         </dependency>
         <dependency>
-            <groupId>org.onap.policy.drools-applications.controlloop.common</groupId>
-            <artifactId>policy-yaml</artifactId>
-            <version>${project.version}</version>
+            <groupId>org.onap.policy.models.policy-models-interactions</groupId>
+            <artifactId>model-yaml</artifactId>
+            <version>${policy.models.version}</version>
             <scope>provided</scope>
         </dependency>
         <dependency>
 
   eventmanager
   ================================================================================
   Copyright (C) 2017-2019 AT&T Intellectual Property. All rights reserved.
+  Modifications Copyright (C) 2019 Nordix Foundation.
   ================================================================================
   Licensed under the Apache License, Version 2.0 (the "License");
   you may not use this file except in compliance with the License.
       <scope>provided</scope>
     </dependency>
     <dependency>
-      <groupId>org.onap.policy.drools-applications.controlloop.common.actors</groupId>
+      <groupId>org.onap.policy.models.policy-models-interactions.model-actors</groupId>
       <artifactId>actorServiceProvider</artifactId>
-      <version>${project.version}</version>
+      <version>${policy.models.version}</version>
       <scope>provided</scope>
     </dependency>
     <dependency>
-      <groupId>org.onap.policy.drools-applications.controlloop.common.actors</groupId>
+      <groupId>org.onap.policy.models.policy-models-interactions.model-actors</groupId>
       <artifactId>actor.sdnr</artifactId>
-      <version>${project.version}</version>
+      <version>${policy.models.version}</version>
       <scope>provided</scope>
     </dependency>
     <dependency>
-      <groupId>org.onap.policy.drools-applications.controlloop.common.actors</groupId>
+      <groupId>org.onap.policy.models.policy-models-interactions.model-actors</groupId>
       <artifactId>actor.appc</artifactId>
-      <version>${project.version}</version>
+      <version>${policy.models.version}</version>
       <scope>provided</scope>
     </dependency>
     <dependency>
-      <groupId>org.onap.policy.drools-applications.controlloop.common.actors</groupId>
+      <groupId>org.onap.policy.models.policy-models-interactions.model-actors</groupId>
       <artifactId>actor.so</artifactId>
-      <version>${project.version}</version>
+      <version>${policy.models.version}</version>
       <scope>provided</scope>
     </dependency>
     <dependency>
-      <groupId>org.onap.policy.drools-applications.controlloop.common.actors</groupId>
+      <groupId>org.onap.policy.models.policy-models-interactions.model-actors</groupId>
       <artifactId>actor.vfc</artifactId>
-      <version>${project.version}</version>
+      <version>${policy.models.version}</version>
       <scope>provided</scope>
     </dependency>
     <dependency>
-      <groupId>org.onap.policy.drools-applications.controlloop.common.actors</groupId>
+      <groupId>org.onap.policy.models.policy-models-interactions.model-actors</groupId>
       <artifactId>actor.sdnc</artifactId>
-      <version>${project.version}</version>
+      <version>${policy.models.version}</version>
       <scope>provided</scope>
     </dependency>
     <dependency>
-      <groupId>org.onap.policy.drools-applications.controlloop.common.actors</groupId>
+      <groupId>org.onap.policy.models.policy-models-interactions.model-actors</groupId>
       <artifactId>actor.appclcm</artifactId>
-      <version>${project.version}</version>
+      <version>${policy.models.version}</version>
       <scope>provided</scope>
     </dependency>
     <dependency>
       <scope>provided</scope>
     </dependency>
     <dependency>
-      <groupId>org.onap.policy.drools-applications.controlloop.common.model-impl</groupId>
+      <groupId>org.onap.policy.models.policy-models-interactions.model-impl</groupId>
       <artifactId>events</artifactId>
-      <version>${project.version}</version>
+      <version>${policy.models.version}</version>
       <scope>provided</scope>
     </dependency>
     <dependency>
-      <groupId>org.onap.policy.drools-applications.controlloop.common.model-impl</groupId>
+      <groupId>org.onap.policy.models.policy-models-interactions.model-impl</groupId>
       <artifactId>sdnr</artifactId>
-      <version>${project.version}</version>
+      <version>${policy.models.version}</version>
       <scope>provided</scope>
     </dependency>
     <dependency>
-      <groupId>org.onap.policy.drools-applications.controlloop.common.model-impl</groupId>
+      <groupId>org.onap.policy.models.policy-models-interactions.model-impl</groupId>
       <artifactId>appc</artifactId>
-      <version>${project.version}</version>
+      <version>${policy.models.version}</version>
       <scope>provided</scope>
     </dependency>
     <dependency>
-      <groupId>org.onap.policy.drools-applications.controlloop.common.model-impl</groupId>
+      <groupId>org.onap.policy.models.policy-models-interactions.model-impl</groupId>
       <artifactId>vfc</artifactId>
-      <version>${project.version}</version>
+      <version>${policy.models.version}</version>
       <scope>provided</scope>
     </dependency>
     <dependency>
-      <groupId>org.onap.policy.drools-applications.controlloop.common.model-impl</groupId>
+      <groupId>org.onap.policy.models.policy-models-interactions.model-impl</groupId>
       <artifactId>sdnc</artifactId>
-      <version>${project.version}</version>
+      <version>${policy.models.version}</version>
       <scope>provided</scope>
     </dependency>
     <dependency>
-      <groupId>org.onap.policy.drools-applications.controlloop.common.model-impl</groupId>
+      <groupId>org.onap.policy.models.policy-models-interactions.model-impl</groupId>
       <artifactId>appclcm</artifactId>
-      <version>${project.version}</version>
+      <version>${policy.models.version}</version>
       <scope>provided</scope>
     </dependency>
     <dependency>
-      <groupId>org.onap.policy.drools-applications.controlloop.common.model-impl</groupId>
+      <groupId>org.onap.policy.models.policy-models-interactions.model-impl</groupId>
       <artifactId>trafficgenerator</artifactId>
-      <version>${project.version}</version>
+      <version>${policy.models.version}</version>
       <scope>provided</scope>
     </dependency>
     <dependency>
       <scope>provided</scope>
     </dependency>
     <dependency>
-      <groupId>org.onap.policy.drools-applications.controlloop.common.model-impl</groupId>
+      <groupId>org.onap.policy.models.policy-models-interactions.model-impl</groupId>
       <artifactId>sdc</artifactId>
-      <version>${project.version}</version>
+      <version>${policy.models.version}</version>
       <scope>provided</scope>
     </dependency>
     <dependency>
-      <groupId>org.onap.policy.drools-applications.controlloop.common.model-impl</groupId>
+      <groupId>org.onap.policy.models.policy-models-interactions.model-impl</groupId>
       <artifactId>aai</artifactId>
-      <version>${project.version}</version>
+      <version>${policy.models.version}</version>
       <scope>provided</scope>
     </dependency>
     <dependency>
-      <groupId>org.onap.policy.drools-applications.controlloop.common.model-impl</groupId>
+      <groupId>org.onap.policy.models.policy-models-interactions.model-impl</groupId>
       <artifactId>so</artifactId>
-      <version>${project.version}</version>
+      <version>${policy.models.version}</version>
       <scope>provided</scope>
     </dependency>
     <dependency>
       <scope>test</scope>
     </dependency>
     <dependency>
-      <groupId>org.onap.policy.drools-applications.controlloop.common</groupId>
+      <groupId>org.onap.policy.models.policy-models-interactions</groupId>
       <artifactId>simulators</artifactId>
-      <version>${project.version}</version>
+      <version>${policy.models.version}</version>
       <scope>test</scope>
     </dependency>
     <dependency>
 
 import java.util.List;
 import java.util.NoSuchElementException;
 import java.util.Properties;
-
 import javax.persistence.EntityManager;
 import javax.persistence.Persistence;
-
 import org.eclipse.persistence.config.PersistenceUnitProperties;
 import org.onap.policy.aai.util.AaiException;
 import org.onap.policy.appc.Response;
 
     /**
      * Construct an instance.
-     * 
+     *
      * @param onset the onset event
      * @param policy the policy
      * @param em the event manager
                      * yaml, the target vnf-id is retrieved by a named query to A&AI.
                      */
                     String targetVnf = AppcLcmActorServiceProvider.vnfNamedQuery(policy.getTarget().getResourceID(),
-                            this.targetEntity);
+                            this.targetEntity, PolicyEngine.manager.getEnvironmentProperty("aai.url"),
+                            PolicyEngine.manager.getEnvironmentProperty("aai.username"),
+                            PolicyEngine.manager.getEnvironmentProperty("aai.password"));
                     this.targetEntity = targetVnf;
                 }
                 break;
     //
     private class Operation implements Serializable {
         private static final long serialVersionUID = 1L;
-        
+
         private ControlLoopOperation clOperation = new ControlLoopOperation();
         private PolicyResult policyResult = null;
         private int attempt = 0;
 
     /**
      * Get the target for a policy.
-     * 
+     *
      * @param policy the policy
      * @return the target
      * @throws ControlLoopException if an error occurs
 
     /**
      * Start an operation.
-     * 
+     *
      * @param onset the onset event
      * @return the operation request
      * @throws ControlLoopException if an error occurs
                 return operationRequest;
             case "VFC":
                 this.operationRequest = VfcActorServiceProvider.constructRequest((VirtualControlLoopEvent) onset,
-                        operation.clOperation, this.policy, this.eventManager.getVnfResponse());
+                        operation.clOperation, this.policy, this.eventManager.getVnfResponse(),
+                        PolicyEngine.manager.getEnvironmentProperty("vfc.url"),
+                        PolicyEngine.manager.getEnvironmentProperty("vfc.username"),
+                        PolicyEngine.manager.getEnvironmentProperty("vfc.password"));
                 this.currentOperation = operation;
                 if (this.operationRequest == null) {
                     this.policyResult = PolicyResult.FAILURE;
 
     /**
      * Handle a response.
-     * 
+     *
      * @param response the response
      * @return a PolicyResult
      */
 
     /**
      * This method handles operation responses from APPC.
-     * 
+     *
      * @param appcResponse the APPC response
      * @return The result of the response handling
      */
 
     /**
      * This method handles operation responses from LCM.
-     * 
+     *
      * @param dmaapResponse the LCM response
      * @return The result of the response handling
      */
 
     /**
      * This method handles operation responses from SDNR.
-     * 
+     *
      * @param dmaapResponse the SDNR response
      * @return the result of the response handling
      */
 
     /**
      * This method handles operation responses from SO.
-     * 
+     *
      * @param msoResponse the SO response
      * @return The result of the response handling
      */
 
     /**
      * This method handles operation responses from VFC.
-     * 
+     *
      * @param vfcResponse the VFC response
      * @return The result of the response handling
      */
 
     /**
      * Get the operation timeout.
-     * 
+     *
      * @return the timeout
      */
     public Integer getOperationTimeout() {
 
     /**
      * Get the operation timeout as a String.
-     * 
+     *
      * @param defaultTimeout the default timeout
      * @return the timeout as a String
      */
 
     /**
      * Get the operation as a message.
-     * 
+     *
      * @return the operation as a message
      */
     public String getOperationMessage() {
 
     /**
      * Get the operation as a message including the guard result.
-     * 
+     *
      * @param guardResult the guard result
      * @return the operation as a message including the guard result
      */
 
     /**
      * Get the operation history.
-     * 
+     *
      * @return the operation history
      */
     public String getOperationHistory() {
 
     /**
      * Get the history.
-     * 
+     *
      * @return the list of control loop operations
      */
     public List<ControlLoopOperation> getHistory() {
 
     /**
      * Is the operation complete.
-     * 
+     *
      * @return <code>true</code> if the operation is complete, <code>false</code> otherwise
      */
     public boolean isOperationComplete() {
 
     /**
      * This method verifies that the operation manager may run an operation.
-     * 
+     *
      * @return True if the operation can run, false otherwise
      * @throws ControlLoopException if the operation cannot run
      */
      */
     public void commitAbatement(String message, String outcome) {
         logger.info("commitAbatement: {}. {}", message, outcome);
-        
+
         if (this.currentOperation == null) {
             try {
                 this.currentOperation = this.operationHistory.getLast();
 
   ONAP
   ================================================================================
   Copyright (C) 2018-2019 AT&T Intellectual Property. All rights reserved.
+  Modifications Copyright (C) 2019 Nordix Foundation.
   ================================================================================
   Licensed under the Apache License, Version 2.0 (the "License");
   you may not use this file except in compliance with the License.
 
     <dependencies>
         <dependency>
-            <groupId>org.onap.policy.drools-applications.controlloop.common.model-impl</groupId>
+            <groupId>org.onap.policy.models.policy-models-interactions.model-impl</groupId>
             <artifactId>events</artifactId>
-            <version>${project.version}</version>
+            <version>${policy.models.version}</version>
         </dependency>
         <dependency>
-            <groupId>org.onap.policy.drools-applications.controlloop.common.model-impl</groupId>
+            <groupId>org.onap.policy.models.policy-models-interactions.model-impl</groupId>
             <artifactId>appc</artifactId>
-            <version>${project.version}</version>
+            <version>${policy.models.version}</version>
         </dependency>
         <dependency>
-            <groupId>org.onap.policy.drools-applications.controlloop.common.model-impl</groupId>
+            <groupId>org.onap.policy.models.policy-models-interactions.model-impl</groupId>
             <artifactId>appclcm</artifactId>
-            <version>${project.version}</version>
+            <version>${policy.models.version}</version>
         </dependency>
         <dependency>
-            <groupId>org.onap.policy.drools-applications.controlloop.common.model-impl</groupId>
+            <groupId>org.onap.policy.models.policy-models-interactions.model-impl</groupId>
             <artifactId>sdnc</artifactId>
-            <version>${project.version}</version>
+            <version>${policy.models.version}</version>
         </dependency>
         <dependency>
-            <groupId>org.onap.policy.drools-applications.controlloop.common.model-impl</groupId>
+            <groupId>org.onap.policy.models.policy-models-interactions.model-impl</groupId>
             <artifactId>sdnr</artifactId>
-            <version>${project.version}</version>
+            <version>${policy.models.version}</version>
         </dependency>
         <dependency>
-            <groupId>org.onap.policy.drools-applications.controlloop.common.model-impl</groupId>
+            <groupId>org.onap.policy.models.policy-models-interactions.model-impl</groupId>
             <artifactId>vfc</artifactId>
-            <version>${project.version}</version>
+            <version>${policy.models.version}</version>
         </dependency>
         <dependency>
-            <groupId>org.onap.policy.drools-applications.controlloop.common.model-impl</groupId>
+            <groupId>org.onap.policy.models.policy-models-interactions.model-impl</groupId>
             <artifactId>so</artifactId>
-            <version>${project.version}</version>
+            <version>${policy.models.version}</version>
         </dependency>
         <dependency>
-            <groupId>org.onap.policy.drools-applications.controlloop.common.model-impl</groupId>
+            <groupId>org.onap.policy.models.policy-models-interactions.model-impl</groupId>
             <artifactId>aai</artifactId>
-            <version>${project.version}</version>
+            <version>${policy.models.version}</version>
         </dependency>
         <dependency>
-            <groupId>org.onap.policy.drools-applications.controlloop.common.model-impl</groupId>
+            <groupId>org.onap.policy.models.policy-models-interactions.model-impl</groupId>
             <artifactId>sdc</artifactId>
-            <version>${project.version}</version>
+            <version>${policy.models.version}</version>
         </dependency>
         <dependency>
-            <groupId>org.onap.policy.drools-applications.controlloop.common.model-impl</groupId>
+            <groupId>org.onap.policy.models.policy-models-interactions.model-impl</groupId>
             <artifactId>trafficgenerator</artifactId>
-            <version>${project.version}</version>
+            <version>${policy.models.version}</version>
         </dependency>
         <dependency>
             <groupId>org.onap.policy.drools-applications.controlloop.common</groupId>
             <version>${project.version}</version>
         </dependency>
         <dependency>
-            <groupId>org.onap.policy.drools-applications.controlloop.common.actors</groupId>
+            <groupId>org.onap.policy.models.policy-models-interactions.model-actors</groupId>
             <artifactId>actorServiceProvider</artifactId>
-            <version>${project.version}</version>
+            <version>${policy.models.version}</version>
             <exclusions>
                 <exclusion>
                     <artifactId>guava</artifactId>
             </exclusions>
         </dependency>
         <dependency>
-            <groupId>org.onap.policy.drools-applications.controlloop.common.actors</groupId>
+            <groupId>org.onap.policy.models.policy-models-interactions.model-actors</groupId>
             <artifactId>actor.appc</artifactId>
-            <version>${project.version}</version>
+            <version>${policy.models.version}</version>
             <exclusions>
                 <exclusion>
                     <artifactId>guava</artifactId>
             </exclusions>
         </dependency>
         <dependency>
-            <groupId>org.onap.policy.drools-applications.controlloop.common.actors</groupId>
+            <groupId>org.onap.policy.models.policy-models-interactions.model-actors</groupId>
             <artifactId>actor.appclcm</artifactId>
-            <version>${project.version}</version>
+            <version>${policy.models.version}</version>
             <exclusions>
                 <exclusion>
                     <artifactId>guava</artifactId>
             </exclusions>
         </dependency>
         <dependency>
-            <groupId>org.onap.policy.drools-applications.controlloop.common.actors</groupId>
+            <groupId>org.onap.policy.models.policy-models-interactions.model-actors</groupId>
             <artifactId>actor.sdnr</artifactId>
-            <version>${project.version}</version>
+            <version>${policy.models.version}</version>
             <exclusions>
                 <exclusion>
                     <artifactId>guava</artifactId>
             </exclusions>
         </dependency>
         <dependency>
-            <groupId>org.onap.policy.drools-applications.controlloop.common.actors</groupId>
+            <groupId>org.onap.policy.models.policy-models-interactions.model-actors</groupId>
             <artifactId>actor.so</artifactId>
-            <version>${project.version}</version>
+            <version>${policy.models.version}</version>
             <exclusions>
                 <exclusion>
                     <artifactId>guava</artifactId>
             </exclusions>
         </dependency>
         <dependency>
-            <groupId>org.onap.policy.drools-applications.controlloop.common.actors</groupId>
+            <groupId>org.onap.policy.models.policy-models-interactions.model-actors</groupId>
             <artifactId>actor.vfc</artifactId>
-            <version>${project.version}</version>
+            <version>${policy.models.version}</version>
             <exclusions>
                 <exclusion>
                     <artifactId>guava</artifactId>
             </exclusions>
         </dependency>
         <dependency>
-            <groupId>org.onap.policy.drools-applications.controlloop.common.actors</groupId>
+            <groupId>org.onap.policy.models.policy-models-interactions.model-actors</groupId>
             <artifactId>actor.sdnc</artifactId>
-            <version>${project.version}</version>
+            <version>${policy.models.version}</version>
             <exclusions>
                 <exclusion>
                     <artifactId>guava</artifactId>
             </exclusions>
         </dependency>
         <dependency>
-            <groupId>org.onap.policy.drools-applications.controlloop.common</groupId>
-            <artifactId>policy-yaml</artifactId>
-            <version>${project.version}</version>
+            <groupId>org.onap.policy.models.policy-models-interactions</groupId>
+            <artifactId>model-yaml</artifactId>
+            <version>${policy.models.version}</version>
             <exclusions>
                 <exclusion>
                     <artifactId>guava</artifactId>
 
   ONAP
   ================================================================================
   Copyright (C) 2018 AT&T Intellectual Property. All rights reserved.
+  Modifications Copyright (C) 2019 Nordix Foundation.
   ================================================================================
   Licensed under the Apache License, Version 2.0 (the "License");
   you may not use this file except in compliance with the License.
     <modelVersion>4.0.0</modelVersion>
 
     <parent>
-        <groupId>org.onap.policy.drools-applications.controlloop.common.model-impl</groupId>
+        <groupId>org.onap.policy.models.policy-models-interactions.model-impl</groupId>
         <artifactId>model-impl</artifactId>
-        <version>1.4.0-SNAPSHOT</version>
+        <version>2.0.0-SNAPSHOT</version>
     </parent>
 
     <groupId>org.onap.policy.drools.apps.test</groupId>
 
     <dependencies>
         <dependency>
-            <groupId>org.onap.policy.drools-applications.controlloop.common.model-impl</groupId>
+            <groupId>org.onap.policy.models.policy-models-interactions.model-impl</groupId>
             <artifactId>events</artifactId>
-            <version>1.4.0-SNAPSHOT</version>
+            <version>2.0.0-SNAPSHOT</version>
             <scope>provided</scope>
         </dependency>
     </dependencies>
 
   ONAP
   ================================================================================
   Copyright (C) 2018-2019 AT&T Intellectual Property. All rights reserved.
+  Modifications Copyright (C) 2019 Nordix Foundation.
   ================================================================================
   Licensed under the Apache License, Version 2.0 (the "License");
   you may not use this file except in compliance with the License.
 
     <dependencies>
         <dependency>
-            <groupId>org.onap.policy.drools-applications.controlloop.common.model-impl</groupId>
+            <groupId>org.onap.policy.models.policy-models-interactions.model-impl</groupId>
             <artifactId>events</artifactId>
-            <version>${project.version}</version>
+            <version>${policy.models.version}</version>
         </dependency>
         <dependency>
             <groupId>org.onap.policy.common</groupId>
 
   ONAP
   ================================================================================
   Copyright (C) 2017-2018 AT&T Intellectual Property. All rights reserved.
+  Modifications Copyright (C) 2019 Nordix Foundation.
   ================================================================================
   Licensed under the Apache License, Version 2.0 (the "License");
   you may not use this file except in compliance with the License.
       <scope>provided</scope>
     </dependency>
     <dependency>
-      <groupId>org.onap.policy.drools-applications.controlloop.common</groupId>
+      <groupId>org.onap.policy.models.policy-models-interactions</groupId>
       <artifactId>simulators</artifactId>
-      <version>${project.version}</version>
+      <version>${policy.models.version}</version>
     </dependency>
     <dependency>
-      <groupId>org.onap.policy.drools-applications.controlloop.common.model-impl</groupId>
+      <groupId>org.onap.policy.models.policy-models-interactions.model-impl</groupId>
       <artifactId>aai</artifactId>
-      <version>${project.version}</version>
+      <version>${policy.models.version}</version>
     </dependency>
     <dependency>
-      <groupId>org.onap.policy.drools-applications.controlloop.common.model-impl</groupId>
+      <groupId>org.onap.policy.models.policy-models-interactions.model-impl</groupId>
       <artifactId>so</artifactId>
-      <version>${project.version}</version>
+      <version>${policy.models.version}</version>
     </dependency>
     <dependency>
-      <groupId>org.onap.policy.drools-applications.controlloop.common.model-impl</groupId>
+      <groupId>org.onap.policy.models.policy-models-interactions.model-impl</groupId>
       <artifactId>sdnc</artifactId>
-      <version>${project.version}</version>
+      <version>${policy.models.version}</version>
   </dependency>
     <dependency>
-      <groupId>org.onap.policy.drools-applications.controlloop.common.model-impl</groupId>
+      <groupId>org.onap.policy.models.policy-models-interactions.model-impl</groupId>
       <artifactId>rest</artifactId>
-      <version>${project.version}</version>
+      <version>${policy.models.version}</version>
     </dependency>
     <dependency>
       <groupId>junit</groupId>
 
 
   <dependencies>
     <dependency>
-      <groupId>org.onap.policy.drools-applications.controlloop.common</groupId>
-      <artifactId>policy-yaml</artifactId>
-      <version>${project.version}</version>
+      <groupId>org.onap.policy.models.policy-models-interactions</groupId>
+      <artifactId>model-yaml</artifactId>
+      <version>${policy.models.version}</version>
       <scope>provided</scope>
     </dependency>
     <dependency>
       <scope>provided</scope>
     </dependency>
     <dependency>
-      <groupId>org.onap.policy.drools-applications.controlloop.common</groupId>
+      <groupId>org.onap.policy.models.policy-models-interactions</groupId>
       <artifactId>simulators</artifactId>
-      <version>${project.version}</version>
+      <version>${policy.models.version}</version>
       <scope>test</scope>
     </dependency>
     <dependency>
 
   drools-pdp-apps
   ================================================================================
   Copyright (C) 2017-2018 AT&T Intellectual Property. All rights reserved.
+  Modifications Copyright (C) 2019 Nordix Foundation.
   ================================================================================
   Licensed under the Apache License, Version 2.0 (the "License");
   you may not use this file except in compliance with the License.
       <version>0.9.2</version>
     </dependency>
     <dependency>
-      <groupId>org.onap.policy.drools-applications.controlloop.common.model-impl</groupId>
+      <groupId>org.onap.policy.models.policy-models-interactions.model-impl</groupId>
       <artifactId>sdc</artifactId>
-      <version>${project.version}</version>
+      <version>${policy.models.version}</version>
       <scope>provided</scope>
     </dependency>
     <dependency>
-      <groupId>org.onap.policy.drools-applications.controlloop.common.model-impl</groupId>
+      <groupId>org.onap.policy.models.policy-models-interactions.model-impl</groupId>
       <artifactId>aai</artifactId>
-      <version>${project.version}</version>
+      <version>${policy.models.version}</version>
       <scope>provided</scope>
     </dependency>
     <dependency>
 
   <artifactId>common</artifactId>
 
   <modules>
-    <module>actors</module>
     <module>guard</module>
     <module>coordination</module>
     <module>eventmanager</module>
-    <module>model-impl</module>
-    <module>policy-yaml</module>
-    <module>simulators</module>
     <module>controller-usecases</module>
     <module>feature-controlloop-utils</module>
     <module>feature-controlloop-trans</module>
 
   simulators
   ================================================================================
   Copyright (C) 2017-2018 AT&T Intellectual Property. All rights reserved.
+  Modifications Copyright (C) 2019 Nordix Foundation.
   ================================================================================
   Licensed under the Apache License, Version 2.0 (the "License");
   you may not use this file except in compliance with the License.
       <scope>test</scope>
     </dependency>
     <dependency>
-      <groupId>org.onap.policy.drools-applications.controlloop.common.model-impl</groupId>
+      <groupId>org.onap.policy.models.policy-models-interactions.model-impl</groupId>
       <artifactId>aai</artifactId>
-      <version>${project.version}</version>
+      <version>${policy.models.version}</version>
     </dependency>
     <dependency>
-      <groupId>org.onap.policy.drools-applications.controlloop.common.model-impl</groupId>
+      <groupId>org.onap.policy.models.policy-models-interactions.model-impl</groupId>
       <artifactId>so</artifactId>
-      <version>${project.version}</version>
+      <version>${policy.models.version}</version>
     </dependency>
     <dependency>
-      <groupId>org.onap.policy.drools-applications.controlloop.common.model-impl</groupId>
+      <groupId>org.onap.policy.models.policy-models-interactions.model-impl</groupId>
       <artifactId>vfc</artifactId>
-      <version>${project.version}</version>
+      <version>${policy.models.version}</version>
       <scope>test</scope>
     </dependency>
     <dependency>
       <scope>provided</scope>
     </dependency>
       <dependency>
-          <groupId>org.onap.policy.drools-applications.controlloop.common.model-impl</groupId>
+          <groupId>org.onap.policy.models.policy-models-interactions.model-impl</groupId>
           <artifactId>sdnc</artifactId>
-          <version>${project.version}</version>
+          <version>${policy.models.version}</version>
       </dependency>
   </dependencies>
 </project>
 
 import org.onap.policy.vfc.VfcRequest;
 import org.onap.policy.vfc.VfcResponse;
 import org.onap.policy.vfc.VfcManager;
+import org.onap.policy.so.SoManager;
 import org.onap.policy.so.SoRequest;
 import org.onap.policy.so.SoResponseWrapper;
 import org.onap.policy.sdnc.SdncRequest;
 
                   if(request instanceof SoRequest) {
                       // Call SO. The response will be inserted into memory once it's received 
-                      SoActorServiceProvider.sendRequest($event.getRequestId().toString(), drools.getWorkingMemory(),
-                          request);                        
+                      class mySoCallback implements SoManager.SoCallback {
+                          public void onSoResponseWrapper(SoResponseWrapper wrapper) {
+                              drools.getWorkingMemory().insert(wrapper);
+                          }
+                      }
+                      SoActorServiceProvider.sendRequest($event.getRequestId().toString(), 
+                          new mySoCallback(), 
+                          request,
+                          PolicyEngine.manager.getEnvironmentProperty("so.url"),
+                          PolicyEngine.manager.getEnvironmentProperty("so.username"),
+                          PolicyEngine.manager.getEnvironmentProperty("so.password"));
                   }
                   break;
               case "VFC":
                   if (request instanceof VfcRequest) {
                       // Start VFC thread
-                      Thread t = new Thread(new VfcManager(drools.getWorkingMemory(), (VfcRequest)request));
+                      class myVfcCallback implements VfcManager.VfcCallback {
+                          
+                          public void onResponse(VfcResponse responseError) {
+                              drools.getWorkingMemory().insert(responseError);
+                          }
+                      };
+                      // Start VFC thread
+                      Thread t = new Thread(new VfcManager(new myVfcCallback(),
+                          (VfcRequest)request,
+                          PolicyEngine.manager.getEnvironmentProperty("vfc.url"),
+                          PolicyEngine.manager.getEnvironmentProperty("vfc.username"),
+                          PolicyEngine.manager.getEnvironmentProperty("vfc.password")));
                       t.start();
                   }          
                   break;
               case "SDNC":
                   if (request instanceof SdncRequest) {
                      // Start SDNC thread
-                     Thread t = new Thread(new SdncManager(drools.getWorkingMemory(), (SdncRequest)request));
-                     t.start();
+                      class mySdncCallback implements SdncManager.SdncCallback {
+                          public void onCallback(SdncResponse response) {
+                              drools.getWorkingMemory().insert(response);
+                          }
+                      }  
+                      // Start SDNC thread
+                      Thread t = new Thread(new SdncManager(new mySdncCallback(), 
+                          (SdncRequest)request,
+                          PolicyEngine.manager.getEnvironmentProperty("sdnc.url"),
+                          PolicyEngine.manager.getEnvironmentProperty("sdnc.username"),
+                          PolicyEngine.manager.getEnvironmentProperty("sdnc.password")));
+                      t.start();
                   }
                   break;                       
               case "SDNR":
 
 import org.onap.policy.vfc.VfcRequest;
 import org.onap.policy.vfc.VfcResponse;
 import org.onap.policy.vfc.VfcManager;
+import org.onap.policy.so.SoManager;
 import org.onap.policy.so.SoRequest;
 import org.onap.policy.so.SoResponseWrapper;
 import org.onap.policy.sdnc.SdncRequest;
 
                   if(request instanceof SoRequest) {
                       // Call SO. The response will be inserted into memory once it's received
-                      SoActorServiceProvider.sendRequest($event.getRequestId().toString(), drools.getWorkingMemory(), request);
+                      class mySoCallback implements SoManager.SoCallback {
+                          public void onSoResponseWrapper(SoResponseWrapper wrapper) {
+                              drools.getWorkingMemory().insert(wrapper);
+                          }
+                      }
+                      SoActorServiceProvider.sendRequest($event.getRequestId().toString(), 
+                          new mySoCallback(), 
+                          request,
+                          PolicyEngine.manager.getEnvironmentProperty("so.url"),
+                          PolicyEngine.manager.getEnvironmentProperty("so.username"),
+                          PolicyEngine.manager.getEnvironmentProperty("so.password"));
                   }
                   break;
               case "VFC":
                   if (request instanceof VfcRequest) {
+                      class myVfcCallback implements VfcManager.VfcCallback {
+                          
+                          public void onResponse(VfcResponse responseError) {
+                              drools.getWorkingMemory().insert(responseError);
+                          }
+                      };
                       // Start VFC thread
-                      Thread t = new Thread(new VfcManager(drools.getWorkingMemory(), (VfcRequest)request));
+                      Thread t = new Thread(new VfcManager(new myVfcCallback(),
+                          (VfcRequest)request,
+                          PolicyEngine.manager.getEnvironmentProperty("vfc.url"),
+                          PolicyEngine.manager.getEnvironmentProperty("vfc.username"),
+                          PolicyEngine.manager.getEnvironmentProperty("vfc.password")));
                       t.start();
                   }
                   break;
               
               case "SDNC":
                   if (request instanceof SdncRequest) {
-                     // Start SDNC thread
-                     Thread t = new Thread(new SdncManager(drools.getWorkingMemory(), (SdncRequest)request));
-                     t.start();
+                      class mySdncCallback implements SdncManager.SdncCallback {
+                          public void onCallback(SdncResponse response) {
+                              drools.getWorkingMemory().insert(response);
+                          }
+                      }  
+                      // Start SDNC thread
+                      Thread t = new Thread(new SdncManager(new mySdncCallback(), 
+                          (SdncRequest)request,
+                          PolicyEngine.manager.getEnvironmentProperty("sdnc.url"),
+                          PolicyEngine.manager.getEnvironmentProperty("sdnc.username"),
+                          PolicyEngine.manager.getEnvironmentProperty("sdnc.password")));
+                      t.start();
                   }
                   break;                 
           }
 
 import org.onap.policy.vfc.VfcRequest;
 import org.onap.policy.vfc.VfcResponse;
 import org.onap.policy.vfc.VfcManager;
+import org.onap.policy.so.SoManager;
 import org.onap.policy.so.SoRequest;
 import org.onap.policy.so.SoResponseWrapper;
 import org.onap.policy.guard.PolicyGuard;
                   
                   if(request instanceof SoRequest) {
                       // Call SO. The response will be inserted into memory once it's received 
-                      SoActorServiceProvider.sendRequest($event.getRequestId().toString(), drools.getWorkingMemory(), 
-                          request);                        
-                  }
+                      class mySoCallback implements SoManager.SoCallback {
+                          public void onSoResponseWrapper(SoResponseWrapper wrapper) {
+                              drools.getWorkingMemory().insert(wrapper);
+                          }
+                      }
+                      SoActorServiceProvider.sendRequest($event.getRequestId().toString(), 
+                          new mySoCallback(), 
+                          request,
+                          PolicyEngine.manager.getEnvironmentProperty("so.url"),
+                          PolicyEngine.manager.getEnvironmentProperty("so.username"),
+                          PolicyEngine.manager.getEnvironmentProperty("so.password"));                  }
                   break;
               case "VFC":
                   if (request instanceof VfcRequest) {
                       // Start VFC thread
-                      Thread t = new Thread(new VfcManager(drools.getWorkingMemory(), (VfcRequest)request));
+                      class myVfcCallback implements VfcManager.VfcCallback {
+                          public void onResponse(VfcResponse responseError) {
+                              drools.getWorkingMemory().insert(responseError);
+                          }
+                      };
+                      // Start VFC thread
+                      Thread t = new Thread(new VfcManager(new myVfcCallback(),
+                          (VfcRequest)request,
+                          PolicyEngine.manager.getEnvironmentProperty("vfc.url"),
+                          PolicyEngine.manager.getEnvironmentProperty("vfc.username"),
+                          PolicyEngine.manager.getEnvironmentProperty("vfc.password")));
                       t.start();
                   }          
                   break;
 
       <scope>provided</scope>
     </dependency>
     <dependency>
-      <groupId>org.onap.policy.drools-applications.controlloop.common</groupId>
-      <!-- <groupId>org.onap.policy.models.policy-models-interactions</groupId> -->
-      <artifactId>policy-yaml</artifactId>
-      <version>${project.version}</version>
+      <groupId>org.onap.policy.models.policy-models-interactions</groupId>
+      <artifactId>model-yaml</artifactId>
+      <version>${policy.models.version}</version>
       <scope>provided</scope>
     </dependency>
     <dependency>
 
      *  Set the VFC properties.
      */
     public static void setVfcProps() {
-        PolicyEngine.manager.setEnvironmentProperty("vfc.url", "http://localhost:6668");
+        PolicyEngine.manager.setEnvironmentProperty("vfc.url", "http://localhost:6668/api/nslcm/v1");
         PolicyEngine.manager.setEnvironmentProperty("vfc.username", "VFC");
         PolicyEngine.manager.setEnvironmentProperty("vfc.password", "VFC");
     }