@@ -139,10 +139,44 @@ public void setProgress(String msg) {
139139 },
140140 new ExecutionListener <Pair <ZipResult , String >>() {
141141 @ Override
142- public void done (Pair <ZipResult , String > result ) {}
142+ public void done (Pair <ZipResult , String > result ) {
143+ // back to GUI foreground at this point
144+ String originalExtension =
145+ filename .substring (filename .lastIndexOf ('.' )+1 );
146+
147+ filename = result .getFirst ().getDocumentName ().substring (
148+ 0 , result .getFirst ().getDocumentName ().lastIndexOf ('.' ))
149+ + "." + originalExtension ;
150+
151+ // we store the result in the session for the ExternalResourceRequestHandler
152+ VaadinSession .getCurrent ().setAttribute (
153+ SessionStorageKey .ZIPRESULT .name (), result .getFirst ());
154+
155+ appendLogMessage (
156+ Messages .getString ("ConverterPanel.progress2" ));
157+
158+ preview .setValue (result .getSecond ());
159+ resultCaption .setValue (
160+ Messages .getString (
161+ "ConverterPanel.previewTitle" , filename ));
162+ prepareForResultDownload ();
163+ progressBar .setVisible (false );
164+ }
143165
144166 @ Override
145- public void error (Throwable t ) {}
167+ public void error (Throwable t ) {
168+ // an error during background conversion
169+ LOGGER .log (Level .SEVERE , Messages .getString (
170+ "ConverterPanel.conversionErrorMsg" ), t );
171+ String message = t .getLocalizedMessage ();
172+ if (message == null ) {
173+ message = Messages .getString (
174+ "ConverterPanel.conversionErrorNullReplacement" );
175+ }
176+ appendLogMessage (Messages .getString (
177+ "ConverterPanel.errorLogMsg" , message ));
178+ progressBar .setVisible (false );
179+ }
146180 },
147181 new ProgressListener () {
148182
0 commit comments