Atributo FILE2 (Regex)

As expressões regulares (RegEx) são padrões de strings definidos para buscar um arquivo em um caminho especificado. Use o atributo FILE2 ao utilizar expressões regulares (regex) para criar padrões de strings.

Por exemplo: Se você quiser procurar um caminho de pasta para um arquivo (Por exemplo Hello.txt)que contém um certo string. . Você usará o tipo de atributo File2 para inserir o seguinte padrão regex: Hell ou ell que encontrará o arquivo que corresponde aos critérios de busca. Este tópico é baseado na amostra do File2TypeDemo disponível dentro do Pacote SDK no seguinte local <PackageSDK>\src\main\java\com\automationanywhere\botcommand\samples\commands\basic\types\File2TypeDemo.java

Como usar o FILE2

  1. Você deverá ter importado os seguintes pacotes para garantir que todas as funcionalidades operem conforme descrito no exemplo.
    import com.automationanywhere.commandsdk.annotations.*;
    import com.automationanywhere.commandsdk.model.AttributeType;
    import org.apache.logging.log4j.LogManager;
    import org.apache.logging.log4j.Logger;
  2. Adicione a anotação @BotCommand para tornar uma classe em uma Ação na Sala de Controle. Para mais informações sobre as anotações, consulte Anotações.
    @BotCommand
  3. Adicione a anotação @CommandPkg para definir todos os componentes relacionados com a IU - rótulos, descrição, ícone, tipo de retorno e nome.
    @CommandPkg(label = "[[File2TypeDemo.label]]", description = "[[File2TypeDemo.description]]", icon = "sample.svg", name = "file2TypeDemo")
  4. Crie um método (Por exemplo: regexFile) dentro da sua classe e defina os campos conforme descrito abaixo.
    1. Anote o método com @Execute para executar o método durante a compilação.
    2. Na amostra abaixo, @Idx, @Pkg e @NotEmpty são definidos como parâmetros do método. Se eles forem usados como membro da classe, então você deve usar os métodos set e get para defini-los.
      1. @Idx - Define o índice de uma ação. (@Idx(index = "1", type = AttributeType.FILE2))
      2. @Pkg - Define todos os parâmetros e variáveis de membros mostrados na interface (@Pkg(label = "[[File2TypeDemo.localFile.label]]") ). Deve ser acompanhado por @Idx, do contrário esta anotação é ignorada.
      3. @NotEmpty - Define que este parâmetro não pode estar vazio (@NotEmpty @LocalFile FileValue fileValue)).
        @BotCommand
        @CommandPkg(label = "[[File2TypeDemo.label]]",
            description = "[[File2TypeDemo.description]]", icon = "sample.svg", name = "file2TypeDemo")
        public class File2TypeDemo {
            private static Logger logger = LogManager.getLogger(File2TypeDemo.class);
        
            @Execute
            public void regexFile(
                @Idx(index = "1", type = AttributeType.FILE2) 
                @Pkg(label = "[[File2TypeDemo.localFile.label]]") 
                @NotEmpty @LocalFile FileValue fileValue)
  5. Construa e carregue o pacote personalizado para a Sala de Controle. Para mais informações sobre o carregamento do pacote, consulte Como usar o pacote SDK.
  6. Crie um bot.
  7. Arraste a ação para a tela e você será capaz de inserir o regex para encontrar um arquivo. Você verá uma caixa de entrada semelhante a esta imagem.

    A imagem mostra a demonstração do SDK Variável

Imprimir o Regex - Nome da pasta e a Localização do arquivo

Use o Logger interface obtida do pacote Log4j para fornecer informações sobre os objetos que estão sendo manipulados. Na amostra abaixo você poderá registrar o nome da pasta e a localização do arquivo local usando o método debug.

@BotCommand
@CommandPkg(label = "[[File2TypeDemo.label]]",
  description = "[[File2TypeDemo.description]]", icon = "sample.svg", name = "file2TypeDemo")
public class File2TypeDemo {
  private static Logger logger = LogManager.getLogger(File2TypeDemo.class);

  @Execute
  public void regexFile(
    @Idx(index = "1", type = AttributeType.FILE2) @Pkg(label = "[[File2TypeDemo.localFile.label]]") @NotEmpty @LocalFile FileValue fileValue) {
    if (fileValue.isRegex()) {

      RegexFile regexFile = fileValue.getRegex();
      logger.debug("folder name {}", regexFile.getFolder());
      logger.debug("local file location {}", regexFile.getFileNamePattern().toString());
    } else {
      logger.debug("Regex option is not selected");
    }
  }