Révision 784
tmp/org.txm.statsengine.core/src/org/txm/statsengine/core/StatsEnginesManager.java (revision 784) | ||
---|---|---|
1 | 1 |
package org.txm.statsengine.core; |
2 | 2 |
|
3 |
import org.eclipse.core.runtime.CoreException; |
|
4 |
import org.eclipse.core.runtime.IConfigurationElement; |
|
5 |
import org.eclipse.core.runtime.IProgressMonitor; |
|
6 |
import org.eclipse.core.runtime.Platform; |
|
7 |
import org.txm.Engine; |
|
8 |
import org.txm.EngineType; |
|
9 |
import org.txm.EnginesManager; |
|
10 | 3 |
import org.txm.Toolbox; |
11 |
import org.txm.utils.logger.Log; |
|
4 |
import org.txm.core.engines.EngineType; |
|
5 |
import org.txm.core.engines.EnginesManager; |
|
12 | 6 |
|
7 |
/** |
|
8 |
* Statistics engines manager. |
|
9 |
* |
|
10 |
* @author mdecorde |
|
11 |
* @author sjacquot |
|
12 |
* |
|
13 |
*/ |
|
13 | 14 |
public class StatsEnginesManager extends EnginesManager<StatsEngine> { |
14 | 15 |
|
15 | 16 |
public static StatsEngine getREngine() { |
... | ... | |
17 | 18 |
} |
18 | 19 |
|
19 | 20 |
@Override |
20 |
protected boolean fetchEngines() { |
|
21 |
|
|
22 |
IConfigurationElement[] contributions = Platform.getExtensionRegistry().getConfigurationElementsFor(StatsEngine.EXTENSION_POINT_ID); |
|
23 |
|
|
24 |
Log.finest("Looking for stats engines contributions with extension point id " + StatsEngine.EXTENSION_POINT_ID + "."); |
|
25 |
|
|
26 |
Log.finest(contributions.length + " stats engines found."); |
|
27 |
|
|
28 |
for (int i = 0; i < contributions.length; i++) { |
|
29 |
try { |
|
30 |
StatsEngine e = (StatsEngine)contributions[i].createExecutableExtension("class"); //$NON-NLS-1$ |
|
31 |
// register something with the SearchEngine ? |
|
32 |
engines.put(e.getName(), e); |
|
33 |
} catch(CoreException e) { |
|
34 |
e.printStackTrace(); |
|
35 |
} |
|
36 |
} |
|
37 |
|
|
38 |
return engines.size() > 0; |
|
21 |
public boolean fetchEngines() { |
|
22 |
return this.fetchEngines(StatsEngine.EXTENSION_POINT_ID); |
|
39 | 23 |
} |
40 | 24 |
|
41 | 25 |
@Override |
... | ... | |
43 | 27 |
return EngineType.STATS; |
44 | 28 |
} |
45 | 29 |
|
46 |
@Override |
|
47 |
public boolean startEngines(IProgressMonitor monitor) { |
|
48 |
//System.out.println("StatEngines.startEngines: "+engines); |
|
49 |
for (Engine e : engines.values()) { |
|
50 |
|
|
51 |
StatsEngine se = (StatsEngine)e; |
|
52 |
if (monitor != null) monitor.subTask("Starting " + se.getName() + " statengine..."); |
|
53 |
try { |
|
54 |
se.start(monitor); |
|
55 |
} catch (Exception e2) { |
|
56 |
System.err.println("Error: fail to start stats engine: "+se.getName()+": "+e2.getLocalizedMessage()); |
|
57 |
e2.printStackTrace(); |
|
58 |
} |
|
59 |
|
|
60 |
} |
|
61 |
return true; |
|
62 |
} |
|
63 |
|
|
64 |
@Override |
|
65 |
public boolean stopEngines() { |
|
66 |
|
|
67 |
for (Engine e : engines.values()) { |
|
68 |
|
|
69 |
StatsEngine se = (StatsEngine)e; |
|
70 |
System.out.println("Stopping " + se.getName() + " stats engine..."); |
|
71 |
try { |
|
72 |
se.stop(); |
|
73 |
} catch (Exception e2) { |
|
74 |
System.err.println("Error: failed to stop stats engine: " + se.getName() + ": " + e2.getLocalizedMessage()); |
|
75 |
e2.printStackTrace(); |
|
76 |
} |
|
77 |
} |
|
78 |
return true; |
|
79 |
} |
|
80 | 30 |
} |
tmp/org.txm.statsengine.core/src/org/txm/statsengine/core/StatsEngine.java (revision 784) | ||
---|---|---|
1 | 1 |
package org.txm.statsengine.core; |
2 | 2 |
|
3 |
import org.txm.Engine; |
|
3 |
import org.txm.core.engines.Engine;
|
|
4 | 4 |
|
5 | 5 |
public abstract class StatsEngine implements Engine { |
6 | 6 |
|
tmp/org.txm.statsengine.core/plugin.xml (revision 784) | ||
---|---|---|
3 | 3 |
<plugin> |
4 | 4 |
<extension-point id="org.txm.statsengine.core.StatsEngine" name="Stats Engine" schema="schema/org.txm.statsengine.exsd"/> |
5 | 5 |
<extension |
6 |
point="org.txm.EnginesManager"> |
|
6 |
point="org.txm.core.engines.EnginesManager">
|
|
7 | 7 |
<EngineManager |
8 | 8 |
class="org.txm.statsengine.core.StatsEnginesManager" |
9 | 9 |
description="Stats engines manager" |
tmp/org.txm.searchengine.core/src/org/txm/searchengine/core/SearchEnginesManager.java (revision 784) | ||
---|---|---|
1 | 1 |
package org.txm.searchengine.core; |
2 | 2 |
|
3 |
import org.eclipse.core.runtime.IConfigurationElement; |
|
4 |
import org.eclipse.core.runtime.IProgressMonitor; |
|
5 |
import org.eclipse.core.runtime.Platform; |
|
6 |
import org.txm.Engine; |
|
7 |
import org.txm.EngineType; |
|
8 |
import org.txm.EnginesManager; |
|
9 | 3 |
import org.txm.Toolbox; |
4 |
import org.txm.core.engines.EngineType; |
|
5 |
import org.txm.core.engines.EnginesManager; |
|
10 | 6 |
|
11 | 7 |
/** |
12 |
* |
|
8 |
* Search engines manager.
|
|
13 | 9 |
* @author mdecorde |
14 | 10 |
* |
15 | 11 |
*/ |
... | ... | |
32 | 28 |
} |
33 | 29 |
|
34 | 30 |
@Override |
35 |
protected boolean fetchEngines() { |
|
36 |
|
|
37 |
IConfigurationElement[] contributions = Platform.getExtensionRegistry().getConfigurationElementsFor(SearchEngine.EXTENSION_POINT_ID); |
|
38 |
//System.out.println("search engine contributions: "+SearchEngine.EXTENSION_POINT_ID); |
|
39 |
for (int i = 0; i < contributions.length; i++) { |
|
40 |
try { |
|
41 |
SearchEngine e = (SearchEngine)contributions[i].createExecutableExtension("class"); //$NON-NLS-1$ |
|
42 |
|
|
43 |
System.out.println("Initializing engine: " + e); |
|
44 |
|
|
45 |
if (e.initialize()) { |
|
46 |
engines.put(e.getName(), e); |
|
47 |
} |
|
48 |
else { |
|
49 |
System.err.println("Failed to initialize " + e.getName() + " search engine."); |
|
50 |
} |
|
51 |
} catch(Exception e) { |
|
52 |
System.err.println("Error: failed to instantiate " + contributions[i].getName() + ": " + e.getLocalizedMessage()); |
|
53 |
e.printStackTrace(); |
|
54 |
} |
|
55 |
} |
|
56 |
|
|
57 |
return engines.size() > 0; |
|
31 |
public boolean fetchEngines() { |
|
32 |
return this.fetchEngines(SearchEngine.EXTENSION_POINT_ID); |
|
58 | 33 |
} |
59 | 34 |
|
60 | 35 |
@Override |
... | ... | |
62 | 37 |
return EngineType.SEARCH; |
63 | 38 |
} |
64 | 39 |
|
65 |
@Override |
|
66 |
public boolean startEngines(IProgressMonitor monitor) { |
|
67 |
|
|
68 |
for (Engine e : engines.values()) { |
|
69 |
SearchEngine se = (SearchEngine)e; |
|
70 |
//System.out.println("Starting "+ se.getName()+" searchengine."); |
|
71 |
if (monitor != null) { |
|
72 |
monitor.subTask("Starting " + se.getName() + " searchengine."); |
|
73 |
} |
|
74 |
try { |
|
75 |
se.start(monitor); |
|
76 |
} catch (Exception e2) { |
|
77 |
System.err.println("Error: failed to start SearchEngine: " + se.getName() + ": " + e2.getLocalizedMessage()); |
|
78 |
e2.printStackTrace(); |
|
79 |
} |
|
80 |
} |
|
81 |
return true; |
|
82 |
} |
|
83 |
|
|
84 |
@Override |
|
85 |
public boolean stopEngines() { |
|
86 |
|
|
87 |
for (Engine e : engines.values()) { |
|
88 |
|
|
89 |
SearchEngine se = (SearchEngine)e; |
|
90 |
System.out.println("Stopping "+ se.getName()+" searchengine."); |
|
91 |
try { |
|
92 |
se.stop(); |
|
93 |
} catch (Exception e2) { |
|
94 |
System.err.println("Error: failed to stop SearchEngine: " + se.getName() + ": " + e2.getLocalizedMessage()); |
|
95 |
e2.printStackTrace(); |
|
96 |
} |
|
97 |
} |
|
98 |
return true; |
|
99 |
} |
|
100 | 40 |
} |
tmp/org.txm.searchengine.core/src/org/txm/searchengine/core/SearchEngine.java (revision 784) | ||
---|---|---|
1 | 1 |
package org.txm.searchengine.core; |
2 | 2 |
|
3 |
import org.txm.Engine; |
|
3 |
import org.txm.core.engines.Engine;
|
|
4 | 4 |
|
5 | 5 |
public abstract class SearchEngine implements Engine { |
6 | 6 |
|
tmp/org.txm.searchengine.core/plugin.xml (revision 784) | ||
---|---|---|
3 | 3 |
<plugin> |
4 | 4 |
<extension-point id="org.txm.searchengine.core.SearchEngine" name="Search Engine" schema="schema/org.txm.searchengine.exsd"/> |
5 | 5 |
<extension |
6 |
point="org.txm.EnginesManager"> |
|
6 |
point="org.txm.core.engines.EnginesManager">
|
|
7 | 7 |
<EngineManager |
8 | 8 |
class="org.txm.searchengine.core.SearchEnginesManager" |
9 | 9 |
description="Manage the search engines" |
tmp/org.txm.rcp/src/main/java/org/txm/rcp/testers/ToolboxTester.java (revision 784) | ||
---|---|---|
1 | 1 |
package org.txm.rcp.testers; |
2 | 2 |
|
3 | 3 |
import org.eclipse.core.expressions.PropertyTester; |
4 |
import org.txm.EngineType; |
|
5 | 4 |
import org.txm.Toolbox; |
6 | 5 |
import org.txm.Toolbox; |
6 |
import org.txm.core.engines.EngineType; |
|
7 | 7 |
import org.txm.searchengine.cqp.CQPEngine; |
8 | 8 |
|
9 | 9 |
/** |
tmp/org.txm.rcp/src/main/java/org/txm/rcp/commands/workspace/ConvertCorpus.java (revision 784) | ||
---|---|---|
12 | 12 |
import org.eclipse.swt.widgets.DirectoryDialog; |
13 | 13 |
import org.eclipse.swt.widgets.Shell; |
14 | 14 |
import org.eclipse.ui.handlers.HandlerUtil; |
15 |
import org.txm.EngineType; |
|
16 | 15 |
import org.txm.Toolbox; |
17 | 16 |
import org.txm.Toolbox; |
17 |
import org.txm.core.engines.EngineType; |
|
18 | 18 |
import org.txm.core.preferences.TBXPreferences; |
19 | 19 |
import org.txm.importer.Convert5To6; |
20 | 20 |
import org.txm.objects.Base; |
tmp/org.txm.rcp/src/main/java/org/txm/rcp/commands/workspace/LoadBinaryCorporaDirectory.java (revision 784) | ||
---|---|---|
44 | 44 |
import org.eclipse.swt.widgets.FileDialog; |
45 | 45 |
import org.eclipse.swt.widgets.Shell; |
46 | 46 |
import org.eclipse.ui.handlers.HandlerUtil; |
47 |
import org.txm.EngineType; |
|
48 | 47 |
import org.txm.Toolbox; |
49 | 48 |
import org.txm.Toolbox; |
49 |
import org.txm.core.engines.EngineType; |
|
50 | 50 |
import org.txm.core.preferences.TBXPreferences; |
51 | 51 |
import org.txm.objects.Base; |
52 | 52 |
import org.txm.objects.Project; |
tmp/org.txm.rcp/src/main/java/org/txm/rcp/commands/workspace/LoadBinaryCorpus.java (revision 784) | ||
---|---|---|
42 | 42 |
import org.eclipse.swt.widgets.FileDialog; |
43 | 43 |
import org.eclipse.swt.widgets.Shell; |
44 | 44 |
import org.eclipse.ui.handlers.HandlerUtil; |
45 |
import org.txm.EngineType; |
|
46 | 45 |
import org.txm.Toolbox; |
46 |
import org.txm.core.engines.EngineType; |
|
47 | 47 |
import org.txm.objects.Base; |
48 | 48 |
import org.txm.objects.Project; |
49 | 49 |
import org.txm.objects.Workspace; |
tmp/org.txm.rcp/src/main/java/org/txm/rcp/handlers/results/DeleteObject.java (revision 784) | ||
---|---|---|
49 | 49 |
import org.eclipse.ui.IWorkbenchWindow; |
50 | 50 |
import org.eclipse.ui.handlers.HandlerUtil; |
51 | 51 |
import org.eclipse.ui.internal.Workbench; |
52 |
import org.txm.EngineType; |
|
53 | 52 |
import org.txm.Toolbox; |
53 |
import org.txm.core.engines.EngineType; |
|
54 | 54 |
import org.txm.core.preferences.TXMPreferences; |
55 | 55 |
import org.txm.core.results.TXMResult; |
56 | 56 |
import org.txm.objects.TxmObject; |
tmp/org.txm.rcp/src/main/java/org/txm/rcp/handlers/scripts/ExecuteImportScript.java (revision 784) | ||
---|---|---|
49 | 49 |
import org.eclipse.swt.widgets.FileDialog; |
50 | 50 |
import org.eclipse.swt.widgets.Shell; |
51 | 51 |
import org.eclipse.ui.handlers.HandlerUtil; |
52 |
import org.txm.EngineType; |
|
53 | 52 |
import org.txm.Toolbox; |
54 | 53 |
import org.txm.Toolbox; |
54 |
import org.txm.core.engines.EngineType; |
|
55 | 55 |
import org.txm.core.preferences.TBXPreferences; |
56 | 56 |
import org.txm.importer.ImportKeys; |
57 | 57 |
import org.txm.objects.Base; |
tmp/org.txm.core/src/java/org/txm/EnginesManager.java (revision 784) | ||
---|---|---|
1 |
package org.txm; |
|
2 |
|
|
3 |
import java.util.HashMap; |
|
4 |
|
|
5 |
import org.eclipse.core.runtime.IProgressMonitor; |
|
6 |
|
|
7 |
/** |
|
8 |
* Extension point for an Engine (eg. Search engine, Stats engine, etc.). It is a service that may be used by TXM commands. |
|
9 |
* The Toolbox will manage the engines life-cycle. |
|
10 |
* |
|
11 |
* @author mdecorde |
|
12 |
* |
|
13 |
*/ |
|
14 |
public abstract class EnginesManager<T extends Engine> { |
|
15 |
|
|
16 |
public static final String ENGINES_MANAGER_EXTENSION_POINT_ID = EnginesManager.class.getName(); |
|
17 |
|
|
18 |
/** |
|
19 |
* Managed engines. |
|
20 |
*/ |
|
21 |
protected HashMap<String, T> engines = new HashMap<String, T>(); |
|
22 |
|
|
23 |
|
|
24 |
/** |
|
25 |
* Current engine. |
|
26 |
*/ |
|
27 |
protected T currentEngine = null; |
|
28 |
|
|
29 |
|
|
30 |
|
|
31 |
/** |
|
32 |
* Returns the current engine. |
|
33 |
* @return |
|
34 |
*/ |
|
35 |
public T getCurrentEngine() { |
|
36 |
return this.currentEngine; |
|
37 |
} |
|
38 |
|
|
39 |
|
|
40 |
/** |
|
41 |
* Finds out the engines that matches this manager engines extension point. |
|
42 |
* |
|
43 |
* @return |
|
44 |
*/ |
|
45 |
protected abstract boolean fetchEngines(); |
|
46 |
|
|
47 |
/** |
|
48 |
* Initializes the engines. |
|
49 |
* @param monitor |
|
50 |
* |
|
51 |
* @return |
|
52 |
*/ |
|
53 |
public abstract boolean startEngines(IProgressMonitor monitor); |
|
54 |
|
|
55 |
/** |
|
56 |
* Stops the engines. |
|
57 |
* |
|
58 |
* @return |
|
59 |
*/ |
|
60 |
public abstract boolean stopEngines(); |
|
61 |
|
|
62 |
/** |
|
63 |
* Restarts the engines. |
|
64 |
* |
|
65 |
* @return |
|
66 |
*/ |
|
67 |
public boolean restartEngines() { |
|
68 |
return stopEngines() && startEngines(null); |
|
69 |
} |
|
70 |
|
|
71 |
|
|
72 |
public abstract EngineType getEnginesType(); |
|
73 |
|
|
74 |
/** |
|
75 |
* Gets the available engines. |
|
76 |
* @return the available engines |
|
77 |
*/ |
|
78 |
public HashMap<String, T> getEngines() { |
|
79 |
return engines; |
|
80 |
} |
|
81 |
|
|
82 |
/** |
|
83 |
* Gets an engine specified by its name. |
|
84 |
* @param name |
|
85 |
* @return an engine specified by its name if exists, otherwise null |
|
86 |
*/ |
|
87 |
public T getEngine(String name) { |
|
88 |
return engines.get(name); |
|
89 |
} |
|
90 |
} |
tmp/org.txm.core/src/java/org/txm/Engine.java (revision 784) | ||
---|---|---|
1 |
package org.txm; |
|
2 |
|
|
3 |
import org.eclipse.core.runtime.IProgressMonitor; |
|
4 |
|
|
5 |
/** |
|
6 |
* An engine gives access to services. The user must know its implementation Class to access those services. |
|
7 |
* |
|
8 |
* @author mdecorde |
|
9 |
* |
|
10 |
*/ |
|
11 |
public abstract interface Engine { |
|
12 |
/** |
|
13 |
* An engine must at least give its name (not null). |
|
14 |
* |
|
15 |
* @return the engine name |
|
16 |
*/ |
|
17 |
public String getName(); |
|
18 |
|
|
19 |
public abstract boolean getState(); |
|
20 |
|
|
21 |
public abstract boolean initialize() throws Exception; |
|
22 |
|
|
23 |
public abstract boolean start(IProgressMonitor monitor) throws Exception; |
|
24 |
|
|
25 |
public abstract boolean stop() throws Exception; |
|
26 |
|
|
27 |
} |
tmp/org.txm.core/src/java/org/txm/EngineType.java (revision 784) | ||
---|---|---|
1 |
package org.txm; |
|
2 |
|
|
3 |
public enum EngineType { |
|
4 |
SEARCH, |
|
5 |
STATS, |
|
6 |
CHARTS, |
|
7 |
SCRIPT, |
|
8 |
ANNOTATION; |
|
9 |
} |
tmp/org.txm.core/src/java/org/txm/core/engines/EnginesManager.java (revision 784) | ||
---|---|---|
1 |
package org.txm.core.engines; |
|
2 |
|
|
3 |
import java.util.HashMap; |
|
4 |
|
|
5 |
import org.eclipse.core.runtime.IConfigurationElement; |
|
6 |
import org.eclipse.core.runtime.IProgressMonitor; |
|
7 |
import org.eclipse.core.runtime.RegistryFactory; |
|
8 |
import org.txm.utils.logger.Log; |
|
9 |
|
|
10 |
/** |
|
11 |
* Extension point for an Engine (eg. Search engine, Stats engine, etc.). It is a service that may be used by TXM commands. |
|
12 |
* The Toolbox will manage the engines life-cycle. |
|
13 |
* |
|
14 |
* @author mdecorde |
|
15 |
* |
|
16 |
*/ |
|
17 |
public abstract class EnginesManager<T extends Engine> { |
|
18 |
|
|
19 |
public static final String ENGINES_MANAGER_EXTENSION_POINT_ID = EnginesManager.class.getName(); |
|
20 |
|
|
21 |
/** |
|
22 |
* Managed engines. |
|
23 |
*/ |
|
24 |
protected HashMap<String, T> engines = new HashMap<String, T>(); |
|
25 |
|
|
26 |
|
|
27 |
/** |
|
28 |
* Current engine. |
|
29 |
*/ |
|
30 |
protected T currentEngine = null; |
|
31 |
|
|
32 |
|
|
33 |
|
|
34 |
/** |
|
35 |
* Returns the current engine. |
|
36 |
* @return |
|
37 |
*/ |
|
38 |
public T getCurrentEngine() { |
|
39 |
return this.currentEngine; |
|
40 |
} |
|
41 |
|
|
42 |
|
|
43 |
/** |
|
44 |
* Sets the current engine. |
|
45 |
* @param engine |
|
46 |
*/ |
|
47 |
public void setCurrentEngine(T engine) { |
|
48 |
this.currentEngine = engine; |
|
49 |
} |
|
50 |
|
|
51 |
/** |
|
52 |
* Sets the current engine specified by its name. |
|
53 |
* @param name |
|
54 |
*/ |
|
55 |
public void setCurrentEngine(String name) { |
|
56 |
this.setCurrentEngine(this.getEngine(name)); |
|
57 |
} |
|
58 |
|
|
59 |
/** |
|
60 |
* Finds out the engines that matches this manager engines extension point. |
|
61 |
* |
|
62 |
* @return |
|
63 |
*/ |
|
64 |
public abstract boolean fetchEngines(); |
|
65 |
|
|
66 |
|
|
67 |
|
|
68 |
/** |
|
69 |
* Creates and initializes the engines with the specified extension point id. |
|
70 |
* |
|
71 |
* @param engineExtensionPointId |
|
72 |
* @return true if at least one engine has been created otherwise false |
|
73 |
*/ |
|
74 |
protected boolean fetchEngines(String engineExtensionPointId) { |
|
75 |
|
|
76 |
IConfigurationElement[] contributions = RegistryFactory.getRegistry().getConfigurationElementsFor(engineExtensionPointId); |
|
77 |
|
|
78 |
Log.finest("Looking for engines contributions with extension point id " + engineExtensionPointId + "."); |
|
79 |
Log.finest(contributions.length + " engines found."); |
|
80 |
|
|
81 |
for (int i = 0; i < contributions.length; i++) { |
|
82 |
try { |
|
83 |
T e = (T)contributions[i].createExecutableExtension("class"); //$NON-NLS-1$ |
|
84 |
|
|
85 |
System.out.println("Initializing engine: " + e); |
|
86 |
|
|
87 |
if (e.initialize()) { |
|
88 |
this.engines.put(e.getName(), e); |
|
89 |
} |
|
90 |
else { |
|
91 |
System.err.println("Failed to initialize " + e.getName() + " engine."); |
|
92 |
} |
|
93 |
} catch(Exception e) { |
|
94 |
Log.severe("Error: failed to instantiate " + contributions[i].getName() + "."); |
|
95 |
e.printStackTrace(); |
|
96 |
} |
|
97 |
} |
|
98 |
|
|
99 |
return this.engines.size() > 0; |
|
100 |
} |
|
101 |
|
|
102 |
/** |
|
103 |
* Starts the engines. |
|
104 |
* @param monitor |
|
105 |
* @return |
|
106 |
*/ |
|
107 |
public boolean startEngines(IProgressMonitor monitor) { |
|
108 |
for (Engine engine : this.engines.values()) { |
|
109 |
|
|
110 |
String log = "Starting " + engine.getName() + " engine..."; |
|
111 |
Log.finest(log); |
|
112 |
|
|
113 |
if (monitor != null) { |
|
114 |
monitor.subTask(log); |
|
115 |
} |
|
116 |
|
|
117 |
try { |
|
118 |
engine.start(monitor); |
|
119 |
} catch (Exception e) { |
|
120 |
Log.severe("Error: failed to start engine " + engine.getName() + "."); |
|
121 |
e.printStackTrace(); |
|
122 |
} |
|
123 |
} |
|
124 |
return true; |
|
125 |
} |
|
126 |
|
|
127 |
/** |
|
128 |
* Stops the engines. |
|
129 |
* @return |
|
130 |
*/ |
|
131 |
public boolean stopEngines() { |
|
132 |
for (Engine engine : this.engines.values()) { |
|
133 |
|
|
134 |
Log.finest("Stopping " + engine.getName() + " engine..."); |
|
135 |
|
|
136 |
try { |
|
137 |
engine.stop(); |
|
138 |
} catch (Exception e) { |
|
139 |
Log.severe("Error: failed to stop engine: " + engine.getName() + "."); |
|
140 |
e.printStackTrace(); |
|
141 |
} |
|
142 |
} |
|
143 |
return true; |
|
144 |
} |
|
145 |
|
|
146 |
|
|
147 |
/** |
|
148 |
* Restarts the engines. |
|
149 |
* |
|
150 |
* @return |
|
151 |
*/ |
|
152 |
public boolean restartEngines() { |
|
153 |
Log.finest("Restarting the " + this.engines.size() + " engine(s)."); |
|
154 |
return stopEngines() && startEngines(null); |
|
155 |
} |
|
156 |
|
|
157 |
|
|
158 |
public abstract EngineType getEnginesType(); |
|
159 |
|
|
160 |
/** |
|
161 |
* Gets the available engines. |
|
162 |
* @return the available engines |
|
163 |
*/ |
|
164 |
public HashMap<String, T> getEngines() { |
|
165 |
return engines; |
|
166 |
} |
|
167 |
|
|
168 |
/** |
|
169 |
* Gets an engine specified by its name. |
|
170 |
* @param name |
|
171 |
* @return an engine specified by its name if exists, otherwise null |
|
172 |
*/ |
|
173 |
public T getEngine(String name) { |
|
174 |
return engines.get(name); |
|
175 |
} |
|
176 |
} |
|
0 | 177 |
tmp/org.txm.core/src/java/org/txm/core/engines/Engine.java (revision 784) | ||
---|---|---|
1 |
package org.txm.core.engines; |
|
2 |
|
|
3 |
import org.eclipse.core.runtime.IProgressMonitor; |
|
4 |
|
|
5 |
/** |
|
6 |
* An engine gives access to services. The user must know its implementation Class to access those services. |
|
7 |
* |
|
8 |
* @author mdecorde |
|
9 |
* |
|
10 |
*/ |
|
11 |
public abstract interface Engine { |
|
12 |
/** |
|
13 |
* An engine must at least give its name (not null). |
|
14 |
* |
|
15 |
* @return the engine name |
|
16 |
*/ |
|
17 |
public String getName(); |
|
18 |
|
|
19 |
public abstract boolean getState(); |
|
20 |
|
|
21 |
public abstract boolean initialize() throws Exception; |
|
22 |
|
|
23 |
public abstract boolean start(IProgressMonitor monitor) throws Exception; |
|
24 |
|
|
25 |
public abstract boolean stop() throws Exception; |
|
26 |
|
|
27 |
} |
|
0 | 28 |
tmp/org.txm.core/src/java/org/txm/core/engines/EngineType.java (revision 784) | ||
---|---|---|
1 |
package org.txm.core.engines; |
|
2 |
|
|
3 |
public enum EngineType { |
|
4 |
SEARCH, |
|
5 |
STATS, |
|
6 |
CHARTS, |
|
7 |
SCRIPT, |
|
8 |
ANNOTATION; |
|
9 |
} |
|
0 | 10 |
tmp/org.txm.core/src/java/org/txm/Toolbox.java (revision 784) | ||
---|---|---|
50 | 50 |
import org.eclipse.core.runtime.preferences.IPreferencesService; |
51 | 51 |
import org.osgi.framework.Bundle; |
52 | 52 |
import org.osgi.framework.Version; |
53 |
import org.txm.core.engines.EngineType; |
|
54 |
import org.txm.core.engines.EnginesManager; |
|
53 | 55 |
import org.txm.core.messages.TXMCoreMessages; |
54 | 56 |
import org.txm.core.preferences.TBXPreferences; |
55 | 57 |
import org.txm.core.preferences.TXMPreferences; |
... | ... | |
69 | 71 |
*/ |
70 | 72 |
public class Toolbox { |
71 | 73 |
|
72 |
private static LinkedHashMap<EngineType, EnginesManager<?>> engines = new LinkedHashMap<EngineType, EnginesManager<?>>(); |
|
74 |
private static LinkedHashMap<EngineType, EnginesManager<?>> enginesManagers = new LinkedHashMap<EngineType, EnginesManager<?>>();
|
|
73 | 75 |
|
74 | 76 |
private static boolean initializing = false; |
75 | 77 |
|
... | ... | |
84 | 86 |
* @param engine |
85 | 87 |
*/ |
86 | 88 |
private static void addEngineManager(EnginesManager<?> engine) { |
87 |
engines.put(engine.getEnginesType(), engine); |
|
89 |
enginesManagers.put(engine.getEnginesType(), engine);
|
|
88 | 90 |
} |
89 | 91 |
|
90 | 92 |
/** |
... | ... | |
98 | 100 |
|
99 | 101 |
private static boolean fetchEngineManagers() { |
100 | 102 |
Log.finest("Fetching engines managers..."); |
101 |
engines.clear(); |
|
103 |
enginesManagers.clear();
|
|
102 | 104 |
//System.out.println("Contributions of "+EnginesManager.ENGINEMANAGER_EXTENSION_POINT_ID); |
103 | 105 |
//Platform.getExtensionRegistry().getExtensionPoints(); |
104 | 106 |
IConfigurationElement[] contributions = RegistryFactory.getRegistry().getConfigurationElementsFor(EnginesManager.ENGINES_MANAGER_EXTENSION_POINT_ID); |
... | ... | |
108 | 110 |
|
109 | 111 |
for (int i = 0; i < contributions.length; i++) { |
110 | 112 |
try { |
111 |
EnginesManager<?> engine = (EnginesManager<?>)contributions[i].createExecutableExtension("class"); //$NON-NLS-1$ |
|
113 |
EnginesManager<?> enginesManager = (EnginesManager<?>)contributions[i].createExecutableExtension("class"); //$NON-NLS-1$
|
|
112 | 114 |
|
113 |
Log.finest("Registering engines manager: " + engine); |
|
115 |
Log.finest("Registering engines manager: " + enginesManager);
|
|
114 | 116 |
|
115 |
if (engine.fetchEngines()) { |
|
117 |
if (enginesManager.fetchEngines()) {
|
|
116 | 118 |
//System.out.println("add engine: "+engine); |
117 |
addEngineManager(engine); |
|
119 |
addEngineManager(enginesManager);
|
|
118 | 120 |
} |
119 | 121 |
else { |
120 |
System.err.println("" + engine + " had no engine. Aborting its installation.");
|
|
122 |
System.err.println("No engine found for " + enginesManager + ", installation failed.");
|
|
121 | 123 |
} |
122 | 124 |
} catch(Throwable e) { |
123 | 125 |
e.printStackTrace(); |
... | ... | |
149 | 151 |
|
150 | 152 |
public static EnginesManager<?> getEngineManager(EngineType et) { |
151 | 153 |
|
152 |
if (engines == null) { |
|
154 |
if (enginesManagers == null) {
|
|
153 | 155 |
return null; |
154 | 156 |
} |
155 |
return engines.get(et); |
|
157 |
return enginesManagers.get(et);
|
|
156 | 158 |
} |
157 | 159 |
|
158 | 160 |
/** |
... | ... | |
438 | 440 |
* @param engine |
439 | 441 |
*/ |
440 | 442 |
private static void removeEngineManager(EnginesManager<?> engine) { |
441 |
engines.remove(engine.getClass()); |
|
443 |
enginesManagers.remove(engine.getClass());
|
|
442 | 444 |
} |
443 | 445 |
|
444 | 446 |
/** |
... | ... | |
523 | 525 |
|
524 | 526 |
fetchEngineManagers(); |
525 | 527 |
|
526 |
Log.info("Starting " + engines.keySet().size() + " engines managers..."); |
|
528 |
Log.info("Starting " + enginesManagers.keySet().size() + " engines managers...");
|
|
527 | 529 |
|
528 | 530 |
boolean result = true; |
529 |
for (EngineType et : engines.keySet()) { |
|
531 |
for (EngineType et : enginesManagers.keySet()) {
|
|
530 | 532 |
try { |
531 |
EnginesManager<?> e = engines.get(et); |
|
533 |
EnginesManager<?> e = enginesManagers.get(et);
|
|
532 | 534 |
Log.info("Starting engines manager: " + e.getClass()); |
533 | 535 |
result = e.startEngines(monitor) && result; // order is important |
534 | 536 |
} catch(Exception e) { |
... | ... | |
617 | 619 |
|
618 | 620 |
private static boolean stopEngineManagers() { |
619 | 621 |
|
620 |
if (engines == null) return true; |
|
621 |
if (engines.size() == 0) return true; |
|
622 |
if (enginesManagers == null) return true;
|
|
623 |
if (enginesManagers.size() == 0) return true;
|
|
622 | 624 |
|
623 | 625 |
boolean result = true; |
624 |
for (EngineType c : engines.keySet()) { |
|
625 |
EnginesManager<?> e = engines.get(c); |
|
626 |
for (EngineType c : enginesManagers.keySet()) {
|
|
627 |
EnginesManager<?> e = enginesManagers.get(c);
|
|
626 | 628 |
Log.info("Disconnect&stop engine: "+e.getClass()); |
627 | 629 |
result = result && e.stopEngines(); |
628 | 630 |
removeEngineManager(e); // remove the engine anyway |
tmp/org.txm.core/plugin.xml (revision 784) | ||
---|---|---|
1 | 1 |
<?xml version="1.0" encoding="UTF-8"?> |
2 | 2 |
<?eclipse version="3.4"?> |
3 | 3 |
<plugin> |
4 |
<extension-point id="org.txm.EnginesManager" name="org.txm.EnginesManager" schema="schema/engine_manager.exsd"/>
|
|
4 |
<extension-point id="org.txm.core.engines.EnginesManager" name="org.txm.core.engines.EnginesManager" schema="schema/engine_manager.exsd"/>
|
|
5 | 5 |
<extension-point id="org.txm.functions.CommandsAPIDeclaration" name="CommandsAPIDeclaration" schema="schema/org.txm.commandapi.exsd"/> |
6 | 6 |
<extension-point id="org.txm.PostInstallationStep" name="Post installation step" schema="schema/org.txm.PostInstallationStep.exsd"/> |
7 | 7 |
<extension-point id="org.txm.PostTXMHOMEInstallationStep" name="Post TXMHome installation step" schema="schema/org.txm.org.txm.PostTXMHOMEInstallationStep.exsd"/> |
tmp/org.txm.core/schema/engine_manager.exsd (revision 784) | ||
---|---|---|
3 | 3 |
<schema targetNamespace="org.txm.core" xmlns="http://www.w3.org/2001/XMLSchema"> |
4 | 4 |
<annotation> |
5 | 5 |
<appinfo> |
6 |
<meta.schema plugin="org.txm.core" id="org.txm.EnginesManager" name="Engine"/> |
|
6 |
<meta.schema plugin="org.txm.core" id="org.txm.core.engines.EnginesManager" name="Engine"/>
|
|
7 | 7 |
</appinfo> |
8 | 8 |
<documentation> |
9 | 9 |
A service with a start, connect, disconnect and stop lifecycle |
... | ... | |
55 | 55 |
|
56 | 56 |
</documentation> |
57 | 57 |
<appinfo> |
58 |
<meta.attribute kind="java" basedOn="org.txm.EnginesManager:"/> |
|
58 |
<meta.attribute kind="java" basedOn="org.txm.core.engines.EnginesManager:"/>
|
|
59 | 59 |
</appinfo> |
60 | 60 |
</annotation> |
61 | 61 |
</attribute> |
tmp/org.txm.core/META-INF/MANIFEST.MF (revision 784) | ||
---|---|---|
226 | 226 |
org.sqlite.jdbc4, |
227 | 227 |
org.sqlite.util, |
228 | 228 |
org.txm, |
229 |
org.txm.core.engines, |
|
229 | 230 |
org.txm.core.messages, |
230 | 231 |
org.txm.core.preferences, |
231 | 232 |
org.txm.core.results, |
tmp/org.txm.chartsengine.r.core/src/org/txm/chartsengine/r/core/RChartsEngine.java (revision 784) | ||
---|---|---|
17 | 17 |
|
18 | 18 |
/** |
19 | 19 |
* Charts engine providing methods to create charts using R. |
20 |
* |
|
20 | 21 |
* @author sjacquot |
21 | 22 |
* |
22 | 23 |
*/ |
... | ... | |
53 | 54 |
* @param outputFormat |
54 | 55 |
*/ |
55 | 56 |
public RChartsEngine(String outputFormat) { |
56 |
super(NAME, DESCRIPTION, outputFormat);
|
|
57 |
super(DESCRIPTION, outputFormat); |
|
57 | 58 |
this.directComputing = false; |
58 | 59 |
this.setOutputFormat(outputFormat); |
59 | 60 |
} |
... | ... | |
214 | 215 |
return false; |
215 | 216 |
} |
216 | 217 |
|
217 |
@Override |
|
218 |
public boolean initialize() throws Exception { |
|
219 |
// TODO Auto-generated method stub |
|
220 |
return false; |
|
221 |
} |
|
222 | 218 |
|
223 | 219 |
@Override |
224 | 220 |
public boolean start(IProgressMonitor monitor) throws Exception { |
... | ... | |
232 | 228 |
return false; |
233 | 229 |
} |
234 | 230 |
|
231 |
@Override |
|
232 |
public String getName() { |
|
233 |
return RChartsEngine.NAME; |
|
234 |
} |
|
235 | 235 |
|
236 |
|
|
236 | 237 |
} |
tmp/org.txm.statsengine.r.core/src/org/txm/statsengine/r/core/RStatsEngine.java (revision 784) | ||
---|---|---|
43 | 43 |
if (monitor != null) monitor.subTask("Starting Statistics Engine..."); |
44 | 44 |
|
45 | 45 |
if (TXMPreferences.getBoolean(RPreferences.DISABLE, RPreferences.PREFERENCES_NODE)) { |
46 |
System.err.println("Warning, Statistics Engine is disabled.");
|
|
46 |
Log.severe("Warning, Statistics Engine is disabled.");
|
|
47 | 47 |
return false; |
48 | 48 |
} |
49 | 49 |
|
... | ... | |
169 | 169 |
RStatsEngine.kill(); |
170 | 170 |
started = false; |
171 | 171 |
} catch (Exception e) { |
172 |
Log.severe("Error while closing R: " + e.getLocalizedMessage()); |
|
172 |
Log.severe("Error while closing R."); |
|
173 |
e.printStackTrace(); |
|
173 | 174 |
} |
174 | 175 |
} |
175 | 176 |
|
tmp/org.txm.chartsengine.jfreechart.core/src/org/txm/chartsengine/jfreechart/core/JFCChartsEngine.java (revision 784) | ||
---|---|---|
75 | 75 |
* @param outputFormat the output format for the chart, it can be a file or an UI object |
76 | 76 |
*/ |
77 | 77 |
public JFCChartsEngine(String outputFormat) { |
78 |
super(NAME, DESCRIPTION, outputFormat);
|
|
78 |
super(DESCRIPTION, outputFormat); |
|
79 | 79 |
this.jfcTheme = new HighchartsDefaultTheme(this); |
80 | 80 |
|
81 | 81 |
// FIXME |
... | ... | |
1591 | 1591 |
|
1592 | 1592 |
|
1593 | 1593 |
|
1594 |
|
|
1594 | 1595 |
@Override |
1595 |
public boolean initialize() throws Exception {
|
|
1596 |
public boolean start(IProgressMonitor monitor) throws Exception {
|
|
1596 | 1597 |
// TODO Auto-generated method stub |
1597 | 1598 |
return false; |
1598 | 1599 |
} |
... | ... | |
1600 | 1601 |
|
1601 | 1602 |
|
1602 | 1603 |
@Override |
1603 |
public boolean start(IProgressMonitor monitor) throws Exception {
|
|
1604 |
public boolean stop() throws Exception {
|
|
1604 | 1605 |
// TODO Auto-generated method stub |
1605 | 1606 |
return false; |
1606 | 1607 |
} |
... | ... | |
1608 | 1609 |
|
1609 | 1610 |
|
1610 | 1611 |
@Override |
1611 |
public boolean stop() throws Exception { |
|
1612 |
// TODO Auto-generated method stub |
|
1613 |
return false; |
|
1612 |
public String getName() { |
|
1613 |
return JFCChartsEngine.NAME; |
|
1614 | 1614 |
} |
1615 | 1615 |
|
1616 | 1616 |
|
tmp/org.txm.annotation.core/plugin.xml (revision 784) | ||
---|---|---|
3 | 3 |
<plugin> |
4 | 4 |
<extension-point id="org.txm.annotation.core.AnnotationEngine" name="org.txm.annotation.core.AnnotationEngine" schema="schema/org.txm.annotation.core.AnnotationEngine.exsd"/> |
5 | 5 |
<extension |
6 |
point="org.txm.EnginesManager"> |
|
6 |
point="org.txm.core.engines.EnginesManager">
|
|
7 | 7 |
<EngineManager |
8 |
class="org.txm.annotation.core.AnnotationEngines" |
|
8 |
class="org.txm.annotation.core.AnnotationEnginesManager"
|
|
9 | 9 |
description="description" |
10 | 10 |
name="org.txm.annotation.core.AnnotationEngines"> |
11 | 11 |
</EngineManager> |
tmp/org.txm.annotation.core/src/org/txm/annotation/core/AnnotationEngines.java (revision 784) | ||
---|---|---|
1 |
package org.txm.annotation.core; |
|
2 |
|
|
3 |
import org.eclipse.core.runtime.IConfigurationElement; |
|
4 |
import org.eclipse.core.runtime.IProgressMonitor; |
|
5 |
import org.eclipse.core.runtime.Platform; |
|
6 |
import org.txm.EngineType; |
|
7 |
import org.txm.EnginesManager; |
|
8 |
|
|
9 |
public class AnnotationEngines extends EnginesManager<AnnotationEngine> { |
|
10 |
|
|
11 |
public AnnotationEngines() { |
|
12 |
|
|
13 |
} |
|
14 |
|
|
15 |
@Override |
|
16 |
public boolean startEngines(IProgressMonitor monitor) { |
|
17 |
|
|
18 |
for (AnnotationEngine e : engines.values()) { |
|
19 |
System.out.println(e); |
|
20 |
// AnnotationEngine se = (AnnotationEngine)e; |
|
21 |
// if (monitor != null) monitor.subTask("Starting "+ se.getName()+" annotation engine."); |
|
22 |
// try { |
|
23 |
// se.start(monitor); |
|
24 |
// } catch (Exception ex) { |
|
25 |
// System.out.println("Error: failed to start annotation engine: "+se.getName()+": "+ex.getLocalizedMessage()); |
|
26 |
// } |
|
27 |
} |
|
28 |
return true; |
|
29 |
} |
|
30 |
|
|
31 |
@Override |
|
32 |
public boolean stopEngines() { |
|
33 |
for (AnnotationEngine e : engines.values()) { |
|
34 |
System.out.println(e); |
|
35 |
// AnnotationEngine se = (AnnotationEngine)e; |
|
36 |
// System.out.println("Stoping "+ se.getName()+" annotation engine."); |
|
37 |
// try { |
|
38 |
// se.stop(); |
|
39 |
// } catch (Exception ex) { |
|
40 |
// System.out.println("Error: failed to stop annotation engine: "+se.getName()+": "+ex.getLocalizedMessage()); |
|
41 |
// } |
|
42 |
} |
|
43 |
return true; |
|
44 |
} |
|
45 |
|
|
46 |
@Override |
|
47 |
public EngineType getEnginesType() { |
|
48 |
return EngineType.ANNOTATION; |
|
49 |
} |
|
50 |
|
|
51 |
@Override |
|
52 |
protected boolean fetchEngines() { |
|
53 |
|
|
54 |
IConfigurationElement[] contributions = Platform.getExtensionRegistry().getConfigurationElementsFor(AnnotationEngine.EXTENSION_POINT_ID); |
|
55 |
//System.out.println("search engine contributions: "+SearchEngine.EXTENSION_POINT_ID); |
|
56 |
for (int i = 0; i < contributions.length; i++) { |
|
57 |
try { |
|
58 |
AnnotationEngine e = (AnnotationEngine)contributions[i].createExecutableExtension("class"); //$NON-NLS-1$ |
|
59 |
if (e.initialize()) { |
|
60 |
engines.put(e.getName(), e); |
|
61 |
} else { |
|
62 |
System.out.println("Fail to initialize "+e.getName()+" annotation engine."); |
|
63 |
} |
|
64 |
} catch(Exception e) { |
|
65 |
System.out.println("Error: fail instanciate "+contributions[i].getName()+": "+e.getLocalizedMessage()); |
|
66 |
e.printStackTrace(); |
|
67 |
} |
|
68 |
} |
|
69 |
|
|
70 |
return engines.size() > 0; |
|
71 |
} |
|
72 |
} |
tmp/org.txm.annotation.core/src/org/txm/annotation/core/AnnotationEngine.java (revision 784) | ||
---|---|---|
1 | 1 |
package org.txm.annotation.core; |
2 | 2 |
|
3 |
import org.txm.Engine; |
|
3 |
import org.txm.core.engines.Engine;
|
|
4 | 4 |
|
5 | 5 |
public abstract class AnnotationEngine implements Engine { |
6 | 6 |
|
tmp/org.txm.annotation.core/src/org/txm/annotation/core/AnnotationManager.java (revision 784) | ||
---|---|---|
11 | 11 |
import org.txm.annotation.core.repository.AnnotationType; |
12 | 12 |
import org.txm.annotation.core.repository.TypedValue; |
13 | 13 |
import org.txm.annotation.core.storage.temporary.TemporaryAnnotationManager; |
14 |
import org.txm.core.engines.Engine; |
|
14 | 15 |
import org.txm.searchengine.cqp.corpus.MainCorpus; |
15 | 16 |
import org.txm.searchengine.cqp.corpus.query.Match; |
16 | 17 |
import org.txm.utils.logger.Log; |
17 |
import org.txm.Engine; |
|
18 | 18 |
|
19 | 19 |
/** |
20 | 20 |
* Manage annotations and is able to return annotation saved in JPA |
tmp/org.txm.annotation.core/src/org/txm/annotation/core/AnnotationEnginesManager.java (revision 784) | ||
---|---|---|
1 |
package org.txm.annotation.core; |
|
2 |
|
|
3 |
import org.eclipse.core.runtime.IConfigurationElement; |
|
4 |
import org.eclipse.core.runtime.IProgressMonitor; |
|
5 |
import org.eclipse.core.runtime.Platform; |
|
6 |
import org.txm.core.engines.EngineType; |
|
7 |
import org.txm.core.engines.EnginesManager; |
|
8 |
|
|
9 |
public class AnnotationEnginesManager extends EnginesManager<AnnotationEngine> { |
|
10 |
|
|
11 |
public AnnotationEnginesManager() { |
|
12 |
|
|
13 |
} |
|
14 |
|
|
15 |
@Override |
|
16 |
public boolean startEngines(IProgressMonitor monitor) { |
|
17 |
|
|
18 |
for (AnnotationEngine e : engines.values()) { |
|
19 |
System.out.println(e); |
|
20 |
// AnnotationEngine se = (AnnotationEngine)e; |
|
21 |
// if (monitor != null) monitor.subTask("Starting "+ se.getName()+" annotation engine."); |
|
22 |
// try { |
|
23 |
// se.start(monitor); |
|
24 |
// } catch (Exception ex) { |
|
25 |
// System.out.println("Error: failed to start annotation engine: "+se.getName()+": "+ex.getLocalizedMessage()); |
|
26 |
// } |
|
27 |
} |
|
28 |
return true; |
|
29 |
} |
|
30 |
|
|
31 |
@Override |
|
32 |
public boolean stopEngines() { |
|
33 |
for (AnnotationEngine e : engines.values()) { |
|
34 |
System.out.println(e); |
|
35 |
// AnnotationEngine se = (AnnotationEngine)e; |
|
36 |
// System.out.println("Stoping "+ se.getName()+" annotation engine."); |
|
37 |
// try { |
|
38 |
// se.stop(); |
|
39 |
// } catch (Exception ex) { |
|
40 |
// System.out.println("Error: failed to stop annotation engine: "+se.getName()+": "+ex.getLocalizedMessage()); |
|
41 |
// } |
|
42 |
} |
|
43 |
return true; |
|
44 |
} |
|
45 |
|
|
46 |
@Override |
|
47 |
public EngineType getEnginesType() { |
|
48 |
return EngineType.ANNOTATION; |
|
49 |
} |
|
50 |
|
|
51 |
@Override |
|
52 |
public boolean fetchEngines() { |
|
53 |
|
|
54 |
IConfigurationElement[] contributions = Platform.getExtensionRegistry().getConfigurationElementsFor(AnnotationEngine.EXTENSION_POINT_ID); |
|
55 |
//System.out.println("search engine contributions: "+SearchEngine.EXTENSION_POINT_ID); |
|
56 |
for (int i = 0; i < contributions.length; i++) { |
|
57 |
try { |
|
58 |
AnnotationEngine e = (AnnotationEngine)contributions[i].createExecutableExtension("class"); //$NON-NLS-1$ |
|
59 |
if (e.initialize()) { |
|
60 |
engines.put(e.getName(), e); |
|
61 |
} else { |
|
62 |
System.out.println("Fail to initialize "+e.getName()+" annotation engine."); |
|
63 |
} |
|
64 |
} catch(Exception e) { |
|
65 |
System.out.println("Error: fail instanciate "+contributions[i].getName()+": "+e.getLocalizedMessage()); |
|
66 |
e.printStackTrace(); |
|
67 |
} |
|
68 |
} |
|
69 |
|
|
70 |
return engines.size() > 0; |
|
71 |
} |
|
72 |
} |
|
0 | 73 |
tmp/org.txm.chartsengine.core/plugin.xml (revision 784) | ||
---|---|---|
10 | 10 |
</initializer> |
11 | 11 |
</extension> |
12 | 12 |
<extension |
13 |
point="org.txm.EnginesManager"> |
|
13 |
point="org.txm.core.engines.EnginesManager">
|
|
14 | 14 |
<EngineManager |
15 | 15 |
class="org.txm.chartsengine.core.ChartsEnginesManager" |
16 | 16 |
description="Charts Engines Manager" |
tmp/org.txm.chartsengine.core/src/org/txm/chartsengine/core/ChartsEnginesManager.java (revision 784) | ||
---|---|---|
1 | 1 |
package org.txm.chartsengine.core; |
2 | 2 |
|
3 |
import org.eclipse.core.runtime.IProgressMonitor; |
|
4 |
import org.txm.EngineType; |
|
5 |
import org.txm.EnginesManager; |
|
3 |
import java.util.ArrayList; |
|
4 |
|
|
6 | 5 |
import org.txm.chartsengine.core.preferences.ChartsEnginePreferences; |
6 |
import org.txm.core.engines.EngineType; |
|
7 |
import org.txm.core.engines.EnginesManager; |
|
7 | 8 |
import org.txm.core.preferences.TXMPreferences; |
8 | 9 |
|
9 | 10 |
/** |
... | ... | |
16 | 17 |
public class ChartsEnginesManager extends EnginesManager<ChartsEngine> { |
17 | 18 |
|
18 | 19 |
@Override |
19 |
protected boolean fetchEngines() { |
|
20 |
try { |
|
21 |
// creates charts engine |
|
22 |
ChartsEngine.createChartsEngines(); |
|
23 |
ChartsEngine.setCurrrentChartsEngine(TXMPreferences.getString(ChartsEnginePreferences.CURRENT_NAME, ChartsEnginePreferences.PREFERENCES_NODE)); |
|
24 |
|
|
25 |
TXMPreferences.alternativeNodesQualifiers.add(ChartsEnginePreferences.PREFERENCES_NODE); |
|
26 |
|
|
27 |
} catch (Throwable e) { |
|
28 |
e.printStackTrace(); |
|
20 |
public boolean fetchEngines() { |
|
21 |
|
|
22 |
if(!this.fetchEngines(ChartsEngine.EXTENSION_POINT_ID)) { |
|
29 | 23 |
return false; |
30 | 24 |
} |
31 |
return true; |
|
32 |
} |
|
25 |
|
|
26 |
// FIXME: temporary solution to not break the charts engines but later need to stop to use |
|
27 |
// ChartsEngine.chartsEngines, ChartsEngine.currentChartsEngineIndex, getCurrent() etc. |
|
28 |
// and directly manage that in the Manager |
|
29 |
ChartsEngine.chartsEngines = new ArrayList<ChartsEngine>(); |
|
30 |
ChartsEngine.currentChartsEngineIndex = 0; |
|
33 | 31 |
|
34 |
@Override |
|
35 |
public boolean startEngines(IProgressMonitor monitor) { |
|
36 |
// TODO Auto-generated method stub |
|
37 |
return false; |
|
38 |
} |
|
32 |
for (ChartsEngine engine : engines.values()) { |
|
33 |
ChartsEngine.chartsEngines.add(engine); |
|
34 |
} |
|
35 |
|
|
36 |
//ChartsEngine.setCurrrentChartsEngine(this.getEngine(TXMPreferences.getString(ChartsEnginePreferences.CURRENT_NAME, ChartsEnginePreferences.PREFERENCES_NODE))); |
|
37 |
|
|
38 |
ChartsEngine.setCurrrentChartsEngine(TXMPreferences.getString(ChartsEnginePreferences.CURRENT_NAME, ChartsEnginePreferences.PREFERENCES_NODE)); |
|
39 |
|
|
40 |
this.setCurrentEngine(TXMPreferences.getString(ChartsEnginePreferences.CURRENT_NAME, ChartsEnginePreferences.PREFERENCES_NODE)); |
|
41 |
|
|
42 |
TXMPreferences.alternativeNodesQualifiers.add(ChartsEnginePreferences.PREFERENCES_NODE); |
|
39 | 43 |
|
40 |
@Override |
|
41 |
public boolean stopEngines() { |
|
42 |
// TODO Auto-generated method stub |
|
43 |
return false; |
|
44 |
return true; |
|
44 | 45 |
} |
45 | 46 |
|
46 | 47 |
@Override |
tmp/org.txm.chartsengine.core/src/org/txm/chartsengine/core/ChartsEngine.java (revision 784) | ||
---|---|---|
10 | 10 |
import org.eclipse.core.runtime.IConfigurationElement; |
11 | 11 |
import org.eclipse.core.runtime.Platform; |
12 | 12 |
import org.eclipse.core.runtime.RegistryFactory; |
13 |
import org.txm.Engine; |
|
14 | 13 |
import org.txm.chartsengine.core.messages.ChartsEngineCoreMessages; |
15 | 14 |
import org.txm.chartsengine.core.preferences.ChartsEnginePreferences; |
16 | 15 |
import org.txm.chartsengine.core.results.ChartResult; |
16 |
import org.txm.core.engines.Engine; |
|
17 | 17 |
import org.txm.core.preferences.TBXPreferences; |
18 | 18 |
import org.txm.core.preferences.TXMPreferences; |
19 | 19 |
import org.txm.utils.logger.Log; |
... | ... | |
21 | 21 |
|
22 | 22 |
/** |
23 | 23 |
* Common charts engine. This is the superclass of all chart engine implementations. |
24 |
* This class provides methods to create charts from variable chart creator stored by type of result data such as CA, CAH, Singular values, etc. |
|
24 |
* This class provides methods to create charts from variable chart creators stored by type of result data such as CA, CAH, Singular values, etc.
|
|
25 | 25 |
* @author sjacquot |
26 | 26 |
* |
27 | 27 |
*/ |
28 | 28 |
public abstract class ChartsEngine implements Engine { |
29 | 29 |
|
30 |
public final static String extensionPointId = "org.txm.chartsengine.chartsengine"; //$NON-NLS-1$
|
|
30 |
public final static String EXTENSION_POINT_ID = "org.txm.chartsengine.chartsengine"; //$NON-NLS-1$
|
|
31 | 31 |
|
32 | 32 |
/** |
33 | 33 |
* Constants for output formats and file extensions. |
... | ... | |
40 | 40 |
public final static int RENDERING_COLORS_MODE = 0, RENDERING_GRAYSCALE_MODE = 1, RENDERING_BLACK_AND_WHITE_MODE = 2, RENDERING_MONOCHROME_MODE = 3; |
41 | 41 |
|
42 | 42 |
/** |
43 |
* The engine name. |
|
44 |
*/ |
|
45 |
protected String name; |
|
46 |
|
|
47 |
/** |
|
48 | 43 |
* The engine description. |
49 | 44 |
*/ |
50 | 45 |
protected String description; |
... | ... | |
86 | 81 |
* @param description |
87 | 82 |
* @param outputFormat |
88 | 83 |
*/ |
89 |
protected ChartsEngine(String name, String description, String outputFormat) {
|
|
84 |
protected ChartsEngine(String description, String outputFormat) { |
|
90 | 85 |
this.chartCreators = new HashMap<Class, HashMap<String,ChartCreator>>(); |
91 |
this.name = name; |
|
92 | 86 |
this.description = description; |
93 | 87 |
this.outputFormat = outputFormat; |
94 | 88 |
this.theme = new Theme(); |
95 | 89 |
//FIXME: this preference is not used at this time, see if it's useless or not. |
96 | 90 |
this.directComputing = true; |
97 |
Log.info("Starting Charts Engine: " + this + "."); |
|
98 | 91 |
} |
99 | 92 |
|
100 | 93 |
/** |
... | ... | |
111 | 104 |
} |
112 | 105 |
|
113 | 106 |
if(chartCreator == null && showLogWarning) { |
114 |
Log.warning(this.name + ": No chart creator can be found for result: " + result.getClass() + " and chart type: " + chartType);
|
|
107 |
Log.warning(this.getName() + ": No chart creator can be found for result: " + result.getClass() + " and chart type: " + chartType);
|
|
115 | 108 |
} |
116 | 109 |
return chartCreator; |
117 | 110 |
} |
... | ... | |
202 | 195 |
|
203 | 196 |
chartCreator.setChartsEngine(this); |
204 | 197 |
|
205 |
String log = this.name + ": Chart creator " + chartCreator.getClass().getSimpleName() + " added for result data type: " + resultDataType;
|
|
198 |
String log = this.getName() + ": Chart creator " + chartCreator.getClass().getSimpleName() + " added for result data type: " + resultDataType;
|
|
206 | 199 |
|
207 | 200 |
if(chartType != null) { |
208 | 201 |
log += " (chart type: " + chartType + ")"; |
... | ... | |
220 | 213 |
*/ |
221 | 214 |
public static void createChartsEngines() { |
222 | 215 |
|
223 |
Log.finest("Looking for charts engines contributions with extension point id " + ChartsEngine.extensionPointId + ".");
|
|
216 |
Log.finest("Looking for charts engines contributions with extension point id " + ChartsEngine.EXTENSION_POINT_ID + ".");
|
|
224 | 217 |
|
225 | 218 |
ChartsEngine.chartsEngines = new ArrayList<ChartsEngine>(); |
226 | 219 |
ChartsEngine.currentChartsEngineIndex = 0; |
227 | 220 |
|
228 |
IConfigurationElement[] contributions = RegistryFactory.getRegistry().getConfigurationElementsFor(ChartsEngine.extensionPointId);
|
|
221 |
IConfigurationElement[] contributions = RegistryFactory.getRegistry().getConfigurationElementsFor(ChartsEngine.EXTENSION_POINT_ID);
|
|
229 | 222 |
|
230 | 223 |
Log.finest(contributions.length + " charts engines found."); |
231 | 224 |
|
... | ... | |
337 | 330 |
return ChartsEngine.chartsEngines; |
338 | 331 |
} |
339 | 332 |
|
333 |
|
|
334 |
@Override |
|
335 |
public boolean initialize() throws Exception { |
|
336 |
this.registerChartCreatorExtensions(); |
|
337 |
return true; |
|
338 |
} |
|
339 |
|
|
340 |
|
|
341 |
|
|
340 | 342 |
/** |
341 | 343 |
* Populates the chart creators from loaded extensions according to the specified chars engine name. |
342 | 344 |
* @param chartsEngineName |
... | ... | |
362 | 364 |
|
363 | 365 |
} |
364 | 366 |
} |
365 |
|
|
367 |
|
|
366 | 368 |
/** |
367 | 369 |
* Populates the chart creators from loaded extensions. |
368 | 370 |
*/ |
... | ... | |
498 | 500 |
return this.exportChart(chart, file, outputFormat, imageWidth, imageHeight, 0, 0, imageWidth, imageHeight); |
499 | 501 |
} |
500 | 502 |
|
501 |
/** |
|
502 |
* @return the name |
|
503 |
*/ |
|
504 |
public String getName() { |
|
505 |
return name; |
|
506 |
} |
|
507 | 503 |
|
508 | 504 |
/** |
509 |
* @param name the name to set |
|
510 |
*/ |
|
511 |
public void setName(String name) { |
|
512 |
this.name = name; |
|
513 |
} |
|
514 |
|
|
515 |
/** |
|
516 | 505 |
* Gets the current output format. |
517 | 506 |
* @return |
518 | 507 |
*/ |
... | ... | |
570 | 559 |
|
571 | 560 |
@Override |
572 | 561 |
public String toString() { |
573 |
String str = this.name + " (description: " + this.description + ", output format: " + this.outputFormat;
|
|
562 |
String str = this.getName() + " (description: " + this.description + ", output format: " + this.outputFormat;
|
|
574 | 563 |
|
575 | 564 |
str += ", supported output display formats: " + this.getSupportedOutputDisplayFormats().toString().replaceAll("\\[|\\]", ""); //$NON-NLS-2$ //$NON-NLS-3$ |
576 | 565 |
str += ", supported output file formats: " + this.getSupportedOutputFileFormats().toString().replaceAll("\\[|\\]", ""); //$NON-NLS-2$ //$NON-NLS-3$ |
tmp/org.txm.searchengine.cqp.core/src/org/txm/searchengine/cqp/CQPEngine.java (revision 784) | ||
---|---|---|
8 | 8 |
import org.eclipse.core.runtime.IProgressMonitor; |
9 | 9 |
import org.eclipse.core.runtime.Platform; |
10 | 10 |
import org.osgi.framework.Bundle; |
11 |
import org.txm.EngineType; |
|
12 | 11 |
import org.txm.Toolbox; |
12 |
import org.txm.core.engines.EngineType; |
|
13 | 13 |
import org.txm.core.messages.TXMCoreMessages; |
14 | 14 |
import org.txm.core.preferences.TBXPreferences; |
15 | 15 |
import org.txm.core.preferences.TXMPreferences; |
tmp/org.txm.statsengine.r.rcp/src/org/txm/statsengine/r/rcp/views/RConsole.java (revision 784) | ||
---|---|---|
37 | 37 |
import org.eclipse.ui.IWorkbenchWindow; |
38 | 38 |
import org.eclipse.ui.PlatformUI; |
39 | 39 |
import org.eclipse.ui.part.ViewPart; |
40 |
import org.txm.EngineType; |
|
41 | 40 |
import org.txm.Toolbox; |
41 |
import org.txm.core.engines.EngineType; |
|
42 | 42 |
import org.txm.rcp.IImageKeys; |
43 | 43 |
import org.txm.statsengine.r.core.RWorkspace; |
44 | 44 |
import org.txm.statsengine.r.core.exceptions.RWorkspaceException; |
tmp/org.txm.statsengine.r.rcp/src/org/txm/statsengine/r/rcp/handlers/CheckRPackages.java (revision 784) | ||
---|---|---|
15 | 15 |
import org.rosuda.REngine.REXPInteger; |
16 | 16 |
import org.rosuda.REngine.REXPMismatchException; |
17 | 17 |
import org.rosuda.REngine.RList; |
18 |
import org.txm.EngineType; |
|
19 | 18 |
import org.txm.Toolbox; |
19 |
import org.txm.core.engines.EngineType; |
|
20 | 20 |
import org.txm.core.preferences.TBXPreferences; |
21 | 21 |
import org.txm.core.preferences.TXMPreferences; |
22 | 22 |
import org.txm.rcp.handlers.BaseAbstractHandler; |
Formats disponibles : Unified diff