Révision 1537
tmp/org.txm.rcp/src/main/java/org/txm/rcp/Application.java (revision 1537) | ||
---|---|---|
27 | 27 |
// |
28 | 28 |
package org.txm.rcp; |
29 | 29 |
|
30 |
import java.io.File; |
|
30 | 31 |
import java.util.Arrays; |
31 | 32 |
import java.util.List; |
32 | 33 |
import java.util.Map; |
... | ... | |
69 | 70 |
*/ |
70 | 71 |
@Override |
71 | 72 |
public Object start(IApplicationContext context) throws Exception { |
73 |
|
|
74 |
// load JVM fonts in SWT env |
|
75 |
if (System.getProperty("os.name").contains("Linux")) { // $NON-NLS-1$ $NON-NLS-2$ |
|
76 |
File javaFontsPath = new File(System.getProperty("java.home") |
|
77 |
+ System.getProperty("file.separator") + "lib" |
|
78 |
+ System.getProperty("file.separator") + "fonts" |
|
79 |
+ System.getProperty("file.separator")); |
|
80 |
|
|
81 |
String[] fontFiles = javaFontsPath.list(); |
|
82 |
for (int i = 0; i < fontFiles.length; i++) { |
|
83 |
if(fontFiles[i].endsWith(".ttf")) { //$NON-NLS-1$ |
|
84 |
File fontFile = new File(javaFontsPath, fontFiles[i]); |
|
85 |
Log.finest("Loading Java font to SWT Device from file " + fontFile + "..."); |
|
86 |
// Load the font in SWT |
|
87 |
Display.getDefault().loadFont(fontFile.getAbsolutePath()); |
|
88 |
} |
|
89 |
} |
|
90 |
} |
|
91 |
|
|
72 | 92 |
Map args = context.getArguments(); |
73 | 93 |
|
74 | 94 |
List<String> argsList = Arrays.asList((String[])(args.get("application.args"))); //$NON-NLS-1$ |
75 |
|
|
95 |
|
|
76 | 96 |
System.out.println(TXMCoreMessages.bind(TXMUIMessages.argsColon, argsList)); |
77 |
|
|
97 |
|
|
78 | 98 |
if (argsList.contains("-log")) { //$NON-NLS-1$ |
79 | 99 |
System.out.println(TXMUIMessages.logOptionDetected); |
80 | 100 |
Log.setPrintInConsole(true); |
... | ... | |
87 | 107 |
if (argsList.contains("-run")) { //$NON-NLS-1$ |
88 | 108 |
//System.out.println("Running TXM"); |
89 | 109 |
// FIXME: need to check that all has been well moved in Workspace class or build.properties |
90 |
// } else if (argsList.contains("-standalone")) { //$NON-NLS-1$ |
|
91 |
// File userhomeDirectory = new File("workspace").getAbsoluteFile(); // eclipse default workspace directory |
|
92 |
// File defaultWorkspaceFile = new File("workspace/corpora/default.xml"); |
|
93 |
// if (!defaultWorkspaceFile.exists()) { |
|
94 |
// System.out.println("Stand alone launch, creating minimal TXM user home directory in "+userhomeDirectory.getAbsolutePath()); |
|
95 |
// System.out.println("Sample corpora, scripts, import scripts and macros files are not yet installed."); |
|
96 |
// |
|
97 |
// TBXPreferences.getInstance().put(TBXPreferences.USER_TXM_HOME, userhomeDirectory.getAbsolutePath()); |
|
98 |
// TBXPreferences.getInstance().put(TBXPreferences.INSTALL_DIR, userhomeDirectory.getParentFile().getAbsolutePath()); |
|
99 |
// |
|
100 |
// File corpusworkspaceDirectory = new File(userhomeDirectory, "workspaces"); |
|
101 |
// corpusworkspaceDirectory.mkdirs(); |
|
102 |
// |
|
103 |
// String createfolders[] = { |
|
104 |
// "corpora", "clipboard", //$NON-NLS-1$ //$NON-NLS-2$ |
|
105 |
// "workspaces", "css", "scripts", "scripts/lib", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ |
|
106 |
// "scripts/macro", "scripts/user", "xsl", "samples", "schema", "R"}; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ |
|
107 |
// |
|
108 |
// for (String folder : createfolders) { |
|
109 |
// new File(userhomeDirectory, folder).mkdir(); |
|
110 |
// } |
|
111 |
// |
|
112 |
// Workspace.createEmptyWorkspaceDefinition(new File(corpusworkspaceDirectory, "default.xml")); //$NON-NLS-1$ |
|
113 |
// BundleUtils.copyFiles("org.txm.core", "res", "org/txm", "css", new File(userhomeDirectory, "css")); |
|
114 |
// BundleUtils.copyFiles("org.txm.core", "res", "org/txm/xml", "xsl", new File(userhomeDirectory, "xsl")); |
|
115 |
// BundleUtils.copyFiles("org.txm.core", "res", "org/txm/xml", "schema", new File(userhomeDirectory, "schema")); |
|
116 |
// File scriptsDirectory = new File(userhomeDirectory, "scripts"); |
|
117 |
// new File(scriptsDirectory, "user").mkdir(); |
|
118 |
// new File(scriptsDirectory, "import").mkdir(); |
|
119 |
// new File(scriptsDirectory, "lib").mkdir(); |
|
120 |
// new File(scriptsDirectory, "macro").mkdir(); |
|
121 |
// new File(scriptsDirectory, "samples").mkdir(); |
|
122 |
// } |
|
110 |
// } else if (argsList.contains("-standalone")) { //$NON-NLS-1$
|
|
111 |
// File userhomeDirectory = new File("workspace").getAbsoluteFile(); // eclipse default workspace directory
|
|
112 |
// File defaultWorkspaceFile = new File("workspace/corpora/default.xml");
|
|
113 |
// if (!defaultWorkspaceFile.exists()) {
|
|
114 |
// System.out.println("Stand alone launch, creating minimal TXM user home directory in "+userhomeDirectory.getAbsolutePath());
|
|
115 |
// System.out.println("Sample corpora, scripts, import scripts and macros files are not yet installed.");
|
|
116 |
//
|
|
117 |
// TBXPreferences.getInstance().put(TBXPreferences.USER_TXM_HOME, userhomeDirectory.getAbsolutePath());
|
|
118 |
// TBXPreferences.getInstance().put(TBXPreferences.INSTALL_DIR, userhomeDirectory.getParentFile().getAbsolutePath());
|
|
119 |
//
|
|
120 |
// File corpusworkspaceDirectory = new File(userhomeDirectory, "workspaces");
|
|
121 |
// corpusworkspaceDirectory.mkdirs();
|
|
122 |
//
|
|
123 |
// String createfolders[] = {
|
|
124 |
// "corpora", "clipboard", //$NON-NLS-1$ //$NON-NLS-2$
|
|
125 |
// "workspaces", "css", "scripts", "scripts/lib", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
|
|
126 |
// "scripts/macro", "scripts/user", "xsl", "samples", "schema", "R"}; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
|
|
127 |
//
|
|
128 |
// for (String folder : createfolders) {
|
|
129 |
// new File(userhomeDirectory, folder).mkdir();
|
|
130 |
// }
|
|
131 |
//
|
|
132 |
// Workspace.createEmptyWorkspaceDefinition(new File(corpusworkspaceDirectory, "default.xml")); //$NON-NLS-1$
|
|
133 |
// BundleUtils.copyFiles("org.txm.core", "res", "org/txm", "css", new File(userhomeDirectory, "css"));
|
|
134 |
// BundleUtils.copyFiles("org.txm.core", "res", "org/txm/xml", "xsl", new File(userhomeDirectory, "xsl"));
|
|
135 |
// BundleUtils.copyFiles("org.txm.core", "res", "org/txm/xml", "schema", new File(userhomeDirectory, "schema"));
|
|
136 |
// File scriptsDirectory = new File(userhomeDirectory, "scripts");
|
|
137 |
// new File(scriptsDirectory, "user").mkdir();
|
|
138 |
// new File(scriptsDirectory, "import").mkdir();
|
|
139 |
// new File(scriptsDirectory, "lib").mkdir();
|
|
140 |
// new File(scriptsDirectory, "macro").mkdir();
|
|
141 |
// new File(scriptsDirectory, "samples").mkdir();
|
|
142 |
// }
|
|
123 | 143 |
} else { |
124 | 144 |
System.err.println("TXM must be launch with the argument '-run' to start."); //$NON-NLS-1$ |
125 | 145 |
System.err.println(TXMUIMessages.thisFileIsNotMeantToRunTXMPleaseConsultTXMUserManual); |
... | ... | |
233 | 253 |
} |
234 | 254 |
} |
235 | 255 |
|
236 |
// /** |
|
237 |
// * Parses the command line. |
|
238 |
// * |
|
239 |
// * @return true, if successful |
|
240 |
// * @deprecated, parse the command line the list optionsForPreferences must |
|
241 |
// * be edited too add options |
|
242 |
// */ |
|
243 |
// private boolean parseCommandLine() { |
|
244 |
// boolean exit = false; |
|
245 |
// String[] optionsForPreferences = { |
|
246 |
// CQPLibPreferences.CQI_SERVER_PATH_TO_EXECUTABLE, |
|
247 |
// CQPLibPreferences.CQI_SERVER_PATH_TO_INIT_FILE, |
|
248 |
// // TBXPreferences.CQI_SERVER_PATH_TO_REGISTRY, |
|
249 |
// RPreferences.PATH_TO_EXECUTABLE, |
|
250 |
// TBXPreferences.INSTALL_DIR }; |
|
251 |
// String setPrefAndExit = "setPrefAndExit"; //$NON-NLS-1$ |
|
252 |
// |
|
253 |
// Options options = new Options(); |
|
254 |
// options.addOption(OptionBuilder.create("product")); //option passed here when run as an eclipse application. Recognized to prevent a UnrecognizedOptionException //$NON-NLS-1$ |
|
255 |
// options.addOption(OptionBuilder.create(setPrefAndExit)); |
|
256 |
// for (String preference : optionsForPreferences) |
|
257 |
// options.addOption(OptionBuilder.withValueSeparator().hasArgs() |
|
258 |
// .create(preference)); |
|
259 |
// |
|
260 |
// Parser parser = new GnuParser(); |
|
261 |
// CommandLine cl; |
|
262 |
// try { |
|
263 |
// cl = parser.parse(options, Platform.getCommandLineArgs()); |
|
264 |
// } catch (ParseException e) { |
|
265 |
// |
|
266 |
// System.err.println(NLS.bind(TXMUIMessages.FAILED_TO_PARSE_OPTIONS, |
|
267 |
// StringUtils.join(Platform.getCommandLineArgs(), " "), e)); //$NON-NLS-1$ |
|
268 |
// org.txm.rcp.utils.Logger.printStackTrace(e); |
|
269 |
// exit = true; |
|
270 |
// return exit; |
|
271 |
// } |
|
272 |
// |
|
273 |
// ScopedPreferenceStore preferences = new ScopedPreferenceStore( |
|
274 |
// org.eclipse.core.runtime.preferences.InstanceScope.INSTANCE, Application.PLUGIN_ID); |
|
275 |
// for (String preference : optionsForPreferences) |
|
276 |
// if (cl.hasOption(preference)) { |
|
277 |
// preferences.setValue(preference, cl.getOptionValue(preference)); |
|
278 |
// } |
|
279 |
// |
|
280 |
// try { |
|
281 |
// preferences.save(); |
|
282 |
// } catch (IOException e) { |
|
283 |
// System.err.println(NLS.bind(TXMUIMessages.failedToSavePreferencesColonP0, e)); |
|
284 |
// exit = true; |
|
285 |
// return exit; |
|
286 |
// } |
|
287 |
// |
|
288 |
// if (cl.hasOption(setPrefAndExit)) |
|
289 |
// exit = true; |
|
290 |
// return exit; |
|
291 |
// } |
|
256 |
// /**
|
|
257 |
// * Parses the command line.
|
|
258 |
// *
|
|
259 |
// * @return true, if successful
|
|
260 |
// * @deprecated, parse the command line the list optionsForPreferences must
|
|
261 |
// * be edited too add options
|
|
262 |
// */
|
|
263 |
// private boolean parseCommandLine() {
|
|
264 |
// boolean exit = false;
|
|
265 |
// String[] optionsForPreferences = {
|
|
266 |
// CQPLibPreferences.CQI_SERVER_PATH_TO_EXECUTABLE,
|
|
267 |
// CQPLibPreferences.CQI_SERVER_PATH_TO_INIT_FILE,
|
|
268 |
// // TBXPreferences.CQI_SERVER_PATH_TO_REGISTRY,
|
|
269 |
// RPreferences.PATH_TO_EXECUTABLE,
|
|
270 |
// TBXPreferences.INSTALL_DIR };
|
|
271 |
// String setPrefAndExit = "setPrefAndExit"; //$NON-NLS-1$
|
|
272 |
//
|
|
273 |
// Options options = new Options();
|
|
274 |
// options.addOption(OptionBuilder.create("product")); //option passed here when run as an eclipse application. Recognized to prevent a UnrecognizedOptionException //$NON-NLS-1$
|
|
275 |
// options.addOption(OptionBuilder.create(setPrefAndExit));
|
|
276 |
// for (String preference : optionsForPreferences)
|
|
277 |
// options.addOption(OptionBuilder.withValueSeparator().hasArgs()
|
|
278 |
// .create(preference));
|
|
279 |
//
|
|
280 |
// Parser parser = new GnuParser();
|
|
281 |
// CommandLine cl;
|
|
282 |
// try {
|
|
283 |
// cl = parser.parse(options, Platform.getCommandLineArgs());
|
|
284 |
// } catch (ParseException e) {
|
|
285 |
//
|
|
286 |
// System.err.println(NLS.bind(TXMUIMessages.FAILED_TO_PARSE_OPTIONS,
|
|
287 |
// StringUtils.join(Platform.getCommandLineArgs(), " "), e)); //$NON-NLS-1$
|
|
288 |
// org.txm.rcp.utils.Logger.printStackTrace(e);
|
|
289 |
// exit = true;
|
|
290 |
// return exit;
|
|
291 |
// }
|
|
292 |
//
|
|
293 |
// ScopedPreferenceStore preferences = new ScopedPreferenceStore(
|
|
294 |
// org.eclipse.core.runtime.preferences.InstanceScope.INSTANCE, Application.PLUGIN_ID);
|
|
295 |
// for (String preference : optionsForPreferences)
|
|
296 |
// if (cl.hasOption(preference)) {
|
|
297 |
// preferences.setValue(preference, cl.getOptionValue(preference));
|
|
298 |
// }
|
|
299 |
//
|
|
300 |
// try {
|
|
301 |
// preferences.save();
|
|
302 |
// } catch (IOException e) {
|
|
303 |
// System.err.println(NLS.bind(TXMUIMessages.failedToSavePreferencesColonP0, e));
|
|
304 |
// exit = true;
|
|
305 |
// return exit;
|
|
306 |
// }
|
|
307 |
//
|
|
308 |
// if (cl.hasOption(setPrefAndExit))
|
|
309 |
// exit = true;
|
|
310 |
// return exit;
|
|
311 |
// }
|
|
292 | 312 |
} |
Formats disponibles : Unified diff