⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 entitygraction.java

📁 CRM源码This file describes some issues that should be implemented in future and how it should be imple
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
                    meta.addLazyLoadDataset( dataset );                }            }        }        if( getLogger().isDebugEnabled() ) {            DEBUG( "\n\nCall EQL manager:" );            DEBUG( "	EQL query:\n" + eqlQuery );            DEBUG( "	EQL prepared statement: " + eqlPS );            DEBUG( "	EQL meta: " + meta );        }        //        // execute EQL query        //        EQLRes res = local.select( ctx.getSC(), eqlQuery, eqlPS.reset(), meta );                reqDistinct = res.getMetaData().getReq().getSelect().isDistinct();		if( getLogger().isDebugEnabled() ) {            DEBUG( "\n\nEntity EQL response:" );            DEBUG( "	Size:" + res.size() );        }        return res;    }    /*     * No javadoc     * @see AbstractGRAction#callEQLManagerForCount     */    protected int callEQLManagerForCount()        throws EQLException {        int count = 0;		if( builtinCount || reqDistinct ) {            //            // Use built-in method in EQLManager.            //            if( getLogger().isDebugEnabled() ) {                DEBUG( "\n\nCall EQLManager for count" );            }            count = ctx.getEQLManager().selectCount( ctx.getSC(), getEQLRes() );        } else {            //            // Count via aggregate COUNT function!            //            // reset EQL prepared statement            EQLIntPreparedStatement countEqlPS = eqlPS.reset();            // remove "pageSize" and "page" attribues from meta            meta.delParam( PAGE_SIZE_PARAM );            meta.delParam( PAGE_PARAM );            if( getLogger().isDebugEnabled() ) {                DEBUG( "\n\nSend aggregate request to EQLManager for count:" );                DEBUG( "	EQL count query:\n" + eqlCountQuery );                DEBUG( "	EQL prepared statement: " + countEqlPS );                DEBUG( "	EQL meta: " + meta );            }            EQLRes countRes = ctx.getEQLManager().select( ctx.getSC(), eqlCountQuery, countEqlPS, meta );            if( countRes.size() > 0 ) {                Integer i = countRes.getRecord( 0 ).getResCell( 0 ).getInteger();                if( i != null ) {                    count = i.intValue();                }            }        }        if( getLogger().isDebugEnabled() ) {            DEBUG( "\n\nEQL count response: " + count );        }        return count;    }    /*     * No javadoc     * @see AbstractGRAction#createResRecords     */    protected ResRecord[] createResRecords( EQLRes eqlRes )        throws EQLException {        // list of records        List<ResRecord> resRecordList = new ArrayList<ResRecord>();        int recordCount = ( eqlRes == null ) ? 0 : eqlRes.size();        for( int i = 0; i < recordCount; i++ ) {            // create new record            ResRecord resRecord = createResRecord( eqlRes, i );            resRecordList.add( resRecord );        }        return( resRecordList.size() == 0 ) ? null :            ( ResRecord[] ) resRecordList.toArray( new ResRecord[0] );    }    /*     * No javadoc     * @see AbstractGRAction#createResRecords     */    protected void createResRecords( EQLRes eqlRes, Writer writer )        throws EQLException {        int recordCount = ( eqlRes == null ) ? 0 : eqlRes.size();        if( recordCount == 0 ) {            return;        }        // get XML binding        XMLBinding xmlBinding = XMLFactory.getXMLBinding();        // init temp writer        StringWriter tmpWriter = new StringWriter();        for( int i = 0; i < recordCount; i++ ) {            try {                // create new record                ResRecord resRecord = createResRecord( eqlRes, i );                // serialize ResRecord to temp writer                xmlBinding.javaToXml( resRecord, tmpWriter );                // write to the original writer without <?xml ...?>                writer.write( StringHelper.clearXml( tmpWriter.toString(), false ) );                // reset temp writer                tmpWriter.getBuffer().delete( 0, tmpWriter.getBuffer().length() - 1 );            } catch( IOException ex ) {                ERROR( ex );                throw new GenericSystemException( "IO exception: " + ex.getMessage(), ex );            } catch( OutOfMemoryError e ) {                // caught OutOfMemoryError...                ERROR( "Out Of Memeory Error occured diring reading result record: " );                ERROR( "	record: " + i );                ERROR( "	total: " + recordCount );                throw e;            }        }    }    /*     * No javadoc     * @see AbstractGRAction#buildEQLSelectClause     */    protected void buildEQLSelectClause( StringBuffer eql ) {        eql.append(reqEntity.getName()).append(EntityHelper.NAME_SEPARATOR).append("*");    }    /*     * No javadoc     * @see AbstractGRAction#buildEQLOrderClause     */    protected void buildEQLOrderClause( StringBuffer eql ) {        // add sort field        String sortField = reqEntity.getSortfield();        if( sortField != null ) {            eql.append( " ORDER BY " );            eql.append( reqEntity.getName() ).append( "." ).append( sortField );            OrderDirectionSType orderType = reqEntity.getSortdir();            if( orderType != null ) {                eql.append( " " ).append( orderType.toString().toUpperCase() );            }        }    }    /*     * No javadoc     * @see AbstractGRAction#buildEQLRequestMetaInf     */    protected void buildEQLRequestMetaInf( StringBuffer eql ) {        boolean metaDistinct = false;        int metaPage = UNDEFINED_PAGE;        int metaPagesize = UNDEFINED_PAGESIZE;        boolean metaUseBuiltinCount = false;        // read meta from XML Entity document        int count = entity.getMetainfCount();        for( int i = 0; i < count; i++ ) {            Metainf metaInf = entity.getMetainf( i );            String name = metaInf.getName();            String value = metaInf.getValue();            try {                if( name.equalsIgnoreCase( DISTINCT_PARAM ) ) {                    metaDistinct = StringHelper.str2bool( value );                } else if( name.equalsIgnoreCase( PAGE_PARAM ) ) {                    metaPage = Integer.parseInt( value );                } else if( name.equalsIgnoreCase( PAGE_SIZE_PARAM ) ) {                    metaPagesize = Integer.parseInt( value );                } else if( name.equalsIgnoreCase( USE_BUILTIN_COUNT_PARAM ) ) {                    metaUseBuiltinCount = StringHelper.str2bool( value );                }            } catch( Exception ex ) {                throw new GenericSystemException( "Incorrect meta parameter value '" +                                                  value + "'. Parameter: " + name );            }        }        if( metaPage == UNDEFINED_PAGE ) {            metaPage = page;        }        if( metaPagesize == UNDEFINED_PAGESIZE ) {            metaPagesize = pageSize;        }        eql.append( "/* " );        // set DISTINCT attribute        if( metaDistinct ) {            // .. init distinct flag            distinct = metaDistinct;            eql.append( DISTINCT_PARAM ).append( "=" ).append( metaDistinct ).append( "," );        }        // set PAGE attribute        if( metaPage != UNDEFINED_PAGE ) {            eql.append( PAGE_PARAM ).append( "=" ).append( metaPage ).append( "," );        }        // set PAGESIZE attribute        if( metaPagesize != UNDEFINED_PAGESIZE ) {            eql.append( PAGE_SIZE_PARAM ).append( "=" ).append( metaPagesize ).append( "," );        }        // remember 'Use built-in Count method' attribute        if( metaUseBuiltinCount ) {            builtinCount = metaUseBuiltinCount;        }        eql.append( " */ " );    }    /**     * Build EQL COUNT clause     * @param eql EQL string     */    protected void buildEQLCountClause( StringBuffer eql ) {        eql.append( "COUNT(" ).append( getFields()[0].getId() ).append( ")" );    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -