예제 #1
0
  @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;
  }
예제 #2
0
 // The three next methods call to fireAllRules inside its code.
 @Override
 public void insertarHecho(Object fact) {
   ruleEngine.assertFact(fact);
 }