jasperserver4r 0.1.0
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.
- data/.document +3 -0
- data/.gitignore +25 -0
- data/CHANGELOG.rdoc +3 -0
- data/MIT-LICENSE +20 -0
- data/README.rdoc +90 -0
- data/Rakefile +68 -0
- data/VERSION.yml +4 -0
- data/jasperserver4r.gemspec +60 -0
- data/lib/jasperserver4r.rb +62 -0
- data/lib/jasperserver4r/jasperserverlogger.rb +47 -0
- data/lib/jasperserver4r/reportschedulerservice.rb +306 -0
- data/lib/jasperserver4r/reportschedulerservicedriver.rb +105 -0
- data/lib/jasperserver4r/reportschedulerservicemappingregistry.rb +307 -0
- data/test/common_utils.rb +14 -0
- data/test/test_report_scheduler.rb +426 -0
- metadata +75 -0
data/.document
ADDED
data/.gitignore
ADDED
@@ -0,0 +1,25 @@
|
|
1
|
+
## MAC OS
|
2
|
+
.DS_Store
|
3
|
+
|
4
|
+
## TEXTMATE
|
5
|
+
*.tmproj
|
6
|
+
tmtags
|
7
|
+
|
8
|
+
## EMACS
|
9
|
+
*~
|
10
|
+
\#*
|
11
|
+
.\#*
|
12
|
+
|
13
|
+
## VIM
|
14
|
+
*.swp
|
15
|
+
|
16
|
+
## Aptana
|
17
|
+
*.project
|
18
|
+
*.loadpath
|
19
|
+
|
20
|
+
## PROJECT::GENERAL
|
21
|
+
coverage
|
22
|
+
rdoc
|
23
|
+
pkg
|
24
|
+
|
25
|
+
## PROJECT::SPECIFIC
|
data/CHANGELOG.rdoc
ADDED
data/MIT-LICENSE
ADDED
@@ -0,0 +1,20 @@
|
|
1
|
+
Copyright (c) 2009 all4miller
|
2
|
+
|
3
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
4
|
+
a copy of this software and associated documentation files (the
|
5
|
+
"Software"), to deal in the Software without restriction, including
|
6
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
7
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
8
|
+
permit persons to whom the Software is furnished to do so, subject to
|
9
|
+
the following conditions:
|
10
|
+
|
11
|
+
The above copyright notice and this permission notice shall be
|
12
|
+
included in all copies or substantial portions of the Software.
|
13
|
+
|
14
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
15
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
16
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
17
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
18
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
19
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
20
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/README.rdoc
ADDED
@@ -0,0 +1,90 @@
|
|
1
|
+
= JasperServer4r Library
|
2
|
+
|
3
|
+
jasperserver4r is a ruby library for utilising the JasperServer web services
|
4
|
+
API. jasperserver4r allows you to use all the methods defined by the report
|
5
|
+
scheduling service. This library was developed and tested against JasperServer v3.5.0 so it
|
6
|
+
may not work with earlier versions. Support for the repository service is under
|
7
|
+
development. Documentation and comments are a work in progress.
|
8
|
+
|
9
|
+
= Useful Web Resources
|
10
|
+
|
11
|
+
- {JasperServer API discussion forum}[http://groups.google.com/group/jasperserver4r]
|
12
|
+
- {JasperServer API documentation}[http://jasperserver4r.rubyforge.org/rdoc/]
|
13
|
+
- {This project's github page}[http://github.com/all4miller/jasperserver4r]
|
14
|
+
- {JasperServer CE home}[http://jasperforge.org/projects/jasperserver]
|
15
|
+
- {JasperServer web services guide v3.5.0}[http://jasperserver.sourceforge.net/docs/3-5-0/JasperServer-Web-Services-Guide.pdf]
|
16
|
+
|
17
|
+
= Installation
|
18
|
+
|
19
|
+
Install from rubyforge:
|
20
|
+
$ gem install jasperserver4r
|
21
|
+
|
22
|
+
The following gem libraries are required:
|
23
|
+
- soap4r v1.5.8
|
24
|
+
- httpclient v2.1.2 or greater
|
25
|
+
|
26
|
+
= Using the client library
|
27
|
+
|
28
|
+
=== Basic example
|
29
|
+
|
30
|
+
It's pretty easy to use.
|
31
|
+
See http://docs.rubygems.org/read/chapter/3#page70 for how to set the rubygem
|
32
|
+
environment. Then:
|
33
|
+
require 'jasperserver4r'
|
34
|
+
client = JasperServer::API.new( username, password )
|
35
|
+
schedule_service = client.get_report_scheduler_service( endpoint url )
|
36
|
+
scheduled_jobs = schedule_service.getAllJobs
|
37
|
+
creates a driver for the JasperServer web services API and retrieves a list of
|
38
|
+
all schedules jobs currently defined in the JasperServer repository. Username
|
39
|
+
and password are valid JasperServer portal credentials. The
|
40
|
+
get_report_scheduler_service endpoint url defaults to
|
41
|
+
http://localhost:8080/jasperserver/services/ReportScheduler
|
42
|
+
|
43
|
+
Will be adding more examples asap. Check out the tests for sample usage of each
|
44
|
+
available operation. The web services guide mentioned above is a good resource
|
45
|
+
for detailed descriptions of available operations.
|
46
|
+
|
47
|
+
=== Logging
|
48
|
+
|
49
|
+
It is often useful to see a trace of the raw SOAP XML being sent and received.
|
50
|
+
The quickest way of achieving this when debugging your application is by setting
|
51
|
+
the JASPERSERVER4R_DEBUG environment variable to TRUE; e.g. in the bash shell:
|
52
|
+
$ export JASPERSERVER4R_DEBUG=TRUE
|
53
|
+
or from your Ruby code:
|
54
|
+
ENV['JASPERSERVER4R_DEBUG'] = 'TRUE'
|
55
|
+
|
56
|
+
This will output the SOAP XML to stderr, which will usually show up in your
|
57
|
+
terminal window.
|
58
|
+
|
59
|
+
There's also the option of logging requests and XML to files. In order to enable
|
60
|
+
this, you should use the write_to_file method of the loggers inside your JasperServer::API object:
|
61
|
+
|
62
|
+
client = JasperServer::API.new
|
63
|
+
client.xml_logger.log_to_file
|
64
|
+
|
65
|
+
This logs the full SOAP XML being sent and received over the wire. These will be written
|
66
|
+
to the current directory by default, but you can specify a path as an optional
|
67
|
+
parameter to log_to_file:
|
68
|
+
client.xml_logger.log_to_file('/var/log/my_app')
|
69
|
+
|
70
|
+
The file will be named soap_xml.
|
71
|
+
|
72
|
+
|
73
|
+
= Docs for Developers
|
74
|
+
|
75
|
+
$ rake rerdoc
|
76
|
+
to regenerate the project documentation if needed
|
77
|
+
|
78
|
+
$ rake build
|
79
|
+
to package the gem and create a release
|
80
|
+
|
81
|
+
$ rake test
|
82
|
+
to run unit tests on the library
|
83
|
+
|
84
|
+
$ rake -T
|
85
|
+
for a list of available tasks
|
86
|
+
|
87
|
+
|
88
|
+
= Copyright/License Info
|
89
|
+
|
90
|
+
Copyright (c) 2009 all4miller. See MIT-LICENSE for details.
|
data/Rakefile
ADDED
@@ -0,0 +1,68 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
require 'rake'
|
3
|
+
|
4
|
+
begin
|
5
|
+
require 'jeweler'
|
6
|
+
Jeweler::Tasks.new do |gem|
|
7
|
+
# Basic information
|
8
|
+
gem.name = "jasperserver4r"
|
9
|
+
gem.summary = "Client library for the JasperServer Web Services API."
|
10
|
+
gem.description = <<-EOS
|
11
|
+
JasperServer4r provides an easy way to access the JasperServer Web Services API in Ruby.
|
12
|
+
Currently the following JasperServer Web Services are supported:
|
13
|
+
* Report Scheduling
|
14
|
+
EOS
|
15
|
+
|
16
|
+
# Metadata
|
17
|
+
gem.email = "all4miller@gmail.com"
|
18
|
+
gem.homepage = "http://github.com/all4miller/jasperserver4r"
|
19
|
+
gem.authors = ["all4miller"]
|
20
|
+
gem.rubyforge_project = 'jasperserver4r'
|
21
|
+
# gem is a Gem::Specification... see http://www.rubygems.org/read/chapter/20 for additional settings
|
22
|
+
end
|
23
|
+
Jeweler::GemcutterTasks.new
|
24
|
+
Jeweler::RubyforgeTasks.new
|
25
|
+
rescue LoadError
|
26
|
+
puts "Jeweler (or a dependency) not available. Install it with: sudo gem install jeweler"
|
27
|
+
end
|
28
|
+
|
29
|
+
require 'rake/testtask'
|
30
|
+
Rake::TestTask.new(:test) do |test|
|
31
|
+
test.libs << 'lib' << 'test'
|
32
|
+
test.pattern = 'test/**/test_*.rb'
|
33
|
+
test.verbose = true
|
34
|
+
end
|
35
|
+
|
36
|
+
begin
|
37
|
+
require 'rcov/rcovtask'
|
38
|
+
Rcov::RcovTask.new do |test|
|
39
|
+
test.libs << 'test'
|
40
|
+
test.pattern = 'test/**/test_*.rb'
|
41
|
+
test.verbose = true
|
42
|
+
end
|
43
|
+
rescue LoadError
|
44
|
+
task :rcov do
|
45
|
+
abort "RCov is not available. In order to run rcov, you must: sudo gem install spicycode-rcov"
|
46
|
+
end
|
47
|
+
end
|
48
|
+
|
49
|
+
require 'rake/rdoctask'
|
50
|
+
Rake::RDocTask.new do |rdoc|
|
51
|
+
# Try to use darkfish-rdoc to generate the docs
|
52
|
+
begin
|
53
|
+
require 'hanna/rdoctask'
|
54
|
+
rescue LoadError
|
55
|
+
# Do nothing, give up and continue with whatever is the default.
|
56
|
+
end
|
57
|
+
|
58
|
+
version = File.exist?('VERSION') ? File.read('VERSION') : ""
|
59
|
+
rdoc.rdoc_dir = 'rdoc'
|
60
|
+
rdoc.title = "jasperserver4r #{version}"
|
61
|
+
rdoc.rdoc_files.include('README*')
|
62
|
+
rdoc.rdoc_files.include("lib/jasperserver4r")
|
63
|
+
rdoc.rdoc_files.include('lib/jasperserver4r/*Service.rb')
|
64
|
+
end
|
65
|
+
|
66
|
+
task :test => :check_dependencies
|
67
|
+
|
68
|
+
task :default => :test
|
data/VERSION.yml
ADDED
@@ -0,0 +1,60 @@
|
|
1
|
+
# Generated by jeweler
|
2
|
+
# DO NOT EDIT THIS FILE DIRECTLY
|
3
|
+
# Instead, edit Jeweler::Tasks in Rakefile, and run the gemspec command
|
4
|
+
# -*- encoding: utf-8 -*-
|
5
|
+
|
6
|
+
Gem::Specification.new do |s|
|
7
|
+
s.name = %q{jasperserver4r}
|
8
|
+
s.version = "0.1.0"
|
9
|
+
|
10
|
+
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
|
+
s.authors = ["all4miller"]
|
12
|
+
s.date = %q{2009-10-26}
|
13
|
+
s.description = %q{JasperServer4r provides an easy way to access the JasperServer Web Services API in Ruby.
|
14
|
+
Currently the following JasperServer Web Services are supported:
|
15
|
+
* Report Scheduling
|
16
|
+
}
|
17
|
+
s.email = %q{all4miller@gmail.com}
|
18
|
+
s.extra_rdoc_files = [
|
19
|
+
"README.rdoc"
|
20
|
+
]
|
21
|
+
s.files = [
|
22
|
+
".document",
|
23
|
+
".gitignore",
|
24
|
+
".loadpath",
|
25
|
+
"CHANGELOG.rdoc",
|
26
|
+
"MIT-LICENSE",
|
27
|
+
"README.rdoc",
|
28
|
+
"Rakefile",
|
29
|
+
"VERSION.yml",
|
30
|
+
"jasperserver4r.gemspec",
|
31
|
+
"lib/jasperserver4r.rb",
|
32
|
+
"lib/jasperserver4r/jasperserverlogger.rb",
|
33
|
+
"lib/jasperserver4r/reportschedulerservice.rb",
|
34
|
+
"lib/jasperserver4r/reportschedulerservicedriver.rb",
|
35
|
+
"lib/jasperserver4r/reportschedulerservicemappingregistry.rb",
|
36
|
+
"test/common_utils.rb",
|
37
|
+
"test/test_report_scheduler.rb"
|
38
|
+
]
|
39
|
+
s.homepage = %q{http://github.com/all4miller/jasperserver4r}
|
40
|
+
s.rdoc_options = ["--charset=UTF-8"]
|
41
|
+
s.require_paths = ["lib"]
|
42
|
+
s.rubyforge_project = %q{jasperserver4r}
|
43
|
+
s.rubygems_version = %q{1.3.5}
|
44
|
+
s.summary = %q{Client library for the JasperServer Web Services API.}
|
45
|
+
s.test_files = [
|
46
|
+
"test/test_report_scheduler.rb",
|
47
|
+
"test/common_utils.rb"
|
48
|
+
]
|
49
|
+
|
50
|
+
if s.respond_to? :specification_version then
|
51
|
+
current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
|
52
|
+
s.specification_version = 3
|
53
|
+
|
54
|
+
if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
|
55
|
+
else
|
56
|
+
end
|
57
|
+
else
|
58
|
+
end
|
59
|
+
end
|
60
|
+
|
@@ -0,0 +1,62 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
gem 'soap4r', '=1.5.8'
|
3
|
+
require 'jasperserver4r/reportschedulerservicedriver'
|
4
|
+
require 'jasperserver4r/jasperserverlogger'
|
5
|
+
|
6
|
+
# Main namespace for all the client library's modules and classes.
|
7
|
+
module JasperServer
|
8
|
+
|
9
|
+
# Wrapper class that serves as the main point of access for all the API usage.
|
10
|
+
#
|
11
|
+
# Holds all the services, as well as login credentials.
|
12
|
+
#
|
13
|
+
class API
|
14
|
+
|
15
|
+
# JasperServerLogger object used for logging SOAP XML
|
16
|
+
attr_reader :xml_logger
|
17
|
+
|
18
|
+
public
|
19
|
+
|
20
|
+
# Constructor for API.
|
21
|
+
#
|
22
|
+
# Args:
|
23
|
+
# - username: Valid JasperServer account username
|
24
|
+
# - password: Valid JasperServer account password
|
25
|
+
#
|
26
|
+
def initialize(username, password)
|
27
|
+
@username = username
|
28
|
+
@password = password
|
29
|
+
log_to_console = !ENV['JASPERSERVER4R_DEBUG'].nil? &&
|
30
|
+
ENV['JASPERSERVER4R_DEBUG'].upcase == 'TRUE'
|
31
|
+
@xml_logger = JasperServerLogger.new('soap_xml', log_to_console)
|
32
|
+
end
|
33
|
+
|
34
|
+
# Obtain an ReportSchedulerService service, given a valid end point.
|
35
|
+
#
|
36
|
+
# Args:
|
37
|
+
# - endpoint_url: Valid endpoint_url
|
38
|
+
#
|
39
|
+
# Returns:
|
40
|
+
# The service wrapper for the intended service.
|
41
|
+
#
|
42
|
+
def get_report_scheduler_service(endpoint_url = nil)
|
43
|
+
driver = JasperServer::ReportSchedulerService::ReportSchedulerInterface.new(endpoint_url)
|
44
|
+
driver.options["protocol.http.basic_auth"] << [endpoint_url, @username, @password]
|
45
|
+
driver.wiredump_dev = @xml_logger
|
46
|
+
return driver
|
47
|
+
end
|
48
|
+
|
49
|
+
# Obtain an Repositiry service, given a valid end point.
|
50
|
+
#
|
51
|
+
# Args:
|
52
|
+
# - endpoint_url: Valid endpoint_url
|
53
|
+
#
|
54
|
+
# Returns:
|
55
|
+
# The service wrapper for the intended service.
|
56
|
+
#
|
57
|
+
def get_repository_service(endpoint_url = nil)
|
58
|
+
#TODO impliment repository service
|
59
|
+
end
|
60
|
+
|
61
|
+
end
|
62
|
+
end
|
@@ -0,0 +1,47 @@
|
|
1
|
+
require 'logger'
|
2
|
+
|
3
|
+
module JasperServer
|
4
|
+
|
5
|
+
# Wrapper class to handle logging to console and/or files.
|
6
|
+
class JasperServerLogger
|
7
|
+
|
8
|
+
# Constructor for JasperServerLogger.
|
9
|
+
#
|
10
|
+
# Args:
|
11
|
+
# - filename: the filename for the log file to be written (if log_to_file is
|
12
|
+
# called)
|
13
|
+
# - log_to_console: boolean, indicates whether or not to log to the console
|
14
|
+
#
|
15
|
+
def initialize(filename, log_to_console=false)
|
16
|
+
@filename = filename
|
17
|
+
@loggers = []
|
18
|
+
if log_to_console
|
19
|
+
stderr_logger = Logger.new(STDERR)
|
20
|
+
stderr_logger.level = Logger::INFO
|
21
|
+
@loggers << stderr_logger
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
# Enables logging to a file.
|
26
|
+
# May be called several times to log to multiple files.
|
27
|
+
#
|
28
|
+
# Args:
|
29
|
+
# - path: where to write the file (defaults to current dir). Path only, do
|
30
|
+
# not provide filename.
|
31
|
+
#
|
32
|
+
def log_to_file(path='.')
|
33
|
+
new_logger = Logger.new(File.join(path, @filename))
|
34
|
+
new_logger.level = Logger::INFO
|
35
|
+
@loggers << new_logger
|
36
|
+
|
37
|
+
return nil
|
38
|
+
end
|
39
|
+
|
40
|
+
# Overload << operator to perform logging.
|
41
|
+
def << (text)
|
42
|
+
@loggers.each do |logger|
|
43
|
+
logger.info text.to_s
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
@@ -0,0 +1,306 @@
|
|
1
|
+
require 'xsd/qname'
|
2
|
+
|
3
|
+
module JasperServer
|
4
|
+
module ReportSchedulerService
|
5
|
+
|
6
|
+
# JobTrigger
|
7
|
+
# - id - SOAP::SOAPLong
|
8
|
+
# - version - SOAP::SOAPInt
|
9
|
+
# - timezone - SOAP::SOAPString
|
10
|
+
# - startDate - SOAP::SOAPDateTime
|
11
|
+
# - endDate - SOAP::SOAPDateTime
|
12
|
+
class JobTrigger
|
13
|
+
attr_accessor :id
|
14
|
+
attr_accessor :version
|
15
|
+
attr_accessor :timezone
|
16
|
+
attr_accessor :startDate
|
17
|
+
attr_accessor :endDate
|
18
|
+
|
19
|
+
def initialize(id = nil, version = nil, timezone = nil, startDate = nil, endDate = nil)
|
20
|
+
@id = id
|
21
|
+
@version = version
|
22
|
+
@timezone = timezone
|
23
|
+
@startDate = startDate
|
24
|
+
@endDate = endDate
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
# {http://www.jasperforge.org/jasperserver/ws}JobCalendarTrigger
|
29
|
+
# id - SOAP::SOAPLong
|
30
|
+
# version - SOAP::SOAPInt
|
31
|
+
# timezone - SOAP::SOAPString
|
32
|
+
# startDate - SOAP::SOAPDateTime
|
33
|
+
# endDate - SOAP::SOAPDateTime
|
34
|
+
# minutes - SOAP::SOAPString
|
35
|
+
# hours - SOAP::SOAPString
|
36
|
+
# daysType - CalendarDaysType
|
37
|
+
# weekDays - ArrayOf_xsd_int
|
38
|
+
# monthDays - SOAP::SOAPString
|
39
|
+
# months - ArrayOf_xsd_int
|
40
|
+
class JobCalendarTrigger < JobTrigger
|
41
|
+
attr_accessor :id
|
42
|
+
attr_accessor :version
|
43
|
+
attr_accessor :timezone
|
44
|
+
attr_accessor :startDate
|
45
|
+
attr_accessor :endDate
|
46
|
+
attr_accessor :minutes
|
47
|
+
attr_accessor :hours
|
48
|
+
attr_accessor :daysType
|
49
|
+
attr_accessor :weekDays
|
50
|
+
attr_accessor :monthDays
|
51
|
+
attr_accessor :months
|
52
|
+
|
53
|
+
def initialize(id = nil, version = nil, timezone = nil, startDate = nil, endDate = nil, minutes = nil, hours = nil, daysType = nil, weekDays = nil, monthDays = nil, months = nil)
|
54
|
+
@id = id
|
55
|
+
@version = version
|
56
|
+
@timezone = timezone
|
57
|
+
@startDate = startDate
|
58
|
+
@endDate = endDate
|
59
|
+
@minutes = minutes
|
60
|
+
@hours = hours
|
61
|
+
@daysType = daysType
|
62
|
+
@weekDays = weekDays
|
63
|
+
@monthDays = monthDays
|
64
|
+
@months = months
|
65
|
+
end
|
66
|
+
end
|
67
|
+
|
68
|
+
# {http://www.jasperforge.org/jasperserver/ws}JobSimpleTrigger
|
69
|
+
# id - SOAP::SOAPLong
|
70
|
+
# version - SOAP::SOAPInt
|
71
|
+
# timezone - SOAP::SOAPString
|
72
|
+
# startDate - SOAP::SOAPDateTime
|
73
|
+
# endDate - SOAP::SOAPDateTime
|
74
|
+
# occurrenceCount - SOAP::SOAPInt
|
75
|
+
# recurrenceInterval - SOAP::SOAPInt
|
76
|
+
# recurrenceIntervalUnit - IntervalUnit
|
77
|
+
class JobSimpleTrigger < JobTrigger
|
78
|
+
attr_accessor :id
|
79
|
+
attr_accessor :version
|
80
|
+
attr_accessor :timezone
|
81
|
+
attr_accessor :startDate
|
82
|
+
attr_accessor :endDate
|
83
|
+
attr_accessor :occurrenceCount
|
84
|
+
attr_accessor :recurrenceInterval
|
85
|
+
attr_accessor :recurrenceIntervalUnit
|
86
|
+
|
87
|
+
def initialize(id = nil, version = nil, timezone = nil, startDate = nil, endDate = nil, occurrenceCount = nil, recurrenceInterval = nil, recurrenceIntervalUnit = nil)
|
88
|
+
@id = id
|
89
|
+
@version = version
|
90
|
+
@timezone = timezone
|
91
|
+
@startDate = startDate
|
92
|
+
@endDate = endDate
|
93
|
+
@occurrenceCount = occurrenceCount
|
94
|
+
@recurrenceInterval = recurrenceInterval
|
95
|
+
@recurrenceIntervalUnit = recurrenceIntervalUnit
|
96
|
+
end
|
97
|
+
end
|
98
|
+
|
99
|
+
# {http://www.jasperforge.org/jasperserver/ws}JobMailNotification
|
100
|
+
# id - SOAP::SOAPLong
|
101
|
+
# version - SOAP::SOAPInt
|
102
|
+
# toAddresses - ArrayOf_xsd_string
|
103
|
+
# subject - SOAP::SOAPString
|
104
|
+
# messageText - SOAP::SOAPString
|
105
|
+
# resultSendType - ResultSendType
|
106
|
+
# skipEmptyReports - SOAP::SOAPBoolean
|
107
|
+
class JobMailNotification
|
108
|
+
attr_accessor :id
|
109
|
+
attr_accessor :version
|
110
|
+
attr_accessor :toAddresses
|
111
|
+
attr_accessor :subject
|
112
|
+
attr_accessor :messageText
|
113
|
+
attr_accessor :resultSendType
|
114
|
+
attr_accessor :skipEmptyReports
|
115
|
+
|
116
|
+
def initialize(id = nil, version = nil, toAddresses = nil, subject = nil, messageText = nil, resultSendType = nil, skipEmptyReports = nil)
|
117
|
+
@id = id
|
118
|
+
@version = version
|
119
|
+
@toAddresses = toAddresses
|
120
|
+
@subject = subject
|
121
|
+
@messageText = messageText
|
122
|
+
@resultSendType = resultSendType
|
123
|
+
@skipEmptyReports = skipEmptyReports
|
124
|
+
end
|
125
|
+
end
|
126
|
+
|
127
|
+
# {http://www.jasperforge.org/jasperserver/ws}JobParameter
|
128
|
+
# name - SOAP::SOAPString
|
129
|
+
# value - (any)
|
130
|
+
class JobParameter
|
131
|
+
attr_accessor :name
|
132
|
+
attr_accessor :value
|
133
|
+
|
134
|
+
def initialize(name = nil, value = nil)
|
135
|
+
@name = name
|
136
|
+
@value = value
|
137
|
+
end
|
138
|
+
end
|
139
|
+
|
140
|
+
# {http://www.jasperforge.org/jasperserver/ws}JobRepositoryDestination
|
141
|
+
# id - SOAP::SOAPLong
|
142
|
+
# version - SOAP::SOAPInt
|
143
|
+
# folderURI - SOAP::SOAPString
|
144
|
+
# sequentialFilenames - SOAP::SOAPBoolean
|
145
|
+
# overwriteFiles - SOAP::SOAPBoolean
|
146
|
+
# outputDescription - SOAP::SOAPString
|
147
|
+
# timestampPattern - SOAP::SOAPString
|
148
|
+
class JobRepositoryDestination
|
149
|
+
attr_accessor :id
|
150
|
+
attr_accessor :version
|
151
|
+
attr_accessor :folderURI
|
152
|
+
attr_accessor :sequentialFilenames
|
153
|
+
attr_accessor :overwriteFiles
|
154
|
+
attr_accessor :outputDescription
|
155
|
+
attr_accessor :timestampPattern
|
156
|
+
|
157
|
+
def initialize(id = nil, version = nil, folderURI = nil, sequentialFilenames = nil, overwriteFiles = nil, outputDescription = nil, timestampPattern = nil)
|
158
|
+
@id = id
|
159
|
+
@version = version
|
160
|
+
@folderURI = folderURI
|
161
|
+
@sequentialFilenames = sequentialFilenames
|
162
|
+
@overwriteFiles = overwriteFiles
|
163
|
+
@outputDescription = outputDescription
|
164
|
+
@timestampPattern = timestampPattern
|
165
|
+
end
|
166
|
+
end
|
167
|
+
|
168
|
+
# {http://www.jasperforge.org/jasperserver/ws}Job
|
169
|
+
# id - SOAP::SOAPLong
|
170
|
+
# version - SOAP::SOAPInt
|
171
|
+
# reportUnitURI - SOAP::SOAPString
|
172
|
+
# username - SOAP::SOAPString
|
173
|
+
# label - SOAP::SOAPString
|
174
|
+
# description - SOAP::SOAPString
|
175
|
+
# simpleTrigger - JobSimpleTrigger
|
176
|
+
# calendarTrigger - JobCalendarTrigger
|
177
|
+
# parameters - ArrayOfJobParameter
|
178
|
+
# baseOutputFilename - SOAP::SOAPString
|
179
|
+
# outputFormats - ArrayOf_xsd_string
|
180
|
+
# outputLocale - SOAP::SOAPString
|
181
|
+
# repositoryDestination - JobRepositoryDestination
|
182
|
+
# mailNotification - JobMailNotification
|
183
|
+
class Job
|
184
|
+
attr_accessor :id
|
185
|
+
attr_accessor :version
|
186
|
+
attr_accessor :reportUnitURI
|
187
|
+
attr_accessor :username
|
188
|
+
attr_accessor :label
|
189
|
+
attr_accessor :description
|
190
|
+
attr_accessor :simpleTrigger
|
191
|
+
attr_accessor :calendarTrigger
|
192
|
+
attr_accessor :parameters
|
193
|
+
attr_accessor :baseOutputFilename
|
194
|
+
attr_accessor :outputFormats
|
195
|
+
attr_accessor :outputLocale
|
196
|
+
attr_accessor :repositoryDestination
|
197
|
+
attr_accessor :mailNotification
|
198
|
+
|
199
|
+
def initialize(id = nil, version = nil, reportUnitURI = nil, username = nil, label = nil, description = nil, simpleTrigger = nil, calendarTrigger = nil, parameters = nil, baseOutputFilename = nil, outputFormats = nil, outputLocale = nil, repositoryDestination = nil, mailNotification = nil)
|
200
|
+
@id = id
|
201
|
+
@version = version
|
202
|
+
@reportUnitURI = reportUnitURI
|
203
|
+
@username = username
|
204
|
+
@label = label
|
205
|
+
@description = description
|
206
|
+
@simpleTrigger = simpleTrigger
|
207
|
+
@calendarTrigger = calendarTrigger
|
208
|
+
@parameters = parameters
|
209
|
+
@baseOutputFilename = baseOutputFilename
|
210
|
+
@outputFormats = outputFormats
|
211
|
+
@outputLocale = outputLocale
|
212
|
+
@repositoryDestination = repositoryDestination
|
213
|
+
@mailNotification = mailNotification
|
214
|
+
end
|
215
|
+
end
|
216
|
+
|
217
|
+
# {http://www.jasperforge.org/jasperserver/ws}JobSummary
|
218
|
+
# id - SOAP::SOAPLong
|
219
|
+
# version - SOAP::SOAPInt
|
220
|
+
# reportUnitURI - SOAP::SOAPString
|
221
|
+
# username - SOAP::SOAPString
|
222
|
+
# label - SOAP::SOAPString
|
223
|
+
# state - RuntimeJobState
|
224
|
+
# previousFireTime - SOAP::SOAPDateTime
|
225
|
+
# nextFireTime - SOAP::SOAPDateTime
|
226
|
+
class JobSummary
|
227
|
+
attr_accessor :id
|
228
|
+
attr_accessor :version
|
229
|
+
attr_accessor :reportUnitURI
|
230
|
+
attr_accessor :username
|
231
|
+
attr_accessor :label
|
232
|
+
attr_accessor :state
|
233
|
+
attr_accessor :previousFireTime
|
234
|
+
attr_accessor :nextFireTime
|
235
|
+
|
236
|
+
def initialize(id = nil, version = nil, reportUnitURI = nil, username = nil, label = nil, state = nil, previousFireTime = nil, nextFireTime = nil)
|
237
|
+
@id = id
|
238
|
+
@version = version
|
239
|
+
@reportUnitURI = reportUnitURI
|
240
|
+
@username = username
|
241
|
+
@label = label
|
242
|
+
@state = state
|
243
|
+
@previousFireTime = previousFireTime
|
244
|
+
@nextFireTime = nextFireTime
|
245
|
+
end
|
246
|
+
end
|
247
|
+
|
248
|
+
# {http://www.jasperforge.org/jasperserver/ws}ArrayOf_xsd_long
|
249
|
+
class ArrayOf_xsd_long < ::Array
|
250
|
+
end
|
251
|
+
|
252
|
+
# {http://www.jasperforge.org/jasperserver/ws}ArrayOf_xsd_int
|
253
|
+
class ArrayOf_xsd_int < ::Array
|
254
|
+
end
|
255
|
+
|
256
|
+
# {http://www.jasperforge.org/jasperserver/ws}ArrayOf_xsd_string
|
257
|
+
class ArrayOf_xsd_string < ::Array
|
258
|
+
end
|
259
|
+
|
260
|
+
# {http://www.jasperforge.org/jasperserver/ws}ArrayOfJobParameter
|
261
|
+
class ArrayOfJobParameter < ::Array
|
262
|
+
end
|
263
|
+
|
264
|
+
# {http://www.jasperforge.org/jasperserver/ws}ArrayOfJobSummary
|
265
|
+
class ArrayOfJobSummary < ::Array
|
266
|
+
end
|
267
|
+
|
268
|
+
# {http://www.jasperforge.org/jasperserver/ws}IntervalUnit
|
269
|
+
class IntervalUnit < ::String
|
270
|
+
DAY = IntervalUnit.new("DAY")
|
271
|
+
HOUR = IntervalUnit.new("HOUR")
|
272
|
+
MINUTE = IntervalUnit.new("MINUTE")
|
273
|
+
WEEK = IntervalUnit.new("WEEK")
|
274
|
+
end
|
275
|
+
|
276
|
+
# {http://www.jasperforge.org/jasperserver/ws}CalendarDaysType
|
277
|
+
class CalendarDaysType < ::String
|
278
|
+
ALL = CalendarDaysType.new("ALL")
|
279
|
+
MONTH = CalendarDaysType.new("MONTH")
|
280
|
+
WEEK = CalendarDaysType.new("WEEK")
|
281
|
+
end
|
282
|
+
|
283
|
+
# {http://www.jasperforge.org/jasperserver/ws}ResultSendType
|
284
|
+
class ResultSendType < ::String
|
285
|
+
SEND = ResultSendType.new("SEND")
|
286
|
+
SEND_ATTACHMENT = ResultSendType.new("SEND_ATTACHMENT")
|
287
|
+
end
|
288
|
+
|
289
|
+
# {http://www.jasperforge.org/jasperserver/ws}RuntimeJobState
|
290
|
+
class RuntimeJobState < ::String
|
291
|
+
COMPLETE = RuntimeJobState.new("COMPLETE")
|
292
|
+
ERROR = RuntimeJobState.new("ERROR")
|
293
|
+
EXECUTING = RuntimeJobState.new("EXECUTING")
|
294
|
+
NORMAL = RuntimeJobState.new("NORMAL")
|
295
|
+
PAUSED = RuntimeJobState.new("PAUSED")
|
296
|
+
UNKNOWN = RuntimeJobState.new("UNKNOWN")
|
297
|
+
end
|
298
|
+
|
299
|
+
# getAllJobs
|
300
|
+
class GetAllJobs #:nodoc: all
|
301
|
+
def initialize
|
302
|
+
end
|
303
|
+
end
|
304
|
+
|
305
|
+
end
|
306
|
+
end
|