public void register(RemoteControlProxy newRemoteControl) { final RemoteControlProvisioner provisioner; synchronized(provisionersByEnvironment) { if (null == getProvisioner(newRemoteControl.environment())) { createNewProvisionerForEnvironment(newRemoteControl.environment()); } provisioner = getProvisioner(newRemoteControl.environment()); provisioner.add(newRemoteControl); } }
public void register(RemoteControlProxy newRemoteControl) { final RemoteControlProvisioner provisioner; synchronized(provisionersByEnvironment) { if (null == getProvisioner(newRemoteControl.environment())) { createNewProvisionerForEnvironment(newRemoteControl.environment()); } provisioner = getProvisioner(newRemoteControl.environment()); provisioner.add(newRemoteControl); } }
public void associateWithSession(RemoteControlProxy remoteControl, String sessionId) { LOGGER.info("Associating session id='" + sessionId + "' =>" + remoteControl + " for environment " + remoteControl.environment()); if (LOGGER.isDebugEnabled()) { LOGGER.debug("Asssociating " + sessionId + " => " + remoteControl); } synchronized (remoteControlsBySessionIds) { if (remoteControlsBySessionIds.containsKey(sessionId)) { throw new IllegalStateException( "Session '" + sessionId + "' is already asssociated with " + remoteControlsBySessionIds.get(sessionId)); } synchronized (remoteControlsBySessionIds) { final RemoteControlSession newSession; newSession = new RemoteControlSession(sessionId, remoteControl); remoteControlsBySessionIds.put(sessionId, newSession); } } if (LOGGER.isDebugEnabled()) { logSessionMap(); } }
public void associateWithSession(RemoteControlProxy remoteControl, String sessionId) { LOGGER.info("Associating session id='" + sessionId + "' =>" + remoteControl + " for environment " + remoteControl.environment()); if (LOGGER.isDebugEnabled()) { LOGGER.debug("Asssociating " + sessionId + " => " + remoteControl); } synchronized (remoteControlsBySessionIds) { if (remoteControlsBySessionIds.containsKey(sessionId)) { throw new IllegalStateException( "Session '" + sessionId + "' is already asssociated with " + remoteControlsBySessionIds.get(sessionId)); } synchronized (remoteControlsBySessionIds) { final RemoteControlSession newSession; newSession = new RemoteControlSession(sessionId, remoteControl); remoteControlsBySessionIds.put(sessionId, newSession); } } if (LOGGER.isDebugEnabled()) { logSessionMap(); } }
public void releaseForSession(String sessionId) { LOGGER.info("Releasing pool for session id='" + sessionId + "'"); final RemoteControlProxy remoteControl; remoteControl = getRemoteControlForSession(sessionId); synchronized (remoteControlsBySessionIds) { remoteControlsBySessionIds.remove(sessionId); } getProvisioner(remoteControl.environment()).release(remoteControl); }
public void release(RemoteControlProxy remoteControl) { getProvisioner(remoteControl.environment()).release(remoteControl); }
public void release(RemoteControlProxy remoteControl) { getProvisioner(remoteControl.environment()).release(remoteControl); }
public void releaseForSession(String sessionId) { LOGGER.info("Releasing pool for session id='" + sessionId + "'"); final RemoteControlProxy remoteControl; remoteControl = getRemoteControlForSession(sessionId); synchronized (remoteControlsBySessionIds) { remoteControlsBySessionIds.remove(sessionId); } remoteControl.terminateSession(sessionId); getProvisioner(remoteControl.environment()).release(remoteControl); }
public boolean unregister(RemoteControlProxy remoteControl) { final boolean status; synchronized(provisionersByEnvironment) { synchronized (remoteControlsBySessionIds) { Set<RemoteControlSession> sessionsToRemove = new HashSet<RemoteControlSession>(); status = getProvisioner(remoteControl.environment()).remove(remoteControl); for (RemoteControlSession session : remoteControlsBySessionIds.values()) { if (session.remoteControl().equals(remoteControl)) { sessionsToRemove.add(session); } } // Remove the session separately from the loop where we found it to avoid issues with concurrent modification. for (RemoteControlSession session : sessionsToRemove) { removeFromSessionMap(session); } } } return status; }
public boolean unregister(RemoteControlProxy remoteControl) { final boolean status; synchronized(provisionersByEnvironment) { synchronized (remoteControlsBySessionIds) { status = getProvisioner(remoteControl.environment()).remove(remoteControl); for (RemoteControlSession session : remoteControlsBySessionIds.values()) { if (session.remoteControl().equals(remoteControl)) { removeFromSessionMap(session); } } } } return status; }