jrdspace 0.0.9 → 0.0.10

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 72e98d25375ebaf280ebf4a89d918d910c75be28
4
- data.tar.gz: 987ea00c6c14043e1bc1d2576e15737a2af301d3
3
+ metadata.gz: d5374a48462982af2dd2b668f131d141b04cdee5
4
+ data.tar.gz: 7569318017512c64a43db11edcaa0a4cfb0b9008
5
5
  SHA512:
6
- metadata.gz: 4c48dad0f9769744a7330e8a10a25c9aae1ef997ee0135a3466748a93d09147bb53631b77ed29d96d06d2b1774e225404ab52fadf6561ee52e06471ce60cdf44
7
- data.tar.gz: 97d2e3b273be1b1f65697144b62786f376f166a86118ebc0d1a12e763828936c599756b48c2efc0dfd90bc01305ac38cd48d997735d3f41f44fe9d84939aa930
6
+ metadata.gz: 9c7636089366716a41e9e8d267534561f7edb4ff8efdfaf1e5391f176cab6643bca26e55268a40c9e3e1d33b0ec2515e54f7be9a6922888c00ad3602ff534043
7
+ data.tar.gz: 9083ad89bf0161c5b61a447f1c2590e4639c16f1bf3179beb541a1c3443d48c3ce36f949746415b5e46ce0b8f968aba6666e80412f0ad2ad232b88a8f7df2759
data/lib/dspace.rb CHANGED
@@ -8,3 +8,4 @@ require 'dspace/ditem'
8
8
  require 'dspace/dbitstream'
9
9
  require 'dspace/dbundle'
10
10
  require 'dspace/dworkflowitem'
11
+ require 'dspace/dworkspaceitem'
data/lib/dspace/dspace.rb CHANGED
@@ -11,7 +11,6 @@ module DSpace
11
11
  GROUP = 6;
12
12
  EPERSON = 7;
13
13
 
14
-
15
14
  def self.objTypeStr(type_str_or_int)
16
15
  return type_str_or_int.capitalize if type_str_or_int.class == String and Constants.typeText.find_index type_str_or_int.upcase
17
16
  begin
@@ -33,11 +32,9 @@ module DSpace
33
32
  java_import org.dspace.handle.HandleManager;
34
33
  java_import org.dspace.core.Constants
35
34
  java_import org.dspace.content.DSpaceObject
36
- return true
37
- else
38
- puts "Already loaded #{@@config.dspace_cfg}"
39
35
  end
40
- return false
36
+ puts "DB #{DSpace.context.getDBConnection.toString}"
37
+ return @@config != nil
41
38
  end
42
39
 
43
40
  def self.context
@@ -83,6 +80,41 @@ module DSpace
83
80
  return klass.send :find, id
84
81
  end
85
82
 
83
+ def self.fromString(type_id_or_handle)
84
+ #TODO handle MetadataField string
85
+ splits = type_id_or_handle.split('.')
86
+ if (2 == splits.length) then
87
+ self.find(splits[0].upcase, splits[1])
88
+ else
89
+ self.fromHandle(type_id_or_handle)
90
+ end
91
+ end
92
+
93
+ def self.toString(java_obj)
94
+ return "nil" unless java_obj
95
+ klass = java_obj.getClass.getName
96
+ if (klass == "org.dspace.content.MetadataField") then
97
+ java_import org.dspace.content.MetadataField
98
+ java_import org.dspace.content.MetadataSchema
99
+
100
+ schema = MetadataSchema.find(DSpace.context, java_obj.schemaID)
101
+ str = "#{schema.getName}.#{java_obj.element}"
102
+ str += ".#{java_obj.qualifier}" if java_obj.qualifier
103
+ str
104
+ else
105
+ java_obj.toString
106
+ end
107
+ end
108
+
109
+ def self.getService(service_name, java_klass)
110
+ org.dspace.utils.DSpace.new().getServiceManager().getServiceByName(service_name,java_klass)
111
+ end
112
+
113
+ def self.getIndexService()
114
+ java_import org.dspace.discovery.SolrServiceImpl;
115
+ self.getService("org.dspace.discovery.IndexingService", SolrServiceImpl)
116
+ end
117
+
86
118
  def self.findByMetadataValue(fully_qualified_metadata_field, value_or_nil, restrict_to_type)
