예제 #1
0
def add_object(name,
               stereotype,
               object_type,
               package_id,
               parent_id,
               ea_quid=""):
    """
    Создание объекта на основе полученных данных
    :param name: имя объекта
    :param stereotype: стереотип объекта
    :param object_type: тип объекта
    :param package_id: id добавленого пакета
    :param parent_id: id родителя добавленого пакета
    :param ea_quid: уникальный ключ
    :return: экземпляр на основе полученных данных
    """
    logger = logging.getLogger("Object")
    with connection.cursor() as cursor:
        logger.info("Insert Object...")  #добавление объекта
        if (ea_quid == '' or ea_quid == None):
            ea_quid = '{' + str(
                uuid.uuid4()) + '}'  #генерация уникального ключа
        created_date = str(datetime.datetime.today())
        sql = "INSERT INTO `t_object` (`Object_Type`, `Name`, `ea_guid`, `Stereotype`, `Package_ID`, `PDATA1`, `CreatedDate`, `ModifiedDate`) VALUES (?, ?, ?, ?, ?, ?, ?, ?)"
        cursor.execute(sql, (object_type, name, ea_quid, stereotype, parent_id,
                             package_id, created_date, created_date))
        result = get_by_ea_guid(ea_quid)
    connection.commit()
    return result
예제 #2
0
def delete_by_ea_guid(ea_guid):
    """
    Удаление по ключу
    :param ea_guid: уникальный
    :return:
    """
    logger = logging.getLogger("Diagram")
    logger.info("Delete diagram by ea_guid")
    with connection.cursor() as cursor:
        sql = "DELETE FROM `t_diagram` WHERE `ea_guid`=?"
        result = get_by_ea_guid(
            ea_guid)  # поиск по уникальному ключу добавленного элемента
        cursor.execute(sql, (ea_guid))
    connection.commit()
    return result
예제 #3
0
def delete_by_ea_guid(ea_guid):
    """
    Удаление экземпляра на основе ключа
    :param ea_guid: уникальный ключ
    :return: удаленного экземпляра
    """
    logger = logging.getLogger("Connector")
    logger.info("Delete connector by ea_guid")
    with connection.cursor() as cursor:
        sql = "DELETE FROM `t_connector` WHERE `ea_guid`=?"
        result = get_by_ea_quid(
            ea_guid)  # поиск по уникальному ключу добавленного элемента
        cursor.execute(sql, (ea_guid))
    connection.commit()
    return result
예제 #4
0
def update_attribute(name, id):
    """
    Обновление атрибута
    :param name: имя атрибута
    :param object_id: id объекта
    :return: обновленого атрибута на основе полученных данных
    """
    logger = logging.getLogger("Attribute")
    logger.info("Update attribute...")
    with connection.cursor() as cursor:
        sql = "UPDATE `t_attribute` SET `Name`=? WHERE `ID`=?"
        result = cursor.execute(sql, (name, id))
    result = get_by_id(id)
    connection.commit()
    return result
예제 #5
0
def delete_by_ea_guid(ea_guid):
    """
    Удаление по уникальному ключу
    :param ea_guid: ключ
    :return: возращение удаленного объекта
    """
    logger = logging.getLogger("Package")
    logger.info("Delete package by ea_guid")
    with connection.cursor() as cursor:
        sql = "DELETE FROM `t_package` WHERE `ea_guid`=?"
        result = get_by_ea_guid(
            ea_guid)  # поиск по уникальному ключу добавленного элемента
        cursor.execute(sql, (ea_guid))
    connection.commit()
    object.delete_by_ea_guid(ea_guid)
    return result
예제 #6
0
def add_attribute(name, object_id):
    """
    Cоздание аттрибута на основе полученых данных
    :param name: имя аттрибута
    :param object_id: id объекта к которому пишется аттрибут
    :return: экземляр на основе полученных данных
    """
    logger = logging.getLogger("Attribute")
    with connection.cursor() as cursor:
        ea_quid = '{' + str(uuid.uuid4()) + '}'  #генерация уникального ключа
        logger.info("Insert attribute...")
        sql = "INSERT INTO `t_attribute` (`Object_ID`, `ea_guid`, `Name`) VALUES (?, ?, ?)"  #добавление в таблицу
        cursor.execute(sql, (object_id, ea_quid, name))
    connection.commit()
    result = get_by_ea_guid(ea_quid)
    return result
예제 #7
0
def update_by_ea_guid(name, stereotype, diagram_type, ea_guid):
    """
    Обновление диаграммы на основе полученнных данных
    :param name: имя
    :param stereotype: стереотип
    :param diagram_type: тип диаграммы
    :param ea_guid: уникальный ключ
    :return: обновленного элемента на основе полученных данных
    """
    logger = logging.getLogger("Diagram")
    logger.info("Update diagram by ea_guid")
    with connection.cursor() as cursor:
        sql = "UPDATE `t_diagram` SET `Name`=?, `Stereotype`=?, `Diagram_Type`=? WHERE ea_guid=?"
        cursor.execute(sql, (name, stereotype, diagram_type, ea_guid))
        connection.commit()
        result = get_by_ea_guid(ea_guid)
    return result
