diff --git a/pom.xml b/pom.xml index 68fc75d9c..cd40246ef 100644 --- a/pom.xml +++ b/pom.xml @@ -17,7 +17,7 @@ v1 UTF-8 - [3.6.0,3.7.0) + 3.6.0 org.cytoscape diff --git a/src/main/java/org/cytoscape/rest/internal/resource/NetworkViewResource.java b/src/main/java/org/cytoscape/rest/internal/resource/NetworkViewResource.java index 9cceed21c..e87d0a7d8 100644 --- a/src/main/java/org/cytoscape/rest/internal/resource/NetworkViewResource.java +++ b/src/main/java/org/cytoscape/rest/internal/resource/NetworkViewResource.java @@ -449,9 +449,19 @@ private Response getImageForView(String fileType, Long networkId, Long viewId, I private final Response imageGenerator(final String fileType, PresentationWriterFactory factory, final CyNetworkView view, int width, int height) { - final Collection> re = renderingEngineManager.getRenderingEngines(view); + Collection> re = renderingEngineManager.getRenderingEngines(view); + try { + for (int retry = 0; re.isEmpty() && retry < 20; retry++) { + System.out.println("No renderer available. Retry count: " + retry); + Thread.sleep(100); + re = renderingEngineManager.getRenderingEngines(view); + } + } catch (InterruptedException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } if (re.isEmpty()) { - throw new IllegalArgumentException("No rendering engine."); + throw new IllegalArgumentException("No rendering engine for {\"network\":" + view.getModel().getSUID() +", \"view\":" + view.getSUID() + "}"); } try { RenderingEngine engine = null;