Révision 2220
tmp/org.txm.rcp/src/main/java/org/txm/rcp/ApplicationWorkbenchAdvisor.java (revision 2220) | ||
---|---|---|
28 | 28 |
package org.txm.rcp; |
29 | 29 |
|
30 | 30 |
import java.io.File; |
31 |
import java.io.IOException; |
|
31 | 32 |
import java.io.InputStream; |
32 | 33 |
import java.io.PrintStream; |
33 | 34 |
import java.lang.reflect.InvocationTargetException; |
... | ... | |
112 | 113 |
import org.txm.rcp.perspective.TXMPerspective; |
113 | 114 |
import org.txm.rcp.preferences.RCPPreferences; |
114 | 115 |
import org.txm.rcp.utils.JobHandler; |
116 |
import org.txm.utils.BundleUtils; |
|
115 | 117 |
import org.txm.utils.DeleteDir; |
116 | 118 |
import org.txm.utils.io.IOUtils; |
117 | 119 |
import org.txm.utils.logger.Log; |
... | ... | |
282 | 284 |
} |
283 | 285 |
|
284 | 286 |
public static void printTXMVersion() { |
285 |
// build the properties given to the Toolbox |
|
286 |
// String version = Activator.getDefault().getBundle().getVersion().toString(); // "0.7.7.201412160925"; |
|
287 |
// System.out.println(BundleUtils.getBundle("org.txm.rcp.app")); |
|
288 |
// for (IBundleGroupProvider bg : Platform.getBundleGroupProviders()) { |
|
289 |
// System.out.println(bg); |
|
290 |
// for (IBundleGroup f : bg.getBundleGroups()) { |
|
291 |
// System.out.println(f); |
|
292 |
// if (f.getIdentifier().equals("org.txm.rcp.app")) { |
|
293 |
// version = f.getVersion(); |
|
294 |
// System.out.println(version); |
|
295 |
// } |
|
296 |
// } |
|
297 |
// } |
|
298 |
// org.eclipse.core.internal.runtime.Product product = (Product) Platform.getProduct(); |
|
299 |
// product.getDefiningBundle() |
|
300 |
// version = version.replaceAll("(.\\..\\..)\\.(....)(..)(..)(..)(..)", "$1 ($2-$3-$4 $5h$6)"); //$NON-NLS-1$ //$NON-NLS-2$ |
|
301 |
|
|
302 |
|
|
303 |
ProvisioningUI pui = ProvisioningUI.getDefaultUI(); |
|
304 |
|
|
305 |
String profileId = pui.getProfileId(); |
|
306 |
IProvisioningAgent agent = pui.getSession().getProvisioningAgent(); |
|
307 |
IProfileRegistry profileRegistry = (IProfileRegistry) agent.getService(IProfileRegistry.SERVICE_NAME); |
|
308 |
IProfile iprofile = profileRegistry.getProfile(profileId); |
|
309 |
if (iprofile == null) { |
|
310 |
System.out.println("TXM dev version..."); |
|
311 |
return; |
|
312 |
} |
|
313 |
Profile profile = (Profile)iprofile; |
|
314 |
Iterator<IInstallableUnit> everything = profile.everything(); |
|
315 | 287 |
|
316 | 288 |
String version = null; |
317 |
while (everything.hasNext()) { |
|
318 |
IInstallableUnit iu = everything.next(); |
|
319 |
String id = iu.getId(); |
|
320 |
if ("org.txm.rcp.app".equals(id)) { |
|
321 |
version = iu.getVersion().toString(); |
|
289 |
|
|
290 |
// try finding build date from the p2 artifacts file in installation directory |
|
291 |
String path = BundleUtils.getInstallDirectory(); |
|
292 |
if (path != null) { |
|
293 |
File installDirectory = new File(path); |
|
294 |
//println "installDirectory=$installDirectory" |
|
295 |
if (installDirectory.exists()) { |
|
296 |
File artifacts = new File(installDirectory, "p2/org.eclipse.equinox.p2.core/cache/artifacts.xml"); |
|
297 |
//println "artifacts=$artifacts" |
|
298 |
if (artifacts.exists() && artifacts.canRead()) { |
|
299 |
try { |
|
300 |
String content = IOUtils.getText(artifacts); |
|
301 |
String ARTIFACT = "<artifact classifier='binary' id='org.txm.rcp.app_root"; |
|
302 |
int start = content.indexOf(ARTIFACT); |
|
303 |
//println "start=$start" |
|
304 |
if (start > 0) { |
|
305 |
String VERSION = "version='"; |
|
306 |
int versionStart = content.indexOf(VERSION, start+ARTIFACT.length()); |
|
307 |
//println "versionStart=$versionStart" |
|
308 |
if (versionStart > 0) { |
|
309 |
int versionEnd = content.indexOf("'", versionStart+VERSION.length()); |
|
310 |
if (versionEnd > 0) { |
|
311 |
version = content.substring(versionStart+VERSION.length(), versionEnd); |
|
312 |
System.out.println("VERSION="+version); |
|
313 |
} |
|
314 |
} |
|
315 |
} |
|
316 |
} catch (IOException e) { |
|
317 |
// TODO Auto-generated catch block |
|
318 |
e.printStackTrace(); |
|
319 |
} |
|
320 |
} |
|
322 | 321 |
} |
323 | 322 |
} |
324 | 323 |
|
324 |
|
|
325 | 325 |
if (version == null) { |
326 | 326 |
version = Activator.getDefault().getBundle().getVersion().toString(); |
327 | 327 |
} |
328 | 328 |
|
329 |
DateFormat formatter = TXMResult.PRETTY_LOCALIZED_TIME_FORMAT; |
|
330 |
System.out.println(NLS.bind(TXMUIMessages.startingUpP0, Activator.getDefault().getBundle().getVersion().toString(), formatter.format(new Date(Activator.getDefault().getBundle().getLastModified())))); |
|
329 |
String date = version.replaceAll("(.\\..\\..)\\.(....)(..)(..)(..)(..)", "$2-$3-$4 $5h$6"); //$NON-NLS-1$ //$NON-NLS-2$ |
|
330 |
|
|
331 |
System.out.println(NLS.bind(TXMUIMessages.startingUpP0, |
|
332 |
Activator.getDefault().getBundle().getVersion().toString(), date)); |
|
331 | 333 |
} |
332 | 334 |
|
333 | 335 |
private void setPreferencesConfiguration() { |
... | ... | |
563 | 565 |
installPreferenceRestored = false; // reset and finally set true if the process ended correctly |
564 | 566 |
|
565 | 567 |
try { |
566 |
Display.getDefault().syncExec(new Runnable() { |
|
567 |
@Override |
|
568 |
public void run() { OpenWelcomePage.openWelcomePage(); } |
|
569 |
}); |
|
568 |
Display.getDefault().syncExec(new Runnable() {
|
|
569 |
@Override
|
|
570 |
public void run() { OpenWelcomePage.openWelcomePage(); }
|
|
571 |
});
|
|
570 | 572 |
} catch(Exception e2) {} |
571 |
|
|
573 |
|
|
572 | 574 |
// set the install directory preference |
573 | 575 |
String installpath = Platform.getInstallLocation().getURL().getFile(); // the TXM.exe file path |
574 | 576 |
File installDirectory = new File(installpath); |
... | ... | |
796 | 798 |
initialCorporaDirs.add(V080); |
797 | 799 |
initialCorporaDirs.add(V079); |
798 | 800 |
|
799 |
|
|
801 |
|
|
800 | 802 |
Display.getDefault().syncExec(new Runnable() { |
801 | 803 |
@Override |
802 | 804 |
public void run() { |
... | ... | |
970 | 972 |
public void run() { |
971 | 973 |
try { |
972 | 974 |
printTXMVersion(); |
973 |
|
|
975 |
|
|
974 | 976 |
jobHandler.setTaskName(TXMUIMessages.setDefaultTheme); |
975 | 977 |
setDefaultTheme(); |
976 | 978 |
|
... | ... | |
980 | 982 |
|
981 | 983 |
// remove some preference pages |
982 | 984 |
setPreferencesConfiguration(); |
983 |
|
|
985 |
|
|
984 | 986 |
new ProgressMonitorDialog(Display.getDefault().getActiveShell()).run(true, true, new IRunnableWithProgress() { |
985 | 987 |
|
986 | 988 |
@Override |
... | ... | |
1014 | 1016 |
// restore corpora if TXMHOME has been created |
1015 | 1017 |
if (txmHomeRestored) { |
1016 | 1018 |
installCorporaDirectory(monitor); |
1017 |
|
|
1019 |
|
|
1018 | 1020 |
Toolbox.workspace.saveParameters(true); |
1019 | 1021 |
ResourcesPlugin.getWorkspace().save(true, null); |
1020 | 1022 |
} |
1021 | 1023 |
monitor.worked(20); |
1022 |
|
|
1024 |
|
|
1023 | 1025 |
jobHandler.setTaskName(TXMUIMessages.toolboxReady); |
1024 | 1026 |
} catch (Exception e) { |
1025 | 1027 |
// TODO Auto-generated catch block |
... | ... | |
1030 | 1032 |
monitor.done(); |
1031 | 1033 |
} |
1032 | 1034 |
|
1033 |
|
|
1035 |
|
|
1034 | 1036 |
}); |
1035 | 1037 |
|
1036 | 1038 |
Log.fine(TXMUIMessages.loadingViews); |
1037 | 1039 |
RestartTXM.reloadViews(); // reload views |
1038 | 1040 |
|
1039 |
|
|
1041 |
|
|
1040 | 1042 |
} |
1041 | 1043 |
catch(Exception e) { |
1042 | 1044 |
Log.severe(TXMCoreMessages.bind(TXMUIMessages.errorDuringUIInitializationP0, e.getLocalizedMessage())); |
Formats disponibles : Unified diff