Lines 46-51
Link Here
|
46 |
private J2eePlatformImpl j2eePlatformImpl; |
46 |
private J2eePlatformImpl j2eePlatformImpl; |
47 |
private StartServer startServer; |
47 |
private StartServer startServer; |
48 |
private FindJSPServlet findJSPServlet; |
48 |
private FindJSPServlet findJSPServlet; |
|
|
49 |
private final Set targetsStartedByIde = new HashSet(); // valued by target name |
49 |
private Map targets; // keyed by target name, valued by ServerTarget |
50 |
private Map targets; // keyed by target name, valued by ServerTarget |
50 |
private boolean managerStartedByIde = false; |
51 |
private boolean managerStartedByIde = false; |
51 |
private ServerTarget coTarget = null; |
52 |
private ServerTarget coTarget = null; |
Lines 174-179
Link Here
|
174 |
String title = NbBundle.getMessage(ServerInstance.class, "LBL_StopServerProgressMonitor", displayName); |
175 |
String title = NbBundle.getMessage(ServerInstance.class, "LBL_StopServerProgressMonitor", displayName); |
175 |
DeployProgressUI ui = new DeployProgressMonitor(title, false, true); // modeless with stop/cancel buttons |
176 |
DeployProgressUI ui = new DeployProgressMonitor(title, false, true); // modeless with stop/cancel buttons |
176 |
|
177 |
|
|
|
178 |
for (Iterator i=targetsStartedByIde.iterator(); i.hasNext(); ){ |
179 |
String targetName = (String) i.next(); |
180 |
ServerTarget serverTarget = getServerTarget(targetName); |
181 |
if (serverTarget != null) { |
182 |
_stop(serverTarget.getTarget(), ui); |
183 |
} |
184 |
} |
185 |
|
177 |
stop(ui); |
186 |
stop(ui); |
178 |
ServerRegistry.getInstance().removeServerInstance(getUrl()); |
187 |
ServerRegistry.getInstance().removeServerInstance(getUrl()); |
179 |
} |
188 |
} |
Lines 304-309
Link Here
|
304 |
return managerStartedByIde; |
313 |
return managerStartedByIde; |
305 |
} |
314 |
} |
306 |
|
315 |
|
|
|
316 |
/** |
317 |
* Return set of ServerTarget's that have been started from inside IDE. |
318 |
* @return set of ServerTarget objects. |
319 |
*/ |
320 |
public Set getTargetsStartedByIde() { |
321 |
Set ret = new HashSet(); |
322 |
for (Iterator i=targetsStartedByIde.iterator(); i.hasNext(); ) { |
323 |
String targetName = (String) i.next(); |
324 |
ret.add(getServerTarget(targetName)); |
325 |
} |
326 |
return ret; |
327 |
} |
328 |
|
307 |
//----------- State Transistion API's: ---------------------- |
329 |
//----------- State Transistion API's: ---------------------- |
308 |
// Note: configuration needs |
330 |
// Note: configuration needs |
309 |
/** |
331 |
/** |
Lines 442-454
Link Here
|
442 |
if (ss.isDebuggable(target)) { |
464 |
if (ss.isDebuggable(target)) { |
443 |
return true; |
465 |
return true; |
444 |
} |
466 |
} |
445 |
//if (! _stop(target, ui)) { |
467 |
if (! _stop(target, ui)) { |
446 |
// return false; |
468 |
return false; |
447 |
//} |
469 |
} |
448 |
return _startDebug(target, ui); |
470 |
return _startDebug(target, ui); |
449 |
} else { |
471 |
} else { |
450 |
//return _start(target, ui); |
472 |
return _start(target, ui); |
451 |
return true; |
|
|
452 |
} |
473 |
} |
453 |
} |
474 |
} |
454 |
} |
475 |
} |
Lines 608-613
Link Here
|
608 |
managerStartedByIde = false; |
629 |
managerStartedByIde = false; |
609 |
refresh(ServerState.STOPPED); |
630 |
refresh(ServerState.STOPPED); |
610 |
return true; |
631 |
return true; |
|
|
632 |
|
633 |
} finally { |
634 |
if (ui != null) { |
635 |
ui.removeCancelHandler(ch); |
636 |
ui.setProgressObject(null); |
637 |
} |
638 |
if (po != null) { |
639 |
po.removeProgressListener(handler); |
640 |
} |
641 |
} |
642 |
} |
643 |
|
644 |
private boolean _start(Target target, DeployProgressUI ui) { |
645 |
ServerTarget serverTarget = getServerTarget(target.getName()); |
646 |
if (serverTarget.isRunning()) |
647 |
return true; |
648 |
|
649 |
String displayName = target.getName(); |
650 |
output(ui, NbBundle.getMessage(ServerInstance.class, "MSG_StartingServer", displayName)); |
651 |
DeployProgressUI.CancelHandler ch = getCancelHandler(); |
652 |
StartProgressHandler handler = new StartProgressHandler(); |
653 |
ProgressObject po = null; |
654 |
if (ui != null) { |
655 |
ui.addCancelHandler(ch); |
656 |
} |
657 |
|
658 |
try { |
659 |
setCommandSucceeded(false); |
660 |
po = serverTarget.start(); |
661 |
if (ui != null) { |
662 |
ui.setProgressObject(po); |
663 |
} |
664 |
po.addProgressListener(handler); |
665 |
|
666 |
String error = null; |
667 |
if (isProgressing(po)) { |
668 |
// wait until done or cancelled |
669 |
boolean done = sleep(); |
670 |
if (! done) { |
671 |
error = NbBundle.getMessage(ServerInstance.class, "MSG_StartServerTimeout", displayName); |
672 |
} else if (ui != null && ui.checkCancelled()) { |
673 |
error = NbBundle.getMessage(ServerInstance.class, "MSG_StartServerCancelled", displayName); |
674 |
} else if (! hasCommandSucceeded()) { |
675 |
return false; |
676 |
} |
677 |
} else if (hasFailed(po)) { |
678 |
return false; |
679 |
} |
680 |
|
681 |
if (error != null) { |
682 |
outputError(ui, error); |
683 |
return false; |
684 |
} else { |
685 |
targetsStartedByIde.add(serverTarget.getName()); |
686 |
return true; |
687 |
} |
688 |
|
689 |
} finally { |
690 |
if (ui != null) { |
691 |
ui.removeCancelHandler(ch); |
692 |
ui.setProgressObject(null); |
693 |
} |
694 |
if (po != null) { |
695 |
po.removeProgressListener(handler); |
696 |
} |
697 |
} |
698 |
} |
699 |
|
700 |
private boolean _stop(Target target, DeployProgressUI ui) { |
701 |
ServerTarget serverTarget = getServerTarget(target.getName()); |
702 |
if (serverTarget.isRunning()) |
703 |
return true; |
704 |
|
705 |
String displayName = target.getName(); |
706 |
output(ui, NbBundle.getMessage(ServerInstance.class, "MSG_StoppingServer", displayName)); |
707 |
DeployProgressUI.CancelHandler ch = getCancelHandler(); |
708 |
StartProgressHandler handler = new StartProgressHandler(); |
709 |
ProgressObject po = null; |
710 |
if (ui != null) { |
711 |
ui.addCancelHandler(ch); |
712 |
} |
713 |
|
714 |
try { |
715 |
setCommandSucceeded(false); |
716 |
po = serverTarget.stop(); |
717 |
if (ui != null) { |
718 |
ui.setProgressObject(po); |
719 |
} |
720 |
po.addProgressListener(handler); |
721 |
|
722 |
String error = null; |
723 |
if (isProgressing(po)) { |
724 |
// wait until done or cancelled |
725 |
boolean done = sleep(); |
726 |
if (! done) { |
727 |
error = NbBundle.getMessage(ServerInstance.class, "MSG_StopServerTimeout", displayName); |
728 |
} else if (ui != null && ui.checkCancelled()) { |
729 |
error = NbBundle.getMessage(ServerInstance.class, "MSG_StopServerCancelled", displayName); |
730 |
} else if (! hasCommandSucceeded()) { |
731 |
return false; |
732 |
} |
733 |
} else if (hasFailed(po)) { |
734 |
return false; |
735 |
} |
736 |
|
737 |
if (error != null) { |
738 |
outputError(ui, error); |
739 |
return false; |
740 |
} else { |
741 |
targetsStartedByIde.remove(serverTarget.getName()); |
742 |
return true; |
743 |
} |
611 |
|
744 |
|
612 |
} finally { |
745 |
} finally { |
613 |
if (ui != null) { |
746 |
if (ui != null) { |