gb_mapfish_appserver 0.9.7 → 1.0.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/app/controllers/apps_controller.rb +11 -25
- data/app/controllers/search_controller.rb +15 -0
- data/app/models/locate_rule.rb +50 -0
- data/config/routes.rb +1 -0
- data/lib/gb_mapfish_appserver/engine.rb +0 -3
- data/lib/gb_mapfish_appserver/version.rb +1 -1
- metadata +53 -92
- checksums.yaml +0 -15
@@ -38,31 +38,17 @@ class AppsController < ApplicationController
|
|
38
38
|
if rule.nil?
|
39
39
|
logger.info "Locate rule not found: {params['locate']}"
|
40
40
|
else
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
@
|
45
|
-
@
|
46
|
-
@
|
47
|
-
@selscalerange =
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
layer = Layer.find_by_name(rule.layer)
|
53
|
-
@seltopic = @topic_name
|
54
|
-
@sellayer = layer.name
|
55
|
-
@selproperty = layer.feature_class.primary_key
|
56
|
-
@selscalerange = model.selection_scalerange
|
57
|
-
search_locs = params['locations'].split(',')
|
58
|
-
model.layer_locate(layer, rule.search_field, search_locs)
|
59
|
-
end
|
60
|
-
if features.present?
|
61
|
-
@x, @y, scale = model.map_center(features)
|
62
|
-
@scale = params['scale'].nil? ? scale : params['scale'].to_i
|
63
|
-
#Selection
|
64
|
-
@selbbox = model.bbox(features)
|
65
|
-
@selvalues = features.collect {|f| f.send(model.primary_key) }
|
41
|
+
location = rule.locate(params['locations'])
|
42
|
+
unless location.nil?
|
43
|
+
@seltopic = location[:selection][:topic] || @topic_name
|
44
|
+
@sellayer = location[:selection][:layer]
|
45
|
+
@selproperty = location[:selection][:property]
|
46
|
+
@selvalues = location[:selection][:values]
|
47
|
+
@selscalerange = location[:selection][:scalerange]
|
48
|
+
@x = location[:x]
|
49
|
+
@y = location[:y]
|
50
|
+
@scale = params['scale'].nil? ? location[:scale] : params['scale'].to_i
|
51
|
+
@selbbox = location[:bbox]
|
66
52
|
else
|
67
53
|
logger.info "no features found."
|
68
54
|
end
|
@@ -25,6 +25,21 @@ class SearchController < ApplicationController
|
|
25
25
|
end
|
26
26
|
end
|
27
27
|
|
28
|
+
def locate
|
29
|
+
rule = LOCATERULES[params[:rule]]
|
30
|
+
if rule.nil?
|
31
|
+
render :json => {:success => false, :msg => "ERROR: #{params[:rule]} model missing"}
|
32
|
+
else
|
33
|
+
location = rule.locate(params['locations'])
|
34
|
+
unless location.nil?
|
35
|
+
location[:success] = true
|
36
|
+
render :json => location
|
37
|
+
else
|
38
|
+
render :json => {:success => false, :msg => "No features found"}
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
42
|
+
|
28
43
|
def soap_wsdl
|
29
44
|
render "#{params[:rule]}_wsdl.xml"
|
30
45
|
end
|
@@ -0,0 +1,50 @@
|
|
1
|
+
class LocateRule
|
2
|
+
attr_accessor :model, :layer, :search_field
|
3
|
+
|
4
|
+
def initialize(model, layer=nil, search_field=nil)
|
5
|
+
@model = model.constantize
|
6
|
+
@layer = layer
|
7
|
+
@search_field = search_field
|
8
|
+
end
|
9
|
+
|
10
|
+
# get selection and extent for located features
|
11
|
+
def locate(locations)
|
12
|
+
features = if layer.nil?
|
13
|
+
# user defined model
|
14
|
+
seltopic = model.selection_topic
|
15
|
+
sellayer = model.selection_layer
|
16
|
+
selproperty = model.primary_key
|
17
|
+
selscalerange = model.selection_scalerange
|
18
|
+
search_locs = model.search_locations(locations)
|
19
|
+
model.locate(search_locs)
|
20
|
+
else
|
21
|
+
# generic SearchModel
|
22
|
+
layer_obj = Layer.find_by_name(layer)
|
23
|
+
seltopic = nil
|
24
|
+
sellayer = layer_obj.name
|
25
|
+
selproperty = layer_obj.feature_class.primary_key
|
26
|
+
selscalerange = model.selection_scalerange
|
27
|
+
search_locs = locations.split(',')
|
28
|
+
model.layer_locate(layer_obj, search_field, search_locs)
|
29
|
+
end
|
30
|
+
if features.present?
|
31
|
+
x, y, scale = model.map_center(features)
|
32
|
+
{
|
33
|
+
:selection => {
|
34
|
+
:topic => seltopic,
|
35
|
+
:layer => sellayer,
|
36
|
+
:property => selproperty,
|
37
|
+
:values => features.collect {|f| f.send(model.primary_key) },
|
38
|
+
:scalerange => selscalerange,
|
39
|
+
},
|
40
|
+
:x => x,
|
41
|
+
:y => y,
|
42
|
+
:scale => scale,
|
43
|
+
:bbox => model.bbox(features)
|
44
|
+
}
|
45
|
+
else
|
46
|
+
# no features found
|
47
|
+
nil
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
data/config/routes.rb
CHANGED
@@ -35,6 +35,7 @@ Rails.application.routes.draw do
|
|
35
35
|
resources :maps
|
36
36
|
|
37
37
|
match 'search/:rule' => 'search#index'
|
38
|
+
match 'locate/:rule' => 'search#locate', :as => :locate
|
38
39
|
match 'services/:rule.wsdl' => 'search#soap_wsdl', :as => :services_description
|
39
40
|
match 'services/:rule' => 'search#soap', :as => :services
|
40
41
|
|
metadata
CHANGED
@@ -1,211 +1,170 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gb_mapfish_appserver
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 1.0.0
|
5
|
+
prerelease:
|
5
6
|
platform: ruby
|
6
7
|
authors:
|
7
8
|
- Pirmin Kalberer
|
8
9
|
autorequire:
|
9
10
|
bindir: bin
|
10
11
|
cert_chain: []
|
11
|
-
date: 2014-09-
|
12
|
+
date: 2014-09-24 00:00:00.000000000 Z
|
12
13
|
dependencies:
|
13
14
|
- !ruby/object:Gem::Dependency
|
14
15
|
name: rails
|
15
|
-
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirement: &19441660 !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
16
18
|
requirements:
|
17
19
|
- - ~>
|
18
20
|
- !ruby/object:Gem::Version
|
19
21
|
version: 3.2.13
|
20
22
|
type: :runtime
|
21
23
|
prerelease: false
|
22
|
-
version_requirements:
|
23
|
-
requirements:
|
24
|
-
- - ~>
|
25
|
-
- !ruby/object:Gem::Version
|
26
|
-
version: 3.2.13
|
24
|
+
version_requirements: *19441660
|
27
25
|
- !ruby/object:Gem::Dependency
|
28
26
|
name: json
|
29
|
-
requirement: !ruby/object:Gem::Requirement
|
27
|
+
requirement: &19441160 !ruby/object:Gem::Requirement
|
28
|
+
none: false
|
30
29
|
requirements:
|
31
30
|
- - ! '>='
|
32
31
|
- !ruby/object:Gem::Version
|
33
32
|
version: '0'
|
34
33
|
type: :runtime
|
35
34
|
prerelease: false
|
36
|
-
version_requirements:
|
37
|
-
requirements:
|
38
|
-
- - ! '>='
|
39
|
-
- !ruby/object:Gem::Version
|
40
|
-
version: '0'
|
35
|
+
version_requirements: *19441160
|
41
36
|
- !ruby/object:Gem::Dependency
|
42
37
|
name: acts_as_tree
|
43
|
-
requirement: !ruby/object:Gem::Requirement
|
38
|
+
requirement: &19440540 !ruby/object:Gem::Requirement
|
39
|
+
none: false
|
44
40
|
requirements:
|
45
|
-
- -
|
41
|
+
- - =
|
46
42
|
- !ruby/object:Gem::Version
|
47
43
|
version: 0.2.0
|
48
44
|
type: :runtime
|
49
45
|
prerelease: false
|
50
|
-
version_requirements:
|
51
|
-
requirements:
|
52
|
-
- - '='
|
53
|
-
- !ruby/object:Gem::Version
|
54
|
-
version: 0.2.0
|
46
|
+
version_requirements: *19440540
|
55
47
|
- !ruby/object:Gem::Dependency
|
56
48
|
name: devise
|
57
|
-
requirement: !ruby/object:Gem::Requirement
|
49
|
+
requirement: &19440020 !ruby/object:Gem::Requirement
|
50
|
+
none: false
|
58
51
|
requirements:
|
59
52
|
- - ~>
|
60
53
|
- !ruby/object:Gem::Version
|
61
54
|
version: 2.2.0
|
62
55
|
type: :runtime
|
63
56
|
prerelease: false
|
64
|
-
version_requirements:
|
65
|
-
requirements:
|
66
|
-
- - ~>
|
67
|
-
- !ruby/object:Gem::Version
|
68
|
-
version: 2.2.0
|
57
|
+
version_requirements: *19440020
|
69
58
|
- !ruby/object:Gem::Dependency
|
70
59
|
name: cancan
|
71
|
-
requirement: !ruby/object:Gem::Requirement
|
60
|
+
requirement: &19439500 !ruby/object:Gem::Requirement
|
61
|
+
none: false
|
72
62
|
requirements:
|
73
|
-
- -
|
63
|
+
- - =
|
74
64
|
- !ruby/object:Gem::Version
|
75
65
|
version: 1.6.8
|
76
66
|
type: :runtime
|
77
67
|
prerelease: false
|
78
|
-
version_requirements:
|
79
|
-
requirements:
|
80
|
-
- - '='
|
81
|
-
- !ruby/object:Gem::Version
|
82
|
-
version: 1.6.8
|
68
|
+
version_requirements: *19439500
|
83
69
|
- !ruby/object:Gem::Dependency
|
84
70
|
name: rails_admin
|
85
|
-
requirement: !ruby/object:Gem::Requirement
|
71
|
+
requirement: &19438840 !ruby/object:Gem::Requirement
|
72
|
+
none: false
|
86
73
|
requirements:
|
87
74
|
- - ~>
|
88
75
|
- !ruby/object:Gem::Version
|
89
76
|
version: 0.4.9
|
90
77
|
type: :runtime
|
91
78
|
prerelease: false
|
92
|
-
version_requirements:
|
93
|
-
requirements:
|
94
|
-
- - ~>
|
95
|
-
- !ruby/object:Gem::Version
|
96
|
-
version: 0.4.9
|
79
|
+
version_requirements: *19438840
|
97
80
|
- !ruby/object:Gem::Dependency
|
98
81
|
name: fastercsv
|
99
|
-
requirement: !ruby/object:Gem::Requirement
|
82
|
+
requirement: &19438360 !ruby/object:Gem::Requirement
|
83
|
+
none: false
|
100
84
|
requirements:
|
101
85
|
- - ! '>='
|
102
86
|
- !ruby/object:Gem::Version
|
103
87
|
version: '0'
|
104
88
|
type: :runtime
|
105
89
|
prerelease: false
|
106
|
-
version_requirements:
|
107
|
-
requirements:
|
108
|
-
- - ! '>='
|
109
|
-
- !ruby/object:Gem::Version
|
110
|
-
version: '0'
|
90
|
+
version_requirements: *19438360
|
111
91
|
- !ruby/object:Gem::Dependency
|
112
92
|
name: sass
|
113
|
-
requirement: !ruby/object:Gem::Requirement
|
93
|
+
requirement: &19437700 !ruby/object:Gem::Requirement
|
94
|
+
none: false
|
114
95
|
requirements:
|
115
96
|
- - ~>
|
116
97
|
- !ruby/object:Gem::Version
|
117
98
|
version: 3.2.12
|
118
99
|
type: :runtime
|
119
100
|
prerelease: false
|
120
|
-
version_requirements:
|
121
|
-
requirements:
|
122
|
-
- - ~>
|
123
|
-
- !ruby/object:Gem::Version
|
124
|
-
version: 3.2.12
|
101
|
+
version_requirements: *19437700
|
125
102
|
- !ruby/object:Gem::Dependency
|
126
103
|
name: GeoRuby
|
127
|
-
requirement: !ruby/object:Gem::Requirement
|
104
|
+
requirement: &19437100 !ruby/object:Gem::Requirement
|
105
|
+
none: false
|
128
106
|
requirements:
|
129
107
|
- - ! '>='
|
130
108
|
- !ruby/object:Gem::Version
|
131
109
|
version: 0.1.4
|
132
110
|
type: :runtime
|
133
111
|
prerelease: false
|
134
|
-
version_requirements:
|
135
|
-
requirements:
|
136
|
-
- - ! '>='
|
137
|
-
- !ruby/object:Gem::Version
|
138
|
-
version: 0.1.4
|
112
|
+
version_requirements: *19437100
|
139
113
|
- !ruby/object:Gem::Dependency
|
140
114
|
name: rgeo
|
141
|
-
requirement: !ruby/object:Gem::Requirement
|
115
|
+
requirement: &19452980 !ruby/object:Gem::Requirement
|
116
|
+
none: false
|
142
117
|
requirements:
|
143
118
|
- - ~>
|
144
119
|
- !ruby/object:Gem::Version
|
145
120
|
version: 0.3.20
|
146
121
|
type: :runtime
|
147
122
|
prerelease: false
|
148
|
-
version_requirements:
|
149
|
-
requirements:
|
150
|
-
- - ~>
|
151
|
-
- !ruby/object:Gem::Version
|
152
|
-
version: 0.3.20
|
123
|
+
version_requirements: *19452980
|
153
124
|
- !ruby/object:Gem::Dependency
|
154
125
|
name: rgeo-geojson
|
155
|
-
requirement: !ruby/object:Gem::Requirement
|
126
|
+
requirement: &19452460 !ruby/object:Gem::Requirement
|
127
|
+
none: false
|
156
128
|
requirements:
|
157
129
|
- - ~>
|
158
130
|
- !ruby/object:Gem::Version
|
159
131
|
version: 0.2.3
|
160
132
|
type: :runtime
|
161
133
|
prerelease: false
|
162
|
-
version_requirements:
|
163
|
-
requirements:
|
164
|
-
- - ~>
|
165
|
-
- !ruby/object:Gem::Version
|
166
|
-
version: 0.2.3
|
134
|
+
version_requirements: *19452460
|
167
135
|
- !ruby/object:Gem::Dependency
|
168
136
|
name: hpricot
|
169
|
-
requirement: !ruby/object:Gem::Requirement
|
137
|
+
requirement: &19451900 !ruby/object:Gem::Requirement
|
138
|
+
none: false
|
170
139
|
requirements:
|
171
140
|
- - ! '>='
|
172
141
|
- !ruby/object:Gem::Version
|
173
142
|
version: '0'
|
174
143
|
type: :runtime
|
175
144
|
prerelease: false
|
176
|
-
version_requirements:
|
177
|
-
requirements:
|
178
|
-
- - ! '>='
|
179
|
-
- !ruby/object:Gem::Version
|
180
|
-
version: '0'
|
145
|
+
version_requirements: *19451900
|
181
146
|
- !ruby/object:Gem::Dependency
|
182
147
|
name: pg
|
183
|
-
requirement: !ruby/object:Gem::Requirement
|
148
|
+
requirement: &19451320 !ruby/object:Gem::Requirement
|
149
|
+
none: false
|
184
150
|
requirements:
|
185
151
|
- - ~>
|
186
152
|
- !ruby/object:Gem::Version
|
187
153
|
version: 0.14.0
|
188
154
|
type: :runtime
|
189
155
|
prerelease: false
|
190
|
-
version_requirements:
|
191
|
-
requirements:
|
192
|
-
- - ~>
|
193
|
-
- !ruby/object:Gem::Version
|
194
|
-
version: 0.14.0
|
156
|
+
version_requirements: *19451320
|
195
157
|
- !ruby/object:Gem::Dependency
|
196
158
|
name: activerecord-postgis-adapter
|
197
|
-
requirement: !ruby/object:Gem::Requirement
|
159
|
+
requirement: &19450720 !ruby/object:Gem::Requirement
|
160
|
+
none: false
|
198
161
|
requirements:
|
199
|
-
- -
|
162
|
+
- - =
|
200
163
|
- !ruby/object:Gem::Version
|
201
164
|
version: 0.4.1
|
202
165
|
type: :runtime
|
203
166
|
prerelease: false
|
204
|
-
version_requirements:
|
205
|
-
requirements:
|
206
|
-
- - '='
|
207
|
-
- !ruby/object:Gem::Version
|
208
|
-
version: 0.4.1
|
167
|
+
version_requirements: *19450720
|
209
168
|
description: Mapfish Appserver is a framework for web mapping applications using OGC
|
210
169
|
standards and the Mapfish protocol.
|
211
170
|
email:
|
@@ -262,6 +221,7 @@ files:
|
|
262
221
|
- app/models/group.rb
|
263
222
|
- app/models/groups_user.rb
|
264
223
|
- app/models/layer.rb
|
224
|
+
- app/models/locate_rule.rb
|
265
225
|
- app/models/organisation.rb
|
266
226
|
- app/models/permission.rb
|
267
227
|
- app/models/role.rb
|
@@ -462,26 +422,27 @@ files:
|
|
462
422
|
- test/test_helper.rb
|
463
423
|
homepage: http://mapfish-appserver.github.io/
|
464
424
|
licenses: []
|
465
|
-
metadata: {}
|
466
425
|
post_install_message:
|
467
426
|
rdoc_options: []
|
468
427
|
require_paths:
|
469
428
|
- lib
|
470
429
|
required_ruby_version: !ruby/object:Gem::Requirement
|
430
|
+
none: false
|
471
431
|
requirements:
|
472
432
|
- - ! '>='
|
473
433
|
- !ruby/object:Gem::Version
|
474
434
|
version: '0'
|
475
435
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
436
|
+
none: false
|
476
437
|
requirements:
|
477
438
|
- - ! '>='
|
478
439
|
- !ruby/object:Gem::Version
|
479
440
|
version: '0'
|
480
441
|
requirements: []
|
481
442
|
rubyforge_project:
|
482
|
-
rubygems_version:
|
443
|
+
rubygems_version: 1.8.11
|
483
444
|
signing_key:
|
484
|
-
specification_version:
|
445
|
+
specification_version: 3
|
485
446
|
summary: Mapfish application server.
|
486
447
|
test_files:
|
487
448
|
- test/dummy/README.rdoc
|
checksums.yaml
DELETED
@@ -1,15 +0,0 @@
|
|
1
|
-
---
|
2
|
-
!binary "U0hBMQ==":
|
3
|
-
metadata.gz: !binary |-
|
4
|
-
MWY1NjE4Y2QyN2E4NzFmNDA0MzMzZDNkMTVmOWI3MjllMWY5OTQxNQ==
|
5
|
-
data.tar.gz: !binary |-
|
6
|
-
MmFmNDQ4ZGJjMjIxOTllOTEzZjk3NjY4ODE5NTY5OGEwMDZmYWU5NA==
|
7
|
-
SHA512:
|
8
|
-
metadata.gz: !binary |-
|
9
|
-
OTM2NzRlNjE2M2UyMmIzMjBkMTJkMTRjZGUyYmExOGY2MmE1YTg2ZTM4NzY3
|
10
|
-
OTM3YTk2YTY3YjhmYWFmMjg4MWVjNTJhYTg3YzFjNTFhMGM1YTA2NGUyNjEx
|
11
|
-
MjFlNzIwNDljOGUxYzQwNDA1NjFlMmUzMmRlYWI0MDIzMmM0YWU=
|
12
|
-
data.tar.gz: !binary |-
|
13
|
-
ZjMxNWE3MjZkY2FiYTQ5NjFmMDExMmQ2NzMyNTVkNGQwNTRjYmYyNTg5YzEy
|
14
|
-
MjNlY2FkNjI4ZmU0NDdlYmNlYmM5ZTg3YjA0M2ZiYjNiZWQzMTdiNzY1MDc0
|
15
|
-
Y2JmNzMzNGFjZDE4MDBlYzRkZDc1Y2ZkZTY3MjNmZjY0ZTBlYTQ=
|