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 |
*/
|