Source:
<code>public String updateFlow(String flowId, QosPolicyRequest updatedQosPolicyRequest) throws FlowAllocationException, FlowNotFoundException, ProvisionerException { synchronized (mutex) { String username = SecurityContextPersistenceFilterSkipClearContext.get(); SecurityContextPersistenceFilterSkipClearContext.unset(); INCLNotifierClient sdnClient = clientManager.getClient(username); try { String netId = getNetworkSelector().getNetwork(); IResource networkResource = getResource(netId); INCLProvisionerCapability nclProvCapab = (INCLProvisionerCapability) networkResource .getCapabilityByInterface(INCLProvisionerCapability.class); CircuitRequest circuitRequest = QosPolicyRequestParser.toCircuitRequest(updatedQosPolicyRequest); nclProvCapab.updateCircuit(flowId, circuitRequest); getAllocatedRequests().put(flowId, circuitRequest); log.debug("Notifiying SDN Module that flow " + flowId + " has been allocated."); <START> sdnClient.qosPolicyAllocated(flowId, updatedQosPolicyRequest); <END> return flowId; } catch (CircuitAllocationException e) { log.debug("Notifiying SDN Module that flow could not be allocated."); sdnClient.qosPolicyAllocationFailed("UNKNOWN", updatedQosPolicyRequest, e); throw new FlowAllocationException(e); } catch (NotExistingCircuitException e) { log.debug("Notifiying SDN Module that flow could not be allocated."); sdnClient.qosPolicyAllocationFailed("UNKNOWN", updatedQosPolicyRequest, e); throw new FlowNotFoundException(e); } catch (ResourceException e) { log.debug("Notifiying SDN Module that flow could not be allocated."); sdnClient.qosPolicyAllocationFailed("UNKNOWN", updatedQosPolicyRequest, e); throw new ProvisionerException(e); } catch (Exception e) { log.debug("Notifiying SDN Module that flow could not be allocated."); sdnClient.qosPolicyAllocationFailed("UNKNOWN", updatedQosPolicyRequest, e); throw new FlowAllocationException(e); } } }</code><technical_language>is necessary modify INCLNotifierClient in order add updateFlow call of INCLNotificationAPI update method. this new code, called here, instead of calling qosPolicyAllocated(...) method</technical_language>

Target:
public String updateFlow(String flowId, QosPolicyRequest updatedQosPolicyRequest) throws FlowAllocationException, FlowNotFoundException, ProvisionerException { synchronized (mutex) { String username = SecurityContextPersistenceFilterSkipClearContext.get(); SecurityContextPersistenceFilterSkipClearContext.unset(); INCLNotifierClient sdnClient = clientManager.getClient(username); try { String netId = getNetworkSelector().getNetwork(); IResource networkResource = getResource(netId); INCLProvisionerCapability nclProvCapab = (INCLProvisionerCapability) networkResource .getCapabilityByInterface(INCLProvisionerCapability.class); CircuitRequest circuitRequest = QosPolicyRequestParser.toCircuitRequest(updatedQosPolicyRequest); nclProvCapab.updateCircuit(flowId, circuitRequest); getAllocatedRequests().put(flowId, circuitRequest); log.debug("Notifiying SDN Module that flow " + flowId + " has been allocated."); sdnClient.qosPolicyDeallocated(flowId, QoSPolicyRequestWrapperParser.fromCircuitRequests(getAllocatedRequests()) .getQoSPolicyRequests().get(flowId)); sdnClient.qosPolicyAllocated(flowId, updatedQosPolicyRequest); return flowId; } catch (CircuitAllocationException e) { log.debug("Notifiying SDN Module that flow could not be allocated."); sdnClient.qosPolicyAllocationFailed("UNKNOWN", updatedQosPolicyRequest, e); throw new FlowAllocationException(e); } catch (NotExistingCircuitException e) { log.debug("Notifiying SDN Module that flow could not be allocated."); sdnClient.qosPolicyAllocationFailed("UNKNOWN", updatedQosPolicyRequest, e); throw new FlowNotFoundException(e); } catch (ResourceException e) { log.debug("Notifiying SDN Module that flow could not be allocated."); sdnClient.qosPolicyAllocationFailed("UNKNOWN", updatedQosPolicyRequest, e); throw new ProvisionerException(e); } catch (Exception e) { log.debug("Notifiying SDN Module that flow could not be allocated."); sdnClient.qosPolicyAllocationFailed("UNKNOWN", updatedQosPolicyRequest, e); throw new FlowAllocationException(e); } } }