Bug 561121: Adapt to enhanced AppEnvironment

Change-Id: Idb39f192d65e7523ac1a1b66747a86a9b9e78aa6
diff --git a/r/org.eclipse.statet.nico.core/META-INF/MANIFEST.MF b/r/org.eclipse.statet.nico.core/META-INF/MANIFEST.MF
index b5d3039..e671fac 100644
--- a/r/org.eclipse.statet.nico.core/META-INF/MANIFEST.MF
+++ b/r/org.eclipse.statet.nico.core/META-INF/MANIFEST.MF
@@ -22,6 +22,7 @@
  org.eclipse.statet.jcommons.collections;version="4.2.0",
  org.eclipse.statet.jcommons.lang;version="4.2.0",
  org.eclipse.statet.jcommons.status;version="4.2.0",
+ org.eclipse.statet.jcommons.status.eplatform;version="4.2.0",
  org.eclipse.statet.jcommons.ts.core;version="4.2.0",
  org.eclipse.statet.jcommons.ts.core.util;version="4.2.0"
 Export-Package: org.eclipse.statet.internal.nico.core;x-friends:="org.eclipse.statet.nico.ui",
diff --git a/r/org.eclipse.statet.nico.core/src/org/eclipse/statet/nico/core/runtime/History.java b/r/org.eclipse.statet.nico.core/src/org/eclipse/statet/nico/core/runtime/History.java
index f95d9b2..b1b6b66 100644
--- a/r/org.eclipse.statet.nico.core/src/org/eclipse/statet/nico/core/runtime/History.java
+++ b/r/org.eclipse.statet.nico.core/src/org/eclipse/statet/nico/core/runtime/History.java
@@ -39,6 +39,7 @@
 import org.eclipse.statet.jcommons.status.ProgressMonitor;
 import org.eclipse.statet.jcommons.status.Status;
 import org.eclipse.statet.jcommons.status.Statuses;
+import org.eclipse.statet.jcommons.status.eplatform.EStatusUtils;
 import org.eclipse.statet.jcommons.ts.core.Tool;
 
 import org.eclipse.statet.ecommons.io.FileUtil;
@@ -46,7 +47,6 @@
 import org.eclipse.statet.ecommons.io.FileUtil.ReaderAction;
 import org.eclipse.statet.ecommons.io.FileUtil.WriteTextFileOperation;
 import org.eclipse.statet.ecommons.preferences.core.util.PreferenceUtils;
-import org.eclipse.statet.ecommons.runtime.core.util.StatusUtils;
 
 import org.eclipse.statet.internal.nico.core.Messages;
 import org.eclipse.statet.internal.nico.core.preferences.HistoryPreferences;
@@ -280,7 +280,7 @@
 			};
 			final ReadTextFileOperation op= fileUtil.createReadTextFileOp(action);
 			op.setCharset(charset, forceCharset);
-			op.doOperation(StatusUtils.convert(m.newSubMonitor(3)));
+			op.doOperation(EStatusUtils.convert(m.newSubMonitor(3)));
 			m.beginSubTask(NLS.bind(Messages.LoadHistory_AllocatingTask_label, this.process.getLabel(Tool.DEFAULT_LABEL)));
 			
 			this.lock.writeLock().lock();
@@ -387,7 +387,7 @@
 			final WriteTextFileOperation op= fileUtil.createWriteTextFileOp(content);
 			op.setCharset(charset, forceCharset);
 			op.setFileOperationMode(mode);
-			op.doOperation(StatusUtils.convert(m.newSubMonitor(2)));
+			op.doOperation(EStatusUtils.convert(m.newSubMonitor(2)));
 			
 			return new OkStatus(NicoCore.BUNDLE_ID,
 					NLS.bind(Messages.SaveHistory_ok_message, fileUtil.getLabel()) );
diff --git a/r/org.eclipse.statet.nico.core/src/org/eclipse/statet/nico/core/util/TrackWriter.java b/r/org.eclipse.statet.nico.core/src/org/eclipse/statet/nico/core/util/TrackWriter.java
index 8c194d4..5fb615f 100644
--- a/r/org.eclipse.statet.nico.core/src/org/eclipse/statet/nico/core/util/TrackWriter.java
+++ b/r/org.eclipse.statet.nico.core/src/org/eclipse/statet/nico/core/util/TrackWriter.java
@@ -37,9 +37,9 @@
 import org.eclipse.statet.jcommons.status.StatusException;
 import org.eclipse.statet.jcommons.status.Statuses;
 import org.eclipse.statet.jcommons.status.WarningStatus;
+import org.eclipse.statet.jcommons.status.eplatform.EStatusUtils;
 
 import org.eclipse.statet.ecommons.io.FileUtil;
-import org.eclipse.statet.ecommons.runtime.core.util.StatusUtils;
 import org.eclipse.statet.ecommons.variables.core.ILocationVariable;
 import org.eclipse.statet.ecommons.variables.core.VariableText;
 import org.eclipse.statet.ecommons.variables.core.WrappedDynamicVariable;
@@ -132,7 +132,7 @@
 			}
 			
 			outputStream = this.storeFile.openOutputStream(this.config.getFileMode(),
-					StatusUtils.convert(m.newSubMonitor(1)) );
+					EStatusUtils.convert(m.newSubMonitor(1)) );
 			if (this.storeFile.fetchInfo().getLength() <= 0L) {
 				FileUtil.prepareTextOutput(outputStream, this.config.getFileEncoding());
 			}
diff --git a/r/org.eclipse.statet.nico.ui/META-INF/MANIFEST.MF b/r/org.eclipse.statet.nico.ui/META-INF/MANIFEST.MF
index 204e6c9..dc36750 100644
--- a/r/org.eclipse.statet.nico.ui/META-INF/MANIFEST.MF
+++ b/r/org.eclipse.statet.nico.ui/META-INF/MANIFEST.MF
@@ -40,6 +40,7 @@
  org.eclipse.statet.jcommons.collections;version="4.2.0",
  org.eclipse.statet.jcommons.lang;version="4.2.0",
  org.eclipse.statet.jcommons.status;version="4.2.0",
+ org.eclipse.statet.jcommons.status.eplatform;version="4.2.0",
  org.eclipse.statet.jcommons.text.core;version="4.2.0",
  org.eclipse.statet.jcommons.ts.core;version="4.2.0",
  org.eclipse.statet.jcommons.ts.core.util;version="4.2.0"
diff --git a/r/org.eclipse.statet.nico.ui/src/org/eclipse/statet/internal/nico/ui/actions/DisconnectEngineHandler.java b/r/org.eclipse.statet.nico.ui/src/org/eclipse/statet/internal/nico/ui/actions/DisconnectEngineHandler.java
index c9d80c8..c67337d 100644
--- a/r/org.eclipse.statet.nico.ui/src/org/eclipse/statet/internal/nico/ui/actions/DisconnectEngineHandler.java
+++ b/r/org.eclipse.statet.nico.ui/src/org/eclipse/statet/internal/nico/ui/actions/DisconnectEngineHandler.java
@@ -29,9 +29,9 @@
 import org.eclipse.statet.jcommons.lang.NonNullByDefault;
 import org.eclipse.statet.jcommons.lang.Nullable;
 import org.eclipse.statet.jcommons.status.StatusException;
+import org.eclipse.statet.jcommons.status.eplatform.EStatusUtils;
 import org.eclipse.statet.jcommons.ts.core.ToolProvider;
 
