mpxj 5.6.2 → 5.6.3

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: 8c686b99202d62148e98c5c2e2be5bb5455daacd
4
- data.tar.gz: 108dcf1e1de5299018adddd43e37630d3ea89e95
3
+ metadata.gz: 2ae32c58514d15b5146f7c157d0b4175c15cab92
4
+ data.tar.gz: 20ce27b764b27c538d134773a42ccf2b2e51a842
5
5
  SHA512:
6
- metadata.gz: 84551402a388e2899a32c7331fd46179882f54a9d993fb761454196f6a87a65efb38055e6bb9c8dfd80736534b42d9d3691d5ffa424d5f4b67e9607ebfc4acdc
7
- data.tar.gz: 1ecbaae33ee5184ebd7ceb0a1e0c537e45acb0df6e53093a841ac7f6b722cd9ac9204bc476bf5cc0f3d86a94a9b622b278f6c11c71daabb5f1c47369aafd89a0
6
+ metadata.gz: f5a476a8c48a80ce1e193b0e4d7f531c23369750af9ccbf02864717afbc6ff5bccb5e841ce60cd25cf7a2f23e8316647cd79124ae7a37f0955a14c61a97acf05
7
+ data.tar.gz: 37c5a7b3da5e86365a4e0357c07856f6a8beb65f1532d56607fcfda37b5b1a7c0b3ae650bc03f547a2b6549c08f8ac6123f083fa4d01f90cf69eea59236cf5d3
Binary file
@@ -4,6 +4,8 @@ require 'active_support/core_ext/time/calculations'
4
4
  module MPXJ
5
5
  # Used to read a project plan from a file
6
6
  class Reader
7
+ @@max_memory_size = nil
8
+
7
9
  # Reads a project plan from a file, and returns a Project instance
8
10
  # which provides access to the structure and attributes of the project data.
9
11
  # Note that an optional timezone can be supplied to ensue that all date-time
@@ -19,7 +21,7 @@ module MPXJ
19
21
 
20
22
  begin
21
23
  classpath = Dir["#{File.dirname(__FILE__)}/*.jar"].join(path_separator)
22
- java_output = `java -cp \"#{classpath}\" net.sf.mpxj.sample.MpxjConvert \"#{file_name}\" \"#{json_file.path}\"`
24
+ java_output = `java -cp \"#{classpath}\" #{jvm_args} net.sf.mpxj.sample.MpxjConvert \"#{file_name}\" \"#{json_file.path}\"`
23
25
  if $?.exitstatus != 0
24
26
  report_error(java_output)
25
27
  end
@@ -31,7 +33,24 @@ module MPXJ
31
33
  project
32
34
  end
33
35
 
36
+ # Allows the caller to set the maximum memory size used by the JVM when processing a schedule.
37
+ # This is useful when handling large schedules which cause out of memory failures if the JVM's
38
+ # default maximum memory size is used. The value is either a plain integer number of bytes,
39
+ # or an integer followed by K, M, or G, e.g. `MPXJ::Reader.max_memory_size="500M"`
40
+ #
41
+ # @param value new maximum memory size
42
+ def self.max_memory_size=(value)
43
+ @@max_memory_size = value
44
+ end
45
+
34
46
  # @private
47
+ def self.jvm_args
48
+ args = []
49
+ args << "-Xmx#{@@max_memory_size}" if @@max_memory_size.present?
50
+ args.join(' ')
51
+ end
52
+
53
+ # @private
35
54
  def self.path_separator
36
55
  if windows?
37
56
  ";"
@@ -1,5 +1,5 @@
1
1
  # MPXJ gem module
2
2
  module MPXJ
3
3
  # MPXJ gem version number
4
- VERSION = "5.6.2"
4
+ VERSION = "5.6.3"
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mpxj
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.6.2
4
+ version: 5.6.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jon Iles
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-02-06 00:00:00.000000000 Z
11
+ date: 2017-02-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -126,7 +126,7 @@ files:
126
126
  - lib/mpxj/reader.rb
127
127
  - lib/mpxj/relation.rb
128
128
  - lib/mpxj/resource.rb
129
- - lib/mpxj/rtfparserkit-1.9.0.jar
129
+ - lib/mpxj/rtfparserkit-1.10.0.jar
130
130
  - lib/mpxj/runtime_error.rb
131
131
  - lib/mpxj/sqlite-jdbc-3.8.10.1.jar
132
132
  - lib/mpxj/task.rb