Browse Source

Added some information about the returnvalue to the HTTP documentation

Yentl Van Tendeloo 7 years ago
parent
commit
005bdb59a3
1 changed files with 80 additions and 74 deletions
  1. 80 74
      doc/http.rst

+ 80 - 74
doc/http.rst

@@ -126,57 +126,64 @@ For example::
     
     op=set_input&data=["model_mode","formalisms/ProcessModel","formalisms/PM"]&taskname=xyz
 
+For each operation, we specify some information on the return value.
+If the return value is only "Success", this means that no return value is sent.
+Otherwise, the return value starts with "Success: ", and the return value starts afterwards.
+This is used to distinguish successful execution from exceptions.
+The returnvalue can consist of a single value, or of a list of values, encoded as a single string, separated by newline characters.
+For example, the result of "model_list" can be the string "Success: a\nb\nc", indicating that execution was successful and that the models a, b, and c are present at the requested location.
+More complex returnvalues specify multiple elements in a single line (i.e., a tuple), for which the order and encoding is described in more detail.
 
 Some more complex operations are mentioned below these standard operations.
 
-============================= ======================================
-operation                     parameters                            
-============================= ======================================
-model_move                    model_name, new_location               
-process_signature             process_name                           
-transformation_between        source_name, target_name               
-model_render                  model_name, mapper_name, rendered_name 
-model_rendered                model_name, mapper_name                
-verify                        model_name, metamodel_name             
-model_delete                  model_name                             
-model_list                    location                               
-model_list_full               location                               
-permission_modify             model_name, permissions                
-permission_owner              model_name, owner                      
-permission_group              model_name, group                      
-group_create                  group                                  
-group_delete                  group                                  
-group_owner_add               group, user                            
-group_owner_delete            group, user                            
-group_join                    group, user                            
-group_kick                    group, user                            
-group_list                                                           
-admin_promote                 user                                   
-admin_demote                  user                                   
-user_password                 user, password                         
-transformation_read_signature transformation_name                    
-verbose                                                              
-quiet                                                                
-folder_create                 location                               
-add_conformance               model_name, metamodel_name             
-model_types                   model_name                             
-AL_text                       location                               
-model_add                     metamodel_name, model_name, code       
-============================= ======================================
+============================= ====================================== ====================================================================
+operation                     parameters                             returnvalue
+============================= ====================================== ====================================================================
+model_move                    model_name, new_location               (none)
+process_signature             process_name                           set of dictionary entries "key : metamodel"
+transformation_between        source_name, target_name               set of locations
+model_render                  model_name, mapper_name, rendered_name JSON representation of model
+model_rendered                model_name, mapper_name                set of locations
+verify                        model_name, metamodel_name             string containing conformance result ("OK" indicates conforming)
+model_delete                  model_name                             (none)
+model_list                    location                               set of locations
+model_list_full               location                               set of "permission owner group location"
+permission_modify             model_name, permissions                (none)
+permission_owner              model_name, owner                      (none)
+permission_group              model_name, group                      (none)
+group_create                  group                                  (none)
+group_delete                  group                                  (none)
+group_owner_add               group, user                            (none)
+group_owner_delete            group, user                            (none)
+group_join                    group, user                            (none)
+group_kick                    group, user                            (none)
+group_list                                                           set of group names
+admin_promote                 user                                   (none)
+admin_demote                  user                                   (none)
+user_password                 user, password                         (none)
+transformation_read_signature transformation_name                    set of "type key metamodel" with type either I (input) or O (output)
+verbose                                                              (none)
+quiet                                                                (none)
+folder_create                 location                               (none)
+add_conformance               model_name, metamodel_name             (none)
+model_types                   model_name                             set of "location type_mapping conformance_semantics"
+AL_text                       location                               AL text representation
+model_add                     metamodel_name, model_name, code       (none)
+============================= ====================================== ====================================================================
 
 More complex operations have multiple phases, as there is a modification step involved, or a preliminary check before the next piece of data can be forwarded.
 These operations are presented next.
 
