package org.jactr.eclipse.runtime.session.impl; /* * default logging */ import java.net.URI; import java.util.Date; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.eclipse.debug.core.ILaunch; import org.jactr.eclipse.runtime.launching.norm.ACTRSession; import org.jactr.eclipse.runtime.launching.session.AbstractSession; import org.jactr.eclipse.runtime.session.ILocalSession; import org.jactr.eclipse.runtime.session.ISession; import org.jactr.eclipse.runtime.session.control.ISessionController; public class Session2SessionAdapter extends org.jactr.eclipse.runtime.session.impl.AbstractSession implements ISession, ILocalSession { /** * Logger definition */ static private final transient Log LOGGER = LogFactory .getLog(Session2SessionAdapter.class); private final AbstractSession _oldSession; private final ISessionController _controller; public Session2SessionAdapter(AbstractSession session) { super(session.getId()); _oldSession = session; if (session instanceof ACTRSession) _controller = new ACTRControllerWrapper((ACTRSession) session, this); else _controller = new ControllerWrapper(_oldSession.getLaunch(), this); } public AbstractSession getOldSession() { return _oldSession; } public URI getWorkingDirectory() { return _oldSession.getAbsoluteWorkingDirectory().toFile().toURI(); } @Override public ISessionController getController() { return _controller; } public ILaunch getLaunch() { return _oldSession.getLaunch(); } @Override public boolean isOpen() { return _oldSession.isActive() && super.isOpen(); } @Override protected void closeSession() { } @Override protected void destroySession() { _oldSession.destroy(); } public Date getTimeOfExecution() { return _oldSession.getExecutionStartTime(); } }