ai.libs.jaicore.planning.classical.algorithms.strips.forward.StripsNodeInfoGenerator Maven / Gradle / Ivy
package ai.libs.jaicore.planning.classical.algorithms.strips.forward;
import java.util.List;
import java.util.stream.Collectors;
import ai.libs.jaicore.graphvisualizer.plugin.nodeinfo.NodeInfoGenerator;
public class StripsNodeInfoGenerator> implements NodeInfoGenerator {
@Override
public String generateInfoForNode(StripsForwardPlanningNode node) {
StringBuilder sb = new StringBuilder();
if (node.getActionToReachState() != null) {
sb.append("Applied Action
");
sb.append(node.getActionToReachState().getEncoding());
}
sb.append("Current Add List
");
List addMonomStrings = node.getAdd().stream().sorted((l1, l2) -> l1.getPropertyName().compareTo(l2.getPropertyName())).map(l -> l.toString(false)).collect(Collectors.toList());
sb.append("");
for (String literal : addMonomStrings) {
sb.append("- ");
sb.append(literal);
sb.append("
");
}
sb.append("
");
sb.append("Current Delete List
");
List delMonomStrings = node.getDel().stream().sorted((l1, l2) -> l1.getPropertyName().compareTo(l2.getPropertyName())).map(l -> l.toString(false)).collect(Collectors.toList());
sb.append("");
for (String literal : delMonomStrings) {
sb.append("- ");
sb.append(literal);
sb.append("
");
}
sb.append("
");
return sb.toString();
}
}