Added WSF_ROUTER_ITEM to replace a structure represented with named TUPLE
Added debug_output to ease debugging
This commit is contained in:
@@ -10,6 +10,8 @@ class
|
|||||||
inherit
|
inherit
|
||||||
WSF_ROUTER_CONTEXT_MAPPING [C]
|
WSF_ROUTER_CONTEXT_MAPPING [C]
|
||||||
|
|
||||||
|
DEBUG_OUTPUT
|
||||||
|
|
||||||
create
|
create
|
||||||
make,
|
make,
|
||||||
make_from_template
|
make_from_template
|
||||||
@@ -33,6 +35,14 @@ feature -- Access
|
|||||||
|
|
||||||
template: URI_TEMPLATE
|
template: URI_TEMPLATE
|
||||||
|
|
||||||
|
feature -- Status report
|
||||||
|
|
||||||
|
debug_output: STRING
|
||||||
|
-- String that should be displayed in debugger to represent `Current'.
|
||||||
|
do
|
||||||
|
Result := "URI-template: " + template.template
|
||||||
|
end
|
||||||
|
|
||||||
feature -- Element change
|
feature -- Element change
|
||||||
|
|
||||||
set_handler (h: like handler)
|
set_handler (h: like handler)
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ class
|
|||||||
WSF_ROUTER
|
WSF_ROUTER
|
||||||
|
|
||||||
inherit
|
inherit
|
||||||
ITERABLE [TUPLE [mapping: WSF_ROUTER_MAPPING; request_methods: detachable WSF_ROUTER_METHODS]]
|
ITERABLE [WSF_ROUTER_ITEM]
|
||||||
|
|
||||||
create
|
create
|
||||||
make,
|
make,
|
||||||
@@ -39,7 +39,7 @@ feature {NONE} -- Initialization
|
|||||||
create pre_execution_actions
|
create pre_execution_actions
|
||||||
end
|
end
|
||||||
|
|
||||||
mappings: ARRAYED_LIST [TUPLE [mapping: WSF_ROUTER_MAPPING; request_methods: detachable WSF_ROUTER_METHODS]]
|
mappings: ARRAYED_LIST [WSF_ROUTER_ITEM]
|
||||||
-- Existing mappings
|
-- Existing mappings
|
||||||
|
|
||||||
feature -- Mapping
|
feature -- Mapping
|
||||||
@@ -53,7 +53,7 @@ feature -- Mapping
|
|||||||
map_with_request_methods (a_mapping: WSF_ROUTER_MAPPING; rqst_methods: detachable WSF_ROUTER_METHODS)
|
map_with_request_methods (a_mapping: WSF_ROUTER_MAPPING; rqst_methods: detachable WSF_ROUTER_METHODS)
|
||||||
-- Map `a_mapping' for request methods `rqst_methods'
|
-- Map `a_mapping' for request methods `rqst_methods'
|
||||||
do
|
do
|
||||||
mappings.extend ([a_mapping, rqst_methods])
|
mappings.extend (create {WSF_ROUTER_ITEM}.make_with_request_methods (a_mapping, rqst_methods))
|
||||||
a_mapping.handler.on_mapped (a_mapping, rqst_methods)
|
a_mapping.handler.on_mapped (a_mapping, rqst_methods)
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -161,7 +161,7 @@ feature -- Element change
|
|||||||
|
|
||||||
feature -- Traversing
|
feature -- Traversing
|
||||||
|
|
||||||
new_cursor: ITERATION_CURSOR [TUPLE [mapping: WSF_ROUTER_MAPPING; request_methods: detachable WSF_ROUTER_METHODS]]
|
new_cursor: ITERATION_CURSOR [WSF_ROUTER_ITEM]
|
||||||
-- Fresh cursor associated with current structure
|
-- Fresh cursor associated with current structure
|
||||||
do
|
do
|
||||||
Result := mappings.new_cursor
|
Result := mappings.new_cursor
|
||||||
|
|||||||
69
library/server/wsf/router/wsf_router_item.e
Normal file
69
library/server/wsf/router/wsf_router_item.e
Normal file
@@ -0,0 +1,69 @@
|
|||||||
|
note
|
||||||
|
description: "Summary description for {WSF_ROUTER_ITEM}."
|
||||||
|
author: ""
|
||||||
|
date: "$Date$"
|
||||||
|
revision: "$Revision$"
|
||||||
|
|
||||||
|
class
|
||||||
|
WSF_ROUTER_ITEM
|
||||||
|
|
||||||
|
inherit
|
||||||
|
DEBUG_OUTPUT
|
||||||
|
|
||||||
|
create
|
||||||
|
make,
|
||||||
|
make_with_request_methods
|
||||||
|
|
||||||
|
feature {NONE} -- Initialization
|
||||||
|
|
||||||
|
make (m: like mapping)
|
||||||
|
do
|
||||||
|
mapping := m
|
||||||
|
end
|
||||||
|
|
||||||
|
make_with_request_methods (m: like mapping; r: like request_methods)
|
||||||
|
do
|
||||||
|
make (m)
|
||||||
|
set_request_methods (r)
|
||||||
|
end
|
||||||
|
|
||||||
|
feature -- Access
|
||||||
|
|
||||||
|
mapping: WSF_ROUTER_MAPPING
|
||||||
|
|
||||||
|
request_methods: detachable WSF_ROUTER_METHODS
|
||||||
|
|
||||||
|
feature -- Status report
|
||||||
|
|
||||||
|
debug_output: STRING
|
||||||
|
-- String that should be displayed in debugger to represent `Current'.
|
||||||
|
do
|
||||||
|
if attached {DEBUG_OUTPUT} mapping as d then
|
||||||
|
create Result.make_from_string (d.debug_output)
|
||||||
|
else
|
||||||
|
create Result.make_from_string (mapping.generator)
|
||||||
|
end
|
||||||
|
if attached request_methods as mtds then
|
||||||
|
Result.append_string (" [ ")
|
||||||
|
across
|
||||||
|
mtds as c
|
||||||
|
loop
|
||||||
|
Result.append_string (c.item)
|
||||||
|
Result.append_string (" ")
|
||||||
|
end
|
||||||
|
Result.append_string ("]")
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
feature -- Change
|
||||||
|
|
||||||
|
set_request_methods (r: like request_methods)
|
||||||
|
-- Set `request_methods' to `r'
|
||||||
|
do
|
||||||
|
request_methods := r
|
||||||
|
end
|
||||||
|
|
||||||
|
invariant
|
||||||
|
mapping_attached: mapping /= Void
|
||||||
|
|
||||||
|
end
|
||||||
Reference in New Issue
Block a user