JBoss.orgCommunity Documentation
Using the S-RAMP cmdline tool s-ramp.sh
In the bin
directory of the distribution you can find the s-ramp.sh
. Run this command to fire up the shell
./s-ramp.sh ********************************************************************** _____ ______ ___ ___ ________ / ___| | ___ \/ _ \| \/ | ___ \ \ `--. ______| |_/ / /_\ \ . . | |_/ / `--. \______| /| _ | |\/| | __/ /\__/ / | |\ \| | | | | | | | \____/ \_| \_\_| |_|_| |_|_| JBoss S-RAMP Kurt Stam and Eric Wittmann, Licensed under the Apache License, V2.0, Copyright 2012 ********************************************************************** s-ramp>
The shell supports auto-completion and keeps a command history for duration of the session.
To connect the shell to the server type connect
and hit the tab key. It should auto-complete
to say s-ramp:connect http://localhost:8080/s-ramp-server
and when hitting the return key
the cursor should go from red to green. Of course you will need to update the server and port information if your S-RAMP repository runs elsewhere.
To browse the artifacts in the repository run the following query:
s-ramp> s-ramp:query /s-ramp Querying the S-RAMP repository: /s-ramp Atom Feed (9 entries) Idx Type Name --- ---- ---- 1 ImageDocument user-properties.png 2 Document overlord.demo.CheckDeployment-taskform.flt 3 BrmsPkgDocument SRAMPPackage.pkg 4 ImageDocument overlord.demo.SimpleReleaseProcess-image.png 5 ImageDocument run-build-install.png 6 Document overlord.demo.SimpleReleaseProcess-taskform.flt 7 ImageDocument audio-input-microphone-3.png 8 BpmnDocument overlord.demo.SimpleReleaseProcess.bpmn 9 TextDocument HttpClientWorkDefinitions.wid
To obtain the metaData of overlord.demo.SimpleReleaseProcess.bpmn
, which is number 8 in the list, issue
s-ramp> s-ramp:getMetaData feed:8 Meta Data for: 31b3acbc-cda8-4856-9e34-d3e645283035 -------------- -- Core S-RAMP Info -- Type: BpmnDocument Model: ext UUID: 31b3acbc-cda8-4856-9e34-d3e645283035 Name: overlord.demo.SimpleReleaseProcess.bpmn Derived: false Created By: <anonymous> Created On: 2013-03-08T14:00:37.036-05:00 Modified By: <anonymous> Modified On: 2013-03-18T14:58:46.328-04:00 s-ramp>
To update a property on the artifact use s-ramp:property set
and hit the tab
key
s-ramp> s-ramp:property set description name version
this shows a list of properties that can be updated. To add a description to this artifact use
s-ramp> s-ramp:property set description "BPMN2 artifact representing the SimpleReleaseProcess" Successfully set property description. s-ramp> s-ramp:updateMetaData Successfully updated artifact overlord.demo.SimpleReleaseProcess.bpmn.
To verify issue
s-ramp> s-ramp:getMetaData feed:8 Meta Data for: 31b3acbc-cda8-4856-9e34-d3e645283035 -------------- -- Core S-RAMP Info -- Type: BpmnDocument Model: ext UUID: 31b3acbc-cda8-4856-9e34-d3e645283035 Name: overlord.demo.SimpleReleaseProcess.bpmn Derived: false Created By: <anonymous> Created On: 2013-03-08T14:00:37.036-05:00 Modified By: <anonymous> Modified On: 2013-03-18T16:09:56.879-04:00 -- Description -- BPMN2 artifact representing the SimpleReleaseProcess
and you can see the added description at the bottom of the printout.
To add a custom property
called kurt
with value stam
you can run
s-ramp> s-ramp:property set kurt stam Successfully set property kurt. s-ramp> s-ramp:updateMetaData Successfully updated artifact overlord.demo.SimpleReleaseProcess.bpmn.
and to verify that the custom property
was added issue
s-ramp> s-ramp:getMetaData feed:8 Meta Data for: 31b3acbc-cda8-4856-9e34-d3e645283035 -------------- -- Core S-RAMP Info -- Type: BpmnDocument Model: ext UUID: 31b3acbc-cda8-4856-9e34-d3e645283035 Name: overlord.demo.SimpleReleaseProcess.bpmn Derived: false Created By: <anonymous> Created On: 2013-03-08T14:00:37.036-05:00 Modified By: <anonymous> Modified On: 2013-03-18T16:21:16.119-04:00 -- Description -- BPMN2 artifact representing the SimpleReleaseProcess -- Custom Properties -- kurt: stam s-ramp>
When hitting the tab
key on s-ramp:property set
results in
s-ramp> s-ramp:property set description kurt name version
which now had the added custom property
kurt
.
To add a classification
of deployment-status
to your artifact use
s-ramp> s-ramp:classification add "http://www.jboss.org/overlord/deployment-status.owl#Dev" Successfully added classification 'http://www.jboss.org/overlord/deployment-status.owl#Dev'. s-ramp> s-ramp:updateMetaData Successfully updated artifact overlord.demo.SimpleReleaseProcess.bpmn.
and to verify that it was added
s-ramp> s-ramp:getMetaData feed:8 Meta Data for: 31b3acbc-cda8-4856-9e34-d3e645283035 -------------- -- Core S-RAMP Info -- Type: BpmnDocument Model: ext UUID: 31b3acbc-cda8-4856-9e34-d3e645283035 Name: overlord.demo.SimpleReleaseProcess.bpmn Derived: false Created By: <anonymous> Created On: 2013-03-08T14:00:37.036-05:00 Modified By: <anonymous> Modified On: 2013-03-18T16:30:42.641-04:00 -- Description -- BPMN2 artifact representing the SimpleReleaseProcess -- Classifications -- Classified By: http://www.jboss.org/overlord/deployment-status.owl#Dev -- Custom Properties -- kurt: stam s-ramp>
TBD - reference to generic section on XPath2 query syntax
S-RAMP supports an XPath2 Syntax for querying. For example to obtain all WSDL models in the repository use
s-ramp> s-ramp:query /s-ramp/wsdl/WsdlDocument Querying the S-RAMP repository: /s-ramp/wsdl/WsdlDocument Atom Feed (1 entries) Idx Type Name --- ---- ---- 1 WsdlDocument OrderService.wsdl s-ramp>
When this WSDL file was uploaded derived
information was extracted from it and stored a WSDL model. TO see the various data structures it derived simply hit the tab on s-ramp:query /s-ramp/wsdl
s-ramp> s-ramp:query /s-ramp/wsdl/ Binding BindingOperation BindingOperationFault BindingOperationInput BindingOperationOutput Fault Message Operation OperationInput OperationOutput Part Port PortType WsdlDocument WsdlExtension WsdlService s-ramp>
Note that derived data is read only
, and cannot be updated by the user.
To obtain all Operations in this WSDL use
s-ramp:query /s-ramp/wsdl/Operation Querying the S-RAMP repository: /s-ramp/wsdl/Operation Atom Feed (1 entries) Idx Type Name --- ---- ---- 1 Operation submitOrder s-ramp>
You can narrow this query down even more by adding that the name needs to start with submit
s-ramp:query "/s-ramp/wsdl/Operation[xp2:matches(@name, 'submit.*')]" Querying the S-RAMP repository: /s-ramp/wsdl/Operation[xp2:matches(@name, 'submit.*')] Atom Feed (1 entries) Idx Type Name --- ---- ---- 1 Operation submitOrder s-ramp>
don’t forget to use the surrounding quotes, and a .
after submit
as required by XPath2.