protected void scheduleExportJob() {
   FeatureExportInfo info = new FeatureExportInfo();
   info.toDirectory = exportPage.doExportToDirectory();
   info.exportSource = false;
   info.exportSourceBundle = false;
   info.allowBinaryCycles = false;
   info.exportMetadata = false;
   info.destinationDirectory = exportPage.getDestination();
   info.zipFileName = exportPage.getFileName();
   info.items = getPluginModels();
   String rootDirectory = "WEB-INF"; // $NON-NLS-1$
   WARProductExportOperation job =
       new WARProductExportOperation(
           info, PDEUIMessages.ProductExportJob_name, product, rootDirectory);
   job.setUser(true);
   job.setRule(ResourcesPlugin.getWorkspace().getRoot());
   job.schedule();
   job.setProperty(IProgressConstants.ICON_PROPERTY, PDEPluginImages.DESC_FEATURE_OBJ);
 }
 protected boolean confirmDelete() {
   boolean result = true;
   if (!exportPage.doExportToDirectory()) {
     File zipFile = new File(exportPage.getDestination(), exportPage.getFileName());
     if (zipFile.exists()) {
       String bind =
           NLS.bind(PDEUIMessages.BaseExportWizard_confirmReplace_desc, zipFile.getAbsolutePath());
       String confirmReplaceTitle = PDEUIMessages.BaseExportWizard_confirmReplace_title;
       boolean openQuestion =
           MessageDialog.openQuestion(getContainer().getShell(), confirmReplaceTitle, bind);
       if (!openQuestion) {
         result = false;
       } else {
         zipFile.delete();
       }
     }
   }
   return result;
 }
 public boolean canFinish() {
   boolean result = false;
   IWizardPage currentPage = getContainer().getCurrentPage();
   if (currentPage != null
       && currentPage.equals(exportPage)
       && exportPage.isPageComplete()
       && product != null) {
     result = true;
   }
   return result;
 }