przyrost zmiennej ręcznej

Nie mogę znaleźć sposobu, aby po prostu utworzyć zmienną i zmodyfikować ją podczas generowania raportu.

Zadeklarowałem zmienną całkowitą:

<variable name="my_counter" class="java.lang.Integer" calculation="System">
    <initialValueExpression><![CDATA[new Integer(0)]]></initialValueExpression>
</variable>

To wydaje się działać i mogę wydrukować jego wartość bez problemów. Ale chcę zwiększyć tę wartość podczas generowania raportu: kiedy XML (źródło danych dla raportu) zawiera pewne parametry, chcę zwiększyć wartość (my_counter ++).

Co chcę osiągnąć, w pseudokodzie:

<textField printWhenExpression="$P{BANANAS}!=null"> ($V{my_counter}++)+" The XML contains <bananas>" </textField>
<textField printWhenExpression="$P{APPLES}!=null"> ($V{my_counter}++)+" The XML contains <apples>" </textField>
<textField printWhenExpression="$P{GRAPES}!=null"> ($V{my_counter}++)+" The XML contains <grapes>" </textField>
<textField printWhenExpression="$P{ORANGES}!=null"> ($V{my_counter}++)+" The XML contains <oranges>" </textField>

Oczekiwany wynik w przypadku pliku XML zawierającego banany, jabłka i pomarańcze będą:

1. The XML contains <bananas>
2. The XML contains <apples>
3. The XML contains <oranges>

Próbowałem tego, alebieżący wynik wygląda bardziej tak:

0. The XML contains <bananas>
0. The XML contains <apples>
0. The XML contains <oranges>

Wydaje się więc, że zmiennamy_counter nie jest modyfikowany. Czemu? Jak mogę zmodyfikować jego wartość dla każdego wyświetlanego pola tekstowego?

questionAnswers(1)

yourAnswerToTheQuestion