Création d'une nouvelle classe Java
Télécharger au format PDF
- Dernière mise à jour2022/05/19
Utilisez IntelliJ pour créer une nouvelle classe java et un nouveau répertoire, et configurer d'autres fichiers de construction.
Prérequis
Effectuez les étapes dans les tâches suivantes : Configuration des fichiers de construction.
Procédure
-
Créez une nouvelle classe Java, cliquez avec le bouton droit sur le package com.automationanywhere.botcommand et sélectionnez Nouvelle > classe Java. Saisissez le nom de la nouvelle classe GetFileDetails.
-
Copiez
@BotCommand
à partir de Concatenate. java et collez-la dans le nouveau fichier GetFileDetails.java.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);
-
Mettez à jour les paramètres @CommandPkg tels que :
name
,label
,node_label
,description
eticon
. -
Mettez à jour
return_label
etreturn_type
. -
Ajoutez l'action
NumberValue
, la validation interne, la logique métier et la valeur de retour. - Supprimez le fichier Concatenated. java et le répertoire samples.commands. basic et le répertoire sample.commands.
-
Copiez
-
Configurez le fichier en_US.json : allez dans src > main > resources > locales > en_US.json et ajoutez les champs suivants après les valeurs d'étiquette et de description, puis supprimez les autres paramètres du fichier.
{ "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" }
- Supprimez les packages : allez dans src > main > java > com.automationanyhwere.botcommand, puis supprimez les packages samples.commands et samples.
-
Importez les nouvelles icônes de Github et mettez à jour l'annotation CommandPkg.
- Téléchargez toutes les icônes que vous souhaitez utiliser dans votre flux de robot et enregistrez-les au format .svg.
- Copiez vos fichiers image dans le dossier src > main > resources > icons.
-
Créez un nouveau répertoire : allez dans src, cliquez avec le bouton droit de la souris et sélectionnez Nouveau > Répertoire.
-
Dans le champ Nom, saisissez test\java. Vous pouvez également sélectionner
test\java
et saisir le nom TestFileSize. - Configurez les annotations de test dans la classe java TestFileSize.
-
Créez une classe publique
@test
, créez un objetGetFileDetails
, puis appelez l'action. - Facultatif : Exécuter TestGetFileDetails dans IntelliJ pour le tester.
-
Dans le champ Nom, saisissez test\java. Vous pouvez également sélectionner
-
Configurez le fichier TestFileSize, puis ouvrez le fichier TestFileSize et copiez et collez le code suivant :
{ @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); }
- Sauvegardez le projet : Fichier > Enregistrer tout.
- Cliquez sur Recharger tous les projets Gradle, puis cliquez sur Exécuter la tâche Gradle et vérifiez que le projet A2019FileDetails est sélectionné.
-
Dans la fenêtre Exécuter tout, saisissez gradle clean build shadowJar.
Après son exécution, le message suivant s'affiche : CONSTRUIT AVEC SUCCÈS en 8 s <nombre de secondes>