Automation Anywhere

Automation Anywhere Automation 360

關閉內容

內容

開啟內容

使用軟件包 SDK 配置共享會話屬性

  • 已更新:5/12/2021
    • Automation 360 v.x
    • 探索
    • RPA 工作區

使用軟件包 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 文件並將其放置在以下位置:最新軟件包 SDK zip 文件 >/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 文件,開發一個命令,從 公共 會話 Map 檢索 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
傳送意見反饋