Santy, Michael wrote:
> I'm able to reproduce the numbers that you are seeing when editing a 
> document locally.  The issue appears to be with the latency in 
> fetching remote images.  XXE, even with all of my customizations, is 
> smokin' fast.
>  
> Like you said, our architecture is based around web start and every 
> document is loaded into a new editor.  We've also disabled the schema 
> cache.  So I expect XXE to take a few seconds to load.  XXE, up to the 
> point where the document view is being created, is great about reporting 
> the status of loading. 
>  
> Once the document is loaded and validated, XXE starts building the 
> view.  For each figure, it has to issue a request and wait for the 
> response.  The fetching of images appears to be happening sequentially 
> on a single thread.  If you multiply this latency by a few dozen images, 
> the time starts to add up.  During this process, there is no status 
> reported to the user.
>  
> I would like to show an indeterminate progress bar while the initial 
> document view is being built, because this process can take several 
> seconds.  Are there any events that are fired before and after the 
> initial document view is built?
>  

No.

--> The document view is built during the invocation of 
DocumentView.setDocument(Document). See 
http://www.xmlmind.com/xmleditor/_distrib/doc/api/com/xmlmind/xmledit/view/DocumentView.html#setDocument(com.xmlmind.xmledit.doc.Document)

--> At a higher level, this happens during the invocation of 
Editor.open(OpenedDocument, StyleSheetInfo). See 
http://www.xmlmind.com/xmleditor/_distrib/doc/api/com/xmlmind/xmleditapp/kit/Editor.html#open(com.xmlmind.xmleditapp.kit.OpenedDocument,%20com.xmlmind.xmledit.edit.StyleSheetInfo)

     public void open(OpenedDocument openedDoc,
                      StyleSheetInfo styleSheetInfo) {
         this.openedDoc = openedDoc;
         this.styleSheetInfo = styleSheetInfo;

         configureDocumentView();
         docView.setDocument(openedDoc.getDocument());
     }

--> This open() method is invoked in com.xmlmind.xmleditapp.app.Application

     public void addOpenedDocument(OpenedDocument openedDoc) {
         ...
         for (int i = 0; i < panes.length; ++i) {
             WindowLayoutInfo.Pane pane = panes[i];

             Editor editor = createEditor();
             editor.open(openedDoc, pane.getStyleSheetInfo());
             newEditors[i] = editor;

             addingEditor(editor);
         ...
     }

Reply via email to