FormulaDataSource.java 文件源码

java
阅读 17 收藏 0 点赞 0 评论 0

项目:neoscada 作者:
/**
 * Handle data change
 */
@Override
protected synchronized void handleChange ( final Map<String, DataSourceHandler> sources )
{
    if ( this.inputFormula == null || this.inputFormula.isEmpty () )
    {
        updateData ( null );
        return;
    }

    try
    {
        final Map<String, Integer> flags = new HashMap<String, Integer> ( 4 );
        final Map<String, Object> values = new HashMap<String, Object> ( sources.size () );

        gatherData ( sources, flags, values );

        for ( final Map.Entry<String, Object> entry : values.entrySet () )
        {
            this.scriptContext.setAttribute ( entry.getKey (), entry.getValue (), ScriptContext.ENGINE_SCOPE );
        }

        // execute inputFormula
        executeScript ( this.inputFormula, this.inputScript, flags );
    }
    catch ( final Throwable e )
    {
        logger.info ( "Failed to evaluate", e );
        logger.debug ( "Failed script: {}", this.inputFormula );
        setError ( e );
    }
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号