Announcement
Collapse
No announcement yet.
X
-
Hello, any updates would be appreciated. Please let me know if further details or a test case are needed.
-
Hello, any news on this issue?
Please let me know if you need more details and/or a test case
Leave a comment:
-
SmartClient Version: SNAPSHOT_v13.1d_2024-10-02/Enterprise Development Only (built 2024-10-02)
Hello, the NullPointerException is fixed, but I still got the original problem from post #1: even though I see the DSRequest criteria logged with the correct ID_ROLE_FK criterion, I then see the "Missing expression" log, and the criteria is missing from the where clause.
This is the relevant part of the log:
Code:2024-10-02T17:51:38,635 DEBUG RPCManager Request #3 (DSRequest) payload: { criteria:{ _constructor:"AdvancedCriteria", operator:"and", criteria:[ { fieldName:"emailPerMenu", operator:"equals", value:"my.work@email.com", _criterionId:1727883892328 }, { fieldName:"ID_APP", operator:"equals", value:"Jat", _criterionId:1727883892329 } ], _criterionId:1727883892327 }, operationConfig:{ dataSource:"AUTH_MENU_ROLES_PERMISSIONS", repo:null, operationType:"fetch", textMatchStyle:"exact" }, componentId:"isc_ExpansionMenuTreeGrid_0", appID:"builtinApplication", operation:"fetchMenuPerGestioneUtenti", oldValues:null, progressiveLoading:false, resultTreeIdField:"ID_REC", resultTreeParentIdField:"ID_VOCE_PADRE", tenantId:null } 2024-10-02T17:51:38,714 INFO DSRequest Executing isc_ExpansionMenuTreeGrid_0->AUTH_MENU_ROLES_PERMISSIONS.fetch[fetchMenuPerGestioneUtenti] rows: 0->-1 with criteria: { _constructor:"AdvancedCriteria", operator:"and", criteria:[ {fieldName:"emailPerMenu", operator:"equals", value:"my.work@email.com", _criterionId:1727883892328}, {fieldName:"ID_APP", operator:"equals", value:"Jat", _criterionId:1727883892329} ], _criterionId:1727883892327 } 2024-10-02T17:51:38,754 INFO DSRequest Executing isc_ExpansionMenuTreeGrid_0->AUTH_MENU_ROLES_PERMISSIONS.fetch[fetchMenuPerGestioneUtenti] rows: 0->-1 with criteria: { _constructor:"AdvancedCriteria", criteria:[ {fieldName:"emailPerMenu", value:"my.work@email.com", operator:"equals"}, {fieldName:"ID_APP", value:"Jat", operator:"equals"}, { criteria:[ { fieldName:"ID_ROLE_FK", value:[27059, 26964, 15586, 26972, 27008, 30721, 27032, 27063, 15582, 15607, 27069, 27072,27074, 27075, 27078, 27082, 27083, 27085, 27118, 27119, 27125, 27134, 27135, 27143,27144, 15564, 27153, 32675, 27163, 27165], operator:"inSet" }, { fieldName:"ID_PERMISSION_FK", value:[], operator:"inSet" } ], operator:"or" } ], __normalized:true, operator:"and" } 2024-10-02T17:51:38,754 DEBUG AppBase No userTypes defined, allowing anyone access to all operations for this application 2024-10-02T17:51:38,754 DEBUG AppBase No public zero-argument method named '_fetchMenuPerGestioneUtenti' found, performing generic datasource operation 2024-10-02T17:51:38,758 WARN SQLExpressions Missing expression for the 'emailPerMenu' field of the 'AUTH_MENU_ROLES_PERMISSIONS' DataSource. 2024-10-02T17:51:38,759 DEBUG SQLExpressions Missing expression request.expressionFields: [ "ID_REC", "ID_APP", "VOCE_MENU", "VOCE_MENU_EN", "ID_FUNZIONE", "ORDINAMENTO_PER_LIVELLO", "ID_VOCE_PADRE", "ICONA", "ICONA_SVG", "IS_MENU_FROM_ROLE", "IS_MENU_FROM_PERMISSION", "ID_MENU_FK", "ID_PERMISSIONS", "ID_ROLES", "IS_DASHBOARD_VISIBLE", "MOBILE_PHONE_VISIBLE", "TABLET_VISIBLE", "MOBILE_PHONE_DEFAULT", "MOBILE_PHONE_ONLY", "ROLE_NAMES", "PERMISSION_NAMES", "ID_ROLE_FK", "ID_PERMISSION_FK" ] 2024-10-02T17:51:38,759 DEBUG SQLExpressions Missing expression generated sqlExpressions.keySet: [ "ID_REC", "ID_APP", "VOCE_MENU", "VOCE_MENU_EN", "ID_FUNZIONE", "ORDINAMENTO_PER_LIVELLO", "ID_VOCE_PADRE", "ICONA", "ICONA_SVG", "IS_MENU_FROM_ROLE", "IS_MENU_FROM_PERMISSION", "ID_MENU_FK", "ID_PERMISSIONS", "ID_ROLES", "IS_DASHBOARD_VISIBLE", "MOBILE_PHONE_VISIBLE", "TABLET_VISIBLE", "MOBILE_PHONE_DEFAULT", "MOBILE_PHONE_ONLY", "ROLE_NAMES", "PERMISSION_NAMES" ] 2024-10-02T17:51:38,760 DEBUG SQLExpressions Missing expression stack: java.lang.Throwable at com.isomorphic.sql.SQLExpressions.getExpression(SQLExpressions.java:173) at com.isomorphic.sql.SQLWhereClause.buildAdvancedExpression(SQLWhereClause.java:977) at com.isomorphic.sql.SQLWhereClause.getOutput(SQLWhereClause.java:419) at com.isomorphic.sql.SQLWhereClause.buildCompoundExpression(SQLWhereClause.java:507) at com.isomorphic.sql.SQLWhereClause.getOutput(SQLWhereClause.java:407) at com.isomorphic.sql.SQLWhereClause.toString(SQLWhereClause.java:284) at com.isomorphic.sql.SQLWhereClause.getSQLString(SQLWhereClause.java:290) at com.isomorphic.sql.SQLDataSource.getClausesContext(SQLDataSource.java:4325) at com.isomorphic.sql.SQLDataSource.SQLExecute(SQLDataSource.java:1839) at com.isomorphic.sql.SQLDataSource.SQLExecute(SQLDataSource.java:1739) 2024-10-02T17:51:38,760 WARN SQLExpressions Missing expression for the 'ID_ROLE_FK' field of the 'AUTH_MENU_ROLES_PERMISSIONS' DataSource. 2024-10-02T17:51:38,760 DEBUG SQLExpressions Missing expression request.expressionFields: [ "ID_REC", "ID_APP", "VOCE_MENU", "VOCE_MENU_EN", "ID_FUNZIONE", "ORDINAMENTO_PER_LIVELLO", "ID_VOCE_PADRE", "ICONA", "ICONA_SVG", "IS_MENU_FROM_ROLE", "IS_MENU_FROM_PERMISSION", "ID_MENU_FK", "ID_PERMISSIONS", "ID_ROLES", "IS_DASHBOARD_VISIBLE", "MOBILE_PHONE_VISIBLE", "TABLET_VISIBLE", "MOBILE_PHONE_DEFAULT", "MOBILE_PHONE_ONLY", "ROLE_NAMES", "PERMISSION_NAMES", "ID_ROLE_FK", "ID_PERMISSION_FK" ] 2024-10-02T17:51:38,760 DEBUG SQLExpressions Missing expression generated sqlExpressions.keySet: [ "ID_REC", "ID_APP", "VOCE_MENU", "VOCE_MENU_EN", "ID_FUNZIONE", "ORDINAMENTO_PER_LIVELLO", "ID_VOCE_PADRE", "ICONA", "ICONA_SVG", "IS_MENU_FROM_ROLE", "IS_MENU_FROM_PERMISSION", "ID_MENU_FK", "ID_PERMISSIONS", "ID_ROLES", "IS_DASHBOARD_VISIBLE", "MOBILE_PHONE_VISIBLE", "TABLET_VISIBLE", "MOBILE_PHONE_DEFAULT", "MOBILE_PHONE_ONLY", "ROLE_NAMES", "PERMISSION_NAMES" ] 2024-10-02T17:51:38,761 DEBUG SQLExpressions Missing expression stack: java.lang.Throwable at com.isomorphic.sql.SQLExpressions.getExpression(SQLExpressions.java:173) at com.isomorphic.sql.SQLWhereClause.buildAdvancedExpression(SQLWhereClause.java:977) at com.isomorphic.sql.SQLWhereClause.getOutput(SQLWhereClause.java:419) at com.isomorphic.sql.SQLWhereClause.buildCompoundExpression(SQLWhereClause.java:507) at com.isomorphic.sql.SQLWhereClause.getOutput(SQLWhereClause.java:407) at com.isomorphic.sql.SQLWhereClause.buildCompoundExpression(SQLWhereClause.java:507) at com.isomorphic.sql.SQLWhereClause.getOutput(SQLWhereClause.java:407) at com.isomorphic.sql.SQLWhereClause.toString(SQLWhereClause.java:284) at com.isomorphic.sql.SQLWhereClause.getSQLString(SQLWhereClause.java:290) at com.isomorphic.sql.SQLDataSource.getClausesContext(SQLDataSource.java:4325) 2024-10-02T17:51:38,761 WARN SQLExpressions Missing expression for the 'ID_PERMISSION_FK' field of the 'AUTH_MENU_ROLES_PERMISSIONS' DataSource. 2024-10-02T17:51:38,761 DEBUG SQLExpressions Missing expression request.expressionFields: [ "ID_REC", "ID_APP", "VOCE_MENU", "VOCE_MENU_EN", "ID_FUNZIONE", "ORDINAMENTO_PER_LIVELLO", "ID_VOCE_PADRE", "ICONA", "ICONA_SVG", "IS_MENU_FROM_ROLE", "IS_MENU_FROM_PERMISSION", "ID_MENU_FK", "ID_PERMISSIONS", "ID_ROLES", "IS_DASHBOARD_VISIBLE", "MOBILE_PHONE_VISIBLE", "TABLET_VISIBLE", "MOBILE_PHONE_DEFAULT", "MOBILE_PHONE_ONLY", "ROLE_NAMES", "PERMISSION_NAMES", "ID_ROLE_FK", "ID_PERMISSION_FK" ] 2024-10-02T17:51:38,761 DEBUG SQLExpressions Missing expression generated sqlExpressions.keySet: [ "ID_REC", "ID_APP", "VOCE_MENU", "VOCE_MENU_EN", "ID_FUNZIONE", "ORDINAMENTO_PER_LIVELLO", "ID_VOCE_PADRE", "ICONA", "ICONA_SVG", "IS_MENU_FROM_ROLE", "IS_MENU_FROM_PERMISSION", "ID_MENU_FK", "ID_PERMISSIONS", "ID_ROLES", "IS_DASHBOARD_VISIBLE", "MOBILE_PHONE_VISIBLE", "TABLET_VISIBLE", "MOBILE_PHONE_DEFAULT", "MOBILE_PHONE_ONLY", "ROLE_NAMES", "PERMISSION_NAMES" ] 2024-10-02T17:51:38,761 DEBUG SQLExpressions Missing expression stack: java.lang.Throwable at com.isomorphic.sql.SQLExpressions.getExpression(SQLExpressions.java:173) at com.isomorphic.sql.SQLWhereClause.buildAdvancedExpression(SQLWhereClause.java:977) at com.isomorphic.sql.SQLWhereClause.getOutput(SQLWhereClause.java:419) at com.isomorphic.sql.SQLWhereClause.buildCompoundExpression(SQLWhereClause.java:507) at com.isomorphic.sql.SQLWhereClause.getOutput(SQLWhereClause.java:407) at com.isomorphic.sql.SQLWhereClause.buildCompoundExpression(SQLWhereClause.java:507) at com.isomorphic.sql.SQLWhereClause.getOutput(SQLWhereClause.java:407) at com.isomorphic.sql.SQLWhereClause.toString(SQLWhereClause.java:284) at com.isomorphic.sql.SQLWhereClause.getSQLString(SQLWhereClause.java:290) at com.isomorphic.sql.SQLDataSource.getClausesContext(SQLDataSource.java:4325) 2024-10-02T17:51:38,766 INFO SQL Executing SQL query on 'dbJFrame': SELECT TREE_MENU.ID_REC, TREE_MENU.ID_APP, TREE_MENU.VOCE_MENU, TREE_MENU.VOCE_MENU_EN, TREE_MENU.ID_FUNZIONE, TREE_MENU.ORDINAMENTO_PER_LIVELLO, TREE_MENU.ID_VOCE_PADRE, TREE_MENU.ICONA, TREE_MENU.ICONA_SVG, case when (MENU_ROLES.ID_REC is not null) then 'T' when (MENU_PERMISSIONS.ID_REC is not null) then 'F' else null end AS IS_MENU_FROM_ROLE, case when (MENU_PERMISSIONS.ID_REC is not null) then 'T' when (MENU_ROLES.ID_REC is not null) then 'F' else null end AS IS_MENU_FROM_PERMISSION, coalesce(MENU_PERMISSIONS.ID_MENU_FK, MENU_ROLES.ID_MENU_FK) AS ID_MENU_FK, MAX(CASE WHEN MENU_PERMISSIONS.TABLET_VISIBLE = 'T' OR MENU_ROLES.TABLET_VISIBLE = 'T' THEN 'T' ELSE 'F' END) AS TABLET_VISIBLE, MAX(CASE WHEN MENU_PERMISSIONS.MOBILE_PHONE_DEFAULT = 'T' OR MENU_ROLES.MOBILE_PHONE_DEFAULT = 'T' THEN 'T' ELSE 'F' END) AS MOBILE_PHONE_DEFAULT, LISTAGG ('' || MENU_ROLES.ID_ROLE_FK || '', ', ') WITHIN GROUP (ORDER BY MENU_ROLES.ID_ROLE_FK) AS ID_ROLES, MAX(CASE WHEN MENU_PERMISSIONS.MOBILE_PHONE_VISIBLE = 'T' OR MENU_ROLES.MOBILE_PHONE_VISIBLE = 'T' THEN 'T' ELSE 'F' END) AS MOBILE_PHONE_VISIBLE, LISTAGG ('' || ROLES.ROLE || '', ', ') WITHIN GROUP (ORDER BY ROLES.ROLE) AS ROLE_NAMES, MAX(CASE WHEN MENU_PERMISSIONS.IS_DASHBOARD_VISIBLE = 'T' OR MENU_ROLES.IS_DASHBOARD_VISIBLE = 'T' THEN 'T' ELSE 'F' END) AS IS_DASHBOARD_VISIBLE, MAX(CASE WHEN MENU_PERMISSIONS.MOBILE_PHONE_ONLY = 'T' OR MENU_ROLES.MOBILE_PHONE_ONLY = 'T' THEN 'T' ELSE 'F' END) AS MOBILE_PHONE_ONLY, LISTAGG ('' || MENU_PERMISSIONS.ID_PERMISSION_FK || '', ', ') WITHIN GROUP (ORDER BY MENU_PERMISSIONS.ID_PERMISSION_FK) AS ID_PERMISSIONS, LISTAGG ('' || PERMISSIONS.NAME || '', ', ') WITHIN GROUP (ORDER BY PERMISSIONS.NAME) AS PERMISSION_NAMES FROM DBJFRAME.TREE_MENU LEFT JOIN DBJFRAME.AUTH_MENU_ROLES MENU_ROLES ON TREE_MENU.ID_REC = MENU_ROLES.ID_MENU_FK LEFT JOIN DBJFRAME.AUTH_ROLES ROLES ON MENU_ROLES.ID_ROLE_FK = ROLES.ID_REC LEFT JOIN DBJFRAME.AUTH_MENU_PERMISSIONS MENU_PERMISSIONS ON TREE_MENU.ID_REC = MENU_PERMISSIONS.ID_MENU_FK LEFT JOIN DBJFRAME.AUTH_PERMISSIONS PERMISSIONS ON MENU_PERMISSIONS.ID_PERMISSION_FK = PERMISSIONS.ID_REC WHERE (('1'='1') AND (TREE_MENU.ID_APP = 'Jat' AND TREE_MENU.ID_APP IS NOT NULL) AND (('1'='1') OR ('1'='1'))) GROUP BY TREE_MENU.ID_REC, TREE_MENU.ID_APP, TREE_MENU.VOCE_MENU, TREE_MENU.VOCE_MENU_EN, TREE_MENU.ID_FUNZIONE, TREE_MENU.ORDINAMENTO_PER_LIVELLO, TREE_MENU.ID_VOCE_PADRE, TREE_MENU.ICONA, TREE_MENU.ICONA_SVG, case when (MENU_ROLES.ID_REC is not null) then 'T' when (MENU_PERMISSIONS.ID_REC is not null) then 'F' else null end , case when (MENU_PERMISSIONS.ID_REC is not null) then 'T' when (MENU_ROLES.ID_REC is not null) then 'F' else null end , coalesce(MENU_PERMISSIONS.ID_MENU_FK, MENU_ROLES.ID_MENU_FK) HAVING (('1'='1')) ORDER BY ORDINAMENTO_PER_LIVELLO 2024-10-02T17:51:38,938 INFO DSResponse DSResponse: List with 397 items 2024-10-02T17:51:38,948 INFO DSResponse DSResponse: List with 397 items 2024-10-02T17:51:38,949 DEBUG RPCManager Content type for RPC transaction: text/plain; charset=UTF-8 2024-10-02T17:51:38,949 DEBUG SQLTransaction Committing dbJFrame transaction "2113058690" 2024-10-02T17:51:38,953 DEBUG RPCManager non-DMI response, dropExtraFields: false 2024-10-02T17:51:38,953 DEBUG RPCManager DMI response, dropExtraFields: false 2024-10-02T17:51:38,953 DEBUG RPCManager DMI response, dropExtraFields: false 2024-10-02T17:51:38,954 DEBUG PoolManager Invalidating null object for key 'trimText 2024-10-02T17:51:38,954 DEBUG PoolManager Invalidating null object for key 'lowerTrimText 2024-10-02T17:51:38,988 DEBUG SQLTransaction getConnection() looked for transactional connection for dbJFrame: hashcode "2113058690" 2024-10-02T17:51:38,988 DEBUG SQLTransaction Ending dbJFrame transaction "2113058690" 2024-10-02T17:51:38,992 DEBUG SQLConnectionManager About to close connection with hashcode "2113058690" 2024-10-02T17:51:38,993 DEBUG PoolableSQLConnectionFactory Executing pingTest 'select 1 from dual' on connection 2113058690 2024-10-02T17:51:38,998 DEBUG SQLTransaction getConnection() looked for transactional connection for dbJFrame: (connection is null) 2024-10-02T17:51:38,998 DEBUG SQLTransaction getConnection() looked for transactional connection for dbJFrame: (connection is null) 2024-10-02T17:51:38,998 DEBUG SQLTransaction getConnection() looked for transactional connection for dbJFrame: (connection is null) 2024-10-02T17:51:38,998 DEBUG SQLTransaction getConnection() looked for transactional connection for dbJFrame: (connection is null)
Leave a comment:
-
Apologies for the delay. This has been fixed and will be available for download in the nightly builds starting on October 2 (tomorrow). Please let us know how it works for you.
Leave a comment:
-
Hello, I didn't specified that the error arises where my DMI calls addToCriteria to add the criteria for ID_ROLE_FK :Originally posted by claudiobosticco View PostHello, thanks, now I don't see the WARN about ID_ROLE_FK, but I've got a NullPointerException:
Code:2024-09-25T12:49:54,139 WARN RequestContext dsRequest.execute() failed: java.lang.NullPointerException: null at com.isomorphic.datasource.IncludeFromDefinition.isDynamicInclusion(IncludeFromDefinition.java:132) ~[isomorphic-core-rpc-13.1-d20240925.jar:?] at com.isomorphic.datasource.DSRequest.createIncludeFromDefinitionFromCriteria(DSRequest.java:8193) ~[isomorphic-core-rpc-13.1-d20240925.jar:?] at com.isomorphic.datasource.DSRequest.addToCriteria(DSRequest.java:9499) ~[isomorphic-core-rpc-13.1-d20240925.jar:?] at com.isomorphic.datasource.DSRequest.addToCriteria(DSRequest.java:9552) ~[isomorphic-core-rpc-13.1-d20240925.jar:?] at com.isomorphic.datasource.DSRequest.addToCriteria(DSRequest.java:9577) ~[isomorphic-core-rpc-13.1-d20240925.jar:?]
do you need more details?Code:dsRequest.addToCriteria(new AdvancedCriteria(DefaultOperators.Or, new Criterion[]{ new SetCriterion("ID_ROLE_FK", DefaultOperators.InSet, rolesIds), new SetCriterion("ID_PERMISSION_FK", DefaultOperators.InSet, permissionsIds) }));
Leave a comment:
-
Hello, while I can confirm that this warning doesn't seem to be linked to an actual problem (I've got many of them), I haven't been able to identify a certain single cause for it. It appears that the warnings are always related to "includeFrom" fields, but they don't occur for every includeFrom field.Originally posted by Isomorphic View PostRegarding the warning about the missing EMAIL field, could you please provide steps to reproduce it? We've made some changes to the SQL engine in version 13.1, and this warning should only be logged when the system expects an expression for the field to inject into the SQL query but finds it missing. This could either be an unnecessary warning or an indication that the issue is not as harmless as it seems.
Leave a comment:
-
Hello, thanks, now I don't see the WARN about ID_ROLE_FK, but I've got a NullPointerException:
Code:2024-09-25T12:49:54,139 WARN RequestContext dsRequest.execute() failed: java.lang.NullPointerException: null at com.isomorphic.datasource.IncludeFromDefinition.isDynamicInclusion(IncludeFromDefinition.java:132) ~[isomorphic-core-rpc-13.1-d20240925.jar:?] at com.isomorphic.datasource.DSRequest.createIncludeFromDefinitionFromCriteria(DSRequest.java:8193) ~[isomorphic-core-rpc-13.1-d20240925.jar:?] at com.isomorphic.datasource.DSRequest.addToCriteria(DSRequest.java:9499) ~[isomorphic-core-rpc-13.1-d20240925.jar:?] at com.isomorphic.datasource.DSRequest.addToCriteria(DSRequest.java:9552) ~[isomorphic-core-rpc-13.1-d20240925.jar:?] at com.isomorphic.datasource.DSRequest.addToCriteria(DSRequest.java:9577) ~[isomorphic-core-rpc-13.1-d20240925.jar:?]
Leave a comment:
-
The issue with the missing ID_ROLE_FK field has been resolved and will be available for download in the nightly builds starting today (Sep 25).
Leave a comment:
-
We have identified the issue with the ID_ROLE_FK field, and a fix will be provided shortly.
Regarding the warning about the missing EMAIL field, could you please provide steps to reproduce it? We've made some changes to the SQL engine in version 13.1, and this warning should only be logged when the system expects an expression for the field to inject into the SQL query but finds it missing. This could either be an unnecessary warning or an indication that the issue is not as harmless as it seems.
Leave a comment:
-
Hello, please let me know if you may know where it's the problem, or if you need a real test case
Leave a comment:
-
SQLExpressions warnings in 13.1
Hello, In the more recent 13.1 builds, I’ve noticed WARN messages like the following:
These seem harmless, but I’d like to understand more about their meaning.Code:WARN SQLExpressions SQLExpression for field 'EMAIL' already exists, skip.
Then, there are others like:
In some cases, these seem related to a regression in at least one specific operationBinding. After this warning, the criteria for that field doesn’t appear in the WHERE clause, whereas previously it did.Code:WARN SQLExpressions Missing expression for the 'ID_ROLE_FK' field of the 'AUTH_MENU_ROLES_PERMISSIONS' DataSource.
The field is defined as:
And the operationBinding includes it in the customCriteriaFields:Code:<field name="ID_ROLE_FK" type="integer" customSelectExpression="MENU_ROLES.ID_ROLE_FK" customSQL="true"/>
There’s one caveat: the DMI is actually calling dsRequest.addToCriteria() to add the criteria for the ID_ROLE_FK field.Code:<operationBinding operationType="fetch" operationId="fetchMenuPerGestioneUtenti" serverMethod="fetchMenuPerGestioneUtenti" requiresRole="ROLE_ADMIN, ROLE_USERADMIN, ROLE_ADMIN_SCOUT, ADMIN" customFields="IS_MENU_FROM_ROLE,IS_MENU_FROM_PERMISSION,ID_ROLES,ROLE_NAMES,ID_PERMISSIONS,PERMISSION_NAMES" customCriteriaFields="ID_PERMISSION_FK,ID_ROLE_FK"> <serverObject lookupStyle="new" className="com.juve.auth.menu.FetchMenuPerGestioneUtenti"/> <tableClause> $defaultTableClause LEFT JOIN DBJFRAME.AUTH_MENU_ROLES MENU_ROLES ON TREE_MENU.ID_REC = MENU_ROLES.ID_MENU_FK LEFT JOIN DBJFRAME.AUTH_ROLES ROLES ON MENU_ROLES.ID_ROLE_FK = ROLES.ID_REC LEFT JOIN DBJFRAME.AUTH_MENU_PERMISSIONS MENU_PERMISSIONS ON TREE_MENU.ID_REC = MENU_PERMISSIONS.ID_MENU_FK LEFT JOIN DBJFRAME.AUTH_PERMISSIONS PERMISSIONS ON MENU_PERMISSIONS.ID_PERMISSION_FK = PERMISSIONS.ID_REC </tableClause> <whereClause> $defaultWhereClause #if ($sessionAttributes.appID != 'JcaAuth') and TREE_MENU.ID_APP = $sessionAttributes.appID #end </whereClause> <groupBy>ID_REC</groupBy> <groupBy>ID_APP</groupBy> <groupBy>VOCE_MENU</groupBy> <groupBy>VOCE_MENU_EN</groupBy> <groupBy>ID_FUNZIONE</groupBy> <groupBy>ORDINAMENTO_PER_LIVELLO</groupBy> <groupBy>ID_VOCE_PADRE</groupBy> <groupBy>ICONA</groupBy> <groupBy>ICONA_SVG</groupBy> <groupBy>IS_MENU_FROM_ROLE</groupBy> <groupBy>IS_MENU_FROM_PERMISSION</groupBy> <groupBy>ID_MENU_FK</groupBy> <summaryFunctions> <ID_ROLES>concat</ID_ROLES> <ROLE_NAMES>concat</ROLE_NAMES> <ID_PERMISSIONS>concat</ID_PERMISSIONS> <PERMISSION_NAMES>concat</PERMISSION_NAMES> <IS_DASHBOARD_VISIBLE>max</IS_DASHBOARD_VISIBLE> <MOBILE_PHONE_VISIBLE>max</MOBILE_PHONE_VISIBLE> <TABLET_VISIBLE>max</TABLET_VISIBLE> <MOBILE_PHONE_DEFAULT>max</MOBILE_PHONE_DEFAULT> <MOBILE_PHONE_ONLY>max</MOBILE_PHONE_ONLY> </summaryFunctions> <orderClause>ORDINAMENTO_PER_LIVELLO</orderClause> </operationBinding>
Please let me know if this sheds some light, or if I should try to create a test case (though that might be difficult).
Tags: None
Leave a comment: