dor-services 4.22.3 → 4.22.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (71) hide show
  1. checksums.yaml +8 -8
  2. data/bin/dor-indexer +19 -20
  3. data/bin/dor-indexerd +2 -3
  4. data/config/certs/robots-dor-dev.crt +29 -0
  5. data/config/certs/robots-dor-dev.key +27 -0
  6. data/config/dev_console_env.rb +77 -0
  7. data/lib/dor-services.rb +3 -3
  8. data/lib/dor/config.rb +15 -15
  9. data/lib/dor/datastreams/administrative_metadata_ds.rb +5 -5
  10. data/lib/dor/datastreams/content_metadata_ds.rb +181 -225
  11. data/lib/dor/datastreams/datastream_spec_solrizer.rb +1 -1
  12. data/lib/dor/datastreams/default_object_rights_ds.rb +8 -10
  13. data/lib/dor/datastreams/desc_metadata_ds.rb +35 -34
  14. data/lib/dor/datastreams/embargo_metadata_ds.rb +7 -7
  15. data/lib/dor/datastreams/events_ds.rb +11 -11
  16. data/lib/dor/datastreams/geo_metadata_ds.rb +86 -86
  17. data/lib/dor/datastreams/identity_metadata_ds.rb +19 -19
  18. data/lib/dor/datastreams/role_metadata_ds.rb +3 -3
  19. data/lib/dor/datastreams/simple_dublin_core_ds.rb +13 -13
  20. data/lib/dor/datastreams/version_metadata_ds.rb +5 -5
  21. data/lib/dor/datastreams/workflow_definition_ds.rb +21 -21
  22. data/lib/dor/migrations/identifiable/assert_adminPolicy.rb +1 -1
  23. data/lib/dor/migrations/identifiable/fix_model_assertions.rb +1 -1
  24. data/lib/dor/migrations/identifiable/record_remediation.rb +2 -2
  25. data/lib/dor/migrations/identifiable/uriify_augmented_contentlocation_refs.rb +1 -1
  26. data/lib/dor/migrations/identifiable/uriify_contentlocation_refs.rb +1 -1
  27. data/lib/dor/migrations/processable/unify_workflows.rb +4 -4
  28. data/lib/dor/migrations/versionable/add_missing_version_md.rb +1 -1
  29. data/lib/dor/models/admin_policy_object.rb +1 -1
  30. data/lib/dor/models/assembleable.rb +5 -5
  31. data/lib/dor/models/contentable.rb +27 -27
  32. data/lib/dor/models/describable.rb +168 -179
  33. data/lib/dor/models/discoverable.rb +13 -13
  34. data/lib/dor/models/editable.rb +55 -55
  35. data/lib/dor/models/embargoable.rb +26 -26
  36. data/lib/dor/models/eventable.rb +3 -3
  37. data/lib/dor/models/geoable.rb +8 -8
  38. data/lib/dor/models/governable.rb +14 -14
  39. data/lib/dor/models/identifiable.rb +117 -143
  40. data/lib/dor/models/item.rb +2 -2
  41. data/lib/dor/models/itemizable.rb +9 -9
  42. data/lib/dor/models/presentable.rb +8 -8
  43. data/lib/dor/models/preservable.rb +4 -4
  44. data/lib/dor/models/processable.rb +22 -23
  45. data/lib/dor/models/releaseable.rb +26 -26
  46. data/lib/dor/models/shelvable.rb +14 -14
  47. data/lib/dor/models/upgradable.rb +13 -13
  48. data/lib/dor/models/versionable.rb +2 -2
  49. data/lib/dor/models/workflow_object.rb +4 -4
  50. data/lib/dor/services/cleanup_reset_service.rb +27 -27
  51. data/lib/dor/services/cleanup_service.rb +4 -7
  52. data/lib/dor/services/digital_stacks_service.rb +10 -10
  53. data/lib/dor/services/merge_service.rb +1 -1
  54. data/lib/dor/services/metadata_handlers/mdtoolkit_handler.rb +2 -2
  55. data/lib/dor/services/metadata_service.rb +20 -20
  56. data/lib/dor/services/registration_service.rb +27 -27
  57. data/lib/dor/services/reset_workspace_service.rb +15 -15
  58. data/lib/dor/services/sdr_ingest_service.rb +6 -6
  59. data/lib/dor/services/search_service.rb +2 -2
  60. data/lib/dor/services/suri_service.rb +5 -5
  61. data/lib/dor/services/technical_metadata_service.rb +2 -3
  62. data/lib/dor/utils/ng_tidy.rb +9 -9
  63. data/lib/dor/utils/predicate_patch.rb +1 -1
  64. data/lib/dor/utils/solr_doc_helper.rb +2 -2
  65. data/lib/dor/version.rb +1 -1
  66. data/lib/dor/workflow/document.rb +19 -19
  67. data/lib/dor/workflow/graph.rb +36 -36
  68. data/lib/dor/workflow/process.rb +12 -12
  69. data/lib/tasks/dor.rake +1 -1
  70. data/lib/tasks/rdoc.rake +3 -3
  71. metadata +6 -3
