class FedoraMigrate::RelsExtDatastreamMover
Constants
- RELS_EXT_DATASTREAM
Public Instance Methods
migrate()
click to toggle source
Calls superclass method
FedoraMigrate::Mover#migrate
# File lib/fedora_migrate/rels_ext_datastream_mover.rb, line 5 def migrate migrate_statements target.ldp_source.update update_index super end
post_initialize()
click to toggle source
# File lib/fedora_migrate/rels_ext_datastream_mover.rb, line 12 def post_initialize @target ||= ActiveFedora::Base.find(id_component) rescue ActiveFedora::ObjectNotFoundError raise FedoraMigrate::Errors::MigrationError, "Target object was not found in Fedora 4. Did you migrate it?" end
Private Instance Methods
graph()
click to toggle source
# File lib/fedora_migrate/rels_ext_datastream_mover.rb, line 33 def graph @graph ||= RDF::Graph.new { |g| g.from_rdfxml(source.datastreams[RELS_EXT_DATASTREAM].content) } end
migrate_object(fc3_uri)
click to toggle source
# File lib/fedora_migrate/rels_ext_datastream_mover.rb, line 42 def migrate_object(fc3_uri) RDF::URI.new(ActiveFedora::Base.id_to_uri(id_component(fc3_uri))) end
migrate_predicate(fc3_uri)
click to toggle source
Override this if any predicate transformation is needed
# File lib/fedora_migrate/rels_ext_datastream_mover.rb, line 38 def migrate_predicate(fc3_uri) fc3_uri end
migrate_statements()
click to toggle source
# File lib/fedora_migrate/rels_ext_datastream_mover.rb, line 20 def migrate_statements statements.each do |statement| triple = [target.rdf_subject, migrate_predicate(statement.predicate), migrate_object(statement.object)] target.ldp_source.graph << triple report << triple.join("--") end end
missing_object?(statement)
click to toggle source
# File lib/fedora_migrate/rels_ext_datastream_mover.rb, line 46 def missing_object?(statement) return false if ActiveFedora::Base.exists?(id_component(statement.object)) report << "could not migrate relationship #{statement.predicate} because #{statement.object} doesn't exist in Fedora 4" true end
statements()
click to toggle source
All the graph statements except hasModel and those with missing objects
# File lib/fedora_migrate/rels_ext_datastream_mover.rb, line 53 def statements graph.statements.reject { |stmt| stmt.predicate == ActiveFedora::RDF::Fcrepo::Model.hasModel || missing_object?(stmt) } end
update_index()
click to toggle source
# File lib/fedora_migrate/rels_ext_datastream_mover.rb, line 28 def update_index target.reload target.update_index end