diff options
Diffstat (limited to 'controlloop/templates/archetype-cl-usecases/src/main/resources')
-rw-r--r-- | controlloop/templates/archetype-cl-usecases/src/main/resources/archetype-resources/src/main/resources/__closedLoopControlName__.drl | 40 |
1 files changed, 35 insertions, 5 deletions
diff --git a/controlloop/templates/archetype-cl-usecases/src/main/resources/archetype-resources/src/main/resources/__closedLoopControlName__.drl b/controlloop/templates/archetype-cl-usecases/src/main/resources/archetype-resources/src/main/resources/__closedLoopControlName__.drl index b0262f989..93bc63ea7 100644 --- a/controlloop/templates/archetype-cl-usecases/src/main/resources/archetype-resources/src/main/resources/__closedLoopControlName__.drl +++ b/controlloop/templates/archetype-cl-usecases/src/main/resources/archetype-resources/src/main/resources/__closedLoopControlName__.drl @@ -49,6 +49,7 @@ import org.onap.policy.sdnr.PciResponse; 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; @@ -529,13 +530,33 @@ rule "EVENT.MANAGER.OPERATION.LOCKED.GUARD_PERMITTED" 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; @@ -547,9 +568,18 @@ rule "EVENT.MANAGER.OPERATION.LOCKED.GUARD_PERMITTED" 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; } |