Pergunta

Eu estou tentando fazer referência a outro objeto que eu definidos em um arquivo de configuração da Primavera a partir de uma expressão. Especificamente, eu estou tentando preencher uma propriedade com o valor de uma expressão que eu chamar um método e, em seguida, uma propriedade no objeto retornado desse método.
Eu tentei o seguinte (os nomes foram alterados):

<property name="NullableIntProperty"
          expression="#{Some.Object.Id}.Get().NullableIntValue"/>

onde Some.Object.Id é uma referência a outro objeto que eu tenha definido em um arquivo de configuração, tais como:

<object id="Some.Object.Id" ... >

mas meu aplicativo falha ao iniciar com o expecting "COLON", found '}' exceção de análise. Eu acho que ele está esperando um espaço de nomes, mas eu não estou achando a documentação para isso.

Eu tentei várias coisas, mas em todos os lugares que eu bati um beco sem saída. Eu originalmente tentou uma combinação do MethodInvokingFactoryObject e PropertyRetrievingFactoryObject que usamos em outros lugares para tipos não anuláveis, mas esta falha para nullables que são realmente null desde a Primavera vê uma fábrica de objeto retornar null como um fracasso (que geralmente é).

Foi útil?

Solução

Você pode usar a sintaxe de expressão @(object-id-here) para recuperar um objeto do contexto da Primavera usando um expressão:

<property name="NullableIntProperty"
          expression="@(Some.Object.Id).PropertyOnSomeObject"/>

Outras dicas

Alterar # para US $ deve corrigi-lo, eu acredito.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top