Project

General

Profile

UniEditor » History » Revision 8

Revision 7 (Viktoria Kopach, 05/19/2011 08:47 PM) → Revision 8/11 (Yuriy Shekochihin, 07/08/2011 12:31 PM)

h1. UniEditor 

 {{toc}} 

 Содержит дерево требований с тест-кейсами (для краткости будем называть кейсами), каждый узел дерева содержит информацию о соответствующем требовании или кейсе. 

 h2. Узел-требование 

 Содержит: 
 # Имя требования (Name) 
 # Текст требования 
 * если требование имеет alternative description, то это оно и есть 
 * если требование не имеет alternative description, то это description 
 * если требование только что создано через Requality Explorer или через UniEditor 



 h2. Узел-кейс 

 Содержит: 
 # Test Case Number 
 # Описание (Test Case Description) 
 # Ожидаемый результат (Expected Result) 

 h2. Команды в редакторе 

 * Переходы вверх/вниз по дереву 
 * Добавить требование-брата 
 * Добавить требование-ребенка 
 * Добавить test case-ребенка 
 * Удалить выделенные узлы (Как выделить несколько? Нужно предупреждение, если у узла есть потомки? Нужна возможность отменить удаление?) 
 * Переместить узел (Предупреждение при наличии потомков?) 
 * Вход/выход из режима редактирования. 

 h2. Интерфейс UniEditor <-> Eclipse 
 <pre> 
 //////////////////////////////////////////////////////////////////////////////// 
 // External functions implemented and injected by Requality 

 /* 
  Request for the specific node data 
  Input parameters: 
   uuid - (String) uuid of the requested node 
  Return value: 
   String value containing JSON definition of the node. Possible values: 
   a) for root element (''Requirements''): 
    { type: null,  
      children: [''<uuid1>'', ''<uuid2>'', ...] } 
   b) for requirement elements: 
    { type: ''requirement'', id: ''<node_id>'',  
      description: ''<node_description>'',  
      children: [''<uuid1>'', ''<uuid2>'', ...] } 
   b) for testcase elements: 
    { type: ''testcase'',  
      id: ''<node_id>'',  
      description: ''<testcase_description>'',  
      result: ''<testcase_result>'',  
      status: ''<in progress|complete|verified>'' } 
 */ 
 function getNode(uuid); 

 /* 
  Request for the root element of the selected subtree 
  Input parameters: 
   none 
  Return value: 
   String value containing uuid of the subtree root node 
 */ 
 function getStartNode(); 

 /* 
  Request to change the node ID 
  Input parameters: 
   uuid     - (String) uuid of the updated node 
   new_id - (String) new ID to be set 
  Return value: 
   Boolean value: true if operation was successful, false otherwise 
 */ 
 function changeNodeId(uuid, new_id); 

 /* 
  Request to change the value of one of the node attributes 
  Input parameters: 
   uuid        - (String) uuid of the updated node 
   attr_name - (String) name of the changed attribute 
   new_val     - (String) new attribute value to be set 
  Return value: 
   Boolean value: true if operation was successful, false otherwise 
 */ 
 function changeNodeAttr(uuid, attr_name, new_val); 

 /* 
  Request to change the move a node into different subtree 
  Input parameters: 
   uuid              - (String) uuid of the moved node 
   new_parent_uuid - (String) uuid of the new parent node 
  Return value: 
   Boolean value: true if operation was successful, false otherwise 
 */ 
 function changeNodeParent(uuid, new_parent_uuid); 

 /* 
  Request to insert a new node 
  Input parameters: 
   uuid          - (String) uuid of the new node 
   parent_uuid - (String) uuid of the parent node 
  Return value: 
   Boolean value: true if operation was successful, false otherwise 
 */ 
 function addNode(uuid, parent_uuid); 

 /* 
  Request to remove a node with all its decendants 
  Input parameters: 
   uuid - (String) uuid of the removed node 
  Return value: 
   Boolean value: true if operation was successful, false otherwise 
 */ 
 function removeNode(uuid); 


 //////////////////////////////////////////////////////////////////////////////// 
 // Callback functions that can be called by Requality 

 /* 
  Callback function called by Requality when node or some of its children change outside of UniEditor 
  Input parameters: 
   uuid - (String) uuid of the updated node 
  Return value: 
   none 
 */ 
 function onChangeNode(uuid); 
 </pre>