Added a few example based on the obsolete libraries (v0).

Updated the tutorial example.
Added WSF_MESSAGE_EXECUTION.
This commit is contained in:
2015-06-10 16:49:23 +02:00
parent b790c7fd21
commit 0e3e97a7fd
68 changed files with 3282 additions and 324 deletions

View File

@@ -15,7 +15,7 @@
<precompile name="precomp_wsf-mt" location="..\..\..\..\precomp\wsf-mt-safe.ecf"/>
<library name="base" location="$ISE_LIBRARY\library\base\base-safe.ecf"/>
<library name="wsf" location="..\..\..\..\library\server\wsf\wsf-safe.ecf"/>
<library name="default_nino" location="..\..\..\..\library\server\wsf\default\nino-safe.ecf"/>
<library name="default_standalone" location="..\..\..\..\library\server\wsf\default\standalone-safe.ecf"/>
<cluster name="src" location=".\src" recursive="true"/>
</target>

View File

@@ -1,10 +1,9 @@
note
description: "[
This class implements the `Hello World' service.
This class launch the HELLO_EXECUTION service.
It inherits from WSF_DEFAULT_RESPONSE_SERVICE to get default EWF connector ready
only `response' needs to be implemented.
In this example, it is redefined and specialized to be WSF_PAGE_RESPONSE
It inherits from WSF_DEFAULT_SERVICE to get default EWF connector ready
only `HELLO_EXECUTION' needs to be implemented.
`initialize' can be redefine to provide custom options if needed.
@@ -14,7 +13,7 @@ class
HELLO_APPLICATION
inherit
WSF_DEFAULT_RESPONSE_SERVICE
WSF_DEFAULT_SERVICE [HELLO_EXECUTION]
redefine
initialize
end
@@ -22,44 +21,6 @@ inherit
create
make_and_launch
feature {NONE} -- Execution
response (req: WSF_REQUEST): WSF_HTML_PAGE_RESPONSE
-- Computed response message.
do
--| It is now returning a WSF_HTML_PAGE_RESPONSE
--| Since it is easier for building html page
create Result.make
Result.set_title ("EWF tutorial / Hello World!")
--| Check if the request contains a parameter named "user"
--| this could be a query, or a form parameter
if attached req.string_item ("user") as l_user then
--| If yes, say hello world #name
Result.set_body ("Hello " + l_user + "!")
--| We should html encode this name
--| but to keep the example simple, we don't do that for now.
else
--| Otherwise, ask for name
Result.set_body ("[
<form action="/" method="POST">
<p>Hello, what is your name?</p>
<input type="text" name="user"/>
<input type="submit" value="Validate"/>
</form>
]"
)
end
--| note:
--| 1) Source of the parameter, we could have used
--| req.query_parameter ("user") to search only in the query string
--| req.form_parameter ("user") to search only in the form parameters
--| 2) response type
--| it could also have used WSF_PAGE_REPONSE, and build the html in the code
--|
end
feature {NONE} -- Initialization
initialize

View File

@@ -0,0 +1,53 @@
note
description: "Implementation of Hello world with form."
date: "$Date$"
revision: "$Revision$"
class
HELLO_EXECUTION
inherit
WSF_MESSAGE_EXECUTION
create
make
feature {NONE} -- Execution
message: WSF_HTML_PAGE_RESPONSE
-- Computed response message.
do
--| It is now returning a WSF_HTML_PAGE_RESPONSE
--| Since it is easier for building html page
create Result.make
Result.set_title ("EWF tutorial / Hello World!")
--| Check if the request contains a parameter named "user"
--| this could be a query, or a form parameter
if attached request.string_item ("user") as l_user then
--| If yes, say hello world #name
Result.set_body ("Hello " + l_user + "!")
--| We should html encode this name
--| but to keep the example simple, we don't do that for now.
else
--| Otherwise, ask for name
Result.set_body ("[
<form action="/" method="POST">
<p>Hello, what is your name?</p>
<input type="text" name="user"/>
<input type="submit" value="Validate"/>
</form>
]"
)
end
--| note:
--| 1) Source of the parameter, we could have used
--| request.query_parameter ("user") to search only in the query string
--| request.form_parameter ("user") to search only in the form parameters
--| 2) response type
--| it could also have used WSF_PAGE_REPONSE, and build the html in the code
--|
end
end