Erstellen einer neuen Java-Klasse

Verwenden Sie IntelliJ, um eine neue Java-Klasse und ein neues Verzeichnis zu erstellen und andere Build-Dateien zu konfigurieren.

Vorbereitungen

Führen Sie die Schritte der folgenden Aufgabe aus: Konfigurieren von Build-Dateien.

Prozedur

  1. Erstellen Sie eine neue Java-Klasse, klicken Sie mit der rechten Maustaste auf das Paket com.automationanywhere.botcommand und wählen Sie Neu > Java-Klasse aus. Geben Sie GetFileDetails als Namen für die neue Klasse ein.
    1. Kopieren Sie @BotCommand aus der Datei Concatenate. java und fügen Sie den Inhalt in die neue Datei GetFileDetails.java ein.
      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 = "concatenate", label = "[[Concatenate.label]]", 
      		node_label = "[[Concatenate.node_label]]", description = "[[Concatenate.description]]", icon = "pkg.svg", 
      		
      		//Return type information. return_type ensures only the right kind of variable is provided on the UI. 
      		return_label = "[[Concatenate.return_label]]", return_type = STRING, return_required = true)
      public class Concatenate {
      	
      	//Messages read from full qualified property file name and provide i18n capability.
      	private static final Messages MESSAGES = MessagesFactory
      			.getMessages("com.automationanywhere.botcommand.samples.messages");
      
      	//Identify the entry point for the action. Returns a Value<String> because the return type is String. 
      	@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 = "[[Concatenate.firstString.label]]") 
      			//Ensure that a validation error is thrown when the value is null.
      			@NotEmpty 
      			String firstString,
      			
      			@Idx(index = "2", type = TEXT) 
      			@Pkg(label = "[[Concatenate.secondString.label]]") 
      			@NotEmpty 
      			String secondString) {
      		
      		//Internal validation, to disallow empty strings. No null check needed as we have NotEmpty on firstString.
      		if ("".equals(firstString.trim()))
      			throw new BotCommandException(MESSAGES.getString("emptyInputString", "firstString"));
      
      		if ("".equals(secondString.trim()))
      			throw new BotCommandException(MESSAGES.getString("emptyInputString", "secondString"));
      
      		//Business logic
      		String result = firstString + secondString;
      		
      		//Return StringValue.
      		return new StringValue(result);
    2. Aktualisieren Sie die @CommandPkg-Parameter wie z. B.: name, label, node_label, description und icon.
    3. Aktualisieren Sie die Werte return_label und return_type.
    4. Fügen Sie die Aktion NumberValue, die interne Validierung, die Geschäftslogik und den Rückgabewert hinzu.
    5. Löschen Sie die Datei Concatenated. java und das Verzeichnis samples.commands. basic sowie das Verzeichnis sample.commands.
  2. Datei en_US.json konfigurieren: Navigieren Sie zu src > main > resources > locales > en_US.json und fügen Sie nach den Werten für die Bezeichnung und Beschreibung die folgenden Felder hinzu. Löschen Sie die anderen Parameter aus der Datei.
    {
    	"label": "File Details",
    	"description": "Returns basic file details",
    	"GetFileDetails.label": "File Size",
    	"GetFileDetails.description": "Return the size of the selected file in bytes",
    	"GetFileDetails.node_label": "File Size in Bytes",
    	"GetFileDetails.return_label": "File Size",
    	"GetFileDetails.return_label_description": "Return in bytes",
    	"GetFileDetails.filePath.label": "Select a File for analysis"
    }
  3. Pakete löschen: Navigieren Sie zu src > main > java > com.automationanyhwere.botcommand und löschen Sie die samples.commands und die Pakete samples.
  4. Importieren Sie neue Symbole aus Github und aktualisieren Sie die Anmerkung CommandPkg.
    1. Laden Sie alle Symbole herunter, die Sie in Ihrem Bot-Ablauf verwenden möchten, und speichern Sie sie als .svg-Dateien.
    2. Kopieren Sie Ihre Bilddateien in den Ordner src > main > resources > icons.
  5. Neues Verzeichnis erstellen: Navigieren Sie zu src, klicken Sie mit der rechten Maustaste und wählen Sie Neu > Verzeichnis aus.
    1. Geben Sie in das Feld Name test\java ein. Wählen Sie alternativ test\java aus und geben Sie den Namen TestFileSize ein.
    2. Konfigurieren Sie Testanmerkungen in der Java-Klasse TestFileSize.
    3. Erstellen Sie eine öffentliche Klasse namens @test, erstellen Sie ein GetFileDetails-Objekt und rufen Sie die Aktion auf.
    4. Optional: Führen Sie in IntelliJ TestGetFileDetails aus, um das Objekt zu testen.
  6. Konfigurieren Sie die Datei TestFileSize, öffnen Sie TestFileSize und fügen Sie den folgenden Code ein:
    {
        @Test
        public void TestGetFileDetails() {
            String filePath = "src\\main\\resources\\icons\\sample.svg";
            //Create GetFileDetails Object
            GetFileDetails getFileDetails = new GetFileDetails();
            //invoke action
            NumberValue output = getFileDetails.action(filePath);
            Assert.assertEquals(output.getAsDouble(), 5027.0);
        }
  7. Speichern Sie das Projekt: Datei > Alle speichern.
  8. Klicken Sie auf Alle Gradle-Projekte neu laden und dann auf Gradle-Aufgabe ausführen und überprüfen Sie, ob das Projekt A2019FileDetails ausgewählt ist.
  9. Geben Sie gradle clean build shadowJar im Fenster Alle ausführen ein.
    Nach der Ausführung wird die folgende Meldung angezeigt: ERSTELLUNG ERFOLGREICH in 8s <Anzahl der Sekunden>

Nächste Maßnahme

Hochladen eines benutzerdefinierten Pakets in Ihren Control Room