Announcement

Collapse
No announcement yet.
X
  • Filter
  • Time
Clear All
new posts

    Adapative filtering on List Grid doesn't work

    Isomorphic,

    I have run into an issue today trying to enable adaptive filtering. I have a list grid on which i do a fetch operation. If the whole data is able at the client side, filtering still contacts server. It makes unnecessary server trips. Please find the code samples below :

    Code:
    === 2011-11-18 23:28:55,954 [l0-0] INFO  RequestContext - URL: '/MarketIntelligence/sc/IDACall', User-Agent: 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:5.0) Gecko/20100101 Firefox/5.0': Moz (Gecko) with Accept-Encoding header
    === 2011-11-18 23:28:55,974 [l0-0] DEBUG XML - Parsed XML from (in memory stream): 19ms
    === 2011-11-18 23:28:55,984 [l0-0] DEBUG RPCManager - Processing 1 requests.
    === 2011-11-18 23:28:55,986 [l0-0] DEBUG RPCManager - Request #1 (DSRequest) payload: {
        criteria:{
            _constructor:"AdvancedCriteria",
            operator:"and",
            criteria:[
                {
                    fieldName:"ORIG",
                    operator:"equals",
                    value:[
                        "JFK"
                    ]
                },
                {
                    fieldName:"DEST",
                    operator:"equals",
                    value:[
                        "LHR",
                        "DXB"
                    ]
                },
                {
                    fieldName:"SECURITY_ID",
                    operator:"equals",
                    value:"120"
                },
                {
                    fieldName:"DATES",
                    operator:"greaterOrEqual",
                    value:200901
                },
                {
                    fieldName:"DATES",
                    operator:"lessOrEqual",
                    value:200901
                },
                {
                    fieldName:"REPORT_TYPE",
                    operator:"equals",
                    value:"DIR"
                },
                {
                    fieldName:"AIRLINE_TYPE",
                    operator:"equals",
                    value:"Marketing"
                }
            ]
        },
        operationConfig:{
            dataSource:"ADB",
            operationType:"fetch",
            textMatchStyle:"substring"
        },
        startRow:0,
        endRow:500,
        componentId:"isc_ListGrid_6",
        appID:"builtinApplication",
        operation:"summaryReport",
        oldValues:{
            _constructor:"AdvancedCriteria",
            operator:"and",
            criteria:[
                {
                    fieldName:"ORIG",
                    operator:"equals",
                    value:[
                        "JFK"
                    ]
                },
                {
                    fieldName:"DEST",
                    operator:"equals",
                    value:[
                        "LHR",
                        "DXB"
                    ]
                },
                {
                    fieldName:"SECURITY_ID",
                    operator:"equals",
                    value:"120"
                },
                {
                    fieldName:"DATES",
                    operator:"greaterOrEqual",
                    value:200901
                },
                {
                    fieldName:"DATES",
                    operator:"lessOrEqual",
                    value:200901
                },
                {
                    fieldName:"REPORT_TYPE",
                    operator:"equals",
                    value:"DIR"
                },
                {
                    fieldName:"AIRLINE_TYPE",
                    operator:"equals",
                    value:"Marketing"
                }
            ]
        }
    }
    === 2011-11-18 23:28:55,986 [l0-0] INFO  IDACall - Performing 1 operation(s)
    === 2011-11-18 23:28:55,986 [l0-0] DEBUG AppBase - [builtinApplication.summaryReport] No userTypes defined, allowing anyone access to all operations for this application
    === 2011-11-18 23:28:55,986 [l0-0] DEBUG AppBase - [builtinApplication.summaryReport] No public zero-argument method named '_summaryReport' found, performing generic datasource operation
    === 2011-11-18 23:28:55,987 [l0-0] INFO  SQLDataSource - [builtinApplication.summaryReport] Performing fetch operation with
    	criteria: {criteria:[{criteria:[{value:"JFK",fieldName:"ORIG",operator:"equals"}],operator:"or"},{criteria:[{value:"LHR",fieldName:"DEST",operator:"equals"},{value:"DXB",fieldName:"DEST",operator:"equals"}],operator:"or"},{fieldName:"SECURITY_ID",operator:"equals",value:"120"},{fieldName:"DATES",operator:"greaterOrEqual",value:200901},{fieldName:"DATES",operator:"lessOrEqual",value:200901},{fieldName:"REPORT_TYPE",operator:"equals",value:"DIR"},{fieldName:"AIRLINE_TYPE",operator:"equals",value:"Marketing"}],operator:"and",_constructor:"AdvancedCriteria"}	values: {criteria:[{criteria:[{value:"JFK",fieldName:"ORIG",operator:"equals"}],operator:"or"},{criteria:[{value:"LHR",fieldName:"DEST",operator:"equals"},{value:"DXB",fieldName:"DEST",operator:"equals"}],operator:"or"},{fieldName:"SECURITY_ID",operator:"equals",value:"120"},{fieldName:"DATES",operator:"greaterOrEqual",value:200901},{fieldName:"DATES",operator:"lessOrEqual",value:200901},{fieldName:"REPORT_TYPE",operator:"equals",value:"DIR"},{fieldName:"AIRLINE_TYPE",operator:"equals",value:"Marketing"}],operator:"and",_constructor:"AdvancedCriteria"}
    === 2011-11-18 23:28:55,988 [l0-0] INFO  SQLDataSource - [builtinApplication.summaryReport] derived query: SELECT 
                    #if($advancedCriteria.REPORT_TYPE == "NDIR")
                     SUBSTR(AIRPORT_PAIR_DIM.AIRPP_NDIR_AIRP_PAIR,1,3) AS
                    ORIG,SUBSTR(AIRPORT_PAIR_DIM.AIRPP_NDIR_AIRP_PAIR,4,3) AS DEST,
                    SUBSTR(AIRPORT_PAIR_DIM.CTY_NDIR_CITY_PAIR,1,3) AS ORG_CTY_CD ,
                    SUBSTR(AIRPORT_PAIR_DIM.CTY_NDIR_CITY_PAIR,4,3) AS DEST_CTY_CD,
                    SUBSTR(AIRPORT_PAIR_DIM.CO_NDIR_CNTRY_PAIR,1,3) AS ORG_CNTRY_CD,
                    SUBSTR(AIRPORT_PAIR_DIM.CO_NDIR_CNTRY_PAIR,4,3) AS
                    DEST_CNTRY_CD,SUBSTR(AIRPORT_PAIR_DIM.WA_NDIR_WA_PAIR,1,3) AS
                    WACO,SUBSTR(AIRPORT_PAIR_DIM.WA_NDIR_WA_PAIR,4,3) AS WACD,
                    #else
                    AIRPORT_PAIR_DIM.AIRPP_DEPART_AIRP_CODE AS ORIG,AIRPORT_PAIR_DIM.AIRPP_ARRIVAL_AIRP_CODE AS DEST,
                    AIRPORT_PAIR_DIM.CTY_DEP_CITY_CODE AS ORG_CTY_CD , AIRPORT_PAIR_DIM.CTY_ARR_CITY_CODE AS DEST_CTY_CD,
                    AIRPORT_PAIR_DIM.CO_DEP_CNTRY_CODE AS ORG_CNTRY_CD, AIRPORT_PAIR_DIM.CO_ARR_CNTRY_CODE AS
                    DEST_CNTRY_CD,AIRPORT_PAIR_DIM.WA_ARR_WA_CODE AS WACO,AIRPORT_PAIR_DIM.WA_DEP_WA_CODE AS WACD,
                    #end
                    #if($advancedCriteria.AIRLINE_TYPE == "Marketing")
                    DOMAIRL,
                    #else
                    OPAIRL,
                    #end
                    SUM(UPAX) AS UNADJBOOKINGS, SUM(PAX_COUNT) AS BOOKINGS,ROUND(SUM(ADB_REVENUE)/SUM(PAX_COUNT),2) AS FARE,
                    SUM(ADB_REVENUE) AS REVENUE
                 FROM 
                    ADB,AIRPORT_PAIR_DIM
                 WHERE 
                    ADB.ORIG=AIRPORT_PAIR_DIM.AIRPP_DEPART_AIRP_CODE AND ADB.DEST= AIRPORT_PAIR_DIM.AIRPP_ARRIVAL_AIRP_CODE
                    AND ($defaultWhereClause)
                 GROUP BY 
                    #if($advancedCriteria.REPORT_TYPE == "NDIR")
                    SUBSTR(AIRPORT_PAIR_DIM.AIRPP_NDIR_AIRP_PAIR,1,3),SUBSTR(AIRPORT_PAIR_DIM.AIRPP_NDIR_AIRP_PAIR,4,3),
                    SUBSTR(AIRPORT_PAIR_DIM.CTY_NDIR_CITY_PAIR,1,3), SUBSTR(AIRPORT_PAIR_DIM.CTY_NDIR_CITY_PAIR,4,3),
                    SUBSTR(AIRPORT_PAIR_DIM.CO_NDIR_CNTRY_PAIR,1,3),SUBSTR(AIRPORT_PAIR_DIM.CO_NDIR_CNTRY_PAIR,4,3),
                    SUBSTR(AIRPORT_PAIR_DIM.WA_NDIR_WA_PAIR,1,3),SUBSTR(AIRPORT_PAIR_DIM.WA_NDIR_WA_PAIR,4,3),
                    #else
                    AIRPORT_PAIR_DIM.AIRPP_DEPART_AIRP_CODE ,AIRPORT_PAIR_DIM.AIRPP_ARRIVAL_AIRP_CODE,
                    AIRPORT_PAIR_DIM.CTY_DEP_CITY_CODE, AIRPORT_PAIR_DIM.CTY_ARR_CITY_CODE,
                    AIRPORT_PAIR_DIM.CO_DEP_CNTRY_CODE, AIRPORT_PAIR_DIM.CO_ARR_CNTRY_CODE,
                    AIRPORT_PAIR_DIM.WA_ARR_WA_CODE,AIRPORT_PAIR_DIM.WA_DEP_WA_CODE,
                    #end
                    #if($advancedCriteria.AIRLINE_TYPE == "Marketing")
                    DOMAIRL
                    #else
                    OPAIRL
                    #end
                 ORDER BY 
                    SUM(PAX_COUNT) DESC
                
    
    === 2011-11-18 23:28:55,991 [l0-0] DEBUG SQLDataSource - [builtinApplication.summaryReport] Eval'd row count query: SELECT COUNT(*) FROM (SELECT 
                                    AIRPORT_PAIR_DIM.AIRPP_DEPART_AIRP_CODE AS ORIG,AIRPORT_PAIR_DIM.AIRPP_ARRIVAL_AIRP_CODE AS DEST,
                    AIRPORT_PAIR_DIM.CTY_DEP_CITY_CODE AS ORG_CTY_CD , AIRPORT_PAIR_DIM.CTY_ARR_CITY_CODE AS DEST_CTY_CD,
                    AIRPORT_PAIR_DIM.CO_DEP_CNTRY_CODE AS ORG_CNTRY_CD, AIRPORT_PAIR_DIM.CO_ARR_CNTRY_CODE AS
                    DEST_CNTRY_CD,AIRPORT_PAIR_DIM.WA_ARR_WA_CODE AS WACO,AIRPORT_PAIR_DIM.WA_DEP_WA_CODE AS WACD,
                                                    DOMAIRL,
                                    SUM(UPAX) AS UNADJBOOKINGS, SUM(PAX_COUNT) AS BOOKINGS,ROUND(SUM(ADB_REVENUE)/SUM(PAX_COUNT),2) AS FARE,
                    SUM(ADB_REVENUE) AS REVENUE
                 FROM 
                    ADB,AIRPORT_PAIR_DIM
                 WHERE 
                    ADB.ORIG=AIRPORT_PAIR_DIM.AIRPP_DEPART_AIRP_CODE AND ADB.DEST= AIRPORT_PAIR_DIM.AIRPP_ARRIVAL_AIRP_CODE
                    AND ((((ORIG = 'JFK' AND ORIG IS NOT NULL)) AND ((DEST = 'LHR' AND DEST IS NOT NULL) OR (DEST = 'DXB' AND DEST IS NOT NULL)) AND (SECURITY_ID = '120' AND SECURITY_ID IS NOT NULL) AND (DATES >= '200901' AND DATES IS NOT NULL) AND (DATES <= '200901' OR DATES IS NULL) AND '1'='1' AND '1'='1'))
                 GROUP BY 
                                    AIRPORT_PAIR_DIM.AIRPP_DEPART_AIRP_CODE ,AIRPORT_PAIR_DIM.AIRPP_ARRIVAL_AIRP_CODE,
                    AIRPORT_PAIR_DIM.CTY_DEP_CITY_CODE, AIRPORT_PAIR_DIM.CTY_ARR_CITY_CODE,
                    AIRPORT_PAIR_DIM.CO_DEP_CNTRY_CODE, AIRPORT_PAIR_DIM.CO_ARR_CNTRY_CODE,
                    AIRPORT_PAIR_DIM.WA_ARR_WA_CODE,AIRPORT_PAIR_DIM.WA_DEP_WA_CODE,
                                                    DOMAIRL
                                ) work
    
          Content-Length: 1463
    === 2011-11-18 23:29:02,043 [l0-0] DEBUG PoolableSQLConnectionFactory - [builtinApplication.summaryReport] Returning pooled Connection
    === 2011-11-18 23:29:02,653 [l0-0] INFO  SQLDriver - [builtinApplication.summaryReport] Executing SQL query on 'Oracle': SELECT COUNT(*) FROM (SELECT 
                                    AIRPORT_PAIR_DIM.AIRPP_DEPART_AIRP_CODE AS ORIG,AIRPORT_PAIR_DIM.AIRPP_ARRIVAL_AIRP_CODE AS DEST,
                    AIRPORT_PAIR_DIM.CTY_DEP_CITY_CODE AS ORG_CTY_CD , AIRPORT_PAIR_DIM.CTY_ARR_CITY_CODE AS DEST_CTY_CD,
                    AIRPORT_PAIR_DIM.CO_DEP_CNTRY_CODE AS ORG_CNTRY_CD, AIRPORT_PAIR_DIM.CO_ARR_CNTRY_CODE AS
                    DEST_CNTRY_CD,AIRPORT_PAIR_DIM.WA_ARR_WA_CODE AS WACO,AIRPORT_PAIR_DIM.WA_DEP_WA_CODE AS WACD,
                                                    DOMAIRL,
                                    SUM(UPAX) AS UNADJBOOKINGS, SUM(PAX_COUNT) AS BOOKINGS,ROUND(SUM(ADB_REVENUE)/SUM(PAX_COUNT),2) AS FARE,
                    SUM(ADB_REVENUE) AS REVENUE
                 FROM 
                    ADB,AIRPORT_PAIR_DIM
                 WHERE 
                    ADB.ORIG=AIRPORT_PAIR_DIM.AIRPP_DEPART_AIRP_CODE AND ADB.DEST= AIRPORT_PAIR_DIM.AIRPP_ARRIVAL_AIRP_CODE
                    AND ((((ORIG = 'JFK' AND ORIG IS NOT NULL)) AND ((DEST = 'LHR' AND DEST IS NOT NULL) OR (DEST = 'DXB' AND DEST IS NOT NULL)) AND (SECURITY_ID = '120' AND SECURITY_ID IS NOT NULL) AND (DATES >= '200901' AND DATES IS NOT NULL) AND (DATES <= '200901' OR DATES IS NULL) AND '1'='1' AND '1'='1'))
                 GROUP BY 
                                    AIRPORT_PAIR_DIM.AIRPP_DEPART_AIRP_CODE ,AIRPORT_PAIR_DIM.AIRPP_ARRIVAL_AIRP_CODE,
                    AIRPORT_PAIR_DIM.CTY_DEP_CITY_CODE, AIRPORT_PAIR_DIM.CTY_ARR_CITY_CODE,
                    AIRPORT_PAIR_DIM.CO_DEP_CNTRY_CODE, AIRPORT_PAIR_DIM.CO_ARR_CNTRY_CODE,
                    AIRPORT_PAIR_DIM.WA_ARR_WA_CODE,AIRPORT_PAIR_DIM.WA_DEP_WA_CODE,
                                                    DOMAIRL
                                ) work
    === 2011-11-18 23:29:03,317 [l0-0] DEBUG SQLDataSource - [builtinApplication.summaryReport] JDBC driver windowed select rows 0->500, result size 500. Query: SELECT 
                                    AIRPORT_PAIR_DIM.AIRPP_DEPART_AIRP_CODE AS ORIG,AIRPORT_PAIR_DIM.AIRPP_ARRIVAL_AIRP_CODE AS DEST,
                    AIRPORT_PAIR_DIM.CTY_DEP_CITY_CODE AS ORG_CTY_CD , AIRPORT_PAIR_DIM.CTY_ARR_CITY_CODE AS DEST_CTY_CD,
                    AIRPORT_PAIR_DIM.CO_DEP_CNTRY_CODE AS ORG_CNTRY_CD, AIRPORT_PAIR_DIM.CO_ARR_CNTRY_CODE AS
                    DEST_CNTRY_CD,AIRPORT_PAIR_DIM.WA_ARR_WA_CODE AS WACO,AIRPORT_PAIR_DIM.WA_DEP_WA_CODE AS WACD,
                                                    DOMAIRL,
                                    SUM(UPAX) AS UNADJBOOKINGS, SUM(PAX_COUNT) AS BOOKINGS,ROUND(SUM(ADB_REVENUE)/SUM(PAX_COUNT),2) AS FARE,
                    SUM(ADB_REVENUE) AS REVENUE
                 FROM 
                    ADB,AIRPORT_PAIR_DIM
                 WHERE 
                    ADB.ORIG=AIRPORT_PAIR_DIM.AIRPP_DEPART_AIRP_CODE AND ADB.DEST= AIRPORT_PAIR_DIM.AIRPP_ARRIVAL_AIRP_CODE
                    AND ((((ORIG = 'JFK' AND ORIG IS NOT NULL)) AND ((DEST = 'LHR' AND DEST IS NOT NULL) OR (DEST = 'DXB' AND DEST IS NOT NULL)) AND (SECURITY_ID = '120' AND SECURITY_ID IS NOT NULL) AND (DATES >= '200901' AND DATES IS NOT NULL) AND (DATES <= '200901' OR DATES IS NULL) AND '1'='1' AND '1'='1'))
                 GROUP BY 
                                    AIRPORT_PAIR_DIM.AIRPP_DEPART_AIRP_CODE ,AIRPORT_PAIR_DIM.AIRPP_ARRIVAL_AIRP_CODE,
                    AIRPORT_PAIR_DIM.CTY_DEP_CITY_CODE, AIRPORT_PAIR_DIM.CTY_ARR_CITY_CODE,
                    AIRPORT_PAIR_DIM.CO_DEP_CNTRY_CODE, AIRPORT_PAIR_DIM.CO_ARR_CNTRY_CODE,
                    AIRPORT_PAIR_DIM.WA_ARR_WA_CODE,AIRPORT_PAIR_DIM.WA_DEP_WA_CODE,
                                                    DOMAIRL
                                 ORDER BY 
                    SUM(PAX_COUNT) DESC
                
    === 2011-11-18 23:29:03,989 [l0-0] INFO  DSResponse - [builtinApplication.summaryReport] DSResponse: List with 56 items
    
          Content-Type: text/html; charset=iso-8859-1
          Content-Length: 1463
    === 2011-11-18 23:29:17,163 [l0-0] INFO  RequestContext - URL: '/MarketIntelligence/sc/IDACall', User-Agent: 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:5.0) Gecko/20100101 Firefox/5.0': Moz (Gecko) with Accept-Encoding header
    === 2011-11-18 23:29:17,167 [l0-0] DEBUG XML - Parsed XML from (in memory stream): 3ms
    === 2011-11-18 23:29:17,185 [l0-0] DEBUG RPCManager - Processing 1 requests.
    === 2011-11-18 23:29:17,187 [l0-0] DEBUG RPCManager - Request #1 (DSRequest) payload: {
        criteria:{
            _constructor:"AdvancedCriteria",
            operator:"and",
            criteria:[
                {
                    fieldName:"ORIG",
                    operator:"equals",
                    value:[
                        "JFK"
                    ]
                },
                {
                    fieldName:"DEST",
                    operator:"equals",
                    value:[
                        "LHR",
                        "DXB"
                    ]
                },
                {
                    fieldName:"SECURITY_ID",
                    operator:"equals",
                    value:"120"
                },
                {
                    fieldName:"DATES",
                    operator:"greaterOrEqual",
                    value:200901
                },
                {
                    fieldName:"DATES",
                    operator:"lessOrEqual",
                    value:200901
                },
                {
                    fieldName:"REPORT_TYPE",
                    operator:"equals",
                    value:"DIR"
                },
                {
                    fieldName:"AIRLINE_TYPE",
                    operator:"equals",
                    value:"Marketing"
                },
                {
                    fieldName:"DEST",
                    operator:"iContains",
                    value:"L"
                }
            ]
        },
        operationConfig:{
            dataSource:"ADB",
            operationType:"fetch",
            textMatchStyle:"substring"
        },
        startRow:0,
        endRow:500,
        componentId:"isc_ListGrid_6",
        appID:"builtinApplication",
        operation:"summaryReport",
        oldValues:{
            _constructor:"AdvancedCriteria",
            operator:"and",
            criteria:[
                {
                    fieldName:"ORIG",
                    operator:"equals",
                    value:[
                        "JFK"
                    ]
                },
                {
                    fieldName:"DEST",
                    operator:"equals",
                    value:[
                        "LHR",
                        "DXB"
                    ]
                },
                {
                    fieldName:"SECURITY_ID",
                    operator:"equals",
                    value:"120"
                },
                {
                    fieldName:"DATES",
                    operator:"greaterOrEqual",
                    value:200901
                },
                {
                    fieldName:"DATES",
                    operator:"lessOrEqual",
                    value:200901
                },
                {
                    fieldName:"REPORT_TYPE",
                    operator:"equals",
                    value:"DIR"
                },
                {
                    fieldName:"AIRLINE_TYPE",
                    operator:"equals",
                    value:"Marketing"
                },
                {
                    fieldName:"DEST",
                    operator:"iContains",
                    value:"L"
                }
            ]
        }
    }
    === 2011-11-18 23:29:17,187 [l0-0] INFO  IDACall - Performing 1 operation(s)
    === 2011-11-18 23:29:17,187 [l0-0] DEBUG AppBase - [builtinApplication.summaryReport] No userTypes defined, allowing anyone access to all operations for this application
    === 2011-11-18 23:29:17,188 [l0-0] DEBUG AppBase - [builtinApplication.summaryReport] No public zero-argument method named '_summaryReport' found, performing generic datasource operation
    === 2011-11-18 23:29:17,188 [l0-0] INFO  SQLDataSource - [builtinApplication.summaryReport] Performing fetch operation with
    	criteria: {criteria:[{criteria:[{value:"JFK",fieldName:"ORIG",operator:"equals"}],operator:"or"},{criteria:[{value:"LHR",fieldName:"DEST",operator:"equals"},{value:"DXB",fieldName:"DEST",operator:"equals"}],operator:"or"},{fieldName:"SECURITY_ID",operator:"equals",value:"120"},{fieldName:"DATES",operator:"greaterOrEqual",value:200901},{fieldName:"DATES",operator:"lessOrEqual",value:200901},{fieldName:"REPORT_TYPE",operator:"equals",value:"DIR"},{fieldName:"AIRLINE_TYPE",operator:"equals",value:"Marketing"},{fieldName:"DEST",operator:"iContains",value:"L"}],operator:"and",_constructor:"AdvancedCriteria"}	values: {criteria:[{criteria:[{value:"JFK",fieldName:"ORIG",operator:"equals"}],operator:"or"},{criteria:[{value:"LHR",fieldName:"DEST",operator:"equals"},{value:"DXB",fieldName:"DEST",operator:"equals"}],operator:"or"},{fieldName:"SECURITY_ID",operator:"equals",value:"120"},{fieldName:"DATES",operator:"greaterOrEqual",value:200901},{fieldName:"DATES",operator:"lessOrEqual",value:200901},{fieldName:"REPORT_TYPE",operator:"equals",value:"DIR"},{fieldName:"AIRLINE_TYPE",operator:"equals",value:"Marketing"},{fieldName:"DEST",operator:"iContains",value:"L"}],operator:"and",_constructor:"AdvancedCriteria"}
    === 2011-11-18 23:29:17,190 [l0-0] INFO  SQLDataSource - [builtinApplication.summaryReport] derived query: SELECT 
                    #if($advancedCriteria.REPORT_TYPE == "NDIR")
                     SUBSTR(AIRPORT_PAIR_DIM.AIRPP_NDIR_AIRP_PAIR,1,3) AS
                    ORIG,SUBSTR(AIRPORT_PAIR_DIM.AIRPP_NDIR_AIRP_PAIR,4,3) AS DEST,
                    SUBSTR(AIRPORT_PAIR_DIM.CTY_NDIR_CITY_PAIR,1,3) AS ORG_CTY_CD ,
                    SUBSTR(AIRPORT_PAIR_DIM.CTY_NDIR_CITY_PAIR,4,3) AS DEST_CTY_CD,
                    SUBSTR(AIRPORT_PAIR_DIM.CO_NDIR_CNTRY_PAIR,1,3) AS ORG_CNTRY_CD,
                    SUBSTR(AIRPORT_PAIR_DIM.CO_NDIR_CNTRY_PAIR,4,3) AS
                    DEST_CNTRY_CD,SUBSTR(AIRPORT_PAIR_DIM.WA_NDIR_WA_PAIR,1,3) AS
                    WACO,SUBSTR(AIRPORT_PAIR_DIM.WA_NDIR_WA_PAIR,4,3) AS WACD,
                    #else
                    AIRPORT_PAIR_DIM.AIRPP_DEPART_AIRP_CODE AS ORIG,AIRPORT_PAIR_DIM.AIRPP_ARRIVAL_AIRP_CODE AS DEST,
                    AIRPORT_PAIR_DIM.CTY_DEP_CITY_CODE AS ORG_CTY_CD , AIRPORT_PAIR_DIM.CTY_ARR_CITY_CODE AS DEST_CTY_CD,
                    AIRPORT_PAIR_DIM.CO_DEP_CNTRY_CODE AS ORG_CNTRY_CD, AIRPORT_PAIR_DIM.CO_ARR_CNTRY_CODE AS
                    DEST_CNTRY_CD,AIRPORT_PAIR_DIM.WA_ARR_WA_CODE AS WACO,AIRPORT_PAIR_DIM.WA_DEP_WA_CODE AS WACD,
                    #end
                    #if($advancedCriteria.AIRLINE_TYPE == "Marketing")
                    DOMAIRL,
                    #else
                    OPAIRL,
                    #end
                    SUM(UPAX) AS UNADJBOOKINGS, SUM(PAX_COUNT) AS BOOKINGS,ROUND(SUM(ADB_REVENUE)/SUM(PAX_COUNT),2) AS FARE,
                    SUM(ADB_REVENUE) AS REVENUE
                 FROM 
                    ADB,AIRPORT_PAIR_DIM
                 WHERE 
                    ADB.ORIG=AIRPORT_PAIR_DIM.AIRPP_DEPART_AIRP_CODE AND ADB.DEST= AIRPORT_PAIR_DIM.AIRPP_ARRIVAL_AIRP_CODE
                    AND ($defaultWhereClause)
                 GROUP BY 
                    #if($advancedCriteria.REPORT_TYPE == "NDIR")
                    SUBSTR(AIRPORT_PAIR_DIM.AIRPP_NDIR_AIRP_PAIR,1,3),SUBSTR(AIRPORT_PAIR_DIM.AIRPP_NDIR_AIRP_PAIR,4,3),
                    SUBSTR(AIRPORT_PAIR_DIM.CTY_NDIR_CITY_PAIR,1,3), SUBSTR(AIRPORT_PAIR_DIM.CTY_NDIR_CITY_PAIR,4,3),
                    SUBSTR(AIRPORT_PAIR_DIM.CO_NDIR_CNTRY_PAIR,1,3),SUBSTR(AIRPORT_PAIR_DIM.CO_NDIR_CNTRY_PAIR,4,3),
                    SUBSTR(AIRPORT_PAIR_DIM.WA_NDIR_WA_PAIR,1,3),SUBSTR(AIRPORT_PAIR_DIM.WA_NDIR_WA_PAIR,4,3),
                    #else
                    AIRPORT_PAIR_DIM.AIRPP_DEPART_AIRP_CODE ,AIRPORT_PAIR_DIM.AIRPP_ARRIVAL_AIRP_CODE,
                    AIRPORT_PAIR_DIM.CTY_DEP_CITY_CODE, AIRPORT_PAIR_DIM.CTY_ARR_CITY_CODE,
                    AIRPORT_PAIR_DIM.CO_DEP_CNTRY_CODE, AIRPORT_PAIR_DIM.CO_ARR_CNTRY_CODE,
                    AIRPORT_PAIR_DIM.WA_ARR_WA_CODE,AIRPORT_PAIR_DIM.WA_DEP_WA_CODE,
                    #end
                    #if($advancedCriteria.AIRLINE_TYPE == "Marketing")
                    DOMAIRL
                    #else
                    OPAIRL
                    #end
                 ORDER BY 
                    SUM(PAX_COUNT) DESC
                
    
    === 2011-11-18 23:29:17,193 [l0-0] DEBUG SQLDataSource - [builtinApplication.summaryReport] Eval'd row count query: SELECT COUNT(*) FROM (SELECT 
                                    AIRPORT_PAIR_DIM.AIRPP_DEPART_AIRP_CODE AS ORIG,AIRPORT_PAIR_DIM.AIRPP_ARRIVAL_AIRP_CODE AS DEST,
                    AIRPORT_PAIR_DIM.CTY_DEP_CITY_CODE AS ORG_CTY_CD , AIRPORT_PAIR_DIM.CTY_ARR_CITY_CODE AS DEST_CTY_CD,
                    AIRPORT_PAIR_DIM.CO_DEP_CNTRY_CODE AS ORG_CNTRY_CD, AIRPORT_PAIR_DIM.CO_ARR_CNTRY_CODE AS
                    DEST_CNTRY_CD,AIRPORT_PAIR_DIM.WA_ARR_WA_CODE AS WACO,AIRPORT_PAIR_DIM.WA_DEP_WA_CODE AS WACD,
                                                    DOMAIRL,
                                    SUM(UPAX) AS UNADJBOOKINGS, SUM(PAX_COUNT) AS BOOKINGS,ROUND(SUM(ADB_REVENUE)/SUM(PAX_COUNT),2) AS FARE,
                    SUM(ADB_REVENUE) AS REVENUE
                 FROM 
                    ADB,AIRPORT_PAIR_DIM
                 WHERE 
                    ADB.ORIG=AIRPORT_PAIR_DIM.AIRPP_DEPART_AIRP_CODE AND ADB.DEST= AIRPORT_PAIR_DIM.AIRPP_ARRIVAL_AIRP_CODE
                    AND ((((ORIG = 'JFK' AND ORIG IS NOT NULL)) AND ((DEST = 'LHR' AND DEST IS NOT NULL) OR (DEST = 'DXB' AND DEST IS NOT NULL)) AND (SECURITY_ID = '120' AND SECURITY_ID IS NOT NULL) AND (DATES >= '200901' AND DATES IS NOT NULL) AND (DATES <= '200901' OR DATES IS NULL) AND '1'='1' AND '1'='1' AND (LOWER(DEST) LIKE LOWER('%l%') ESCAPE'\'  AND DEST IS NOT NULL)))
                 GROUP BY 
                                    AIRPORT_PAIR_DIM.AIRPP_DEPART_AIRP_CODE ,AIRPORT_PAIR_DIM.AIRPP_ARRIVAL_AIRP_CODE,
                    AIRPORT_PAIR_DIM.CTY_DEP_CITY_CODE, AIRPORT_PAIR_DIM.CTY_ARR_CITY_CODE,
                    AIRPORT_PAIR_DIM.CO_DEP_CNTRY_CODE, AIRPORT_PAIR_DIM.CO_ARR_CNTRY_CODE,
                    AIRPORT_PAIR_DIM.WA_ARR_WA_CODE,AIRPORT_PAIR_DIM.WA_DEP_WA_CODE,
                                                    DOMAIRL
                                ) work
    
    === 2011-11-18 23:29:17,772 [l0-9] DEBUG XML - Parsed XML from (in memory stream): 3ms
    === 2011-11-18 23:29:17,781 [l0-9] DEBUG RPCManager - Processing 1 requests.
    === 2011-11-18 23:29:17,782 [l0-9] DEBUG RPCManager - Request #1 (DSRequest) payload: {
        criteria:{
            _constructor:"AdvancedCriteria",
            operator:"and",
            criteria:[
                {
                    fieldName:"ORIG",
                    operator:"equals",
                    value:[
                        "JFK"
                    ]
                },
                {
                    fieldName:"DEST",
                    operator:"equals",
                    value:[
                        "LHR",
                        "DXB"
                    ]
                },
                {
                    fieldName:"SECURITY_ID",
                    operator:"equals",
                    value:"120"
                },
                {
                    fieldName:"DATES",
                    operator:"greaterOrEqual",
                    value:200901
                },
                {
                    fieldName:"DATES",
                    operator:"lessOrEqual",
                    value:200901
                },
                {
                    fieldName:"REPORT_TYPE",
                    operator:"equals",
                    value:"DIR"
                },
                {
                    fieldName:"AIRLINE_TYPE",
                    operator:"equals",
                    value:"Marketing"
                },
                {
                    fieldName:"DEST",
                    operator:"iContains",
                    value:"LHR"
                }
            ]
        },
        operationConfig:{
            dataSource:"ADB",
            operationType:"fetch",
            textMatchStyle:"substring"
        },
        startRow:0,
        endRow:500,
        componentId:"isc_ListGrid_6",
        appID:"builtinApplication",
        operation:"summaryReport",
        oldValues:{
            _constructor:"AdvancedCriteria",
            operator:"and",
            criteria:[
                {
                    fieldName:"ORIG",
                    operator:"equals",
                    value:[
                        "JFK"
                    ]
                },
                {
                    fieldName:"DEST",
                    operator:"equals",
                    value:[
                        "LHR",
                        "DXB"
                    ]
                },
                {
                    fieldName:"SECURITY_ID",
                    operator:"equals",
                    value:"120"
                },
                {
                    fieldName:"DATES",
                    operator:"greaterOrEqual",
                    value:200901
                },
                {
                    fieldName:"DATES",
                    operator:"lessOrEqual",
                    value:200901
                },
                {
                    fieldName:"REPORT_TYPE",
                    operator:"equals",
                    value:"DIR"
                },
                {
                    fieldName:"AIRLINE_TYPE",
                    operator:"equals",
                    value:"Marketing"
                },
                {
                    fieldName:"DEST",
                    operator:"iContains",
                    value:"LHR"
                }
            ]
        }
    }
    === 2011-11-18 23:29:17,782 [l0-9] INFO  IDACall - Performing 1 operation(s)
    === 2011-11-18 23:29:17,783 [l0-9] DEBUG AppBase - [builtinApplication.summaryReport] No userTypes defined, allowing anyone access to all operations for this application
    === 2011-11-18 23:29:17,783 [l0-9] DEBUG AppBase - [builtinApplication.summaryReport] No public zero-argument method named '_summaryReport' found, performing generic datasource operation
    === 2011-11-18 23:29:17,783 [l0-9] INFO  SQLDataSource - [builtinApplication.summaryReport] Performing fetch operation with
    	criteria: {criteria:[{criteria:[{value:"JFK",fieldName:"ORIG",operator:"equals"}],operator:"or"},{criteria:[{value:"LHR",fieldName:"DEST",operator:"equals"},{value:"DXB",fieldName:"DEST",operator:"equals"}],operator:"or"},{fieldName:"SECURITY_ID",operator:"equals",value:"120"},{fieldName:"DATES",operator:"greaterOrEqual",value:200901},{fieldName:"DATES",operator:"lessOrEqual",value:200901},{fieldName:"REPORT_TYPE",operator:"equals",value:"DIR"},{fieldName:"AIRLINE_TYPE",operator:"equals",value:"Marketing"},{fieldName:"DEST",operator:"iContains",value:"LHR"}],operator:"and",_constructor:"AdvancedCriteria"}	values: {criteria:[{criteria:[{value:"JFK",fieldName:"ORIG",operator:"equals"}],operator:"or"},{criteria:[{value:"LHR",fieldName:"DEST",operator:"equals"},{value:"DXB",fieldName:"DEST",operator:"equals"}],operator:"or"},{fieldName:"SECURITY_ID",operator:"equals",value:"120"},{fieldName:"DATES",operator:"greaterOrEqual",value:200901},{fieldName:"DATES",operator:"lessOrEqual",value:200901},{fieldName:"REPORT_TYPE",operator:"equals",value:"DIR"},{fieldName:"AIRLINE_TYPE",operator:"equals",value:"Marketing"},{fieldName:"DEST",operator:"iContains",value:"LHR"}],operator:"and",_constructor:"AdvancedCriteria"}
    === 2011-11-18 23:29:17,784 [l0-9] INFO  SQLDataSource - [builtinApplication.summaryReport] derived query: SELECT 
                    #if($advancedCriteria.REPORT_TYPE == "NDIR")
                     SUBSTR(AIRPORT_PAIR_DIM.AIRPP_NDIR_AIRP_PAIR,1,3) AS
                    ORIG,SUBSTR(AIRPORT_PAIR_DIM.AIRPP_NDIR_AIRP_PAIR,4,3) AS DEST,
                    SUBSTR(AIRPORT_PAIR_DIM.CTY_NDIR_CITY_PAIR,1,3) AS ORG_CTY_CD ,
                    SUBSTR(AIRPORT_PAIR_DIM.CTY_NDIR_CITY_PAIR,4,3) AS DEST_CTY_CD,
                    SUBSTR(AIRPORT_PAIR_DIM.CO_NDIR_CNTRY_PAIR,1,3) AS ORG_CNTRY_CD,
                    SUBSTR(AIRPORT_PAIR_DIM.CO_NDIR_CNTRY_PAIR,4,3) AS
                    DEST_CNTRY_CD,SUBSTR(AIRPORT_PAIR_DIM.WA_NDIR_WA_PAIR,1,3) AS
                    WACO,SUBSTR(AIRPORT_PAIR_DIM.WA_NDIR_WA_PAIR,4,3) AS WACD,
                    #else
                    AIRPORT_PAIR_DIM.AIRPP_DEPART_AIRP_CODE AS ORIG,AIRPORT_PAIR_DIM.AIRPP_ARRIVAL_AIRP_CODE AS DEST,
                    AIRPORT_PAIR_DIM.CTY_DEP_CITY_CODE AS ORG_CTY_CD , AIRPORT_PAIR_DIM.CTY_ARR_CITY_CODE AS DEST_CTY_CD,
                    AIRPORT_PAIR_DIM.CO_DEP_CNTRY_CODE AS ORG_CNTRY_CD, AIRPORT_PAIR_DIM.CO_ARR_CNTRY_CODE AS
                    DEST_CNTRY_CD,AIRPORT_PAIR_DIM.WA_ARR_WA_CODE AS WACO,AIRPORT_PAIR_DIM.WA_DEP_WA_CODE AS WACD,
                    #end
                    #if($advancedCriteria.AIRLINE_TYPE == "Marketing")
                    DOMAIRL,
                    #else
                    OPAIRL,
                    #end
                    SUM(UPAX) AS UNADJBOOKINGS, SUM(PAX_COUNT) AS BOOKINGS,ROUND(SUM(ADB_REVENUE)/SUM(PAX_COUNT),2) AS FARE,
                    SUM(ADB_REVENUE) AS REVENUE
                 FROM 
                    ADB,AIRPORT_PAIR_DIM
                 WHERE 
                    ADB.ORIG=AIRPORT_PAIR_DIM.AIRPP_DEPART_AIRP_CODE AND ADB.DEST= AIRPORT_PAIR_DIM.AIRPP_ARRIVAL_AIRP_CODE
                    AND ($defaultWhereClause)
                 GROUP BY 
                    #if($advancedCriteria.REPORT_TYPE == "NDIR")
                    SUBSTR(AIRPORT_PAIR_DIM.AIRPP_NDIR_AIRP_PAIR,1,3),SUBSTR(AIRPORT_PAIR_DIM.AIRPP_NDIR_AIRP_PAIR,4,3),
                    SUBSTR(AIRPORT_PAIR_DIM.CTY_NDIR_CITY_PAIR,1,3), SUBSTR(AIRPORT_PAIR_DIM.CTY_NDIR_CITY_PAIR,4,3),
                    SUBSTR(AIRPORT_PAIR_DIM.CO_NDIR_CNTRY_PAIR,1,3),SUBSTR(AIRPORT_PAIR_DIM.CO_NDIR_CNTRY_PAIR,4,3),
                    SUBSTR(AIRPORT_PAIR_DIM.WA_NDIR_WA_PAIR,1,3),SUBSTR(AIRPORT_PAIR_DIM.WA_NDIR_WA_PAIR,4,3),
                    #else
                    AIRPORT_PAIR_DIM.AIRPP_DEPART_AIRP_CODE ,AIRPORT_PAIR_DIM.AIRPP_ARRIVAL_AIRP_CODE,
                    AIRPORT_PAIR_DIM.CTY_DEP_CITY_CODE, AIRPORT_PAIR_DIM.CTY_ARR_CITY_CODE,
                    AIRPORT_PAIR_DIM.CO_DEP_CNTRY_CODE, AIRPORT_PAIR_DIM.CO_ARR_CNTRY_CODE,
                    AIRPORT_PAIR_DIM.WA_ARR_WA_CODE,AIRPORT_PAIR_DIM.WA_DEP_WA_CODE,
                    #end
                    #if($advancedCriteria.AIRLINE_TYPE == "Marketing")
                    DOMAIRL
                    #else
                    OPAIRL
                    #end
                 ORDER BY 
                    SUM(PAX_COUNT) DESC
                
    
    === 2011-11-18 23:29:17,788 [l0-9] DEBUG SQLDataSource - [builtinApplication.summaryReport] Eval'd row count query: SELECT COUNT(*) FROM (SELECT 
                                    AIRPORT_PAIR_DIM.AIRPP_DEPART_AIRP_CODE AS ORIG,AIRPORT_PAIR_DIM.AIRPP_ARRIVAL_AIRP_CODE AS DEST,
                    AIRPORT_PAIR_DIM.CTY_DEP_CITY_CODE AS ORG_CTY_CD , AIRPORT_PAIR_DIM.CTY_ARR_CITY_CODE AS DEST_CTY_CD,
                    AIRPORT_PAIR_DIM.CO_DEP_CNTRY_CODE AS ORG_CNTRY_CD, AIRPORT_PAIR_DIM.CO_ARR_CNTRY_CODE AS
                    DEST_CNTRY_CD,AIRPORT_PAIR_DIM.WA_ARR_WA_CODE AS WACO,AIRPORT_PAIR_DIM.WA_DEP_WA_CODE AS WACD,
                                                    DOMAIRL,
                                    SUM(UPAX) AS UNADJBOOKINGS, SUM(PAX_COUNT) AS BOOKINGS,ROUND(SUM(ADB_REVENUE)/SUM(PAX_COUNT),2) AS FARE,
                    SUM(ADB_REVENUE) AS REVENUE
                 FROM 
                    ADB,AIRPORT_PAIR_DIM
                 WHERE 
                    ADB.ORIG=AIRPORT_PAIR_DIM.AIRPP_DEPART_AIRP_CODE AND ADB.DEST= AIRPORT_PAIR_DIM.AIRPP_ARRIVAL_AIRP_CODE
                    AND ((((ORIG = 'JFK' AND ORIG IS NOT NULL)) AND ((DEST = 'LHR' AND DEST IS NOT NULL) OR (DEST = 'DXB' AND DEST IS NOT NULL)) AND (SECURITY_ID = '120' AND SECURITY_ID IS NOT NULL) AND (DATES >= '200901' AND DATES IS NOT NULL) AND (DATES <= '200901' OR DATES IS NULL) AND '1'='1' AND '1'='1' AND (LOWER(DEST) LIKE LOWER('%lhr%') ESCAPE'\'  AND DEST IS NOT NULL)))
                 GROUP BY 
                                    AIRPORT_PAIR_DIM.AIRPP_DEPART_AIRP_CODE ,AIRPORT_PAIR_DIM.AIRPP_ARRIVAL_AIRP_CODE,
                    AIRPORT_PAIR_DIM.CTY_DEP_CITY_CODE, AIRPORT_PAIR_DIM.CTY_ARR_CITY_CODE,
                    AIRPORT_PAIR_DIM.CO_DEP_CNTRY_CODE, AIRPORT_PAIR_DIM.CO_ARR_CNTRY_CODE,
                    AIRPORT_PAIR_DIM.WA_ARR_WA_CODE,AIRPORT_PAIR_DIM.WA_DEP_WA_CODE,
                                                    DOMAIRL
                                ) work
    
    === 2011-11-18 23:29:20,228 [l0-0] DEBUG PoolableSQLConnectionFactory - [builtinApplication.summaryReport] Returning pooled Connection
    === 2011-11-18 23:29:20,629 [l0-9] DEBUG PoolableSQLConnectionFactory - [builtinApplication.summaryReport] Returning pooled Connection
    === 2011-11-18 23:29:21,240 [l0-9] INFO  SQLDriver - [builtinApplication.summaryReport] Executing SQL query on 'Oracle': SELECT COUNT(*) FROM (SELECT 
                                    AIRPORT_PAIR_DIM.AIRPP_DEPART_AIRP_CODE AS ORIG,AIRPORT_PAIR_DIM.AIRPP_ARRIVAL_AIRP_CODE AS DEST,
                    AIRPORT_PAIR_DIM.CTY_DEP_CITY_CODE AS ORG_CTY_CD , AIRPORT_PAIR_DIM.CTY_ARR_CITY_CODE AS DEST_CTY_CD,
                    AIRPORT_PAIR_DIM.CO_DEP_CNTRY_CODE AS ORG_CNTRY_CD, AIRPORT_PAIR_DIM.CO_ARR_CNTRY_CODE AS
                    DEST_CNTRY_CD,AIRPORT_PAIR_DIM.WA_ARR_WA_CODE AS WACO,AIRPORT_PAIR_DIM.WA_DEP_WA_CODE AS WACD,
                                                    DOMAIRL,
                                    SUM(UPAX) AS UNADJBOOKINGS, SUM(PAX_COUNT) AS BOOKINGS,ROUND(SUM(ADB_REVENUE)/SUM(PAX_COUNT),2) AS FARE,
                    SUM(ADB_REVENUE) AS REVENUE
                 FROM 
                    ADB,AIRPORT_PAIR_DIM
                 WHERE 
                    ADB.ORIG=AIRPORT_PAIR_DIM.AIRPP_DEPART_AIRP_CODE AND ADB.DEST= AIRPORT_PAIR_DIM.AIRPP_ARRIVAL_AIRP_CODE
                    AND ((((ORIG = 'JFK' AND ORIG IS NOT NULL)) AND ((DEST = 'LHR' AND DEST IS NOT NULL) OR (DEST = 'DXB' AND DEST IS NOT NULL)) AND (SECURITY_ID = '120' AND SECURITY_ID IS NOT NULL) AND (DATES >= '200901' AND DATES IS NOT NULL) AND (DATES <= '200901' OR DATES IS NULL) AND '1'='1' AND '1'='1' AND (LOWER(DEST) LIKE LOWER('%lhr%') ESCAPE'\'  AND DEST IS NOT NULL)))
                 GROUP BY 
                                    AIRPORT_PAIR_DIM.AIRPP_DEPART_AIRP_CODE ,AIRPORT_PAIR_DIM.AIRPP_ARRIVAL_AIRP_CODE,
                    AIRPORT_PAIR_DIM.CTY_DEP_CITY_CODE, AIRPORT_PAIR_DIM.CTY_ARR_CITY_CODE,
                    AIRPORT_PAIR_DIM.CO_DEP_CNTRY_CODE, AIRPORT_PAIR_DIM.CO_ARR_CNTRY_CODE,
                    AIRPORT_PAIR_DIM.WA_ARR_WA_CODE,AIRPORT_PAIR_DIM.WA_DEP_WA_CODE,
                                                    DOMAIRL
                                ) work
    === 2011-11-18 23:29:21,892 [l0-9] DEBUG SQLDataSource - [builtinApplication.summaryReport] JDBC driver windowed select rows 0->500, result size 500. Query: SELECT 
                                    AIRPORT_PAIR_DIM.AIRPP_DEPART_AIRP_CODE AS ORIG,AIRPORT_PAIR_DIM.AIRPP_ARRIVAL_AIRP_CODE AS DEST,
                    AIRPORT_PAIR_DIM.CTY_DEP_CITY_CODE AS ORG_CTY_CD , AIRPORT_PAIR_DIM.CTY_ARR_CITY_CODE AS DEST_CTY_CD,
                    AIRPORT_PAIR_DIM.CO_DEP_CNTRY_CODE AS ORG_CNTRY_CD, AIRPORT_PAIR_DIM.CO_ARR_CNTRY_CODE AS
                    DEST_CNTRY_CD,AIRPORT_PAIR_DIM.WA_ARR_WA_CODE AS WACO,AIRPORT_PAIR_DIM.WA_DEP_WA_CODE AS WACD,
                                                    DOMAIRL,
                                    SUM(UPAX) AS UNADJBOOKINGS, SUM(PAX_COUNT) AS BOOKINGS,ROUND(SUM(ADB_REVENUE)/SUM(PAX_COUNT),2) AS FARE,
                    SUM(ADB_REVENUE) AS REVENUE
                 FROM 
                    ADB,AIRPORT_PAIR_DIM
                 WHERE 
                    ADB.ORIG=AIRPORT_PAIR_DIM.AIRPP_DEPART_AIRP_CODE AND ADB.DEST= AIRPORT_PAIR_DIM.AIRPP_ARRIVAL_AIRP_CODE
                    AND ((((ORIG = 'JFK' AND ORIG IS NOT NULL)) AND ((DEST = 'LHR' AND DEST IS NOT NULL) OR (DEST = 'DXB' AND DEST IS NOT NULL)) AND (SECURITY_ID = '120' AND SECURITY_ID IS NOT NULL) AND (DATES >= '200901' AND DATES IS NOT NULL) AND (DATES <= '200901' OR DATES IS NULL) AND '1'='1' AND '1'='1' AND (LOWER(DEST) LIKE LOWER('%lhr%') ESCAPE'\'  AND DEST IS NOT NULL)))
                 GROUP BY 
                                    AIRPORT_PAIR_DIM.AIRPP_DEPART_AIRP_CODE ,AIRPORT_PAIR_DIM.AIRPP_ARRIVAL_AIRP_CODE,
                    AIRPORT_PAIR_DIM.CTY_DEP_CITY_CODE, AIRPORT_PAIR_DIM.CTY_ARR_CITY_CODE,
                    AIRPORT_PAIR_DIM.CO_DEP_CNTRY_CODE, AIRPORT_PAIR_DIM.CO_ARR_CNTRY_CODE,
                    AIRPORT_PAIR_DIM.WA_ARR_WA_CODE,AIRPORT_PAIR_DIM.WA_DEP_WA_CODE,
                                                    DOMAIRL
                                 ORDER BY 
                    SUM(PAX_COUNT) DESC
                
    === 2011-11-18 23:29:22,555 [l0-9] INFO  DSResponse - [builtinApplication.summaryReport] DSResponse: List with 32 items
    I'm creating the list grid this way:

    Code:
    ListGrid listGrid = new ListGrid();
            listGrid.setWidth100();
            listGrid.setHeight100();
            listGrid.setAutoFetchData(false);
            listGrid.setAlternateRecordStyles(true);
            listGrid.setCanEdit(false);
            listGrid.setCanResizeFields(true);
            listGrid.setShowGridSummary(true);
            listGrid.setShowGroupSummary(true);
            listGrid.setShowGroupSummaryInHeader(true);
            listGrid.setShowFilterEditor(true);
            listGrid.setFilterOnKeypress(true);
    
    
    
            ListGridField origin = new ListGridField("ORIG", 100);
            ListGridField originCity = new ListGridField("ORG_CTY_CD", 100);
            ListGridField originCountry = new ListGridField("ORG_CNTRY_CD", 100);
            ListGridField originArea = new ListGridField("WACO", 100);
            ListGridField destination = new ListGridField("DEST", 100);
            ListGridField destinationCity = new ListGridField("DEST_CTY_CD", 100);
            ListGridField destinationCountry = new ListGridField("DEST_CNTRY_CD", 100);
            ListGridField destinationArea = new ListGridField("WACD", 100);
    
            ListGridField marketingOperatingAirline = null;
    
            if (((String) valuesManager.getValue("airlineType")).equalsIgnoreCase("Marketing")) {
                marketingOperatingAirline = new ListGridField("DOMAIRL", 100);
            } else if (((String) valuesManager.getValue("airlineType")).equalsIgnoreCase("Operating")) {
                marketingOperatingAirline = new ListGridField("OPAIRL", 100);
            }
    
            ListGridField unadjbookings = new ListGridField("UnadjBookings", 120);
            unadjbookings.setShowGroupSummary(true);
            unadjbookings.setShowGridSummary(true);
            unadjbookings.setSummaryFunction(SummaryFunctionType.SUM);
    
            ListGridField bookings = new ListGridField("bookings", 100);
            bookings.setShowGroupSummary(true);
            bookings.setShowGridSummary(true);
            bookings.setSummaryFunction(SummaryFunctionType.SUM);
    
            ListGridField fare = new ListGridField("fare", 120);
            fare.setType(ListGridFieldType.FLOAT);
            fare.setShowGroupSummary(true);
            fare.setShowGridSummary(true);
            fare.setSummaryFunction(SummaryFunctionType.AVG);
            fare.setCellFormatter(new CellFormatter() {
                public String format(Object value, ListGridRecord record, int rowNum, int colNum) {
                    if (value == null) return null;
                    try {
                        NumberFormat nf = NumberFormat.getFormat("#,##0.00");
                        return nf.format(((Number) value).doubleValue());
                    } catch (Exception e) {
                        return (String) value;
                    }
                }
            });
    
    
            ListGridField revenue = new ListGridField("revenue", 120);
            revenue.setShowGroupSummary(true);
            revenue.setShowGridSummary(true);
            revenue.setSummaryFunction(SummaryFunctionType.SUM);
            revenue.setCellFormatter(new CellFormatter() {
                public String format(Object value, ListGridRecord record, int rowNum, int colNum) {
                    if (value == null) return null;
                    try {
                        NumberFormat nf = NumberFormat.getFormat("#,##0.00");
                        return nf.format(((Number) value).doubleValue());
                    } catch (Exception e) {
                        return (String) value;
                    }
                }
            });
    
    
            listGrid.setFields(origin, originCity, originCountry, originArea, destination, destinationCity, destinationCountry, destinationArea, marketingOperatingAirline, unadjbookings, bookings, fare, revenue);
            listGrid.setDataPageSize(500);
            listGrid.setGroupByMaxRecords(1000);
            listGrid.setDataSource(DataSource.get("ADB"));
            listGrid.setFetchOperation("summaryReport");
            AdvancedCriteria criteria = createCriteria(valuesManager);
            listGrid.setCriteria(criteria);
    //        listGrid.invalidateCache();
            DSRequest dSR = new DSRequest();
            dSR.setTimeout(600000);
            final Long startTime = System.currentTimeMillis();
            listGrid.filterData(criteria, new DSCallback() {
                public void execute(DSResponse dsResponse, Object o, DSRequest dsRequest) {
                }
            }, dSR);
            listGrid.hideField("ORG_CTY_CD");
            listGrid.hideField("ORG_CNTRY_CD");
            listGrid.hideField("WACO");
            listGrid.hideField("DEST_CTY_CD");
            listGrid.hideField("DEST_CNTRY_CD");
            listGrid.hideField("WACD");
    if you see, filtering is adding an additional add statement to the existing criteria. But in that case why should it make a server call if the whole data is available in the first fetch itself. I saw sample in the showcase where adaptive filtering happens without having to write additional code for that. Am I missing anything here.

    I'm using version downloaded yesterday: 17th November, 2011

    Thanks.

    #2
    Isomorphic,
    The same behaviour has been observed for grouping on a column as well. Though the whole data set is available on the client side, it makes a server trip whenever we try to group by a column using list grid header context.

    Thanks.

    Comment


      #3
      Does your DataSource have cacheAllData set to true?

      Comment


        #4
        We're checking on the issue with more not detecting more restrictive criteria in the case you showed. As far as grouping, grouping is a client-side behavior and required the entire dataset to be loaded if it not already, hence that will be a new request.

        Comment


          #5
          RevMen,

          I haven't set that and don't want to. But adaptive filtering should query server only when the whole data is not present on the client side . But in this case though whole data is present on client side it makes a server request.

          Thanks.

          Comment


            #6
            Isomorphic, any update on this. Why filtering when whole data is available on client side makes a server request ?

            Also our purchase for smartgwt EE is done along with support package. It will get updated shortly. Thanks for the support here. :)
            Last edited by curiousgally; 29 Nov 2011, 12:13.

            Comment


              #7
              Isomorphic,

              Any update on this?

              Comment


                #8
                You've hit a corner case where the AdvancedCriteria comparison has a flaw. It's being worked on. When the fix is in, no code changes will be required on your end.

                Comment


                  #9
                  This has been fixed, and will be present in tomorrow's 3.x builds.

                  Comment


                    #10
                    Isomorphic,

                    We have purchased 3.0 enterprise license. Will this be moved to the 3.0 release stable build branch (not the nightly one of 3.x) ? If yes what could be the timeline.

                    Thanks.

                    Comment


                      #11
                      We noticed the fix caused some regressions which we're looking into. But yes, once we've got the final fix we'll make it available in 3.0.x nightlies.

                      Comment

                      Working...
                      X