Revision 3
trunk/org.gvsig.customize.app/org.gvsig.customize.app.mainplugin/src/main/java/org/gvsig/customize/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 |
} |
trunk/org.gvsig.customize.app/org.gvsig.customize.app.mainplugin/src/main/java/org/gvsig/customize/InstallPackagesPanel.java | ||
---|---|---|
28 | 28 |
//this.pnlProgress.setPreferredSize(this.jtaskStatus.getPreferredSize()); |
29 | 29 |
this.pnlProgress.add(this.jtaskStatus, BorderLayout.CENTER); |
30 | 30 |
|
31 |
this.taskStatus.addObserver(new Observer() { |
|
32 |
@Override |
|
33 |
public void update(Observable o, Object o1) { |
|
34 |
if( SwingUtilities.isEventDispatchThread() ) { |
|
35 |
doCheckTaskStatus(); |
|
36 |
} else { |
|
37 |
SwingUtilities.invokeLater(new Runnable() { |
|
38 |
@Override |
|
39 |
public void run() { |
|
40 |
doCheckTaskStatus(); |
|
41 |
} |
|
42 |
}); |
|
43 |
} |
|
44 |
} |
|
45 |
}); |
|
31 |
// this.taskStatus.addObserver(new Observer() {
|
|
32 |
// @Override
|
|
33 |
// public void update(Observable o, Object o1) {
|
|
34 |
// if( SwingUtilities.isEventDispatchThread() ) {
|
|
35 |
// doCheckTaskStatus();
|
|
36 |
// } else {
|
|
37 |
// SwingUtilities.invokeLater(new Runnable() {
|
|
38 |
// @Override
|
|
39 |
// public void run() {
|
|
40 |
// doCheckTaskStatus();
|
|
41 |
// }
|
|
42 |
// });
|
|
43 |
// }
|
|
44 |
// }
|
|
45 |
// });
|
|
46 | 46 |
this.jtaskStatus.bind(taskStatus); |
47 | 47 |
} |
48 |
|
|
49 |
public void message(String message) { |
|
50 |
this.lblMessage.setText(message); |
|
51 |
} |
|
48 | 52 |
|
49 |
private void doCheckTaskStatus() { |
|
50 |
if( this.taskStatus.isRunning() ) { |
|
51 |
return; |
|
52 |
} |
|
53 |
this.butClose.setEnabled(true); |
|
54 |
if( this.taskStatus.isAborted() ) { |
|
55 |
this.lblMessage.setText("Problems installing additional components"); |
|
56 |
} else { |
|
57 |
this.lblMessage.setText("Additional components installed succesfully. Restart applicaction."); |
|
58 |
} |
|
59 |
} |
|
53 |
// private void doCheckTaskStatus() {
|
|
54 |
// if( this.taskStatus.isRunning() ) {
|
|
55 |
// return;
|
|
56 |
// }
|
|
57 |
// this.butClose.setEnabled(true);
|
|
58 |
// if( this.taskStatus.isAborted() ) {
|
|
59 |
// this.lblMessage.setText("Problems installing additional components");
|
|
60 |
// } else {
|
|
61 |
// this.lblMessage.setText("Additional components installed succesfully. Restart applicaction.");
|
|
62 |
// }
|
|
63 |
// }
|
|
60 | 64 |
} |
Also available in: Unified diff