@Override public Update visitGoalDrop(String krFragment, SourceInfo info) throws ParserException { Update drop = super.visitGoalAdopt(krFragment, info); if (drop != null && !drop.getDeleteList().isEmpty()) { // TODO: message(properties) system throw new ParserException("cannot drop negative facts", info); } return drop; }
@Override public Update visitGoalAdopt(String krFragment, SourceInfo info) throws ParserException { Update adopt = super.visitGoalAdopt(krFragment, info); if (adopt != null && !adopt.getDeleteList().isEmpty()) { // TODO: message(properties) system throw new ParserException("cannot adopt negative facts", info); } return adopt; }
/** * See {@link #update(List, List)}. Deleting an {@link Update} is calling * update with the add and delete lists reversed. * * @param update * The update to be processed. * @throws MSTQueryException */ public Result delete(Update update) throws MSTQueryException { return update(update.getDeleteList(), update.getAddList()); }
/** * See {@link #update(List, List)}. * * @param update * The update to be processed. * @throws MSTQueryException */ public Result insert(Update update) throws MSTQueryException { return update(update.getAddList(), update.getDeleteList()); }
/** * Check that no beliefs are inserted/deleted that are already knowledge * * @param knowledgeDefined * @param knowledgeDeclared * @param beliefUpdates * all belief updates, both from inserts, deletes, and actionspecs. * @throws ParserException */ private void checkNoBeliefsInsertedAsKnowledge(Map<String, SourceInfo> knowledgeDefined, Map<String, SourceInfo> knowledgeDeclared, Set<Update> beliefUpdates) { for (Update update : beliefUpdates) { checkNoPredicatesBeliefAndKnowledge(knowledgeDefined, knowledgeDeclared, update.getAddList()); checkNoPredicatesBeliefAndKnowledge(knowledgeDefined, knowledgeDeclared, update.getDeleteList()); } }
for (DatabaseFormula formula : subject.getPositivePostcondition().getPostCondition().getDeleteList()) { try { super.getGraph().add(formula, false, true); for (DatabaseFormula formula : subject.getNegativePostcondition().getPostCondition().getDeleteList()) { try { super.getGraph().add(formula, true, false);
DeleteAction delete = (DeleteAction) action; for (DatabaseFormula formula : delete.getUpdate().getDeleteList()) { super.getGraph().add(formula, true, false);