Example #1
0
def get_indicator_adapter(config, raise_errors=False):
    from corehq.apps.userreports.sql.adapter import IndicatorSqlAdapter, ErrorRaisingIndicatorSqlAdapter
    from corehq.apps.userreports.es.adapter import IndicatorESAdapter

    if get_backend_id(config) == UCR_ES_BACKEND:
        return IndicatorESAdapter(config)
    else:
        if raise_errors:
            return ErrorRaisingIndicatorSqlAdapter(config)
        return IndicatorSqlAdapter(config)
Example #2
0
def get_indicator_adapter(config, raise_errors=False, can_handle_laboratory=False):
    from corehq.apps.userreports.sql.adapter import IndicatorSqlAdapter, ErrorRaisingIndicatorSqlAdapter
    from corehq.apps.userreports.es.adapter import IndicatorESAdapter
    from corehq.apps.userreports.laboratory.adapter import IndicatorLaboratoryAdapter

    backend_id = get_backend_id(config, can_handle_laboratory)

    if backend_id == UCR_ES_BACKEND:
        return IndicatorESAdapter(config)
    elif backend_id == UCR_LABORATORY_BACKEND:
        return IndicatorLaboratoryAdapter(config)
    else:
        if raise_errors:
            return ErrorRaisingIndicatorSqlAdapter(config)
        return IndicatorSqlAdapter(config)
Example #3
0
 def __init__(self, config):
     super(IndicatorLaboratoryAdapter, self).__init__(config)
     self.es_adapter = IndicatorESAdapter(config)
     self.sql_adapter = IndicatorSqlAdapter(config)
Example #4
0
class IndicatorLaboratoryAdapter(IndicatorAdapter):

    def __init__(self, config):
        super(IndicatorLaboratoryAdapter, self).__init__(config)
        self.es_adapter = IndicatorESAdapter(config)
        self.sql_adapter = IndicatorSqlAdapter(config)

    def rebuild_table(self):
        self.es_adapter.rebuild_table()
        self.sql_adapter.rebuild_table()

    def build_table(self):
        self.es_adapter.build_table()
        self.sql_adapter.build_table()

    def after_table_build(self):
        self.es_adapter.after_table_build()
        self.sql_adapter.after_table_build()

    def drop_table(self):
        self.es_adapter.drop_table()
        self.sql_adapter.drop_table()

    def rebuild_table_if_necessary(self):
        self.es_adapter.rebuild_table_if_necessary()
        # sql doesn't have this

    def refresh_table(self):
        self.es_adapter.refresh_table()
        self.sql_adapter.refresh_table()

    def get_query_object(self):
        raise NotImplementedError

    def get_distinct_values(self, column, limit):
        raise NotImplementedError

    def best_effort_save(self, doc):
        self.es_adapter.best_effort_save(doc)
        self.sql_adapter.best_effort_save(doc)

    def save(self, doc):
        self.es_adapter.save(doc)
        self.sql_adapter.save(doc)
Example #5
0
class IndicatorLaboratoryAdapter(IndicatorAdapter):
    def __init__(self, config):
        super(IndicatorLaboratoryAdapter, self).__init__(config)
        self.es_adapter = IndicatorESAdapter(config)
        self.sql_adapter = IndicatorSqlAdapter(config)

    def rebuild_table(self):
        self.es_adapter.rebuild_table()
        self.sql_adapter.rebuild_table()

    def build_table(self):
        self.es_adapter.build_table()
        self.sql_adapter.build_table()

    def after_table_build(self):
        self.es_adapter.after_table_build()
        self.sql_adapter.after_table_build()

    def drop_table(self):
        self.es_adapter.drop_table()
        self.sql_adapter.drop_table()

    def rebuild_table_if_necessary(self):
        self.es_adapter.rebuild_table_if_necessary()
        # sql doesn't have this

    def refresh_table(self):
        self.es_adapter.refresh_table()
        self.sql_adapter.refresh_table()

    def clear_table(self):
        self.es_adapter.clear_table()
        self.sql_adapter.clear_table()

    def get_query_object(self):
        raise NotImplementedError

    def get_distinct_values(self, column, limit):
        raise NotImplementedError

    def best_effort_save(self, doc):
        try:
            indicator_rows = self.get_all_values(doc)
        except Exception as e:
            self.handle_exception(doc, e)
        else:
            self.es_adapter._best_effort_save_rows(indicator_rows, doc)
            self.sql_adapter._best_effort_save_rows(indicator_rows, doc)

    def _save_rows(self, rows, doc):
        self.es_adapter._save_rows(rows, doc)
        self.sql_adapter._save_rows(rows, doc)
Example #6
0
 def __init__(self, config):
     super(IndicatorLaboratoryAdapter, self).__init__(config)
     self.es_adapter = IndicatorESAdapter(config)
     self.sql_adapter = IndicatorSqlAdapter(config)
Example #7
0
class IndicatorLaboratoryAdapter(IndicatorAdapter):
    def __init__(self, config):
        super(IndicatorLaboratoryAdapter, self).__init__(config)
        self.es_adapter = IndicatorESAdapter(config)
        self.sql_adapter = IndicatorSqlAdapter(config)

    def rebuild_table(self):
        self.es_adapter.rebuild_table()
        self.sql_adapter.rebuild_table()

    def drop_table(self):
        self.es_adapter.drop_table()
        self.sql_adapter.drop_table()

    def rebuild_table_if_necessary(self):
        self.es_adapter.rebuild_table_if_necessary()
        # sql doesn't have this

    def refresh_table(self):
        self.es_adapter.refresh_table()
        self.sql_adapter.refresh_table()

    def get_query_object(self):
        raise NotImplementedError

    def get_distinct_values(self, column, limit):
        raise NotImplementedError

    def best_effort_save(self, doc):
        self.es_adapter.best_effort_save(doc)
        self.sql_adapter.best_effort_save(doc)

    def save(self, doc):
        self.es_adapter.save(doc)
        self.sql_adapter.save(doc)