-========================= ===============================================
-operation                 parameters                                        
-========================= ===============================================
-model_overwrite           model_name, metamodel_name                        
-transformation_add_MANUAL source_models\*, target_models\*, name            
-transformation_add_AL     source_models\*, target_models\*, name            
-transformation_add_MT     source_models\*, target_models\*, name            
-transformation_execute    activity_name, source_models\*, target_models\*   
-process_execute           process_name, model_bindings\*                    
-========================= ===============================================
+========================= =============================================== ==========================
+operation                 parameters                                      returnvalue
+========================= =============================================== ==========================
+model_overwrite           model_name, metamodel_name                      (none)
+transformation_add_MANUAL source_models\*, target_models\*, name          (none)
+transformation_add_AL     source_models\*, target_models\*, name          (none)
+transformation_add_MT     source_models\*, target_models\*, name          (none)
+transformation_execute    activity_name, source_models\*, target_models\* (none) or "Failure"
+process_execute           process_name, model_bindings\*                  (none)
+========================= =============================================== ==========================
 
 Parameters marked with a \* are actually dictionaries, and should be sent as such.
 Since the Modelverse has no primitive notion of dictionaries, a dictionary is expanded as a sequence of key value pairs, terminated with an empty key.
@@ -209,38 +216,37 @@ In modelling mode, a single model is opened and ready to be modified.
 There are several supported operations, most of which are simple to use.
 To switch back to megamodelling mode, send the *exit* input.
 
-============================  =============================
-operation                     parameters                    
-============================  =============================
-help                                                        
-instantiate_node              type, element                 
-instantiate_edge              type, element, source, target 
-attr_add                      element, attribute, value     
-attr_delete                   element, attribute            
-attr_name                     element, attribute, name      
-attr_type                     element, attribute, type      
-attr_optional                 element, attribute, optional  
-delete                        element                       
-list                                                        
-list_full                                                   
-JSON                                                        
-read_outgoing                 element, type                 
-read_incoming                 element, type                 
-read                          element                       
-read_attrs                    element                       
-read_defined_attrs            element                       
-types                                                       
-retype                        element, type                 
-read_association_source       element                       
-read_association_destination  element                       
-connections_between           element, element              
-all_instances                 type                          
-define_attribute              element, attribute, type      
-undefine_attribute            element, attribute            
-============================  =============================
+============================  ============================= ======================================================
+operation                     parameters                    returnvalue
+============================  ============================= ======================================================
+instantiate_node              type, element                 ID of created element
+instantiate_edge              type, element, source, target ID of created element
+attr_add                      element, attribute, value     (none)
+attr_delete                   element, attribute            (none)
+attr_name                     element, attribute, name      (none)
+attr_type                     element, attribute, type      (none)
+attr_optional                 element, attribute, optional  (none)
+delete                        element                       (none)
+list                                                        set of element IDs
+list_full                                                   set of "  ID : type"
+JSON                                                        JSON representation of model
+read_outgoing                 element, type                 set of element IDs
+read_incoming                 element, type                 set of element IDs
+read                          element                       string containing type, source, destination, and value
+read_attrs                    element                       set of "name : value"
+read_defined_attrs            element                       set of "name : attribute_type"
+types                                                       set of element IDs
+retype                        element, type                 (none)
+read_association_source       element                       element ID
+read_association_destination  element                       element ID
+connections_between           element, element              set of element IDs
+all_instances                 type                          set of element IDs
+define_attribute              element, attribute, type      (none)
+undefine_attribute            element, attribute            (none)
+============================  ============================= ======================================================
 
 Some additional operations are again available that work in two phases.
-These operations are *attr_add_code* and *upload*, which first perform some checks and then wait for AL code or a model.
+These operations are *attr_add_code* and *upload*, which first perform some checks and then wait for AL code or a model, again using the "Waiting for X constructors..." output.
 
 Service
 ^^^^^^^