Makes user defined areas available. Fixes issues that stem from the refactoring.
[taxeditor.git] / taxeditor-printpublisher / src / main / java / eu / etaxonomy / taxeditor / printpublisher / wizard / SelectServiceWizardPage.java
index 34cfb4f3d821b5139bf15e51290b4acb08ab7c2e..10643417aba98555509e127bab2d8293bd2e99ca 100644 (file)
 
 package eu.etaxonomy.taxeditor.printpublisher.wizard;
 
+import java.lang.reflect.InvocationTargetException;
 import java.net.MalformedURLException;
 
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.jface.operation.IRunnableWithProgress;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.events.ModifyEvent;
 import org.eclipse.swt.events.ModifyListener;
@@ -25,6 +28,7 @@ import org.eclipse.swt.widgets.Label;
 import org.eclipse.swt.widgets.Text;
 
 import eu.etaxonomy.cdm.print.PublishConfigurator;
+import eu.etaxonomy.taxeditor.model.CdmProgressMonitorAdapter;
 import eu.etaxonomy.taxeditor.store.CdmStore;
 import eu.etaxonomy.taxeditor.store.StoreUtil;
 
@@ -156,11 +160,27 @@ public class SelectServiceWizardPage extends AbstractPublishWizardPage {
        @Override
        public boolean canFlipToNextPage() {
                if(isPageComplete()){
-                       SelectTaxaWizardPage selectTaxaPage = (SelectTaxaWizardPage) getWizard().getPage(AbstractPublishWizard.PAGE_TAXA);                      
-                       selectTaxaPage.refresh();
-                       
-                       SelectFeatureTreeWizardPage selectFeatureTreePage = (SelectFeatureTreeWizardPage) getWizard().getPage(AbstractPublishWizard.PAGE_FEATURETREE);          
-                       selectFeatureTreePage.refresh();
+                       try {
+                               getContainer().run(false, false, new IRunnableWithProgress() {
+                                       
+                                       @Override
+                                       public void run(IProgressMonitor monitor) throws InvocationTargetException,
+                                                       InterruptedException {
+                                               getConfigurator().setProgressMonitor(CdmProgressMonitorAdapter.CreateMonitor(monitor));
+                                               
+                                               SelectTaxaWizardPage selectTaxaPage = (SelectTaxaWizardPage) getWizard().getPage(AbstractPublishWizard.PAGE_TAXA);                      
+                                               selectTaxaPage.refresh();
+                                               
+                                               SelectFeatureTreeWizardPage selectFeatureTreePage = (SelectFeatureTreeWizardPage) getWizard().getPage(AbstractPublishWizard.PAGE_FEATURETREE);          
+                                               selectFeatureTreePage.refresh();
+                                               
+                                       }
+                               });
+                       } catch (InvocationTargetException e) {
+                               PrintUtil.error(getClass(), e);
+                       } catch (InterruptedException e) {
+                               PrintUtil.error(getClass(), e);
+                       }
                        
                        return true;
                }