Diff
Modified: trunk/app/models/concept.rb (2975 => 2976)
--- trunk/app/models/concept.rb 2012-03-24 15:52:02 UTC (rev 2975)
+++ trunk/app/models/concept.rb 2012-03-26 14:41:37 UTC (rev 2976)
@@ -5,8 +5,49 @@
class Concept < ActiveRecord::Base
- acts_as_structured_data
+ belongs_to :vocabulary
+ has_many :broader_relations, :foreign_key => :object_concept_id,
+ :conditions => "relation_type = 'broader'",
+ :class_name => "ConceptRelation"
+
+ has_many :broader_concepts, :through => :broader_relations,
+ :source => :object_concept,
+ :class_name => "Concept"
+
+ has_many :narrower_relations, :foreign_key => :subject_concept_id,
+ :conditions => "relation_type = 'broader'",
+ :class_name => "ConceptRelation"
+
+ has_many :narrower_concepts, :through => :narrower_relations,
+ :source => :subject_concept,
+ :class_name => "Concept"
+
+ has_many :related_relations, :foreign_key => :subject_concept_id,
+ :conditions => "relation_type = 'related'",
+ :class_name => "ConceptRelation"
+
+ has_many :related_concepts, :through => :related_relations,
+ :source => :object_concept,
+ :class_name => "Concept"
+
+ has_many :labels, :dependent => :destroy
+
+ has_many :preferred_labels, :foreign_key => :concept_id,
+ :dependent => :destroy,
+ :conditions => "label_type = 'preferred'",
+ :class_name => "Label"
+
+ has_many :alternate_labels, :foreign_key => :concept_id,
+ :dependent => :destroy,
+ :conditions => "label_type = 'alternate'",
+ :class_name => "Label"
+
+ has_many :hidden_labels, :foreign_key => :concept_id,
+ :dependent => :destroy,
+ :conditions => "label_type = 'hidden'",
+ :class_name => "Label"
+
format_attribute :description
def preferred_label
Added: trunk/app/models/concept_relation.rb (0 => 2976)
--- trunk/app/models/concept_relation.rb (rev 0)
+++ trunk/app/models/concept_relation.rb 2012-03-26 14:41:37 UTC (rev 2976)
@@ -0,0 +1,10 @@
+# myExperiment: app/models/concept_relation.rb
+#
+# Copyright (c) 2012 University of Manchester and the University of Southampton.
+# See license.txt for details.
+
+class ConceptRelation < ActiveRecord::Base
+ belongs_to :subject_concept, :class_name => "Concept", :foreign_key => :subject_concept_id
+ belongs_to :object_concept, :class_name => "Concept", :foreign_key => :object_concept_id
+end
+
Added: trunk/app/models/label.rb (0 => 2976)
--- trunk/app/models/label.rb (rev 0)
+++ trunk/app/models/label.rb 2012-03-26 14:41:37 UTC (rev 2976)
@@ -0,0 +1,10 @@
+# myExperiment: app/models/label.rb
+#
+# Copyright (c) 2012 University of Manchester and the University of Southampton.
+# See license.txt for details.
+
+class Label < ActiveRecord::Base
+ belongs_to :vocabulary
+ belongs_to :concept
+end
+
Modified: trunk/app/models/ontology.rb (2975 => 2976)
--- trunk/app/models/ontology.rb 2012-03-24 15:52:02 UTC (rev 2975)
+++ trunk/app/models/ontology.rb 2012-03-26 14:41:37 UTC (rev 2976)
@@ -5,8 +5,10 @@
class Ontology < ActiveRecord::Base
- acts_as_structured_data
+ belongs_to :user
+ has_many :predicates, :foreign_key => :ontology_id
+
format_attribute(:description)
validates_presence_of(:uri, :title, :prefix)
Modified: trunk/app/models/pack.rb (2975 => 2976)
--- trunk/app/models/pack.rb 2012-03-24 15:52:02 UTC (rev 2975)
+++ trunk/app/models/pack.rb 2012-03-26 14:41:37 UTC (rev 2976)
@@ -22,7 +22,7 @@
acts_as_rateable
acts_as_taggable
- acts_as_structured_data
+ has_many :relationships, :dependent => :destroy, :as => :context
validates_presence_of :title
Modified: trunk/app/models/predicate.rb (2975 => 2976)
--- trunk/app/models/predicate.rb 2012-03-24 15:52:02 UTC (rev 2975)
+++ trunk/app/models/predicate.rb 2012-03-26 14:41:37 UTC (rev 2976)
@@ -5,7 +5,7 @@
class Predicate < ActiveRecord::Base
- acts_as_structured_data
+ belongs_to :ontology
format_attribute(:description)
Modified: trunk/app/models/preview.rb (2975 => 2976)
--- trunk/app/models/preview.rb 2012-03-24 15:52:02 UTC (rev 2975)
+++ trunk/app/models/preview.rb 2012-03-26 14:41:37 UTC (rev 2976)
@@ -7,8 +7,14 @@
PREFIX = "tmp/previews"
- acts_as_structured_data
+ belongs_to :image_blob, :class_name => "ContentBlob",
+ :foreign_key => :image_blob_id,
+ :dependent => :destroy
+ belongs_to :svg_blob, :class_name => "ContentBlob",
+ :foreign_key => :svg_blob_id,
+ :dependent => :destroy
+
def file_name(type)
"#{PREFIX}/#{id}/#{type}"
end
Modified: trunk/app/models/relationship.rb (2975 => 2976)
--- trunk/app/models/relationship.rb 2012-03-24 15:52:02 UTC (rev 2975)
+++ trunk/app/models/relationship.rb 2012-03-26 14:41:37 UTC (rev 2976)
@@ -5,8 +5,14 @@
class Relationship < ActiveRecord::Base
- acts_as_structured_data
+ belongs_to :user
+ belongs_to :context, :polymorphic => true
+
+ belongs_to :subject, :polymorphic => true
+ belongs_to :predicate
+ belongs_to :objekt, :polymorphic => true
+
validates_presence_of(:subject)
validates_presence_of(:predicate)
validates_presence_of(:objekt)
Modified: trunk/app/models/service.rb (2975 => 2976)
--- trunk/app/models/service.rb 2012-03-24 15:52:02 UTC (rev 2975)
+++ trunk/app/models/service.rb 2012-03-26 14:41:37 UTC (rev 2976)
@@ -9,8 +9,12 @@
class Service < ActiveRecord::Base
acts_as_site_entity
acts_as_contributable
- acts_as_structured_data
+ has_many :service_categories
+ has_many :service_types
+ has_many :service_tags
+ has_many :service_deployments
+
acts_as_solr(:fields => [ :submitter_label, :name, :provider_label, :endpoint,
:wsdl, :city, :country, :description, :extra_search_terms ]) if Conf.solr_enable
Added: trunk/app/models/service_category.rb (0 => 2976)
--- trunk/app/models/service_category.rb (rev 0)
+++ trunk/app/models/service_category.rb 2012-03-26 14:41:37 UTC (rev 2976)
@@ -0,0 +1,9 @@
+# myExperiment: app/models/service_category.rb
+#
+# Copyright (c) 2012 University of Manchester and the University of Southampton.
+# See license.txt for details.
+
+class ServiceCategory < ActiveRecord::Base
+ belongs_to :service
+end
+
Added: trunk/app/models/service_deployment.rb (0 => 2976)
--- trunk/app/models/service_deployment.rb (rev 0)
+++ trunk/app/models/service_deployment.rb 2012-03-26 14:41:37 UTC (rev 2976)
@@ -0,0 +1,10 @@
+# myExperiment: app/models/service_deployment.rb
+#
+# Copyright (c) 2012 University of Manchester and the University of Southampton.
+# See license.txt for details.
+
+class ServiceDeployment < ActiveRecord::Base
+ belongs_to :service_provider
+ belongs_to :service
+end
+
Added: trunk/app/models/service_provider.rb (0 => 2976)
--- trunk/app/models/service_provider.rb (rev 0)
+++ trunk/app/models/service_provider.rb 2012-03-26 14:41:37 UTC (rev 2976)
@@ -0,0 +1,9 @@
+# myExperiment: app/models/service_provider.rb
+#
+# Copyright (c) 2012 University of Manchester and the University of Southampton.
+# See license.txt for details.
+
+class ServiceProvider < ActiveRecord::Base
+ has_many :service_deployments, :foreign_key => :service_provider_id
+end
+
Added: trunk/app/models/service_tag.rb (0 => 2976)
--- trunk/app/models/service_tag.rb (rev 0)
+++ trunk/app/models/service_tag.rb 2012-03-26 14:41:37 UTC (rev 2976)
@@ -0,0 +1,9 @@
+# myExperiment: app/models/service_tag.rb
+#
+# Copyright (c) 2012 University of Manchester and the University of Southampton.
+# See license.txt for details.
+
+class ServiceTag < ActiveRecord::Base
+ belongs_to :service
+end
+
Added: trunk/app/models/service_type.rb (0 => 2976)
--- trunk/app/models/service_type.rb (rev 0)
+++ trunk/app/models/service_type.rb 2012-03-26 14:41:37 UTC (rev 2976)
@@ -0,0 +1,9 @@
+# myExperiment: app/models/service_type.rb
+#
+# Copyright (c) 2012 University of Manchester and the University of Southampton.
+# See license.txt for details.
+
+class ServiceType < ActiveRecord::Base
+ belongs_to :service
+end
+
Added: trunk/app/models/user_report.rb (0 => 2976)
--- trunk/app/models/user_report.rb (rev 0)
+++ trunk/app/models/user_report.rb 2012-03-26 14:41:37 UTC (rev 2976)
@@ -0,0 +1,10 @@
+# myExperiment: app/models/user_report.rb
+#
+# Copyright (c) 2012 University of Manchester and the University of Southampton.
+# See license.txt for details.
+
+class UserReport < ActiveRecord::Base
+ belongs_to :user
+ belongs_to :subject, :polymorphic => true
+end
+
Modified: trunk/app/models/vocabulary.rb (2975 => 2976)
--- trunk/app/models/vocabulary.rb 2012-03-24 15:52:02 UTC (rev 2975)
+++ trunk/app/models/vocabulary.rb 2012-03-26 14:41:37 UTC (rev 2976)
@@ -5,10 +5,10 @@
class Vocabulary < ActiveRecord::Base
- acts_as_structured_data
-
belongs_to :user
+ has_many :concepts, :dependent => :destroy
+
validates_presence_of :title
validates_presence_of :prefix
Added: trunk/app/models/workflow_processor.rb (0 => 2976)
--- trunk/app/models/workflow_processor.rb (rev 0)
+++ trunk/app/models/workflow_processor.rb 2012-03-26 14:41:37 UTC (rev 2976)
@@ -0,0 +1,9 @@
+# myExperiment: app/models/workflow_processor.rb
+#
+# Copyright (c) 2012 University of Manchester and the University of Southampton.
+# See license.txt for details.
+
+class WorkflowProcessor < ActiveRecord::Base
+ belongs_to :workflow
+end
+
Modified: trunk/config/base_schema.xml (2975 => 2976)
--- trunk/config/base_schema.xml 2012-03-24 15:52:02 UTC (rev 2975)
+++ trunk/config/base_schema.xml 2012-03-26 14:41:37 UTC (rev 2976)
@@ -84,9 +84,6 @@
<column type="text" name="report"/>
<column type="datetime" name="created_at"/>
- <belongs-to target="users"/>
- <belongs-to target="subject" polymorphic="true"/>
-
</table>
<table name="previews">
@@ -95,9 +92,6 @@
<column type="integer" name="svg_blob_id"/>
<column type="datetime" name="created_at"/>
- <belongs-to target="image_blob" class_name="ContentBlob" dependent="destroy" foreign_key="image_blob_id"/>
- <belongs-to target="svg_blob" class_name="ContentBlob" dependent="destroy" foreign_key="svg_blob_id"/>
-
</table>
</schema>
Modified: trunk/config/schema.d/owl.xml (2975 => 2976)
--- trunk/config/schema.d/owl.xml 2012-03-24 15:52:02 UTC (rev 2975)
+++ trunk/config/schema.d/owl.xml 2012-03-26 14:41:37 UTC (rev 2976)
@@ -11,11 +11,7 @@
<column type="text" name="description_html"/>
<column type="datetime" name="created_at"/>
<column type="datetime" name="updated_at"/>
-
- <belongs-to target="users"/>
- <has-many target="predicates" foreign_key="ontology_id"/>
-
</table>
<table name="predicates">
@@ -29,8 +25,6 @@
<column type="datetime" name="created_at"/>
<column type="datetime" name="updated_at"/>
- <belongs-to target="ontology"/>
-
</table>
</schema>
Modified: trunk/config/schema.d/packs.xml (2975 => 2976)
--- trunk/config/schema.d/packs.xml 2012-03-24 15:52:02 UTC (rev 2975)
+++ trunk/config/schema.d/packs.xml 2012-03-26 14:41:37 UTC (rev 2976)
@@ -11,8 +11,6 @@
<column type="datetime" name="created_at"/>
<column type="datetime" name="updated_at"/>
- <has-many target="relationships" as="context" dependent="destroy"/>
-
</table>
<table name="pack_contributable_entries">
@@ -53,13 +51,6 @@
<column type="integer" name="objekt_id"/>
<column type="datetime" name="created_at"/>
- <belongs-to target="users"/>
- <belongs-to target="contexts" polymorphic="true"/>
-
- <belongs-to target="subjects" polymorphic="true"/>
- <belongs-to target="predicates"/>
- <belongs-to target="objekts" polymorphic="true"/>
-
</table>
</schema>
Modified: trunk/config/schema.d/services.xml (2975 => 2976)
--- trunk/config/schema.d/services.xml 2012-03-24 15:52:02 UTC (rev 2975)
+++ trunk/config/schema.d/services.xml 2012-03-26 14:41:37 UTC (rev 2976)
@@ -41,11 +41,6 @@
<column type="string" name="monitor_small_symbol_url"/>
<column type="datetime" name="monitor_last_checked"/>
- <has-many target="service_categories"/>
- <has-many target="service_types"/>
- <has-many target="service_tags"/>
- <has-many target="service_deployments"/>
-
</table>
<!-- BioCatalogue service categories -->
@@ -60,8 +55,6 @@
<column type="string" name="uri"/>
<column type="string" name="label"/>
- <belongs-to target="service"/>
-
</table>
<!-- BioCatalogue service types -->
@@ -75,8 +68,6 @@
<column type="integer" name="service_id"/>
<column type="string" name="label"/>
- <belongs-to target="service"/>
-
</table>
<!-- BioCatalogue service tags -->
@@ -91,8 +82,6 @@
<column type="string" name="uri"/>
<column type="string" name="label"/>
- <belongs-to target="service"/>
-
</table>
<!-- BioCatalogue service deployments -->
@@ -119,9 +108,6 @@
<column type="integer" name="service_id"/>
<column type="integer" name="service_provider_id"/>
- <belongs-to target="service_provider"/>
- <belongs-to target="service"/>
-
</table>
<!-- BioCatalogue service providers -->
@@ -138,8 +124,6 @@
<column type="datetime" name="created"/>
- <has-many target="service_deployments" foreign_key="service_provider_id"/>
-
</table>
</schema>
Modified: trunk/config/schema.d/skos.xml (2975 => 2976)
--- trunk/config/schema.d/skos.xml 2012-03-24 15:52:02 UTC (rev 2975)
+++ trunk/config/schema.d/skos.xml 2012-03-26 14:41:37 UTC (rev 2976)
@@ -12,8 +12,6 @@
<column type="datetime" name="created_at"/>
<column type="datetime" name="updated_at"/>
- <has-many target="concepts" dependent="destroy"/>
-
</table>
<table name="concepts">
@@ -25,66 +23,6 @@
<column type="datetime" name="created_at"/>
<column type="datetime" name="updated_at"/>
- <belongs-to target="vocabularies"/>
-
- <!-- Broader relations -->
-
- <has-many target = "broader_relations"
- foreign_key = "object_concept_id"
- class_name = "ConceptRelation"
- conditions = "relation_type = 'broader'"/>
-
- <has-many target = "broader_concepts"
- class_name = "Concept"
- through = "broader_relations"
- source = "object_concept"/>
-
- <!-- Narrower relations -->
-
- <has-many target = "narrower_relations"
- foreign_key = "subject_concept_id"
- class_name = "ConceptRelation"
- conditions = "relation_type = 'broader'"/>
-
- <has-many target = "narrower_concepts"
- class_name = "Concept"
- through = "narrower_relations"
- source = "subject_concept"/>
-
- <!-- Related relations -->
-
- <has-many target = "related_relations"
- foreign_key = "subject_concept_id"
- class_name = "ConceptRelation"
- conditions = "relation_type = 'related'"/>
-
- <has-many target = "related_concepts"
- class_name = "Concept"
- through = "related_relations"
- source = "object_concept"/>
-
- <!-- Labels -->
-
- <has-many target="labels" dependent="destroy"/>
-
- <has-many target = "preferred_labels"
- dependent = "destroy"
- class_name = "Label"
- foreign_key = "concept_id"
- conditions = "label_type = 'preferred'"/>
-
- <has-many target = "alternate_labels"
- dependent = "destroy"
- class_name = "Label"
- foreign_key = "concept_id"
- conditions = "label_type = 'alternate'"/>
-
- <has-many target = "hidden_labels"
- dependent = "destroy"
- class_name = "Label"
- foreign_key = "concept_id"
- conditions = "label_type = 'hidden'"/>
-
</table>
<table name="concept_relations">
@@ -93,14 +31,6 @@
<column type="integer" name="object_concept_id"/>
<column type="string" name="relation_type"/>
- <belongs-to target = "subject_concepts"
- class_name = "Concept"
- foreign_key = "subject_concept_id"/>
-
- <belongs-to target = "object_concepts"
- class_name = "Concept"
- foreign_key = "object_concept_id"/>
-
</table>
<table name="labels">
@@ -111,9 +41,6 @@
<column type="integer" name="concept_id"/>
<column type="integer" name="vocabulary_id"/>
- <belongs-to target="vocabularies"/>
- <belongs-to target="concepts"/>
-
</table>
</schema>
Modified: trunk/config/schema.d/topics.xml (2975 => 2976)
--- trunk/config/schema.d/topics.xml 2012-03-24 15:52:02 UTC (rev 2975)
+++ trunk/config/schema.d/topics.xml 2012-03-26 14:41:37 UTC (rev 2976)
@@ -41,8 +41,6 @@
<column type="integer" name="score"/>
<column type="datetime" name="submit_dt"/>
- <belongs-to target="users"/>
-
</table>
</schema>
Modified: trunk/config/schema.d/workflows.xml (2975 => 2976)
--- trunk/config/schema.d/workflows.xml 2012-03-24 15:52:02 UTC (rev 2975)
+++ trunk/config/schema.d/workflows.xml 2012-03-26 14:41:37 UTC (rev 2976)
@@ -23,34 +23,6 @@
</table>
- <table name="workflow_versions">
-
- <column type="integer" name="workflow_id"/>
- <column type="integer" name="version"/>
- <column type="text" name="revision_comments"/>
- <column type="integer" name="contributor_id"/>
- <column type="string" name="contributor_type"/>
- <column type="string" name="title"/>
- <column type="string" name="unique_name"/>
- <column type="text" name="body"/>
- <column type="text" name="body_html"/>
- <column type="datetime" name="created_at"/>
- <column type="datetime" name="updated_at"/>
- <column type="string" name="image"/>
- <column type="string" name="svg"/>
- <column type="string" name="license"/>
- <column type="integer" name="content_blob_id"/>
- <column type="string" name="file_ext"/>
- <column type="string" name="last_edited_by"/>
- <column type="integer" name="content_type_id"/>
- <column type="integer" name="preview_id"/>
-
- <index>
- <column name="workflow_id"/>
- </index>
-
- </table>
-
<table name="workflow_processors">
<column type="integer" name="workflow_id"/>
@@ -59,8 +31,6 @@
<column type="string" name="wsdl"/>
<column type="string" name="wsdl_operation"/>
- <belongs-to target="workflows"/>
-
</table>
</schema>
Modified: trunk/db/migrate/013_create_workflows.rb (2975 => 2976)
--- trunk/db/migrate/013_create_workflows.rb 2012-03-24 15:52:02 UTC (rev 2975)
+++ trunk/db/migrate/013_create_workflows.rb 2012-03-26 14:41:37 UTC (rev 2976)
@@ -27,12 +27,33 @@
# :default => "by-sa"
# end
-# Workflow.create_versioned_table
+ create_table :workflow_versions do |t|
+ t.column "workflow_id", :integer
+ t.column "version", :integer
+ t.column "contributor_id", :integer
+ t.column "contributor_type", :string
+ t.column "title", :string
+ t.column "unique_name", :string
+ t.column "body", :text
+ t.column "body_html", :text
+ t.column "created_at", :datetime
+ t.column "updated_at", :datetime
+ t.column "image", :string
+ t.column "svg", :string
+ t.column "revision_comments", :text
+ t.column "content_blob_id", :integer
+ t.column "file_ext", :string
+ t.column "last_edited_by", :string
+ t.column "content_type_id", :integer
+ t.column "license", :string
+ t.column "preview_id", :integer
+ end
+
+ add_index :workflow_versions, [ :workflow_id ]
end
def self.down
# drop_table :workflows
-
-# Workflow.drop_versioned_table
+ drop_table :workflow_versions
end
end