Added: branches/biocat/app/models/federation_source.rb (0 => 2361)
--- branches/biocat/app/models/federation_source.rb (rev 0)
+++ branches/biocat/app/models/federation_source.rb 2010-03-31 09:05:28 UTC (rev 2361)
@@ -0,0 +1,14 @@
+# myExperiment: app/models/federation_source.rb
+#
+# Copyright (c) 2007 University of Manchester and the University of Southampton.
+# See license.txt for details.
+
+require 'lib/acts_as_site_entity'
+require 'lib/acts_as_contributor'
+
+class FederationSource < ActiveRecord::Base
+ acts_as_site_entity
+ acts_as_contributor
+ acts_as_structured_data
+end
+
Added: branches/biocat/config/schema.d/federation.xml (0 => 2361)
--- branches/biocat/config/schema.d/federation.xml (rev 0)
+++ branches/biocat/config/schema.d/federation.xml 2010-03-31 09:05:28 UTC (rev 2361)
@@ -0,0 +1,11 @@
+<?xml version="1.0"?>
+<schema>
+
+ <table name="federation_sources">
+
+ <column type="string" name="name"/>
+
+ </table>
+
+</schema>
+
Modified: branches/biocat/lib/bio_catalogue_import.rb (2360 => 2361)
--- branches/biocat/lib/bio_catalogue_import.rb 2010-03-31 08:59:30 UTC (rev 2360)
+++ branches/biocat/lib/bio_catalogue_import.rb 2010-03-31 09:05:28 UTC (rev 2361)
@@ -83,7 +83,7 @@
service = BioCatService.create(
:retrieved_at => uri_retrieved_at(service_uri),
- :contributor => User.find(22),
+ :contributor => @federation_source,
:uri => get_link(service_element, '/bc:service/@xlink:href'),
:name => get_text(service_element, '/bc:service/bc:name/text()'),
@@ -108,7 +108,7 @@
:monitor_small_symbol_url => get_link(summary_element, '/bc:service/bc:latestMonitoringStatus/bc:smallSymbol/@xlink:href'),
:monitor_last_checked => get_text(summary_element, '/bc:service/bc:latestMonitoringStatus/bc:lastChecked/text()'))
- service.contribution.policy = create_default_policy(User.find(22))
+ service.contribution.policy = create_default_policy(@federation_source)
service.contribution.policy.share_mode = 0 # Make public
service.contribution.policy.save
service.contribution.save
@@ -203,6 +203,13 @@
end
def self.import_biocatalogue
+
+ if FederationSource.find_by_name("BioCatalogue").nil?
+ FederationSource.create(:name => "BioCatalogue")
+ end
+
+ @federation_source = FederationSource.find_by_name("BioCatalogue")
+
import_biocatalogue_services("http://www.biocatalogue.org/services")
end
end