Procházet zdrojové kódy

Added some information about the returnvalue to the HTTP documentation

Yentl Van Tendeloo před 7 roky
rodič
revize
005bdb59a3
1 změnil soubory, kde provedl 80 přidání a 74 odebrání
  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
     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.
 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.
 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.
 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.
 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.
 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.
 There are several supported operations, most of which are simple to use.
 To switch back to megamodelling mode, send the *exit* input.
 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.
 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
 Service
 ^^^^^^^
 ^^^^^^^