jrdspace 0.0.9 → 0.0.10

Sign up to get free protection for your applications and to get access to all the features.
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: