Changes between Version 10 and Version 11 of PRO_CHANGE_PRIMITIVES_R0


Ignore:
Timestamp:
03/16/09 17:12:34 (16 years ago)
Author:
gogov
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • PRO_CHANGE_PRIMITIVES_R0

    v10 v11  
    1515   * viewable and understandable for debugging purposes 
    1616   * converted to appropriate ProLib functions 
    17  * Changes form the type of information that will be stored in the Histories responsible for logging Changes in ResourseSpaces 
     17 * Changes form the type of information that will be stored in the Histories responsible for logging Changes in ResourceSpaces 
    1818 
    1919This task is to develop a set of primitives which fulfils the requirements above. 
    2020 
    2121== Task requirements == 
    22  * Primitives should include the following operations: 
    23   * ''create'' 
    24    * each object the ''create'' primitive creates should have a unique id 
    25    * this primitive should be able to create a ProObject and return its id 
    26    * or create a Property for a given ProObject and return its id 
    27    * create a ProList and  return its id 
    28   * ''destroy'' 
    29    * should destroy an object given its id 
    30   * ''set'' 
    31    * should be able to set a value to an object given its id 
    32  * A few ProList operations should be available: 
    33   * ''add'' 
    34    * adds an object to a ProList given its id and position to be added to 
    35   * ''remove'' 
    36    * removes an object from a ProList given its id and position to be removed from 
    37   * the ''set'' operation should be adapted to accept a ProList, object and a position and should assign the given object to the given position in the given ProList 
     22 * The set of primitives should look like this: 
     23  * <id> probj-create <class-name> 
     24   * creates a new ProObject given its class name and returns the id of the newly created ProObject 
     25  * probj-destroy proobj-id 
     26   * destroys an existing ProObject given its id 
     27  * probj-set <probj-id> <prop-name> <value> 
     28   * sets a new value to a Property by its name of a ProObject given its id 
     29  * prolist-add <proobj-id> <prolist-name> <pos> <object> 
     30   * adds a new object at a given position to a given ListProperty of a given ProObject 
     31  * prolist-remove <proobj-id> <prolist-name> <pos> 
     32   * remove the object at a given position of a given ListProperty of a given ProObject 
     33  * prolist-set <proobj-id> <prolist-name> <pos> <object> 
     34   * sets a new object as a value of a given position to a given ListProperty of a given ProObject 
     35  * undo 
     36   * undoes the last Change in the History 
     37  * redo 
     38   * cancels the last Change in the History, if it is an UndoChange 
     39  * skip <change-id> 
     40   * skips a Change in the History given its id 
    3841 
    3942 * All ids used should be unique 
     
    4144 * Synchronization problems with list operations should be considered 
    4245  * An idea for solving those problems should be proposed 
    43  
    44  * Add more operations if needed 
    45  
    46  * Describe Changes decomposition to Change primitives, its purpose and provide a use-case 
    4746 
    4847== Task result ==