87
119
  java_import org.dspace.content.MetadataSchema
88
120
  java_import org.dspace.content.MetadataField
@@ -113,32 +145,6 @@ module DSpace
113
145
  return dsos
114
146
  end
115
147
 
116
- def self.fromString(type_id_or_handle)
117
- #TODO handle MetadataField string
118
- splits = type_id_or_handle.split('.')
119
- if (2 == splits.length) then
120
- self.find(splits[0].upcase, splits[1])
121
- else
122
- self.fromHandle(type_id_or_handle)
123
- end
124
- end
125
-
126
- def self.toString(java_obj)
127
- return "nil" unless java_obj
128
- klass = java_obj.getClass.getName
129
- if (klass == "org.dspace.content.MetadataField") then
130
- java_import org.dspace.content.MetadataField
131
- java_import org.dspace.content.MetadataSchema
132
-
133
- schema = MetadataSchema.find(DSpace.context, java_obj.schemaID)
134
- str = "#{schema.getName}.#{java_obj.element}"
135
- str += ".#{java_obj.qualifier}" if java_obj.qualifier
136
- str
137
- else
138
- java_obj.toString
139
- end
140
- end
141
-
142
148
  def self.kernel
143
149
  @@config.kernel;
144
150
  end
@@ -4,15 +4,23 @@ require 'dspace'
4
4
  class DWorkflowItem
5
5
  def self.findAll(obj)
6
6
  java_import org.dspace.workflow.WorkflowItem
7
+ if (obj.nil?) then
8
+ return WorkflowItem.findAll(DSpace.context)
9
+ end
7
10
  if (obj.getType == DSpace::COLLECTION)
8
11
  return WorkflowItem.findByCollection(DSpace.context, obj)
9
- elsif (obj.getType == DSpace::COMMUNITY) then
12
+ elsif (obj.getType == DSpace::COMMUNITY) then
10
13
  flows = []
11
- obj.getCollections.each do |col|
14
+ obj.getAllCollections.each do |col|
12
15
  flows += findAll(col)
13
16
  end
14
17
  return flows
18
+ elsif (obj.getType == DSpace::ITEM) then
19
+ wi = WorkflowItem.findByItem(DSpace.context, obj)
20
+ # to be consistent return array with the unqiue wokflow item
21
+ return [wi] if wi
15
22
  end
23
+ # return empty array if no matching workflow items
16
24
  return []
17
25
  end
18
26
 
@@ -0,0 +1,27 @@
1
+ #!/usr/bin/env jruby
2
+ require 'dspace'
3
+
4
+ class DWorkspaceItem
5
+ def self.findAll(obj)
6
+ java_import org.dspace.content.WorkspaceItem
7
+ if (obj.nil?) then
8
+ return WorkspaceItem.findAll(DSpace.context)
9
+ end
10
+ if (obj.getType == DSpace::COLLECTION)
11
+ return WorkspaceItem.findByCollection(DSpace.context, obj)
12
+ elsif (obj.getType == DSpace::COMMUNITY) then
13
+ wsis = []
14
+ obj.getAllCollections.each do |col|
15
+ wsis += findAll(col)
16
+ end
17
+ return wsis
18
+ elsif (obj.getType == DSpace::ITEM) then
19
+ wi = WorkspaceItem.findByItem(DSpace.context, obj)
20
+ # to be consistent return array with the unqiue wokflow item
21
+ return [wi] if wi
22
+ end
23
+ # return empty array if no matching workspace items
24
+ return []
25
+ end
26
+
27
+ end
@@ -1,3 +1,3 @@
1
1
  module DSpace
2
- VERSION = "0.0.9"
2
+ VERSION = "0.0.10"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jrdspace
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.9
4
+ version: 0.0.10
5
5
  platform: ruby
6
6
  authors:
7
7
  - Monika Mevenkamp
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-05-10 00:00:00.000000000 Z
11
+ date: 2016-05-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: jar
@@ -90,6 +90,7 @@ files:
90
90
  - lib/dspace/dso.rb
91
91
  - lib/dspace/dspace.rb
92
92
  - lib/dspace/dworkflowitem.rb
93
+ - lib/dspace/dworkspaceitem.rb
93
94
  - lib/dspace/version.rb
94
95
  homepage: https://github.com/akinom/dspace-jruby
95
96
  licenses: