From 1fdc24410b773bd6f0080319a815bd5caab9ea4e Mon Sep 17 00:00:00 2001 From: J-morag Date: Tue, 4 Apr 2023 09:33:30 +0300 Subject: [PATCH] limit the maximum length of a solution string representation. --- src/main/java/BasicMAPF/Solvers/Solution.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/main/java/BasicMAPF/Solvers/Solution.java b/src/main/java/BasicMAPF/Solvers/Solution.java index ca8248ba..6ca73d8c 100644 --- a/src/main/java/BasicMAPF/Solvers/Solution.java +++ b/src/main/java/BasicMAPF/Solvers/Solution.java @@ -16,6 +16,7 @@ * If the collection contains more than one plan, it is a solution to a Multi Agent Path Finding problem. */ public class Solution implements Iterable{ + private static final int looseMaxSolutionStringChars = 10000 /*lines*/ * 20 /*chars (roughly)*/; /** * A {@link Map}, mapping {@link Agent agents} to their {@link SingleAgentPlan plans}. */ @@ -259,6 +260,10 @@ public StringBuilder readableToString(){ Collections.sort(agents, Comparator.comparing(agent -> agent.iD)); for(Agent agent : agents){ sb.append(this.agentPlans.get(agent)); + if (sb.length() > looseMaxSolutionStringChars){ + sb.append("... (truncated)"); + break; + } } sb.append('\n'); return sb;