@@ -1,7 +1,7 @@
1
1
  module Dor
2
- class IdentityMetadataDS < ActiveFedora::OmDatastream
2
+ class IdentityMetadataDS < ActiveFedora::OmDatastream
3
3
  include SolrDocHelper
4
-
4
+
5
5
  set_terminology do |t|
6
6
  t.root(:path=>"identityMetadata")
7
7
  t.objectId :index_as => [:searchable]
@@ -18,36 +18,36 @@ class IdentityMetadataDS < ActiveFedora::OmDatastream
18
18
  t.objectCreator :index_as => [:searchable, :facetable]
19
19
  t.adminPolicy :index_as => [:not_searchable]
20
20
  end
21
-
21
+
22
22
  define_template :value do |builder,name,value,attrs|
23
23
  builder.send(name.to_sym, value, attrs)
24
24
  end
25
-
25
+
26
26
  def self.xml_template
27
27
  Nokogiri::XML('<identityMetadata/>')
28
28
  end #self.xml_template
29
-
30
- def add_value(name, value, attrs={})
29
+
30
+ def add_value(name, value, attrs = {})
31
31
  add_child_node(ng_xml.root, :value, name, value, attrs)
32
32
  end
33
-
33
+
34
34
  def objectId
35
- self.find_by_terms(:objectId).text
35
+ find_by_terms(:objectId).text
36
36
  end
37
-
37
+
38
38
  def sourceId
39
- node = self.find_by_terms(:sourceId).first
39
+ node = find_by_terms(:sourceId).first
40
40
  node ? [node['source'],node.text].join(':') : nil
41
41
  end
42
-
42
+
43
43
  def sourceId=(value)
44
- node = self.find_by_terms(:sourceId).first
44
+ node = find_by_terms(:sourceId).first
45
45
  unless value.present?
46
46
  node.remove unless node.nil?
47
47
  nil
48
48
  else
49
49
  (source,val) = value.split(/:/,2)
50
- unless source.present? and value.present?
50
+ unless source.present? && value.present?
51
51
  raise ArgumentError, "Source ID must follow the format namespace:value"
52
52
  end
53
53
  node = ng_xml.root.add_child('<sourceId/>').first if node.nil?
@@ -58,13 +58,13 @@ class IdentityMetadataDS < ActiveFedora::OmDatastream
58
58
  end
59
59
  def tags()
60
60
  result=[]
61
- self.ng_xml.search('//tag').each do |node|
61
+ ng_xml.search('//tag').each do |node|
62
62
  result << node.content
63
63
  end
64
64
  result
65
65
  end
66
66
  def otherId(type = nil)
67
- result = self.find_by_terms(:otherId).to_a
67
+ result = find_by_terms(:otherId).to_a
68
68
  if type.nil?
69
69
  result.collect { |n| [n['name'],n.text].join(':') }
70
70
  else
@@ -79,8 +79,8 @@ class IdentityMetadataDS < ActiveFedora::OmDatastream
79
79
  node.content = val
80
80
  node
81
81
  end
82
-
83
- def to_solr(solr_doc=Hash.new, *args)
82
+
83
+ def to_solr(solr_doc = Hash.new, *args)
84
84
  super(solr_doc, *args)
85
85
  if digital_object.respond_to?(:profile)
86
86
  digital_object.profile.each_pair do |property,value|
@@ -99,8 +99,8 @@ class IdentityMetadataDS < ActiveFedora::OmDatastream
99
99
  add_solr_value(solr_doc, "identifier", qid, :string, [:searchable])
100
100
  add_solr_value(solr_doc, "#{name}_id", id, :string, [:searchable])
101
101
  }
102
-
103
- self.find_by_terms(:tag).each { |tag|
102
+
103
+ find_by_terms(:tag).each { |tag|
104
104
  (top,rest) = tag.text.split(/:/,2)
105
105
  unless rest.nil?
106
106
  add_solr_value(solr_doc, "#{top.downcase.strip.gsub(/\s/,'_')}_tag", rest.strip, :string, [:searchable, :facetable])
@@ -34,8 +34,8 @@ class RoleMetadataDS < ActiveFedora::OmDatastream
34
34
  end
35
35
 
36
36
 
37
- def to_solr(solr_doc=Hash.new, *args)
38
- self.find_by_xpath('/roleMetadata/role/*').each do |actor|
37
+ def to_solr(solr_doc = Hash.new, *args)
38
+ find_by_xpath('/roleMetadata/role/*').each do |actor|
39
39
  role_type = actor.parent['type']
40
40
  val = [actor.at_xpath('identifier/@type'),actor.at_xpath('identifier/text()')].join ':'
41
41
  add_solr_value(solr_doc, "apo_role_#{actor.name}_#{role_type}", val, :string, [:searchable, :facetable])
@@ -48,4 +48,4 @@ class RoleMetadataDS < ActiveFedora::OmDatastream
48
48
  end
49
49
 
50
50
  end
51
- end
51
+ end
@@ -1,44 +1,44 @@
1
- class SimpleDublinCoreDs < ActiveFedora::OmDatastream
2
-
1
+ class SimpleDublinCoreDs < ActiveFedora::OmDatastream
2
+
3
3
  set_terminology do |t|
4
4
  t.root(:path=>"dc", :xmlns=>"http://www.openarchives.org/OAI/2.0/oai_dc/", :schema=>"http://cosimo.stanford.edu/standards/oai_dc/v2/oai_dc.xsd", :namespace_prefix => 'oai_dc', :index_as => [:not_searchable])
5
5
  t.title(:index_as=>[:searchable, :displayable, :facetable], :xmlns => "http://purl.org/dc/elements/1.1/", :namespace_prefix => 'dc')
6
6
  t.creator(:index_as=>[:searchable, :displayable, :facetable], :xmlns => "http://purl.org/dc/elements/1.1/", :namespace_prefix => 'dc')
7
7
  t.identifier(:index_as=>[:searchable, :displayable], :xmlns => "http://purl.org/dc/elements/1.1/", :namespace_prefix => 'dc')
8
8
  end
9
-
9
+
10
10
  def self.xml_template
11
11
  builder = Nokogiri::XML::Builder.new do |xml|
12
- xml.dc(:xmlns=>"http://www.openarchives.org/OAI/2.0/oai_dc/",
12
+ xml.dc(:xmlns=>"http://www.openarchives.org/OAI/2.0/oai_dc/",
13
13
  'xmlns:dc'=>'http://purl.org/dc/elements/1.1/') {
14
14
  xml['dc'].title
15
15
  xml['dc'].creator
16
16
  xml['dc'].identifier
17
- }
17
+ }
18
18
  end
19
19
 
20
- return builder.doc
20
+ builder.doc
21
21
  end
22
-
23
- def to_solr(solr_doc=Hash.new, *args)
22
+
23
+ def to_solr(solr_doc = Hash.new, *args)
24
24
  # There are a whole bunch of namespace-related things that can go
25
25
  # wrong with this terminology. Until it's fixed in OM, ignore them all.
26
26
  begin
27
27
  doc = super solr_doc, *args
28
28
 
29
- add_solr_value(doc, 'dc_title', self.title.first, :string, [:sortable])
30
- add_solr_value(doc, 'dc_creator', self.creator.first, :string, [:sortable])
31
-
29
+ add_solr_value(doc, 'dc_title', title.first, :string, [:sortable])
30
+ add_solr_value(doc, 'dc_creator', creator.first, :string, [:sortable])
31
+
32
32
  identifiers = {}
33
33
 
34
- self.identifier.each { |i| ns, val = i.split(":"); identifiers[ns] ||= val }
34
+ identifier.each { |i| ns, val = i.split(":"); identifiers[ns] ||= val }
35
35
 
36
36
  identifiers.each do |ns, val|
37
37
  add_solr_value(doc, "dc_identifier_#{ns}", val, :string, [:sortable])
38
38
  end
39
39
 
40
40
  return doc
41
- rescue
41
+ rescue
42
42
  solr_doc
43
43
  end
44
44
  end
@@ -70,7 +70,7 @@ module Dor
70
70
  }
71
71
  }
