Changeset 24


Ignore:
Timestamp:
May 1, 2008, 9:11:34 AM (16 years ago)
Author:
Tatsukawa, Akimichi
Message:

working on AM::Archetype::ARCHETYPE

Location:
ruby/trunk
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • ruby/trunk/adl_parser/lib/parser.y

    r23 r24  
    4848
    4949arch_identification: arch_head V_ARCHETYPE_ID
     50  {
     51    result = {:arch_head => val[0], :archetype_id => val[1] }
     52  }
    5053  | SYM_ARCHETYPE error
     54  {
     55    raise
     56  }
    5157
    5258arch_head: SYM_ARCHETYPE
     59  {
     60    result = {:arch_meta_data => nil }
     61  }
    5362  | SYM_ARCHETYPE arch_meta_data
     63  {
     64    result = {:arch_meta_data => val[1] }
     65  }
    5466
    5567arch_meta_data: Left_parenthesis_code arch_meta_data_items Right_parenthesis_code
     68  {
     69    result = {:arch_meta_data_items => val[1] }
     70  }
    5671
    5772arch_meta_data_items: arch_meta_data_item
     73  {
     74    result = Array[val[0]]
     75  }
    5876  | arch_meta_data_items Semicolon_code arch_meta_data_item
    59 #  | arch_meta_data_items ';' arch_meta_data_item
     77  {
     78    result = (val[0] << val[2])
     79  }
     80
    6081
    6182arch_meta_data_item: SYM_ADL_VERSION SYM_EQ V_VERSION_STRING
     83  {
     84    result = {:adl_version => val[2] }
     85  }
    6286  | SYM_IS_CONTROLLED
     87  {
     88    result = val[0]
     89  }
    6390
    6491# Define specialization in which its constraints are narrower than those of the parent.
  • ruby/trunk/models/am/archetype/archetype.rb

    r23 r24  
    77#        include OpenEHR::RM::Support::Terminology::OpenEHR_Code_Set_Identifier
    88        include OpenEHR::RM::Support::Terminology
    9         CURRENT_ADL_VERSION = "2.0"
     9        CURRENT_ADL_VERSION = "1.4"
    1010      end
    1111
    12       class ARCHETYPE < OpenEHR::RM::Common::Resource::Authored_Resource
     12      class ARCHETYPE < OpenEHR::RM::Common::Resource::AUTHORED_RESOURCE
    1313        include ADL_Definition
    1414        attr_accessor :archetype_id, :concept_code, :is_controlled, :original_language, :parent_archtype_id, :uid
    1515
    16         attr_reader :adl_version, :id, :parent_id
    17         attr_reader :concept, :definition, :ontology
    18         attr_accessor :description,:original_language
     16        attr_reader :id, :parent_id,:concept, :definition, :ontology
     17        attr_accessor :adl_version,:description,:original_language
    1918        attr_accessor :revision_history, :translation
    2019
    2120        def initialize(args = {})
    22 #         def initialize(parent_id, concept,
    23 #                        description, revision_history, is_controled,
    24 #                        definition, ontology, adl_version,
    25 #                        id = nil , original_language = nil, translation = nil)
    26 #          raise Exception.new("illegal argument error, id == nil") unless id
    27 #          raise Exception.new("illegal argument error, originalLanguage == nil") unless origina_language
    28 
    29 #          raise Exception.new("illegal argument error, translation == nil") unless translation
    3021          @adl_version = args[:adl_version] if args[:adl_version]
    3122          @id = args[:id] ? args[:id] : nil
    3223          @parent_id = args[:parent_id] if args[:parent_id]
    3324          @concept = args[:concept] if args[:concept]
    34           @original_language = args[:original_language] ? args[:original_language] : nil
    35           @translation = args[:translation] ? args[:translation] : nil
    36           @description = args[:description] if args[:description]
    37           @revision_history = args[:revision_history] if args[:revision_history]
     25#          @original_language = args[:original_language] ? args[:original_language] : nil
     26#          @translation = args[:translation] ? args[:translation] : nil
     27#          @description = args[:description] if args[:description]
     28#          @revision_history = args[:revision_history] if args[:revision_history]
    3829          @is_controled = args[:is_controled] if args[:is_controled]
    3930          @definition = args[:definition] if args[:definition]
    4031          @ontology = args[:ontology] if args[:ontology]
    4132 #         loadMaps(definition)
     33          super
     34        end
     35
     36        def self.create(args ={}, &block)
     37          archetype = new(args)
     38          if block_given?
     39            yield archetype
     40          end
     41          return archetype
    4242        end
    4343
  • ruby/trunk/models/rm/common/resource.rb

    r4 r24  
    44    module Common
    55      module Resource
    6         class Authored_Resource
    7           attr_reader :is_controled
    8           attr_reader :revision_history, :translations
     6        class AUTHORED_RESOURCE
     7          attr_reader :is_controled,:revision_history, :translations
    98          attr_accessor :description, :original_language
    10           def initialize(original_language, translations,
    11                          description, revision_history = nil)
    12             if original_language == nil
    13               raise Exception.new("original language nil")
     9
     10          def initialize(args = { })
     11            @original_language = args[:original_language] if args[:original_language]
     12            @translations = args[:translations] if args[:translations]
     13            @revision_history = args[:revision_history] ? args[:revision_history] : nil
     14
     15            unless @revision_history
     16              @is_controled = false
     17            else
     18              @is_controled = true
    1419            end
    15             if translations == nil
    16               raise Exception.new("translation empty")
    17             end
    18             if revision_history == nil
    19               is_controled = false
    20             else
    21               is_controled = true
    22             end
    23             @original_language = original_language
    24             @translations = translations
    25             @description = description
    26             @revision_history = revision_history
     20
     21            @original_language = args[:original_language] if args[:original_language]
     22            @translations = args[:translations] if args[:translations]
     23            @description = args[:description] if args[:description]
    2724          end
     25
    2826          def current_version
    2927            @revision_history.most_recent_revision
    3028          end
     29
    3130          def language_available
    3231            languages = Set.new
    33             if translations != nil
    34               languages << translations.keys
     32            if @translations != nil
     33              languages << @translations.keys
    3534            end
    36             languages << original_language.code_string
     35            languages << @original_language.code_string
    3736          end
    3837        end
    39         class Translation_Details
     38
     39        class TRANSLATION_DETAILS
    4040          attr_accessor :language, :author, :accreditation
    4141          attr_accessor :other_details, :terminology_service
     42
    4243          def initialize(language, author, accreditation, other_details,
    4344                         terminology_service)
  • ruby/trunk/models/tests/test_archetype_model.rb

    r23 r24  
    1818    assert_instance_of OpenEHR::AM::Archetype::Archetype_Description::ARCHETYPE_DESCRIPTION_ITEM, @archetype_description_item
    1919    assert_instance_of OpenEHR::AM::Archetype::ARCHETYPE, @archetype
     20  end
     21
     22  def test_create
     23    archetype_instance = OpenEHR::AM::Archetype::ARCHETYPE.create() do |archetype|
     24      archetype.adl_version = '1.4'
     25    end
     26
     27    assert_instance_of OpenEHR::AM::Archetype::ARCHETYPE, archetype_instance
    2028  end
    2129end
  • ruby/trunk/models/tests/test_reference_model.rb

    r4 r24  
    55class ReferenceModelTest < Test::Unit::TestCase
    66  def setup
    7     @authored_resource = OpenEHR::RM::Common::Resource::Authored_Resource.new("ja","en","test")
    8     @translation_details = OpenEHR::RM::Common::Resource::Translation_Details.new(nil,nil,nil,nil,nil)
     7    @authored_resource = OpenEHR::RM::Common::Resource::AUTHORED_RESOURCE.new(:original_language => "ja",
     8                                                                              :translations => "en",
     9                                                                              :description => "test")
     10    @translation_details = OpenEHR::RM::Common::Resource::TRANSLATION_DETAILS.new(nil,nil,nil,nil,nil)
    911#    @openehr_definitions = OpenEHR::RM::Support::Definition::OpenEHR_Definitions.new
    1012    @dv_boolean = OpenEHR::RM::Data_Types::Basic::DV_Boolean.new("TRUE")
     
    1921 
    2022  def test_init
    21     assert_instance_of OpenEHR::RM::Common::Resource::Authored_Resource, @authored_resource
    22     assert_instance_of OpenEHR::RM::Common::Resource::Translation_Details, @translation_details
     23    assert_instance_of OpenEHR::RM::Common::Resource::AUTHORED_RESOURCE, @authored_resource
     24    assert_instance_of OpenEHR::RM::Common::Resource::TRANSLATION_DETAILS, @translation_details
    2325    assert_instance_of OpenEHR::RM::Data_Types::Basic::DV_Boolean, @dv_boolean
    2426    assert_instance_of OpenEHR::RM::Data_Types::Basic::DV_State, @dv_state
Note: See TracChangeset for help on using the changeset viewer.