package com.netifera.platform.host.internal.terminal.ui.pty; import java.util.ArrayList; import java.util.Collections; import java.util.List; import org.eclipse.jface.action.IAction; import com.netifera.platform.api.log.ILogger; import com.netifera.platform.api.model.IShadowEntity; import com.netifera.platform.api.probe.IProbe; import com.netifera.platform.api.probe.IProbeManagerService; import com.netifera.platform.model.ProbeEntity; import com.netifera.platform.ui.api.actions.IEntityActionProvider; public class EntityActionProvider implements IEntityActionProvider { private IProbeManagerService probeManager; private ILogger logger; public List<IAction> getActions(IShadowEntity shadow) { List<IAction> actions = new ArrayList<IAction>(); if(shadow instanceof ProbeEntity) { ProbeEntity probeEntity = (ProbeEntity) shadow; IProbe probe = probeManager.getProbeById(probeEntity.getProbeId()); if(probe.isConnected()) { actions.add(new OpenProbePtyTerminalAction(probe, logger)); } } return actions; } public List<IAction> getQuickActions(IShadowEntity shadow) { return Collections.emptyList(); } protected void setProbeManager(IProbeManagerService probeManager) { this.probeManager = probeManager; } protected void unsetProbeManager(IProbeManagerService probeManager) { } }