/**
* 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 );
}
}
FormulaDataSource.java 文件源码
java
阅读 17
收藏 0
点赞 0
评论 0
项目:neoscada
作者:
评论列表
文章目录