Products | Versions |
---|---|
TIBCO BusinessEvents Enterprise Edition | 5.4.0 |
I have a R script which returns a list.
FraudDetectionList <- function(debitTime,debitAmount,averageMonthlyBalance) { debitTimeLength <- length(debitTime) debitAmountLength <- length(debitAmount) i<-2 #Need to make 3 debits to trigger FraudDetection rule. Hence first condition is to see time length(Number of time history values) is greater than 2 while(debitTimeLength>2) { while(i<debitTimeLength) { SumOfDebits <- 0 k<-debitTimeLength-i for(z in debitTimeLength:k) { SumOfDebits <- SumOfDebits+debitAmount[[z]] } if((debitTime[[debitTimeLength]]!=0) && (debitTime[[debitTimeLength]]-debitTime[[debitTimeLength-i]]<=FraudCriteria.interval) && (SumOfDebits>(FraudCriteria.debitsPercent*averageMonthlyBalance))) { result=list(TRUE,"FraudDetected") return(result) } else { i <- i+1 } } debitTimeLength <- debitTimeLength-1 i<-2 } result=list(FALSE,"OK") return(result) }How to receive Datalist from TIBCO Enterprise Runtime for R and extract its data in a TIBCO BusinessEvents Rule/Rulefunction?
Object[] TerrResult = Analytics.Engine.invokeTERRFunction("TerrEngine","FraudDetectionList",debitTime,debitAmount,averageMonthlyBalance); Object TerrResultList = TerrResult[0]; Object[] firstElement = Analytics.DataList.getElement(TerrResultListObject, 0); int fraudFlag = Number.valueOfString(firstElement[0]); Object[] secondElement = Analytics.DataList.getElement(TerrResultListObject, 1); String fraudMessage = secondElement[0];