| 243 |
243 |
}
|
| 244 |
244 |
|
| 245 |
245 |
try {
|
| 246 |
|
startsEngineManagers(monitor);
|
|
246 |
startEnginesManagers(monitor);
|
| 247 |
247 |
} catch (Exception e) {
|
| 248 |
248 |
Log.severe("Error while starting engines.");
|
| 249 |
249 |
e.printStackTrace();
|
| ... | ... | |
| 476 |
476 |
*/
|
| 477 |
477 |
public static void shutdown() {
|
| 478 |
478 |
|
| 479 |
|
stopEngineManagers();
|
|
479 |
stopEnginesManagers();
|
| 480 |
480 |
|
| 481 |
481 |
if(Toolbox.workspace != null)
|
| 482 |
482 |
Toolbox.workspace.save();
|
| ... | ... | |
| 521 |
521 |
}
|
| 522 |
522 |
}
|
| 523 |
523 |
|
| 524 |
|
private static boolean startsEngineManagers(IProgressMonitor monitor) {
|
|
524 |
private static boolean startEnginesManagers(IProgressMonitor monitor) {
|
| 525 |
525 |
|
| 526 |
526 |
fetchEnginesManagers();
|
| 527 |
527 |
|
| 528 |
|
Log.info("Starting " + enginesManagers.keySet().size() + " engines managers...");
|
|
528 |
Log.finest("Starting engines of the " + enginesManagers.keySet().size() + " engines managers...");
|
| 529 |
529 |
|
| 530 |
530 |
boolean result = true;
|
| 531 |
531 |
for (EngineType et : enginesManagers.keySet()) {
|
|
532 |
EnginesManager<?> enginesManager = enginesManagers.get(et);
|
| 532 |
533 |
try {
|
| 533 |
|
EnginesManager<?> e = enginesManagers.get(et);
|
| 534 |
|
Log.info("Starting engines manager: " + e.getClass());
|
| 535 |
|
result = e.startEngines(monitor) && result; // order is important
|
|
534 |
Log.finest(enginesManager.getClass().getSimpleName() + ": starting " + enginesManager.getEngines().size() + " " + enginesManager.getEnginesDescription() + " engine(s)...");
|
|
535 |
result = enginesManager.startEngines(monitor) && result; // order is important
|
| 536 |
536 |
} catch(Exception e) {
|
| 537 |
|
Log.severe("Error while starting engine manager.");
|
|
537 |
Log.severe("Error while starting engines of the " + enginesManager.getEnginesDescription() + " engines manager.");
|
| 538 |
538 |
e.printStackTrace();
|
| 539 |
539 |
}
|
| 540 |
540 |
}
|
| 541 |
541 |
return result;
|
| 542 |
542 |
}
|
| 543 |
543 |
|
|
544 |
private static boolean stopEnginesManagers() {
|
|
545 |
|
|
546 |
Log.finest("Stopping engines of the " + enginesManagers.keySet().size() + " engines managers...");
|
|
547 |
|
|
548 |
if (enginesManagers == null) return true;
|
|
549 |
if (enginesManagers.size() == 0) return true;
|
|
550 |
|
|
551 |
boolean result = true;
|
|
552 |
for (EngineType et : enginesManagers.keySet()) {
|
|
553 |
EnginesManager<?> enginesManager = enginesManagers.get(et);
|
|
554 |
Log.finest(enginesManager.getClass().getSimpleName() + ": stopping " + enginesManager.getEngines().size() + " " + enginesManager.getEnginesDescription() + " engine(s)...");
|
|
555 |
result = result && enginesManager.stopEngines();
|
|
556 |
removeEngineManager(enginesManager); // remove the engine anyway
|
|
557 |
}
|
|
558 |
|
|
559 |
return true;
|
|
560 |
}
|
|
561 |
|
|
562 |
|
|
563 |
|
| 544 |
564 |
private static boolean startWorkspace(IProgressMonitor monitor) {
|
| 545 |
565 |
String txmhomedir = TXMPreferences.getString(TBXPreferences.USER_TXM_HOME, TBXPreferences.PREFERENCES_NODE);
|
| 546 |
566 |
if (txmhomedir == null || txmhomedir.length() == 0) {
|
| ... | ... | |
| 551 |
571 |
String location = txmhomedir + "/workspaces/default.xml";
|
| 552 |
572 |
|
| 553 |
573 |
Version currentVersion = BundleUtils.getBundleVersion("org.txm.core");
|
| 554 |
|
Log.info("Current toolbox version: " + currentVersion);
|
|
574 |
Log.info("Current toolbox version: " + currentVersion + ".");
|
| 555 |
575 |
String installedVersionString = TXMPreferences.getString(TBXPreferences.VERSION, TBXPreferences.PREFERENCES_NODE);
|
| 556 |
576 |
if (installedVersionString.isEmpty()) {
|
| 557 |
577 |
installedVersionString = "0.0.0";
|
| 558 |
578 |
}
|
| 559 |
579 |
Version installedVersion = new Version(installedVersionString);
|
| 560 |
|
Log.info("Installed toolbox version: " + installedVersion);
|
|
580 |
Log.info("Installed toolbox version: " + installedVersion + ".");
|
| 561 |
581 |
try {
|
| 562 |
582 |
|
| 563 |
583 |
//System.out.println("Toolbox.startWorkspace(): workspace location = " + location);
|
| ... | ... | |
| 617 |
637 |
return workspace != null;
|
| 618 |
638 |
}
|
| 619 |
639 |
|
| 620 |
|
private static boolean stopEngineManagers() {
|
| 621 |
|
|
| 622 |
|
if (enginesManagers == null) return true;
|
| 623 |
|
if (enginesManagers.size() == 0) return true;
|
| 624 |
|
|
| 625 |
|
boolean result = true;
|
| 626 |
|
for (EngineType c : enginesManagers.keySet()) {
|
| 627 |
|
EnginesManager<?> e = enginesManagers.get(c);
|
| 628 |
|
Log.info("Disconnect&stop engine: "+e.getClass());
|
| 629 |
|
result = result && e.stopEngines();
|
| 630 |
|
removeEngineManager(e); // remove the engine anyway
|
| 631 |
|
}
|
| 632 |
|
|
| 633 |
|
return true;
|
| 634 |
|
}
|
| 635 |
|
|
| 636 |
640 |
/* (non-Javadoc)
|
| 637 |
641 |
* @see java.lang.Object#finalize()
|
| 638 |
642 |
*/
|