新しい Java クラスの作成

IntelliJ を使用して、新しい Java クラスと新しいディレクトリを作成し、他のビルド ファイルを構成します。

前提条件

以下のタスクの手順を完了します。ビルド ファイルの構成

手順

  1. 新しい [Java クラス] を作成し、com.automationanywhere.botcommand パッケージを右クリックして、[新規] > [Java クラス] を順に選択します。新しいクラスの名前 GetFileDetails を入力します。
    1. Concatenate. java から @BotCommand をコピーし、新しい 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);
    2. 次のような @CommandPkg パラメーターを更新します。namelabelnode_labeldescription、および icon
    3. return_label および return_type を更新します。
    4. NumberValue アクション、内部検証、ビジネス ロジック、および戻り値を追加します。
    5. Concatenated. java ファイル、および samples.commands. basic ディレクトリ、sample.commands ディレクトリを削除します。
  2. [en_US.json] ファイルを構成し、[src] > [メイン] > [リソース] > [ロケール] > [en_US.json] に移動して、ラベルと説明の値の後に次のフィールドを追加し、ファイルから他のパラメーターを削除します。
    {
    	"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. パッケージを削除し、[src] > [メイン] > [java] > [com.automationanyhwere.botcommand] に移動し、samples.commands を削除して、サンプルパッケージを削除します。
  4. Github から新しいアイコンをインポートし、CommandPkg 注釈を更新します。
    1. Bot フローで使用するアイコンをダウンロードし、.svg ファイルとして保存します。
    2. 画像のファイルを [src] > [メイン] > [リソース] > [アイコン] フォルダーにコピーします。
  5. 新しいディレクトリを作成します。[src] に移動して右クリックし、[新規] > [ディレクトリ] を選択します。
    1. [名前] フィールドに「test\java」と入力します。または、test\java を選択し、「TestFileSize」という名前を入力します。
    2. TestFileSize クラスでテスト注釈を構成します。
    3. @test パブリック クラスを作成し、GetFileDetails オブジェクトを作成して、アクションを呼び出します。
    4. オプション: IntelliJ で TestGetFileDetails を実行してテストします。
  6. TestFileSize ファイルを構成し、TestFileSize を開いて、次のコードをコピーして貼り付けます。
    {
        @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. プロジェクトを保存します。[ファイル] > [すべてを保存]
  8. [すべての Gradle プロジェクトを再読み込み] をクリックし、[Gradle タスクの実行] をクリックして、[A2019FileDetails] プロジェクトが選択されていることを確認します。
  9. [なんでも実行] ウィンドウで、「gradle clean build shadowJar」と入力します。
    実行後、以下のメッセージが表示されます。BUILD SUCCESSFUL in 8s <秒数>

次のステップ

カスタム パッケージを Control Room にアップロード