72
72
  end
73
- return builder.doc
73
+ builder.doc
74
74
  end
75
75
 
76
76
  def ensure_non_versionable
@@ -167,7 +167,7 @@ module Dor
167
167
  end
168
168
 
169
169
  def tag_for_version(versionId)
170
- nodes=self.ng_xml.search('//version[@versionId=\''+versionId+'\']')
170
+ nodes=ng_xml.search('//version[@versionId=\''+versionId+'\']')
171
171
  if nodes.length == 1
172
172
  nodes.first['tag'].to_s
173
173
  else
@@ -177,8 +177,8 @@ module Dor
177
177
 
178
178
  # @return [String] The description for the specified version, or empty string if there is no description
179
179
  def description_for_version(versionId)
180
- nodes=self.ng_xml.search('//version[@versionId=\''+versionId+'\']')
181
- if nodes.length == 1 and nodes.first.at_xpath('description')
180
+ nodes=ng_xml.search('//version[@versionId=\''+versionId+'\']')
181
+ if nodes.length == 1 && nodes.first.at_xpath('description')
182
182
  nodes.first.at_xpath('description').content.to_s
183
183
  else
184
184
  ''
@@ -230,4 +230,4 @@ module Dor
230
230
  end
231
231
 
232
232
  end
233
- end
233
+ end
@@ -1,12 +1,12 @@
1
1
  module Dor
2
- class WorkflowDefinitionDs < ActiveFedora::OmDatastream
2
+ class WorkflowDefinitionDs < ActiveFedora::OmDatastream
3
3
  include SolrDocHelper
4
-
4
+
5
5
  set_terminology do |t|
6
6
  t.root(:path => "workflow-def", :index_as => [:not_searchable])
7
7
  t.process(:index_as => [:not_searchable])
8
8
  end
9
-
9
+
10
10
  define_template :process do |builder,workflow,attrs|
11
11
  prereqs = attrs.delete('prerequisite')
12
12
  if prereqs.is_a?(String)
@@ -20,11 +20,11 @@ class WorkflowDefinitionDs < ActiveFedora::OmDatastream
20
20
  prereq_name = repo
21
21
  repo = nil
22
22
  end
23
- if (repo == workflow.repo and wf = workflow.name)
23
+ if (repo == workflow.repo && wf = workflow.name)
24
24
  repo = nil
25
25
  wf = nil
26
26
  end
27
- attrs = (repo.nil? and wf.nil?) ? {} : { :repository => repo, :workflow => wf }
27
+ attrs = (repo.nil? && wf.nil?) ? {} : { :repository => repo, :workflow => wf }
28
28
  node.prereq(attrs) { node.text prereq_name }
29
29
  end
30
30
  end
@@ -33,25 +33,25 @@ class WorkflowDefinitionDs < ActiveFedora::OmDatastream
33
33
  def self.xml_template
34
34
  Nokogiri::XML('<workflow-def/>')
35
35
  end
36
-
36
+
37
37
  def add_process(attributes)
