Lesen und beachten Sie die Automation Anywhere-Dokumentation

Automation 360

Inhalt schließen

Inhalte

Inhalt öffnen

Gemeinsame Sitzung mit Package SDK konfigurieren

  • Aktualisiert: 2022/05/20
    • Automation 360 v.x
    • Erkunden
    • RPA Workspace

Gemeinsame Sitzung mit Package SDK konfigurieren

Das SDK-Paket bietet eine Konfiguration für die SDK-Benutzer, um gemeinsame Sitzungen zu erstellen und zu verwenden. Sitzungen werden nahtlos zwischen verschiedenen Bots geteilt, um Ressourcen gemeinsam zu nutzen. Das bedeutet, dass, wenn eine Sitzung erstellt wurde, die andere TaskBots die Sitzung lesen und aktualisieren kann und umgekehrt.

Gemeinsame Sitzung von Eltern und Kind

Der folgende Abschnitt beschreibt die Erstellung einer gemeinsamen Sitzung. Der übergeordnete GlobalSessionDemoUpperCaseParent gibt einen Session-Wert an die globale Sitzung zurück und wird von dem untergeordneten Bot GlobalSessionDemoUpperCaseChild.
Anmerkung: Legen Sie die drei nachstehenden Klassen an die folgende Stelle: <PackageSDK>\src\main\java\com\automation\botcommand\samples\commands\basic
  1. Erstellen Sie die folgende POJO-Klasse DemoForSession die Folgendes implementiert CloseableSessionObject.

    package com.automationanywhere.botcommand.samples.commands.basic.GlobalSessionSampleProject;
    
    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 {
    
        }
    }
    
  2. Fügen Sie den @BotCommand Annotation hinzu, um eine Klasse als Aktion im Kontrollraum zu erstellen. Für weitere Informationen über Anmerkungen siehe Anmerkungen.
    @BotCommand
  3. Hinzufügen der @CommandPkg Annotation hinzu, um alle UI-bezogenen Komponenten zu definieren - Beschriftungen, Beschreibung , Symbol, rückgabe_artund name. Die Elemente return_label, Rückgabe_Einstellungen, return_typeund return_required die zum @CommandPkg sorgt dafür, dass die SESSION vom übergeordneten Bot zurückgegeben wird.
    @CommandPkg(
    		//Unique name inside a package and label to display.
    		name = "GlobalSession", label = "Global session uppercase parent",
    		node_label = "Shared session parent node label", description = "Shared session parent description", icon = "pkg.svg",
    		
    		//Return type information. return_type ensures only the right kind of variable is provided on the UI. 
    		return_label = "Return the parent session",
    		return_settings = {ReturnSettingsType.SESSION_TARGET},
    		return_type = SESSION,
    		return_required = true)
  4. Erstellen Sie die GlobalSessionDemoUpperCaseParent Objekt. Die GlobalSessionDemoUpperCaseParent erhält eine Zeichenkette in Kleinbuchstaben von der Eingabe der Aktion, wandelt sie in eine Zeichenkette in Großbuchstaben um und speichert das Ergebnis in der SessionValue.

    • Annotieren Sie die Methode mit @Ausführen um die Methode während der Kompilierung auszuführen.

      package com.automationanywhere.botcommand.samples.commands.basic.GlobalSessionSampleProject;
      
      import com.automationanywhere.botcommand.data.impl.SessionValue;
      import com.automationanywhere.commandsdk.annotations.*;
      import com.automationanywhere.commandsdk.annotations.rules.NotEmpty;
      import com.automationanywhere.commandsdk.model.ReturnSettingsType;
      import org.apache.logging.log4j.LogManager;
      import org.apache.logging.log4j.Logger;
      
      import java.util.Map;
      
      import static com.automationanywhere.commandsdk.model.AttributeType.TEXT;
      import static com.automationanywhere.commandsdk.model.DataType.SESSION;
      
      
      //BotCommand makes a class eligible for being considered as an action.
      @BotCommand
      
      //CommandPks adds required information to be dispalable on GUI.
      @CommandPkg(
      		//Unique name inside a package and label to display.
      		name = "GlobalSession", label = "Global session uppercase parent",
      		node_label = "Shared session parent node label", description = "Shared session parent description", icon = "pkg.svg",
      		
      		//Return type information. return_type ensures only the right kind of variable is provided on the UI. 
      		return_label = "Return the parent session",
      		return_settings = {ReturnSettingsType.SESSION_TARGET},
      		return_type = SESSION,
      		return_required = true)
      public class GlobalSessionDemoForStringUpperCaseParent {
      	private static Logger logger = LogManager.getLogger(GlobalSessionDemoForStringUpperCaseParent.class);
      
      	//Identify the entry point for the action. Returns a SessionValue because the return_type is SESSION. 
      	@Execute
      	public SessionValue action(
      			//Idx 1 would be displayed first, with a text box for entering the value.
      			@Idx(index = "1", type = TEXT) 
      			//UI labels.
      			@Pkg(label = "Enter string in lower case")
      			//Ensure that a validation error is thrown when the value is null.
      			@NotEmpty 
      			String firstString) {
      		String result = firstString.toUpperCase();
      		DemoForSession demoForSession= new DemoForSession(result);
      		return SessionValue
      				.builder()
      				.withSessionObject(demoForSession)
      				.build();
      	}
      }
  5. Erstellen Sie die GlobalSessionDemoUpperCaseChild Objekt. Die GlobalSessionDemoUpperCaseChild holt sich eine klein geschriebene Zeichenkette aus der Eingabe der Aktion, wandelt sie in Großbuchstaben um und verkettet sie mit dem SessionValue der vom übergeordneten Bot empfangen wurde.

    package com.automationanywhere.botcommand.samples.commands.basic.GlobalSessionSampleProject;
    
    import com.automationanywhere.botcommand.data.Value;
    import com.automationanywhere.botcommand.data.impl.StringValue;
    import com.automationanywhere.botcommand.samples.commands.basic.Uppercase;
    import com.automationanywhere.commandsdk.annotations.*;
    import com.automationanywhere.commandsdk.annotations.rules.NotEmpty;
    import com.automationanywhere.commandsdk.annotations.rules.SessionObject;
    import com.automationanywhere.commandsdk.model.AttributeType;
    import com.automationanywhere.commandsdk.model.DataType;
    import org.apache.logging.log4j.LogManager;
    import org.apache.logging.log4j.Logger;
    
    import static com.automationanywhere.commandsdk.model.AttributeType.TEXT;
    import static com.automationanywhere.commandsdk.model.DataType.STRING;
    
    
    //BotCommand makes a class eligible for being considered as an action.
    @BotCommand
    
    //CommandPks adds required information to be dispalable on GUI.
    @CommandPkg(
    		//Unique name inside a package and label to display.
    		name = "GlobalSessionChild", label = "Global session upper case child",
    		node_label = "Global session child node label",
    		description = "Global session child description", icon = "pkg.svg",
    		
    		//Return type information. return_type ensures only the right kind of variable is provided on the UI. 
    		return_label = "Return the concatenated string to", return_type = STRING, return_required = true)
    public class GlobalSessionDemoUpperCaseChild {
    	private static Logger logger = LogManager.getLogger(Uppercase.class);
    	
    	@Execute
    	public Value<String> action(
    			//Idx 1 would be displayed first, with a text box for entering the value.
    			@Idx(index = "1", type = TEXT) 
    			//UI labels.
    			@Pkg(label = "Enter a sting in lower case to concatenate")
    			//Ensure that a validation error is thrown when the value is null.
    			@NotEmpty 
    			String sourceString,
    			@Idx(index = "2", type = AttributeType.SESSION)
    			@Pkg(label = "sharedSession", description = "sharedSession",
    					default_value = "Default", default_value_type = DataType.SESSION)
    			//Using the sessionObject annotation here as its a consumer class
    					@SessionObject
    					DemoForSession session) {
    
    		//Business logic
    		String result = sourceString.toUpperCase();
    		logger.info("session: {}",session);
    		return new StringValue(result+session.getDemo().toUpperCase());
    	}
    }
  6. Erstellen Sie das benutzerdefinierte Paket und laden Sie es in den Kontrollraum hoch. Für weitere Informationen zum Hochladen des Pakets siehe Verwendung des SDK-Pakets.
  7. Erstellen Sie eine bot durch Verwendung der Globale Sitzung Großbuchstaben übergeordneter Aktion.
    1. Geben Sie eine klein geschriebene Zeichenfolge ein (z. B.: Elternzeichenfolge)
    2. Geben Sie einen Namen für die Sitzung ein. Der übergeordnete Bot gibt den Wert an die globale Sitzung zurück (Beispiel: Global)
  8. Erstellen Sie eine TaskBots durch Verwendung der Globale Sitzung Großbuchstaben Kind<