예제 #8
0
def update_object(name, stereotype, object_id):
    """
    Изменение данных объекта
    :param name: имя объекта
    :param stereotype: стереотип объекта
    :param object_id: id объекта
    :return: экземпляр измененного объекта
    """
    logger = logging.getLogger("Object")
    with connection.cursor() as cursor:
        modified_date = str(datetime.datetime.today())
        logger.info("Update object...")
        sql = "UPDATE `t_object` SET `Name`=?, `Stereotype`=?, `ModifiedDate`=? WHERE `Object_ID`=?"  #поиск объекта по id и обновление нужных полей
        result = cursor.execute(sql,
                                (name, stereotype, modified_date, object_id))
        result = get_by_id(object_id)
    connection.commit()
    return result
예제 #9
0
def add_connector(name, connector_type, start_objectid, end_objectid):
    """
    Создание конектора на основе полученных данных
    :param name: имя конектора
    :param connector_type: тип коннектора
    :param start_objectid: первый id объекта между которым идет связь
    :param end_objectid: второй id  объекта между которым идет связь
    :return: экземляр на основе полученных данных
    """
    logger = logging.getLogger("Connector")
    with connection.cursor() as cursor:
        ea_quid = '{' + str(uuid.uuid4()) + '}'  #генерация уникального ключа
        logger.info("Add Connector...")
        sql = "INSERT INTO `t_connector` (`Name`, `ea_guid`, `Connector_Type`, `Start_Object_ID`, `End_Object_ID`) VALUES (?, ?, ?, ?, ?)"  #добавление элемента
        cursor.execute(
            sql, (name, ea_quid, connector_type, start_objectid, end_objectid))
    connection.commit()
    result = get_by_ea_quid(ea_quid)
    return result
예제 #10
0
def add_diagram(name, package_id, stereotype, diagram_type):
    """
    Создание диаграммы на основе полученных данных
    :param name: имя диаграммы
    :param package_id: id пакета внутри которого находится диаграмма
    :param stereotype: стереотип
    :param diagram_type: тип диаграммы
    :return: экземпляр на основе полученных данных
    """
    logger = logging.getLogger("Diagram")
    with connection.cursor() as cursor:
        ea_quid = '{' + str(uuid.uuid4()) + '}'  #генерация уникального ключа
        created_date = str(datetime.datetime.today())
        logger.info("Add Diagram...")
        sql = "INSERT INTO `t_diagram` (`Package_ID`, `Name`, `ea_guid`, `Stereotype`, `Diagram_Type`,`CreatedDate`) VALUES (?, ?, ?, ?, ?, ?)"
        cursor.execute(sql, (package_id, name, ea_quid, stereotype,
                             diagram_type, created_date))  #добавление элемента
    connection.commit()
    result = get_by_ea_guid(ea_quid)
    return result
예제 #11
0
def update_by_ea_guid(ea_quid, name, connector_type, start_objectid,
                      end_objectid):
    """
    Обновление по ключу
    :param ea_quid: уникальный ключ
    :param name: имя
    :param connector_type: тип конектора
    :param start_objectid: первый id
    :param end_objectid: второй id
    :return: измененного экземпляра на основе полученных данных
    """
    logger = logging.getLogger("Connector")
    logger.info("Update connector by ea_guid")
    with connection.cursor() as cursor:
        sql = "UPDATE `t_connector` SET `Name`=?, `Connector_Type`=?, `Start_Object_ID`=?, `End_Object_ID`=? WHERE ea_guid=?"
        cursor.execute(
            sql, (name, connector_type, start_objectid, end_objectid, ea_quid))
        connection.commit()
        result = get_by_ea_quid(ea_quid)
    return result
예제 #12
0
def update_package(name, notes, stereotype, package_id):
    """
    Измененин данных пакета на основе полученных данных
    :param name: имя пакета
    :param notes: описание пакета
    :param stereotype: стереоптип
    :param package_id: id пакета
    :return: экземпляр пакета на основе изменненых данных
    """
    logger = logging.getLogger("Package")
    with connection.cursor() as cursor:
        modified_data = str(datetime.datetime.today())
        logger.info("Update package...")
        sql = "UPDATE `t_package` SET `Name`=?, `Notes`=? WHERE `Package_ID`=?"
        cursor.execute(sql, (name, notes, package_id))
    connection.commit()
    sql = "SELECT `Object_ID` FROM `t_object` WHERE `PDATA1`=?"
    result = cursor.execute(sql, (package_id)).fetchall()
    object_id = result[0][0]
    object.update_object(name, stereotype, object_id)
    return result