38
38
  add_child_node(ng_xml.at_xpath('/workflow-def'), :process, self, attributes)
39
39
  end
40
-
40
+
41
41
  def graph(parent = nil)
42
- Workflow::Graph.from_processes(self.repo, self.name, self.processes, parent)
42
+ Workflow::Graph.from_processes(repo, name, processes, parent)
43
43
  end
44
-
44
+
45
45
  def processes
46
46
  ng_xml.xpath('/workflow-def/process').collect do |node|
47
- Workflow::Process.new(self.repo, self.name, node)
47
+ Workflow::Process.new(repo, name, node)
48
48
  end.sort { |a,b| (a.sequence || 0) <=> (b.sequence || 0) }
49
49
  end
50
50
 
51
51
  def name
52
52
  ng_xml.at_xpath('/workflow-def/@id').to_s
53
53
  end
54
-
54
+
55
55
  def repo
56
56
  ng_xml.at_xpath('/workflow-def/@repository').to_s
57
57
  end
@@ -63,17 +63,17 @@ class WorkflowDefinitionDs < ActiveFedora::OmDatastream
63
63
  processes.each { |process| result[process.name] = process.to_hash }
64
64
  result
65
65
  end
66
-
66
+
67
67
  def configuration=(hash)
68
68
  self.ng_xml = Nokogiri::XML(%{<workflow-def id="#{hash['name']}" repository="#{hash['repository']}"/>})
69
69
  i = 0
70
- hash.each_pair do |k,v|
70
+ hash.each_pair do |k,v|
71
71
  if v.is_a?(Hash)
72
72
  add_process(v.merge({:name => k, :sequence => i+=1}))
73
73
  end
74
74
  end
75
75
  end
76
-
76
+
77
77
  # Creates the xml used by Dor::WorkflowService.create_workflow
78
78
  # @return [String] An object's initial workflow as defined by the <workflow-def> in content
79
79
  def initial_workflow
@@ -95,19 +95,19 @@ class WorkflowDefinitionDs < ActiveFedora::OmDatastream
95
95
  }
96
96
  Nokogiri::XML(doc.to_xml) { |x| x.noblanks }.to_xml { |config| config.no_declaration }
97
97
  end
98
-
99
- def to_solr(solr_doc=Hash.new,*args)
98
+
99
+ def to_solr(solr_doc = Hash.new,*args)
100
100
  super(solr_doc,*args)
101
- add_solr_value(solr_doc, "workflow_name", self.name, :symbol, [:searchable])
101
+ add_solr_value(solr_doc, "workflow_name", name, :symbol, [:searchable])
102
102
  processes.each do |p|
103
103
  add_solr_value(solr_doc, "process", "#{p.name}|#{p.label}", :symbol, [:displayable])
104
104
  end
105
105
  solr_doc
106
106
  end
107
-
107
+
108
108
  def to_yaml
109
- YAML.dump(self.configuration)
109
+ YAML.dump(configuration)
110
110
  end
111
-
111
+
112
+ end
112
113
  end
113
- end
@@ -6,4 +6,4 @@ Dor::Identifiable.on_upgrade '3.5.0', 'Assert hydra:isGovernedBy' do |obj|
6
6
  else
7
7
  false
8
8
  end
9
- end
9
+ end
@@ -4,7 +4,7 @@ Dor::Identifiable.on_upgrade '3.6.1', 'Assert correct models' do |obj|
4
4
  obj.remove_relationship :has_model, 'info:fedora/hydra:commonMetadata'
5
5
  applied = true
6
6
  end
7
-
7
+
8
8
  unless obj.relationships.predicates.any? { |p| p.to_s == 'info:fedora/fedora-system:def/model#hasModel' }
9
9
  obj.assert_content_model
10
10
  applied = true
@@ -10,9 +10,9 @@ Dor::Identifiable.on_upgrade '3.6.1', 'Record Remediation Version' do |obj|
10
10
  else
11
11
  add_tag = true
12
12
  end
13
-
13
+
14
14
  if add_tag
