Lire et examiner la documentation Automation Anywhere

Automation Anywhere Automation 360

Fermer les contenus

Contenus

Ouvrir les contenus

Configurer les attributs de session partagée à l'aide du package SDK

  • Mis à jour le : 2021/05/12

    Configurer les attributs de session partagée à l'aide du package SDK

    Créez des fichiers de package SDK et modifiez les fichiers existants pour configurer une variable, une commande et le type d'attribut afin de partager les détails entre TaskBots.

    Ajouter un type de session au modèle de package

    Ouvrez le fichier package template situé à l'emplacement <dernier fichier zip package sdk>\src\main\resources et ajoutez sessionType : label et une description facultative.

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

    Créer une variable personnalisée

    Créez un fichier DemoForSession et placez-le à l'emplacement suivant : <dernier fichier zip package sdk>/src/main/java/com/automationanywhere/botcommand/samples/commands/basic

    À l'aide du fichier, créez la variable personnalisée (classe Dto) pour partager les détails entre les TaskBots et implémenter la variable 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 {
        }
    }

    Créer une commande

    À l'aide du fichier DemoForSession, développez une commande qui récupère SharedSessionDemoUpperCaseParent à partir de la sessionMap publique et l'attribue à l'objet 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;
        }
    }

    Configurez le type d'attribut. Session

    Dans le fichier SharedSessionDemoUpperCaseChild, configurez le paramètre attributeType.Session pour le paramètre sharedSession.

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