# Path: networking_sfc/services/flowclassifier/common/exceptions.py
# class FlowClassifierDriverError(exceptions.NeutronException):
# class FlowClassifierException(exceptions.NeutronException):
# class FlowClassifierBadRequest(exceptions.BadRequest, FlowClassifierException):
# 
# Path: networking_sfc/services/flowclassifier/drivers/base.py
# class FlowClassifierDriverBaseLegacy(metaclass=abc.ABCMeta):
# class FlowClassifierDriverBase(FlowClassifierDriverBaseLegacy,
#                                metaclass=abc.ABCMeta):
#     def create_flow_classifier(self, context):
#     def update_flow_classifier(self, context):
#     def create_flow_classifier_precommit(self, context):
#     def create_flow_classifier_postcommit(self, context):
#     def delete_flow_classifier(self, context):
#     def delete_flow_classifier_precommit(self, context):
#     def delete_flow_classifier_postcommit(self, context):
#     def update_flow_classifier_precommit(self, context):
#     def update_flow_classifier_postcommit(self, context):


from oslo_log import helpers as log_helpers
from networking_sfc.services.flowclassifier.common import exceptions as exc
from networking_sfc.services.flowclassifier.drivers import base as fc_driver



class OVSFlowClassifierDriver(fc_driver.FlowClassifierDriverBase):
    """FlowClassifier Driver Base Class."""

    def initialize(self):
        pass

    @log_helpers.log_method_call
    def create_flow_classifier(self, context):
        pass

    @log_helpers.log_method_call
    def update_flow_classifier(self, context):
        pass

    @log_helpers.log_method_call
    def delete_flow_classifier(self, context):
        pass

    @log_helpers.log_method_call
    def create_flow_classifier_precommit(self, context):
        """OVS Driver precommit before transaction committed.

        Make sure the logical_source_port is not None.
        """
        flow_classifier = context.current
        logical_source_port = flow_classifier['logical_source_port']
        if logical_source_port is None:

# Path: networking_sfc/services/flowclassifier/common/exceptions.py
# class FlowClassifierDriverError(exceptions.NeutronException):
# class FlowClassifierException(exceptions.NeutronException):
# class FlowClassifierBadRequest(exceptions.BadRequest, FlowClassifierException):
# 
# Path: networking_sfc/services/flowclassifier/drivers/base.py
# class FlowClassifierDriverBaseLegacy(metaclass=abc.ABCMeta):
# class FlowClassifierDriverBase(FlowClassifierDriverBaseLegacy,
#                                metaclass=abc.ABCMeta):
#     def create_flow_classifier(self, context):
#     def update_flow_classifier(self, context):
#     def create_flow_classifier_precommit(self, context):
#     def create_flow_classifier_postcommit(self, context):
#     def delete_flow_classifier(self, context):
#     def delete_flow_classifier_precommit(self, context):
#     def delete_flow_classifier_postcommit(self, context):
#     def update_flow_classifier_precommit(self, context):
#     def update_flow_classifier_postcommit(self, context):


# Path: networking_sfc/services/flowclassifier/drivers/ovs/driver.py
from oslo_log import helpers as log_helpers
from networking_sfc.services.flowclassifier.common import exceptions as exc
from networking_sfc.services.flowclassifier.drivers import base as fc_driver




class OVSFlowClassifierDriver(fc_driver.FlowClassifierDriverBase):
    """FlowClassifier Driver Base Class."""

    def initialize(self):
        pass

    @log_helpers.log_method_call
    def create_flow_classifier(self, context):
        pass

    @log_helpers.log_method_call
    def update_flow_classifier(self, context):
        pass

    @log_helpers.log_method_call
    def delete_flow_classifier(self, context):
        pass

    @log_helpers.log_method_call
    def create_flow_classifier_precommit(self, context):
        """OVS Driver precommit before transaction committed.

        Make sure the logical_source_port is not None.
        """
        flow_classifier = context.current
        logical_source_port = flow_classifier['logical_source_port']
        if logical_source_port is None:

            raise exc.FlowClassifierBadRequest(message=(