Studio does not recognise Collection in XML after 2.4.0 upgrade

Jmix version: 2.4.0
Jmix Studio plugin version: 2.4.0-242
IntelliJ IDEA 2024.2.3 (Community Edition)
Build #IC-242.23339.11, built on September 25, 2024
Runtime version: 21.0.4+13-b509.17 x86_64 (JCEF 122.1.9)
VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o.
GC: G1 Young Generation, G1 Concurrent GC, G1 Old Generation
Kotlin: 242.23339.11-IJ
java 17.0.10 2024-01-16 LTS
Java™ SE Runtime Environment (build 17.0.10+11-LTS-240)
Java HotSpot™ 64-Bit Server VM (build 17.0.10+11-LTS-240, mixed mode, sharing)
Operating System: macOS 12.7.6 (21H1320)
File System: Case-Sensitive Journaled HFS+ (APFS)
Browser: Safari - Version 17.4 (19618.1.15.11.12)
Database: PostgreSQL 13

Hello Jmix Team

For your information, after updating from:

Jmix version: 2.3.4
Jmix Studio plugin version: 2.3.3-242

to 2.4.0, Studio does not recognise my instrumentationDc Collection in my view’s XML descriptor and reports the error “Data container not found” for this dataGrid definition:

<dataGrid id="instrumentationDataGrid" height="200px" width="600px" dataContainer="instrumentationDc"
          themeNames="row-stripes, column-borders, column-dividers">
    <actions/>
    <columns resizable="true">
        <column property="name"/>
        <column property="other"/>
        <column property="category"/>
    </columns>
</dataGrid>

Here are my data definitions:

<data>
    <instance id="performDc"
              class="com.company.nf.entity.interest.Performance"
              fetchPlan="performance-detail-plan">
        <loader/>
        <collection id=“styleDc" property="musicStyle"/>
        <collection id="inProfilesDc" property="inProfiles"/>
        <collection id="chProfilesDc" property="chProfiles"/>
        <collection id=“rolesDc" property="roles"/>
        <collection id=“historyDc" property=“history/>
        <collection id="ambDc" property="amb"/>
        <collection id="availabilityDc" property="availability"/>
        <collection id=“formatDc" property=“format”>
            <collection id="instrumentationDc" property="instrumentation"/>
        </collection>
        <collection id=“seasonDc" property=“season"/>
        <collection id="gTypeDc" property="gType"/>
        <collection id=“locationDc" property=“location"/>
        <instance id="memberDc" property="member"/>
    </instance>
</data>

I am also not able to inject instrumentationDc into my controller in 2.4.0 because it is not available in the injection dialog. Please note, however, that my runtime code is working in both 2.3.4 and 2.4.0. In the meantime I have entered it manually to extend some code and this new code is also working as expected. Therefore, this is apparently only a problem with Studio’s parsing.

Can you please correct this with the next release. Thank you in advance for your support.

Best regards
Chris

Hi,

Thank you for feedback. I have created an issue.
Will be fixed in next patch.

Regards,
Mikhail

@m.fedoseev

Hi Mikhail

My problem has been resolved with Studio 2.4.1. Thank you and the team for the fast resolution!

Best regards
Chris

1 Like