Révision 1772
| tmp/org.txm.utils/src/org/txm/utils/StreamHog.java (revision 1772) | ||
|---|---|---|
| 35 | 35 |
import org.txm.utils.logger.Log; |
| 36 | 36 |
|
| 37 | 37 |
/** |
| 38 |
* The Class StreamHog.
|
|
| 38 |
* The StreamHog read the given InputStream in a Thread until the InputStream is closed.
|
|
| 39 | 39 |
* |
| 40 | 40 |
* If a MessagePrinter is set, then the messages are displayed with the MessagePrinter and not in sys.out |
| 41 | 41 |
*/ |
| 42 | 42 |
public class StreamHog extends Thread {
|
| 43 | 43 |
|
| 44 | 44 |
InputStream is; |
| 45 |
boolean capture; |
|
| 46 |
String installPath; |
|
| 47 |
boolean go = true; |
|
| 48 |
|
|
| 49 | 45 |
BufferedReader br; |
| 50 | 46 |
ArrayList<MessagePrinter> messagePrinters = new ArrayList<MessagePrinter>(); |
| 51 | 47 |
|
| 52 |
/** The lastline. */ |
|
| 53 | 48 |
public String lastline; |
| 54 |
|
|
| 49 |
boolean log; |
|
| 50 |
|
|
| 55 | 51 |
/** |
| 56 | 52 |
* Instantiates a new stream hog. |
| 57 | 53 |
* |
| 58 | 54 |
* @param is the is |
| 59 |
* @param capture the capture
|
|
| 55 |
* @param log the capture
|
|
| 60 | 56 |
*/ |
| 61 |
public StreamHog(InputStream is, boolean capture) {
|
|
| 57 |
public StreamHog(InputStream is, boolean log) {
|
|
| 62 | 58 |
this.setName("");
|
| 63 | 59 |
this.is = is; |
| 64 |
this.capture = capture;
|
|
| 60 |
this.log = log;
|
|
| 65 | 61 |
start(); |
| 66 | 62 |
} |
| 67 | 63 |
|
| 68 |
public String getInstallPath() {
|
|
| 69 |
return installPath;
|
|
| 64 |
public String getLastMessage() {
|
|
| 65 |
return lastline;
|
|
| 70 | 66 |
} |
| 71 |
|
|
| 67 |
|
|
| 72 | 68 |
public InputStream getInputStream() {
|
| 73 | 69 |
return is; |
| 74 | 70 |
} |
| ... | ... | |
| 86 | 82 |
br = new BufferedReader(new InputStreamReader(is)); |
| 87 | 83 |
String line = null; |
| 88 | 84 |
while ((line = br.readLine()) != null) {
|
| 89 |
if (capture) { // we are supposed to capture the output from
|
|
| 90 |
int i = line.indexOf("InstallPath"); //$NON-NLS-1$
|
|
| 91 |
if (i >= 0) {
|
|
| 92 |
String s = line.substring(i + 11).trim(); |
|
| 93 |
int j = s.indexOf("REG_SZ"); //$NON-NLS-1$
|
|
| 94 |
if (j >= 0) |
|
| 95 |
s = s.substring(j + 6).trim(); |
|
| 96 |
installPath = s; |
|
| 97 |
System.out.println("R InstallPath = " + s);
|
|
| 98 |
} |
|
| 85 |
if (log) { // we are supposed to capture the output from
|
|
| 86 |
Log.info(this.getName()+">" + line); //$NON-NLS-1$ |
|
| 99 | 87 |
} |
| 100 | 88 |
|
| 101 | 89 |
printMessage(line); |
| 102 |
Log.info(this.getName()+">" + line); //$NON-NLS-1$ |
|
| 103 | 90 |
lastline = line; |
| 104 | 91 |
} |
| 105 | 92 |
} catch (Throwable e) {
|
| 106 |
Log.fine("ERROR: broken process logging : "+e);
|
|
| 93 |
Log.fine("ERROR: broken process logging : "+e); //$NON-NLS-1$
|
|
| 107 | 94 |
org.txm.utils.logger.Log.printStackTrace(e); |
| 108 | 95 |
} |
| 109 | 96 |
} |
| 110 | 97 |
|
| 111 | 98 |
/** |
| 112 |
* print the message if any MessagePrinter is set
|
|
| 99 |
* print the message to any registered MessagePrinter
|
|
| 113 | 100 |
* @param msg |
| 114 | 101 |
*/ |
| 115 | 102 |
public void printMessage(String msg) {
|
| 116 | 103 |
if (messagePrinters.size() > 0) {
|
| 117 |
for (MessagePrinter mp : messagePrinters) |
|
| 118 |
mp.println(msg); //$NON-NLS-1$ |
|
| 104 |
for (MessagePrinter mp : messagePrinters) {
|
|
| 105 |
mp.println(msg); |
|
| 106 |
} |
|
| 119 | 107 |
} |
| 120 | 108 |
} |
| 121 | 109 |
|
| 122 |
public void addMessagePrinter(MessagePrinter mp) {
|
|
| 110 |
/** |
|
| 111 |
* Use this method to retrieve messages |
|
| 112 |
* @param mp |
|
| 113 |
*/ |
|
| 114 |
public void registerMessagePrinter(MessagePrinter mp) {
|
|
| 123 | 115 |
this.messagePrinters.add(mp); |
| 124 | 116 |
} |
| 125 | 117 |
|
| ... | ... | |
| 130 | 122 |
/** |
| 131 | 123 |
* Sets the prints the. |
| 132 | 124 |
* |
| 133 |
* @param capture the new prints the
|
|
| 125 |
* @param log activate message logs if true
|
|
| 134 | 126 |
*/ |
| 135 |
public void setPrint(boolean capture) |
|
| 136 |
{
|
|
| 137 |
this.capture = capture; |
|
| 127 |
public void setPrint(boolean log) {
|
|
| 128 |
this.log = log; |
|
| 138 | 129 |
} |
| 139 |
|
|
| 140 |
public void stopLogging() {
|
|
| 141 |
go = false; |
|
| 142 |
} |
|
| 143 | 130 |
} |
| tmp/org.txm.statsengine.r.core/src/org/txm/statsengine/r/core/RWorkspace.java (revision 1772) | ||
|---|---|---|
| 1594 | 1594 |
|
| 1595 | 1595 |
|
| 1596 | 1596 |
/** |
| 1597 |
|
|
| 1597 | 1598 |
* Bar delegate call to {@link Connection#voidEval(String)}.
|
| 1598 | 1599 |
* |
| 1599 | 1600 |
* It is up to the caller to check if everything goes well (testing if the |
| ... | ... | |
| 1713 | 1714 |
} |
| 1714 | 1715 |
|
| 1715 | 1716 |
/** |
| 1716 |
* Start logger. |
|
| 1717 |
* |
|
| 1718 |
* @param streamHog the stream hog |
|
| 1719 |
* @param streamHog2 the stream hog2 |
|
| 1720 |
* @return the r workspace |
|
| 1721 |
*/ |
|
| 1722 |
public RWorkspace stopLogger() {
|
|
| 1723 |
this.errorLogger.stopLogging(); |
|
| 1724 |
this.inputLogger.stopLogging(); |
|
| 1725 |
return null; |
|
| 1726 |
} |
|
| 1727 |
|
|
| 1728 |
/** |
|
| 1729 | 1717 |
* To txt. |
| 1730 | 1718 |
* |
| 1731 | 1719 |
* @param file the file |
| tmp/org.txm.concordance.rcp/src/org/txm/concordance/rcp/editors/ConcordanceEditor.java (revision 1772) | ||
|---|---|---|
| 27 | 27 |
|
| 28 | 28 |
import java.util.ArrayList; |
| 29 | 29 |
import java.util.List; |
| 30 |
import java.util.Locale; |
|
| 30 | 31 |
|
| 31 | 32 |
import org.eclipse.core.runtime.CoreException; |
| 32 | 33 |
import org.eclipse.core.runtime.IConfigurationElement; |
| ... | ... | |
| 141 | 142 |
|
| 142 | 143 |
public static final String ID = ConcordanceEditor.class.getName(); |
| 143 | 144 |
|
| 144 |
String locale = RCPPreferences.getInstance().getString(RCPPreferences.UI_LOCALE);
|
|
| 145 |
String locale = Locale.getDefault().getLanguage();//RCPPreferences.getInstance().getString(RCPPreferences.CONFIG_LOCALE);
|
|
| 145 | 146 |
|
| 146 |
|
|
| 147 | 147 |
private static final String BACKTOTEXT_COMMAND_ID = "org.txm.rcp.extensionpoint.backtotext"; //$NON-NLS-1$ |
| 148 | 148 |
|
| 149 | 149 |
/** The lineids. */ |
| tmp/org.txm.rcp/src/main/java/org/txm/rcp/utils/LanguageSwitchHandler.java (revision 1772) | ||
|---|---|---|
| 37 | 37 |
import java.net.MalformedURLException; |
| 38 | 38 |
import java.net.URL; |
| 39 | 39 |
import java.util.ArrayList; |
| 40 |
import java.util.Locale; |
|
| 40 | 41 |
|
| 41 | 42 |
import org.eclipse.core.commands.AbstractHandler; |
| 42 | 43 |
import org.eclipse.core.commands.ExecutionEvent; |
| 43 | 44 |
import org.eclipse.core.commands.ExecutionException; |
| 44 | 45 |
import org.eclipse.core.runtime.Platform; |
| 45 |
import org.eclipse.core.runtime.preferences.IPreferencesService; |
|
| 46 | 46 |
import org.eclipse.jface.window.Window; |
| 47 | 47 |
import org.eclipse.osgi.service.datalocation.Location; |
| 48 | 48 |
import org.eclipse.osgi.util.NLS; |
| 49 | 49 |
import org.eclipse.swt.widgets.Shell; |
| 50 | 50 |
import org.eclipse.ui.PlatformUI; |
| 51 | 51 |
import org.eclipse.ui.handlers.HandlerUtil; |
| 52 |
import org.txm.core.preferences.TXMPreferences; |
|
| 53 |
import org.txm.rcp.Application; |
|
| 54 |
import org.txm.rcp.TxmPreferences; |
|
| 55 | 52 |
import org.txm.rcp.messages.TXMUIMessages; |
| 56 |
import org.txm.rcp.preferences.RCPPreferences; |
|
| 57 | 53 |
import org.txm.rcp.swt.dialog.ComboDialog; |
| 54 |
import org.txm.utils.io.IOUtils; |
|
| 58 | 55 |
import org.txm.utils.logger.Log; |
| 59 | 56 |
import org.txm.utils.logger.MessageBox; |
| 60 |
// TODO: Auto-generated Javadoc |
|
| 57 |
|
|
| 61 | 58 |
/** |
| 62 | 59 |
* Switches the language in RCP based products. Works only if the product is |
| 63 | 60 |
* deployed to the local file system since the <product>.ini file is altered. |
| ... | ... | |
| 66 | 63 |
* @see org.eclipse.core.commands.AbstractHandler |
| 67 | 64 |
*/ |
| 68 | 65 |
public class LanguageSwitchHandler extends AbstractHandler {
|
| 66 |
|
|
| 69 | 67 |
/** |
| 70 | 68 |
* The constructor. |
| 71 | 69 |
*/ |
| ... | ... | |
| 83 | 81 |
@Override |
| 84 | 82 |
public Object execute(ExecutionEvent event) throws ExecutionException {
|
| 85 | 83 |
|
| 86 |
IPreferencesService service = Platform.getPreferencesService(); |
|
| 87 |
Shell shell = HandlerUtil.getActiveWorkbenchWindowChecked(event) |
|
| 88 |
.getShell(); |
|
| 84 |
Shell shell = HandlerUtil.getActiveWorkbenchWindowChecked(event).getShell(); |
|
| 85 |
|
|
| 86 |
String locale = Locale.getDefault().getLanguage();//RCPPreferences.getInstance().getString(RCPPreferences.UI_LOCALE); |
|
| 87 |
|
|
| 89 | 88 |
ArrayList<String> values = new ArrayList<String>(); |
| 90 | 89 |
values.add("fr"); //$NON-NLS-1$
|
| 91 | 90 |
values.add("en"); //$NON-NLS-1$
|
| 92 | 91 |
values.add("ru"); //$NON-NLS-1$
|
| 93 |
ComboDialog d = new ComboDialog(shell, TXMUIMessages.chooseTheLanguage, values, |
|
| 94 |
service.getString(Application.PLUGIN_ID, |
|
| 95 |
RCPPreferences.UI_LOCALE, "fr", null)); //$NON-NLS-1$ |
|
| 92 |
|
|
| 93 |
if (!values.contains(locale)) { // set selected locale
|
|
| 94 |
locale = "en"; |
|
| 95 |
} |
|
| 96 |
|
|
| 97 |
ComboDialog d = new ComboDialog(shell, TXMUIMessages.chooseTheLanguage, values, locale); //$NON-NLS-1$ |
|
| 96 | 98 |
if (d.open() == Window.OK) {
|
| 97 |
RCPPreferences.getInstance().put(RCPPreferences.UI_LOCALE, d.getSelectedValue()); |
|
| 98 |
} else |
|
| 99 |
locale = d.getSelectedValue(); |
|
| 100 |
//RCPPreferences.getInstance().put(RCPPreferences.CONFIG_LOCALE, locale); |
|
| 101 |
} else {
|
|
| 99 | 102 |
return null; |
| 100 |
|
|
| 101 |
String locale = service.getString(Application.PLUGIN_ID, |
|
| 102 |
RCPPreferences.UI_LOCALE, "fr", null); //$NON-NLS-1$ |
|
| 103 |
if (locale.length() == 0) |
|
| 104 |
Log.warning(TXMUIMessages.interfaceLanguageLOCALEWasNotSet); |
|
| 103 |
} |
|
| 104 |
|
|
| 105 | 105 |
// Does not work: |
| 106 |
//System.getProperties().setProperty("eclipse.exitdata", "-nl " + locale);
|
|
| 107 |
//changeLocaleTXMIni(locale); |
|
| 108 |
changeLocaleConfigIni(locale); |
|
| 109 |
PlatformUI.getWorkbench().restart(); |
|
| 110 |
|
|
| 106 |
// System.getProperties().setProperty(IApplicationContext.EXIT_DATA_PROPERTY, "-nl " + locale); |
|
| 107 |
// changeLocaleTXMIni(locale); |
|
| 108 |
|
|
| 109 |
if (changeLocaleConfigIni(locale)) {
|
|
| 110 |
PlatformUI.getWorkbench().restart(); |
|
| 111 |
} else {
|
|
| 112 |
Log.warning("** Error: TXM language configuration could not be set. You can set TXM language by editing HOME/TXM-<version>/.txm/TXM.ini) configuration file by adding '-nl\n<language code>' before the '-vmargs' line.");
|
|
| 113 |
} |
|
| 114 |
|
|
| 111 | 115 |
return null; |
| 112 | 116 |
} |
| 113 | 117 |
|
| ... | ... | |
| 220 | 224 |
* |
| 221 | 225 |
* @param locale the locale |
| 222 | 226 |
*/ |
| 223 |
public static void changeLocaleConfigIni(String locale) {
|
|
| 224 |
|
|
| 227 |
public static boolean changeLocaleConfigIni(String locale) {
|
|
| 228 |
|
|
| 225 | 229 |
Location configArea = Platform.getConfigurationLocation(); |
| 226 | 230 |
|
| 227 | 231 |
if (configArea == null) {
|
| 228 |
return; |
|
| 232 |
return false;
|
|
| 229 | 233 |
} |
| 230 | 234 |
|
| 231 | 235 |
String fileName = Platform.getConfigurationLocation().getURL().getFile() + |
| ... | ... | |
| 234 | 238 |
File file = new File(fileName); |
| 235 | 239 |
if (!file.exists()) {
|
| 236 | 240 |
MessageBox.error(NLS.bind(TXMUIMessages.theFileP0DoesNotExist, file.getAbsolutePath())); |
| 237 |
return; |
|
| 241 |
return false;
|
|
| 238 | 242 |
} |
| 239 | 243 |
String fileNameBackup = fileName + ".bak"; //$NON-NLS-1$ |
| 240 | 244 |
file.renameTo(new File(fileNameBackup)); |
| 241 | 245 |
|
| 242 | 246 |
// update config.ini |
| 243 |
System.out.println("config.ini"+fileName); //$NON-NLS-1$
|
|
| 244 |
Log.severe("config.ini"+fileName); //$NON-NLS-1$
|
|
| 247 |
Log.info("config.ini: "+fileName); //$NON-NLS-1$
|
|
| 245 | 248 |
try {
|
| 246 | 249 |
|
| 247 | 250 |
BufferedReader in = new BufferedReader(new FileReader(fileNameBackup)); |
| ... | ... | |
| 290 | 293 |
} catch (IOException e) {
|
| 291 | 294 |
org.txm.utils.logger.Log.printStackTrace(e); |
| 292 | 295 |
} |
| 296 |
|
|
| 297 |
String txt; |
|
| 298 |
try {
|
|
| 299 |
txt = IOUtils.getText(file, "UTF-8"); |
|
| 300 |
return txt.contains("osgi.nl="+locale);
|
|
| 301 |
} catch (IOException e) {
|
|
| 302 |
e.printStackTrace(); |
|
| 303 |
return false; |
|
| 304 |
} |
|
| 293 | 305 |
} |
| 294 | 306 |
} |
| tmp/org.txm.rcp/src/main/java/org/txm/rcp/preferences/LocalePreferencePage.java (revision 1772) | ||
|---|---|---|
| 64 | 64 |
@Override |
| 65 | 65 |
protected void createFieldEditors() {
|
| 66 | 66 |
String[][] values = { { "français", "fr" }, { "english", "en" } }; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
|
| 67 |
locale = new RadioGroupFieldEditor(RCPPreferences.UI_LOCALE,
|
|
| 67 |
locale = new RadioGroupFieldEditor(RCPPreferences.CONFIG_LOCALE,
|
|
| 68 | 68 |
TXMUIMessages.userInterfaceLanguage, 1, values, |
| 69 | 69 |
getFieldEditorParent()); |
| 70 | 70 |
addField(locale); |
| tmp/org.txm.rcp/src/main/java/org/txm/rcp/preferences/RCPPreferences.java (revision 1772) | ||
|---|---|---|
| 17 | 17 |
// public static final String PREFERENCES_NODE = FrameworkUtil.getBundle(RCPPreferences.class).getSymbolicName(); |
| 18 | 18 |
|
| 19 | 19 |
|
| 20 |
/** The Constant UI_LOCALE. */ |
|
| 21 |
public static final String UI_LOCALE = "ui_locale"; //$NON-NLS-1$ |
|
| 22 |
|
|
| 20 |
/** Preference set with the osgi-nl parameter */ |
|
| 21 |
public static final String CONFIG_LOCALE = "ui_locale"; //$NON-NLS-1$ |
|
| 22 |
/** Preference set with the -Xms parameter */ |
|
| 23 |
public static final String CONFIG_XMS = "config_xms"; //$NON-NLS-1$ |
|
| 24 |
/** Preference set with the osgi-nl parameter */ |
|
| 25 |
public static final String CONFIG_XMX = "config_xmx"; //$NON-NLS-1$ |
|
| 26 |
|
|
| 23 | 27 |
/** The Constant USER_ALERT_DELETE. */ |
| 24 | 28 |
public static final String USER_ALERT_DELETE = "user_alert_delete"; //$NON-NLS-1$ |
| 25 | 29 |
|
| ... | ... | |
| 69 | 73 |
preferences.put(TBXPreferences.EXPORT_ENCODING, System.getProperty("file.encoding")); //$NON-NLS-1$
|
| 70 | 74 |
preferences.put(TBXPreferences.EXPORT_COL_SEPARATOR, "\t"); //$NON-NLS-1$ |
| 71 | 75 |
preferences.put(TBXPreferences.EXPORT_TXT_SEPARATOR, ""); //$NON-NLS-1$ |
| 72 |
preferences.put(UI_LOCALE, "en"); //$NON-NLS-1$
|
|
| 76 |
preferences.put(CONFIG_LOCALE, "en"); //$NON-NLS-1$
|
|
| 73 | 77 |
|
| 74 | 78 |
preferences.put(UPDATE_LEVEL, "STABLE"); //$NON-NLS-1$ |
| 75 | 79 |
|
| tmp/org.txm.statsengine.r.rcp/src/org/txm/statsengine/r/rcp/views/RConsole.java (revision 1772) | ||
|---|---|---|
| 244 | 244 |
//if (errorLogger.getMessagePrinter() == null) {
|
| 245 | 245 |
//System.out.println("SET MESSAGEPRINTER OF THE RCONSOLE");
|
| 246 | 246 |
if (errorLogger != null) |
| 247 |
errorLogger.addMessagePrinter(this);
|
|
| 247 |
errorLogger.registerMessagePrinter(this);
|
|
| 248 | 248 |
if (inputLogger != null) |
| 249 |
inputLogger.addMessagePrinter(this);
|
|
| 249 |
inputLogger.registerMessagePrinter(this);
|
|
| 250 | 250 |
readyToDisplay = true; |
| 251 | 251 |
//} |
| 252 | 252 |
} catch (RWorkspaceException e) {
|
Formats disponibles : Unified diff