From 766ef3c91b83b1227d377e580d55039ff0e56ec2 Mon Sep 17 00:00:00 2001 From: Ethan Soutar-Rau Date: Fri, 17 Feb 2012 10:34:27 -0800 Subject: [PATCH 1/3] change ElanParser migration name to ElanParserMigration to avoid name conflict with module --- lib/generators/elan_parser/install/install_generator.rb | 2 +- lib/generators/elan_parser/templates/elan_parser.rb | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/generators/elan_parser/install/install_generator.rb b/lib/generators/elan_parser/install/install_generator.rb index c3d5041..49f4d9b 100755 --- a/lib/generators/elan_parser/install/install_generator.rb +++ b/lib/generators/elan_parser/install/install_generator.rb @@ -17,7 +17,7 @@ def self.next_migration_number(path) end def copy_migrations - migration_template "elan_parser.rb", "db/migrate/elan_parser.rb" + migration_template "elan_parser_migration.rb", "db/migrate/elan_parser_migration.rb" end end end diff --git a/lib/generators/elan_parser/templates/elan_parser.rb b/lib/generators/elan_parser/templates/elan_parser.rb index 7eeed9a..d37af35 100755 --- a/lib/generators/elan_parser/templates/elan_parser.rb +++ b/lib/generators/elan_parser/templates/elan_parser.rb @@ -1,4 +1,4 @@ -class ElanParser < ActiveRecord::Migration +class ElanParserMigration < ActiveRecord::Migration def self.up create_table :elan_parser_media_descriptors do |t| t.column :media_url, :string, :null => false From 2ae412e334e17530d75bc8e23d23226b5b2f3383 Mon Sep 17 00:00:00 2001 From: Ethan Soutar-Rau Date: Mon, 19 Mar 2012 17:53:45 -0700 Subject: [PATCH 2/3] no malloc no --- lib/elan_parser/xml/xml_save.rb | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/lib/elan_parser/xml/xml_save.rb b/lib/elan_parser/xml/xml_save.rb index 1b08346..0b609d1 100755 --- a/lib/elan_parser/xml/xml_save.rb +++ b/lib/elan_parser/xml/xml_save.rb @@ -7,11 +7,12 @@ class Save def initialize(eaf_xml, file_name) #Validate the XML - elan_validator = ElanParser::Helper::Validator.new - nokogiri_doc = Nokogiri::XML(eaf_xml) - @validation_errors = elan_validator.validate_elan_xml(nokogiri_doc) + #elan_validator = ElanParser::Helper::Validator.new + #nokogiri_doc = Nokogiri::XML(eaf_xml) + #@validation_errors = elan_validator.validate_elan_xml(nokogiri_doc) @pkey_id = 0 + @validation_errors = [] if (@validation_errors.size == 0) then parsed_annotation_document = ElanParser::XML::AnnotationDocument.parse(eaf_xml) annotation_document = create_annotation_document(parsed_annotation_document, file_name) From 2da560cb00cc91ef7eef37cbf1a9eccd9b1a63d4 Mon Sep 17 00:00:00 2001 From: Ethan Soutar-Rau Date: Mon, 19 Mar 2012 18:23:19 -0700 Subject: [PATCH 3/3] break down to just parser --- elan_parser.gemspec | 2 - lib/elan_parser/db/db_alignable_annotation.rb | 14 -- .../db/db_alignable_annotation_time_slot.rb | 13 - lib/elan_parser/db/db_annotation.rb | 14 -- ...notation_controlled_vocabulary_document.rb | 10 - lib/elan_parser/db/db_annotation_document.rb | 29 --- .../db/db_annotation_document_constraint.rb | 12 - .../db/db_annotation_document_external_ref.rb | 10 - .../db/db_annotation_document_lexicon_ref.rb | 10 - .../db_annotation_document_linguistic_type.rb | 12 - .../db/db_annotation_document_locale.rb | 13 - .../db/db_annotation_document_tier.rb | 12 - lib/elan_parser/db/db_annotation_tier.rb | 12 - lib/elan_parser/db/db_annotation_value.rb | 11 - lib/elan_parser/db/db_constraint.rb | 12 - .../db/db_controlled_vocabulary.rb | 13 - .../db/db_controlled_vocabulary_cv_entry.rb | 10 - lib/elan_parser/db/db_cv_entry.rb | 12 - lib/elan_parser/db/db_external_reference.rb | 10 - lib/elan_parser/db/db_header.rb | 17 -- .../db/db_header_linked_file_descriptor.rb | 10 - .../db/db_header_media_descriptor.rb | 12 - lib/elan_parser/db/db_header_property.rb | 12 - lib/elan_parser/db/db_lexicon_reference.rb | 10 - lib/elan_parser/db/db_linguistic_type.rb | 13 - .../db/db_linked_file_descriptor.rb | 10 - lib/elan_parser/db/db_locale.rb | 12 - lib/elan_parser/db/db_media_descriptor.rb | 12 - lib/elan_parser/db/db_model.rb | 238 ------------------ lib/elan_parser/db/db_property.rb | 11 - lib/elan_parser/db/db_reference_annotation.rb | 10 - lib/elan_parser/db/db_tier.rb | 14 -- lib/elan_parser/db/db_time_order.rb | 14 -- lib/elan_parser/db/db_time_order_time_slot.rb | 12 - lib/elan_parser/db/db_time_slot.rb | 12 - lib/elan_parser/helper/helper_destroyer.rb | 42 ---- lib/elan_parser/helper/helper_validator.rb | 12 - lib/elan_parser/xml/xml_build.rb | 2 - lib/elan_parser/xml/xml_save.rb | 1 - .../annotation_fix_generator.rb | 24 -- lib/generators/elan_parser/cv/cv_generator.rb | 24 -- .../elan_parser/install/install_generator.rb | 24 -- .../templates/elan_parser_migration.rb | 206 --------------- .../templates/elan_parser_migration_to_05.rb | 21 -- .../templates/elan_parser_migration_to_06.rb | 15 -- spec/elan_parser_db_spec.rb | 58 ----- spec/elan_parser_xml_builder_spec.rb | 64 ----- spec/elan_parser_xml_save_spec.rb | 44 ---- spec/factories/annotation_documents.rb | 101 -------- spec/factories/xml_builder.rb | 31 --- 50 files changed, 1319 deletions(-) delete mode 100755 lib/elan_parser/db/db_alignable_annotation.rb delete mode 100755 lib/elan_parser/db/db_alignable_annotation_time_slot.rb delete mode 100755 lib/elan_parser/db/db_annotation.rb delete mode 100755 lib/elan_parser/db/db_annotation_controlled_vocabulary_document.rb delete mode 100755 lib/elan_parser/db/db_annotation_document.rb delete mode 100755 lib/elan_parser/db/db_annotation_document_constraint.rb delete mode 100755 lib/elan_parser/db/db_annotation_document_external_ref.rb delete mode 100755 lib/elan_parser/db/db_annotation_document_lexicon_ref.rb delete mode 100755 lib/elan_parser/db/db_annotation_document_linguistic_type.rb delete mode 100755 lib/elan_parser/db/db_annotation_document_locale.rb delete mode 100755 lib/elan_parser/db/db_annotation_document_tier.rb delete mode 100755 lib/elan_parser/db/db_annotation_tier.rb delete mode 100755 lib/elan_parser/db/db_annotation_value.rb delete mode 100755 lib/elan_parser/db/db_constraint.rb delete mode 100755 lib/elan_parser/db/db_controlled_vocabulary.rb delete mode 100755 lib/elan_parser/db/db_controlled_vocabulary_cv_entry.rb delete mode 100755 lib/elan_parser/db/db_cv_entry.rb delete mode 100755 lib/elan_parser/db/db_external_reference.rb delete mode 100755 lib/elan_parser/db/db_header.rb delete mode 100755 lib/elan_parser/db/db_header_linked_file_descriptor.rb delete mode 100755 lib/elan_parser/db/db_header_media_descriptor.rb delete mode 100755 lib/elan_parser/db/db_header_property.rb delete mode 100755 lib/elan_parser/db/db_lexicon_reference.rb delete mode 100755 lib/elan_parser/db/db_linguistic_type.rb delete mode 100755 lib/elan_parser/db/db_linked_file_descriptor.rb delete mode 100755 lib/elan_parser/db/db_locale.rb delete mode 100755 lib/elan_parser/db/db_media_descriptor.rb delete mode 100755 lib/elan_parser/db/db_model.rb delete mode 100755 lib/elan_parser/db/db_property.rb delete mode 100755 lib/elan_parser/db/db_reference_annotation.rb delete mode 100755 lib/elan_parser/db/db_tier.rb delete mode 100755 lib/elan_parser/db/db_time_order.rb delete mode 100755 lib/elan_parser/db/db_time_order_time_slot.rb delete mode 100755 lib/elan_parser/db/db_time_slot.rb delete mode 100755 lib/elan_parser/helper/helper_destroyer.rb delete mode 100755 lib/elan_parser/helper/helper_validator.rb delete mode 100755 lib/generators/elan_parser/annotation_fix/annotation_fix_generator.rb delete mode 100755 lib/generators/elan_parser/cv/cv_generator.rb delete mode 100755 lib/generators/elan_parser/install/install_generator.rb delete mode 100755 lib/generators/elan_parser/templates/elan_parser_migration.rb delete mode 100755 lib/generators/elan_parser/templates/elan_parser_migration_to_05.rb delete mode 100755 lib/generators/elan_parser/templates/elan_parser_migration_to_06.rb delete mode 100755 spec/elan_parser_db_spec.rb delete mode 100755 spec/elan_parser_xml_builder_spec.rb delete mode 100755 spec/elan_parser_xml_save_spec.rb delete mode 100755 spec/factories/annotation_documents.rb delete mode 100644 spec/factories/xml_builder.rb diff --git a/elan_parser.gemspec b/elan_parser.gemspec index f020f9d..f75ed28 100644 --- a/elan_parser.gemspec +++ b/elan_parser.gemspec @@ -26,7 +26,5 @@ Gem::Specification.new do |s| # s.add_runtime_dependency "rest-client" s.add_runtime_dependency "happymapper" - s.add_runtime_dependency "pg" - s.add_runtime_dependency "nokogiri" s.add_runtime_dependency "activerecord" end diff --git a/lib/elan_parser/db/db_alignable_annotation.rb b/lib/elan_parser/db/db_alignable_annotation.rb deleted file mode 100755 index 38bb85e..0000000 --- a/lib/elan_parser/db/db_alignable_annotation.rb +++ /dev/null @@ -1,14 +0,0 @@ -require 'active_record' - -module ElanParser - module DB - class AlignableAnnotation < ActiveRecord::Base - self.table_name = 'elan_parser_alignable_annotations' - - has_one :alignable_annotation_time_slot, :dependent => :destroy - has_one :annotation, :dependent => :destroy - - belongs_to :annotation_value - end - end -end diff --git a/lib/elan_parser/db/db_alignable_annotation_time_slot.rb b/lib/elan_parser/db/db_alignable_annotation_time_slot.rb deleted file mode 100755 index 518d78d..0000000 --- a/lib/elan_parser/db/db_alignable_annotation_time_slot.rb +++ /dev/null @@ -1,13 +0,0 @@ -require 'active_record' - -module ElanParser - module DB - class AlignableAnnotationTimeSlot < ActiveRecord::Base - self.table_name = 'elan_parser_alignable_annotations_time_slots' - - belongs_to :alignable_annotation, :class_name => "AlignableAnnotation", :foreign_key => "alignable_annotation_id" - belongs_to :time_slot_ref1, :class_name => "TimeSlot", :foreign_key => "time_slot_ref1" - belongs_to :time_slot_ref2, :class_name => "TimeSlot", :foreign_key => "time_slot_ref2" - end - end -end diff --git a/lib/elan_parser/db/db_annotation.rb b/lib/elan_parser/db/db_annotation.rb deleted file mode 100755 index 42f68eb..0000000 --- a/lib/elan_parser/db/db_annotation.rb +++ /dev/null @@ -1,14 +0,0 @@ -require 'active_record' - -module ElanParser - module DB - class Annotation < ActiveRecord::Base - self.table_name = 'elan_parser_annotations' - - has_one :annotation_tier, :dependent => :destroy - has_one :tier, :through => :annotation_tier, :dependent => :destroy - - belongs_to :alignable_annotation - end - end -end \ No newline at end of file diff --git a/lib/elan_parser/db/db_annotation_controlled_vocabulary_document.rb b/lib/elan_parser/db/db_annotation_controlled_vocabulary_document.rb deleted file mode 100755 index 389bcc4..0000000 --- a/lib/elan_parser/db/db_annotation_controlled_vocabulary_document.rb +++ /dev/null @@ -1,10 +0,0 @@ -require 'active_record' - -module ElanParser - module DB - #STUB - class AnnotationControlledVocabularyDocument < ActiveRecord::Base - self.table_name = 'elan_parser_annotation_controlled_vocabularies_documents' - end - end -end \ No newline at end of file diff --git a/lib/elan_parser/db/db_annotation_document.rb b/lib/elan_parser/db/db_annotation_document.rb deleted file mode 100755 index 40c631b..0000000 --- a/lib/elan_parser/db/db_annotation_document.rb +++ /dev/null @@ -1,29 +0,0 @@ -require 'active_record' - -module ElanParser - module DB - class AnnotationDocument < ActiveRecord::Base - self.table_name = 'elan_parser_annotation_documents' - - has_one :header, :dependent => :destroy - has_one :time_order, :dependent => :destroy - - has_many :annotation_document_tiers - has_many :tiers, :through => :annotation_document_tiers, :dependent => :destroy - - has_many :annotation_document_linguistic_types - has_many :linguistic_types, :through => :annotation_document_linguistic_types, :dependent => :destroy - - has_many :annotation_document_locales - has_many :locales, :through => :annotation_document_locales, :dependent => :destroy - - has_many :annotation_document_constraints - has_many :constraints, :through => :annotation_document_constraints, :dependent => :destroy - - ## These relationships are not active. They are currently stubs. - has_many :controlled_vocabularies - # has_many :lexicon_refs - # has_many :external_refs - end - end -end diff --git a/lib/elan_parser/db/db_annotation_document_constraint.rb b/lib/elan_parser/db/db_annotation_document_constraint.rb deleted file mode 100755 index 9f1d8e6..0000000 --- a/lib/elan_parser/db/db_annotation_document_constraint.rb +++ /dev/null @@ -1,12 +0,0 @@ -require 'active_record' - -module ElanParser - module DB - class AnnotationDocumentConstraint < ActiveRecord::Base - self.table_name = 'elan_parser_annotation_documents_constraints' - - belongs_to :annotation_document - belongs_to :constraint - end - end -end \ No newline at end of file diff --git a/lib/elan_parser/db/db_annotation_document_external_ref.rb b/lib/elan_parser/db/db_annotation_document_external_ref.rb deleted file mode 100755 index f958ebc..0000000 --- a/lib/elan_parser/db/db_annotation_document_external_ref.rb +++ /dev/null @@ -1,10 +0,0 @@ -require 'active_record' - -module ElanParser - module DB - #STUB - class AnnotationDocumentExternalref < ActiveRecord::Base - self.table_name = 'elan_parser_annotation_documents_external_refs' - end - end -end \ No newline at end of file diff --git a/lib/elan_parser/db/db_annotation_document_lexicon_ref.rb b/lib/elan_parser/db/db_annotation_document_lexicon_ref.rb deleted file mode 100755 index 1763fb5..0000000 --- a/lib/elan_parser/db/db_annotation_document_lexicon_ref.rb +++ /dev/null @@ -1,10 +0,0 @@ -require 'active_record' - -module ElanParser - module DB - #STUB - class AnnotationDocumentLexiconRef < ActiveRecord::Base - self.table_name = 'elan_parser_annotation_documents_lexicon_refs' - end - end -end \ No newline at end of file diff --git a/lib/elan_parser/db/db_annotation_document_linguistic_type.rb b/lib/elan_parser/db/db_annotation_document_linguistic_type.rb deleted file mode 100755 index 1f2e4e8..0000000 --- a/lib/elan_parser/db/db_annotation_document_linguistic_type.rb +++ /dev/null @@ -1,12 +0,0 @@ -require 'active_record' - -module ElanParser - module DB - class AnnotationDocumentLinguisticType < ActiveRecord::Base - self.table_name = 'elan_parser_annotation_documents_linguistic_types' - - belongs_to :linguistic_type - belongs_to :annotation_document - end - end -end \ No newline at end of file diff --git a/lib/elan_parser/db/db_annotation_document_locale.rb b/lib/elan_parser/db/db_annotation_document_locale.rb deleted file mode 100755 index dfcb68c..0000000 --- a/lib/elan_parser/db/db_annotation_document_locale.rb +++ /dev/null @@ -1,13 +0,0 @@ -require 'active_record' - -module ElanParser - module DB - #STUB - class AnnotationDocumentLocale < ActiveRecord::Base - self.table_name = 'elan_parser_annotation_documents_locales' - - belongs_to :annotation_document - belongs_to :locale - end - end -end \ No newline at end of file diff --git a/lib/elan_parser/db/db_annotation_document_tier.rb b/lib/elan_parser/db/db_annotation_document_tier.rb deleted file mode 100755 index aa6dd97..0000000 --- a/lib/elan_parser/db/db_annotation_document_tier.rb +++ /dev/null @@ -1,12 +0,0 @@ -require 'active_record' - -module ElanParser - module DB - class AnnotationDocumentTier < ActiveRecord::Base - self.table_name = 'elan_parser_annotation_documents_tiers' - - belongs_to :annotation_document - belongs_to :tier - end - end -end \ No newline at end of file diff --git a/lib/elan_parser/db/db_annotation_tier.rb b/lib/elan_parser/db/db_annotation_tier.rb deleted file mode 100755 index 298dd2b..0000000 --- a/lib/elan_parser/db/db_annotation_tier.rb +++ /dev/null @@ -1,12 +0,0 @@ -require 'active_record' - -module ElanParser - module DB - class AnnotationTier < ActiveRecord::Base - self.table_name = 'elan_parser_annotations_tiers' - - belongs_to :annotation - belongs_to :tier - end - end -end \ No newline at end of file diff --git a/lib/elan_parser/db/db_annotation_value.rb b/lib/elan_parser/db/db_annotation_value.rb deleted file mode 100755 index 7025a2b..0000000 --- a/lib/elan_parser/db/db_annotation_value.rb +++ /dev/null @@ -1,11 +0,0 @@ -require 'active_record' - -module ElanParser - module DB - class AnnotationValue < ActiveRecord::Base - self.table_name = 'elan_parser_annotation_values' - - has_many :alignable_annotations - end - end -end diff --git a/lib/elan_parser/db/db_constraint.rb b/lib/elan_parser/db/db_constraint.rb deleted file mode 100755 index 7f5b625..0000000 --- a/lib/elan_parser/db/db_constraint.rb +++ /dev/null @@ -1,12 +0,0 @@ -require 'active_record' - -module ElanParser - module DB - class Constraint < ActiveRecord::Base - self.table_name = 'elan_parser_constraints' - - has_many :annotation_document_constraints - has_many :annotation_documents, :through => :annotation_document_constraints, :dependent => :destroy - end - end -end \ No newline at end of file diff --git a/lib/elan_parser/db/db_controlled_vocabulary.rb b/lib/elan_parser/db/db_controlled_vocabulary.rb deleted file mode 100755 index d8d8adb..0000000 --- a/lib/elan_parser/db/db_controlled_vocabulary.rb +++ /dev/null @@ -1,13 +0,0 @@ -require 'active_record' - -module ElanParser - module DB - #STUB - class ControlledVocabulary < ActiveRecord::Base - self.table_name = 'elan_parser_controlled_vocabularies' - - has_many :cv_entries - belongs_to :annotation_document - end - end -end diff --git a/lib/elan_parser/db/db_controlled_vocabulary_cv_entry.rb b/lib/elan_parser/db/db_controlled_vocabulary_cv_entry.rb deleted file mode 100755 index 8e09a53..0000000 --- a/lib/elan_parser/db/db_controlled_vocabulary_cv_entry.rb +++ /dev/null @@ -1,10 +0,0 @@ -require 'active_record' - -module ElanParser - module DB - #STUB - class ControlledVocabularyCvEntry < ActiveRecord::Base - self.table_name = 'elan_parser_controlled_vocabularies_cv_entries' - end - end -end \ No newline at end of file diff --git a/lib/elan_parser/db/db_cv_entry.rb b/lib/elan_parser/db/db_cv_entry.rb deleted file mode 100755 index 7db586c..0000000 --- a/lib/elan_parser/db/db_cv_entry.rb +++ /dev/null @@ -1,12 +0,0 @@ -require 'active_record' - -module ElanParser - module DB - #STUB - class CvEntry < ActiveRecord::Base - self.table_name = 'elan_parser_cv_entries' - - belongs_to :controlled_vocabulary - end - end -end diff --git a/lib/elan_parser/db/db_external_reference.rb b/lib/elan_parser/db/db_external_reference.rb deleted file mode 100755 index db06a3e..0000000 --- a/lib/elan_parser/db/db_external_reference.rb +++ /dev/null @@ -1,10 +0,0 @@ -require 'active_record' - -module ElanParser - module DB - #STUB - class ExternalReference < ActiveRecord::Base - self.table_name = 'elan_parser_external_references' - end - end -end \ No newline at end of file diff --git a/lib/elan_parser/db/db_header.rb b/lib/elan_parser/db/db_header.rb deleted file mode 100755 index cc6b688..0000000 --- a/lib/elan_parser/db/db_header.rb +++ /dev/null @@ -1,17 +0,0 @@ -require 'active_record' - -module ElanParser - module DB - class Header < ActiveRecord::Base - self.table_name = 'elan_parser_headers' - - belongs_to :annotation_document - - has_many :header_media_descriptors - has_many :media_descriptors, :through => :header_media_descriptors, :dependent => :destroy - - has_many :header_properties - has_many :properties, :through => :header_properties, :dependent => :destroy - end - end -end \ No newline at end of file diff --git a/lib/elan_parser/db/db_header_linked_file_descriptor.rb b/lib/elan_parser/db/db_header_linked_file_descriptor.rb deleted file mode 100755 index 858dde2..0000000 --- a/lib/elan_parser/db/db_header_linked_file_descriptor.rb +++ /dev/null @@ -1,10 +0,0 @@ -require 'active_record' - -module ElanParser - module DB - #STUB - class HeaderLinkedFileDescriptor < ActiveRecord::Base - self.table_name = 'elan_parser_headers_linked_file_descriptors' - end - end -end \ No newline at end of file diff --git a/lib/elan_parser/db/db_header_media_descriptor.rb b/lib/elan_parser/db/db_header_media_descriptor.rb deleted file mode 100755 index 007ed6d..0000000 --- a/lib/elan_parser/db/db_header_media_descriptor.rb +++ /dev/null @@ -1,12 +0,0 @@ -require 'active_record' - -module ElanParser - module DB - class HeaderMediaDescriptor < ActiveRecord::Base - self.table_name = 'elan_parser_headers_media_descriptors' - - belongs_to :header - belongs_to :media_descriptor - end - end -end \ No newline at end of file diff --git a/lib/elan_parser/db/db_header_property.rb b/lib/elan_parser/db/db_header_property.rb deleted file mode 100755 index 37d4c12..0000000 --- a/lib/elan_parser/db/db_header_property.rb +++ /dev/null @@ -1,12 +0,0 @@ -require 'active_record' - -module ElanParser - module DB - class HeaderProperty < ActiveRecord::Base - self.table_name = 'elan_parser_headers_properties' - - belongs_to :header - belongs_to :property - end - end -end \ No newline at end of file diff --git a/lib/elan_parser/db/db_lexicon_reference.rb b/lib/elan_parser/db/db_lexicon_reference.rb deleted file mode 100755 index 5525b3c..0000000 --- a/lib/elan_parser/db/db_lexicon_reference.rb +++ /dev/null @@ -1,10 +0,0 @@ -require 'active_record' - -module ElanParser - module DB - #STUB - class LexiconReference < ActiveRecord::Base - self.table_name = 'elan_parser_lexicon_references' - end - end -end \ No newline at end of file diff --git a/lib/elan_parser/db/db_linguistic_type.rb b/lib/elan_parser/db/db_linguistic_type.rb deleted file mode 100755 index 169d0c9..0000000 --- a/lib/elan_parser/db/db_linguistic_type.rb +++ /dev/null @@ -1,13 +0,0 @@ -require 'active_record' - -module ElanParser - module DB - #STUB - class LinguisticType < ActiveRecord::Base - self.table_name = 'elan_parser_linguistic_types' - - has_many :annotation_document_linguistic_types - has_many :annotation_documents, :through => :annotation_document_linguistic_types, :dependent => :destroy - end - end -end \ No newline at end of file diff --git a/lib/elan_parser/db/db_linked_file_descriptor.rb b/lib/elan_parser/db/db_linked_file_descriptor.rb deleted file mode 100755 index a7d0191..0000000 --- a/lib/elan_parser/db/db_linked_file_descriptor.rb +++ /dev/null @@ -1,10 +0,0 @@ -require 'active_record' - -module ElanParser - module DB - #STUB - class LinkedFileDescriptor < ActiveRecord::Base - self.table_name = 'elan_parser_linked_file_descriptors' - end - end -end \ No newline at end of file diff --git a/lib/elan_parser/db/db_locale.rb b/lib/elan_parser/db/db_locale.rb deleted file mode 100755 index 8b960f0..0000000 --- a/lib/elan_parser/db/db_locale.rb +++ /dev/null @@ -1,12 +0,0 @@ -require 'active_record' - -module ElanParser - module DB - class Locale < ActiveRecord::Base - self.table_name = 'elan_parser_locales' - - has_many :annotation_document_locales - has_many :annotation_documents, :through => :annotation_document_locales, :dependent => :destroy - end - end -end \ No newline at end of file diff --git a/lib/elan_parser/db/db_media_descriptor.rb b/lib/elan_parser/db/db_media_descriptor.rb deleted file mode 100755 index 898ead0..0000000 --- a/lib/elan_parser/db/db_media_descriptor.rb +++ /dev/null @@ -1,12 +0,0 @@ -require 'active_record' - -module ElanParser - module DB - class MediaDescriptor < ActiveRecord::Base - self.table_name = 'elan_parser_media_descriptors' - - has_many :header_media_descriptors - has_many :media_descriptors, :through => :header_media_descriptors, :dependent => :destroy - end - end -end \ No newline at end of file diff --git a/lib/elan_parser/db/db_model.rb b/lib/elan_parser/db/db_model.rb deleted file mode 100755 index d92e6e4..0000000 --- a/lib/elan_parser/db/db_model.rb +++ /dev/null @@ -1,238 +0,0 @@ -require 'active_record' - -module ElanParser - module DB - class MediaDescriptor < ActiveRecord::Base - self.table_name = 'elan_parser_media_descriptors' - - has_many :header_media_descriptors - has_many :media_descriptors, :through => :header_media_descriptors, :dependent => :destroy - end - - class Property < ActiveRecord::Base - self.table_name = 'elan_parser_properties' - - has_one :header, :through => 'header_property' - end - - #STUB - class LinkedFileDescriptor < ActiveRecord::Base - self.table_name = 'elan_parser_linked_file_descriptors' - end - - class Header < ActiveRecord::Base - self.table_name = 'elan_parser_headers' - - belongs_to :annotation_document - - has_many :header_media_descriptors - has_many :media_descriptors, :through => :header_media_descriptors, :dependent => :destroy - - has_many :header_properties - has_many :properties, :through => :header_properties, :dependent => :destroy - end - - class HeaderMediaDescriptor < ActiveRecord::Base - self.table_name = 'elan_parser_headers_media_descriptors' - - belongs_to :header - belongs_to :media_descriptor - end - - #STUB - class HeaderLinkedFileDescriptor < ActiveRecord::Base - self.table_name = 'elan_parser_headers_linked_file_descriptors' - end - - class HeaderProperty < ActiveRecord::Base - self.table_name = 'elan_parser_headers_properties' - - belongs_to :header - belongs_to :property - end - - class TimeSlot < ActiveRecord::Base - self.table_name = 'elan_parser_time_slots' - - has_one :alignable_annotation_time_slot, :dependent => :destroy - has_one :time_order, :dependent => :destroy - end - - class TimeOrder < ActiveRecord::Base - self.table_name = 'elan_parser_time_orders' - - belongs_to :annotation_document - - has_many :time_order_time_slots - has_many :time_slots, :through => :time_order_time_slots, :dependent => :destroy - end - - class TimeOrderTimeSlot < ActiveRecord::Base - self.table_name = 'elan_parser_time_orders_time_slots' - - belongs_to :time_order - belongs_to :time_slot - end - - #STUB - class ReferenceAnnotation < ActiveRecord::Base - self.table_name = 'elan_parser_reference_annotations' - end - - class AlignableAnnotation < ActiveRecord::Base - self.table_name = 'elan_parser_alignable_annotations' - - has_one :alignable_annotation_time_slot, :dependent => :destroy - has_one :annotation, :dependent => :destroy - end - - class AlignableAnnotationTimeSlot < ActiveRecord::Base - self.table_name = 'elan_parser_alignable_annotations_time_slots' - - belongs_to :alignable_annotation, :class_name => "AlignableAnnotation", :foreign_key => "alignable_annotation_id" - belongs_to :time_slot_ref1, :class_name => "TimeSlot", :foreign_key => "time_slot_ref1" - belongs_to :time_slot_ref2, :class_name => "TimeSlot", :foreign_key => "time_slot_ref2" - end - - class Annotation < ActiveRecord::Base - self.table_name = 'elan_parser_annotations' - - has_one :annotation_tier, :dependent => :destroy - has_one :tier, :through => :annotation_tier, :dependent => :destroy - - belongs_to :alignable_annotation - end - - class AnnotationDocument < ActiveRecord::Base - self.table_name = 'elan_parser_annotation_documents' - - has_one :header, :dependent => :destroy - has_one :time_order, :dependent => :destroy - - has_many :annotation_document_tiers - has_many :tiers, :through => :annotation_document_tiers, :dependent => :destroy - - has_many :annotation_document_linguistic_types - has_many :linguistic_types, :through => :annotation_document_linguistic_types, :dependent => :destroy - - has_many :annotation_document_locales - has_many :locales, :through => :annotation_document_locales, :dependent => :destroy - - has_many :annotation_document_constraints - has_many :constraints, :through => :annotation_document_constraints, :dependent => :destroy - - ## These relationships are not active. They are currently stubs. - # has_many :controlled_vocabularies - # has_many :lexicon_refs - # has_many :external_refs - end - - class Tier < ActiveRecord::Base - self.table_name = 'elan_parser_tiers' - has_many :annotation_tiers - has_many :annotations, :through => :annotation_tiers, :dependent => :destroy - - has_many :annotation_document_tiers - has_many :annotation_documents, :through => :annotation_document_tiers, :dependent => :destroy - end - - class AnnotationDocumentTier < ActiveRecord::Base - self.table_name = 'elan_parser_annotation_documents_tiers' - - belongs_to :annotation_document - belongs_to :tier - end - - - class AnnotationTier < ActiveRecord::Base - self.table_name = 'elan_parser_annotations_tiers' - - belongs_to :annotation - belongs_to :tier - end - - #STUB - class LinguisticType < ActiveRecord::Base - self.table_name = 'elan_parser_linguistic_types' - - has_many :annotation_document_linguistic_types - has_many :annotation_documents, :through => :annotation_document_linguistic_types, :dependent => :destroy - end - - class AnnotationDocumentLinguisticType < ActiveRecord::Base - self.table_name = 'elan_parser_annotation_documents_linguistic_types' - - belongs_to :linguistic_type - belongs_to :annotation_document - end - - class Locale < ActiveRecord::Base - self.table_name = 'elan_parser_locales' - - has_many :annotation_document_locales - has_many :annotation_documents, :through => :annotation_document_locales, :dependent => :destroy - end - - class Constraint < ActiveRecord::Base - self.table_name = 'elan_parser_constraints' - - has_many :annotation_document_constraints - has_many :annotation_documents, :through => :annotation_document_constraints, :dependent => :destroy - end - - #STUB - class CvEntry < ActiveRecord::Base - self.table_name = 'elan_parser_cv_entries' - end - - #STUB - class ControlledVocabulary < ActiveRecord::Base - self.table_name = 'elan_parser_controlled_vocabularies' - end - - #STUB - class ControlledVocabularyCvEntry < ActiveRecord::Base - self.table_name = 'elan_parser_controlled_vocabularies_cv_entries' - end - - #STUB - class LexiconReference < ActiveRecord::Base - self.table_name = 'elan_parser_lexicon_references' - end - - #STUB - class ExternalReference < ActiveRecord::Base - self.table_name = 'elan_parser_external_references' - end - - #STUB - class AnnotationDocumentLocale < ActiveRecord::Base - self.table_name = 'elan_parser_annotation_documents_locales' - - belongs_to :annotation_document - belongs_to :locale - end - - class AnnotationDocumentConstraint < ActiveRecord::Base - self.table_name = 'elan_parser_annotation_documents_constraints' - - belongs_to :annotation_document - belongs_to :constraint - end - - #STUB - class AnnotationControlledVocabularyDocument < ActiveRecord::Base - self.table_name = 'elan_parser_annotation_controlled_vocabularies_documents' - end - - #STUB - class AnnotationDocumentLexiconRef < ActiveRecord::Base - self.table_name = 'elan_parser_annotation_documents_lexicon_refs' - end - - #STUB - class AnnotationDocumentExternalref < ActiveRecord::Base - self.table_name = 'elan_parser_annotation_documents_external_refs' - end - end -end diff --git a/lib/elan_parser/db/db_property.rb b/lib/elan_parser/db/db_property.rb deleted file mode 100755 index 9f69bdc..0000000 --- a/lib/elan_parser/db/db_property.rb +++ /dev/null @@ -1,11 +0,0 @@ -require 'active_record' - -module ElanParser - module DB - class Property < ActiveRecord::Base - self.table_name = 'elan_parser_properties' - - has_one :header, :through => 'header_property' - end - end -end \ No newline at end of file diff --git a/lib/elan_parser/db/db_reference_annotation.rb b/lib/elan_parser/db/db_reference_annotation.rb deleted file mode 100755 index a6d969f..0000000 --- a/lib/elan_parser/db/db_reference_annotation.rb +++ /dev/null @@ -1,10 +0,0 @@ -require 'active_record' - -module ElanParser - module DB - #STUB - class ReferenceAnnotation < ActiveRecord::Base - self.table_name = 'elan_parser_reference_annotations' - end - end -end \ No newline at end of file diff --git a/lib/elan_parser/db/db_tier.rb b/lib/elan_parser/db/db_tier.rb deleted file mode 100755 index 7ebede8..0000000 --- a/lib/elan_parser/db/db_tier.rb +++ /dev/null @@ -1,14 +0,0 @@ -require 'active_record' - -module ElanParser - module DB - class Tier < ActiveRecord::Base - self.table_name = 'elan_parser_tiers' - has_many :annotation_tiers - has_many :annotations, :through => :annotation_tiers, :dependent => :destroy - - has_many :annotation_document_tiers - has_many :annotation_documents, :through => :annotation_document_tiers, :dependent => :destroy - end - end -end \ No newline at end of file diff --git a/lib/elan_parser/db/db_time_order.rb b/lib/elan_parser/db/db_time_order.rb deleted file mode 100755 index f926c1d..0000000 --- a/lib/elan_parser/db/db_time_order.rb +++ /dev/null @@ -1,14 +0,0 @@ -require 'active_record' - -module ElanParser - module DB - class TimeOrder < ActiveRecord::Base - self.table_name = 'elan_parser_time_orders' - - belongs_to :annotation_document - - has_many :time_order_time_slots - has_many :time_slots, :through => :time_order_time_slots, :dependent => :destroy - end - end -end \ No newline at end of file diff --git a/lib/elan_parser/db/db_time_order_time_slot.rb b/lib/elan_parser/db/db_time_order_time_slot.rb deleted file mode 100755 index db18be6..0000000 --- a/lib/elan_parser/db/db_time_order_time_slot.rb +++ /dev/null @@ -1,12 +0,0 @@ -require 'active_record' - -module ElanParser - module DB - class TimeOrderTimeSlot < ActiveRecord::Base - self.table_name = 'elan_parser_time_orders_time_slots' - - belongs_to :time_order - belongs_to :time_slot - end - end -end \ No newline at end of file diff --git a/lib/elan_parser/db/db_time_slot.rb b/lib/elan_parser/db/db_time_slot.rb deleted file mode 100755 index 069fb03..0000000 --- a/lib/elan_parser/db/db_time_slot.rb +++ /dev/null @@ -1,12 +0,0 @@ -require 'active_record' - -module ElanParser - module DB - class TimeSlot < ActiveRecord::Base - self.table_name = 'elan_parser_time_slots' - - has_one :alignable_annotation_time_slot, :dependent => :destroy - has_one :time_order, :dependent => :destroy - end - end -end \ No newline at end of file diff --git a/lib/elan_parser/helper/helper_destroyer.rb b/lib/elan_parser/helper/helper_destroyer.rb deleted file mode 100755 index 3b0ec06..0000000 --- a/lib/elan_parser/helper/helper_destroyer.rb +++ /dev/null @@ -1,42 +0,0 @@ -module ElanParser - module Helper - class Destroyer - def destroy_children(annotation_document) - annotation_document.header.media_descriptors.each do |md| - md.destroy - end - - annotation_document.header.properties.each do |p| - p.destroy - end - - annotation_document.tiers.each do |t| - t.annotations.each do |a| - a.alignable_annotation.alignable_annotation_time_slot.time_slot_ref1.delete - a.alignable_annotation.alignable_annotation_time_slot.time_slot_ref2.delete - a.alignable_annotation.destroy - a.destroy - end - - t.destroy - end - - annotation_document.time_order.time_slots.each do |ts| - ts.destroy - end - - annotation_document.linguistic_types.each do |l| - l.destroy - end - - annotation_document.constraints.each do |c| - c.destroy - end - - annotation_document.locales.each do |l| - l.destroy - end - end - end - end -end \ No newline at end of file diff --git a/lib/elan_parser/helper/helper_validator.rb b/lib/elan_parser/helper/helper_validator.rb deleted file mode 100755 index 6523a3c..0000000 --- a/lib/elan_parser/helper/helper_validator.rb +++ /dev/null @@ -1,12 +0,0 @@ -module ElanParser - module Helper - class Validator - def validate_elan_xml(document_xml) - xsd = Nokogiri::XML::Schema(File.open(File.expand_path('../../assets/EAFv2.7.xsd', __FILE__))) - is_valid = xsd.validate(document_xml) - - return is_valid - end - end - end -end diff --git a/lib/elan_parser/xml/xml_build.rb b/lib/elan_parser/xml/xml_build.rb index 2e36045..07a680e 100755 --- a/lib/elan_parser/xml/xml_build.rb +++ b/lib/elan_parser/xml/xml_build.rb @@ -1,5 +1,3 @@ -require 'nokogiri' - module ElanParser module XML class Build diff --git a/lib/elan_parser/xml/xml_save.rb b/lib/elan_parser/xml/xml_save.rb index 0b609d1..3b0b2be 100755 --- a/lib/elan_parser/xml/xml_save.rb +++ b/lib/elan_parser/xml/xml_save.rb @@ -1,4 +1,3 @@ -require 'nokogiri' module ElanParser module XML diff --git a/lib/generators/elan_parser/annotation_fix/annotation_fix_generator.rb b/lib/generators/elan_parser/annotation_fix/annotation_fix_generator.rb deleted file mode 100755 index 9984af5..0000000 --- a/lib/generators/elan_parser/annotation_fix/annotation_fix_generator.rb +++ /dev/null @@ -1,24 +0,0 @@ -require 'rails/generators/migration' - -module ElanParser - module Generators - class AnnotationFixGenerator < ::Rails::Generators::Base - include Rails::Generators::Migration - source_root File.expand_path('../../templates', __FILE__) - desc "Add the migrations" - - def self.next_migration_number(path) - unless @prev_migration_nr - @prev_migration_nr = Time.now.utc.strftime("%Y%m%d%H%M%S").to_i - else - @prev_migration_nr += 1 - end - @prev_migration_nr.to_s - end - - def copy_migrations - migration_template "elan_parser_migration_to_06.rb", "db/migrate/elan_parser_migration_to_06.rb" - end - end - end -end diff --git a/lib/generators/elan_parser/cv/cv_generator.rb b/lib/generators/elan_parser/cv/cv_generator.rb deleted file mode 100755 index 6f8bc47..0000000 --- a/lib/generators/elan_parser/cv/cv_generator.rb +++ /dev/null @@ -1,24 +0,0 @@ -require 'rails/generators/migration' - -module ElanParser - module Generators - class CvGenerator < ::Rails::Generators::Base - include Rails::Generators::Migration - source_root File.expand_path('../../templates', __FILE__) - desc "Add the migrations" - - def self.next_migration_number(path) - unless @prev_migration_nr - @prev_migration_nr = Time.now.utc.strftime("%Y%m%d%H%M%S").to_i - else - @prev_migration_nr += 1 - end - @prev_migration_nr.to_s - end - - def copy_migrations - migration_template "elan_parser_migration_to_05.rb", "db/migrate/elan_parser_migration_to_05.rb" - end - end - end -end diff --git a/lib/generators/elan_parser/install/install_generator.rb b/lib/generators/elan_parser/install/install_generator.rb deleted file mode 100755 index 49f4d9b..0000000 --- a/lib/generators/elan_parser/install/install_generator.rb +++ /dev/null @@ -1,24 +0,0 @@ -require 'rails/generators/migration' - -module ElanParser - module Generators - class InstallGenerator < ::Rails::Generators::Base - include Rails::Generators::Migration - source_root File.expand_path('../../templates', __FILE__) - desc "Add the migrations" - - def self.next_migration_number(path) - unless @prev_migration_nr - @prev_migration_nr = Time.now.utc.strftime("%Y%m%d%H%M%S").to_i - else - @prev_migration_nr += 1 - end - @prev_migration_nr.to_s - end - - def copy_migrations - migration_template "elan_parser_migration.rb", "db/migrate/elan_parser_migration.rb" - end - end - end -end diff --git a/lib/generators/elan_parser/templates/elan_parser_migration.rb b/lib/generators/elan_parser/templates/elan_parser_migration.rb deleted file mode 100755 index c8c6b13..0000000 --- a/lib/generators/elan_parser/templates/elan_parser_migration.rb +++ /dev/null @@ -1,206 +0,0 @@ -class ElanParserMigration < ActiveRecord::Migration - def self.up - create_table :elan_parser_media_descriptors do |t| - t.column :media_url, :string, :null => false - t.column :relative_media_url, :string, :null => false - t.column :mime_type, :string, :null => false - t.column :time_origin, :string, :null => false - t.column :extracted_from, :string, :null => true - end - - create_table :elan_parser_properties do |t| - t.column :name, :string, :null => false - t.column :value, :string, :null => false - end - - create_table :elan_parser_linked_file_descriptors do |t| - # This is untested and may have :null => false requirements - t.column :link_url, :string, :null => true - t.column :relative_link_url, :string, :null => true - t.column :mime_type, :string, :null => true - t.column :time_origin, :integer, :null => true - t.column :associated_with, :string, :null => true - end - - create_table :elan_parser_headers do |t| - #Deprecated in favor of media_descriptors - t.column :media_file, :string, :null => true - t.column :time_units, :string, :null => false - - t.belongs_to :annotation_document - end - - create_table :elan_parser_headers_media_descriptors do |t| - t.belongs_to :header - t.belongs_to :media_descriptor - end - - create_table :elan_parser_headers_linked_file_descriptors do |t| - t.belongs_to :header - t.belongs_to :linked_file_descriptor - end - - create_table :elan_parser_headers_properties do |t| - t.belongs_to :header - t.belongs_to :property - end - - create_table :elan_parser_time_slots do |t| - t.column :time_value, :integer, :null => false - end - - create_table :elan_parser_time_orders do |t| - t.belongs_to :annotation_document - end - - create_table :elan_parser_time_orders_time_slots do |t| - t.belongs_to :time_slot - t.belongs_to :time_order - end - - create_table :elan_parser_reference_annotations do |t| - t.column :ext_ref, :string, :null => true - t.column :annotation_ref, :string, :null => true - t.column :previous_annotation, :string, :null => true - t.column :annotation_value, :text, :null => true - end - - create_table :elan_parser_alignable_annotations do |t| - t.column :svg_ref, :string, :null => true - t.column :ext_ref, :string, :null => true - t.column :annotation_value, :text, :null => true - end - - create_table :elan_parser_alignable_annotations_time_slots do |t| - t.belongs_to :alignable_annotation - t.column :time_slot_ref1, :integer, :null => false - t.column :time_slot_ref2, :integer, :null => false - end - - create_table :elan_parser_annotations do |t| - t.belongs_to :alignable_annotation - t.belongs_to :ref_annotation - end - - create_table :elan_parser_tiers do |t| - t.column :participant, :string, :null => true - t.column :annotator, :string, :null => true - t.column :linguistic_type_ref, :string, :null => false - t.column :default_locale, :string, :null => false - t.column :parent_ref, :string, :null => true - t.column :tier_id, :string, :null => false - end - - create_table :elan_parser_annotations_tiers do |t| - t.belongs_to :tier - t.belongs_to :annotation - end - - create_table :elan_parser_linguistic_types do |t| - # This is untested and may have :null => false requirements - t.column :linguistic_type_id, :string, :null => true - t.column :time_alignable, :boolean, :null => true - t.column :constraints, :string, :null => true - t.column :graphic_references, :boolean, :null => true - t.column :controlled_vocabulary_ref, :string, :null => true - t.column :ext_ref, :string, :null => true - t.column :lexicon_ref, :string, :null => true - end - - create_table :elan_parser_locales do |t| - t.column :language_code, :string, :null => true - t.column :country_code, :string, :null => true - t.column :variant, :string, :null => true - end - - create_table :elan_parser_constraints do |t| - t.column :stereotype, :string, :null => true - t.column :description, :text, :null => true - end - - create_table :elan_parser_cv_entries do |t| - # This is untested and may have :null => false requirements - t.column :description, :text, :null => true - t.column :ext_ref, :string, :null => true - end - - create_table :elan_parser_controlled_vocabularies do |t| - t.column :cv_id, :string, :null => false - t.column :description, :text, :null => false - t.column :ext_ref, :string, :null => true - end - - create_table :elan_parser_controlled_cv_entries_vocabularies do |t| - t.belongs_to :controlled_vocabularie - t.belongs_to :cv_entrie - end - - create_table :elan_parser_lexicon_references do |t| - # This is untested and may have :null => false requirements - t.column :lex_ref_id, :string, :null => false - t.column :name, :string, :null => false - t.column :type, :string, :null => false - t.column :url, :string, :null => true - t.column :lexicon_id, :string, :null => false - t.column :lexicon_name, :string, :null => false - t.column :datcat_id, :string, :null => false - t.column :datcat_name, :string, :null => false - end - - create_table :elan_parser_external_references do |t| - # This is untested and may have :null => false requirements - t.column :ext_ref_id, :string, :null => false - t.column :type, :string, :null => false - t.column :value, :string, :null => false - t.column :iso12620, :string, :null => true - t.column :ecv, :string, :null => true - t.column :cve_id, :string, :null => true - t.column :lexen_id, :string, :null => true - t.column :resource_url, :string, :null => true - end - - create_table :elan_parser_annotation_documents do |t| - t.column :author, :string, :null => false - t.column :date, :datetime, :null => false - t.column :format, :string, :null => true - t.column :version, :string, :null => true - t.column :xsi_no_name_space_schema_location, :string, :null => false - t.column :file_name, :string, :null => false - end - - create_table :elan_parser_annotation_documents_tiers do |t| - t.belongs_to :annotation_document - t.belongs_to :tier - end - - create_table :elan_parser_annotation_documents_linguistic_types do |t| - t.belongs_to :annotation_document - t.belongs_to :linguistic_type - end - - create_table :elan_parser_annotation_documents_locales do |t| - t.belongs_to :annotation_document - t.belongs_to :locale - end - - create_table :elan_parser_annotation_documents_constraints do |t| - t.belongs_to :annotation_document - t.belongs_to :constraint - end - - create_table :elan_parser_annotation_controlled_vocabularies_documents do |t| - t.belongs_to :annotation_document - t.belongs_to :controlled_vocabularie - end - - create_table :elan_parser_annotation_documents_lexicon_refs do |t| - t.belongs_to :annotation_document - t.belongs_to :lexicon_ref - end - - create_table :elan_parser_annotation_documents_external_refs do |t| - t.belongs_to :annotation_document - t.belongs_to :external_ref - end - end -end diff --git a/lib/generators/elan_parser/templates/elan_parser_migration_to_05.rb b/lib/generators/elan_parser/templates/elan_parser_migration_to_05.rb deleted file mode 100755 index a22755b..0000000 --- a/lib/generators/elan_parser/templates/elan_parser_migration_to_05.rb +++ /dev/null @@ -1,21 +0,0 @@ -class ElanParserMigrationTo05 < ActiveRecord::Migration - def self.up - drop_table :elan_parser_controlled_vocabularies - drop_table :elan_parser_controlled_cv_entries_vocabularies - drop_table :elan_parser_cv_entries - - create_table :elan_parser_cv_entries do |t| - t.belongs_to :controlled_vocabulary - t.column :description, :text, :null => true - t.column :ext_ref, :string, :null => true - t.column :cv_entry, :string, :null => false - end - - create_table :elan_parser_controlled_vocabularies do |t| - t.column :cv_id, :string, :null => false - t.column :description, :text, :null => false - t.column :ext_ref, :string, :null => true - t.belongs_to :annotation_document - end - end -end diff --git a/lib/generators/elan_parser/templates/elan_parser_migration_to_06.rb b/lib/generators/elan_parser/templates/elan_parser_migration_to_06.rb deleted file mode 100755 index adeb8a9..0000000 --- a/lib/generators/elan_parser/templates/elan_parser_migration_to_06.rb +++ /dev/null @@ -1,15 +0,0 @@ -class ElanParserMigrationTo06 < ActiveRecord::Migration - def self.up - drop_table :elan_parser_alignable_annotations - - create_table :elan_parser_alignable_annotations do |t| - t.column :svg_ref, :string - t.column :ext_ref, :string - t.belongs_to :annotation_value - end - - create_table :elan_parser_annotation_values do |t| - t.column :annotation_value, :text - end - end -end diff --git a/spec/elan_parser_db_spec.rb b/spec/elan_parser_db_spec.rb deleted file mode 100755 index 9647260..0000000 --- a/spec/elan_parser_db_spec.rb +++ /dev/null @@ -1,58 +0,0 @@ -require "spec_helper" -require "factories/annotation_documents" - -require "generators/elan_parser/templates/elan_parser_migration" -require "generators/elan_parser/templates/elan_parser_migration_to_05" -require "generators/elan_parser/templates/elan_parser_migration_to_06" - -ActiveRecord::Base.establish_connection(:adapter => "sqlite3", :database => ":memory:") -ActiveRecord::Schema.define(:version => 1) do - ElanParserMigration.new.up - ElanParserMigrationTo05.new.up - ElanParserMigrationTo06.new.up -end - -describe :DBModel do - before(:suite) do - DatabaseCleaner.strategy = :transaction - DatabaseCleaner.clean_with(:truncation) - end - - before(:each) do - DatabaseCleaner.start - end - - after(:each) do - DatabaseCleaner.clean - end - - before(:all) do - @annotation_document = Factory.build(:annotation_document) - - @media_descriptor = Factory.build(:media_descriptor) - @header = Factory.build(:header) - end - - it "Should save the annotation document to the database" do - @annotation_document.save - - @annotation_document.id.should be > 0 - end - - it "Should save the media descriptor to the database" do - @media_descriptor.save - - @media_descriptor.id.should be > 0 - end - - it "Should save the header to the database" do - @header.save - - @header.id.should be > 0 - end - - it "Should save the header id and the media descriptor id to the join table" do - header_media_descriptor = ElanParser::DB::HeaderMediaDescriptor.create(:header => @header, :media_descriptor => @media_descriptor) - header_media_descriptor.id.should be > 0 - end -end diff --git a/spec/elan_parser_xml_builder_spec.rb b/spec/elan_parser_xml_builder_spec.rb deleted file mode 100755 index b5ab4ab..0000000 --- a/spec/elan_parser_xml_builder_spec.rb +++ /dev/null @@ -1,64 +0,0 @@ -require "spec_helper" -require "factories/annotation_documents" - -describe ElanParser::XML::Build do - before(:suite) do - DatabaseCleaner.strategy = :transaction - DatabaseCleaner.clean_with(:truncation) - end - - before(:each) do - DatabaseCleaner.start - end - - after(:each) do - DatabaseCleaner.clean - end - - before(:each) do - @annotation_document = Factory.create(:annotation_document) - @property = Factory.create(:property) - @media_descriptor = Factory.create(:media_descriptor) - @header = Factory.create(:header) - @time_slot_a = Factory.create(:time_slot) - @time_slot_b = Factory.create(:time_slot) - @tier = Factory.create(:tier) - @alignable_annotation_time_slot_a = Factory.create(:alignable_annotation_time_slot) - @alignable_annotation_time_slot_b = Factory.create(:alignable_annotation_time_slot) - @linguistic_type = Factory.create(:linguistic_type) - @locale = Factory.create(:locale) - @constraint = Factory.create(:constraint) - - xml_doc = ElanParser::XML::Build.new - end - - - it "Should create the XML root element" do - #Create our objects from our factory - xml_doc = ElanParser::XML::Build.new - - xml_doc.annotation_document(@annotation_document) - xml_doc.header(@header) - - media_descriptors = Array.[](@media_descriptor, @media_descriptor) - xml_doc.media_descriptors(media_descriptors) - - xml_doc.properties(Array.[](@property)) - - time_slots = Array.[](@time_slot_a, @time_slot_b) - - time_slot_ref = xml_doc.time_order(time_slots) - - alignable_annotation_time_slots = Array.[](@alignable_annotation_time_slot_a, @alignable_annotation_time_slot_b) - xml_doc.tiers(Array.[](@tier), time_slot_ref) - - xml_doc.linguistic_type(Array.[](@linguistic_type)) - xml_doc.locale(Array.[](@locale)) - xml_doc.constraint(Array.[](@constraint)) - - #It should validate against the elan XSD - elan_validator = ElanParser::Helper::Validator.new - elan_validator.validate_elan_xml(xml_doc.elan_parser_xml).should be_empty - puts xml_doc.elan_parser_xml - end -end diff --git a/spec/elan_parser_xml_save_spec.rb b/spec/elan_parser_xml_save_spec.rb deleted file mode 100755 index a22fbdd..0000000 --- a/spec/elan_parser_xml_save_spec.rb +++ /dev/null @@ -1,44 +0,0 @@ -require "spec_helper" -require "factories/annotation_documents" - -describe ElanParser::XML::Save do - before(:suite) do - DatabaseCleaner.strategy = :transaction - DatabaseCleaner.clean_with(:truncation) - end - - before(:each) do - DatabaseCleaner.start - end - - after(:each) do - DatabaseCleaner.clean - end - - it "Should parse one fixture into a happymapper document and match the values to saved active record values" do - file_name = "elan_test.xml" - - ElanParser::XML::Save.new( - fixture_file(file_name), - file_name - ) - - annotation_document = ElanParser::DB::AnnotationDocument.find_by_file_name(file_name) - - happymapper_document = ElanParser::XML::AnnotationDocument.parse(fixture_file(file_name)) - - #The saved annotations should match the annotations from the fixture - happymapper_document.tiers.each do |tier| - tier.annotations.each do |annotation| - #Compare the saved value with the happymapper document value of tiers - db_tier = annotation_document.tiers.find_by_tier_id(tier.tier_id) - tier.tier_id.equal? db_tier.tier_id - - annotation.alignable_annotations.each do |alignable_annotation| - #Compare the happymapper annotation value with the db value - ElanParser::DB::AnnotationValue.find_by_annotation_value(alignable_annotation.annotation_value).equal? alignable_annotation.annotation_value - end - end - end - end -end diff --git a/spec/factories/annotation_documents.rb b/spec/factories/annotation_documents.rb deleted file mode 100755 index fb5eb47..0000000 --- a/spec/factories/annotation_documents.rb +++ /dev/null @@ -1,101 +0,0 @@ -require 'factory_girl' - -#Factories used in the ElanParser::DB specs -Factory.define :annotation_document, :class => ElanParser::DB::AnnotationDocument do |f| - f.author "Sir Test" - f.date Date.new(2012,1,26) - f.format "2.7" - f.version "2.7" - f.file_name "elan_test.xml" - f.xsi_no_name_space_schema_location "http://www.mpi.nl/tools/elan/EAFv2.7.xsd" -end - -Factory.define :tier, :class => ElanParser::DB::Tier do |f| - f.participant "Test Participant" - f.annotator "Test Annotator" - f.linguistic_type_ref "default-lt" - f.default_locale "en" - f.tier_id "Test Marking" -end - -Factory.define :header, :class => ElanParser::DB::Header do |f| - f.time_units "milliseconds" -end - -Factory.define :property, :class => ElanParser::DB::Property do |f| - f.name "lastUsedAnnotationId" - f.value "944" -end - -Factory.define :media_descriptor, :class => ElanParser::DB::MediaDescriptor do |f| - f.media_url "file://path/to/test_file" - f.relative_media_url "test_file" - f.mime_type "mpeg" - f.time_origin "123456" -end - -FactoryGirl.define do - factory :time_slot, :class => ElanParser::DB::TimeSlot do - sequence(:time_value) {|n| n} - end - - factory :alignable_annotation, :class => ElanParser::DB::AlignableAnnotation do - #sequence(:annotation_value) {|n| n} - association :annotation_value - end -end - -FactoryGirl.define do - factory :annotation_value, :class => ElanParser::DB::AnnotationValue do - sequence(:annotation_value) {|n| n} - end -end - -Factory.define :annotation, :class => ElanParser::DB::Annotation do |f| - -end - -#Factory.define :alignable_annotation, :class => ElanParser::DB::AlignableAnnotation do |f| -# f.annotation_value "TEST ANNOTATION VALUE" -#end - -Factory.define :alignable_annotation_time_slot, :class => ElanParser::DB::AlignableAnnotationTimeSlot do |f| - f.association :alignable_annotation - f.association :time_slot_ref1, :factory => :time_slot - f.association :time_slot_ref2, :factory => :time_slot -end - -Factory.define :linguistic_type, :class => ElanParser::DB::LinguisticType do |f| - f.linguistic_type_id "default-lt" - f.time_alignable "true" - f.graphic_references "false" - f.constraints "" - f.controlled_vocabulary_ref "" - f.ext_ref "" - f.lexicon_ref "" -end - -Factory.define :annotation_document_linguistic_type, :class => ElanParser::DB::AnnotationDocumentLinguisticType do |f| - f.association :annotation_document - f.association :linguistic_type -end - -Factory.define :locale, :class => ElanParser::DB::Locale do |f| - f.country_code "US" - f.language_code "US" -end - -Factory.define :annotation_document_locale, :class => ElanParser::DB::AnnotationDocumentLocale do |f| - f.association :annotation_document - f.association :locale -end - -Factory.define :constraint, :class => ElanParser::DB::Constraint do |f| - f.description "Constraint Description" - f.stereotype "Time_Subdivision" -end - -Factory.define :annotation_document_constraint, :class => ElanParser::DB::AnnotationDocumentConstraint do |f| - f.association :annotation_document - f.association :constraint -end diff --git a/spec/factories/xml_builder.rb b/spec/factories/xml_builder.rb deleted file mode 100644 index 7071442..0000000 --- a/spec/factories/xml_builder.rb +++ /dev/null @@ -1,31 +0,0 @@ -require 'factory_girl' - -#Factories used in the ElanParser::Xml::Builder specs -Factory.define :annotation_document, :class => ElanParser::DB::AnnotationDocument do |f| - f.author "Sir Test" - f.date Date.new(2012,1,26) -end - -Factory.define :header -end - -Factory.define :media_descriptor -end - -Factory.define :property -end - -Factory.define :time_order -end - -Factory.define :time_slot -end - -Factory.define :tier -end - -Factory.define :annotation -end - -Factory.define :annotation_value -end