Variável ArrayList no fluxo de trabalho do AEM

Variáveis do tipo ArrayList foram introduzidas no AEM Forms 6.5. Um caso de uso comum para o uso da variável ArrayList é definir rotas personalizadas a serem usadas em AssignTask.

Para usar a variável ArrayList em um workflow para AEM, é necessário criar um Formulário adaptável que gere elementos repetidos nos dados enviados. Uma prática comum é definir um schema que contém um elemento de matriz. Para os fins deste artigo, criei um esquema JSON simples contendo elementos de matriz. O caso de uso é de um funcionário preenchendo um relatório de despesas. No relatório de despesas, capturamos o nome do gerente do remetente e o nome do gerente. Os nomes do gerenciador são armazenados em uma matriz chamada managerchain. A captura de tela abaixo mostra o formulário do relatório de despesas e os dados do envio do Adaptive Forms.

relatório de despesas

A seguir estão os dados do envio do formulário adaptável. O formulário adaptável foi baseado no schema JSON. Os dados vinculados ao esquema são armazenados no elemento de dados do elemento afBoundData. A cadeia de gerenciamento é uma matriz e precisamos preencher a ArrayList com o elemento name do objeto dentro da matriz da cadeia de gerenciamento.

{
    "afData": {
        "afUnboundData": {
            "data": {
                "numericbox_2762582281554154833426": 700
            }
        },
        "afBoundData": {
            "data": {
                "Employee": {
                    "Name": "Conrad Simms",
                    "Department": "IT",
                    "managerchain": [{
                        "name": "Gloria Rios"
                    }, {
                        "name": "John Jacobs"
                    }]
                },
                "expense": [{
                    "description": "Hotel",
                    "amount": 300
                }, {
                    "description": "Air Fare",
                    "amount": 400
                }]
            }
        },
        "afSubmissionInfo": {
            "computedMetaInfo": {},
            "stateOverrides": {},
            "signers": {},
            "afPath": "/content/dam/formsanddocuments/helpx/travelexpensereport",
            "afSubmissionTime": "20190402102953"
            }
        }
}

Para inicializar a variável ArrayList da string de subtipo, você pode usar o modo de mapeamento JSON Dot Notation ou XPath. A captura de tela a seguir mostra como preencher uma variável ArrayList chamada CustomRoutes usando a notação JSON Dot. Verifique se você está apontando para um elemento em um objeto de matriz, como mostrado na captura de tela abaixo. Estamos preenchendo a ArrayList CustomRoutes com os nomes do objeto de matriz managerchain.
A ArrayList CustomRoutes é então usada para preencher as Rotas no componente AssignTask
customroute
Depois que a variável CustomRoutes ArrayList é inicializada com os valores dos dados enviados, as Rotas do componente AssignTask são preenchidas usando a variável CustomRoutes. A captura de tela abaixo mostra os roteiros personalizados em uma AssignTask
asingtask

Para testar esse fluxo de trabalho em seu sistema, siga as etapas a seguir

recommendation-more-help
8de24117-1378-413c-a581-01e660b7163e