15
15
  obj.identityMetadata.add_value :tag, "Remediated By : #{Dor::VERSION}"
16
16
  end
17
17
  add_tag
18
- end
18
+ end
@@ -4,7 +4,7 @@ Dor::Identifiable.on_upgrade '3.14.8', 'Fix up invalid URIs in content-augmented
4
4
  false
5
5
  rescue URI::InvalidURIError
6
6
  true
7
- rescue
7
+ rescue
8
8
  false
9
9
  end
10
10
 
@@ -4,7 +4,7 @@ Dor::Identifiable.on_upgrade '3.11.6', 'Fix up invalid URIs in objects' do |obj|
4
4
  false
5
5
  rescue URI::InvalidURIError
6
6
  true
7
- rescue
7
+ rescue
8
8
  false
9
9
  end
10
10
 
@@ -5,11 +5,11 @@ Dor::Processable.on_upgrade '3.5.0', 'Replace individual *WF datastreams with un
5
5
  obj.workflows.content
6
6
  run = true
7
7
  end
8
-
8
+
9
9
  # Remove individual *WF datastreams
10
- obj.datastreams.each_pair do |dsid,ds|
11
- if ds.controlGroup == 'E' and dsid =~ /WF$/
12
- ds.delete
10
+ obj.datastreams.each_pair do |dsid,ds|
11
+ if ds.controlGroup == 'E' && dsid =~ /WF$/
12
+ ds.delete
13
13
  run = true
14
14
  end
15
15
  end
@@ -6,4 +6,4 @@ Dor::Versionable.on_upgrade '3.12.2', 'Add missing versionMetadata' do |obj|
6
6
  run = true
7
7
  end
8
8
  run
9
- end
9
+ end
@@ -13,4 +13,4 @@ module Dor
13
13
  has_metadata :name => "roleMetadata", :type => Dor::RoleMetadataDS, :label => 'Role Metadata'
14
14
  has_metadata :name => "defaultObjectRights", :type => Dor::DefaultObjectRightsDS, :label => 'Default Object Rights'
15
15
  end
16
- end
16
+ end
@@ -1,14 +1,14 @@
1
1
  module Dor
2
2
  module Assembleable
3
-
4
- def initialize_workspace(source=nil)
3
+
4
+ def initialize_workspace(source = nil)
5
5
  if(source.nil?)
6
- druid = DruidTools::Druid.new(self.pid,Config.stacks.local_workspace_root)
6
+ druid = DruidTools::Druid.new(pid,Config.stacks.local_workspace_root)
7
7
  druid.mkdir
8
8
  else
9
- druid = DruidTools::Druid.new(self.pid, Config.stacks.local_workspace_root)
9
+ druid = DruidTools::Druid.new(pid, Config.stacks.local_workspace_root)
10
10
  druid.mkdir_with_final_link(source)
11
11
  end
12
12
  end
13
13
  end
14
- end
14
+ end
@@ -3,17 +3,17 @@ module Dor
3
3
  extend ActiveSupport::Concern
4
4
 
5
5
  #add a file to a resource, not to be confused with add a resource to an object
6
- def add_file file, resource, file_name, mime_type=nil,publish='no', shelve='no', preserve='no'
7
- contentMD=self.datastreams['contentMetadata']
6
+ def add_file file, resource, file_name, mime_type = nil,publish = 'no', shelve = 'no', preserve = 'no'
7
+ contentMD=datastreams['contentMetadata']
8
8
  xml=contentMD.ng_xml
9
9
  #make sure the resource exists
10
10
  if xml.search('//resource[@id=\''+resource+'\']').length == 0
11
11
  raise 'resource doesnt exist.'
12
12
  end
13
13
  sftp=Net::SFTP.start(Config.content.content_server,Config.content.content_user,:auth_methods=>['publickey'])
14
- druid_tools=DruidTools::Druid.new(self.pid,Config.content.content_base_dir)
14
+ druid_tools=DruidTools::Druid.new(pid,Config.content.content_base_dir)
15
15
  location=druid_tools.path(file_name)