-import org.eclipse.statet.ecommons.runtime.core.util.StatusUtils;
 import org.eclipse.statet.ecommons.ui.workbench.WorkbenchUIUtils;
 
 import org.eclipse.statet.nico.core.runtime.IRemoteEngineController;
@@ -67,11 +67,11 @@
 		@Override
 		protected IStatus run(final IProgressMonitor monitor) {
 			try {
-				((IRemoteEngineController) this.controller).disconnect(StatusUtils.convert(monitor));
+				((IRemoteEngineController) this.controller).disconnect(EStatusUtils.convert(monitor));
 				return Status.OK_STATUS;
 			}
 			catch (final StatusException e) {
-				return StatusUtils.convert(e.getStatus());
+				return EStatusUtils.convert(e.getStatus());
 			}
 			finally {
 				monitor.done();
diff --git a/r/org.eclipse.statet.nico.ui/src/org/eclipse/statet/nico/ui/actions/LoadHistoryWizard.java b/r/org.eclipse.statet.nico.ui/src/org/eclipse/statet/nico/ui/actions/LoadHistoryWizard.java
index 2a2f0f1..09e1cec 100644
--- a/r/org.eclipse.statet.nico.ui/src/org/eclipse/statet/nico/ui/actions/LoadHistoryWizard.java
+++ b/r/org.eclipse.statet.nico.ui/src/org/eclipse/statet/nico/ui/actions/LoadHistoryWizard.java
@@ -24,8 +24,8 @@
 import org.eclipse.ui.statushandlers.StatusManager;
 
 import org.eclipse.statet.jcommons.status.Status;
+import org.eclipse.statet.jcommons.status.eplatform.EStatusUtils;
 
-import org.eclipse.statet.ecommons.runtime.core.util.StatusUtils;
 import org.eclipse.statet.ecommons.ui.dialogs.DialogUtils;
 
 import org.eclipse.statet.internal.nico.ui.LoadHistoryPage;
@@ -83,10 +83,10 @@
 				@Override
 				public void run(final IProgressMonitor monitor) throws InvocationTargetException {
 					final Status status= history.load(file, charset, false,
-							StatusUtils.convert(monitor) );
+							EStatusUtils.convert(monitor) );
 					if (status.getSeverity() == Status.ERROR) {
 						throw new InvocationTargetException(
-								new CoreException(StatusUtils.convert(status)) );
+								new CoreException(EStatusUtils.convert(status)) );
 					}
 				}
 			});
diff --git a/r/org.eclipse.statet.nico.ui/src/org/eclipse/statet/nico/ui/actions/SaveHistoryWizard.java b/r/org.eclipse.statet.nico.ui/src/org/eclipse/statet/nico/ui/actions/SaveHistoryWizard.java
index 8abf09e..d2df428 100644
--- a/r/org.eclipse.statet.nico.ui/src/org/eclipse/statet/nico/ui/actions/SaveHistoryWizard.java
+++ b/r/org.eclipse.statet.nico.ui/src/org/eclipse/statet/nico/ui/actions/SaveHistoryWizard.java
@@ -26,8 +26,8 @@
 import org.eclipse.ui.statushandlers.StatusManager;
 
 import org.eclipse.statet.jcommons.status.Status;
+import org.eclipse.statet.jcommons.status.eplatform.EStatusUtils;
 
-import org.eclipse.statet.ecommons.runtime.core.util.StatusUtils;
 import org.eclipse.statet.ecommons.ui.dialogs.DialogUtils;
 
 import org.eclipse.statet.internal.nico.ui.NicoUIPlugin;
@@ -95,10 +95,10 @@
 				@Override
 				public void run(final IProgressMonitor monitor) throws InvocationTargetException {
 					final Status status= history.save(file, fmode, charset, false, types,
-							StatusUtils.convert(monitor) );
+							EStatusUtils.convert(monitor) );
 					if (status.getSeverity() == Status.ERROR) {
 						throw new InvocationTargetException(
-								new CoreException(StatusUtils.convert(status)) );
+								new CoreException(EStatusUtils.convert(status)) );
 					}
 				}
 			});
diff --git a/r/org.eclipse.statet.nico.ui/src/org/eclipse/statet/nico/ui/util/EclipseIDEOperationsHandler.java b/r/org.eclipse.statet.nico.ui/src/org/eclipse/statet/nico/ui/util/EclipseIDEOperationsHandler.java
index eeca2bf..ac01b0b 100644
--- a/r/org.eclipse.statet.nico.ui/src/org/eclipse/statet/nico/ui/util/EclipseIDEOperationsHandler.java
+++ b/r/org.eclipse.statet.nico.ui/src/org/eclipse/statet/nico/ui/util/EclipseIDEOperationsHandler.java
@@ -30,9 +30,9 @@
 import org.eclipse.statet.jcommons.status.ProgressMonitor;
 import org.eclipse.statet.jcommons.status.Status;
 import org.eclipse.statet.jcommons.status.Statuses;
+import org.eclipse.statet.jcommons.status.eplatform.EStatusUtils;
 import org.eclipse.statet.jcommons.ts.core.util.ToolCommandHandlerUtils;
 
-import org.eclipse.statet.ecommons.runtime.core.util.StatusUtils;
 import org.eclipse.statet.ecommons.ui.util.UIAccess;
 
 import org.eclipse.statet.internal.nico.ui.AbstractConsoleCommandHandler;
@@ -133,7 +133,7 @@
 		if (files != null && files.length > 0) {
 			final IFile file = files[0];
 			if (!file.exists()) { // Bug 549546
-				file.refreshLocal(0, StatusUtils.convert(m));
+				file.refreshLocal(0, EStatusUtils.convert(m));
 			}
 			return file;
 		}
diff --git a/r/org.eclipse.statet.nico.ui/src/org/eclipse/statet/nico/ui/util/QuitHandler.java b/r/org.eclipse.statet.nico.ui/src/org/eclipse/statet/nico/ui/util/QuitHandler.java
index 2ba223d..d74d952 100644
--- a/r/org.eclipse.statet.nico.ui/src/org/eclipse/statet/nico/ui/util/QuitHandler.java
+++ b/r/org.eclipse.statet.nico.ui/src/org/eclipse/statet/nico/ui/util/QuitHandler.java
@@ -31,11 +31,11 @@
 import org.eclipse.statet.jcommons.status.Status;
 import org.eclipse.statet.jcommons.status.StatusException;
 import org.eclipse.statet.jcommons.status.Statuses;
+import org.eclipse.statet.jcommons.status.eplatform.EStatusUtils;
 import org.eclipse.statet.jcommons.ts.core.Tool;
 import org.eclipse.statet.jcommons.ts.core.ToolRunnable;
 import org.eclipse.statet.jcommons.ts.core.ToolService;
 
-import org.eclipse.statet.ecommons.runtime.core.util.StatusUtils;
 import org.eclipse.statet.ecommons.ui.util.UIAccess;
 
 import org.eclipse.statet.internal.nico.ui.Messages;
