package bluej.pkgmgr.actions;

import bluej.Config;
import bluej.pkgmgr.PkgMgrFrame;
import bluej.utility.DialogManager;
import bluej.utility.FileUtility;

import java.io.File;
import java.io.IOException;
import java.nio.file.Files;

public class InteractiveTutorialAction
extends PkgMgrAction{    
   public InteractiveTutorialAction(PkgMgrFrame pmf)
   {
      super(pmf, "menu.help.tutorial");     
      }

   
   @Override
   
   public void actionPerformed(PkgMgrFrame pmf)
   {
      pmf.menuCall();
       
      try
       {            
         
         
         File dir = Files.createTempDirectory("tutorial").toFile();
         dir.deleteOnExit();

           
         
         dir = new File(dir, "tutorial");

           
         int result = FileUtility.copyDirectory(new File(Config.getBlueJLibDir(), "tutorial"), dir);

         switch (result)
           {                
            case FileUtility.NO_ERROR:
                   
            
            PkgMgrFrame.doOpen(dir, pmf);
                   
            break;

               
            case FileUtility.DEST_EXISTS_NOT_DIR:
            DialogManager.showErrorFX(null, "directory-exists-file");
                   
            break;

               
            case FileUtility.DEST_EXISTS_NON_EMPTY:
            DialogManager.showErrorFX(null, "directory-exists-non-empty");
                   
            break;

               
            case FileUtility.SRC_NOT_DIRECTORY:
               
            case FileUtility.COPY_ERROR:
            DialogManager.showErrorFX(null, "cannot-save-project");
                   
            break;             
            }          
         }
       
      catch (IOException e)
       {
         DialogManager.showErrorTextFX(pmf.getFXWindow(), e.getLocalizedMessage());         
         }     
      } 
   }
top, use, map, class InteractiveTutorialAction

.   InteractiveTutorialAction
.   actionPerformed




70 neLoCode + 0 LoComm