16
- oldlocation=location.gsub('/'+self.pid.gsub('druid:',''),'')
16
+ oldlocation=location.gsub('/'+pid.gsub('druid:',''),'')
17
17
  md5=Digest::MD5.file(file.path).hexdigest
18
18
  sha1=Digest::SHA1.file(file.path).hexdigest
19
19
  size=File.size?(file.path)
@@ -26,7 +26,7 @@ module Dor
26
26
  raise 'The file '+file_name+' already exists!'
27
27
  rescue Net::SFTP::StatusException
28
28
  sftp.upload!(file.path,location)
29
- self.contentMetadata.add_file file_hash,resource
29
+ contentMetadata.add_file file_hash,resource
30
30
  end
31
31
  rescue Net::SFTP::StatusException
32
32
  #the directory layout doesnt match the new style, so use the old style.
@@ -36,7 +36,7 @@ module Dor
36
36
  rescue Net::SFTP::StatusException
37
37
  #the file doesnt already exist, which is good. Add it
38
38
  sftp.upload!(file.path,oldlocation)
39
- self.contentMetadata.add_file file_hash,resource
39
+ contentMetadata.add_file file_hash,resource
40
40
  end
41
41
  end
42
42
  #can only arrive at this point if a non status exception occurred.
@@ -44,10 +44,10 @@ module Dor
44
44
 
45
45
  def replace_file file,file_name
46
46
  sftp=Net::SFTP.start(Config.content.content_server,Config.content.content_user,:auth_methods=>['publickey'])
47
- item=Dor::Item.find(self.pid)
48
- druid_tools=DruidTools::Druid.new(self.pid,Config.content.content_base_dir)
47
+ item=Dor::Item.find(pid)
48
+ druid_tools=DruidTools::Druid.new(pid,Config.content.content_base_dir)
49
49
  location=druid_tools.path(file_name)
50
- oldlocation=location.gsub('/'+self.pid.gsub('druid:',''),'')
50
+ oldlocation=location.gsub('/'+pid.gsub('druid:',''),'')
51
51
 
52
52
  md5=Digest::MD5.file(file.path).hexdigest
53
53
  sha1=Digest::SHA1.file(file.path).hexdigest
@@ -66,7 +66,7 @@ module Dor
66
66
  end
67
67
 
68
68
  def get_preserved_file file, version
69
- preservation_server=Config.content.sdr_server+'/sdr/objects/'+self.pid+"/content/"
69
+ preservation_server=Config.content.sdr_server+'/sdr/objects/'+pid+"/content/"
70
70
  file=URI.encode(file)
71
71
  add=preservation_server+file+"?version="+version
72
72
  uri = URI(add)
@@ -78,9 +78,9 @@ module Dor
78
78
  end
79
79
 
80
80
  def get_file file
81
- druid_tools=DruidTools::Druid.new(self.pid,Config.content.content_base_dir)
81
+ druid_tools=DruidTools::Druid.new(pid,Config.content.content_base_dir)
82
82
  location=druid_tools.path(file)
83
- oldlocation=location.gsub('/'+file,'').gsub('/'+self.pid.gsub('druid:',''),'')+'/'+file
83
+ oldlocation=location.gsub('/'+file,'').gsub('/'+pid.gsub('druid:',''),'')+'/'+file
84
84
  sftp=Net::SFTP.start(Config.content.content_server,Config.content.content_user,:auth_methods=>['publickey'])
85
85
  begin
86
86
  data=sftp.download!(location)
@@ -89,9 +89,9 @@ module Dor
89
89
  end
90
90
  end
91
91
  def remove_file filename
92
- druid_tools=DruidTools::Druid.new(self.pid,Config.content.content_base_dir)
92
+ druid_tools=DruidTools::Druid.new(pid,Config.content.content_base_dir)
93
93
  location=druid_tools.path(filename)
94
- oldlocation=location.gsub('/'+self.pid.gsub('druid:',''),'')
94
+ oldlocation=location.gsub('/'+pid.gsub('druid:',''),'')
95
95
  sftp=Net::SFTP.start(Config.content.content_server,Config.content.content_user,:auth_methods=>['publickey'])
