示例#1
0
def create_event_creators(configuration):
    """
    Create MatchField configuration for Stagis topics that macth patterns:
    - *stagis_log_gen*
    - *stagis_log_err*
    - *stagis_corecommit_log*
    - *stagis_interface_log*
    - *stagis_wcf_log*
    :param configuration: job configuration
    :return: initialized MatchField configuration for Stagis component
    """
    timezone_name = configuration.property("timezone.name")
    timezones_priority = configuration.property("timezone.priority", "dic")

    return MatchField(
        "topic", {
            "stagis_log_gen":
            SourceConfiguration(
                CompositeEventCreator().add_source_parser(
                    Stagis.ee_event_creator(
                        timezone_name,
                        timezones_priority)).add_intermediate_result_parser(
                            Stagis.model_state_event_creator(
                            )).add_intermediate_result_parser(
                                Stagis.replacer_event_creator(), final=True).
                add_intermediate_result_parser(
                    Stagis.received_delta_server_notification_event_creator(
                    )).add_intermediate_result_parser(
                        Stagis.replacer_event_creator(),
                        final=True).add_intermediate_result_parser(
                            Stagis.tva_delta_server_request_event_creator()).
                add_intermediate_result_parser(
                    Stagis.replacer_event_creator(),
                    final=True).add_intermediate_result_parser(
                        Stagis.tva_delta_server_response_event_creator(
                        )).add_intermediate_result_parser(
                            Stagis.replacer_event_creator(), final=True),
                Utils.get_output_topic(configuration, "general")),
            "stagis_log_err":
            SourceConfiguration(
                Stagis.ee_event_creator(timezone_name, timezones_priority),
                Utils.get_output_topic(configuration, "error")),
            "stagis_corecommit_log":
            SourceConfiguration(
                Stagis.ee_corecommit_event_creator(timezone_name,
                                                   timezones_priority),
                Utils.get_output_topic(configuration, "corecommit")),
            "stagis_interface_log":
            SourceConfiguration(
                Stagis.ee_interface_event_creator(timezone_name,
                                                  timezones_priority),
                Utils.get_output_topic(configuration, "interface")),
            "stagis_wcf_log":
            SourceConfiguration(
                Stagis.ee_wcf_event_creator(timezone_name, timezones_priority),
                Utils.get_output_topic(configuration, "wcf"))
        })