@Override public boolean procesarExtractedInfo(ExtractedInfo extrInfo) { // verificamos la cardinalidad del contenido de la informacion extraida. Si es mayor que uno se // trata de una // colección de elementos que seran enviados al motor // Metemos en el motor el contenido de extrInfo if (extrInfo == null) return false; if (!(extrInfo.isContentACollection())) { Object msgContent = extrInfo.getContenido(); ruleEngine.assertFact(msgContent); // ruleEngine.assertFact(extrInfo); // return true; } else { ArrayList aux = (ArrayList) extrInfo.getContenido(); ExtractedInfo extrInfoEnArray; Iterator it = aux.iterator(); while (it.hasNext()) { extrInfoEnArray = (ExtractedInfo) it.next(); if (extrInfoEnArray != null) { ruleEngine.assertFact(extrInfoEnArray); ruleEngine.assertFact(extrInfoEnArray.getContenido()); } } } // Opcional se puede anadir al motor el InfoExtracted o solo su contenido. Esto se podria // configurar // ruleEngine.assertFact(extrInfo); return true; }
// The three next methods call to fireAllRules inside its code. @Override public void insertarHecho(Object fact) { ruleEngine.assertFact(fact); }