4.9. S-RAMP コマンドライン
4.9.1. S-RAMP シェルの起動
../bin
ディレクトリーに移動します。- 以下のコマンドを実行します。 ./s-ramp.sh
結果
画面に以下が表示されます。
********************************************************************** _____ ______ ___ ___ ________ / ___| | ___ \/ _ \| \/ | ___ \ \ `--. ______| |_/ / /_\ \ . . | |_/ / `--. \______| /| _ | |\/| | __/ /\__/ / | |\ \| | | | | | | | \____/ \_| \_\_| |_|_| |_|_| JBoss S-RAMP Kurt Stam and Eric Wittmann, Licensed under the Apache License, V2.0, Copyright 2012 ********************************************************************** s-ramp>
シェルは自動補完をサポートし、セッション期間中のコマンド履歴を維持します。
4.9.2. S-RAMP サーバーへの接続
S-RAMP サーバーに接続すると、S-RAMP ダッシュボードおよびリポジトリーにアクセスできます。これにより、アーティファクトとそのメタデータに 1 つの場所でアクセスできます。ログインしたら、リポジトリーを参照し、データを検査できます。
- コマンドターミナルを開き、
EAP_HOME/bin
ディレクトリーに移動します。 - 以下のコマンドを入力して JBoss EAP サーバーを起動します。$ ./standalone.sh
- 別の端末を開き
connect
、Tab キーを押します。コマンドは、以下を実行するために自動補完します。s-ramp:connect http://localhost:8080/s-ramp-server.
S-RAMP シェル経由で接続するためのユーザー名とパスワードを入力します。ユーザー名およびパスワードは、sramp.properties で定義されます。
結果
Tab キーを押すと、コマンドが自動的に完了し、戻りキーを押す s-ramp:connect http://localhost:8080/s-ramp-server
と、カーソルは S-ramp サーバーへの接続に成功したことを示す red から green に移動します。
4.9.3. S-RAMP リポジトリーの閲覧
このタスクでコマンドを実行すると、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
- overlord.demo.SimpleReleaseProcess.bpmn(出力例のリストの番号は 8)の metaData を取得するには、以下のコマンドを実行します。 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>
4.9.4. アーティファクトメタデータの更新
- アーティファクトでプロパティーを更新するには、タブキーを入力 s-ramp:property set してヒットします。ここでは、更新できるプロパティーを一覧表示します。
description name version
- 説明を追加します 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.
- 入力して変更を確認し 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
4.9.5. カスタムプロパティーの追加
- カスタムプロパティーを追加するには、s-ramp> s-ramp:property set month December コマンドを実行します。ここで、month はプロパティーの名前で、12 月は値になります。
Successfully set property month.
- アーティファクトを更新するには、s-ramp> s-ramp:updateMetaData コマンドを実行します。
Successfully updated artifact overlord.demo.SimpleReleaseProcess.bpmn.
- 入力して変更を確認し 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 -- month: December
- タブキーを入力してヒットする s-ramp:property set と、新たに追加されたカスタムプロパティーを確認できます。
description month name version
4.9.6. 分類の追加
- deployment-status の分類をアーティファクトに追加するには、以下の 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.
- 入力して変更を確認し 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 -- month: December
4.9.7. ─2 構文を使用した S-RAMP リポジトリーのクエリー
- S-RAMP は、クエリー用に─2 構文をサポートします。たとえば、リポジトリーのすべての WSDL モデルを取得するには、s-ramp:query /s-ramp/wsdl/WsdlDocument コマンドを使用します。
Querying the S-RAMP repository: /s-ramp/wsdl/WsdlDocumenta Atom Feed (1 entries) Idx Type Name --- ---- ---- 1 WsdlDocument OrderService.wsdl
この WSDL ファイルがアップロードされると、派生情報がそこから抽出され、WSDL モデルが保存されます。 - WSDL ファイルの派生するさまざまなデータ構造を表示するには、s-ramp:query /s-ramp/wsdl command と入力してタブキーを押します。
Binding BindingOperation BindingOperationFault BindingOperationInput BindingOperationOutput Fault Message Operation OperationInput OperationOutput Part Port PortType WsdlDocument WsdlExtension WsdlService
派生データは読み取り専用です。 - この WSDL のすべての操作を取得するには、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
このクエリーを絞り込むには、名前が 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
周りの引用符および.
(ドット)を必ず使用してください。2 で必要な値submit
として指定してください。 - アーティファクトから派生したすべてのアーティファクトを取得するには、以下のコマンドを使用します。ここ
/s-ramp[relatedDocument[@uuid = '<uuid>'
では、wsdl の uuid を使用し、wsdl から派生したすべてのアーティファクトを取得できます。s-ramp:query "/s-ramp[relatedDocument[@uuid = '15a94308-a088-4a03-ad83-e60239af74e4']]" Querying the S-RAMP repository: /s-ramp[relatedDocument[@uuid = '15a94308-a088-4a03-ad83-e60239af74e4']] Atom Feed (16 entries) Idx Type Name --- ---- ---- 1 OperationInput submitOrder 2 WsdlService OrderService 3 SoapAddress soap:address 4 BindingOperationInput wsdl:input 5 SoapBinding soap:binding 6 Part parameters 7 Binding OrderServiceBinding 8 BindingOperationOutput wsdl:output 9 Message submitOrderResponse 10 OperationOutput submitOrderResponse 11 BindingOperation submitOrder 12 Message submitOrder 13 Operation submitOrder 14 Port OrderServicePort 15 Part parameters 16 PortType OrderService
- 別のアーカイブから抽出されたすべてのアーティファクトの一覧を取得するには、次のコマンドを使用します
s-ramp:query "/s-ramp[expandedFromDocument[@uuid = '<uuid>']"
。たとえば、uddi 67c6f2d3-0f10-4f0d-ada6-d85f92f02a33 が含まれる jar ファイルをアップロードした場合などです。s-ramp:query "/s-ramp[expandedFromDocument[@uuid = '67c6f2d3-0f10-4f0d-ada6-d85f92f02a33']]" Querying the S-RAMP repository: /s-ramp[expandedFromDocument[@uuid = '67c6f2d3-0f10-4f0d-ada6-d85f92f02a33']] Atom Feed (3 entries) Idx Type Name --- ---- ---- 1 XmlDocument switchyard.xml 2 XmlDocument beans.xml 3 XmlDocument faces-config.xml
4.9.8. S-RAMP CLI の拡張
S-RAMP CLI には、使用できる多くの組み込みコマンドがあります。ただし、新しいカスタムコマンドを使用して CLI を拡張することもできます。本セクションでは、これを行う方法を説明します。
新しい CLI コマンドは、ShellCommandProvider インターフェースを実装するクラスを作成します。プロバイダーは、コマンドのマップ(コマンド名 > コマンド)とともにコマンドの namespace を示します。プロバイダーおよびコマンド実装は、呼び出されたファイルとともに JAR にパッケージ化する必要があり
META-INF/services/org.overlord.sramp.shell.api.ShellCommandProvider
ます。
クラスパスに配置するか、
~/.s-ramp/commands
ディレクトリーに配置して、S-RAMP CLI で JAR を使用できるようにします。