ItEr40S20CUImportacionRecursosProductivosItEr39S23: "scripts/rest-clients" folder has been created with initial scripts for REST clients.

The new foler includes a README file (please, update it when adding new scripts), common scripts (base64.sh and rest-common-env.sh), two scripts (post-criterions-types.sh and get-criterion-types.sh) for importing/exporting criterion types, and a sample file (criterion-types-sample.xml) with criterion types to be imported.
This commit is contained in:
Fernando Bellas Permuy 2009-12-22 12:14:24 +01:00 committed by Javier Moran Rua
parent 553439893e
commit e4d9fa0e01
6 changed files with 200 additions and 0 deletions

View file

@ -0,0 +1,28 @@
+ Check you have "tidy" available from the command line.
+ Check you have "/usr/bin/ruby".
+ chmod u+x *.sh
+ When working with the local application:
* [Optional] For clarity: remove "navaldev" database + reload Jetty.
* Import criterion types:
- post-criterions-types.sh criterion-types-sample.xml
(authenticate with wswriter/wswriter)
- Check the returned errors are consistent with the comments in
criterion-types-sample.xml.
* Export criterion types:
- get-criterion-types.sh (authenticate with wsreader/wsreader)
+ When working with the online demo:
* post-criterions-types.sh --prod criterion-types-sample.xml
(authenticate with wswriter/wswriter)
* get-criterion-types.sh --prod (authenticate with wsreader/wsreader)

4
scripts/rest-clients/base64.sh Executable file
View file

@ -0,0 +1,4 @@
#!/usr/bin/ruby
require 'base64'
puts Base64.encode64("#{ARGV[0]}");

View file

@ -0,0 +1,106 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<criterion-type-list xmlns="http://rest.ws.navalplanner.org">
<!-- Several errors: see comments -->
<criterion-type name="ct-1" description="ct-1 desc"
allow-hierarchy="false"
allow-simultaneous-criterions-per-resource="true" enabled="true"
resource="RESOURCE">
<criterion-list>
<!-- Missing criterion name -->
<criterion active="true"/>
<criterion name="c2" active="true">
<!-- Criterion hierarchy is not allowed -->
<children>
<criterion name="c2-1" active="true">
<children>
<criterion name="c2-1-1" active="false"/>
<criterion name="c2-1-2" active="true"/>
</children>
</criterion>
<!-- Repeated criterion name -->
<criterion name="c2-1" active="true"/>
</children>
</criterion>
</criterion-list>
</criterion-type>
<!-- Missing criterion type name -->
<criterion-type description="ct-2 desc" allow-hierarchy="true"
allow-simultaneous-criterions-per-resource="true" enabled="true"
resource="RESOURCE">
<criterion-list>
<criterion name="c1" active="true"/>
<criterion name="c2" active="true"/>
</criterion-list>
</criterion-type>
<!-- OK -->
<criterion-type name="ct-4" description="ct-4 desc" allow-hierarchy="true"
allow-simultaneous-criterions-per-resource="true" enabled="true"
resource="RESOURCE">
<criterion-list>
<criterion name="c1" active="true"/>
<criterion name="c2" active="true">
<children>
<criterion name="c2-1" active="true">
<children>
<criterion name="c2-1-1" active="false"/>
<criterion name="c2-1-2" active="true"/>
</children>
</criterion>
<criterion name="c2-2" active="true"/>
</children>
</criterion>
</criterion-list>
</criterion-type>
<!-- Repeated criterion type name (see above) -->
<criterion-type name="ct-4" description="ct-4 desc" allow-hierarchy="false"
allow-simultaneous-criterions-per-resource="false" enabled="false"
resource="WORKER"/>
<!-- Repeated criterion type name (probably a criterion type with this name
already exists in the database) -->
<criterion-type name="TRAINING" description="ct-4 desc"
allow-hierarchy="false" allow-simultaneous-criterions-per-resource="false" enabled="false" resource="WORKER"/>
<!-- A non-active criterion has an active subcriterion -->
<criterion-type name="ct-5" description="ct-5 desc" allow-hierarchy="true"
allow-simultaneous-criterions-per-resource="true" enabled="true"
resource="RESOURCE">
<criterion-list>
<criterion name="c1" active="true"/>
<criterion name="c2" active="false">
<children>
<criterion name="c2-1" active="false"/>
<criterion name="c2-2" active="false">
<children>
<criterion name="c2-2-1" active="true"/>
</children>
</criterion>
</children>
</criterion>
</criterion-list>
</criterion-type>
<!-- OK -->
<criterion-type name="ct-6" description="ct-6 desc"
allow-hierarchy="false" allow-simultaneous-criterions-per-resource="false" enabled="false" resource="WORKER"/>
<!-- Resource type does not allow enabled criteria -->
<criterion-type name="ct-7" description="ct-5 desc" allow-hierarchy="true"
allow-simultaneous-criterions-per-resource="true" enabled="false"
resource="RESOURCE">
<criterion-list>
<criterion name="c1" active="true"/>
<criterion name="c2" active="false"/>
</criterion-list>
</criterion-type>
</criterion-type-list>

View file

@ -0,0 +1,21 @@
#!/bin/sh
. ./rest-common-env.sh
printf "Login name: "
read loginName
printf "Password: "
read password
if [ "$1" = "--prod" ]; then
baseServiceURL=$PRODUCTION_BASE_SERVICE_URL
certificate=$PRODUCTION_CERTIFICATE
else
baseServiceURL=$DEVELOPMENT_BASE_SERVICE_URL
certificate=$DEVELOPMENT_CERTIFICATE
fi
authorization=`./base64.sh $loginName:$password`
curl -sv -X GET $certificate --header "Authorization: Basic $authorization" \
$baseServiceURL/criteriontypes | tidy -xml -i -q -utf8

View file

@ -0,0 +1,33 @@
#!/bin/sh
. ./rest-common-env.sh
printf "Login name: "
read loginName
printf "Password: "
read password
baseServiceURL=$DEVELOPMENT_BASE_SERVICE_URL
certificate=$DEVELOPMENT_CERTIFICATE
for i in "$@"
do
if [ "$i" = "--prod" ]; then
baseServiceURL=$PRODUCTION_BASE_SERVICE_URL
certificate=$PRODUCTION_CERTIFICATE
else
file=$i
fi
done
if [ "$file" = "" ]; then
printf "Missing file\n" 1>&2
exit -1
fi
authorization=`./base64.sh $loginName:$password`
curl -sv -X POST $certificate -d @$file \
--header "Content-type: application/xml" \
--header "Authorization: Basic $authorization" \
$baseServiceURL/criteriontypes | tidy -xml -i -q -utf8

View file

@ -0,0 +1,8 @@
DEVELOPMENT_BASE_SERVICE_URL=http://localhost:8080/navalplanner-webapp/ws/rest
PRODUCTION_BASE_SERVICE_URL=https://naval.igalia.com/navalplanner-webapp/ws/rest
DEVELOPMENT_CERTIFICATE=""
# FIXME: Until we have a valid production certificate, accept any
# server-provided certificate.
PRODUCTION_CERTIFICATE=-k
#PRODUCTION_CERTIFICATE=--cacert igalia-certificate.pem