Revision 3 trunk/org.gvsig.customize.app/org.gvsig.customize.app.mainplugin/src/main/java/org/gvsig/customize/CustomizeTask.java

View differences:

CustomizeTask.java
648 648
            return;
649 649
        }
650 650

  
651
        boolean needRestart = false;
651 652
        SimpleTaskStatus taskStatus = new MyTaskStatus("Installing additional components");
653
        InstallPackagesPanel dialog = new InstallPackagesPanel(taskStatus);
652 654
        try {
653 655
            taskStatus.add();
654 656
            taskStatus.setAutoremove(true);
655 657

  
656 658
            showWindow(
657
                    new InstallPackagesPanel(taskStatus),
659
                    dialog,
658 660
                    "Terminating installation",
659 661
                    WindowManager.MODE.WINDOW
660 662
            );
......
683 685
                    }
684 686
                }
685 687
            }
686

  
687
            taskStatus.setRangeOfValues(1, packagesToInstall.size());
688
            for (int i = 0; i < packagesToInstall.size(); i++) {
689
                PackageInfo pkg = packagesToInstall.get(i);
690
                taskStatus.setCurValue(i + 1);
691
                taskStatus.message("Installing " + pkg.getCode());
692
                try {
693
                    logger.info("install package '" + pkg.getCode() + "'.");
694
                    installer.installPackage(pluginsManmager.getApplicationFolder(), pkg);
695
                } catch (Throwable th) {
696
                    logger.warn("can't install package '" + pkg.getCode() + "'.", th);
688
            if (!packagesToInstall.isEmpty()) {
689
                taskStatus.setRangeOfValues(1, packagesToInstall.size());
690
                for (int i = 0; i < packagesToInstall.size(); i++) {
691
                    PackageInfo pkg = packagesToInstall.get(i);
692
                    taskStatus.setCurValue(i + 1);
693
                    taskStatus.message("Installing " + pkg.getCode());
694
                    try {
695
                        logger.info("install package '" + pkg.getCode() + "'.");
696
                        installer.installPackage(pluginsManmager.getApplicationFolder(), pkg);
697
                        if (needRestart(installer,pkg)) {
698
                            needRestart = true;
699
                        }
700
                    } catch (Throwable th) {
701
                        logger.warn("can't install package '" + pkg.getCode() + "'.", th);
702
                    }
697 703
                }
704
                taskStatus.message("Installation terminated");
705
                taskStatus.terminate();
706
                setProperty("installAdditionalComponents", Boolean.FALSE);
707
                if (needRestart) {
708
                    dialog.message("Additional components installed succesfully. Restart applicaction.");
709
                } else {
710
                    dialog.message("Additional components installed succesfully.");
711
                }
712
            } else {
713
                taskStatus.message("Installation terminated");
714
                taskStatus.terminate();
715
                dialog.message("Additional components installed succesfully.");
698 716
            }
699
            taskStatus.message("Installation terminated");
700
            taskStatus.terminate();
701 717
            setProperty("installAdditionalComponents", Boolean.FALSE);
702

  
703 718
        } catch (Throwable th) {
704 719
            taskStatus.cancel();
720
            dialog.message("Problems installing additional components");
705 721
            logger.warn("can't install additional packages.", th);
706 722

  
707 723
        } finally {
......
709 725
        }
710 726
    }
711 727

  
728
    private boolean needRestart(InstallPackageService installer, PackageInfo pkg) {
729
//        return installer.needRestart(pkg);
730
        if( "plugin".equalsIgnoreCase(pkg.getType()) ) {
731
            return true;
732
        } else if( "symbols".equalsIgnoreCase(pkg.getType()) ) {
733
            return false;
734
        } else if( "jCRS_EPSG".equalsIgnoreCase(pkg.getType()) ) {
735
            return true;
736
        } else {
737
            return true;
738
        }
739
        
740
    }
712 741
}

Also available in: Unified diff