96
96
  begin
97
97
  data=sftp.remove!(location)
@@ -102,37 +102,37 @@ module Dor
102
102
  rescue Net::SFTP::StatusException
103
103
  end
104
104
  end
105
- self.contentMetadata.remove_file filename
105
+ contentMetadata.remove_file filename
106
106
  end
107
107
  def rename_file old_name, new_name
108
- druid_tools=DruidTools::Druid.new(self.pid,Config.content.content_base_dir)
108
+ druid_tools=DruidTools::Druid.new(pid,Config.content.content_base_dir)
109
109
  location=druid_tools.path(old_name)
110
- oldlocation=location.gsub('/'+self.pid.gsub('druid:',''),'')
110
+ oldlocation=location.gsub('/'+pid.gsub('druid:',''),'')
111
111
  sftp=Net::SFTP.start(Config.content.content_server,Config.content.content_user,:auth_methods=>['publickey'])
112
112
  begin
113
113
  data=sftp.rename!(location,location.gsub(old_name,new_name))
114
114
  rescue
115
115
  data=sftp.rename!(oldlocation,oldlocation.gsub(old_name,new_name))
116
116
  end
117
- self.contentMetadata.rename_file(old_name, new_name)
117
+ contentMetadata.rename_file(old_name, new_name)
118
118
  end
119
119
  def remove_resource resource_name
120
120
  #run delete for all of the files in the resource
121
- xml=self.contentMetadata.ng_xml
121
+ xml=contentMetadata.ng_xml
122
122
  files=xml.search('//resource[@id=\''+resource_name+'\']/file').each do |file|
123
- self.remove_file(file['id'])
123
+ remove_file(file['id'])
124
124
  end
125
125
  #remove the resource record from the metadata and renumber the resource sequence
126
- self.contentMetadata.remove_resource resource_name
126
+ contentMetadata.remove_resource resource_name
127
127
  end
128
128
  #list files in the workspace
129
129
  def list_files
130
130
  filename='none'
131
131
  files=[]
132
132
  sftp=Net::SFTP.start(Config.content.content_server,Config.content.content_user,:auth_methods=>['publickey'])
133
- druid_tools=DruidTools::Druid.new(self.pid,Config.content.content_base_dir)
133
+ druid_tools=DruidTools::Druid.new(pid,Config.content.content_base_dir)
134
134
  location=druid_tools.path(filename).gsub(filename,'')
135
- oldlocation=location.gsub('/'+self.pid.gsub('druid:',''),'')
135
+ oldlocation=location.gsub('/'+pid.gsub('druid:',''),'')
136
136
  begin
137
137
  sftp.dir.entries(location, "*") do |file|
138
138
  files<<file.name
@@ -146,7 +146,7 @@ module Dor
146
146
  return files
147
147
  end
148
148
  end
149
- return files
149
+ files
150
150
  end
151
151
 
152
152
  # Appends contentMetadata file resources from the source objects to this object
@@ -172,7 +172,7 @@ module Dor
172
172
  secondary_file['id'] = new_secondary_file_name(secondary_file['id'], max_sequence)
173
173
 
174
174
  if primary_cm.at_xpath("//file[@id = '#{secondary_file["id"]}']")
175
- raise Dor::Exception.new "File '#{secondary_file['id']}' from secondary object #{src_pid} already exist in primary object: #{self.pid}"
175
+ raise Dor::Exception.new "File '#{secondary_file['id']}' from secondary object #{src_pid} already exist in primary object: #{pid}"
176
176
  end
177
177
  end
178
178
 
@@ -194,7 +194,7 @@ module Dor
194
194
  resource_copy.first_element_child.add_previous_sibling attr_node
195
195
  end
196
196
  end
197
- self.contentMetadata.content_will_change!
197
+ contentMetadata.content_will_change!
198
198
  end
199
199
 
200
200
  def new_secondary_file_name old_name, sequence_num
@@ -223,4 +223,4 @@ module Dor
223
223
  add_tag "Decommissioned : #{tag}"
224
224
  end
225
225
  end
226
- end
226
+ end