Как получить автора oldValue

#ibm-doors

#ibm-двери

Вопрос:

Есть ли какой-нибудь способ получить автора oldValue, используя history в dxl?

Я хочу извлечь имя автора, который написал старое значение (предшествующее текущей записи истории) для объекта в DOORS.

Ответ №1:

Старое значение какого атрибута? Я предполагаю «Текст объекта» или «Заголовок объекта». Общая идея такова: перебирайте все записи истории (например History h , ) рассматриваемого объекта (в обратном направлении во времени), пока не найдете запись истории с h.type modifyObject надписью h.attrName «Текст объекта» (или «Заголовок объекта», или любой другой интересующий вас атрибут). Это запись , которая была изменена h.oldValue на h.newValue . Если вы нашли запись , в которой вы видите старое значение h.oldValue . Затем вы будете двигаться дальше назад во времени, пока не найдете следующую запись с h.type == modifyObject и h.attrName == "Object Text" , которая будет той записью, которую вы ищете, которая изменила «очень старое значение» на «старое значение». Из этого одного вы захотите получить h.author .

Если в текущем модуле нет двух таких записей истории, возможно, либо объект только что был создан (тогда вы ищете запись истории с h.type == createObject помощью), либо объект был изменен / создан в предыдущей базовой линии. В этом случае вам нужно выполнить итерацию по всем базовым линиям модуля (в обратном направлении во времени), загрузить каждую базовую линию и повторить процесс.

На http://www.smartdxl.com/content/?page_id=125 есть хороший сценарий Тони Гудмана «Умный просмотрщик истории», который делает именно это. В этом скрипте вы найдете все фрагменты кода, которые вам нужны.