public Operation exec()

in owners/src/main/java/gerrit_owners/PRED_owner_2.java [62:86]


    public Operation exec(Prolog engine) throws PrologException {
      Term a1 = engine.r1;
      Term a2 = engine.r2;
      Term a3 = engine.r3;

      @SuppressWarnings("unchecked")
      Iterator<Map.Entry<String, Account.Id>> iter =
          (Iterator<Map.Entry<String, Account.Id>>) ((JavaObjectTerm) a3).object();
      while (iter.hasNext()) {
        Map.Entry<String, Account.Id> entry = iter.next();

        SymbolTerm path = SymbolTerm.create(entry.getKey());
        if (!a1.unify(path, engine.trail)) {
          continue;
        }

        StructureTerm user = new StructureTerm("user", new IntegerTerm(entry.getValue().get()));
        if (!a2.unify(user, engine.trail)) {
          continue;
        }

        return engine.cont;
      }
      return engine.fail();
    }