Automation Anywhere ドキュメントを読んで確認する

Automation 360

コンテンツを閉じる

コンテンツ

コンテンツを開く

パッケージ SDK を使用した共有セッション属性の設定

  • 更新済み: 2021/05/12

    パッケージ SDK を使用した共有セッション属性の設定

    パッケージ SDK ファイルを新規作成し、既存のファイルを変更して、TaskBots 間で詳細を共有するように変数、コマンド、および属性タイプを設定します。

    パッケージ テンプレートへのセッション タイプの追加

    <latest package sdk zip file>\src\main\resources にあるパッケージ テンプレート ファイルを開き、sessionType を追加します。ラベル説明 (オプション)。

    {
      "name": "A2019DemoPackage",
      "label": "[[label]]",
      "description": "[[description]]",
      "sessionType" : {
        	"label" : "testdemo",
        	"description" : "sharedSessionDemo"
        },
      "group": "",
      "artifactName": "",
      "packageVersion": "",
      "codeVersion": "",
      "author": "",
      "commands": []
    }

    新しいカスタム変数の作成

    新しい DemoForSession ファイルを作成し、次の場所に配置します。 <latest package sdk zip file>/src/main/java/com/automationanywhere/botcommand/samples/commands/basic

    このファイルを使用して、カスタム変数 (Dto クラス) を作成して TaskBots 間で詳細を共有し、CloseableSessionObject 変数を実装します。

    package com.automationanywhere.botcommand.samples.commands.basic;
    import com.automationanywhere.toolchain.runtime.session.CloseableSessionObject;
    import java.io.IOException;
    public class DemoForSession implements CloseableSessionObject
    {
        public void setClose(boolean close) {
            this.close = close;
        }
        boolean close=false;
        public String getDemo() {
            return demo;
        }
        public void setDemo(String demo) {
            this.demo = demo;
        }
        public DemoForSession(String demo){
            this.demo=demo;
        }
        String demo;
        @Override
        public boolean isClosed() {
            return close;
        }
        @Override
        public void close() throws IOException {
        }
    }

    新しいコマンドの作成

    DemoForSession ファイルを使用して、パブリック sessionMap から SharedSessionDemoUpperCaseParent を取得してそれを sessionMap オブジェクトに割り当てるコマンドを作成します。

    package com.automationanywhere.botcommand.samples.commands.basic;
    import com.automationanywhere.botcommand.data.Value;
    import com.automationanywhere.botcommand.data.impl.SessionValue;
    import com.automationanywhere.botcommand.data.impl.StringValue;
    import com.automationanywhere.commandsdk.annotations.*;
    import com.automationanywhere.commandsdk.annotations.rules.NotEmpty;
    
    import java.util.Map;
    
    import static com.automationanywhere.commandsdk.model.AttributeType.TEXT;
    import static com.automationanywhere.commandsdk.model.DataType.SESSION;
    import static com.automationanywhere.commandsdk.model.DataType.STRING;
    
    @BotCommand
    @CommandPkg(return_label = "SharedSessionDemoUpperCaseParent", node_label = "SharedSessionDemoUpperCaseParent", label = "SharedSessionDemoUpperCaseParent", description = "SharedSessionDemoUpperCaseParent", name = "SharedSessionDemoUpperCaseParent", return_type = SESSION, return_required = true)
    public class SharedSessionDemoUpperCaseParent {
    
        public void setSessionMap(Map<String, Object> sessionMap) {
            this.sessionMap = sessionMap;
        }
        @Sessions
        private Map<String, Object> sessionMap;
    
        @Execute
        public Value<?> execute(@Idx(index = "1", type = TEXT)
                                @Pkg(label = "SetSession", description = "SetSession", default_value = "Default", default_value_type = STRING)
                                @NotEmpty
                                        String session) {
            Object sessionObject = sessionMap.get(session);
    
            System.out.println("sessionObject: "+sessionObject);
            SessionValue sessionValue=new SessionValue((DemoForSession) sessionObject);
            sessionValue.set(session);
            return sessionValue;
        }
    }

    attributeType の設定セッション

    SharedSessionDemoUpperCaseChild ファイルで、sharedSession パラメーターの attributeType.Session を設定します。

    @Idx(index = "3", type = AttributeType.SESSION)
    
    @Pkg(label = "sharedSession", description = "sharedSession", 
    
          default_value = "Default", default_value_type = DataType.SESSION)
    
          SharedSessionDemoUpperCaseChild session
    
    フィードバックを送る