Bug with "newpage" keyword and show image in svg and ascii art

0 votes
asked Nov 15, 2013 in Bug by nickqueen (140 points)

This is the sample code in the book: PlantUML_Language_Reference_Guide.pdf

@startuml
Alice -> Bob : message 1
Alice -> Bob : message 2
newpage
Alice -> Bob : message 3
Alice -> Bob : message 4
newpage A title for the\nlast page
Alice -> Bob : message 5
Alice -> Bob : message 6
An error has occured : java.lang.UnsupportedOperationException: NEWPAGE                                                     
Surrender may be our only option.                                                                                           
                                                                                                                            
PlantUML (7986beta) cannot parse result from dot/GraphViz.                                                                  
                                                                                                                            
This may be caused by :                                                                                                     
 - a bug in PlantUML                                                                                                        
 - a problem in GraphViz                                                                                                    
                                                                                                                            
 to solve this issue.diagram and this image to                                                                              
You can try to turn arround this issue by simplifing your diagram.                                                          
                                                                                                                            
java.lang.UnsupportedOperationException: NEWPAGE                                                                            
  net.sourceforge.plantuml.asciiart.TextSkin.createComponent(TextSkin.java:104)                                             
  net.sourceforge.plantuml.sequencediagram.graphic.DrawableSetInitializer.prepareNewpage(DrawableSetInitializer.java:368)   
  net.sourceforge.plantuml.sequencediagram.graphic.DrawableSetInitializer.createDrawableSet(DrawableSetInitializer.java:201)
  net.sourceforge.plantuml.sequencediagram.graphic.SequenceDiagramTxtMaker.<init>(SequenceDiagramTxtMaker.java:92)          
  net.sourceforge.plantuml.sequencediagram.SequenceDiagram.getSequenceDiagramPngMaker(SequenceDiagram.java:192)             
  net.sourceforge.plantuml.sequencediagram.SequenceDiagram.exportDiagramInternal(SequenceDiagram.java:201)                  
  net.sourceforge.plantuml.UmlDiagram.exportDiagram(UmlDiagram.java:222)                                                    
  net.sourceforge.plantuml.SourceStringReader.generateImage(SourceStringReader.java:108)                                    
  net.sourceforge.plantuml.SourceStringReader.generateImage(SourceStringReader.java:90)                                     
  net.sourceforge.plantuml.servlet.DiagramResponse.sendDiagram(DiagramResponse.java:72)                                     
  net.sourceforge.plantuml.servlet.UmlDiagramService.doGet(UmlDiagramService.java:56)                                       
  javax.servlet.http.HttpServlet.service(HttpServlet.java:735)                                                              
  javax.servlet.http.HttpServlet.service(HttpServlet.java:848)                                                              
  org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:669)                                                    
  org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:457)                                                
  org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137)                                             
  org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:533)                                               
  org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231)                                         
  org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1075)                                        
  org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:384)                                                 
  org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193)                                          
  org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1009)                                         
  org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135)                                             
  org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:255)                       
  org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:154)                                     
  org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)                                           
  org.eclipse.jetty.server.Server.handle(Server.java:368)                                                                   
  org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:488)                            
  org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:932)                           
  org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:994)            
  org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:640)                                                          
  org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235)                                                     
  org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82)                                          
  org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:628)                                     
  org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:52)                                       
  org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608)                                          
  org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543)                                           
  java.lang.Thread.run(Thread.java:722)                                                                                     

This is good tool

1 Answer

0 votes
answered Nov 17, 2013 by plantuml (295,000 points)
In V7986, this is not crashing anymore.

However, the diagrams (in ASCII mode) are not splitted : this is quite annoying to implement, so please tell us if this is really mandatory for you.

Thanks,
commented Oct 15, 2014 by albert (3,520 points)
For me it is not 100% necessary but it would be more consistent with the other output formats. Currently e.g. when having 2 newpage commands 3 files are generated, all 3 with the same full content. I think that either there should be 3 separate files with the different parts or there should only be 1 file (and this should also be mentioned in the manual / help.
...