Lines 965-971
Link Here
|
965 |
public void startDebug(ProgressUI ui) throws ServerException { |
965 |
public void startDebug(ProgressUI ui) throws ServerException { |
966 |
try { |
966 |
try { |
967 |
setServerState(STATE_WAITING); |
967 |
setServerState(STATE_WAITING); |
968 |
startTarget(null, ui, true); |
968 |
startTarget(null, ui, Deployment.Mode.DEBUG); |
969 |
_retrieveDebugInfo(null); |
969 |
_retrieveDebugInfo(null); |
970 |
} finally { |
970 |
} finally { |
971 |
refresh(); |
971 |
refresh(); |
Lines 997-1003
Link Here
|
997 |
try { |
997 |
try { |
998 |
setServerState(STATE_WAITING); |
998 |
setServerState(STATE_WAITING); |
999 |
// target == null - admin server |
999 |
// target == null - admin server |
1000 |
startProfileImpl(null, settings, forceRestart, ui); |
1000 |
_startProfile(null, settings, forceRestart, ui); |
1001 |
} finally { |
1001 |
} finally { |
1002 |
refresh(); |
1002 |
refresh(); |
1003 |
} |
1003 |
} |
Lines 1021-1027
Link Here
|
1021 |
if (stopped) { |
1021 |
if (stopped) { |
1022 |
// restart in the mode the server was running in before |
1022 |
// restart in the mode the server was running in before |
1023 |
if (inProfile) { |
1023 |
if (inProfile) { |
1024 |
startProfileImpl(null, profilerSettings, true, ui); |
1024 |
_startProfile(null, profilerSettings, true, ui); |
1025 |
} else if (inDebug) { |
1025 |
} else if (inDebug) { |
1026 |
startDebugTarget(null, ui); |
1026 |
startDebugTarget(null, ui); |
1027 |
} else { |
1027 |
} else { |
Lines 1075-1081
Link Here
|
1075 |
* @throws ServerException if the target cannot be started. |
1075 |
* @throws ServerException if the target cannot be started. |
1076 |
*/ |
1076 |
*/ |
1077 |
public void startTarget(Target target, ProgressUI ui) throws ServerException { |
1077 |
public void startTarget(Target target, ProgressUI ui) throws ServerException { |
1078 |
startTarget(target, ui, false); |
1078 |
startTarget(target, ui, Deployment.Mode.RUN); |
1079 |
} |
1079 |
} |
1080 |
|
1080 |
|
1081 |
/** |
1081 |
/** |
Lines 1087-1093
Link Here
|
1087 |
* @throws ServerException if the server cannot be started. |
1087 |
* @throws ServerException if the server cannot be started. |
1088 |
*/ |
1088 |
*/ |
1089 |
public void startDebugTarget(Target target, ProgressUI ui) throws ServerException { |
1089 |
public void startDebugTarget(Target target, ProgressUI ui) throws ServerException { |
1090 |
startTarget(target, ui, true); |
1090 |
startTarget(target, ui, Deployment.Mode.DEBUG); |
1091 |
_retrieveDebugInfo(target); |
1091 |
_retrieveDebugInfo(target); |
1092 |
} |
1092 |
} |
1093 |
|
1093 |
|
Lines 1203-1209
Link Here
|
1203 |
/** |
1203 |
/** |
1204 |
* @throws ServerException if the server cannot be started. |
1204 |
* @throws ServerException if the server cannot be started. |
1205 |
*/ |
1205 |
*/ |
1206 |
private void startTarget(Target target, ProgressUI ui, boolean debugMode) throws ServerException { |
1206 |
private void startTarget(Target target, ProgressUI ui, Deployment.Mode mode) throws ServerException { |
1207 |
StartServer ss = getStartServer(); |
1207 |
StartServer ss = getStartServer(); |
1208 |
|
1208 |
|
1209 |
// No StartServer, have to assume manually started |
1209 |
// No StartServer, have to assume manually started |
Lines 1221-1270
Link Here
|
1221 |
boolean needsRestart = ss.needsRestart(target); |
1221 |
boolean needsRestart = ss.needsRestart(target); |
1222 |
|
1222 |
|
1223 |
if (ss.isAlsoTargetServer(target)) { |
1223 |
if (ss.isAlsoTargetServer(target)) { |
1224 |
if (debugMode) { |
1224 |
switch(mode) { |
1225 |
if (ss.isDebuggable(target)) { // already running in debug mode |
1225 |
case PROFILE: { |
1226 |
if (! needsRestart) { |
1226 |
assert false; // should never come this far |
1227 |
return; |
1227 |
} |
|
|
1228 |
case DEBUG: { |
1229 |
if (ss.isDebuggable(target)) { // already running in debug mode |
1230 |
if (! needsRestart) { |
1231 |
return; |
1232 |
} |
1233 |
if (!canControlAdmin || !canDebug) { |
1234 |
String msg = NbBundle.getMessage(ServerInstance.class, "MSG_RestartingThisServerNotSupported", getDisplayName()); |
1235 |
throw new ServerException(msg); |
1236 |
} |
1237 |
_stop(ui); |
1238 |
} else if (isReallyRunning()) { // running but not debuggable |
1239 |
if (!canControlAdmin || !canDebug) { |
1240 |
String msg = NbBundle.getMessage(ServerInstance.class, "MSG_DebugginThisServerNotSupported", getDisplayName()); |
1241 |
throw new ServerException(msg); |
1242 |
} |
1243 |
_stop(ui); |
1228 |
} |
1244 |
} |
1229 |
if (!canControlAdmin || !canDebug) { |
1245 |
// the server is stopped now |
1230 |
String msg = NbBundle.getMessage(ServerInstance.class, "MSG_RestartingThisServerNotSupported", getDisplayName()); |
1246 |
if (!canDebug) { |
1231 |
throw new ServerException(msg); |
|
|
1232 |
} |
1233 |
_stop(ui); |
1234 |
} else if (isReallyRunning()) { // running but not debuggable |
1235 |
if (!canControlAdmin || !canDebug) { |
1236 |
String msg = NbBundle.getMessage(ServerInstance.class, "MSG_DebugginThisServerNotSupported", getDisplayName()); |
1247 |
String msg = NbBundle.getMessage(ServerInstance.class, "MSG_DebugginThisServerNotSupported", getDisplayName()); |
1237 |
throw new ServerException(msg); |
1248 |
throw new ServerException(msg); |
1238 |
} |
1249 |
} |
1239 |
_stop(ui); |
1250 |
// resolve conflicts with other servers |
1240 |
} |
1251 |
ConflictData cd = anotherServerDebuggable(target); |
1241 |
// the server is stopped now |
1252 |
if (cd != null) { // another server instance with the same parameters |
1242 |
if (!canDebug) { |
1253 |
resolveServerConflict(target, ui, cd); |
1243 |
String msg = NbBundle.getMessage(ServerInstance.class, "MSG_DebugginThisServerNotSupported", getDisplayName()); |
1254 |
} |
1244 |
throw new ServerException(msg); |
1255 |
_startDebug(target, ui); |
|
|
1256 |
break; |
1245 |
} |
1257 |
} |
1246 |
// resolve conflicts with other servers |
1258 |
case RUN: { |
1247 |
ConflictData cd = anotherServerDebuggable(target); |
1259 |
if (isReallyRunning()) { // already running |
1248 |
if (cd != null) { // another server instance with the same parameters |
1260 |
if (! needsRestart) { |
1249 |
resolveServerConflict(target, ui, cd); |
1261 |
return; |
1250 |
} |
1262 |
} |
1251 |
_startDebug(target, ui); |
1263 |
if (!canControlAdmin) { |
1252 |
} else { |
1264 |
String msg = NbBundle.getMessage(ServerInstance.class, "MSG_RestartingThisServerNotSupported", getDisplayName()); |
1253 |
if (isReallyRunning()) { // already running |
1265 |
throw new ServerException(msg); |
1254 |
if (! needsRestart) { |
1266 |
} |
1255 |
return; |
1267 |
_stop(ui); |
1256 |
} |
1268 |
} |
1257 |
if (!canControlAdmin) { |
1269 |
if (!canControlAdmin) { |
1258 |
String msg = NbBundle.getMessage(ServerInstance.class, "MSG_RestartingThisServerNotSupported", getDisplayName()); |
1270 |
String msg = NbBundle.getMessage(ServerInstance.class, "MSG_StartingThisServerNotSupported", getDisplayName()); |
1259 |
throw new ServerException(msg); |
1271 |
throw new ServerException(msg); |
1260 |
} |
1272 |
} |
1261 |
_stop(ui); |
1273 |
_start(ui); |
|
|
1274 |
break; |
1262 |
} |
1275 |
} |
1263 |
if (!canControlAdmin) { |
|
|
1264 |
String msg = NbBundle.getMessage(ServerInstance.class, "MSG_StartingThisServerNotSupported", getDisplayName()); |
1265 |
throw new ServerException(msg); |
1266 |
} |
1267 |
_start(ui); |
1268 |
} |
1276 |
} |
1269 |
} else { // not also target server |
1277 |
} else { // not also target server |
1270 |
// this block ensure a running admin server to control other targets |
1278 |
// this block ensure a running admin server to control other targets |
Lines 1275-1302
Link Here
|
1275 |
} |
1283 |
} |
1276 |
_start(ui); |
1284 |
_start(ui); |
1277 |
} |
1285 |
} |
1278 |
if (debugMode) { |
1286 |
switch (mode) { |
1279 |
if (ss.isDebuggable(target)) { |
1287 |
case DEBUG: { |
1280 |
if ( ! needsRestart) { |
1288 |
if (ss.isDebuggable(target)) { |
1281 |
return; |
1289 |
if ( ! needsRestart) { |
|
|
1290 |
return; |
1291 |
} |
1292 |
_stop(target, ui); |
1293 |
} else if (ss.isRunning(target)) { |
1294 |
_stop(target, ui); |
1282 |
} |
1295 |
} |
1283 |
_stop(target, ui); |
1296 |
ConflictData cd = anotherServerDebuggable(target); |
1284 |
} else if (ss.isRunning(target)) { |
1297 |
if (cd != null) { //another server instance with the same parameters |
1285 |
_stop(target, ui); |
1298 |
resolveServerConflict(target, ui, cd); |
|
|
1299 |
} |
1300 |
_startDebug(target, ui); |
1301 |
break; |
1286 |
} |
1302 |
} |
1287 |
ConflictData cd = anotherServerDebuggable(target); |
1303 |
case RUN: { |
1288 |
if (cd != null) { //another server instance with the same parameters |
1304 |
if (ss.isRunning(target)) { |
1289 |
resolveServerConflict(target, ui, cd); |
1305 |
if (! needsRestart) { |
|
|
1306 |
return; |
1307 |
} |
1308 |
_stop(target, ui); |
1309 |
} |
1310 |
_start(target, ui); |
1311 |
break; |
1290 |
} |
1312 |
} |
1291 |
_startDebug(target, ui); |
|
|
1292 |
} else { |
1293 |
if (ss.isRunning(target)) { |
1294 |
if (! needsRestart) { |
1295 |
return; |
1296 |
} |
1297 |
_stop(target, ui); |
1298 |
} |
1299 |
_start(target, ui); |
1300 |
} |
1313 |
} |
1301 |
} |
1314 |
} |
1302 |
} |
1315 |
} |
Lines 1345-1351
Link Here
|
1345 |
} |
1358 |
} |
1346 |
|
1359 |
|
1347 |
/** start server in the profile mode */ |
1360 |
/** start server in the profile mode */ |
1348 |
private void startProfileImpl( |
1361 |
private void _startProfile( |
1349 |
Target target, |
1362 |
Target target, |
1350 |
ProfilerServerSettings settings, |
1363 |
ProfilerServerSettings settings, |
1351 |
boolean forceRestart, |
1364 |
boolean forceRestart, |