Revision 3 trunk/org.gvsig.customize.app/org.gvsig.customize.app.mainplugin/src/main/java/org/gvsig/customize/CustomizeTask.java
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