@@ -73,7 +73,7 @@
 					window.run(true, true, new IRunnableWithProgress() {
 						@Override
 						public void run(final IProgressMonitor monitor) throws InvocationTargetException {
-							final ProgressMonitor m= StatusUtils.convert(monitor, 1);
+							final ProgressMonitor m= EStatusUtils.convert(monitor, 1);
 							try {
 								UIRunnable.this.controller.kill(m);
 							}
diff --git a/r/org.eclipse.statet.nico.ui/src/org/eclipse/statet/nico/ui/util/ReportStatusHandler.java b/r/org.eclipse.statet.nico.ui/src/org/eclipse/statet/nico/ui/util/ReportStatusHandler.java
index 5bfe4f2..f946964 100644
--- a/r/org.eclipse.statet.nico.ui/src/org/eclipse/statet/nico/ui/util/ReportStatusHandler.java
+++ b/r/org.eclipse.statet.nico.ui/src/org/eclipse/statet/nico/ui/util/ReportStatusHandler.java
@@ -30,10 +30,9 @@
 import org.eclipse.statet.jcommons.status.Status;
 import org.eclipse.statet.jcommons.status.StatusException;
 import org.eclipse.statet.jcommons.status.Statuses;
+import org.eclipse.statet.jcommons.status.eplatform.EStatusUtils;
 import org.eclipse.statet.jcommons.ts.core.util.ToolCommandHandlerUtils;
 
-import org.eclipse.statet.ecommons.runtime.core.util.StatusUtils;
-
 import org.eclipse.statet.internal.nico.ui.AbstractConsoleCommandHandler;
 import org.eclipse.statet.nico.core.NicoCore;
 import org.eclipse.statet.nico.core.NicoCoreMessages;
@@ -91,7 +90,7 @@
 					subList= ImCollections.newList(((StatusException) exception).getStatus());
 				}
 				else if (exception instanceof CoreException) {
-					subList= ImCollections.newList(StatusUtils.convert(
+					subList= ImCollections.newList(EStatusUtils.convert(
 							((CoreException) exception).getStatus() ));
 				}
 				else if (exception != null) {
@@ -121,7 +120,7 @@
 			
 			if ((status.getSeverity() & (Status.ERROR | Status.WARNING)) != 0) {
 				StatusManager.getManager().handle(new MultiStatus(NicoCore.BUNDLE_ID, 0,
-								new IStatus[] { StatusUtils.convert(status) },
+								new IStatus[] { EStatusUtils.convert(status) },
 								NicoCoreMessages.format_ProblemWhileRunningTask_message(
 										service.getCurrentRunnable().getLabel(),
 										service.getTool() ),
diff --git a/r/org.eclipse.statet.nico.ui/src/org/eclipse/statet/nico/ui/util/RunBlockingHandler.java b/r/org.eclipse.statet.nico.ui/src/org/eclipse/statet/nico/ui/util/RunBlockingHandler.java
index 0796e61..5b93fd9 100644
--- a/r/org.eclipse.statet.nico.ui/src/org/eclipse/statet/nico/ui/util/RunBlockingHandler.java
+++ b/r/org.eclipse.statet.nico.ui/src/org/eclipse/statet/nico/ui/util/RunBlockingHandler.java
@@ -29,12 +29,11 @@
 import org.eclipse.statet.jcommons.status.Status;
 import org.eclipse.statet.jcommons.status.StatusException;
 import org.eclipse.statet.jcommons.status.Statuses;
+import org.eclipse.statet.jcommons.status.eplatform.EStatusUtils;
 import org.eclipse.statet.jcommons.ts.core.ToolRunnable;
 import org.eclipse.statet.jcommons.ts.core.ToolService;
 import org.eclipse.statet.jcommons.ts.core.util.ToolCommandHandlerUtils;
 
-import org.eclipse.statet.ecommons.runtime.core.util.StatusUtils;
-
 import org.eclipse.statet.internal.nico.ui.Messages;
 import org.eclipse.statet.nico.core.NicoCore;
 import org.eclipse.statet.nico.core.runtime.IToolEventHandler;
@@ -55,7 +54,7 @@
 			progressService.busyCursorWhile(new IRunnableWithProgress() {
 				@Override
 				public void run(final IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
-					final ProgressMonitor m= StatusUtils.convert(monitor, 1);
+					final ProgressMonitor m= EStatusUtils.convert(monitor, 1);
 					try {
 						toolRunnable.run(service, m);
 					}
@@ -81,7 +80,7 @@
 	}
 	
 	protected Status handleError(final Status status) {
-		StatusManager.getManager().handle(StatusUtils.convert(status),
+		StatusManager.getManager().handle(EStatusUtils.convert(status),
 				StatusManager.LOG | StatusManager.SHOW );
 		return status;
 	}
diff --git a/r/org.eclipse.statet.r.console.core/META-INF/MANIFEST.MF b/r/org.eclipse.statet.r.console.core/META-INF/MANIFEST.MF
index 6a1260a..7b25072 100644
--- a/r/org.eclipse.statet.r.console.core/META-INF/MANIFEST.MF
+++ b/r/org.eclipse.statet.r.console.core/META-INF/MANIFEST.MF
@@ -24,6 +24,7 @@
  org.eclipse.statet.jcommons.lang;version="4.2.0",
  org.eclipse.statet.jcommons.rmi;version="4.2.0",
  org.eclipse.statet.jcommons.status;version="4.2.0",
+ org.eclipse.statet.jcommons.status.eplatform;version="4.2.0",
  org.eclipse.statet.jcommons.text.core;version="4.2.0",
  org.eclipse.statet.jcommons.text.core.input;version="4.2.0",
  org.eclipse.statet.jcommons.ts.core;version="4.2.0"
diff --git a/r/org.eclipse.statet.r.console.core/src/org/eclipse/statet/r/console/core/RDbg.java b/r/org.eclipse.statet.r.console.core/src/org/eclipse/statet/r/console/core/RDbg.java
index d4ff4f5..8382585 100644
--- a/r/org.eclipse.statet.r.console.core/src/org/eclipse/statet/r/console/core/RDbg.java
+++ b/r/org.eclipse.statet.r.console.core/src/org/eclipse/statet/r/console/core/RDbg.java
@@ -23,9 +23,9 @@
 import org.eclipse.statet.jcommons.lang.NonNullByDefault;
 import org.eclipse.statet.jcommons.lang.Nullable;
 import org.eclipse.statet.jcommons.status.ProgressMonitor;
+import org.eclipse.statet.jcommons.status.eplatform.EStatusUtils;
 
 import org.eclipse.statet.ecommons.io.FileUtil;
-import org.eclipse.statet.ecommons.runtime.core.util.StatusUtils;
 
 import org.eclipse.statet.ltk.model.core.elements.ISourceStructElement;
 import org.eclipse.statet.ltk.model.core.elements.ISourceUnit;
@@ -84,7 +84,7 @@
 			final FileUtil fileUtil = FileUtil.getFileUtil(su.getResource());
 			if (fileUtil != null) {
 				try {
-					return fileUtil.getTimeStamp(StatusUtils.convert(m));
+					return fileUtil.getTimeStamp(EStatusUtils.convert(m));
 				}
 				catch (final CoreException e) {
 				}
diff --git a/r/org.eclipse.statet.r.console.core/src/org/eclipse/statet/r/nico/impl/RjsController.java b/r/org.eclipse.statet.r.console.core/src/org/eclipse/statet/r/nico/impl/RjsController.java
index 3399baf..f2bb3b4 100644
--- a/r/org.eclipse.statet.r.console.core/src/org/eclipse/statet/r/nico/impl/RjsController.java
+++ b/r/org.eclipse.statet.r.console.core/src/org/eclipse/statet/r/nico/impl/RjsController.java
@@ -56,12 +56,12 @@
 import org.eclipse.statet.jcommons.status.Status;
 import org.eclipse.statet.jcommons.status.StatusException;
 import org.eclipse.statet.jcommons.status.Statuses;
+import org.eclipse.statet.jcommons.status.eplatform.EStatusUtils;
 import org.eclipse.statet.jcommons.ts.core.ToolCommandHandler;
 import org.eclipse.statet.jcommons.ts.core.ToolRunnable;
 import org.eclipse.statet.jcommons.ts.core.ToolService;
 
 import org.eclipse.statet.ecommons.io.FileUtil;
-import org.eclipse.statet.ecommons.runtime.core.util.StatusUtils;
 
 import org.eclipse.statet.internal.r.console.core.RConsoleCorePlugin;
 import org.eclipse.statet.internal.r.nico.RNicoMessages;
@@ -1073,7 +1073,7 @@
 				&& su.getModelTypeId() == RModel.R_TYPE_ID) {
 			try {
 				final IRModelInfo modelInfo= (IRModelInfo) su.getModelInfo(RModel.R_TYPE_ID,
-						IRModelManager.MODEL_FILE, StatusUtils.convert(m.newSubMonitor(0)) );
+						IRModelManager.MODEL_FILE, EStatusUtils.convert(m.newSubMonitor(0)) );
 				if (modelInfo != null) {
 					final IRLangSourceElement fileElement= modelInfo.getSourceElement();
 					final RAstNode rootNode= (RAstNode) fileElement.getAdapter(AstNode.class);
diff --git a/r/org.eclipse.statet.r.console.core/src/org/eclipse/statet/r/nico/impl/RjsUtil.java b/r/org.eclipse.statet.r.console.core/src/org/eclipse/statet/r/nico/impl/RjsUtil.java
index 828d9bf..a0a5eb7 100644
--- a/r/org.eclipse.statet.r.console.core/src/org/eclipse/statet/r/nico/impl/RjsUtil.java
+++ b/r/org.eclipse.statet.r.console.core/src/org/eclipse/statet/r/nico/impl/RjsUtil.java
@@ -53,9 +53,9 @@
 import org.eclipse.statet.jcommons.status.ProgressMonitor;
 import org.eclipse.statet.jcommons.status.StatusException;
 import org.eclipse.statet.jcommons.status.Statuses;
+import org.eclipse.statet.jcommons.status.eplatform.EStatusUtils;
 
 import org.eclipse.statet.ecommons.net.ssh.core.ISshSessionService;
-import org.eclipse.statet.ecommons.runtime.core.util.StatusUtils;
 
 import org.eclipse.statet.base.core.StatetCore;
 import org.eclipse.statet.internal.r.console.core.RConsoleCorePlugin;
@@ -83,10 +83,10 @@
 		try {
 			return StatetCore.getSshSessionManager().getSshSession(
 					username, sshHost, (sshPort != null) ? sshPort.intValue() : ISshSessionService.SSH_DEFAULT_PORT,
-					StatusUtils.convert(m) );
+					EStatusUtils.convert(m) );
 		}
 		catch (final CoreException e) {
-			throw StatusUtils.convert(e);
+			throw EStatusUtils.convert(e);
 		}
 	}
 	
diff --git a/r/org.eclipse.statet.r.console.ui/src/org/eclipse/statet/internal/r/console/ui/WorkbenchREnvIndexUpdater.java b/r/org.eclipse.statet.r.console.ui/src/org/eclipse/statet/internal/r/console/ui/WorkbenchREnvIndexUpdater.java
index c2abd43..07cbe73 100644
--- a/r/org.eclipse.statet.r.console.ui/src/org/eclipse/statet/internal/r/console/ui/WorkbenchREnvIndexUpdater.java
+++ b/r/org.eclipse.statet.r.console.ui/src/org/eclipse/statet/internal/r/console/ui/WorkbenchREnvIndexUpdater.java
@@ -26,8 +26,7 @@
 import org.eclipse.statet.jcommons.lang.NonNullByDefault;
 import org.eclipse.statet.jcommons.status.ProgressMonitor;
 import org.eclipse.statet.jcommons.status.StatusException;
-
-import org.eclipse.statet.ecommons.runtime.core.util.StatusUtils;
+import org.eclipse.statet.jcommons.status.eplatform.EStatusUtils;
 
 import org.eclipse.statet.r.console.core.IRBasicAdapter;
 import org.eclipse.statet.rhelp.core.REnvHelpConfiguration;
@@ -49,8 +48,8 @@
 			this.workbenchJob= new Job(name) {
 				@Override
 				protected IStatus run(final IProgressMonitor monitor) {
-					return StatusUtils.convert(
-							WorkbenchIndexJob.this.run(StatusUtils.convert(monitor)) );
+					return EStatusUtils.convert(
+							WorkbenchIndexJob.this.run(EStatusUtils.convert(monitor)) );
 				}
 			};
 			this.workbenchJob.setPriority(Job.LONG);
@@ -97,7 +96,7 @@
 				return Paths.get(fileStore.toURI());
 			}
 			catch (final CoreException e) {
-				throw StatusUtils.convert(e);
+				throw EStatusUtils.convert(e);
 			}
 		}
 		return super.toLocalPath(rPath, r, m);
diff --git a/r/org.eclipse.statet.r.console.ui/src/org/eclipse/statet/internal/r/console/ui/launching/RConsoleRJLaunchDelegate.java b/r/org.eclipse.statet.r.console.ui/src/org/eclipse/statet/internal/r/console/ui/launching/RConsoleRJLaunchDelegate.java
index c9ff902..df239f3 100644
--- a/r/org.eclipse.statet.r.console.ui/src/org/eclipse/statet/internal/r/console/ui/launching/RConsoleRJLaunchDelegate.java
+++ b/r/org.eclipse.statet.r.console.ui/src/org/eclipse/statet/internal/r/console/ui/launching/RConsoleRJLaunchDelegate.java
@@ -43,13 +43,13 @@
 import org.eclipse.statet.jcommons.status.ProgressMonitor;
 import org.eclipse.statet.jcommons.status.StatusException;
 import org.eclipse.statet.jcommons.status.WarningStatus;
+import org.eclipse.statet.jcommons.status.eplatform.EStatusUtils;
 import org.eclipse.statet.jcommons.ts.core.SystemRunnable;
 import org.eclipse.statet.jcommons.ts.core.Tool;
 import org.eclipse.statet.jcommons.ts.core.ToolService;
 
 import org.eclipse.statet.ecommons.debug.core.util.LaunchUtils;
 import org.eclipse.statet.ecommons.debug.ui.util.UnterminatedLaunchAlerter;
-import org.eclipse.statet.ecommons.runtime.core.util.StatusUtils;
 import org.eclipse.statet.ecommons.ui.util.UIAccess;
 
 import org.eclipse.statet.internal.r.console.ui.Messages;
@@ -283,10 +283,10 @@
 			else {
 				try {
 					registry= RMIRegistryManager.INSTANCE.getEmbeddedPrivateRegistry(
-							StatusUtils.convertChild(m.newChild(1)) );
+							EStatusUtils.convertChild(m.newChild(1)) );
 				}
 				catch (final StatusException e) {
-					throw StatusUtils.convert(e);
+					throw EStatusUtils.convert(e);
 				}
 				requireCodebase= false;
 			}
diff --git a/r/org.eclipse.statet.r.console.ui/src/org/eclipse/statet/internal/r/console/ui/launching/RJEngineLaunchDelegate.java b/r/org.eclipse.statet.r.console.ui/src/org/eclipse/statet/internal/r/console/ui/launching/RJEngineLaunchDelegate.java
index 5311632..f0a3e56 100644
--- a/r/org.eclipse.statet.r.console.ui/src/org/eclipse/statet/internal/r/console/ui/launching/RJEngineLaunchDelegate.java
+++ b/r/org.eclipse.statet.r.console.ui/src/org/eclipse/statet/internal/r/console/ui/launching/RJEngineLaunchDelegate.java
@@ -56,6 +56,8 @@
 import org.eclipse.statet.jcommons.lang.ObjectUtils;
 import org.eclipse.statet.jcommons.runtime.bundle.BundleEntry;
 import org.eclipse.statet.jcommons.runtime.bundle.BundleSpec;
+import org.eclipse.statet.jcommons.status.StatusException;
+import org.eclipse.statet.jcommons.status.eplatform.EStatusUtils;
 
 import org.eclipse.statet.ecommons.debug.core.util.LaunchUtils;
 
@@ -318,10 +320,10 @@
 			
 			return s.substring(1);
 		}
-		catch (final RjInvalidConfigurationException e) {
+		catch (final StatusException e) {
 			throw new CoreException(new Status(IStatus.ERROR, RConsoleUIPlugin.BUNDLE_ID,
 					"An error occurred when configuring start of Java based R server.",
-					e ));
+					EStatusUtils.convert(e) ));
 		}
 	}
 	
diff --git a/r/org.eclipse.statet.r.core/src/org/eclipse/statet/internal/r/core/RCorePlugin.java b/r/org.eclipse.statet.r.core/src/org/eclipse/statet/internal/r/core/RCorePlugin.java
index acf8e2a..886a07e 100644
--- a/r/org.eclipse.statet.r.core/src/org/eclipse/statet/internal/r/core/RCorePlugin.java
+++ b/r/org.eclipse.statet.r.core/src/org/eclipse/statet/internal/r/core/RCorePlugin.java
@@ -23,7 +23,6 @@
 import org.osgi.util.tracker.ServiceTracker;
 
 import org.eclipse.core.net.proxy.IProxyService;
-import org.eclipse.core.runtime.Assert;
 import org.eclipse.core.runtime.IProgressMonitor;
 import org.eclipse.core.runtime.IStatus;
 import org.eclipse.core.runtime.Plugin;
@@ -33,7 +32,6 @@
 import org.eclipse.statet.jcommons.status.Status;
 
 import org.eclipse.statet.ecommons.preferences.core.util.PreferenceUtils;
-import org.eclipse.statet.ecommons.runtime.core.ECommonsRuntimeCore;
 import org.eclipse.statet.ecommons.runtime.core.util.StatusUtils;
 
 import org.eclipse.statet.internal.r.core.pkgmanager.REnvPkgManager;
@@ -145,8 +143,6 @@
 		super.start(context);
 		instance= this;
 		
-		Assert.isNotNull(ECommonsRuntimeCore.class);
-		
 		this.rEnvManager= new REnvManagerImpl();
 		
 		this.workspaceCoreAccess= new RCoreAccess(
diff --git a/r/org.eclipse.statet.r.core/src/org/eclipse/statet/internal/r/core/pkgmanager/RPkgOperator.java b/r/org.eclipse.statet.r.core/src/org/eclipse/statet/internal/r/core/pkgmanager/RPkgOperator.java
index 34dd6fb..f10b985 100644
--- a/r/org.eclipse.statet.r.core/src/org/eclipse/statet/internal/r/core/pkgmanager/RPkgOperator.java
+++ b/r/org.eclipse.statet.r.core/src/org/eclipse/statet/internal/r/core/pkgmanager/RPkgOperator.java
@@ -28,8 +28,7 @@
 import org.eclipse.statet.jcommons.status.ErrorStatus;
 import org.eclipse.statet.jcommons.status.ProgressMonitor;
 import org.eclipse.statet.jcommons.status.StatusException;
-
-import org.eclipse.statet.ecommons.runtime.core.util.StatusUtils;
+import org.eclipse.statet.jcommons.status.eplatform.EStatusUtils;
 
 import org.eclipse.statet.r.core.RCore;
 import org.eclipse.statet.r.core.RUtil;
@@ -156,13 +155,13 @@
 		if (repo.getId().startsWith(RRepo.WS_CACHE_PREFIX)) {
 			try {
 				final IFileStore store= this.manager.getCache().get(name, repo.getPkgType(),
-						StatusUtils.convert(m.newSubMonitor(1)) );
+						EStatusUtils.convert(m.newSubMonitor(1)) );
 				if (RPkgUtils.checkPkgType(store.getName(), this.manager.getRPlatform()) != repo.getPkgType()) {
 					throw new IllegalStateException();
 				}
 				String fileName;
 				if (this.envConfig.isRemote()) {
-					final InputStream in= store.openInputStream(EFS.NONE, StatusUtils.convert(m.newSubMonitor(0)));
+					final InputStream in= store.openInputStream(EFS.NONE, EStatusUtils.convert(m.newSubMonitor(0)));
 					try {
 						fileName= requireTempDir(m.newSubMonitor(1)) + this.r.getPlatform().getFileSep() + store.getName();
 						this.r.uploadFile(in, store.fetchInfo().getLength(), fileName, 0, m.newSubMonitor(3));
@@ -175,7 +174,7 @@
 					}
 				}
 				else {
-					fileName= store.toLocalFile(EFS.NONE, StatusUtils.convert(m.newSubMonitor(0))).getPath();
+					fileName= store.toLocalFile(EFS.NONE, EStatusUtils.convert(m.newSubMonitor(0))).getPath();
 				}
 				sb.append('"').append(RUtil.escapeCompletely(fileName)).append('"');
 				sb.append(", repos= NULL"); //$NON-NLS-1$
diff --git a/r/org.eclipse.statet.r.debug.core/META-INF/MANIFEST.MF b/r/org.eclipse.statet.r.debug.core/META-INF/MANIFEST.MF
index 73fcb1a..c93af06 100644
--- a/r/org.eclipse.statet.r.debug.core/META-INF/MANIFEST.MF
+++ b/r/org.eclipse.statet.r.debug.core/META-INF/MANIFEST.MF
@@ -21,6 +21,7 @@
  org.eclipse.statet.jcommons.collections;version="4.2.0",
  org.eclipse.statet.jcommons.lang;version="4.2.0",
  org.eclipse.statet.jcommons.status;version="4.2.0",
+ org.eclipse.statet.jcommons.status.eplatform;version="4.2.0",
  org.eclipse.statet.jcommons.text.core;version="4.2.0",
  org.eclipse.statet.jcommons.text.core.input;version="4.2.0",
  org.eclipse.statet.jcommons.ts.core;version="4.2.0",
diff --git a/r/org.eclipse.statet.r.debug.core/src/org/eclipse/statet/internal/r/debug/core/breakpoints/RControllerBreakpointAdapter.java b/r/org.eclipse.statet.r.debug.core/src/org/eclipse/statet/internal/r/debug/core/breakpoints/RControllerBreakpointAdapter.java
index 67647c7..dfb1774 100644
--- a/r/org.eclipse.statet.r.debug.core/src/org/eclipse/statet/internal/r/debug/core/breakpoints/RControllerBreakpointAdapter.java
+++ b/r/org.eclipse.statet.r.debug.core/src/org/eclipse/statet/internal/r/debug/core/breakpoints/RControllerBreakpointAdapter.java
@@ -57,12 +57,12 @@
 import org.eclipse.statet.jcommons.lang.Nullable;
 import org.eclipse.statet.jcommons.status.ProgressMonitor;
 import org.eclipse.statet.jcommons.status.StatusException;
+import org.eclipse.statet.jcommons.status.eplatform.EStatusUtils;
 import org.eclipse.statet.jcommons.text.core.TextRegion;
 import org.eclipse.statet.jcommons.ts.core.SystemRunnable;
 import org.eclipse.statet.jcommons.ts.core.Tool;
 import org.eclipse.statet.jcommons.ts.core.ToolService;
 
-import org.eclipse.statet.ecommons.runtime.core.util.StatusUtils;
 import org.eclipse.statet.ecommons.text.IMarkerPositionResolver;
 
 import org.eclipse.statet.internal.r.debug.core.RDebugCorePlugin;
@@ -710,7 +710,7 @@
 			return null;
 		}
 		
-		final IProgressMonitor eMonitor= StatusUtils.convert(m);
+		final IProgressMonitor eMonitor= EStatusUtils.convert(m);
 		rSourceUnit.connect(eMonitor);
 		try {
 			final AbstractDocument document= rSourceUnit.getDocument(eMonitor);
@@ -878,7 +878,7 @@
 			return null;
 		}
 		
-		final IProgressMonitor eMonitor= StatusUtils.convert(m);
+		final IProgressMonitor eMonitor= EStatusUtils.convert(m);
 		Map<String, @Nullable Element> map= null;
 		for (final IRLineBreakpoint breakpoint : breakpoints) {
 			try {
@@ -995,7 +995,7 @@
 			map.put(updateData.elementId, null);
 		}
 		
-		final IProgressMonitor eMonitor= StatusUtils.convert(m);
+		final IProgressMonitor eMonitor= EStatusUtils.convert(m);
 		int n= 0;
 		for (final Entry<IResource, Map<String, @Nullable Element>> resourceEntry : resourceMap.entrySet()) {
 			final IResource resource= resourceEntry.getKey();
diff --git a/r/org.eclipse.statet.r.ui/src/org/eclipse/statet/internal/r/ui/dataeditor/AbstractRDataProvider.java b/r/org.eclipse.statet.r.ui/src/org/eclipse/statet/internal/r/ui/dataeditor/AbstractRDataProvider.java
index 0c26309..38f724c 100644
--- a/r/org.eclipse.statet.r.ui/src/org/eclipse/statet/internal/r/ui/dataeditor/AbstractRDataProvider.java
+++ b/r/org.eclipse.statet.r.ui/src/org/eclipse/statet/internal/r/ui/dataeditor/AbstractRDataProvider.java
@@ -33,12 +33,12 @@
 import org.eclipse.statet.jcommons.status.ProgressMonitor;
 import org.eclipse.statet.jcommons.status.Status;
 import org.eclipse.statet.jcommons.status.StatusException;
+import org.eclipse.statet.jcommons.status.eplatform.EStatusUtils;
 import org.eclipse.statet.jcommons.ts.core.SystemRunnable;
 import org.eclipse.statet.jcommons.ts.core.Tool;
 import org.eclipse.statet.jcommons.ts.core.ToolRunnable;
 import org.eclipse.statet.jcommons.ts.core.ToolService;
 
-import org.eclipse.statet.ecommons.runtime.core.util.StatusUtils;
 import org.eclipse.statet.ecommons.ui.util.UIAccess;
 import org.eclipse.statet.ecommons.waltable.coordinate.PositionId;
 import org.eclipse.statet.ecommons.waltable.data.ControlData;
@@ -255,7 +255,7 @@
 			try {
 				final LazyRStore.Fragment<T> fragment= AbstractRDataProvider.this.fragmentsLock.getFragment(
 						AbstractRDataProvider.this.dataStore, 0, columnIndex,
-						flags, StatusUtils.convert(monitor) );
+						flags, EStatusUtils.convert(monitor) );
 				if (fragment != null) {
 					return getColumnName(fragment, columnIndex);
 				}
@@ -302,7 +302,7 @@
 			try {
 				final LazyRStore.Fragment<RVector<?>> fragment= AbstractRDataProvider
 						.this.fragmentsLock.getFragment(this.rowNamesStore, rowIndex, 0,
-								flags, StatusUtils.convert(monitor) );
+								flags, EStatusUtils.convert(monitor) );
 				if (fragment != null) {
 					final RVector<?> vector= fragment.getRObject();
 					if (vector != null) {
@@ -1311,7 +1311,7 @@
 		try {
 			final LazyRStore.Fragment<T> fragment= this.fragmentsLock.getFragment(
 					this.dataStore, rowIndex, columnIndex,
-					flags, StatusUtils.convert(monitor) );
+					flags, EStatusUtils.convert(monitor) );
 			if (fragment != null) {
 				return getDataValue(fragment, rowIndex, columnIndex);
 			}
diff --git a/r/org.eclipse.statet.r.ui/src/org/eclipse/statet/internal/r/ui/rhelp/RHelpHover.java b/r/org.eclipse.statet.r.ui/src/org/eclipse/statet/internal/r/ui/rhelp/RHelpHover.java
index 8f30093..02630a2 100644
--- a/r/org.eclipse.statet.r.ui/src/org/eclipse/statet/internal/r/ui/rhelp/RHelpHover.java
+++ b/r/org.eclipse.statet.r.ui/src/org/eclipse/statet/internal/r/ui/rhelp/RHelpHover.java
@@ -28,8 +28,7 @@
 import org.eclipse.statet.jcommons.status.InterruptNullProgressMonitor;
 import org.eclipse.statet.jcommons.status.ProgressMonitor;
 import org.eclipse.statet.jcommons.status.StatusException;
-
-import org.eclipse.statet.ecommons.runtime.core.util.StatusUtils;
+import org.eclipse.statet.jcommons.status.eplatform.EStatusUtils;
 
 import org.eclipse.statet.ltk.ast.core.util.AstSelection;
 import org.eclipse.statet.ltk.ui.sourceediting.assist.AssistInvocationContext;
@@ -162,7 +161,7 @@
 			}
 			@Override
 			protected IStatus run(final IProgressMonitor monitor) {
-				final ProgressMonitor m= StatusUtils.convert(monitor);
+				final ProgressMonitor m= EStatusUtils.convert(monitor);
 				try {
 					this.helpObject= RHelpLtkUI.searchTopicObject2(help, topic, m);
 					return Status.OK_STATUS;
diff --git a/r/org.eclipse.statet.r.ui/src/org/eclipse/statet/internal/r/ui/rhelp/RHelpSearchUIQuery.java b/r/org.eclipse.statet.r.ui/src/org/eclipse/statet/internal/r/ui/rhelp/RHelpSearchUIQuery.java
index f0fce5f..d6295c1 100644
--- a/r/org.eclipse.statet.r.ui/src/org/eclipse/statet/internal/r/ui/rhelp/RHelpSearchUIQuery.java
+++ b/r/org.eclipse.statet.r.ui/src/org/eclipse/statet/internal/r/ui/rhelp/RHelpSearchUIQuery.java
@@ -23,9 +23,9 @@
 import org.eclipse.search.ui.ISearchResult;
 
 import org.eclipse.statet.jcommons.status.StatusException;
+import org.eclipse.statet.jcommons.status.eplatform.EStatusUtils;
 
 import org.eclipse.statet.ecommons.preferences.core.util.PreferenceUtils;
-import org.eclipse.statet.ecommons.runtime.core.util.StatusUtils;
 
 import org.eclipse.statet.r.core.RCore;
 import org.eclipse.statet.r.ui.RUI;
@@ -72,17 +72,17 @@
 			}
 		};
 		try {
-			RCore.getRHelpManager().search(this.query, requestor, StatusUtils.convert(monitor, 1));
+			RCore.getRHelpManager().search(this.query, requestor, EStatusUtils.convert(monitor, 1));
 			return Status.OK_STATUS;
 		}
 		catch (final StatusException e) {
 			if (e.getStatus().getSeverity() == IStatus.CANCEL) {
-				return StatusUtils.convert(e.getStatus());
+				return EStatusUtils.convert(e.getStatus());
 			}
 			return new Status(IStatus.ERROR, RUI.BUNDLE_ID,
 					String.format("An error occurred when performing R help search: %1$s",
 							getSearchLabel() ),
-					StatusUtils.convert(e) );
+					EStatusUtils.convert(e) );
 		}
 		finally {
 			if (monitor != null) {
diff --git a/r/org.eclipse.statet.r.ui/src/org/eclipse/statet/internal/r/ui/rhelp/RHelpView.java b/r/org.eclipse.statet.r.ui/src/org/eclipse/statet/internal/r/ui/rhelp/RHelpView.java
index c29a64b..60f7930 100644
--- a/r/org.eclipse.statet.r.ui/src/org/eclipse/statet/internal/r/ui/rhelp/RHelpView.java
+++ b/r/org.eclipse.statet.r.ui/src/org/eclipse/statet/internal/r/ui/rhelp/RHelpView.java
@@ -57,9 +57,9 @@
 import org.eclipse.statet.jcommons.lang.Nullable;
 import org.eclipse.statet.jcommons.status.ProgressMonitor;
 import org.eclipse.statet.jcommons.status.StatusException;
+import org.eclipse.statet.jcommons.status.eplatform.EStatusUtils;
 
 import org.eclipse.statet.ecommons.preferences.core.util.PreferenceUtils;
-import org.eclipse.statet.ecommons.runtime.core.util.StatusUtils;
 import org.eclipse.statet.ecommons.text.TextUtil;
 import org.eclipse.statet.ecommons.ui.SharedUIResources;
 import org.eclipse.statet.ecommons.ui.actions.HandlerCollection;
@@ -457,7 +457,7 @@
 			help= RHelpLtkUI.getEnvHelp(rSourceUnit);
 		}
 		catch (final StatusException e) {
-			final IStatus status= StatusUtils.convert(e.getStatus());
+			final IStatus status= EStatusUtils.convert(e.getStatus());
 			showMessage(status, request);
 			return false;
 		}
@@ -503,7 +503,7 @@
 			}
 			@Override
 			protected IStatus run(final IProgressMonitor monitor) {
-				final ProgressMonitor m= StatusUtils.convert(monitor);
+				final ProgressMonitor m= EStatusUtils.convert(monitor);
 				try {
 					final REnvHelp help= RCore.getRHelpManager().getHelp(rEnv);
 					if (help != null) {
@@ -512,7 +512,7 @@
 							helpObject= RHelpLtkUI.searchTopicObject2(help, topic, m);
 						}
 						catch (final StatusException e) {
-							final IStatus status= StatusUtils.convert(e.getStatus());
+							final IStatus status= EStatusUtils.convert(e.getStatus());
 							showMessage(status, request);
 							return status;
 						}
diff --git a/r/org.eclipse.statet.r.ui/src/org/eclipse/statet/r/ui/rhelp/RHelpUICommandHandler.java b/r/org.eclipse.statet.r.ui/src/org/eclipse/statet/r/ui/rhelp/RHelpUICommandHandler.java
index 01b80af..8fcd16f 100644
--- a/r/org.eclipse.statet.r.ui/src/org/eclipse/statet/r/ui/rhelp/RHelpUICommandHandler.java
+++ b/r/org.eclipse.statet.r.ui/src/org/eclipse/statet/r/ui/rhelp/RHelpUICommandHandler.java
@@ -19,10 +19,9 @@
 import org.eclipse.statet.jcommons.status.ErrorStatus;
 import org.eclipse.statet.jcommons.status.ProgressMonitor;
 import org.eclipse.statet.jcommons.status.Status;
+import org.eclipse.statet.jcommons.status.eplatform.EStatusUtils;
 import org.eclipse.statet.jcommons.ts.core.util.ToolCommandHandlerUtils;
 
-import org.eclipse.statet.ecommons.runtime.core.util.StatusUtils;
-
 import org.eclipse.statet.r.console.core.RProcess;
 import org.eclipse.statet.r.ui.RUI;
 import org.eclipse.statet.rj.renv.core.REnv;
@@ -62,7 +61,7 @@
 				return new ErrorStatus(RUI.BUNDLE_ID, "Not supported.");
 			}
 			final OpenRHelpHandler handler= new OpenRHelpHandler(true);
-			return StatusUtils.convert(handler.execute(process, url));
+			return EStatusUtils.convert(handler.execute(process, url));
 		}
 		
 		throw new UnsupportedOperationException();
diff --git a/r/org.eclipse.statet.r.ui/srcDebug/org/eclipse/statet/r/launching/RCodeLaunching.java b/r/org.eclipse.statet.r.ui/srcDebug/org/eclipse/statet/r/launching/RCodeLaunching.java
index a3d6fed..3df7bbd 100644
--- a/r/org.eclipse.statet.r.ui/srcDebug/org/eclipse/statet/r/launching/RCodeLaunching.java
+++ b/r/org.eclipse.statet.r.ui/srcDebug/org/eclipse/statet/r/launching/RCodeLaunching.java
@@ -44,11 +44,11 @@
 import org.eclipse.statet.jcommons.collections.ImCollections;
 import org.eclipse.statet.jcommons.status.Status;
 import org.eclipse.statet.jcommons.status.StatusException;
+import org.eclipse.statet.jcommons.status.eplatform.EStatusUtils;
 import org.eclipse.statet.jcommons.ts.core.ToolRunnable;
 
 import org.eclipse.statet.ecommons.preferences.core.Preference.BooleanPref;
 import org.eclipse.statet.ecommons.preferences.core.util.PreferenceUtils;
-import org.eclipse.statet.ecommons.runtime.core.util.StatusUtils;
 import org.eclipse.statet.ecommons.text.TextUtil;
 import org.eclipse.statet.ecommons.variables.core.DynamicVariable;
 import org.eclipse.statet.ecommons.variables.core.StringVariable;
@@ -371,7 +371,7 @@
 						return e.getStatus();
 					}
 					catch (final CoreException e) {
-						return StatusUtils.convert(e.getStatus());
+						return EStatusUtils.convert(e.getStatus());
 					}
 				}
 			}, gotoConsole);
diff --git a/rhelp/org.eclipse.statet.rhelp.server/pom.xml b/rhelp/org.eclipse.statet.rhelp.server/pom.xml
index 33d9085..a1808af 100644
--- a/rhelp/org.eclipse.statet.rhelp.server/pom.xml
+++ b/rhelp/org.eclipse.statet.rhelp.server/pom.xml
@@ -67,16 +67,6 @@
 			
 			<plugin>
 				<groupId>org.apache.maven.plugins</groupId>
-				<artifactId>maven-surefire-plugin</artifactId>
-				<configuration>
-					<systemPropertyVariables>
-						<org.eclipse.statet.rj.context.BundleResolvers>RefClass</org.eclipse.statet.rj.context.BundleResolvers>
-					</systemPropertyVariables>
-				</configuration>
-			</plugin>
-			
-			<plugin>
-				<groupId>org.apache.maven.plugins</groupId>
 				<artifactId>maven-assembly-plugin</artifactId>
 				<configuration>
 					<descriptors>
diff --git a/rhelp/org.eclipse.statet.rhelp.server/src/main/java/org/eclipse/statet/internal/rhelp/server/update/REnvServiController.java b/rhelp/org.eclipse.statet.rhelp.server/src/main/java/org/eclipse/statet/internal/rhelp/server/update/REnvServiController.java
index f7f32dd..f36d2a3 100644
--- a/rhelp/org.eclipse.statet.rhelp.server/src/main/java/org/eclipse/statet/internal/rhelp/server/update/REnvServiController.java
+++ b/rhelp/org.eclipse.statet.rhelp.server/src/main/java/org/eclipse/statet/internal/rhelp/server/update/REnvServiController.java
@@ -129,7 +129,7 @@
 		try {
 			RJContext.class.getProtectionDomain().getCodeSource().getLocation();
 			
-			final RJContext context= new RJContext(RJContext.detectRJLibPaths());
+			final RJContext context= new RJContext();
 //			if (System.getSecurityManager() == null) {
 //				if (System.getProperty("java.security.policy") == null) {
 //					final String policyFile= context.getServerPolicyFilePath();
diff --git a/rhelp/org.eclipse.statet.rhelp.server/src/main/java/org/eclipse/statet/rhelp/server/Application.java b/rhelp/org.eclipse.statet.rhelp.server/src/main/java/org/eclipse/statet/rhelp/server/Application.java
index 7c4c8c5..2264cc0 100644
--- a/rhelp/org.eclipse.statet.rhelp.server/src/main/java/org/eclipse/statet/rhelp/server/Application.java
+++ b/rhelp/org.eclipse.statet.rhelp.server/src/main/java/org/eclipse/statet/rhelp/server/Application.java
@@ -14,12 +14,8 @@
 
 package org.eclipse.statet.rhelp.server;
 
-import java.util.concurrent.ConcurrentHashMap;
-
 import javax.annotation.PreDestroy;
 
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.WebApplicationType;
@@ -31,13 +27,12 @@
 import org.eclipse.statet.jcommons.collections.ImCollections;
 import org.eclipse.statet.jcommons.collections.ImList;
 import org.eclipse.statet.jcommons.lang.NonNullByDefault;
-import org.eclipse.statet.jcommons.lang.ObjectUtils.ToStringBuilder;
 import org.eclipse.statet.jcommons.runtime.BasicAppEnvironment;
 import org.eclipse.statet.jcommons.runtime.CommonsRuntime;
+import org.eclipse.statet.jcommons.runtime.bundle.Bundles;
 import org.eclipse.statet.jcommons.status.InfoStatus;
-import org.eclipse.statet.jcommons.status.Status;
-import org.eclipse.statet.jcommons.status.StatusPrinter;
-import org.eclipse.statet.jcommons.status.Statuses;
+import org.eclipse.statet.jcommons.status.StatusException;
+import org.eclipse.statet.jcommons.status.util.ACommonsLoggingStatusLogger;
 
 import org.eclipse.statet.internal.rhelp.server.RHelpServerInternals;
 import org.eclipse.statet.internal.rhelp.server.update.REnvIndexController;
@@ -68,14 +63,12 @@
 	}
 	
 	
-	private final ConcurrentHashMap<String, Log> logs= new ConcurrentHashMap<>();
-	private final StatusPrinter logStatusPrinter= new StatusPrinter();
-	
 	@Autowired
 	private ApplicationContext appContext;
 	
 	
-	public Application() {
+	public Application() throws StatusException {
+		super(BUNDLE_ID, new ACommonsLoggingStatusLogger(), Bundles.createResolver());
 		CommonsRuntime.init(this);
 		
 		log(new InfoStatus(BUNDLE_ID, "Application started."));
@@ -88,54 +81,4 @@
 		log(new InfoStatus(BUNDLE_ID, "Application stopped."));
 	}
 	
-	
-	@Override
-	public String getBundleId() {
-		return "org.eclipse.statet.rhelp.server"; //$NON-NLS-1$
-	}
-	
-	
-	@Override
-	public void log(final Status status) {
-		final Log log= this.logs.computeIfAbsent(status.getBundleId(),
-				(final String s) -> LogFactory.getLog(s) );
-		
-		final ToStringBuilder sb= new ToStringBuilder();
-		sb.append(Statuses.getSeverityString(status.getSeverity()));
-		sb.append(" ["); //$NON-NLS-1$
-		sb.append(status.getCode());
-		sb.append(']');
-		if (status.getMessage().length() <= 80 && status.getMessage().indexOf('\n') == -1) {
-			sb.append(' ');
-			sb.append(status.getMessage());
-		}
-		else {
-			sb.addProp("message", status.getMessage()); //$NON-NLS-1$
-		}
-		if (status.isMultiStatus()) {
-			final ImList<Status> children= status.getChildren();
-			if (children != null && !children.isEmpty()) {
-				final StringBuilder sb0= new StringBuilder();
-				sb0.append("Status:\n");
-				this.logStatusPrinter.print(children, sb0);
-				sb.addProp("children", sb0.toString()); //$NON-NLS-1$
-			}
-			else {
-				sb.addProp("children", "<none>"); //$NON-NLS-1$
-			}
-		}
-		
-		switch (status.getSeverity()) {
-		case Status.ERROR:
-			log.error(sb.toString(), status.getException());
-			break;
-		case Status.WARNING:
-			log.warn(sb.toString(), status.getException());
-			break;
-		default:
-			log.info(sb.toString(), status.getException());
-			break;
-		}
-	}
-	
 }
diff --git a/rhelp/org.eclipse.statet.rhelp.server/src/test/java/org/eclipse/statet/rhelp/server/ApplicationTests.java b/rhelp/org.eclipse.statet.rhelp.server/src/test/java/org/eclipse/statet/rhelp/server/ApplicationTests.java
index 20c1367..1045591 100644
--- a/rhelp/org.eclipse.statet.rhelp.server/src/test/java/org/eclipse/statet/rhelp/server/ApplicationTests.java
+++ b/rhelp/org.eclipse.statet.rhelp.server/src/test/java/org/eclipse/statet/rhelp/server/ApplicationTests.java
@@ -44,7 +44,7 @@
 	public void AppEnv_available() {
 		final AppEnvironment environment= CommonsRuntime.getEnvironment();
 		assertNotNull(environment);
-		Assertions.assertEquals(Application.BUNDLE_ID, environment.getBundleId());
+		Assertions.assertEquals(Application.BUNDLE_ID, environment.getEnvId());
 	}
 	
 	@Test