Ignore:
Timestamp:
10/30/09 16:29:39 (15 years ago)
Author:
ymipsl
Message:

Correction bug sur les ids des file_group
+ possibilité de fixer les attributs des groupes à partir de l'ioserver

File:
1 edited

Legend:

Unmodified
Added
Removed
  • XMLIO_SERVER/trunk/src/XMLIO/mod_axis.f90

    r40 r42  
    2929  TYPE(vector_axis),POINTER,SAVE             :: axis_Ids 
    3030  TYPE(sorted_list),POINTER,SAVE,PRIVATE     :: Ids  
     31 
     32  INTERFACE axis__set_attribut 
     33    MODULE PROCEDURE axis__set_attribut_id,axis__set_attribut_pt 
     34  END INTERFACE 
    3135 
    3236CONTAINS 
     
    137141  END SUBROUTINE axis__set 
    138142 
    139   SUBROUTINE axis__set_attribut(id,attrib) 
     143  SUBROUTINE axis__set_attribut_id(id,attrib,ok) 
     144  USE mod_attribut 
     145  USE error_msg 
     146  IMPLICIT NONE 
     147    CHARACTER(LEN=*),INTENT(IN)   :: id 
     148    TYPE(attribut),INTENT(IN)     :: attrib 
     149    LOGICAL,OPTIONAL,INTENT(OUT)  :: ok 
     150     
     151    TYPE(axis),POINTER              :: Pt_axis 
     152    INTEGER                         :: Pos 
     153    LOGICAL                         :: success 
     154     
     155    CALL sorted_list__find(Ids,hash(Id),Pos,success) 
     156    IF (success) THEN 
     157      Pt_axis=>axis_ids%at(Pos)%Pt 
     158      CALL axis__set_attribut_pt(Pt_axis,attrib) 
     159      IF (PRESENT(OK)) OK=.TRUE. 
     160    ELSE 
     161      IF (.NOT.PRESENT(OK)) THEN 
     162        WRITE(message,*) 'axis id :',id,'is undefined' 
     163        CALL error('mod_axis::axis__set_attribut') 
     164      ELSE 
     165        OK=.FALSE. 
     166      ENDIF 
     167    ENDIF   
     168   
     169  END SUBROUTINE axis__set_attribut_id 
     170       
     171  SUBROUTINE axis__set_attribut_pt(Pt_axis,attrib) 
    140172  USE mod_attribut 
    141173  USE mod_axis_attribut 
    142174  USE error_msg 
    143175  IMPLICIT NONE 
    144     CHARACTER(LEN=*),INTENT(IN) :: id 
     176    TYPE(axis),POINTER        :: Pt_axis 
    145177    TYPE(attribut),INTENT(IN) :: attrib 
    146  
    147     TYPE(axis),POINTER              :: Pt_axis 
    148     INTEGER                         :: Pos 
    149     LOGICAL                         :: success 
    150      
    151     CALL sorted_list__find(Ids,hash(Id),Pos,success) 
    152     IF (success) THEN 
    153       Pt_axis=>axis_ids%at(Pos)%Pt 
    154     ELSE 
    155       WRITE(message,*) 'axis id :',id,'is undefined' 
    156       CALL error('mod_axis::axis__set_attribut') 
    157     ENDIF   
    158178     
    159179    SELECT CASE(attrib%name) 
     
    172192       END SELECT 
    173193 
    174      WRITE(message,*) 'axis id ',id,' : Attribute type is incompatible with the provided value' 
     194     WRITE(message,*) 'axis attribut ',attrib%name,' : type :',attrib%type,' : Attribute type is incompatible with the provided value' 
    175195     CALL error('mod_axis::axis__set_attribut') 
    176196     
    177   END SUBROUTINE axis__set_attribut 
     197  END SUBROUTINE axis__set_attribut_pt 
    178198   
    179199  SUBROUTINE axis__print(pt_axis) 
Note: See TracChangeset for help on using the changeset viewer.