Leggi e rivedi la documentazione di Automation Anywhere

Automation Anywhere Automation 360

Chiudi contenuti

Contenuti

Apri contenuti

Configurare gli attributi della sessione condivisa utilizzando il pacchetto SDK

  • Aggiornato: 2021/05/12

    Configurare gli attributi della sessione condivisa utilizzando il pacchetto SDK

    Crea nuovi file del pacchetto SDK e modifica i file esistenti per configurare una variabile, un comando e il tipo di attributo per condividere i dettagli tra TaskBots.

    Aggiungere il tipo di sessione al modello di pacchetto

    Apri il file package template situato in <latest package sdk zip file>\src\main\resources e aggiungi sessionType: etichetta e una descrizione opzionale.

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

    Creare una nuova variabile personalizzata

    Crea un nuovo file DemoForSession e mettilo nella seguente posizione: <latest package sdk zip file>/src/main/java/com/automationanywhere/botcommand/samples/commands/basic

    Utilizzando il file, crea la variabile personalizzata (classe Dto) per condividere i dettagli tra TaskBots e implementare la variabile 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 {
        }
    }

    Creare un nuovo comando

    Utilizzando il file DemoForSession, sviluppa un comando che recuperi ShareSessionDemoUpperCaseParent dalla sessionMap pubblica e lo assegni all'oggetto 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;
        }
    }

    Configurare il tipo di attributo. Sessione

    Nel file SharedSessionDemoUpperCaseChild, configura attributeType.Session per il parametro sharedSession.

    @Idx(index = "3", type = AttributeType.SESSION)
    
    @Pkg(label = "sharedSession", description = "sharedSession", 
    
          default_value = "Default", default_value_type = DataType.SESSION)
    
          SharedSessionDemoUpperCaseChild session
    
    Invia feedback